zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    UOJ #455 [UER #8]雪灾与外卖 (贪心、模拟费用流)
    Codeforces 482E ELCA (LCT)
    Codeforces 798D Mike and distribution (构造)
    AtCoder AGC017C Snuke and Spells
    HDU 6089 Rikka with Terrorist (线段树)
    HDU 6136 Death Podracing (堆)
    AtCoder AGC032D Rotation Sort (DP)
    jenkins+python+kubectl实现批量更新k8s镜像
    Linux 下载最新kubectl版本的命令:
    jenkins X 和k8s CI/CD
  • 原文地址:https://www.cnblogs.com/kevincaptain/p/10266757.html
Copyright © 2011-2022 走看看