很多新手第一次挂载磁盘、扩容系统盘的时候,要么操作错了把数据格没了,要么fstab配置错了导致服务器开不了机,要么挂载完重启发现目录空了——这篇文章把所有坑都踩过了,照着一步步来,新手也能安全完成,不会丢数据。
很多人买了VPS加数据盘,或者升级配置扩容系统盘,一看到命令行就慌,怕操作错了数据没了。其实磁盘挂载和扩容是VPS最基础的操作之一,只要按正确步骤来,再提前做好快照备份,几乎不会出问题。
这篇文章从最基础的磁盘概念讲起,到新数据盘完整挂载、把数据盘挂载到/www目录、系统盘在线扩容、常见错误排查,每一步都配好可直接复制的命令,新手照着做10分钟就能搞定。
💡 操作前最重要的一句话:不管做什么磁盘操作,先去VPS控制台打一个系统快照!操作错了随时可以回滚,这是你最大的保险。LuckVM所有节点控制台一键打快照,几秒钟就好,不要省这一步。
一、先搞懂基础概念,再动手操作
很多人上来就复制命令,连sda和sdb都分不清,不格错盘才怪。先花2分钟搞懂几个基础概念,后面操作就不会懵:

1.1 Linux下磁盘怎么命名
Linux里磁盘命名规则很简单: - 第一块磁盘叫 /dev/sda,一般是系统盘 - 第二块磁盘叫 /dev/sdb,一般是后来加的数据盘 - 第三块叫 /dev/sdc,以此类推
磁盘上的分区就是后面加数字:/dev/sda1 是第一块盘的第一个分区,/dev/sdb1 是第二块盘的第一个分区。
1.2 什么是挂载?
Linux里没有Windows那种C盘D盘的概念,所有磁盘都要"挂载"到一个目录下才能用,这个目录就叫"挂载点"。 - 比如系统盘一般挂载到根目录 / - 1Panel/宝塔的网站数据一般放在 /www 目录 - 你可以把新加的数据盘挂载到 /www,这样所有网站数据、数据库就都存在数据盘上,系统盘重装也不影响数据
1.3 什么是文件系统?
格式化就是给磁盘创建文件系统,就像给新硬盘分区格式化一样。Linux现在最常用的是 ext4 文件系统,稳定可靠,新手直接用这个就行,不用折腾xfs/btrfs那些。
二、第一步:先查看当前磁盘情况
不管是挂载新盘还是扩容,第一步永远是先看清楚当前磁盘情况,别上来就操作。
SSH连接到服务器,执行这三个命令:
# 查看所有块设备(磁盘和分区)
lsblk
# 查看当前已挂载分区和使用情况
df -h
# 查看磁盘分区表
fdisk -l
正常输出大概是这样的:

从输出里你需要看清楚: 1. 哪块是系统盘(sda,已经挂载到/、/boot这些目录的) 2. 哪块是新加的数据盘(sdb,下面没有分区、也没有挂载点的就是新盘) 3. 磁盘大小对不对,别把盘认错了
⚠️ 特别注意:一定要看清楚磁盘名!sda是系统盘,sdb才是新数据盘,后面格式化的时候千万不要格错sda,不然系统直接没了。
三、新数据盘完整挂载流程(5步走)

假设你新加了一块200G的数据盘,要挂载到 /www 目录(1Panel/宝塔默认网站目录),按下面5步来:
3.1 第一步:磁盘分区(新盘必须做)
新磁盘没有分区表,先给它分一个区,执行:
# 注意把sdb换成你自己的磁盘名!不要照抄!
fdisk /dev/sdb
进入fdisk交互界面后,依次按: 1. 输入 n → 回车(新建分区) 2. 输入 p → 回车(主分区) 3. 分区号直接回车(默认1) 4. 起始扇区直接回车(默认从2048开始) 5. 结束扇区直接回车(默认用全部空间) 6. 输入 w → 回车(保存分区表并退出)
执行完之后再输入 lsblk,就能看到sdb下面多了一个sdb1分区,说明分区成功了。
3.2 第二步:格式化分区
分区完要格式化才能用,执行:
# 格式化为ext4文件系统,注意sdb1,是分区不是整块盘!
mkfs.ext4 /dev/sdb1
⚠️ 警告:格式化会清空这个分区上的所有数据!确认这是新盘、确认盘名没错再执行,格错了数据就没了。
格式化过程大概几秒钟,完成后会输出UUID,记一下,后面fstab要用,或者后面用blkid命令查也行。
3.3 第三步:创建挂载点并挂载
如果你是全新的服务器,还没有/www目录,先创建:
# 创建挂载点目录
mkdir -p /www
# 挂载分区到/www目录
mount /dev/sdb1 /www
挂载完执行 df -h,如果能看到/dev/sdb1挂载到了/www,大小是200G,说明临时挂载成功了。
3.4 第四步:配置开机自动挂载(最重要)
上面的mount命令是临时的,服务器重启就没了,必须配置fstab让它开机自动挂载。
先查一下分区的UUID:
blkid /dev/sdb1
输出大概是这样:
/dev/sdb1: UUID="abcdef12-3456-7890-abcd-ef1234567890" TYPE="ext4" PARTUUID="xxxxxx"
复制UUID那一串引号里的内容,然后编辑fstab文件:
nano /etc/fstab
在文件最后加一行:

