逻辑卷管理与扩展
逻辑卷
作用:
- 1.整合分散的空间
- 2.空间支持扩大
逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)
逻辑卷的逻辑思路
制作逻辑卷
建立卷组(VG)
格式:vgcreate 卷组名 设备路径…….
Successfully:成功 example:例子
[root@localhost ~]# man vgcreate #参考帮助信息 按q退出
[root@localhost ~]# vgcreate systemvg /dev/vdb[1-2]
[root@localhost ~]# pvs #查看系统所有物理卷信息
[root@localhost ~]# vgs #查看系统卷组信息
建立逻辑卷(LV)
格式: lvcreate -L 大小G -n 逻辑卷名字 卷组名
[root@localhost ~]# lvcreate -L 16G -n vo systemvg
[root@localhost ~]# vgs #查看卷组信息
[root@localhost ~]# lvs #查看逻辑卷信息
使用逻辑卷(LV)
]# ls /dev/systemvg/vo
]# ls -l /dev/systemvg/vo
]# mkfs.xfs /dev/systemvg/vo #格式化xfs文件系统
]# blkid /dev/systemvg/vo #查看文件系统类型
]# vim /etc/fstab
/dev/systemvg/vo /mylv xfs defaults 0 0
]# mkdir /mylv
]# mount -a #检测fstab文件内容书写是否正确
]# df -h /mylv #查看查看正在挂载使用的设备
案例1:新建一个逻辑卷
1 问题
本例要求沿用前案例,使用分区 /dev/sdb1 构建 LVM 存储,相关要求如下:
- 新建一个名为 systemvg 的卷组
- 在此卷组中创建一个名为 vo 的逻辑卷,大小为180MiB
- 将逻辑卷 vo 格式化为 EXT4 文件系统
- 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
2 方案
LVM创建工具的基本用法:
vgcreate 卷组名 物理设备.. ..
lvcreate -L 大小 -n 逻辑卷名 卷组名
3 步骤
实现此案例需要按照如下步骤进行。
步骤一:创建卷组
1)新建名为systemvg的卷组
[root@server0 ~]# vgcreate systemvg /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "systemvg" successfully created
2)确认结果
[root@server0 ~]# vgs
步骤二:创建逻辑卷
1)新建名为vo的逻辑卷
[root@server0 ~]# lvcreate -L 180MiB -n vo systemvg
Logical volume "vo" created
2)确认结果
[root@server0 ~]# lvs
步骤三:格式化及挂载使用
1)格式化逻辑卷/dev/systemvg/vo
[root@server0 ~]# mkfs.ext4 /dev/systemvg/vo
.. ..
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
2)挂载逻辑卷/dev/systemvg/vo
[root@server0 ~]# mkdir /vo //创建挂载点[root@server0 ~]# mount /dev/systemvg/vo /vo //挂载[root@server0 ~]# df -hT /vo/ //检查结果Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/systemvg-vo ext4 171M 1.6M 157M 1% /vo
3)访问逻辑卷/dev/systemvg/vo
[root@server0 ~]# cat /vo/votest.txtI AM KING.
逻辑卷的扩展
卷组有足够的剩余空间
1.扩展逻辑卷的空间
]# df -h | grep vo
]# vgs
]# lvextend -L 18G /dev/systemvg/vo
]# vgs
]# lvs
2.扩展逻辑卷的文件系统(刷新文件系统)
xfs_growfs:刷新xfs文件系统
resize2fs:刷新ext4文件系统
]# xfs_growfs /dev/systemvg/vo
]# df -h | grep vo
]# lvs
卷组没有足够的剩余空间
1.扩展卷组的空间
]# vgextend systemvg /dev/vdb{3,5,6}
]# vgs
2.扩展逻辑卷的空间
]# vgs
]# lvextend -L 25G /dev/systemvg/vo
]# vgs
]# df -h | grep vo
3.扩展逻辑卷的文件系统(刷新文件系统)
]# xfs_growfs /dev/systemvg/vo
]# df -h | grep vo
逻辑卷的补充
-
逻辑卷支持缩减
-
xfs文件系统:不支持缩减
-
ext4文件系统:支持缩减
卷组划分空间的单位 PE
默认1个PE的大小为4M
]# vgdisplay systemvg #显示卷组的详细信息
PE Size 4.00 MiB #PE的大小
请创建一个大小为250M的逻辑卷名字为lvredhat
]# vgchange -s 1M systemvg #卷组已存在修改PE大小
]# vgdisplay systemvg #查看卷组详细信息
]# lvcreate -L 250M -n lvredhat systemvg
]# lvs
创建卷组时,指定PE的大小
[root@nb ~]# vgcreate -s 1M systemvg /dev/vdb[1-2]
逻辑卷的删除
删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷
[root@localhost ~]# lvremove /dev/systemvg/vo
Logical volume systemvg/vo contains a filesystem in use.
[root@localhost ~]# umount /mylv/
[root@localhost ~]# lvremove /dev/systemvg/vo
Do you really want to remove active logical volume systemvg/vo? [y/n]: y
Logical volume "vo" successfully removed
[root@localhost ~]# lvs #查看当前系统的所逻辑卷
[root@localhost ~]# vim /etc/fstab #仅删除vo开机自动挂载
[root@localhost ~]# lvremove /dev/systemvg/lvredhat
Do you really want to remove active logical volume systemvg/lvredhat? [y/n]: y
Logical volume "vo" successfully removed
删除卷组的前提:基于此卷组创建的所有逻辑卷,要全部删除RAID磁盘阵列
[root@svr1 ~]# lvs
[root@svr1 ~]# vgremove systemvg #删除卷组
[root@svr1 ~]# vgs #查看当前系统的所有卷组信息
[root@svr1 ~]# pvremove /dev/vdb{1,2,3,5,6}
[root@svr1 ~]# pvs #查看当前系统的所有物理卷信息
案例2:扩展逻辑卷的大小
1 问题
本例要求沿用案例,将逻辑卷 vo 的大小调整为 300MiB,要求如下:
- 原文件系统中的内容必须保持完整
- 必要时可使用之前准备的分区 /dev/sdb5 来补充空间
- 注意:分区大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之间都是可以接受的
2 方案
对于已经格式化好的逻辑卷,在扩展大小以后,必须通知内核新大小。
如果此逻辑卷上的文件系统是EXT3/EXT4类型,需要使用resize2fs工具;
如果此逻辑卷上的文件系统是XFS类型,需要使用xfs_growfs。
3 步骤
实现此案例需要按照如下步骤进行。
步骤一:确认逻辑卷vo的信息
1)找出逻辑卷所在卷组
[root@server0 ~]# lvs
2)查看该卷组的剩余空间是否可满足扩展需要
[root@server0 ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 196.00 MiB //卷组总大小
PE Size 4.00 MiB
Total PE 49
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 4 / 16.00 MiB //剩余空间大小
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
此例中卷组systemvg的总大小都不够300MiB、剩余空间才16MiB,因此必须先扩展卷组。只有剩余空间足够,才可以直接扩展逻辑卷大小。
步骤二:扩展卷组
1)将提前准备的分区/dev/sdb5添加到卷组systemvg
[root@server0 ~]# vgextend systemvg /dev/sdb5
Physical volume "/dev/sdb5" successfully created
Volume group "systemvg" successfully extended
2)确认卷组新的大小
[root@server0 ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
.. ..
VG Size 692.00 MiB //总大小已变大
PE Size 4.00 MiB
Total PE 173
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 128 / 512.00 MiB //剩余空间已达512MiB
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
步骤三:扩展逻辑卷大小
1)将逻辑卷/dev/systemvg/vo的大小调整为300MiB
[root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo
Extending logical volume vo to 300.00 MiB
Logical volume vo successfully resized
2)确认调整结果
[root@server0 ~]# lvs
3)刷新文件系统大小
确认逻辑卷vo上的文件系统类型:
[root@server0 ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
选择合适的工具刷新大小:
[root@server0 ~]# resize2fs /dev/systemvg/vo
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.
确认新大小(约等于300MiB):
[root@server0 ~]# mount /dev/systemvg/vo /vo/
[root@server0 ~]# df -hT /vo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 287M 2.1M 266M 1% /vo