CentOS 虚拟机使用 LVM 管理磁盘
一 准备与概念
yum install -y lvm2;查看设备 lsblk、fdisk -l。二 新磁盘初始化与 LVM 搭建
# 1) 识别磁盘
lsblk
# 2) 分区(可选,整盘也可直接做 PV)
fdisk /dev/sdb
# n → p → 回车 → 回车 → t → 8e → w
# 3) 创建 PV(整盘或分区均可)
pvcreate /dev/sdb1
# 4) 创建 VG
vgcreate vg_data /dev/sdb1
# 5) 创建 LV(示例 10G)
lvcreate -L 10G -n lv_data vg_data
# 6) 格式化 LV 为 XFS
mkfs.xfs /dev/vg_data/lv_data
# 7) 挂载
mkdir -p /data
mount /dev/vg_data/lv_data /data
# 8) 开机自动挂载(建议使用 UUID 或 /dev/mapper/ 路径)
blkid /dev/vg_data/lv_data
# 将输出中的 UUID 写入 /etc/fstab,例如:
# UUID=<你的UUID> /data xfs defaults 0 0
lvcreate -l 100%FREE -n lv_data vg_data。三 在线扩容 LV 与文件系统
lvextend -L +5G /dev/vg_data/lv_data
xfs_growfs /mount/point(如 xfs_growfs /data)resize2fs /dev/vg_data/lv_datadf -h
echo "- - -" > /sys/class/scsi_host/host0/scan
# 可按需尝试 host1/host2
lsblk
pvcreate /dev/sdc
vgextend vg_data /dev/sdc
四 缩减与删除(含注意事项)
umount /data
e2fsck -f /dev/vg_data/lv_data
resize2fs /dev/vg_data/lv_data 5G
lvreduce -L 5G /dev/vg_data/lv_data
mount /data
umount /data
lvremove /dev/vg_data/lv_data
vgremove vg_data
pvremove /dev/sdb1
pvs && vgs && lvs
五 大于 2TB 磁盘与 GPT 分区建议
parted 或 gdisk 创建 GPT 分区,再将分区初始化为 PV:parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart lvm1 0% 100%
pvcreate /dev/sdb1