目录
关系概述
首先,物理卷(PV,Physical Volumes)对应的是硬件存储,是磁盘或者磁盘分区,是物理存在。而卷组(VG,Volume Group)和逻辑卷(LV,Logical Volumes)则是逻辑上的存在。
卷组是由一到多个物理卷组成的,他可以划分成一到多个逻辑卷。
LE,Logical Extent,字面上是逻辑区,是逻辑卷最小的存储单位,个人为了方便理解,常说做逻辑块,实际上是逻辑区域。
PE,Physical Extent,物理区,是物理卷区域,是物理卷最小的存储单位,可以在创建物理卷时,指定大小,但是指定之后,就不可以在更改,除非删除物理卷,重新创建,当然,内容也会被删除。
如下图:
上图中,关于物理卷的示意,只是大概示意,意为:磁盘和磁盘分区,均可以创建物理卷,无论是磁盘还是分区创建的物理卷,PE都是其最小存储单位。
高清无水印版可到以下链接下载资源,使用请说明出处,侵权必究。
创建逻辑卷
可以直接使用磁盘设备,也可以使用磁盘的分盘,但是,不论使用哪种方法,创建换组之前都需要先创建物理卷,可以对一个磁盘创建,也可以一次创建多个,以空格隔开:
# 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