LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性;简单的说,lvm支持不连续的柱面组成一个分区,可以自由的增大,缩小分区,支持快照,具有很好的扩展性,同时支持不等大的的分区组成卷组。和RAID5一样,之前这个LVM也记录过,但是对于rhce来说,这太重要了,实在不容忽视,只好再整理整理…
1:使用fdisk工具分成三块分区,并转换成8e格式,这里分区大小可以不相等
[root@yang ~]# fdisk -l |grep LVM
Disk /dev/md1 doesn’t contain a valid partition table
/dev/hda9 5670 6886 9775521 8e Linux LVM
/dev/hda10 6887 8103 9775521 8e Linux LVM
/dev/hda11 8104 9320 9775521 8e Linux LVM
2:将分好的lvm格式分区转成物理卷
[root@yang ~]# pvcreate /dev/hda9 /dev/hda10 /dev/hda11
Physical volume “/dev/hda9” successfully created
Physical volume “/dev/hda10” successfully created
Physical volume “/dev/hda11” successfully created
[root@yang ~]# pvs //查看概要信息,详细信息可以使用pvdisplay查看
PV VG Fmt Attr PSize PFree
/dev/hda10 lvg01 lvm2 a- 9.32G 9.32G
/dev/hda11 lvg01 lvm2 a- 9.32G 9.32G
/dev/hda9 lvg01 lvm2 a- 9.32G 9.32G
3:将前面创建的物理卷加入到卷组,卷组名为lvg01,若忘记vgcreate命令格式,可以使用-h选项获取命令帮助
[root@yang ~]# vgcreate lvg01 /dev/hda{9,10,11}
Volume group “lvg01” successfully created
[root@yang ~]# vgs //查看概要信息,详细信息可以使用vgdisplay查看
VG #PV #LV #SN Attr VSize VFree
lvg01 3 0 0 wz–n- 27.96G 27.96G
4:从卷组中划一个10G的分区出来,分区的名字为yang
[root@yang ~]# lvcreate -L 10G -n yang lvg01
Logical volume “yang” created
[root@yang ~]# lvs //查看概要信息,详细信息可以使用lvdisplay查看
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
yang lvg01 -wi-a- 10.00G
5:格式划三级分区/dev/lvg01/yang并挂载
[root@yang ~]# mkfs.ext3 /dev/lvg01/yang
[root@yang ~]# tune2fs -c 0 -i 0 -o acl /dev/lvg01/yang
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
[root@yang ~]# mkdir /data2
[root@yang ~]# mount /dev/lvg01/yang /data2
[root@yang ~]# df -h |grep data2
9.9G 151M 9.2G 2% /data2
6:查看卷组中的详细信息
[root@yang ~]# vgdisplay
— Volume group —
VG Name lvg01 //前面定义的名称
System ID
Format lvm2 //格式
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0 //最大逻辑卷的个数,0为不限制
Cur LV 1 //当前逻辑卷的个数
Open LV 1 //当前可用的逻辑卷个数
Max PV 0
Cur PV 3 //当前卷组中有三个物理卷
Act PV 3 //当前卷组中活动的物理卷为三
VG Size 27.96 GB //卷组的总大小为27.96G
PE Size 4.00 MB //卷组的最小I/O单位
Total PE 7158 //卷组总共有7158个桩点,7158 * 4M = 27.96G
Alloc PE / Size 2560 / 10.00 GB //当前用掉的桩点和磁盘大小
Free PE / Size 4598 / 17.96 GB //当前可用的桩点和磁盘大小
VG UUID k1bRbG-2ttW-DgYy-QH9O-NwHB-pyoV-QM0ZnI
7:增大分区,在增大分区的时候可以不卸载
[root@yang ~]# lvextend -L +17.96G /dev/lvg01/yang //先增大逻辑卷
Rounding up size to full physical extent 17.96 GB
Extending logical volume yang to 27.96 GB
Logical volume yang successfully resized
[root@yang ~]# resize2fs /dev/lvg01/yang //增大文件系统
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/lvg01/yang is mounted on /data2; on-line resizing required
Performing an on-line resize of /dev/lvg01/yang to 7329792 (4k) blocks.
The filesystem on /dev/lvg01/yang is now 7329792 blocks long.
[root@yang ~]# df -h |grep data2 //验证
28G 156M 26G 1% /data2
8:缩小分区,这个操作要先卸载分区
[root@yang ~]#umount /data2
[root@yang ~]# resize2fs /dev/lvg01/yang 20G //先缩小文件系统到指定的大小,有可能在缩小文件系统前需要进行e2fsck -f操作
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/lvg01/yang to 5242880 (4k) blocks.
The filesystem on /dev/lvg01/yang is now 5242880 blocks long.
[root@yang ~]# lvreduce -L 20G /dev/lvg01/yang //缩小逻辑卷到前面指定的大小
WARNING: Reducing active logical volume to 20.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce yang? [y/n]: y
Reducing logical volume yang to 20.00 GB
Logical volume yang successfully resized
[root@yang ~]# mount /dev/lvg01/yang /data2 //挂载验证
[root@yang ~]# !df
df -h |grep data2
20G 156M 19G 1% /data2
9:增加物理卷到卷组
[root@yang ~]# fdisk -l |grep hda12
/dev/hda12 9321 10443 9020466 8e Linux LVM
[root@yang ~]# pvcreate /dev/hda12 //同样需要把前面划好的分区转成物理卷
Physical volume “/dev/hda12” successfully created
[root@yang ~]# vgextend lvg01 /dev/hda12 //使用vgextend加入卷组lvg01
Volume group “lvg01” successfully extended
[root@yang ~]# vgdisplay //查看卷组详细信息,可以看到pv中的物理卷个数,桩点和大小都增加了
— Volume group —
VG Name lvg01
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size 36.56 GB
PE Size 4.00 MB
Total PE 9360
Alloc PE / Size 5120 / 20.00 GB
Free PE / Size 4240 / 16.56 GB
VG UUID k1bRbG-2ttW-DgYy-QH9O-NwHB-pyoV-QM0ZnI
9:lvm快照,LVM快照通过把文件系统的改变记录到一个快照分区,而不是对这个分区做镜像.因此当你创建一个快照分区时,你不需要使用和你正创建快照的分区一样大小的分区,而是在做快照过程中需要改变的大小.这取决于有多少数据正在写入分区和你希望保留LVM快照多长 时间. 你保留的时间越长,在文件系统的的改变越多,更多的快照分区就会被填充改变的信息.在分区上的改变率越高,快照的平均生命期越短.如果一个LVM分区的改变量超过了快照的大小,那么快照就会被释放.
[root@yang ~]# lvcreate -L 100M -s -n yangbak /dev/lvg01/yang
Logical volume “yangbak” created
[root@yang ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
yang lvg01 owi-ao 20.00G
yangbak lvg01 swi-a- 100.00M yang 0.01
[root@yang ~]# df -h //可以看到快照的分区大小也是19G,而他的实际大小只有100M
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 38G 1.2G 35G 4% /
/dev/hda1 99M 12M 83M 12% /boot
tmpfs 80M 0 80M 0% /dev/shm
/dev/mapper/lvg01-yang
20G 156M 19G 1% /data2
/dev/hdc 2.8G 2.8G 0 100% /mnt
/dev/md1 1.9G 35M 1.8G 2% /data
/dev/mapper/lvg01-yangbak
20G 156M 19G 1% /databak
10:lvm的移除,移除前要确保分区中的数据已经移除或已备份,移除的顺序基本同创建的顺序相反
[root@yang ~]# umount /data2 //卸载分区
[root@yang ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
yang lvg01 -wi-a- 20.00G
[root@yang ~]# lvremove /dev/lvg01/yang //移除逻辑分区
/dev/cdrom: open failed: Read-only file system
Do you really want to remove active logical volume yang? [y/n]: y
Logical volume “yang” successfully removed
[root@yang ~]# vgs
VG #PV #LV #SN Attr VSize VFree
lvg01 4 0 0 wz–n- 36.56G 36.56G
[root@yang ~]# vgremove lvg01 //移除卷组
Volume group “lvg01” successfully removed
[root@yang ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/hda10 lvm2 — 9.32G 9.32G
/dev/hda11 lvm2 — 9.32G 9.32G
/dev/hda12 lvm2 — 8.60G 8.60G
/dev/hda9 lvm2 — 9.32G 9.32G
[root@yang ~]# pvremove /dev/hda{9,10,11,12} . //移除物理卷
Labels on physical volume “/dev/hda9” successfully wiped
Labels on physical volume “/dev/hda10” successfully wiped
Labels on physical volume “/dev/hda11” successfully wiped
Labels on physical volume “/dev/hda12” successfully wiped
[root@yang ~]# lvs && pvs && vgs
[root@yang ~]# echo $?
0