云服务器加了一块数据盘却用不上?从分区、格式化到 fstab 持久化挂载的完整步骤
在华为云控制台给弹性云服务器挂载了一块新的云硬盘,回到服务器里执行 df -h,却看不到这块盘——这是很多新手第一次扩容数据盘时都会遇到的情况。原因很简单:控制台的“挂载”只是把磁盘设备交给了实例,磁盘本身还没有分区、没有文件系统、也没有挂载点,自然不会出现在 df 的结果里。下面按“确认设备—分区—格式化—挂载—持久化”这个顺序,把完整流程走一遍。
一、先确认新盘是哪一块
不要凭感觉猜设备名,先看 lsblk:
lsblk
lsblk -f
一般会看到系统盘 /dev/vda(已有分区和挂载点),以及一块没有分区、没有文件系统的裸盘,例如 /dev/vdb。不同镜像、不同实例规格下设备名可能是 /dev/sdb,所以以 lsblk 的实际输出为准,不要照抄别人的设备名。
顺手确认两点:第一,这块盘确实是新挂载的空盘;第二,df -h 里没有它,这说明它还没有被使用,接下来做分区和格式化是安全的。
二、分区:先分一个区再用
小于 2TB 的数据盘,用 fdisk 就够了:
sudo fdisk /dev/vdb
在交互界面里依次输入 n(新建分区)、p(主分区)、1(分区号)、回车(起始扇区默认)、回车(结束扇区默认,用满整块盘),最后输入 w 保存退出。
如果数据盘大于 2TB,fdisk 的 MBR 分区表装不下,要改用 GPT,例如:
sudo parted /dev/vdb mklabel gpt
sudo parted /dev/vdb mkpart primary ext4 0% 100%
分完区再执行一次 lsblk,应该能看到 /dev/vdb1。
三、格式化:新盘才做,有数据千万别做
格式化会清空分区上的全部数据,只对确认是新盘的分区执行:
sudo mkfs.ext4 /dev/vdb1
如果业务需要 XFS,也可以改成 mkfs.xfs /dev/vdb1。选哪种文件系统,取决于业务的实际需求,一般的 Web 服务、数据库备份目录用 ext4 就够了。
最容易翻车的一步,就是把系统盘分区当成新盘格式化。执行前务必再核对一次设备名:系统盘是
/dev/vda,新盘分区是/dev/vdb1。
四、挂载并验证
新建挂载点并挂载:
sudo mkdir -p /data
sudo mount /dev/vdb1 /data
df -h
这时 df -h 里应该能看到 /dev/vdb1 挂载在 /data 上,容量与云硬盘规格一致。再写一个测试文件验证可写:
echo "hello disk" | sudo tee /data/test.txt
cat /data/test.txt
验证通过后把测试文件删掉,保持目录干净。
五、写进 fstab,让重启后不丢挂载
只执行 mount 是临时的,服务器重启后挂载就丢了,业务目录会变成空目录,这是生产环境最常见的坑。正确做法是写进 /etc/fstab,而且要用 UUID,不要用设备名,因为重启后设备名的枚举顺序可能变化。
先查 UUID:
sudo blkid /dev/vdb1
再备份并编辑 fstab:
sudo cp /etc/fstab /etc/fstab.bak
sudo vi /etc/fstab
在文件末尾加一行(把下面的 UUID 换成你自己的实际值):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2
保存后立即验证,不要等到下次重启才发现写错了:
sudo mount -a
df -h
mount -a 没有报错、df -h 仍能看到 /data,说明 fstab 写对了。如果 mount -a 报错,先排查,不要重启——fstab 写错可能导致系统无法正常启动。
六、以后扩容云硬盘,还要做这一步
在控制台把云硬盘从 100GB 扩到 200GB 之后,df -h 看到的容量通常不会马上变大,还需要在系统里扩容文件系统。已经分区的盘,先扩分区再扩文件系统;ext4 用:
sudo resize2fs /dev/vdb1
XFS 则用 xfs_growfs /data。扩完再用 df -h 核对容量。
常见问题速查
df -h看不到新盘:先查lsblk,确认分区和文件系统是否都已完成。mount报错 wrong fs type:分区还没格式化,或文件系统类型写错了。- 重启后
/data变空:检查/etc/fstab是否写了这一行,UUID 是否正确。 - 挂载后目录权限不对:用
chown把目录属主改成业务用户,不要长期用 root 写业务数据。
小结
新数据盘上线的完整链路是:控制台挂载 → lsblk 确认设备 → 分区 → 格式化 → 挂载验证 → 用 UUID 写进 /etc/fstab 并用 mount -a 验证。其中最容易出问题的两点,一是把系统盘误当成新盘操作,二是只 mount 不写 fstab,重启后挂载丢失。按这个顺序走一遍,数据盘就能稳定地用起来了。
- 点赞
- 收藏
- 关注作者
评论(0)