虚拟机加磁盘后,先在系统内用 lsblk、fdisk -l 或 dmesg 确认新盘是否被内核识别;没识别就触发 SCSI 扫描或重启;识别后分区、格式化、挂载,并用 UUID 写入 /etc/fstab 实现开机自动挂载。
加盘本身不复杂,难的是“系统到底看没看到盘”“盘符会不会漂”“扩容后分区为什么没变大”,下面按识别、分区、挂载、云盘扩容、避坑的顺序讲清。
Linux虚拟机新增磁盘不重启怎么识别?先查这三处
在 VMware、KVM、Hyper-V 或公有云主机里加完磁盘,先登录系统,不要急着分区,先确认设备名。
- 执行
lsblk,看是否多出sdb、vdb、nvme1n1。 - 执行
fdisk -l,看新增磁盘容量和盘符。 - 执行
cat /proc/partitions,看内核是否注册块设备。 - 执行
dmesg | tail -30,看是否有新磁盘加载日志。
lsblk 没有新盘,Linux 下可以先扫描 SCSI 总线:
for i in /sys/class/scsi_host/host/scan; do echo "- - -" > $i; done
再执行 lsblk,多数情况下,VMware 和 KVM 热添加磁盘后,触发扫描即可识别,若仍看不到,检查虚拟机设置是否保存、SCSI 控制器是否兼容、云主机控制台是否已确认扩容,Windows 虚拟机则进入“磁盘管理”,点击“操作”里的“重新扫描磁盘”。
VMware虚拟机添加磁盘后fdisk看不到怎么办?
先确认磁盘确实挂在虚拟机上,而不是只创建了虚拟磁盘文件,然后检查三点:
- VMware Tools 或 Open VM Tools 是否正常运行。
- 虚拟机设置里磁盘是否使用推荐控制器,SCSI 或 PVSCSI。
- 客户机是否支持热添加,若平台限制,重启后通常可见。
fdisk -l 能看到盘,但 lsblk 没有分区,说明盘未分区,此时不要重复扫描,直接进入分区步骤。

云主机和本地虚拟机的识别差异
云服务器加盘通常分两种:新增数据盘、扩容已有系统盘或数据盘,新增数据盘看 lsblk 即可,扩容已有云盘时,控制台显示容量已变大,但系统内分区和文件系统不会自动变大,这时需要 growpart 和 resize2fs 或 xfs_growfs。
虚拟机加磁盘后分区挂载步骤详解:fdisk、parted与fstab
小于2TB用fdisk,大于2TB用parted
传统 MBR 分区表对单盘容量有限制,小于 2TB 的盘,可以用 fdisk:
fdisk /dev/sdb n p 1 回车 回车 w partprobe /dev/sdb
大于 2TB 的盘,建议 GPT 分区表,用 parted:
parted /dev/sdb mklabel gpt parted /dev/sdb mkpart primary ext4 0% 100% partprobe /dev/sdb
操作前确认盘符没有写错,业内专家指出,生产环境误对系统盘分区,恢复成本远高于重新挂载数据盘。
格式化选ext4还是xfs?
| 文件系统 | 适用场景 | 特点 |
|---|---|---|
| ext4 | 通用服务器、小文件、传统应用 | 稳定,工具成熟,可离线调整 |
| xfs | 大文件、高并发、云盘、日志盘 | 在线扩容方便,通常不能缩容 |
命令分别如下:
mkfs.ext4 /dev/sdb1 mkfs.xfs /dev/sdb1
格式化会清空数据,如果盘上已有文件系统,不要重复执行 mkfs。
挂载到目录并写入fstab
先创建挂载点:
mkdir -p /data mount /dev/sdb1 /data df -h
确认挂载成功后,获取 UUID:
blkid /dev/sdb1
编辑 /etc/fstab

,加入一行:
UUID=你的UUID /data ext4 defaults 0 0
如果是 xfs,把 ext4 改成 xfs,然后执行:
mount -a df -h
行业共识认为,fstab 中用 UUID 比写 /dev/sdb1 更稳,设备名可能因磁盘顺序变化而漂移,UUID 不会。
云服务器虚拟机扩容磁盘后如何分区挂载?和加新盘不一样
扩容已有云盘时,系统内看到的总容量变大,但分区表可能仍是旧大小,步骤通常是:
lsblk确认云盘容量已增加。growpart /dev/vda 1,扩展分区。- ext4 执行
resize2fs /dev/vda1。 - xfs 执行
xfs_growfs /或xfs_growfs /data。 df -h确认文件系统容量。
如果是 LVM,还要处理 PV、LV:
pvresize /dev/vda2 lvextend -l +100%FREE /dev/mapper/centos-root resize2fs /dev/mapper/centos-root
不同虚拟化平台对比:VMware、KVM、Hyper-V、公有云
| 平台 | 识别新盘 | 热添加 | 注意事项 |
|---|---|---|---|
| VMware | lsblk、fdisk -l、扫描 SCSI |
多数支持 | 依赖 VMware Tools 和控制器 |
| KVM | lsblk、fdisk -l |
支持 | virtio 盘常见为 /dev/vdb |
| Hyper-V | 磁盘管理、lsblk |
支持 | Windows 需联机初始化 |
| 公有云 | 控制台扩容加系统内识别 | 支持 | 扩容后要 growpart |
北京上海等地云服务器磁盘扩容价格和选型参考
北京、上海等一线地域,云盘资源成本通常高于其他地域,价格受云厂商、容量、云盘类型、计费方式影响,ESSD、SSD、高效云盘性能不同,价格也不同,按量付费适合临时扩容,包年包月适合长期稳定业务。

选型时先看业务 IO 需求,数据库、高并发日志盘,优先考虑低延迟云盘,普通文件存储,可选成本更低的类型,开通前在控制台确认地域、容量和计费周期,避免只看单价忽略快照和备份成本。
常见坑与安全操作清单
操作前先做快照或备份
云主机先创建快照,本地虚拟机先复制磁盘文件或备份重要数据,分区和格式化命令一旦执行,恢复难度大。
fstab写错可能导致系统无法正常启动
不熟悉的挂载参数不要乱加,改完 fstab 后执行 mount -a 测试,若重启后进入紧急模式,可尝试 mount -o remount,rw / 后修正。
盘符漂移
今天新盘是 /dev/sdb,重启后可能变 /dev/sdc,fstab 用 UUID 或 LABEL,脚本里也尽量少写死盘符。
文件系统类型不匹配
ext4 用 resize2fs,xfs 用 xfs_growfs,用错命令会报错,若不确认文件系统,先执行 lsblk -f 或 blkid。
Q&A:虚拟机加磁盘后如何识别与分区挂载常见问题
虚拟机加磁盘后一定要重启才能识别吗?
不一定,Linux 可扫描 SCSI 总线,Windows 可重新扫描磁盘,现代虚拟化平台多数支持热添加,若平台或驱动不支持,再重启验证。
VMware虚拟机添加磁盘后fdisk看不到怎么办?
先确认虚拟机设置已保存,再检查 VMware Tools 和控制器类型,Linux 下执行 SCSI 扫描;Windows 下进入磁盘管理,重新扫描磁盘并联机初始化。
云服务器虚拟机扩容磁盘后如何让分区生效?
先用 growpart /dev/vda 1 扩分区,再按文件系统执行 resize2fs 或 xfs_growfs。df -h 显示的容量即为扩容后容量。