VMware虚拟机初始磁盘容量通常较小,在运行数据库、大型应用或长期日志写入时,很容易导致磁盘空间告急。当虚拟机中的磁盘空间不足时,最直接的扩容方式之一便是添加第二块硬盘。而针对Linux系统,由于其文件系统和挂载机制不同于Windows,很多用户在添加新硬盘后无法识别或正确使用。我们将分步骤介绍方法,并总结常见错误及解决思路。
一、在VMware中添加第二块虚拟硬盘
1. VMware Workstation 添加步骤
关闭虚拟机电源(不能处于运行或挂起状态),右键点击虚拟机名称,选择“设置”,点击左下角“添加(Add)”,选择“硬盘(Hard Disk)”,点击“下一步”,选择“SCSI”类型(推荐),点击“下一步”,创建新虚拟磁盘,指定容量(如20GB),可选择动态分配,确认磁盘文件名和路径,点击完成。回到设置界面,确认新硬盘添加成功
2. VMware ESXi 添加步骤
登录vSphere管理控制台,到对应虚拟机 → 右键“编辑设置”,点击“添加硬件” → 选择“新建硬盘”,指定容量、磁盘类型(通常选择“精简置备”),选择SCSI控制器(建议使用默认),保存设置并关闭编辑界面,完成以上步骤后,第二块虚拟磁盘已被添加,但系统内尚未识别使用。
二、Linux系统识别新硬盘的方法
1. 查看当前磁盘状态
启动Linux虚拟机后,使用以下命令确认磁盘情况:
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
└─sda1 8:1 0 40G 0 part /
sdb 8:16 0 20G 0 disk
如果sdb已出现,说明系统成功识别新硬盘。
2. 若未识别,可手动扫描
某些Linux发行版(如CentOS、Debian)可能不会自动识别热插入的磁盘。此时可手动刷新SCSI总线:
echo "- - -" > /sys/class/scsi_host/host0/scan
可根据实际设备数量,尝试host1
、host2
等。
或者使用dmesg
查看新增磁盘:
dmesg | grep -i "sd"
三、对第二块硬盘进行分区
一旦系统识别到新硬盘,如/dev/sdb
,可以进行分区操作:
fdisk /dev/sdb
执行交互式命令:
输入n
(新建分区)
输入p
(主分区)
输入分区编号(通常为1)
默认起始扇区,直接回车
默认结束扇区,或自定义大小
输入w
保存退出
分区完成后,生成/dev/sdb1
。
四、格式化新分区
推荐使用ext4
文件系统:
mkfs.ext4 /dev/sdb1
等待格式化完成,即可挂载使用。如需使用其他文件系统(如xfs、btrfs),请根据系统支持安装相应工具。
五、挂载第二块硬盘
1. 创建挂载目录
mkdir /data
2. 临时挂载验证
mount /dev/sdb1 /data
此时可在/data
目录下写入文件验证:
touch /data/test.log
ls -l /data
3. 永久挂载(编辑fstab)
查看UUID:
blkid /dev/sdb1
输出:
/dev/sdb1: UUID="a1b2-c3d4" TYPE="ext4"
编辑/etc/fstab
:
UUID=a1b2-c3d4 /data ext4 defaults 0 2
保存后测试:
umount /data
mount -a
确认无报错说明配置成功。
六、常见错误与解决方法
问题1:新硬盘添加后系统内看不到?
解决方案:确保虚拟机已关闭后添加硬盘,检查硬盘接口类型为SCSI,启动Linux后运行lsblk
或fdisk -l
。若未识别,手动刷新设备树或重启虚拟机
问题2:fdisk提示“无法创建分区表”?
原因:分区表损坏或设备未初始化
解决方案:使用parted
创建GPT分区表:
parted /dev/sdb
mklabel gpt
mkpart primary ext4 0% 100%
问题3:fstab配置错误导致系统无法启动?
解决方案:建议使用UUID而非/dev/sdX路径,加入nofail
选项确保硬盘不存在时系统可继续启动
通过以上的方法,用户可以在VMware虚拟机中为Linux系统顺利添加第二块虚拟硬盘,并在系统中识别、分区、格式化和挂载使用。这种操作不仅可以快速解决空间不足的问题,也提高了虚拟资源的灵活性与管理效率。按照规范步骤操作,虚拟机扩容过程将变得简单可控,避免风险和数据丢失问题。