UUID=你刚才复制的UUID /www ext4 defaults,noatime 0 2
💡 为什么用UUID不用/dev/sdb1? 因为磁盘顺序可能会变(比如加了第三块盘),UUID是分区唯一标识符,永远不会变,用UUID挂载最稳妥。
加完之后按 Ctrl+O 保存,Ctrl+X 退出nano。
3.5 第五步:验证配置是否正确
这一步绝对不能省! 很多人配置完fstab直接重启,结果配置错了开不了机。配置完一定要执行:
# 重新挂载所有fstab里的分区,没有报错就是配置正确
mount -a
如果执行完没有任何输出,说明配置正确!然后再执行 df -h 确认一下能看到挂载,就可以重启测试了:
reboot
重启完重新连接服务器,执行 df -h,如果还能看到/dev/sdb1挂载到/www,说明开机自动挂载成功了!
四、特殊场景:已经装了面板,怎么把数据盘挂载到已有的/www目录?
很多人是先装了1Panel/宝塔,系统盘用了一段时间发现不够用了,才加数据盘,这时候/www目录已经有数据了,不能直接挂载,不然原来的数据就被覆盖了。按下面步骤操作:
- 先停止所有服务:面板、Nginx、MySQL、PHP这些服务都停掉,避免数据写入
# 1Panel用户
systemctl stop 1panel
systemctl stop nginx
systemctl stop mysqld
systemctl stop php-fpm-*
# 宝塔用户
/etc/init.d/bt stop
service nginx stop
service mysqld stop
service php-fpm-* stop
- 按上面3.1-3.3步骤分好区、格式化好,先临时挂载到/mnt目录
mkdir -p /mnt
mount /dev/sdb1 /mnt
- 把原来/www目录下的所有数据复制到新磁盘
# 用rsync复制,保留权限和属性
rsync -a /www/ /mnt/
- 复制完确认数据大小一致
du -sh /www
du -sh /mnt
两个大小差不多说明复制完整了。
- 卸载临时挂载,把新盘挂载到/www
umount /mnt
mount /dev/sdb1 /www
- 按3.4步骤配置fstab开机自动挂载,执行mount -a验证无报错
- 重启服务器,启动所有服务,确认网站正常运行
- 确认一切正常后,可以把原来系统盘上的/www_old备份删掉(一定要确认没问题再删!)
五、系统盘扩容教程(升级配置后不丢数据)
如果你是在LuckVM控制台升级了系统盘大小(比如从50G升到100G),重启服务器后发现磁盘还是显示50G,这是因为分区还没扩容,按下面4步操作,不丢数据:

5.1 第一步:先安装growpart工具
# Debian/Ubuntu
apt update && apt install -y cloud-guest-utils
# CentOS/RHEL
yum install -y cloud-utils-growpart
5.2 第二步:扩容系统分区
假设系统盘是sda,系统分区是sda3(用lsblk看你的系统分区是哪个,一般是最后一个):
# 扩容/dev/sda的第三个分区,注意sda和3之间有空格
growpart /dev/sda 3
执行完再lsblk看,sda3分区大小已经变成新的大小了。
5.3 第三步:扩容文件系统
如果是ext4文件系统:
resize2fs /dev/sda3
如果是xfs文件系统:
xfs_growfs /
5.4 第四步:验证扩容结果
df -h
看到/dev/sda3大小已经变成新的大小,说明扩容成功了!全程不需要重启,在线扩容,不影响运行中的服务。
六、挂载后必做的3个验证
挂载完、扩容完不要急着结束,一定要做这3个验证:
- df -h确认分区大小和挂载点正确
- 在挂载目录创建一个测试文件,重启后看还在不在
touch /www/test.txt
reboot
# 重启后看文件存在不
ls /www/test.txt
- 确认网站和数据库正常:打开网站看看能不能正常访问,后台能不能登录,数据库能不能连接,权限有没有问题。
七、常见错误与解决方案

