查看原文
其他

Linux磁盘扩容 | LVM逻辑卷使用手册

刘宝龙 IT兴趣社 2019-05-08

参考资料:https://www.cnblogs.com/hellojesson/p/4582908.html 参考资料:https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html 【使fdisk结合partprobe命令不重启系统添加新磁盘分区】 参考资料:http://blog.csdn.net/wonderful19891024/article/details/6166264


LVM逻辑卷基础知识

PV (physical volume)物理卷 VG (Volume Group)卷组 LV ( Logical Volume)逻辑卷

它们之间的关系

1. 先创建PV(物理卷) 2. 给PV(物理卷)中创建一个或多个VG(卷组) 3. 在VG(卷组里)创建LV(逻辑卷)

物理卷命令说明

命令说明
pvcreate创建物理卷
pvs查看当前物理卷基本信息
pvdisplay显示物理卷属性


示例
说明:    1. 当前有一块磁盘为 /dev/sdb    2. 使用fdisk命令将它进行分区 fdisk /dev/sdb    3. 将分区后的磁盘改为 8e 【也就是LVM系统】    4. 使用 pvcreate 命令将它进行初始化物理卷,比如: pvcreate /dev/sdb1 操作:    1. fdisk /dev/sdb命令进行创建物理卷    2. pvcreate /dev/sdb1 创建物理卷    3. pvs 查看当前物理卷信息
相关命令说明
[root@LVM ~]# pvdisplay ## 显示当前物理卷的属性信息;查看某个物理卷信息用 pvdisplay /dev/sdb1  "/dev/xdb1" is a new physical volume of "83.98 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdb1   ## 物理卷名称  VG Name                           ## 所属的卷组  PV Size               83.98 GiB   ## 物理卷大小  Allocatable           NO          ## 是否可分配  PE Size               0           ## PE大小  Total PE              0           ## 总PE数  Free PE               0           ## 可用PE数  Allocated PE          0           ## 已分配的PE数  PV UUID               gZUQzZ-cz2E-L1mP-vu3W-gQ0w-HSFw-inELyk // 查看物理卷 [root@LVM ~]# pvs  PV         VG   Fmt  Attr PSize  PFree  /dev/s db1      lvm2 ---  83.98g 83.98g

卷组命令说明

命令说明
vgcreate创建卷组
vgs查看当前卷组基本信息
vgdisplay显示卷组属性
示例
说明:    1. 根据上面物理卷信息,进行创建卷组;    2. 创建卷组时,必须给卷组起个名字【任何名称都可以】;    3. 查看卷组信息,并进行转交给 LV(逻辑卷)进行操作; 操作:    1. vgcreate vgdata /dev/sdb1 ## vgdata是卷组名称    2. vgs  ## 查看当前所有卷组基本信息    3. vgdisplay ## 查看当前所有卷组属性【也可以指定查看某一个卷组信息,如 vgdisplay vgdata】
示例说明
[root@LVM ~]# vgcreate vgdata /dev/sdb1  Volume group "vgdata" successfully created [root@LVM ~]# vgs ## 查看当前所有卷组基本信息  VG     #PV #LV #SN Attr   VSize  VFree  vgdata   1   0   0 wz--n- 83.98g 83.98g [root@LVM ~]# vgdisplay  ## 查看当前所有卷组属性  --- Volume group ---  VG Name               vgdata  ## 卷组名称  System ID                     ## 卷组ID  Format                lvm2    ## 格式  Metadata Areas        1       ## 元数据区域  Metadata Sequence No  1       ## 元数据序列  VG Access             read/write  ## 可读写权限  VG Status             resizable   ## VG状态, resizable表示可调整大小  MAX LV                0       ## 最大LV  Cur LV                0  Open LV               0  Max PV                0  Cur PV                1  Act PV                1  VG Size               83.98 GiB   ## 卷组大小  PE Size               4.00 MiB    ## PE大小  Total PE              21498       ## 总PE大小  Alloc PE / Size       0 / 0    Free  PE / Size       21498 / 83.98 GiB  ## 剩余PE大小  VG UUID               fJdTeF-qPk1-Rbs1-3rjh-Ccek-4b5R-nQAVDQ

逻辑卷命令说明

常用命令说明
lvcreate创建逻辑卷
lvs查看当前所有逻辑卷基本信息
lvdisplay查看当前所有逻辑卷属性
示例
说明:    1. 根据上面的PV(物理卷) 和  VG(卷组)信息进行创建 LV (逻辑卷)    2. 创建命令 lvcreate -L 分配大小 -n 逻辑卷名称 卷组名称    3. 使用 lvs 或 lvdisplay命令进行查看 LV(逻辑卷)属性信息
示例说明
[root@LVM ~]# lvcreate -L 50G -n lvdata vgdata Logical volume "lvdata1" created [root@LVM ~]# lvs  LV      VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  lvdata  vgdata -wi-a----- 50.00g                                                     [root@LVM ~]# lvdisplay /dev/vgdata/lvdata1 ### 查看当前逻辑卷属性  --- Logical volume ---  LV Path                /dev/vgdata/lvdata1  LV Name                lvdata      ### 逻辑卷名称  VG Name                vgdata ### 卷组名  LV UUID                xLWslA-a9WU-4EZL-9aCg-qDNc-4v0C-jMFitZ  LV Write Access        read/write  LV Creation host, time LVM, 2015-11-26 19:10:38 +0800  LV Status              available  # open                 0  LV Size                50.00 GiB ### 逻辑卷大小;通过卷组 vgdata里创建分配的  Current LE             12800 ###  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:0

