1.PV、VG、LV 的概念及其关系
1.1 了解 LVM
LVM (Logical Volume Manager) 架构采用分层结构,可以让分区变得弹性,可以随时随地的扩大和缩小分区大小。
image.png说明:LVM 是将几个实体的磁盘 Disk 通过软件组合成为一块看起来是独立的大磁盘 VG ,然后将这块大磁盘 VG 再经过分区成为可使用分区 LV, 最终利用挂载把。
1.2 PV、VG、LV 的概念
image.png① 物理卷 PV (Physical Volume)
磁盘分区后使用 pvcreate
命令可以将分区创建为物理卷 PV。
# 格式:pvcreate 物理磁盘目录
$pvcreate /dev/vda
# 查看已创建的物理卷
$pvdisplay
--- Physical volume ---
PV Name /dev/vda # 物理卷名
VG Name datavg # 这个是之后创建的卷组名
PV Size 500.00 GiB / not usable 4.00 MiB # 物理卷大小
Allocatable yes
PE Size 4.00 MiB # 单个extend的大小,默认4M
Total PE 127999
Free PE 2559
Allocated PE 125440
PV UUID TAFUmM-bn0x-nMmu-WSYc-sRW2-gXFd-AdByK5
② 卷组 VG (Volume Group)
将多个 PV 组合起来,使用 vgcreate
命令创建成卷组 VG。
物理扩展 PE (Physical Extend):
PE 是 VG 中的存储单元,但实际还是存在了磁盘的 Block 中。
# 格式:vgcreate 卷组名 物理磁盘目录1 物理磁盘目录2
$vgcreate datavg /dev/vda
# 查看已经创建的卷组
$vgdisplay
--- Volume group ---
VG Name datavg # 卷组名
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 500.00 GiB # 卷组的总大小
PE Size 4.00 MiB
Total PE 127999
Alloc PE / Size 125440 / 490.00 GiB # 已分配的大小(已创建有LV)
Free PE / Size 2559 / 10.00 GiB # 未分配的大小
VG UUID twmovy-yiJ3-F6vq-SxCK-sIg9-oreK-psnpb9
③ 逻辑卷 LV (Logical Volume)
VG 相当于整合过的硬盘,LV 则相当于分区,使用 lvcreate
创建 lV。
逻辑扩展 LE (Logical Extent):
LE 是逻辑存储单元,即 LV 中的逻辑存储单元。
# 格式: lvcreate -n 逻辑卷名 -L 逻辑卷大小 卷组名
$lvcreate -n datalv -L 400G datavg
# 查看已经创建的逻辑卷
$lvdisplay
--- Logical volume ---
LV Path /dev/datavg/datalv
LV Name datalv
VG Name datavg
LV UUID x7xW4c-QahO-Mapv-hu5h-6hXw-c6K9-1zZrWA
LV Write Access read/write
LV Creation host, time sndsdevdb01, 2017-07-14 15:32:14 +0800
LV Status available
# open 1
LV Size 450.00 GiB
Current LE 115200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:7
...
2.PV、VG、LV 的使用
如何创建 PV、VG、LV 及挂载目录?
# 创建 PV
$pvcreate /dev/vdb
# 扩展 VG
$vgextend VolGroup /dev/vdb
# 创建 LV
$lvcreate -n lv_log -l 70G VolGroup
$mkfs.ext4 /dev/VolGroup/lv_log
# LV 挂载目录
$mount /dev/VolGroup/lv_log /opt/container
# 查看挂载详情
$lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
vda
├─vda1 ext4 1.0 8ca69e31-86f2-486b-8e51-3b2e22bec14f 795.4M 12% /boot
└─vda2 LVM2_member LVM2 001 ZLwUwI-VOTb-uLbA-4094-BUu4-CxM9-0xKxFM
├─VolGroup-lv_root ext4 1.0 fa4098b4-5435-4a3d-9cf3-7ea9fa5085d0 15.2G 75% /
├─VolGroup-lv_tmp ext4 1.0 ee727c4e-57e1-4525-bece-1dcdb62736be 1.8G 0% /tmp
└─VolGroup-lv_log ext4 1.0 8070608f-4e3c-4737-95de-780a66394668 4.4G 39% /var/log
vdb LVM2_member LVM2 001 f1rsn3-6IrC-GLFW-eoVk-vQ39-Lb94-WJavnp
├─VolGroup-lv_root ext4 1.0 fa4098b4-5435-4a3d-9cf3-7ea9fa5085d0 15.2G 75% /
├─VolGroup-lv_log ext4 1.0 066eb2c4-d82b-41fc-b88f-5460b0d4cf2b 70.1G 22% /opt/container
# 查看磁盘使用的容量
$df -Th |grep log
/dev/mapper/VolGroup-lv_log ext4 96G 2.0G 89G 3% /opt/container
网友评论