7.1 fstab配置错了,服务器重启开不了机怎么办?
这是最常见的错误,别慌: 1. 去LuckVM控制台打开VNC远程连接 2. 进入单用户模式,或者直接输入root密码登录 3. 编辑fstab把你加错的那行删掉,或者注释掉(前面加#) 4. 执行 mount -a 没报错,重启就能正常进系统了 5. 重新检查UUID和配置,改对了再加回去
💡 这也是为什么反复强调操作前打快照,真配置错了直接回滚快照就行,不用折腾救援模式。
7.2 mount -a报错:wrong fs type, bad option, bad superblock
一般是这几个原因: - UUID写错了,用blkid重新核对 - 文件系统类型写错了,比如你格式化成xfs却写了ext4 - 分区没有格式化,先mkfs.ext4格式化再挂载
7.3 挂载后目录权限不对,www用户无法写入
新挂载的分区默认是root权限,需要改一下权限:
chown -R www:www /www
7.4 重启后挂载消失了
说明fstab没配对,检查: - 是不是加了fstab那行? - UUID对不对? - 执行mount -a有没有报错? - 是不是把配置写到文件最后一行最后面,有没有换行?(fstab最后一行必须有换行,不然不生效)
八、操作前/中/后检查清单
照着这个清单打勾,保证不会出错:

- [ ] 操作前:已经在LuckVM控制台打了系统快照
- [ ] 操作前:用lsblk和fdisk -l确认了目标磁盘,不会格错盘
- [ ] 操作前:重要数据已经单独备份了一份
- [ ] 分区时:分区命令里的磁盘名是正确的新数据盘,不是sda系统盘
- [ ] 格式化前:确认分区名是sdb1之类的数据盘分区,不是系统盘分区
- [ ] fstab配置:UUID是用blkid查出来的正确UUID,没写错
- [ ] fstab配置完:执行了mount -a,没有任何报错
- [ ] 重启前:df -h能看到新挂载的分区
- [ ] 重启后:df -h依然能看到挂载,没有消失
- [ ] 重启后:目录权限正确,www用户可以写入
- [ ] 最后:网站、数据库、面板都能正常访问,没有报错
九、常见问题FAQ
Q1:我可以把数据盘挂载到其他目录吗?比如/home或者/data?
当然可以,挂载点可以是任意空目录,想挂到哪里就创建哪个目录,步骤是一样的。1Panel/宝塔用户推荐挂到/www,因为面板默认数据都在/www。
Q2:Windows系统的NTFS硬盘能直接挂载吗?
可以,但需要安装ntfs-3g:apt install ntfs-3g,然后挂载的时候指定类型ntfs-3g。但VPS上不推荐用NTFS,性能和稳定性都不如ext4,数据盘直接格式化成ext4就行。
Q3:挂载后原来/www目录里的文件不见了?
那是因为你直接mount到了/www,把原来的文件覆盖了,不是丢了。umount /www之后原来的文件就回来了。按第四部分的步骤先把旧数据复制到新盘再挂载就不会有这个问题。
Q4:我有好几块数据盘,可以分别挂载到不同目录吗?
当然可以,每块盘按上面的步骤分区、格式化、挂载、配置fstab就行,互不影响。比如sdb挂/www,sdc挂/backup。
Q5:扩容系统盘会丢数据吗?
按上面的步骤操作不会丢数据,growpart和resize2fs都是在线扩容,不会修改现有数据。但还是强烈建议扩容前打快照,以防万一。
Q6:fstab里用/dev/sdb1和UUID有什么区别?
用/dev/sdb1可能会因为磁盘顺序变化导致挂载错盘,UUID是每个分区唯一的,永远不会变,一定要用UUID。
Q7:新磁盘必须分区吗?能不能整块盘直接格式化用?
也可以,不分区直接mkfs.ext4 /dev/sdb也能用,但还是推荐分一个区,以后管理方便,也符合使用习惯。
Q8:swap分区可以建在数据盘上吗?
可以,但一般swap建在系统盘就行,不需要放在数据盘。
Q9:挂载完磁盘需要重启面板吗?
一般不需要,只要df -h能看到挂载,面板就能自动识别到新的磁盘空间,如果面板里显示的磁盘大小不对,重启一下面板服务就行。
Q10:我不敢自己操作,怕搞坏了怎么办?
没关系,LuckVM新用户购买服务器后,如果需要挂载数据盘或者扩容系统盘,可以联系客服免费协助操作,不用自己折腾。
相关阅读
- 1Panel面板完整使用教程:从安装到建站、备份、Docker管理全流程
- VPS数据自动备份完整指南:3-2-1备份策略+自动备份脚本
- VPS网站搬家完整教程:零downtime迁移到新服务器
- VPS常见故障排查大全:连不上/打不开/速度慢/502错误自己解决
- Linux服务器安全加固15条:从零开始做好服务器防护
- 2026年海外VPS选购终极指南
本文由 LuckVM技术团队 原创发布。LuckVM提供香港CN2 GIA、新加坡Premium、日本东京、美国洛杉矶四大高速节点,全系NVMe SSD+独享带宽,默认开放25端口,自带免费DDoS防护,支持7天无理由退款。新用户购买后可联系客服免费协助磁盘挂载、系统扩容、网站迁移等操作,不用自己折腾。





