物理卷、卷组与逻辑卷的关系及相关操作详述

目录

关系概述

创建逻辑卷

对已有逻辑卷的修改与删除

E.G.1  从TEST卷组中删除test_lv的逻辑卷

E.G.2 重命名逻辑卷

E.G.3 修改test_lv逻辑卷的大小

E.G.4 扩展逻辑卷并修改系统文件的大小


关系概述

首先,物理卷(PV,Physical Volumes)对应的是硬件存储,是磁盘或者磁盘分区,是物理存在。而卷组(VG,Volume Group)和逻辑卷(LV,Logical Volumes)则是逻辑上的存在。

卷组是由一到多个物理卷组成的,他可以划分成一到多个逻辑卷。

LE,Logical Extent,字面上是逻辑区,是逻辑卷最小的存储单位,个人为了方便理解,常说做逻辑块,实际上是逻辑区域。

PE,Physical Extent,物理区,是物理卷区域,是物理卷最小的存储单位,可以在创建物理卷时,指定大小,但是指定之后,就不可以在更改,除非删除物理卷,重新创建,当然,内容也会被删除。

如下图:

上图中,关于物理卷的示意,只是大概示意,意为:磁盘和磁盘分区,均可以创建物理卷,无论是磁盘还是分区创建的物理卷,PE都是其最小存储单位。

高清无水印版可到以下链接下载资源,使用请说明出处,侵权必究。

物理卷、逻辑卷和卷组的关系图(高清版).pdf

创建逻辑卷

可以直接使用磁盘设备,也可以使用磁盘的分盘,但是,不论使用哪种方法,创建换组之前都需要先创建物理卷,可以对一个磁盘创建,也可以一次创建多个,以空格隔开:

# pvcreate /dev/ram0 /dev/ram1
  Physical volume "/dev/ram0" successfully created
  Physical volume "/dev/ram1" successfully created

接下来可以将已经创建好的物理卷,选用需要的物理卷来创建卷组:

# vgcreate TEST /dev/ram0 /dev/ram1
  Volume group "TEST" successfully created

创建成功后,可以使用vgdisplay命令来查看卷组的情况:(可以指定卷组名称,之查看卷组情况,也可以使用vgdisplay查看所有的卷组,卷组名有大小写之分)

# vgdisplay TEST
  --- Volume group ---
  VG Name               TEST
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               24.00 MiB
  PE Size               4.00 MiB
  Total PE              6
  Alloc PE / Size       0 / 0   
  Free  PE / Size       6 / 24.00 MiB
  VG UUID               zejODC-HyXC-iD5p-5bUI-cKx3-BX8j-SMz50P

最后创建逻辑卷,就是从卷组中划出一部分或者全部,来创建一个逻辑卷:

# lvcreate -l 6 -n test_lv TEST
  Logical volume "test_lv" created.

# lvcreate -L 24M -n test_lv TEST
  Logical volume "test_lv" created.

以上两条命令的效果一致,都是从TEST卷组中划分出一个大小为24M,名为test_lv的逻辑卷。

参数说明:
    -l 是按PE的数量计算大小,也就是物理块数量,一个卷组有多少个块可以划分,可以在vgdisplay的Free PE一项中查看;
    -L 是按照Size的大小划分,也就是K、M、G、T等,比如说200M,就是创建一个200M的逻辑卷,可以和-l替换;
    -n 是要创建的逻辑卷的名称;
    最后,要指定,从哪个卷组中划分

可以使用以下命令查看已经划分的逻辑卷的情况,如:只查看TEST卷组下创建的逻辑卷

# lvdisplay TEST
  --- Logical volume ---
  LV Path                /dev/TEST/test_lv
  LV Name                test_lv
  VG Name                TEST
  LV UUID                g5BnqX-Etn6-TTc7-Jnfk-Mtt3-VmqL-441LLJ
  LV Write Access        read/write
  LV Creation host, time o11204x1.ntos.com, 2019-09-05 14:18:31 +0800
  LV Status              available
  # open                 0
  LV Size                24.00 MiB
  Current LE             6
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           249:3

