LVM磁盘配置
1.概念
LVM(逻辑卷管理)中的几个概念:
PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷建立在 卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。
2.配置步骤
2.1.添加物理磁盘
添加用于 LVM 的物理存储器。这些通常是标准分区,但也可以是已创建的 Linux Software RAID 卷。利用fdisk命令,将sdb、sdc等磁盘进行分区创建为sdb1、sdc1等, 通过fdisk的t指令指定分区为8e类型(Linux LVM) 。
如无法识别新加硬盘,可以执行下面脚本扫描所有 SCSI Host,并在扫描前后对比块设备信息:
#!/usr/bin/env bash
set -euo pipefail
echo "=== 当前磁盘信息:fdisk -l ==="
sudo fdisk -l || true
echo
echo "=== 当前块设备:lsblk ==="
lsblk
echo
echo "=== 当前 SCSI Host 列表 ==="
ls /sys/class/scsi_host/
echo
echo "=== 开始扫描所有 SCSI Host ==="
for scan_file in /sys/class/scsi_host/host*/scan; do
if [ -w "$scan_file" ]; then
echo "- - -" | sudo tee "$scan_file" >/dev/null
echo "已扫描: $scan_file"
else
echo "跳过,不可写: $scan_file"
fi
done
echo
echo "=== 扫描完成,重新查看块设备 ==="
lsblk
2.2.创建物理卷PV
#创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
#显示物理卷
pvdisplay
2.3.创建卷组
vgcreate myvg /dev/sdb1 /dev/sdc1
2.4.卷组增加pv
vgextend myvg /dev/sdb2
2.5.创建逻辑卷
lvcreate -L 1500 -ntestlv myvg /dev/sdg1
2.6.扩展逻辑卷
lvextend -L +100M /dev/vg1000/lvol0