LVM逻辑卷的创建,扩容,缩减和删除
总体步骤
-
磁盘初始化分区
-
创建物理卷
-
创建卷组
-
创建逻辑卷
-
通知文件系统生效
检查系统中是否安装了LVM管理工具
[root@node2 ~]# rpm -qa|grep lvm
扫盘:
[root@node2 ~]# rescan-scsi-bus.sh -a -r
做PV:
[root@node2 ~]# pvcreate /dev/sdb
vgcreate 卷组名 物理设备.. ..
vgcreate systemvg /dev/vdb1 #新建名为systemvg的卷组
vgscan #查看结果
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvcreate -L 180MiB -n vo systemvg #新建名为vo的逻辑卷
lvscan #查看结果
mkfs.ext4 /dev/systemvg/vo #格式化逻辑卷/dev/systemvg/vo
mount /dev/systemvg/vo /vo /#挂载逻辑卷/dev/systemvg/vo
列如:新建卷组、逻辑卷
1)新建卷组datastore,指定PE大小为16MiB 创建卷组时,可以通过-s选项指定PE的大小。 在给新建的逻辑卷分配空间时,空间大小只能是PE大小的倍数。 [root@server0 ~]# vgcreate -s 16MiB datastore /dev/vdb1 Volume group "datastore" successfully created [root@server0 ~]# vgscan //确认新建的卷组 Reading all physical volumes. This may take a while... Found volume group "datastore" using metadata type lvm2 2)新建逻辑卷database,大小设置为50个PE [root@server0 ~]# lvcreate -l 50 -n database datastore Logical volume "database" created [root@server0 ~]# lvscan //确认新建的逻辑卷 ACTIVE '/dev/datastore/database' [800.00 MiB] inherit 3)格式化逻辑卷/dev/datastore/database [root@server0 ~]# mkfs.ext3 /dev/datastore/database
扩展逻辑卷的大小
vgdisplay 卷组名 #查看卷组信息 将提前准备的分区/dev/vdb5添加到卷组systemvg [root@server0 ~]# vgextend systemvg /dev/vdb5 确认卷组新的大小: [root@server0 ~]# vgdisplay systemvg 将逻辑卷/dev/systemvg/vo的大小调整为300MiB [root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo 确认调整结果: [root@server0 ~]# lvscan 刷新文件系统大小(选择合适的工具刷新大小) [root@server0 ~]# resize2fs /dev/systemvg/vo 如果此逻辑卷上的文件系统是EXT3/EXT4类型,需要使用resize2fs工具; 如果此逻辑卷上的文件系统是XFS类型,需要使用xfs_growfs。
LVM的缩减操作:
umount 文件系统
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvqjc vgqjc -wi-a----- 8.00g lvtest vgtest -wi-a----- 1.00g [root@localhost ~]# resize2fs /dev/vgqjc/lvqjc 5G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vgqjc/lvqjc to 1310720 (4k) blocks. [root@localhost ~]# lvreduce -L 5G /dev/vgqjc/lvqjc WARNING: Reducing active logical volume to 5.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce vgqjc/lvqjc? [y/n]: y Size of logical volume vgqjc/lvqjc changed from 8.00 GiB (512 extents) to 5.00 GiB (320 extents). Logical volume vgqjc/lvqjc successfully resized. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvqjc vgqjc -wi-a----- 5.00g lvtest vgtest -wi-a----- 1.00g
[root@localhost ~]# mount /dev/vgqjc/lvqjc /mnt [root@localhost ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda5 xfs 20G 3.9G 16G 20% / devtmpfs devtmpfs 472M 0 472M 0% /dev tmpfs tmpfs 488M 0 488M 0% /dev/shm tmpfs tmpfs 488M 8.7M 479M 2% /run tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup /dev/sda2 xfs 10G 114M 9.9G 2% /app /dev/sda1 xfs 197M 133M 65M 68% /boot tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 32K 98M 1% /run/user/1000 /dev/sr0 iso9660 8.8G 8.8G 0 100% /run/media/qijunchao/CentOS 7 x86_64 /dev/mapper/vgqjc-lvqjc ext4 4.8G 32M 4.5G 1% /mnt
删除LVM
如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。
1:卸载 文件系统
2:删除lv
3:删除vg
4:删除pv
[root@localhost ~]# lvremove /dev/mapper/vgqjc-lvqjc Do you really want to remove active logical volume vgqjc/lvqjc? [y/n]: y Logical volume "lvqjc" successfully removed [root@localhost ~]# vgremove /dev/mapper/vgqjc Volume group "vgqjc" successfully removed [root@localhost ~]# pvremove /dev/sdl Labels on physical volume "/dev/sdl" successfully wiped.