格式化分区

说明:    1. 格式化分区的命令时 mkfs.[system.tpye]    2. 格式化完成后,就可以进行挂载使用了    3. 执行partprobe ,不用重启机器,使分区表生效【让kernel重新读取分区,从而避免重启系统】 操作:    1. 这里格式化为ext4类型,mkfs.ext4 /dev/vgdata/lvdata    2. 上述表述为将 /dev/vgdata/lvdata 分区格式化为ext4格式    3. mount /dev/vgdata/lvdata /data_lvm    4. 挂载,将/dev/vgdata/lvdata分区 挂载到/data_lvm目录下
示例
[root@LVM /]# mkdir data_lvm [root@LVM /]# lvdisplay ## 查看逻辑卷属性  --- Logical volume ---  LV Path                /dev/vgdata/lvdata  ## LV逻辑卷所在位置  LV Name                lvdata  VG Name                vgdata  LV UUID                xLWslA-a9WU-4EZL-9aCg-qDNc-4v0C-jMFitZ  LV Write Access        read/write  LV Creation host, time LVM, 2015-11-26 19:10:38 +0800  LV Status              available  # open                 0  LV Size                50.00 GiB  Current LE             12800  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:0   [root@LVM /]# mount /dev/vgdata/lvdata1 /data_lvm [root@LVM /]# df -TH Filesystem    Type     Size   Used  Avail Use% Mounted on /dev/xvda1    ext4      22G   5.6G    15G  28% / tmpfs        tmpfs     4.2G      0   4.2G   0% /dev/shm /dev/mapper/vgdata-lvdata              ext4      53G   189M    50G   1% /data_lvm  ## 表示挂载成功

扩容LVM

