关于IT运维技术的
最佳实践博客网站

Linux下逻辑卷管理(LVM)详细实验笔记

LVM

一、简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。

VG(Volumne Group)- 卷组 卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷 逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

二、系统环境

实验环境:VMware Workstation 系统平台:CentOS release 6.5 (Final) mdadm 版本:mdadm – v3.2.6 – 25th October 2012 LVM 版本:lvm2-2.02.100-8.el6.i686 设备类型:分区、物理硬盘、raid 设备

三、磁盘准备

在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块1GB.

1

2

3

4

5

6

7

四、安装LVM管理工具

检查系统中是否安装了LVM管理工具

[root@C65mini ~]# rpm -qa|grep lvm
lvm2-cluster-2.02.100-8.el6.x86_64
lvm2-devel-2.02.100-8.el6.x86_64
lvm2-libs-2.02.100-8.el6.x86_64
lvm2-2.02.100-8.el6.x86_64

如果未安装,则使用yum 方式安装

yum install lvm*

五、新建一个 raid5 设备

使用/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四块物理硬盘做软raid模拟。 新建分区并修改分区类型fd

[root@C65mini ~]# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

写入RAID配置文件/etc/mdadm.conf 并做适当修改。

echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf

六、新建一个分区 使用/dev/sdf1 模拟分区。

[root@C65mini ~]# fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x62011f3e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): 
Using default value 130
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83
Command (m for help): p
Disk /dev/sdf: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x62011f3e
   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1               1         130     1044193+  83  LinuxCommand (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@C65mini ~]# 

准备工作就绪,下面我们使用三种设备/dev/md5、/dev/sdf1、/dev/sdg 来完成LVM实验。

七、创建物理卷(PV)

使用 pvcreate命令 创建物理卷 pvcreate VolumeGroupName PhysicalVolumePath

[root@C65mini ~]# pvcreate /dev/md5 /dev/sdf1 /dev/sdg
  Physical volume "/dev/md5" successfully created
  Physical volume "/dev/sdf1" successfully created
  Physical volume "/dev/sdg" successfully created

使用 pvdisplay 命令查看物理卷

[root@C65mini ~]# pvdisplay 
  "/dev/md5" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md5
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               LgZSno-wZNk-ZFUr-Fvs3-UNr8-toAs-4QKdA1

  "/dev/sdf1" is a new physical volume of "1019.72 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdf1
  VG Name               
  PV Size               1019.72 MiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               wqzZ7M-Rfdo-1muQ-02YY-RRSd-dWBu-BouMVU

  "/dev/sdg" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdg
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               pUG2dB-6kBk-Tfpp-tBt1-kj2e-mH0J-RKXzpu

当然了还可以使用命令pvs 和pvscan 查看简略信息。

pvs命令

[root@C65mini ~]# pvs
  PV         VG   Fmt  Attr PSize    PFree   
  /dev/md5        lvm2 a--     2.00g    2.00g
  /dev/sdf1       lvm2 a--  1019.72m 1019.72m
  /dev/sdg        lvm2 a--     1.00g    1.00g

pvscan命令

[root@C65mini ~]# pvscan 
  PV /dev/md5                       lvm2 [2.00 GiB]
  PV /dev/sdf1                      lvm2 [1019.72 MiB]
  PV /dev/sdg                       lvm2 [1.00 GiB]
  Total: 3 [3.99 GiB] / in use: 0 [0   ] / in no VG: 3 [3.99 GiB]

八、创建逻辑卷组VG

[root@C65mini ~]# vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg
  Volume group "vg0" successfully created

说明:vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0

