LVM逻辑卷使用手册

68 篇文章 53 订阅

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 没有足够的空闲空间;

https://mp.weixin.qq.com/s/Ir-_KqB4T6dUAR58sM-2Tw

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值