lvm名词解释
LVM(Logical Volume Manager)(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,
PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。
PP(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候制定,如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。
VG(Volume Group):卷组,建立在PV之上,可以含有一个到多个PV。
LV(Logical Volume):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。
lvm用法(实验)
一:磁盘创建3个分区,设置分区标识为8e
用fdisk命令分区,设置分区标识8e
(区域截图,右下角8e标示代表linux lvm)
我的分区:
分好后wq保存退出。
二:创建pv,vg,lv
pvcreate /dev/sdb1 //创建pv
vgcreate vg0 /dev/sdb1 //创建vg
lvcreate -L 300M -n lv0 vg0 //创建lv -L(大小)-n(名字)vg0(用vg0创建lv)
pvs;vgs;lvs //查看pv,vg,lv信息
这样就创建好了。然后格式化后就能挂载使用了。
mkfs.xfs /dev/vg0/lv0 //格式化lv
mount /dev/vg0/lv0 /mnt/ //挂载在/mnt/目录上。
一个linux逻辑卷就创建好了。
三:lvm的扩容
lvextend -L 500M /dev/vg0/lv0 ##扩大设备(拉大到500M)
xfs_growfs /dev/vg0/lv0 ##扩大挂载的文件系统
这是扩容后的
当pv容量不够用时,可以添加pv
pvcreate /dev/sdb2 ##新建物理卷
vgextend vg0 /dev/sdb2 ##扩大物理卷组
lvextend -L 1500M /dev/vg0/lv0 ##扩大设备
xfs_growfs /dev/vg0/lv0 ##扩大文件系统
这是扩大后的pv,vg,lv
ext4文件系统的lv扩容:
umount /mnt ##取消挂载
mkfs.ext4 /dev/vg0/lv0 ##修改格式为ext4
mount /dev/vg0/lv0 /mnt ##挂载
lvextend -L 1800M /dev/vg0/lv0 ##扩大设备
resize2fs /dev/vg0/lv0 ##扩大文件系统ext4格式
修改后的pv,vg,lv
四:lvm缩减
xfs文件系统不支持缩减,
umount /mnt ##取消挂载
e2fsck -f /dev/vg0/lv0 ##扫描文件系统
resize2fs /dev/vg0/lv0 1000M ##缩减文件系统
mount /dev/vg0/lv0 /mnt ##挂载
lvreduce -L 1000M /dev/vg0/lv0 ##缩减设备
缩减vg,移除sdb1
pvmove /dev/sdb1 /dev/sdb2 ##将sdb1的数据移到sdb2,没数据则不需要。
vgreduce vg0 /dev/sdb1 ##移除物理卷组上的的物理卷/dev/sdb1
pvremove /dev/sdb1
删除成功了。
五:lvm快照
使用的命令:
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 // -L大小,-n快照名字,-s 快照对象。
我们给刚创建的lv0创建快照,
先在lv0中touch 9个文件。
然后创建快照。
umount /dev/vg0/lv0
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 //创建快照
等等,什么情况,没成功,检出后发现是设备空间不足了(刚才移除了一个pv)
由于设备里没什么文件,我们缩减一下设备到500M,然后继续。
很明显这次成功了。
mount /dev/vg0/lv0backup /mnt/ //挂载
、
刚才的文件,这个lvm快照就创建成功了。