使用 vgdisplay命令 查看逻辑卷组

    [root@C65mini ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.98 GiB
  PE Size               4.00 MiB
  Total PE              1020
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1020 / 3.98 GiB
  VG UUID               0GLR1l-g23q-mu4q-sojy-mto6-WlDO-6bLdlE

说明: VG Name   VG的名称

VG Size   VG的总大小

PE Size   PE的大小,默认为4MB

Total PE PE的总数量,5114 x 4MB = 19.98GB

Free PE / Size  剩余空间大小

同样可以使用命令vgs 和vgscan 查看,简单的vg信息。

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   0   0 wz--n- 3.98g 3.98g
[root@C65mini ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "vg0" using metadata type lvm2

九、创建逻辑卷LV

[root@C65mini ~]# lvcreate -L 1G -n lv1 vg0
  Logical volume "lv1" created

说明:

-L 指定创建的LV 的大小

-l 指定创建的LV 的PE 数量

-n lv1是LV的名字

上面命令的意思是:从 逻辑卷组 vg0 中分出1G的空间给逻辑卷lv1 使用

使用 lvdisplay 查看lv信息

[root@C65mini ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lv1
  LV Name                lv1
  VG Name                vg0
  LV UUID                ZTwjJx-3La1-5u0s-Rlw2-dKnb-uIlV-oOsvWc
  LV Write Access        read/write
  LV Creation host, time C65mini.localdomain, 2014-07-18 18:04:18 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     4096
  Block device           253:0

说明:

LV Path  LV的路径,全名

LV Name  LV的名字

VG Name  所属的VG

LV Size  LV的大小

因为从逻辑组中分出了一部分空间给逻辑卷,因此现在查看下 逻辑组vg 的容量变化。

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   1   0 wz--n- 3.98g 2.98g

说明:VSize 从3.98g 减少到了 2.98g ,另外的1g分配给了 逻辑卷lv1

[root@C65mini ~]# mkfs.ext4 /dev/vg0/lv1 
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

十一、挂载使用

[root@C65mini /]# mkdir lvhome 
[root@C65mini /]# mount /dev/vg0/lv1 /lvhome/
[root@C65mini /]# df -TH
Filesystem          Type   Size  Used Avail Use% Mounted on
/dev/sda3           ext4    20G  1.4G   18G   8% /
tmpfs               tmpfs  519M     0  519M   0% /dev/shm
/dev/sda1           ext4   204M   73M  120M  38% /boot
/dev/mapper/vg0-lv1 ext4   1.1G   35M  969M   4% /lvhome

说明:新建一个目录lvhome,把刚才创建的逻辑卷lv1挂载到这个目录lvhome来使用。

将挂载信息写入/etc/fstab

[root@C65mini /]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat May 10 00:13:03 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ba01d8c6-71ba-4253-b840-5d71e66ddb89 /                       ext4    defaults        1 1
UUID=ed7f222a-86e3-4840-8a6e-c10847fa62c5 /boot                   ext4    defaults        1 2
UUID=f7de5a10-70c4-4c58-a3ac-ead3c8986f61 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/mapper/vg0-lv1     /lvhome         ext4    defaults        0 0

十二、添加测试数据

下面我们将对LVM进行扩容和缩减操作,所以向/lvhome 中写入测试数据以验证LVM 的磁盘动态管理。

[root@C65mini lvhome]# ll
总用量 16
drwx------ 2 root root 16384 7月  18 18:12 lost+found
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk2
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk3
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk4

十三、LVM的扩容操作

LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。 假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢? 因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。

给逻辑卷扩容(lv)扩容

查看逻辑组的大小可知道:还有2.98G可用

[root@C65mini lvhome]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   1   0 wz--n- 3.98g 2.98g

对lv1进行扩容操作(增加1G)

[root@C65mini lvhome]# lvextend -L +1G /dev/vg0/lv1 
  Extending logical volume lv1 to 2.00 GiB
  Logical volume lv1 successfully resized

说明:在lv1原有的基础上增加了1G.

对lv1进行扩展操作(把所有逻辑组的vg0的容量都分给lv1)

[root@C65mini ~]# lvextend -l +100%FREE /dev/vg0/lv1 
  Extending logical volume lv1 to 3.98 GiB
  Logical volume lv1 successfully resized

现在查看下逻辑组的大小,减少了1G

[root@C65mini lvhome]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   1   0 wz--n- 3.98g 1.98g

如果是全部分配逻辑卷就没有容量了

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    4   1   0 wz--n- 6.98g    0

在查看lv1的容量。从原来1G增加到2G(如果是全额分配的话3.98g)

[root@C65mini lvhome]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  lv1  vg0  -wi-ao---- 2.00g 

使用df –TH 命令查看实际的磁盘容量。

[root@C65mini lvhome]# df -TH
Filesystem          Type   Size  Used Avail Use% Mounted on
/dev/sda3           ext4    20G  1.4G   18G   8% /
tmpfs               tmpfs  519M     0  519M   0% /dev/shm
/dev/sda1           ext4   204M   73M  120M  38% /boot
/dev/mapper/vg0-lv1 ext4   1.1G   35M  969M   4% /lvhome

发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,

所以还需要对文件系统进行扩容。

[root@C65mini lvhome]# resize2fs /dev/vg0/lv1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg0/lv1 is mounted on /lvhome; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg0/lv1 to 524288 (4k) blocks.
The filesystem on /dev/vg0/lv1 is now 524288 blocks long.

现在在查看挂载分区容量就得到了相应的增加了。

[root@C65mini lvhome]# df -TH
Filesystem          Type   Size  Used Avail Use% Mounted on
/dev/sda3           ext4    20G  1.4G   18G   8% /
tmpfs               tmpfs  519M     0  519M   0% /dev/shm
/dev/sda1           ext4   204M   73M  120M  38% /boot
/dev/mapper/vg0-lv1 ext4   2.2G   36M  2.0G   2% /lvhome

实际容量已经增加到了2G

查看挂载的目录里面文件,发现没有变化,正常!

[root@C65mini lvhome]# ll
总用量 16
drwx------ 2 root root 16384 7月  18 18:12 lost+found
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk2
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk3
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk

数据正常,对lv1的在线动态扩容完成

还有一种情况:我们的逻辑卷组不够用了怎么办?也就是我们前面创建的vg0的容量不够用了怎么办? 我们需要对VG进行扩容

给逻辑卷组(VG)扩容

给逻辑卷组扩容有两种方法 第一种:通过增加物理卷(PV)来实现。

一样的,在使用之前肯定是要先把硬盘或者硬盘中的某分区创建为物理卷

[root@C65mini ~]# pvcreate /dev/sdh
Physical volume "/dev/sdh" successfully created

查看逻辑卷组大小(现在的vg0大小是3.98。)

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   1   0 wz--n- 3.98g 1.98g

查看物理卷PV

[root@C65mini ~]# pvs
  PV         VG   Fmt  Attr PSize    PFree   
  /dev/md5   vg0  lvm2 a--     2.00g       0 
  /dev/sdf1  vg0  lvm2 a--  1016.00m 1012.00m
  /dev/sdg   vg0  lvm2 a--  1020.00m 1020.00m
  /dev/sdh        lvm2 a--     1.00g    1.00g

可以知道,/devsdh 硬盘没有所属 逻辑卷组。因此可以扩展到vg0中去。

[root@C65mini ~]# vgextend vg0 /dev/sdh 
  Volume group "vg0" successfully extended

现在查看逻辑卷组(vg0)的大小

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    4   1   0 wz--n- 4.98g 2.98g

现在的vg0容量为4.98G,较之前增加了1G,即增加了一块屋里硬盘的容量。VG扩容成功!

第二种:通过扩展RAID设备的容量来间接对VG进行扩容

向RAID 中新加一块硬盘

[root@C65mini ~]# mdadm /dev/md5 -a /dev/sdi
mdadm: added /dev/sdi

[root@C65mini ~]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Fri Jul 18 17:13:36 2014
     Raid Level : raid5
     Array Size : 2095104 (2046.34 MiB 2145.39 MB)
  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
   Raid Devices : 3
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Mon Jul 21 16:02:28 2014
          State : clean 
 Active Devices : 3
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 2

         Layout : left-symmetric
     Chunk Size : 512K

           Name : C65mini.localdomain:5  (local to host C65mini.localdomain)
           UUID : 7a2797d8:3825ba64:108188d4:ed9f8629
         Events : 20

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde
       5       8      128        -      spare   /dev/sdi

默认情况下,我们向RAID 中增加的磁盘,会被默认当作热备盘,我们需要把热备盘加入到RAID的活动盘中。 注意:编号刚才添加的到MD5中的硬盘是sdi 编号是5。

[root@C65mini ~]# mdadm -G /dev/md5 -n5
mdadm: Need to backup 2048K of critical section..

需要注意的地方是,/dev/md5 的大小变化后,需要调整PV的大小,操作如下

[root@C65mini ~]# pvresize /dev/md5
  Physical volume "/dev/md5" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

查看逻辑卷组大小vgs,已经扩容到了6.98G

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    4   1   0 wz--n- 6.98g 4.98g

十四:对LVM的缩减操作(缩减操作需要做离线处理)

缩减逻辑卷需要先缩减文件系统,在对逻辑卷进行缩减。

逻辑卷LV的缩减操作

第一步:取消挂载好的LVM文件系统

umount /dev/vg0/lv1

第二步:缩减文件系统

[root@C65mini ~]# resize2fs /dev/vg0/lv1 4G
resize2fs 1.41.12 (17-May-2010)
请先运行 'e2fsck -f /dev/vg0/lv1'.

第三步:提示需要先运行磁盘检查。

[root@C65mini ~]# e2fsck -f /dev/vg0/lv1
e2fsck 1.41.12 (17-May-2010)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg0/lv1: 15/458752 files (0.0% non-contiguous), 37567/1828864 blocks

第四步:再次执行缩减操作(缩减文件系统成功)

[root@C65mini ~]# resize2fs /dev/vg0/lv1 4G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg0/lv1 to 1048576 (4k) blocks.
The filesystem on /dev/vg0/lv1 is now 1048576 blocks long.

第五步:缩减逻辑卷(LV)(有提示确认,请输入y)

[root@C65mini ~]# lvreduce /dev/vg0/lv1 -L 4G
  WARNING: Reducing active logical volume to 4.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
  Reducing logical volume lv1 to 4.00 GiB
  Logical volume lv1 successfully resized
[root@C65mini ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  lv1  vg0  -wi-a----- 4.00g  

注意:第二步的文件系统缩减 和 第五步的缩减大小必须保持一致。 这里的4G是缩减到的大小;如果使用的是”-4G”,则表示容量减少多少的意思。

第六步:挂载查看大小信息

[root@C65mini ~]# mount /dev/vg0/lv1 /lvhome/
[root@C65mini ~]# df -TH
Filesystem          Type   Size  Used Avail Use% Mounted on
/dev/sda3           ext4    20G  1.4G   18G   8% /
tmpfs               tmpfs  519M     0  519M   0% /dev/shm
/dev/sda1           ext4   204M   73M  120M  38% /boot
/dev/mapper/vg0-lv1 ext4   4.3G   36M  4.0G   1% /lvhome

lv缩减成功

第七步:验证测试数据是否还在

[root@C65mini ~]# ll /lvhome/
总用量 16
drwx------ 2 root root 16384 7月  18 18:12 lost+found
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk2
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk3
-rw-r--r-- 1 root root     0 7月  18 18:26 test_lvm_dynamic.disk4

对逻辑卷组(VG)的缩减操作

第一步:同样也需要离线操作因此需要卸载文件系统

umount /dev/vg0/lv1

第二步:查看物理卷PV的详情

[root@C65mini ~]# pvs
  PV         VG   Fmt  Attr PSize    PFree   
  /dev/md5   vg0  lvm2 a--     3.99g 1008.00m
  /dev/sdf1  vg0  lvm2 a--  1016.00m       0 
  /dev/sdg   vg0  lvm2 a--  1020.00m 1020.00m
  /dev/sdh   vg0  lvm2 a--  1020.00m 1020.00m

第三步:欲将 /dev/sdg 从逻辑卷组(vg0)中移除

[root@C65mini ~]# vgreduce vg0 /dev/sdg
  Removed "/dev/sdg" from volume group "vg0"

第四步:再次查看物理卷PV的详情

[root@C65mini ~]# pvs
  PV         VG   Fmt  Attr PSize    PFree   
  /dev/md5   vg0  lvm2 a--     3.99g 1008.00m
  /dev/sdf1  vg0  lvm2 a--  1016.00m       0 
  /dev/sdg        lvm2 a--     1.00g    1.00g
  /dev/sdh   vg0  lvm2 a--  1020.00m 1020.00m

说明:/dev/sdg 已经不属于vg0了

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   1   0 wz--n- 5.98g 1.98g

没错,vg0 的大小已经减少了2G。逻辑卷组VG 已经缩减成功。

第十五:彻底删除LVM

要彻底的来移除LVM的话,需要把创建的步骤反过来操作。(也需要离线操作)

第一步:先卸载文件系统

umount /dev/vg0/lv1

第二步:查看逻辑卷名称并移除

[root@C65mini ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  lv1  vg0  -wi-a----- 4.00g 
[root@C65mini ~]# lvremove /dev/vg0/lv1 
Do you really want to remove active logical volume lv1? [y/n]: y
Logical volume "lv1" successfully removed
[root@C65mini ~]# lvs

第三步:查看逻辑卷组名称并移除逻辑卷组(VG)

[root@C65mini ~]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    3   0   0 wz--n- 5.98g 5.98g
[root@C65mini ~]# vgremove vg0
  Volume group "vg0" successfully removed
[root@C65mini ~]# vgs
  No volume groups found

第四步:查看物理卷(PV)并移除

[root@C65mini ~]# pvs
  PV         VG   Fmt  Attr PSize    PFree   
  /dev/md5        lvm2 a--     4.00g    4.00g
  /dev/sdf1       lvm2 a--  1019.72m 1019.72m
  /dev/sdg        lvm2 a--     1.00g    1.00g
  /dev/sdh        lvm2 a--     1.00g    1.00g
[root@C65mini ~]# pvremove /dev/md5 /dev/sdf1 /dev/sdg /dev/sdh
  Labels on physical volume "/dev/md5" successfully wiped
  Labels on physical volume "/dev/sdf1" successfully wiped
  Labels on physical volume "/dev/sdg" successfully wiped
  Labels on physical volume "/dev/sdh" successfully wiped
[root@C65mini ~]# pvs
[root@C65mini ~]# 

逻辑卷管理(LVM)移除成功!

赞(0)
未经允许不得转载:菜鸟HOW站长 » Linux下逻辑卷管理(LVM)详细实验笔记

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址