逻辑卷创建
-
pvcreate /dev/sd{b,c,d}1
将sdb1,sdc1,sdd1生成为pv物理卷(移除用pvremove) -
vgcreate vg0 /dev/sd{b,c,d}1
将生成的几个pv加入到卷组vg0中(-s # 指定PE大小,默认为4M,这个时候设备文件还没生成)(移除pv用vgreduce) -
lvcreate -n lv0 -L 20G vg0
生成名为lv0,大小为20G的lv,也可以用-l 跟PE个数,或者-l 100%vg
也行
此时,生成设备文件映射–>/dev/mapper/vg0-lv0
或者/dev/vg0/lv0
,真实路径为/dev/dm-0
-
mkfs -t ext4 /dev/vg0/lv0
创建文件系统 -
mkdir /lv0;mount /dev/vg0/lv0 /lv0
挂载文件系统
扩展(支持热扩展,所以不需要取消挂载)
首先将要转化成pv的盘分区格式改为8e
-
pvcreate /dev/sdf1
当pv不够时候,pvcreate创建新的pv -
vgextend vg0 /dev/sdf1
当vg不够用时添加vg -
lvextend -r -L +10G /dev/vg0/lv0
,扩展 +10G,也可以写成-L 扩展后的大小,或者-l +100%free
,-r一定要写,要不不会同步,很麻烦。
缩减(不支持热缩减)
建议先备份
-
umount /lv0
,不支持热缩减,所以需要先取消挂载 -
fsck -f /dev/vg0/pv0
,需要强制检测,要不会报错。 -
resize2fs /dev/vg0/lv0 30G
,先缩减文件系统大小 -
lvreduce -L 30G /dev/vg0/lv0
,然后缩减lv卷大小 -
mount /dev/vg0/lv0 /lv0
,重新挂载文件系统到挂载点
移除pv
-
pvdisplay
查看哪个pv存放的数据。 -
pvmove /dev/sdb1
移除sdb1上的数据到vg中另一个pv,移除是随机的,不一定移到哪个上。 -
vgreduce vg0 /dev/sdb1
,从vg0中移除sdb1 -
pvremove /dev/sdb1
,将sdb1的pv属性移除,现在他又成了不带属性的磁盘分区了。
vg跨主机迁移
1 查看LV对应的卷组是由几个PV组合的
/dev/sdc /dev/sdd
2 查看下VG名称,确保在目标主机上的名称不要冲突
vgrename vg0 newvg0
lvrename /dev/vg0/lv0 /dev/newvg0/newlv0
3在源主机
umount /dev/newvg0/lv0
vgchange -an newvg0
vgexport newvg0
4 将对应所有PV,接入到目标主机
5 在目标主机
pvscan
vgimport newvg0
vgchange -ay newvg0 激活
mount /dev/newvg0/newlv0 /mnt/newlv0
快照
快照之所以这么快是因为他不是讲数据拷贝过去,而是创建一个空间,当原始文件删除修改时,才将删除的文件放到块快照中,这样就只能保存创建时的文件,所以快照只能恢复到创建快照时的状态。
注意:lv没有格式化创建文件系统时,创建的快照也是没有格式化的快照。
创建快照
lvcreate -n slv0 -s -p r -L 10G /dev/vg0/lv0
和创建lv的命令很像,但是加了-s表示快照,-p r表示使用只读的格式,最后不能写卷组名了,而是要写创建快照的lv的路径。
恢复快照
lvconvert --merge /dev/vg0/sslv0
注意这里跟的是快照的路径,而且回复完成后快照就没了。