架构图
PV
- 创建
# 创建
pvcreate /dev/sda1
- 查看信息
# 扫描具有 pv 属性的磁盘和分区
pvscan
# 查看 pv 状态
pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_test
PV Size 869.12 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 222494
Free PE 0
Allocated PE 222494
PV UUID 94j7Kw-ZrlF-SuOd-6DEd-bmiP-jeSZ-j1OQSd
- 删除
# 移除 pv 属性
pvremove /dev/sda2
- 修改(未测试)
# 移动数据
pvmove
VG
- 创建
# 创建 vgcreate VGNAME PVNAME1 PVNAME2 PVNAME3...
vgcreate vg_test /dev/sda1 /dev/sdb1 /dev/sdc1...
- 查看信息
# 扫描具有 vg 属性的磁盘和分区
vgscan
# 查看
vgdisply
--- Volume group ---
VG Name vg_test
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <869.12 GiB
PE Size 4.00 MiB
Total PE 222494
Alloc PE / Size 222494 / <869.12 GiB
Free PE / Size 0 / 0
VG UUID fznxjo-5sNc-0bOE-CgEO-2pf3-opRU-g2eKHD
- 删除
# 删除 vg
vgremove centos
- 修改
# vg 中添加 pv
vgextend
# vg 中移除 pv
vgreduce
LV
- 创建
# 创建
lvcreate -L LVSIZE -n LVNAME VGNAME # 指定大小
lvcreate -l 100%VG -n LVNAME VGNAME # 指定百分比
- 查看
# 扫描具有 pv 属性的磁盘和分区
vgscan
# 查看
lvdisplay
--- Logical volume ---
LV Path /dev/vg_test/lv_test
LV Name lv_test
VG Name vg_test
LV UUID SfdmQG-PeLM-BfrY-yOMc-oW94-Awfb-NQ9CkH
LV Write Access read/write
LV Creation host, time localhost, 2020-12-29 10:28:38 +0800
LV Status available
# open 1
LV Size <869.12 GiB
Current LE 222494
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
- 删除
# 删除 lv, 查找(df -Th), 卸载(umount), 删除
lvremove /dev/vg_test/lv_test
Do you really want to remove active logical volume centos/thc? [y/n]: y
Logical volume "lv_test" successfully removed
- 修改
# lv 扩容, 如果 lv 容量不够, 先扩充 vg, 再扩充 lv, 最后执行
lvextend -L +10G /dev/vg_test/lv_test
xfs_growfs /dev/vg_test/lv_test
扩缩容
- 扩容
# 以 xfs 格式为例
# lv 扩容, 如果 lv 容量不够, 先扩充 vg, 再扩充 lv, 最后执行
lvextend -L +10G /dev/vg_test/lv_test # 按绝对大小扩容
lvextend -l +100%FREE /dev/mapper/vg_test-lv_test # 按剩余空间半分比大小扩容
# 刷新文件系统, 这步之后磁盘才完成扩容, 对 drbd 操作不生效
xfs_growfs /dev/vg_test/lv_test
- 缩容
# xfs 不支持, 以 ext4 为例
# 调整 lv 大小
lvresize -l 80%VG /dev/vg_test/lv_test # 按半分比
lvreduce -L -10G /dev/vg_test/lv_test # 按容量大小
# 重设大小
resize2fs /dev/vg_test/lv_test