1、什么是LVM?
LVM是Logical Volume Manager(逻辑卷管理)的简称,是磁盘分区管理的一种机制,可以有效提高磁盘管理的灵活性。它是存在于磁盘分区上,文件系统下的逻辑层。把磁盘分区做成一个逻辑卷,并把逻辑卷作为一个整体来管理,可以比较灵活实现分区扩容和缩减操作。
2、几个名词
物理扩展(Physical Extend)PE 物理卷(Physical Volume) PV 卷组(Volume Group) VG 逻辑卷(Logical Volume) LV
3、查看命令
查看磁盘:fdisk -l 查看物理卷:pvs|pvdispaly 查看卷组:vgs|vgdispaly 查看逻辑卷:lvs|lvdispaly
4、逻辑卷管理操作
4.1、逻辑卷创建
#创建物理卷 #pvcreate 设备名称 [root@wrx ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created #查看物理卷 [root@wrx ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a-- 20.00g 20.00g #创建卷组 #vgcreate vg名 物理卷路径 [root@wrx ~]# vgcreate vol_group_1 /dev/sdb Volume group "vol_group_1" successfully created #查看卷组 [root@wrx ~]# vgs VG #PV #LV #SN Attr VSize VFree vol_group_1 1 0 0 wz--n- 20.00g 20.00g #创建逻辑卷 #lvcreate -L 大小 -n lv名 vg名 [root@wrx ~]# lvcreate -L 6G -n vg_wrx_lv_root vol_group_1 Logical volume "vg_wrx_lv_root" created #查看逻辑卷 [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-a----- 6.00g #格式化逻辑卷 [root@wrx ~]# mkfs.ext4 /dev/vol_group_1/vg_wrx_lv_root mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 393216 inodes, 1572864 blocks 78643 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1610612736 48 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. #挂载 [root@wrx ~]# mount /dev/vol_group_1/vg_wrx_lv_root /data [root@wrx ~]#
4.2、逻辑卷扩展
[root@wrx ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 5.5G 12G 33% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 291M 34M 242M 13% /boot /dev/mapper/vol_group_1-vg_wrx_lv_root 6.0G 140M 5.5G 3% /data
#物理卷扩展与物理卷创建相同 [root@wrx ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created [root@wrx ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb vol_group_1 lvm2 a-- 20.00g 14.00g /dev/sdc lvm2 a-- 5.00g 5.00g [root@wrx ~]# vgs VG #PV #LV #SN Attr VSize VFree vol_group_1 1 1 0 wz--n- 20.00g 14.00g #卷组扩展 #vgextend vg名 pv名(新增的物理卷) [root@wrx ~]# vgextend vol_group_1 /dev/sdc Volume group "vol_group_1" successfully extended [root@wrx ~]# vgs VG #PV #LV #SN Attr VSize VFree vol_group_1 2 1 0 wz--n- 24.99g 18.99g #扩展前的逻辑卷vg_wrx_lv_root为6G [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-ao---- 6.00g #将逻辑卷vg_wrx_lv_root扩展到9G #lvextend -L 大小 lv完整路径 [root@wrx ~]# lvextend -L 9G /dev/vol_group_1/vg_wrx_lv_root Extending logical volume vg_wrx_lv_root to 9.00 GiB Logical volume vg_wrx_lv_root successfully resized [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-ao---- 9.00g #将逻辑卷vg_wrx_lv_root增加1G [root@wrx ~]# lvextend -L +1G /dev/vol_group_1/vg_wrx_lv_root Extending logical volume vg_wrx_lv_root to 10.00 GiB Logical volume vg_wrx_lv_root successfully resized [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-ao---- 10.00g #刷新文件系统 #resize2fs lv完整路径 [root@wrx ~]# resize2fs /dev/vol_group_1/vg_wrx_lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vol_group_1/vg_wrx_lv_root is mounted on /data; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/vol_group_1/vg_wrx_lv_root to 2621440 (4k) blocks. The filesystem on /dev/vol_group_1/vg_wrx_lv_root is now 2621440 blocks long.
[root@wrx ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 5.5G 12G 33% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 291M 34M 242M 13% /boot /dev/mapper/vol_group_1-vg_wrx_lv_root 9.9G 142M 9.3G 2% /data [root@wrx ~]#
逻辑扩展注意灵活使用,以及命令使用顺序
4.3、逻辑卷缩小
[root@wrx ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 5.5G 12G 33% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 291M 34M 242M 13% /boot /dev/mapper/vol_group_1-vg_wrx_lv_root 9.9G 142M 9.3G 2% /data #卸载,如果无法卸载,使用fuser命令 [root@wrx ~]# umount /dev/vol_group_1/vg_wrx_lv_root umount: /data: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@wrx ~]# fuser -m /data -k /data: 2341c [root@wrx ~]# umount /dev/vol_group_1/vg_wrx_lv_root #文件系统检查 [root@wrx ~]# e2fsck -f /dev/vol_group_1/vg_wrx_lv_root e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vol_group_1/vg_wrx_lv_root: 12/655360 files (0.0% non-contiguous), 77359/2621440 blocks #减少文件系统,将减少到8G #resize2fs lv完整路径 减小后的大小 [root@wrx ~]# resize2fs /dev/vol_group_1/vg_wrx_lv_root 8G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/vol_group_1/vg_wrx_lv_root to 2097152 (4k) blocks. The filesystem on /dev/vol_group_1/vg_wrx_lv_root is now 2097152 blocks long. [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-a----- 10.00g #逻辑卷减小,减小2G #***逻辑卷减小后的大小要和减小后的文件系统大小相等 #lvreduce -L 减小大小 lv完整路径 [root@wrx ~]# lvreduce -L -2G /dev/vol_group_1/vg_wrx_lv_root WARNING: Reducing active logical volume to 8.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce vg_wrx_lv_root? [y/n]: y Reducing logical volume vg_wrx_lv_root to 8.00 GiB Logical volume vg_wrx_lv_root successfully resized [root@wrx ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert vg_wrx_lv_root vol_group_1 -wi-a----- 8.00g #挂载 [root@wrx ~]# mount /dev/vol_group_1/vg_wrx_lv_root /data #/dev/mapper/vol_group_1-vg_wrx_lv_root减小后的大小为8G [root@wrx ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 5.5G 12G 33% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 291M 34M 242M 13% /boot /dev/mapper/vol_group_1-vg_wrx_lv_root 7.9G 142M 7.4G 2% /data [root@wrx ~]#
4.4、逻辑卷删除
#卸载 #umount 文件系统名称 [root@wrx ~]# umount /dev/vol_group_1/vg_wrx_lv_root [root@wrx ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 18G 5.5G 12G 33% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 291M 34M 242M 13% /boot #删除逻辑卷 #lvremove lv完整路径 [root@wrx ~]# lvremove /dev/vol_group_1/vg_wrx_lv_root Do you really want to remove active logical volume vg_wrx_lv_root? [y/n]: y Logical volume "vg_wrx_lv_root" successfully removed #删除卷组 #vgremove 卷组名称 [root@wrx ~]# vgremove vol_group_1 Volume group "vol_group_1" successfully removed #删除物理卷 #pvremove 设备完整路径 [root@wrx ~]# pvremove /dev/sdb1 Labels on physical volume "/dev/sdb1" successfully wiped [root@wrx ~]#