文章目录
- 一、实验介绍
- 1、内容描述
- 2、实验目的
- 二、添加磁盘
- 步骤1:关闭虚拟机
- 步骤2:编辑虚拟机设置
- 步骤3:左下角点击`添加`后选择`硬盘`
- 步骤4:跟着下图步骤走
- 步骤5:开启虚拟机输入fdisk -l查看本地磁盘信息,可以看到多出了/dev/sdb ~ /dev/sde三块大小10G的磁盘
- 三、MBR分区表模式下磁盘分区管理
- 1、创建主分区
- 2、创建扩展分区及逻辑分区
- 3、修改分区类型
- 4、删除分区
- 四、GPT分区表模式下磁盘分区管理
- 1、parted交互式创建分区
- 2、非交互式创建分区
- 2、删除分区
- 五、格式化与挂载
- 1、格式化文件系统
- 2、挂载文件系统
- 3、挂载ISO文件
- 步骤1:使用工具将openEuler-20.03-LTS-everything-x86_64-dvd.iso上传至openEuler虚拟机的/root目录下。
- 步骤2:执行如下步骤挂载ISO文件
- 4、设置开机自动挂载
- 步骤1:执行如下命令查看分区的UUID,这里以/dev/sdc2为例
- 步骤2:参考如下步骤编写/etc/fstab文件,配置开机自动挂载
- 六、逻辑卷管理
- 1、创建逻辑卷并格式化
- 步骤1:执行如下命令创建逻辑卷
- 步骤2:执行如下命令格式化LV并挂载
- 2、逻辑卷扩容与缩容
- 步骤1:执行如下命令扩展逻辑卷与文件系统
- 步骤2:执行如下步骤缩容文件系统与LV。此步骤是高危操作,在工作中请谨慎!
- 步骤3:执行如下步骤删除创建的LVM配置
一、实验介绍
1、内容描述
存储在磁盘计算机系统中主要用于存储数据,对于操作系统而言,我们通常会将磁盘格进行分区,再格式化成一个文件系统,用于存储系统的文件数据。本实验将介绍如何对磁盘分区格式化,以及在逻辑卷的配置。
2、实验目的
✔ 掌握MBR分区表模式下主分区创建方法;
✔ 掌握MBR分区表模式下扩展分区创建及逻辑分区创建方法;
✔ 掌握GPT分区表模式下的分区配置方法
✔ 掌握分区格式化文件系统方法;
✔ 掌握文件系统挂载mount及卸载umount;
✔ 掌握ISO文件挂载;
✔ 掌握/etc/fstab文件配置;
✔ 掌握逻辑卷创建步骤;
✔ 掌握逻辑卷扩容、缩容方法;
✔ 掌握逻辑卷删除步骤。
二、添加磁盘
步骤1:关闭虚拟机
步骤2:编辑虚拟机设置
步骤3:左下角点击添加
后选择硬盘
步骤4:跟着下图步骤走
按照以上的方法再创建2块盘,一共新创建三块。
步骤5:开启虚拟机输入fdisk -l查看本地磁盘信息,可以看到多出了/dev/sdb ~ /dev/sde三块大小10G的磁盘
[root@localhost ~]# fdisk -l | grep /dev/
Disk /dev/sda:1 TiB,1099511627776 字节,2147483648 个扇区
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 2147483647 2145384448 1023G 8e Linux LVM
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/sdc:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/sdd:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/mapper/openeuler-root:50 GiB,53687091200 字节,104857600 个扇区
Disk /dev/mapper/openeuler-swap:2.5 GiB,2197815296 字节,4292608 个扇区
Disk /dev/mapper/openeuler-home:970.97 GiB,1042548785152 字节,2036228096 个扇区
[root@localhost ~]#
三、MBR分区表模式下磁盘分区管理
1、创建主分区
执行如下步骤对/dev/sdb磁盘做操作
[root@localhost ~]# fdisk /dev/sdb #fdisk默认是成MBR分区表模式
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x270ef2a9 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):m #在此步骤若不清楚如何做,可以输入m查看帮助
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区 #可以看到,输入n可以添加一个新的分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助):n #添加一个新的分区
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): #此处默认是主分区,可以保持,不输入,直接按回车键。
将使用默认回应 p。
分区号 (1-4, 默认 1): #此处设置分区编号,默认从1开始依次往后。MBR模式主分区只能有4个。这里可以保持默认1,不输入数字,直接按回车键。
第一个扇区 (2048-20971519, 默认 2048): #此处需要输入分区的起始柱面,可以保持默认,按回车键。
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): +2G #这里需要输入分区的大小,有三种方式,这里可以选择+2G,意味着新建一个大小为2G的分区。
创建了一个新分区 1,类型为“Linux”,大小为 2 GiB。
命令(输入 m 获取帮助):w #输入w保存分区表配置,并退出
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4196351 4194304 2G 83 Linux
[root@localhost ~]#
2、创建扩展分区及逻辑分区
执行如下操作对/dev/vbd配置扩展分区及逻辑分区。
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n #新建一个分区
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):e #设置分区类型为扩展分区
分区号 (2-4, 默认 2): 2 #保持默认分区编号2
第一个扇区 (4196352-20971519, 默认 4196352):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (4196352-20971519, 默认 20971519): #保持默认,将所有空间都分配
创建了一个新分区 2,类型为“Extended”,大小为 8 GiB。
命令(输入 m 获取帮助):n #新建一个逻辑分区
所有主分区的空间都在使用中。
添加逻辑分区 5 #所有分配给主分区的空间已经用完,新建一个分区编号为5的逻辑分区
第一个扇区 (4198400-20971519, 默认 4198400): #保持默认
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (4198400-20971519, 默认 20971519): +3G #创建一个3G大小的逻辑分区
创建了一个新分区 5,类型为“Linux”,大小为 3 GiB。
命令(输入 m 获取帮助):w #保存分区表配置并退出
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# fdisk -l /dev/sdb #查看/dev/sdb磁盘信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4196351 4194304 2G 83 Linux #主分区
/dev/sdb2 4196352 20971519 16775168 8G 5 扩展 #这个是扩展分区
/dev/sdb5 4198400 10489855 6291456 3G 83 Linux #这个是扩展分区里面分配的逻辑分区
[root@localhost ~]#
3、修改分区类型
执行如下步骤修改/dev/sdb5分区类型
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t #修改分区类型
分区号 (1,2,5, 默认 5): #保持默认,修改第五个分区
Hex 代码(输入 L 列出所有代码):L #列出分区类型及修改代码
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏 或 In c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 ea Rufus 对齐
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f4 SpeedStor
16 隐藏的 FAT16 63 GNU HURD 或 Sys af HFS / HFS+ f2 DOS 次要
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fd Linux raid 自动
1c 隐藏的 W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e 隐藏的 W95 FAT1 80 旧 Minix be Solaris 启动 ff BBT
Hex 代码(输入 L 列出所有代码):8e #设置分区类型为Linux LVM,后续操作需要用到
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):p #输出当前分区信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4196351 4194304 2G 83 Linux
/dev/sdb2 4196352 20971519 16775168 8G 5 扩展
/dev/sdb5 4198400 10489855 6291456 3G 8e Linux LVM #这里已经改成了Linux LVM
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]#
4、删除分区
执行如下步骤删除/dev/sdb1分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d #删除分区
分区号 (1,2,5, 默认 5): 1 #选择要删除的分区编号为1
分区 1 已删除。
命令(输入 m 获取帮助):p #查看现有分区信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9
设备 启动 起点 末尾 扇区 大小 Id 类型 #已经没有/dev/sdb1了
/dev/sdb2 4196352 20971519 16775168 8G 5 扩展
/dev/sdb5 4198400 10489855 6291456 3G 8e Linux LVM
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]#
四、GPT分区表模式下磁盘分区管理
1、parted交互式创建分区
执行如下步骤对/dev/sdc磁盘分区
[root@localhost ~]# parted /dev/sdc #使用parted分区命令
GNU Parted 3.3
使用 /dev/sdc
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) help #若不清楚如何操作,可以输入help查看帮助信息
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] 打印通用求助信息,或 COMMAND 的帮助
mklabel,mktable LABEL-TYPE 创建新的磁盘卷标 (分区表)
mkpart 分区类型 [文件系统类型] 起始点 结束点 创建一个分区
name 编号 名称 将指定“编号”的分区命名为“名称”
print [devices|free|list,all|数字] 显示分区表、可用设备、剩余空间、所有分区或特殊分区
quit 退出程序
rescue 起始点 终止点 挽救临近“起始点”、“终止点”的遗失的分区
resizepart NUMBER END 改变 NUMBER 的大小
rm NUMBER 删除编号为 NUMBER 的分区
select 设备 选择要编辑的设备
disk_set 旗标 状态 变更已选设备上的旗标
disk_toggle [旗标] 切换已选设备上的旗标状态
set 编号 旗标 状态 改变指定“编号”分区的旗标
toggle [编号 [旗标]] 切换“编号”分区上的“旗标”状态
unit 单位 设置缺省的“单位”
version 显示目前 GNU Parted 的版本与版权信息
(parted) mklabel gpt #设置磁盘分区表,格式为GPT
(parted) mkpart #创建新分区
分区名称? []? gpt1 #设置分区名称
文件系统类型? [ext2]? xfs #设置分区格式化时采用的文件系统类型
起始点? 0KB #设置分区起始位置
结束点? 2GB #设置分区结束位置
警告: 您要求将分区从 0.00B 移动到 2000MB (扇区 0..3906250)。
我们可以管理的最近的分区是从 17.4kB 到 2000MB (扇区 34..3906250).
这样您还可以接受吗?
是/Yes/否/No? yes #确认
警告: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
忽略/Ignore/放弃/Cancel? Ignore #忽略告警
(parted) print #输出分区信息
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 17.4kB 2000MB 2000MB xfs gpt1
(parted) quit
信息: 你可能需要 /etc/fstab。
[root@localhost ~]#
2、非交互式创建分区
输入如下命令直接创建分区
[root@localhost ~]# parted /dev/sdc mkpart gpt2 2001M 5G #创建分区,设置起始和结束位置
信息: 你可能需要 /etc/fstab。
[root@localhost ~]# parted /dev/sdc p #输出分区信息
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 17.4kB 2000MB 2000MB gpt1
2 2001MB 5000MB 2999MB gpt2 #这个就是前述步骤创建的分区
[root@localhost ~]#
因为/dev/sdc磁盘已经设置了分区表格式是GPT,所以这里没有重复设置。若是一块新的磁盘需要输入如下命令:
[root@localhost ~]# parted /dev/sdc mklabel gpt
2、删除分区
执行如下命令删除/dev/sdc1分区
[root@localhost ~]# parted /dev/sdc rm 1
信息: 你可能需要 /etc/fstab。
[root@localhost ~]# parted /dev/sdc p
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
2 2001MB 5000MB 2999MB gpt2
[root@localhost ~]#
五、格式化与挂载
1、格式化文件系统
执行如下命令格式化文件系统
[root@localhost ~]# mkfs -t xfs /dev/sdc2
meta-data=/dev/sdc2 isize=512 agcount=4, agsize=183040 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=0
data = bsize=4096 blocks=732160, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# parted /dev/sdc2 p #查看分区详细信息
型号:未知 (unknown)
磁盘 /dev/sdc2:2999MB
扇区大小 (逻辑/物理):512B/512B
分区表:loop
磁盘标志:
编号 起始点 结束点 大小 文件系统 标志
1 0.00B 2999MB 2999MB xfs #文件系统为xfs
[root@localhost ~]#
2、挂载文件系统
执行如下步骤挂载文件系统
[root@localhost ~]# mkdir /mnt/xfs01 #创建文件系统挂载点
[root@localhost ~]# mount /dev/sdc2 /mnt/xfs01/ #挂载文件系统
[root@localhost ~]# df -h #查看系统挂载情况
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 713M 0 713M 0% /dev
tmpfs 728M 0 728M 0% /dev/shm
tmpfs 728M 908K 727M 1% /run
tmpfs 728M 0 728M 0% /sys/fs/cgroup
/dev/mapper/openeuler-root 49G 5.2G 42G 12% /
tmpfs 728M 8.0K 728M 1% /tmp
/dev/sda1 976M 141M 769M 16% /boot
/dev/mapper/openeuler-home 955G 77M 907G 1% /home
tmpfs 146M 0 146M 0% /run/user/0
tmpfs 146M 0 146M 0% /run/user/993
/dev/sdc2 2.8G 36M 2.8G 2% /mnt/xfs01
[root@localhost ~]# mount | grep /dev/sdc2 #查看文件系统挂载情况
/dev/sdc2 on /mnt/xfs01 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost ~]#
3、挂载ISO文件
步骤1:使用工具将openEuler-20.03-LTS-everything-x86_64-dvd.iso上传至openEuler虚拟机的/root目录下。
[root@localhost ~]# wget http://192.168.xxx.xxx/openEuler-20.03-LTS-everything-x86_64-dvd.iso
--2022-12-30 09:10:07-- http://192.168.xxx.xxx/openEuler-20.03-LTS-everything-x86_64-dvd.iso
正在连接 192.168.xxx.xxx:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12051687424 (11G) [application/octet-stream]
正在保存至: “openEuler-20.03-LTS-everything-x86_64-dvd.iso”
openEuler-20.03-LTS-everythin 100%[=================================================>] 11.22G 69.3MB/s 用时 2m 36s
2022-12-30 09:12:43 (73.6 MB/s) - 已保存 “openEuler-20.03-LTS-everything-x86_64-dvd.iso” [12051687424/12051687424])
[root@localhost ~]#
步骤2:执行如下步骤挂载ISO文件
[root@localhost ~]# mkdir /mnt/cdrom #创建挂载点
[root@localhost ~]# mount openEuler-20.03-LTS-everything-x86_64-dvd.iso /mnt/cdrom/
mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.
#挂载ISO,有些系统需要加上[ -o loop ]选项才可以挂载
[root@localhost ~]# cd /mnt/cdrom/
[root@localhost cdrom]# ls #查看磁盘里面的数据
docs EFI images isolinux ks Packages repodata RPM-GPG-KEY-openEuler TRANS.TBL
[root@localhost cdrom]#
4、设置开机自动挂载
步骤1:执行如下命令查看分区的UUID,这里以/dev/sdc2为例
[root@localhost ~]# blkid /dev/sdc2
/dev/sdc2: UUID="e727a214-6229-46ad-8981-aa914f76420b" TYPE="xfs" PARTLABEL="gpt2" PARTUUID="0fed5aa7-1c38-4b95-b969-b569e1d0f0bf"
#此处需要记住UUID,后续用到,不通的环境都不一样
步骤2:参考如下步骤编写/etc/fstab文件,配置开机自动挂载
[root@localhost ~]# df -h | grep /dev/sdc
/dev/sdc2 2.8G 36M 2.8G 2% /mnt/xfs01
[root@localhost ~]# umount -a
umount: /run/user/993: 目标忙.
umount: /run/user/0: 目标忙.
umount: /tmp: 目标忙.
umount: /: 目标忙.
umount: /sys/fs/cgroup/systemd: 目标忙.
umount: /sys/fs/cgroup: 目标忙.
umount: /run: 目标忙.
umount: /dev: 目标忙.
[root@localhost ~]# df -h | grep /dev/sdc
[root@localhost ~]# vim /etc/fstab
在文件的最后一行加入如下信息,UUID请用步骤一中查到的,写完之后保存退出
UUID=e727a214-6229-46ad-8981-aa914f76420b /mnt/xfs01 xfs defaults 0 0
[root@localhost ~]# mount -a #挂载所有设备
[root@localhost ~]# df -h | grep /dev/sdc #查看设备挂载情况
/dev/sdc2 2.8G 36M 2.8G 2% /mnt/xfs01
[root@localhost ~]#
六、逻辑卷管理
1、创建逻辑卷并格式化
步骤1:执行如下命令创建逻辑卷
[root@localhost ~]# pvcreate /dev/sdb5
Physical volume "/dev/sdb5" successfully created.
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name openeuler
PV Size <1023.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 261887
Free PE 0
Allocated PE 261887
PV UUID 6WyKwF-PBWY-5xN1-yKKz-u26J-PWex-AdbgPK
"/dev/sdb5" is a new physical volume of "3.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb5
VG Name
PV Size 3.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID jLRXaG-IohR-zKoL-t05o-yBvi-yrI8-BFWykw
[root@localhost ~]# vgcreate testvg /dev/sdb5
Volume group "testvg" successfully created
[root@localhost ~]# vgdisplay testvg
--- Volume group ---
VG Name testvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <3.00 GiB
PE Size 4.00 MiB
Total PE 767
Alloc PE / Size 0 / 0
Free PE / Size 767 / <3.00 GiB
VG UUID OxWv1Y-SEbW-uTL6-CigB-fP8k-6rGt-3Ku4nU
[root@localhost ~]# lvcreate -L 2G -n testlv testvg
Logical volume "testlv" created.
[root@localhost ~]# lvdisplay /dev/testvg/testlv
--- Logical volume ---
LV Path /dev/testvg/testlv
LV Name testlv
VG Name testvg
LV UUID pb790V-zoSS-x1ea-5Wfs-aSKq-9QmY-ObFSk2
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-12-30 09:25:49 +0800
LV Status available
# open 0
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
[root@localhost ~]#
步骤2:执行如下命令格式化LV并挂载
[root@localhost ~]# mkfs.ext4 /dev/testvg/testlv
mke2fs 1.45.3 (14-Jul-2019)
创建含有 524288 个块(每块 4k)和 131072 个inode的文件系统
文件系统UUID:98f43623-a1ec-4a20-afc3-fb70e66c1f9e
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
[root@localhost ~]# mkdir /mnt/testlv
[root@localhost ~]# mount /dev/testvg/testlv /mnt/testlv/
[root@localhost ~]# df -h | grep testvg
/dev/mapper/testvg-testlv 2.0G 6.0M 1.8G 1% /mnt/testlv
[root@localhost ~]#
2、逻辑卷扩容与缩容
步骤1:执行如下命令扩展逻辑卷与文件系统
[root@localhost ~]# fdisk /dev/sdd #新建一个大小同样为3G的LVM分区
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xac89585f 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-20971519, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): +3G
创建了一个新分区 1,类型为“Linux”,大小为 3 GiB。
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助):p
Disk /dev/sdd:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xac89585f
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdd1 2048 6293503 6291456 3G 8e Linux LVM
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]# vgextend testvg /dev/sdd1 #仅有在PE大小一致时,才可以扩展
Volume group "testvg" successfully extended
[root@localhost ~]# vgdisplay testvg
--- Volume group ---
VG Name testvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 5.99 GiB
PE Size 4.00 MiB
Total PE 1534
Alloc PE / Size 512 / 2.00 GiB
Free PE / Size 1022 / 3.99 GiB
VG UUID OxWv1Y-SEbW-uTL6-CigB-fP8k-6rGt-3Ku4nU
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 openeuler lvm2 a-- <1023.00g 0
/dev/sdb5 testvg lvm2 a-- <3.00g 1020.00m
/dev/sdd1 testvg lvm2 a-- <3.00g <3.00g
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
openeuler 1 3 0 wz--n- <1023.00g 0
testvg 2 1 0 wz--n- 5.99g 3.99g #此处可以看到已经扩展到了6G
[root@localhost ~]# lvs /dev/testvg/testlv #查看testlv信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-ao---- 2.00g
[root@localhost ~]# lvextend -L +3G /dev/testvg/testlv
Size of logical volume testvg/testlv changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).
Logical volume testvg/testlv successfully resized.
[root@localhost ~]# lvs /dev/testvg/testlv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-ao---- 5.00g
[root@localhost ~]# resize2fs /dev/testvg/testlv
resize2fs 1.45.3 (14-Jul-2019)
/dev/testvg/testlv 上的文件系统已被挂载于 /mnt/testlv;需要进行在线调整大小
old_desc_blocks = 1, new_desc_blocks = 1
/dev/testvg/testlv 上的文件系统现在为 1310720 个块(每块 4k)。
[root@localhost ~]# df -h /dev/testvg/testlv
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/testvg-testlv 4.9G 8.0M 4.7G 1% /mnt/testlv #可以看到文件系统扩展了到5G
[root@localhost ~]#
步骤2:执行如下步骤缩容文件系统与LV。此步骤是高危操作,在工作中请谨慎!
[root@localhost ~]# umount /mnt/testlv #卸载文件系统
[root@localhost ~]# e2fsck -f /dev/testvg/testlv #检查文件系统使用情况
e2fsck 1.45.3 (14-Jul-2019)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/testvg/testlv:11/327680 文件(0.0% 为非连续的), 39006/1310720 块
[root@localhost ~]# resize2fs /dev/testvg/testlv 2G #重新指定文件系统逻辑大小
resize2fs 1.45.3 (14-Jul-2019)
将 /dev/testvg/testlv 上的文件系统调整为 524288 个块(每块 4k)。
/dev/testvg/testlv 上的文件系统现在为 524288 个块(每块 4k)。
[root@localhost ~]# lvs /dev/testvg/testlv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-a----- 5.00g #可以看到LV没有缩减
[root@localhost ~]# lvchange -a n /dev/testvg/testlv #将LV修改为不活动状态
[root@localhost ~]# lvreduce -L 2G /dev/testvg/testlv #缩减LV大小为2G
Size of logical volume testvg/testlv changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents).
Logical volume testvg/testlv successfully resized.
[root@localhost ~]# lvchange -a y /dev/testvg/testlv #修改LV为活动状态
[root@localhost ~]# lvs /dev/testvg/testlv #查看LV大小
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-a----- 2.00g
[root@localhost ~]# e2fsck -f /dev/testvg/testlv #检查文件系统
e2fsck 1.45.3 (14-Jul-2019)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/testvg/testlv:11/131072 文件(0.0% 为非连续的), 26156/524288 块
[root@localhost ~]# mount /dev/testvg/testlv /mnt/testlv/ #重新挂载
[root@localhost ~]# df -h /dev/testvg/testlv #查看大小
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/testvg-testlv 2.0G 6.0M 1.8G 1% /mnt/testlv
[root@localhost ~]#
步骤3:执行如下步骤删除创建的LVM配置
[root@localhost ~]# umount /mnt/testlv
[root@localhost ~]# lvremove -y /dev/testvg/testlv
Logical volume "testlv" successfully removed
[root@localhost ~]# vgremove testvg #移除VG
Volume group "testvg" successfully removed
[root@localhost ~]# pvremove /dev/sdb5 /dev/sdd1 #移除PV
Labels on physical volume "/dev/sdb5" successfully wiped.
Labels on physical volume "/dev/sdd1" successfully wiped.
[root@localhost ~]#