描述:    1. 上面讲到了如何创建一个LVM【非安装系统时的创建】    2. 下面说一下如果把第二块硬盘扩容到LVM中,且不改变已有LVM中的内容 说明:    1. 添加第二块硬盘,大小为500GB    2. 将这500GB扩容到当前LVM中,最终大小为 500GB + 84GB == 584GB 操作:    1. 将新硬盘进行分区并格式化为LVM分区    2. 将新的LVM分区磁盘(500GB) 转换为 PV(物理卷)    3. 将 PV(物理卷) 加入到已有的 VG(卷组)中;卷组名为(vgdata)【扩容VG】    4. 将 VG(卷组) 加入到已有的 LV(逻辑卷中;【扩容LV】
示例
步骤一: 将新磁盘(500GB)为LVM分区 步骤二: 将新磁盘(500GB)创建为 PV(物理卷) [root@LVM ~]# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created [root@lbl ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sdb1    VG Name               vgdata  PV Size               8.00 GiB / not usable 1.35 MiB  Allocatable           yes  PE Size               4.00 MiB  Total PE              2047  Free PE               255  Allocated PE          1792  PV UUID               2t7wcJ-fmS7-u3bP-uMI6-2dpn-fi64-pEeder    "/dev/sdc1" is a new physical volume of "500.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdc1   ## 新添加的PV(物理卷)  VG Name                PV Size               499.99 GiB  Allocatable           NO  PE Size               0    Total PE              0  Free PE               0  Allocated PE          0  PV UUID               1CUdZR-p090-0quS-HmeQ-nd4k-rSkk-FYSHlA [root@LVM /]# pvs  PV         VG     Fmt  Attr PSize   PFree    /dev/sdb1  vgdata lvm2 a--   83.98g  33.98g  /dev/sdc1  vgdata lvm2 a--  499.99g 499.99g 步骤三: 查看 将新磁盘(500GB)的物理卷 扩展到对应的LV(逻辑卷) [root@LVM ~]# lvdisplay  --- Logical volume ---  LV Path                /dev/vgdata/lvmdata  LV Name                lvmdata  VG Name                vgdata  LV UUID                7LxbTf-tUml-qsdi-COvq-JueV-zz8S-obzN8a  LV Write Access        read/write  LV Creation host, time lbl, 2017-08-09 20:27:52 +0800  LV Status              available  # open                 1  LV Size                7.00 GiB  Current LE             1792  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:0 步骤四: 扩容VG(卷组) [root@LVM ~]# vgextend vgdata /dev/sdc1  ## 将新磁盘(500GB)扩容到 vgdata 卷组中 Volume group "vgdata" successfully extended [root@LVM ~]# vgdisplay  --- Volume group ---  VG Name               vgdata  System ID              Format                lvm2  Metadata Areas        2  Metadata Sequence No  3  VG Access             read/write  VG Status             resizable  MAX LV                0  Cur LV                1  Open LV               1  Max PV                0  Cur PV                2  Act PV                2  VG Size               507.99 GiB   ## 查看扩容后的 VG(卷组),增加了 500GB  PE Size               4.00 MiB  Total PE              4094  Alloc PE / Size       1792 / 7.00 GiB  Free  PE / Size       2302 / 500.99 GiB  VG UUID               i0B2WL-NWZP-sLOU-qaEi-Uv90-cWwk-jtFNG4 步骤五: 扩容LV(逻辑卷) [root@LVM /]# lvextend -L 507.99G /dev/vgdata/lvmdata    Rounding size to boundary between physical extents: 507.99 GiB.  Size of logical volume vgdata/lvmdata changed from 499.99 GiB (2302 extents) to 507.99 GiB (4094 extents). ## 因为这里无法模拟500GB 所以只能以增加8GB为演示  Logical volume lvmdata successfully resized. 步骤六:扩容后,查看当前 LV(逻辑卷信息) [root@LVM /]# lvdisplay  --- Logical volume ---  LV Path                /dev/vgdata/lvmdata  LV Name                lvmdata  VG Name                vgdata  LV UUID                7LxbTf-tUml-qsdi-COvq-JueV-zz8S-obzN8a  LV Write Access        read/write  LV Creation host, time lbl, 2017-08-09 20:27:52 +0800  LV Status              available  # open                 1  LV Size                507.99  GiB  Current LE             4094  Segments               2  Allocation             inherit  Read ahead sectors     auto  - currently set to     256  Block device           253:0 步骤七: 扩展LV(逻辑卷)后,当前磁盘使用情况并没有发生变化;所以需要重设大小 [root@LVM /]# df -h     Filesystem            Size  Used Avail Use% Mounted on /dev/sda2              39G  6.8G   30G  19% / tmpfs                 491M     0  491M   0% /dev/shm /dev/sda1             190M   33M  147M  19% /boot /dev/mapper/vgdata-lvmdata                      6.8G   16M  6.4G   1% /LVMdata [root@lbl /]# resize2fs /dev/vgdata/lvmdata resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vgdata/lvmdata is mounted on /LVMdata; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/vgdata/lvmdata to 4192256 (4k) blocks. The filesystem on /dev/vgdata/lvmdata is now 4192256 blocks long. [root@lbl /]# df -h Filesystem            Size  Used Avail Use% Mounted on /dev/sda2              39G  6.8G   30G  19% / tmpfs                 491M     0  491M   0% /dev/shm /dev/sda1             190M   33M  147M  19% /boot /dev/mapper/vgdata-lvmdata                       16G   20M   15G   1% /LVMdata  ### 扩展成功 [root@lbl /]# cat LVMdata/ccc.log  查看扩展容量后,当前磁盘内容没有影响; aaa

删除LV(逻辑卷)VG(卷组)操作方法

说明:    1. 这里分别介绍如何进行删除 LV(逻辑卷) 和 VG(卷组)    2. 根据实际情况进行删除操作;    3. 删除操作的命令分别是: lvremove 和 vgremove

删除 VG(卷组)

说明:    1. 先查看要删除的卷组名称;    2. 根据卷组名称,进行 vgremove 命令操作;
示例
[root@LVM ~]# vgdisplay vgdata1  --- Volume group ---  VG Name               vgdata1  System ID              Format                lvm2  Metadata Areas        1  Metadata Sequence No  3  VG Access             read/write  VG Status             resizable  MAX LV                0  Cur LV                0  Open LV               0  Max PV                0  Cur PV                1  Act PV                1  VG Size               8.00 GiB  PE Size               4.00 MiB  Total PE              2047  Alloc PE / Size       0 / 0    Free  PE / Size       2047 / 8.00 GiB  VG UUID               Ijeep9-Vybo-CN8c-1cAx-s4Qz-8Xn2-Ksoces ## 开始删除操作 [root@LVM ~]# vgremove vgdata1  ## 删除  Volume group "vgdata1" successfully removed  ## 卷组vgdata1成功删除 [root@LVM ~]# vgdisplay vgdata1 ## 再次查看是否删除成功  Volume group "vgdata1" not found  Cannot process volume group vgdata1

错误总结

Volume group "vgdata" has insufficient free space (2047 extents): 2048 required 卷组“vgdata”没有足够的自由空间(2047区段):2048需要 Logical volume "lvmdata" already exists in volume group "vgdata" 逻辑卷“lvmdata”已经存在于卷组“vgdata”中 Extending logical volume vgdata to 26.00 GB Insufficient free space: 321 extents needed, but only 320 available 扩展逻辑卷vgdata 没有足够的空闲空间;


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存