• LVM(逻辑卷管理)从0到实战


    一、请看图

      

     二、LVM——Logical Volume Manager

      LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理

      四个概念:

        ①PE(Physical Extend) 物理拓展

        ②PV(Physical Volume) 物理卷

        ③VG(Volume Group) 卷组

        ④LV(Logical Volume) 逻辑卷

      工作原理:

        (1)物理磁盘被格式化为PV,空间被划分为一个个的PE

        (2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内

        (3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘

        (4)LV现在就直接可以格式化后挂载使用了

        (5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据

     三、操作  

      0、安装:

      yum -y install lvm2                  #没有安装的话使用yum安装

      1、看:

      pes(内容简短)、pedisplay(内容详细)           #查看pe的大小(pes==pescan)
      pvs、pvdisplay                        #查看物理卷
      vgs、vgdisplay、                      #查看卷组
      lvs、lvdisplay、                      #查看逻辑卷
      fdisk -L                             #查看磁盘分区

      2、创建:

      
    pvcreate -y 设备路径(/dev/vdb1)                          #创建物理卷
    vgcreate 名字(vg01) pv路径(/dev/vdb1)                 #创建卷组                 
    vgchange -a y vg名                   #重启后会失效,因此需要重新激活,vg激活
    lvcreate -n 名字(lv01) -L 文件大小(5G)  vg名(vg01)     #创建逻辑卷,绑定vg
      
    mkfs.ext4 lv完整路径(/dev/vg01/lv01)              #格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)       
    mount  lv完整路径(/dev/vg01/lv01)  挂载点(/mnt/test)   #挂载
    
    

    例子:

    pvcreate -y /dev/vdb
    lvcreate -n lv-data -L 20g centos mkfs.ext4 /dev/centos/lv-data mount /dev/centos/lv-data /data # 永久挂载 vi /etc/fstab /dev/centos/lv-data /data ext4 defaults 0 0
    
    

      3、逻辑卷删除:

     
     1.卸载:umount 
     2.删lv:lvremove lv完整路径 
     3.删vg:vgremove vg名                          #要想移除vg,需要先关闭vg才能移除,这里先关闭:vgchange -a n vg名;
     4.删PV:pvremove 设备完整路径 去硬盘

    例子

    lvremove  /dev/vgdata/lv-gitlab

      4、逻辑卷扩展:

      1.扩展pv:相当于创建pv 
      2.扩展vg: vgextend vg名 新增pv路径 
      3.扩展lv: lvextend -L +扩展量(+1G) lv完整名(/dev/vg01/lv01) 
      4.刷新文件系统:xfs_growfs  lv完整路径(/dev/vg01/lv01) 
      注意:灵活运用,看实际情况,注意顺序 (支持在线操作)
      
      例子:
        
    pvcreate -y /dev/sdb
    vgextend centos /dev/sdb # (centos 为vgs)
    # 查看 需要扩容的根目录
    df -h|grep root|awk '{print $1}' lvextend
    -L +14G /dev/mapper/centos-root # /dev/mapper/centos-root为lv
    xfs_growfs /dev/mapper/centos-root
    df -h
    lsblk
    fdisk  -l
    参考:https://www.cnblogs.com/herui1991/p/12052967.html

      注意:

    1.    ext系列可以使用resieze2fs去调整。其他的文件系统可以参考http://tldp.org/HOWTO/LVM-HOWTO/extendlv.html
    2.    lvextentd 有个-r选项,自动去调整大小,匹配lv和文件系统大小的。

      5、逻辑卷的缩小:

      1.首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
      2.减少文件系统:resize2fs lv完整路径 减少到的大小
      3.减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
      4.挂载使用
    例子
    umount /gitlab-data
    e2fsck -f /dev/vgdata/lv-gitlab
    resize2fs /dev/vgdata/lv-gitlab 1m
    lvreduce -L 1m /dev/vgdata/lv-gitlab
    mount /dev/vgdata/lv-gitlab /gitlab-data

     更多参考:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_042_lvm.html

  • 相关阅读:
    vim 查找选中文本_Chris!_百度空间
    export.py
    string.clear() liuyy的专栏 博客频道 CSDN.NET
    python判断有中文字符的方法
    vi技巧 ArduousBonze的专栏 博客频道 CSDN.NET
    cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)
    XML遍历(LINQ TO XML的魅力)
    当你使用LINQ做底层时,最好设计一个工厂,不要把LINQ的动作暴露给业务层
    EXCEL中如果输入一个数,然后自动让它乘以某个常数(第一列乘6,第二列乘4)
    面向对象~程序应该具有可维护性,代码可复用性,可扩展性和灵活性
  • 原文地址:https://www.cnblogs.com/kevincaptain/p/10266757.html
Copyright © 2020-2023  润新知