对已有逻辑卷的修改与删除

操作过程中,常会出现很多对已经存在的逻辑卷的扩充,删除,重指定大小等操作

E.G.1  从TEST卷组中删除test_lv的逻辑卷

# lvremove test_lv TEST
  Volume group "test_lv" not found
  Cannot process volume group test_lv
Do you really want to remove active logical volume test_lv? [y/n]: y
  Logical volume "test_lv" successfully removed

E.G.2 重命名逻辑卷

# lvrename TEST test_lv lv_test
  Renamed "test_lv" to "lv_test" in volume group "TEST"

# lvdisplay TEST
  --- Logical volume ---
  LV Path                /dev/TEST/lv_test
  LV Name                lv_test
  VG Name                TEST
  LV UUID                g5BnqX-Etn6-TTc7-Jnfk-Mtt3-VmqL-441LLJ
  LV Write Access        read/write
  LV Creation host, time o11204x1.ntos.com, 2019-09-05 14:18:31 +0800
  LV Status              available
  # open                 0
  LV Size                48.00 MiB
  Current LE             12
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           249:3

E.G.3 修改test_lv逻辑卷的大小

增加大小一定要确定,卷组中有足够的空间可以给逻辑卷扩展,否则扩展会失败

--减小大小
# lvresize -l -4 /dev/TEST/lv_test
  WARNING: Reducing active logical volume to 8.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce TEST/lv_test? [y/n]: y
  Size of logical volume TEST/lv_test changed from 24.00 MiB (6 extents) to 8.00 MiB (2 extents).
  Logical volume lv_test successfully resized.

--增加大小
# lvresize -L +16M /dev/TEST/lv_test
  Size of logical volume TEST/lv_test changed from 8.00 MiB (2 extents) to 24.00 MiB (6 extents).
  Logical volume lv_test successfully resized.

E.G.4 扩展逻辑卷并修改系统文件的大小

特别说明,扩展的时候,常使用lvextend命令,lvresize也可以实现:

--若当前卷组大小不足以扩展逻辑卷,步骤如下
--查看为划分卷组的物理卷
# pvdisplay   
  --- Physical volume ---
  PV Name               /dev/ram1
  VG Name               TEST
  PV Size               16.00 MiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3
  Free PE               0
  Allocated PE          3
  PV UUID               elLt5N-HXME-ZsAJ-uGCm-SjYo-VZ3D-Upl2X8
   
  "/dev/ram2" is a new physical volume of "16.00 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/ram2
  VG Name               
  PV Size               16.00 MiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               sP7aAI-e3iL-ys2l-lmEv-p2p3-mQzH-hNMQ33

--扩展卷组
# vgextend TEST /dev/ram2
  Volume group "TEST" successfully extended
# pvdisplay 
--- Physical volume ---
  PV Name               /dev/ram2
  VG Name               TEST
  PV Size               16.00 MiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              3
  Free PE               3
  Allocated PE          0
  PV UUID               sP7aAI-e3iL-ys2l-lmEv-p2p3-mQzH-hNMQ33

# vgdisplay TEST
  --- Volume group ---
  VG Name               TEST
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  9
  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               36.00 MiB
  PE Size               4.00 MiB
  Total PE              9
  Alloc PE / Size       6 / 24.00 MiB
  Free  PE / Size       3 / 12.00 MiB
  VG UUID               zejODC-HyXC-iD5p-5bUI-cKx3-BX8j-SMz50P

--卷组多出了12M 3个PE的大小,此时可以给逻辑卷扩展最多12M的空间
# lvextend -L +12M /dev/TEST/lv_test
  Size of logical volume TEST/lv_test changed from 24.00 MiB (6 extents) to 36.00 MiB (9 extents).
  Logical volume lv_test successfully resized.

# lvextend -L +12M /dev/TEST/lv_test -r --也只直接扩展并充值文件系统大小

