RHEL6 LVM简略笔记
1.创建Type为8e(Linux LVM )的分区:/dev/sdb5、/dev/sdb6、/dev/sdb7(指定分区大小)
其实在同一块硬盘上就不用分这么多区了,分一个就行了,这里也可以模拟为多个硬盘咯。
分完区执行partx -a /dev/sda让内核加载分区信息,cat /proc/partitions查看是否生效。
在RHEL6下partprobe /dev/sda不起作用,需要重启,大概也是个Bug,直到6.4发布都没解决。
2.创建物理卷PV:
pvcreate /dev/sdb5 /dev/sdb6 /dev/sdb7 && pvdisplay
3.创建卷组VG:
vgcreate myvg1 /dev/sdb5 /dev/sdb6 /dev/sdb7 && vgdisplay
4.创建逻辑卷LV,指定LV大小:
lvcreate -L 100M -n mylv1 myvg1 && lvdisplay
5.格式化LV:
mkfs.ext4 /dev/myvg1/mylv1
格式化的时候可以加-L参数指定下LABEL方便挂载,省去找设备路径的麻烦。
6.挂载:
mkdir /mnt/mylv1 && mount /dev/myvg1/mylv1 /mnt/mylv1
7.开机挂载:
vim /etc/fstab
/dev/myvg1/mylv1 /mnt/mylv1 ext4 defaults 0 0
8.LV扩容:
lvextend -L +100M /dev/myvg1/mylv1 && resize2fs /dev/myvg1/mylv1
在VG还有足够的容量就使用上面的命令。执行完lvextend后,lvdisplay会立即显示扩容后的逻辑卷的大小,但实际上还分配空间,是用df -h命令查看时,就会发现还是显示原来的大小,这时执行resize2fs命令就分配了空间了,再执行df -h就看到扩容后的大小了。注意lvextend和resize2fs后面都是接的LV的设备路径。其实lvextend可以再加一个-r的参数,就不用resize2fs了,上面的命令可以简写为:
lvextend -rL +100M /dev/myvg1/mylv1
参数合在一起只能是-rL不能是-Lr,否则报错,因为-L后面还要接大小。
9.VG扩容:
vgextend myvg1 /dev/sdb8 && vgdisplay
这是VG容量不足了,所以先扩容VG。上面命令的意思就是把分区/dev/sda8加入到卷组myvg1里去,所以VG就扩容了,接下来就扩容LV咯。
10.LV缩小:
umout /mnt/mylv1
e2fsck -f /dev/myvg1/mylv1
lvreduce -L -50M /dev/myvg1/mylv1
mount -a
(-50M表示总容量减少50M,如果不加减号“-”,就表示减少到50M。该操作一般很少使用,请谨慎执行)
等效命令:
lvresize -rL 100M /dev/myvg1/mylv1
LVM结构图: