LVM逻辑卷管理

作者: fengkaipeng | 来源:发表于2017-06-25 19:54 被阅读23次

    逻辑卷创建

    1. pvcreate /dev/sd{b,c,d}1 将sdb1,sdc1,sdd1生成为pv物理卷(移除用pvremove)
    2. vgcreate vg0 /dev/sd{b,c,d}1 将生成的几个pv加入到卷组vg0中(-s # 指定PE大小,默认为4M,这个时候设备文件还没生成)(移除pv用vgreduce)
    3. lvcreate -n lv0 -L 20G vg0 生成名为lv0,大小为20G的lv,也可以用-l 跟PE个数,或者-l 100%vg也行
      此时,生成设备文件映射--> /dev/mapper/vg0-lv0或者/dev/vg0/lv0,真实路径为/dev/dm-0
    4. mkfs -t ext4 /dev/vg0/lv0创建文件系统
    5. mkdir /lv0;mount /dev/vg0/lv0 /lv0挂载文件系统

    扩展(支持热扩展,所以不需要取消挂载)

    首先将要转化成pv的盘分区格式改为8e

    1. pvcreate /dev/sdf1 当pv不够时候,pvcreate创建新的pv
    2. vgextend vg0 /dev/sdf1 当vg不够用时添加vg
    3. lvextend -r -L +10G /dev/vg0/lv0,扩展 +10G,也可以写成-L 扩展后的大小,或者-l +100%free,-r一定要写,要不不会同步,很麻烦。

    缩减(不支持热缩减)

    建议先备份

    1. umount /lv0,不支持热缩减,所以需要先取消挂载
    2. fsck -f /dev/vg0/pv0,需要强制检测,要不会报错。
    3. resize2fs /dev/vg0/lv0 30G,先缩减文件系统大小
    4. lvreduce -L 30G /dev/vg0/lv0,然后缩减lv卷大小
    5. mount /dev/vg0/lv0 /lv0,重新挂载文件系统到挂载点

    移除pv

    1. pvdisplay查看哪个pv存放的数据。
    2. pvmove /dev/sdb1移除sdb1上的数据到vg中另一个pv,移除是随机的,不一定移到哪个上。
    3. vgreduce vg0 /dev/sdb1,从vg0中移除sdb1
    4. 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注意这里跟的是快照的路径,而且回复完成后快照就没了。

    相关文章

      网友评论

        本文标题:LVM逻辑卷管理

        本文链接:https://www.haomeiwen.com/subject/ceprcxtx.html