centos7的lvm应用

一.建立5个分区
    /**
     I * 由于本机没有留下空闲的磁盘空间,只好把swap删掉用来腾出空间
       */
    1.先把swap删除 swapoff /dev/sdax
    2.修改开机挂载文件/etc/fstab
      删掉swap那一行后保存
   
    3.新建分区
    fdisk /dev/sda
    使用n参数新建5个300M分区/dev/sda5-9
    使用t参数修改分区id为8e
    使用w保存退出
    输入partprobe命令更新分区表
   
二.PV(物理卷)阶段
    查看本机是否存在pv
      pvscan
    新建/dev/sda5-8四个分区为pv
      pvcreate /dev/sda{5,6,7,8}
    查看刚刚新建的pv
      pvscan
    更详细的列出系统上面pv信息
      pvdisplay
   
三.VG(卷用户组)阶段
    将/dev/sda{5,6,7,8}新建为一个分区
      vgcreate -s 16M jisonvg /dev/sda{5,6,7,8}
  -s 后面接PE(物理扩展块)的大小
    查看本机的vg
      vgscan
    再次查看本机的pv
      pvscan
    更详细的列出系统上面vg信息
      vgdisplay
四.LV(逻辑卷)阶段
    将整个的jisonvg全部分配给jisonlv
      lvcreate -l 72 -n jisonlv jisonvg
  -L 后面接容量,可以是M,G,T
  -l 后面接PE的个数
  -n 后面接的是LV的名称
    更详细的列出系统上面lv信息
      lvdisplay

五.文件系统阶段
    格式化jisonlv的文件系统为ext3
      mkfs -t ext3 /dev/jisonvg/jisonlv
    挂载jisonlv到/mnt/lvm上
      mkdir /mnt/lvm
      mount /dev/jisonvg/jisonlv /mnt/lvm
    查看挂载的jisonlv
      df -h
    测试使用jisonlv
      cp -r /etc /mnt/lvm
      ll /mnt/lvm/etc

六.放大LV的容量
    使用之前新建的没有加入到jisonlv的pv(/dev/sda9),将它加到jisonvg上面
      vgextend jisonvg /dev/sda9
    详细的列出系统上面vg信息
      vgdisplay
    调整jisonlv的大小
      lvresize -l +18 /dev/jisonvg/jisonlv
    详细的列出系统上面lv信息
      lvdisplay
    查看原先文件系统里面的superblock的记录情况
      dumpe2fs /dev/jisonvg/jisonlv
    完整的将LV的容量扩充到整个文件系统
      resize2fs /dev/jisonvg/jisonlv
    查看扩充后文件系统里面的superblock的记录情况
      dumpe2fs /dev/jisonvg/jisonlv
    查看扩充后的文件系统
      df -h /dev/jisonvg/jisonlv

七.缩小LV的容量
    先卸载/dev/jisonvg/jisonlv
      umount /mnt/lvm
    进行磁盘检查
      e2fsck -f /dev/jisonvg/jisonlv
    降低文件系统的容量
      resize2fs /dev/jisonvg/jisonlv 300M
    查看降低容量后的文件系统
      mount /dev/jisonvg/jisonlv /mnt/lvm
      df -h /mnt/lvm
    降低LV的容量
      lvresize -l -18 /dev/jisonvg/jisonlv
    将没有使用的PE转移到/dev/sda6上
      pvdisplay
      pvmove /dev/sda6 /dev/sda9
    将/dev/sda6移出jisonvg
      vgreduce jisonvg /dev/sda6
    将pv(/dev/sda6)删除
      pvremove /dev/sda6
     
八.LVM快照
    建立一个/dev/jisonvg/jisonlv的快照/dev/jisonvg/jisonss
      pvcreate /dev/sda6
      vgextend jisonvg /dev/sda6
      vgdisplay
      lvcreate -l 18 -s -n jisonss /dev/jisonvg/jisonlv
      lvdisplay
    挂载/dev/jisonvg/jisonss
      mkdir /mnt/snapshot
      mount /dev/jisonvg/jisonss /mnt/snapshot
      df -h
      会发现快照/dev/jisonvg/jisonss和/dev/jisonvg/jisonlv的使用量和大小居然是一模一样的,但实际上快照区是没有这么大的,快照区只是记录创建快照那一瞬间/dev/jisonvg/jisonlv的内容
      当修改/dev/jisonvg/jisonlv后快照区的内容还是没有变化的
    利用快照区复原文件系统
      umount /mnt/snapshot
      df /mnt/lvm
      rm -rf /mnt/lvm/etc
      cp -r /boot /mnt/lvm
      mount /dev/jisonvg/jisonss /mnt/snapshot
      df -h
      这时会发现/dev/jisonvg/jisonlv和/dev/jisonvg/jisonlv的使用量和大小不一样了,快照里面的内容还是原来的,而/dev/jisonvg/jisonlv的内容则是修改过后的
      这时要还原/dev/jisonvg/jisonlv的内容为原来的内容的话,格式化/dev/jisonvg/jisonlv后,将/dev/jisonvg/jisonss的内容复制到/dev/jisonvg/jisonlv里面就可以了
      umount /dev/lvm
      mkfs -t ext3 /dev/jisonvg/jisonlv
      mount /dev/jisonvg/jisonlv /mnt/lvm
      cp -r /mnt/snapshot/* /mnt/lvm
      cd /mnt/lvm
      ls
      这时应该/dev/jisonvg/jisonlv和快照/dev/jisonvg/jisonss的内容又一致了
     
九.关闭LVM并还原磁盘为swap
    卸载
    umount /mnt/lvm
    umount /mnt/snapshot
    处理快照和原系统
    lvremove /dev/jisonvg/jisonss
    lvremove /dev/jisonvg/jisonlv
    使jisonvg变成不活跃状态
    vgchange -a n jisonvg
    删除jisonvg
    vgremove jisonvg
    删除所有的pv
    pvremove /dev/sda{5,6,7,8,9}
    将/dev/sda{5,6,7,8,9}分区的8e标志改回83,重新建立分区并格式化为swap
    fdisk /dev/sda
    使用t参数修改分区/dev/sda{5,6,7,8,9}的id为83
    使用d参数删除/dev/sda{5,6,7,8,9}分区
    使用d参数删除逻辑分区/dev/sda4
    使用n参数将所有剩余空间新建一个分区为/dev/sda2
    使用w参数保存分区操作
    使用partprobe命令刷新分区表
    将/dev/sda2格式化为swap分区
    mkswap /dev/sda2
    然后重启
    reboot

猜你喜欢

转载自jisonami.iteye.com/blog/2293601