必须先挂载数据盘到/www目录,否则网站文件、数据库等将挤爆系统盘;需确认设备名、用UUID而非设备名写入fstab、格式化为ext4/XFS、验证自动挂载及迁移原有/www数据。

宝塔面板安装前不挂载数据盘,后续网站文件、数据库、备份全挤在系统盘里,撑爆只是时间问题。必须先挂载,而且要避开常见陷阱——比如误挂载系统盘、没设开机自动挂载、格式化错文件系统。
确认新硬盘设备名和分区状态
很多用户直接 fdisk -l 就开干,结果把 /dev/vda(系统盘)当成了新盘。务必先筛出未挂载且容量明显更大的裸盘:
- 运行
lsblk -f,找没有MOUNTPOINT且FSTYPE为空的设备,如/dev/vdb - 再用
sudo file -s /dev/vdb确认是否为“data”(未初始化);若返回“ext4 filesystem data”,说明已被格式化过,别重复格式化 - 注意:阿里云/腾讯云新购数据盘默认是未分区的裸设备,
/dev/vdb是设备名,/dev/vdb1才是分区名——脚本通常会自动建分区,但你要知道它干了什么
使用宝塔官方一键挂载脚本(仅限 CentOS/Ubuntu/Debian)
宝塔提供的 mount.sh 脚本确实省事,但它不是万能的,尤其对已有数据或特殊分区表的盘会失败:
- 执行前先确保网络通畅:
wget -O mount.sh http://download.bt.cn/tools/mount.sh && sudo bash mount.sh - 脚本默认将盘挂载到
/www,并设为 ext4 + 开机自动挂载;如果你需要挂载到其他路径(如/data),得手动改脚本里的default_dir变量再运行 - 如果提示 “
Partition table does not exist”,说明盘是 GPT 分区表但脚本只支持 MBR——此时需先用parted /dev/vdb mklabel gpt初始化,再重试 - 脚本不会覆盖已有数据,但如果盘上已有重要文件,它会跳过格式化,只挂载;你得自己确认
df -h输出中挂载点实际用了哪个分区
挂载后必须验证自动挂载是否生效
很多人以为脚本跑完就一劳永逸,重启后发现 /www 空了——因为 /etc/fstab 里写的是设备名(/dev/vdb1),而云服务器重启后设备名可能变成 /dev/vdc1:
- 检查
cat /etc/fstab | grep www,确认挂载项使用的是 UUID 而非设备名;如果不是,用sudo blkid /dev/vdb1查 UUID,替换 fstab 中对应行 - 手动测试:执行
sudo umount /www && sudo mount -a,无报错才说明 fstab 配置正确 - 检查挂载选项是否含
defaults,noatime;缺noatime会导致小文件频繁写入磁盘,拖慢宝塔后台响应
最易被忽略的是:挂载完成后,/www 目录原有文件不会自动迁移。如果你之前已在系统盘装过宝塔,得手动把 /www/wwwroot、/www/server 等目录 mv 过去,并修正软链接或宝塔配置里的路径。否则面板看着在运行,实际还是往系统盘写数据。











