新买的 VPS 磁盘不够用?加了一块数据盘却发现系统里看不到?其实云服务器新加的数据盘不会自动出现在目录里,需要手动分区、格式化、挂载,还要写进 fstab 才能开机自动挂载。这篇文章把 Linux 磁盘管理的完整流程讲清楚,照着做不会丢数据。
一、先看清磁盘情况
SSH 登录后,先用三个命令摸清家底:
lsblk # 查看块设备树,最直观:能看到磁盘、分区和挂载点
fdisk -l # 查看所有磁盘及分区表
df -h # 查看已挂载的文件系统及使用情况
lsblk 输出里,vda/sda/xvda 是系统盘(一般已分区并挂载到 /),新加的盘通常是 vdb/sdb 等,没有挂载点,这就是"看不到"的原因。
二、分区:fdisk 实操
对小于 2TB 的磁盘用 fdisk(大于 2TB 用 parted + GPT):
fdisk /dev/vdb
进入交互界面后依次输入(按提示操作):
n # 新建分区(new)
p # 主分区(primary)
1 # 分区号
回车 # 起始扇区,默认
回车 # 结束扇区,默认(用满整块盘)
w # 保存并退出(write)
完成后 lsblk 应该能看到 /dev/vdb1 这个新分区。
注意:操作前务必确认盘符,fdisk /dev/vda(系统盘)做错了可能毁掉系统,一定要先 lsblk 看清楚再动手。
三、格式化:mkfs 创建文件系统
分区之后要格式化成文件系统才能用:
mkfs.ext4 /dev/vdb1 # 最常用,推荐
# 也可以用其他格式
mkfs.xfs /dev/vdb1 # XFS,大文件、高并发场景
mkfs.ext3 /dev/vdb1 # 兼容老系统
格式化会清空该分区所有数据,再次确认盘符无误再执行。
四、挂载:mount 让分区出现在目录里
mkdir -p /data # 创建挂载点目录
mount /dev/vdb1 /data # 挂载
df -h # 验证:/data 出现在列表里
挂载成功后,往 /data 写数据就是写入新磁盘了。
五、开机自动挂载:fstab 配置
直接 mount 只对本次开机有效,重启后挂载就丢了,必须写进 /etc/fstab:
- 先查 UUID(推荐用 UUID 而不是设备名,设备名可能变化):
blkid /dev/vdb1
# 输出类似: /dev/vdb1: UUID="a1b2c3d4-..." TYPE="ext4"
- 编辑
/etc/fstab,追加一行:
vim /etc/fstab
UUID=a1b2c3d4-... /data ext4 defaults 0 2
- 验证配置是否正确(重要,防重启进不去系统):
mount -a # 重新加载 fstab,报错说明配置有问题
reboot # 重启验证
fstab 每列含义:设备(UUID)| 挂载点 | 文件系统类型 | 挂载选项 | 是否备份(0) | 开机检查顺序(2,根分区为1)。
六、swap:给内存加个保险
内存不够时可以用磁盘建 swap 交换分区(小内存 VPS 必备):
fallocate -l 2G /swapfile # 创建 2G 交换文件
chmod 600 /swapfile # 权限必须收紧
mkswap /swapfile # 格式化为 swap
swapon /swapfile # 启用
echo '/swapfile none swap sw 0 0' >> /etc/fstab # 开机自动启用
free -h # 验证 Swap 已生效
七、扩容与卸载
扩容:云控制台里把数据盘调大后,分区没变的情况下执行 resize2fs /dev/vdb1(ext4)或 xfs_growfs /data(XFS)即可在线扩容,不用重启。
卸载:
umount /data # 卸载前确保没有进程占用
lsof /data # 有进程占用会失败,先排查
八、常见问题
mount: wrong fs type:文件系统类型写错了,用lsblk -f确认,或mount -t ext4指定类型;device is busy:有进程占用,fuser -mv /data找出并停掉进程再卸载;- 重启后挂载丢失:fstab 没写对,按第五节重新配置并用
mount -a验证; - fstab 写错导致无法开机:进救援模式/VNC 把那一行删掉(所以配置完一定要
mount -a先验证); - 分区表用 GPT 还是 MBR:2TB 以内 MBR 就行,大于 2TB 必须 GPT(fdisk 新版默认 GPT)。
总结:Linux 加磁盘的标准流程就四步——fdisk 分区 → mkfs 格式化 → mount 挂载 → 写 fstab 开机自动挂载。每一步都有对应命令验证,操作前看清盘符、格式化前确认数据,基本不会出问题。




