VMware扩展虚拟机磁盘大小一键命令

1.关闭客户机,设置扩展磁盘

2.复制下面这一整段命令,粘贴到终端里回车执行。它会自动创建脚本、赋予权限并运行

cat > /root/expand_disk.sh <<'EOF' #!/bin/bash DISK="/dev/sda" VG_NAME="centos" LV_PATH="/dev/mapper/centos-root" echo ">>> [0/5] 清理 YUM 缓存 (释放空间)..." yum clean all echo ">>> [1/5] 刷新磁盘识别..." partprobe $DISK || echo "partprobe 未找到,建议稍后重启系统" NEXT_PART=$(lsblk -ln -o NAME,TYPE $DISK | awk '/part$/ {print $1}' | grep -o '[0-9]*$' | sort -n | tail -n 1) NEW_PART_NUM=$((NEXT_PART + 1)) NEW_PART="${DISK}${NEW_PART_NUM}" echo "检测到新分区将为: $NEW_PART" echo ">>> [2/5] 创建 LVM 物理分区..." echo -e "n\np\n${NEW_PART_NUM}\n\n\nt\n${NEW_PART_NUM}\n8e\nw" | fdisk $DISK &>/dev/null partprobe $DISK echo ">>> [3/5] 创建物理卷 (PV)..." pvcreate $NEW_PART echo ">>> [4/5] 扩展卷组 (VG) 并扩展逻辑卷 (LV)..." vgextend $VG_NAME $NEW_PART lvextend -l +100%FREE $LV_PATH echo ">>> [5/5] 刷新文件系统..." FS_TYPE=$(df -T / | awk 'NR==2 {print $2}') if [ "$FS_TYPE" == "xfs" ]; then xfs_growfs / elif [ "$FS_TYPE" == "ext4" ]; then resize2fs $LV_PATH else echo "不支持的文件系统类型: $FS_TYPE" exit 1 fi echo "==========================================" echo "🎉 扩容完成!当前根目录空间如下:" df -h / echo "==========================================" EOF chmod +x /root/expand_disk.sh && /root/expand_disk.sh