CentOS 虚拟机扩展存储实操指南
一、前置检查与准备
df -hlsblk、fdisk -lvgs、lvs、pvsdf -Th 或 blkidxfs_growfs 还是 resize2fs。二、方案一 扩展现有虚拟磁盘(原地增大)
echo "- - -" > /sys/class/scsi_host/host0/scan(按实际 host 编号执行)echo 1 > /sys/class/scsi_device/<id>/device/rescanfdisk /dev/sda → 删除原有分区后重建,保持起始扇区不变、将结束扇区设为更大值;如为 LVM 分区,将类型设为 Linux LVM(8e)。partprobe /dev/sda(必要时重启)。pvresize /dev/sdaX(X 为新扩展的分区)。lvextend -L +20G /dev/mapper/<vg>-<lv>lvextend -l +100%FREE /dev/mapper/<vg>-<lv>xfs_growfs <挂载点>(如 xfs_growfs /)resize2fs /dev/mapper/<vg>-<lv>df -h 应显示新的可用空间。三、方案二 新增一块虚拟磁盘(更稳妥)
lsblk 应看到如 /dev/sdb。fdisk /dev/sdb → 新建分区(类型 8e 对应 Linux LVM)→ w 保存partprobe /dev/sdbpvcreate /dev/sdb1vgs(常见如 centos 或 cl)vgextend <vg名> /dev/sdb1lvextend -l +100%FREE /dev/mapper/<vg>-rootxfs_growfs <挂载点>,ext 系列用 resize2fs <逻辑卷设备>df -h 与 vgs、lvs 查看空间变化。四、KVM 场景的两种做法
virsh shutdown <vm>qemu-img resize <image.qcow2> +20Gqemu-img create -f qcow2 <add.qcow2> 20Gvirsh edit <vm>,在 <devices> 下新增 <disk type='file' device='disk'>...</disk> 指向新盘五、常见问题与排错要点
df -h 未变化:多数因为只扩大了虚拟磁盘,未扩展分区或 LVM/文件系统;需依次完成分区扩展、pvresize、lvextend 与文件系统扩容。xfs_growfs <挂载点>resize2fs <设备>parted/gdisk)。echo "- - -" > /sys/class/scsi_host/hostX/scan 与设备级 rescan 实现不重启识别新容量。vgs、lvs、df -h 确认后再执行 vgextend 与 lvextend。