先判断它是哪种状态

遇到“数据盘没挂载”,先不要急着格式化。第一步是判断系统到底有没有识别到这块盘,以及它有没有文件系统。

df -hT 没看到数据盘 可能只是未挂载
lsblk -f 看到 vdb 系统识别到了设备
vdb1 没有 FSTYPE 分区还没格式化
01

查看当前挂载情况

先看已经挂载的文件系统:

df -hT

如果只看到系统盘,例如 /dev/vda2 挂载在 /,说明当前没有看到新的数据盘挂载点。

再看系统识别到的磁盘:

lsblk -f

如果看到 /dev/vdb,但没有 FSTYPEUUIDMOUNTPOINTS,通常说明数据盘还没有文件系统,也没有挂载。

02

确认数据盘是否已有文件系统

sudo blkid /dev/vdb
sudo file -s /dev/vdb

blkid 没有输出时,通常表示这块盘还没有文件系统。如果已经出现 ext4xfs 等类型,不要直接格式化。

别跳过这一步

如果这不是新盘,或者你不确定它是不是新盘,格式化会导致数据丢失。

03

创建分区

确认是新空盘后,可以创建 GPT 分区:

sudo parted /dev/vdb --script mklabel gpt mkpart primary ext4 1MiB 100%
sudo partprobe /dev/vdb

执行后再用 lsblk -f 查看,正常会看到 /dev/vdb1

04

格式化分区

下面命令会清空 /dev/vdb1 上的数据,只适合新空盘:

sudo mkfs.ext4 -F /dev/vdb1

格式化完成后,/dev/vdb1 应该会显示 ext4 和一个 UUID。

05

挂载到新目录

如果服务器上原本已经有 /data 目录,不建议直接挂载到 /data。挂载后原目录里的内容会被临时遮住。

sudo mkdir -p /data_disk
sudo mount /dev/vdb1 /data_disk
df -hT /data_disk

如果成功,会看到 /dev/vdb1 挂载到 /data_disk

06

设置开机自动挂载

先获取 UUID:

sudo blkid /dev/vdb1

编辑 `/etc/fstab`:

sudo nano /etc/fstab

追加一行,注意把 UUID 换成真实输出:

UUID=你的UUID /data_disk ext4 defaults,nofail 0 2

保存后验证:

sudo mount -a
df -hT /data_disk

最终验证清单

lsblk -f
df -hT /data_disk
grep -vE '^\s*#|^\s*$' /etc/fstab
  • /dev/vdb1ext4
  • /dev/vdb1 有 UUID
  • /dev/vdb1 挂载到 /data_disk
  • /etc/fstab 里使用同一个 UUID

FAQ

为什么腾讯云控制台有数据盘,但 df -hT 看不到?

df -hT 只显示已经挂载的文件系统。云盘被系统识别后,如果还没有分区、格式化或挂载,就不会出现在 df 输出里。

lsblk -f 看到 vdb 就能直接用了么?

不能。看到设备只说明系统识别到了磁盘,还要确认是否有分区、文件系统和挂载点。可以继续看 df -hTlsblk -f 的区别

数据盘一定要挂载到 /data 吗?

不一定。如果 /data 里已有文件,建议挂到 /data_disk 这类新目录,避免挂载后把原目录内容临时遮住。