LVM管理:创建、容量调整

一、LVM简介

        LVM 是逻辑盘卷管理(Logical Volume Manager)的简称,最早是 IBM 为 AIX 研发的存储管理机制。LVM 通过在硬盘和分区之间建立一个逻辑层,可以让多个分区或者物理硬盘作为一个逻辑卷 ( 相当于一个逻辑硬盘 ),提高了磁盘分区管理的灵活性。1998 年,Heinz Mauelshagen 在 Linux 2.4 内核上提供了 Linux 的 LVM 实现。

        LVM 早期多用于服务器,配合存储硬件的 Raid 技术,提供高可靠性,可灵活配置的磁盘分区管理;普通 PC 由于存储容量有限,很少使用这种技术。随着单个磁盘容量的不断扩大和硬盘价格的下降,普通 PC 拥有 TB 级的大容量存储空间逐渐普及,也带来对 PC 上存储管理的需要,LVM 无疑是很好的解决方案。只是普通 PC 用户由于缺少硬件冗余保护,在发生灾难时,通常会发生比较严重的数据损失。好在 LVM 提供了一系列灾难恢复的功能,可以帮助普通 PC 用户尽可能减少损失。

LVM管理:创建、容量调整_第1张图片

二、创建LVM

一)磁盘分区

[root@ee-o ~]# gdisk /dev/sdb
[root@ee-o ~]# gdisk /dev/sdc

 

二)创建PV

[root@ee-o ~]# pvcreate /dev/{sdb1,sdc1}
[root@ee-o ~]# pvscan 
  PV /dev/sda3    VG centos_ee-o      lvm2 [19.50 GiB / 4.00 MiB free]
  PV /dev/sdb1    VG myvg             lvm2 [1022.00 MiB / 0    free]
  PV /dev/sdc1    VG myvg             lvm2 [1022.00 MiB / 1020.00 MiB free]
  PV /dev/loop0   VG cinder-volumes   lvm2 [20.60 GiB / 20.60 GiB free]
  Total: 4 [42.10 GiB] / in use: 4 [42.10 GiB] / in no VG: 0 [0   ]

 

三)创建VG

[root@ee-o ~]# vgcreate -s 2m myvg  /dev/{sdb1,sdc1}
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               1.99 GiB
  PE Size               2.00 MiB   
  Total PE              1533
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       1021 / 1.99 GiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD

 

四)创建LV

[root@ee-o ~]# lvcreate -L 10G -n mglv myvg
[root@ee-o ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4

 

五)创建文件系统

[root@ee-o ~]# mkfs.xfs /dev/myvg/mylvm
[root@ee-o ~]# mount /dev/myvg/mylv /mnt/

 

三、LVM容量调整

       LVM管理:创建、容量调整_第2张图片

     LVM是由下往上建立,即由实体磁盘到逻辑卷轴。因而在调整LVM时必须要根据上下层之间的关系调整。

一)PV调整

[root@ee-o ~]# fdisk /dev/sdb 
[root@ee-o ~]# pvcreate /dev/sdb1  ##增加PV
[root@ee-o ~]# pvremove /dev/sdb1  ##删除PV,前提是此PV没有被VG使用
  Labels on physical volume "/dev/sdb1" successfully wiped

 

二)VG调整

[root@ee-o ~]# vgextend myvg /dev/sdb1
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.99 GiB
  PE Size               2.00 MiB
  Total PE              1533
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       1021 / 1.99 GiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD
[root@ee-o ~]# vgreduce -a myvg  ##移除没有被占用的PV
  Physical volume "/dev/sdc1" still in use
  Physical volume "/dev/sdd1" still in use
  Removed "/dev/sdb1" from volume group "myvg"
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.00 GiB
  PE Size               2.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       510 / 1020.00 MiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD

 

三)LV调整

[root@ee-o ~]# lvresize -L +1G /dev/myvg/mylv  ##增加LV容量
[root@ee-o ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             1024
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4
[root@ee-o ~]# lvresize -L -1G /dev/myvg/mylv   ##减小LV容量
[root@ee-o ~]# lvdisplay /dev/myvg/mylv 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4

 

四、LVM管理常用命令总结

PV   VG   LV  
pvscan 扫描已创建的PV vgcreate 创建VG lvcreate  创建LV
pvcreate 创建PV vgscan  扫描VG lvscan  扫描LV
pvdisplay  显示PV详细信息 vgdisplay  显示VG详细信息 lvdisplay  显示LV详细信息
pvremove 移除PV vgextend  扩大VG lvextend  扩大LV
    vgreduce  减小VG lvreduce  减小LV
    vgremove  删除VG lvremove  删除LV
        lvresize  调整LV大小
更多管理命令输入前两个字母后tab查看。  

转载于:https://my.oschina.net/dingzang/blog/708044

你可能感兴趣的:(LVM管理:创建、容量调整)