当逻辑卷扩展完成后,若该逻辑卷已经挂载到文件系统上,那么,我们还需要修改文件系统的大小,扩展磁盘大小时,可以保留原磁盘中的内容,但是,如果要回收部分磁盘空间,那么,磁盘则需要格式化。

挂载文件系统并修改文件系统信息的步骤如下:

--现在逻辑卷大小为36M,挂载到文件系统
# lvdisplay TEST
  --- Logical volume ---
  LV Path                /dev/TEST/lv_test
  LV Name                lv_test
  VG Name                TEST
  LV UUID                g5BnqX-Etn6-TTc7-Jnfk-Mtt3-VmqL-441LLJ
  LV Write Access        read/write
  LV Creation host, time o11204x1.ntos.com, 2019-09-05 14:18:31 +0800
  LV Status              available
  # open                 1
  LV Size                36.00 MiB
  Current LE             9
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           249:3

# mkfs.ext3 /dev/TEST/lv_test
# mount /dev/TEST/lv_test /lvtest
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lvroot
                       14G  5.6G  7.4G  44% /
tmpfs                 767M   72K  767M   1% /dev/shm
/dev/sda1             976M   84M  825M  10% /boot
/dev/mapper/vg_data-lvdata
                       20G  9.0G  9.6G  49% /u01
/dev/mapper/TEST-lv_test
                       35M  443K   33M   2% /lvtest

--扩展逻辑卷大小到48M
# vgdisplay TEST
  --- Volume group ---
  VG Name               TEST
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  18
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               48.00 MiB
  PE Size               4.00 MiB
  Total PE              12
  Alloc PE / Size       9 / 36.00 MiB
  Free  PE / Size       3 / 12.00 MiB
  VG UUID               zejODC-HyXC-iD5p-5bUI-cKx3-BX8j-SMz50P

# lvextend -L 48M /dev/TEST/lv_test
  Size of logical volume TEST/lv_test changed from 36.00 MiB (9 extents) to 48.00 MiB (12 extents).
  Logical volume lv_test successfully resized.

# lvdisplay TEST
  --- Logical volume ---
  LV Path                /dev/TEST/lv_test
  LV Name                lv_test
  VG Name                TEST
  LV UUID                g5BnqX-Etn6-TTc7-Jnfk-Mtt3-VmqL-441LLJ
  LV Write Access        read/write
  LV Creation host, time o11204x1.ntos.com, 2019-09-05 14:18:31 +0800
  LV Status              available
  # open                 1
  LV Size                48.00 MiB
  Current LE             12
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           249:3

--此时文件系统的大小并没有增加
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lvroot
                       14G  5.6G  7.4G  44% /
tmpfs                 767M   72K  767M   1% /dev/shm
/dev/sda1             976M   84M  825M  10% /boot
/dev/mapper/vg_data-lvdata
                       20G  9.0G  9.6G  49% /u01
/dev/mapper/TEST-lv_test
                       35M  443K   33M   2% /lvtest

--更新文件系统的大小
--原磁盘上有一个1.log的文件
# ls
1.log

--推出磁盘的占用,解挂磁盘
# umount /lvtest

--更新文件系统磁盘大小
# resize2fs /dev/TEST/lv_test
resize2fs 1.43-WIP (20-Jun-2013)
Resizing the filesystem on /dev/TEST/lv_test to 49152 (1k) blocks.
The filesystem on /dev/TEST/lv_test is now 49152 blocks long.

--重新挂载
# mount /dev/TEST/lv_test /lvtest
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lvroot
                       14G  5.6G  7.4G  44% /
tmpfs                 767M   72K  767M   1% /dev/shm
/dev/sda1             976M   84M  825M  10% /boot
/dev/mapper/vg_data-lvdata
                       20G  9.0G  9.6G  49% /u01
/dev/mapper/TEST-lv_test
                       47M  586K   44M   2% /lvtest

--磁盘上的文件仍然存在
# ls
1.log

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hannah_JK

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

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

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

打赏作者

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

抵扣说明:

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

余额充值