本文围绕宝塔面板硬盘管理,系统讲解磁盘空间告急时如何查看磁盘状态、挂载数据盘、迁移网站目录、清理日志与备份,以及排查挂载报错,帮助用户解决磁盘飙红和空间不足问题。
服务器一跑就磁盘飙红、宝塔面板首页频繁提示空间不足、购买的额外数据盘却一直闲在那里没用——这些都是建站和面板操作中的高频痛点。宝塔面板硬盘管理并不是某一个独立按钮,而是结合面板首页监控、文件管理、终端命令、开机挂载和日常清理的一整套操作,下面手把手带你从查看磁盘状态、挂载数据盘、迁移网站目录,到清理空间、排查常见挂载报错,全部走通。
宝塔面板硬盘管理全流程,数据盘挂载、目录迁移、空间清理与报错排查
适用人群与前置准备
适用人群
- 刚购买云服务器,有独立数据盘但还没有挂载使用;
- 网站运行一段时间后,宝塔面板首页磁盘使用率经常飙红;
- 需要把网站数据、数据库备份迁移到大容量数据盘;
- 不想只靠命令行,希望在宝塔面板中可视化管理硬盘和目录占用;
- 遇到挂载失败、空间不释放、重启后磁盘丢失等问题。
前置准备
开始前请确认:
- 服务器已安装宝塔面板,并能正常登录;
- 有服务器 SSH 或面板终端执行权限;
- 新数据盘已购买并在云控制台“挂载到实例”;
- 重要网站文件和数据库已备份,尤其是涉及目录迁移时。
先定位:宝塔面板硬盘管理入口与截图位置
1 首页磁盘使用率
登录宝塔面板后,进入 首页。
在首页的系统信息区域,通常能看到“磁盘使用率”卡片或进度条,这里是宝塔面板硬盘管理最直观的入口。
截图位置提示:
宝塔面板 -> 首页 -> 第一屏系统信息区域 -> 磁盘使用率卡片。
如果磁盘图标变红或显示超过 80%,说明空间已经告急,需要立即清理或扩容。
2 文件管理中的分区剩余空间
进入左侧菜单 文件。
在文件管理页面的路径栏附近,通常能看到当前所在目录对应分区的剩余空间和总容量。
截图位置提示:
宝塔面板 -> 文件 -> 顶部路径栏下方或右侧磁盘信息。
这个位置适合判断某个网站目录当前落在哪块盘上,以及该分区还剩多少空间。
3 网站列表中的占用空间列
进入 网站 页面,在网站列表中可以查看每个站点的占用空间,部分版本需要手动开启该列。
截图位置提示:
宝塔面板 -> 网站 -> 列表右上角“列表显示设置”或“列设置” -> 勾选“占用空间”。
通过这个列可以快速排序,找到最占空间的网站,再进入文件管理清理。
4 终端命令辅助
宝塔面板左侧菜单中有 终端,可以直接在面板内执行命令。
对于挂载、分区、查看 UUID 等操作,终端是必要的辅助工具。
查看目录占用,找到空间大户
1 通过网站列表定位
先进入宝塔面板 -> 网站,按“占用空间”排序,找到体积最大的网站。
2 通过文件管理器查看目录属性
进入 文件,找到网站根目录,/www/wwwroot/你的网站。
右键目录,选择“属性”或“查看大小”,面板会统计该目录的总大小。
截图位置提示:
宝塔面板 -> 文件 -> 目标目录 -> 右键 -> 属性。
如果目录文件过多,统计时间可能较长,请耐心等待。
3 用终端快速定位
对于超过 10 万文件的目录,面板统计可能较慢,建议在终端执行:
du -sh /www/wwwroot/* 2>/dev/null | sort -h
这条命令会按大小升序列出所有网站目录。
还可以继续往下查:
du -sh /www/wwwlogs/* du -sh /www/backup/*
通常日志目录和备份目录是最容易爆盘的地方。
挂载新数据盘:完整操作步骤
这里以 Linux 云服务器常见数据盘 /dev/vdb 为例,请根据实际设备名替换。
1 确认磁盘设备名
在宝塔面板左侧打开 终端,执行:
lsblk
查看输出。/dev/vdb 下方没有任何挂载点,说明该盘还未使用。
截图位置提示:
宝塔面板 -> 终端 -> 输入 lsblk -> 查看输出中 MOUNTPOINT 列为空的新磁盘。
也可以用:
fdisk -l
进一步确认磁盘容量和设备名。
2 分区与格式化
如果新盘不需要分区,可以直接格式化整块盘,但为了兼容部分云平台快照和扩容策略,建议先分区再格式化。
执行:
fdisk /dev/vdb
依次输入:
n p 1 回车 回车 w
这会创建一个主分区 /dev/vdb1。
然后格式化分区为 ext4 文件系统:
mkfs.ext4 /dev/vdb1
配置参数说明:
ext4:Linux 下最通用的文件系统,稳定、性能好,宝塔环境推荐;- 也可以用
xfs,适合大文件场景,但 ext4 兼容性更好; mkfs.ext4会清空目标磁盘所有数据,操作前务必确认设备名;- 分区类型默认是
83 Linux,无需额外修改。
3 创建挂载点并临时挂载
先创建挂载目录,例如挂载到 /mnt/data:
mkdir -p /mnt/data mount /dev/vdb1 /mnt/data
验证是否挂载成功:
df -h /mnt/data
如果输出显示 /dev/vdb1 和总容量,说明临时挂载成功。
4 写入 fstab 实现开机自动挂载
先获取 UUID:
blkid /dev/vdb1
复制输出中的 UUID="xxx"。
编辑 /etc/fstab,在文件末尾添加一行:
echo "UUID=你的UUID /mnt/data ext4 defaults,nofail 0 0" >> /etc/fstab
配置参数说明:
UUID=你的UUID:比直接写/dev/vdb1更稳定,避免设备名变化导致挂载失败;/mnt/data:挂载点,路径必须已存在;ext4:文件系统类型,必须与格式化时一致;defaults,nofail:defaults表示标准挂载选项;nofail表示即使该盘不存在也不影响系统启动,适合云服务器数据盘;0 0:第一个 0 表示不备份,第二个 0 表示开机不检查文件系统。
写入后测试 fstab 是否配置正确:
mount -a
如果没有报错,再执行:
df -h /mnt/data
确认自动挂载正常。
5 在宝塔面板中验证
回到宝塔面板:
- 进入 首页,刷新页面,查看磁盘使用率是否新增了一块盘;
- 进入 文件,跳转到
/mnt/data,测试新建文件或上传文件是否正常。
截图位置提示:
宝塔面板 -> 文件 -> 左侧目录树或路径输入 /mnt/data -> 顶部磁盘信息显示为新盘容量。
把网站目录迁移到新盘
很多用户想把新数据盘直接挂载到宝塔默认目录 /www,如果你还没有安装网站,可以直接把新盘挂载到 /www,但如果 /www 已有数据,需要先迁移再挂载,否则会遮蔽原目录。
1 推荐方案:只迁移大目录
如果不想整体迁移 /www,可以采用更稳妥的方式:只把网站根目录或备份目录放到新盘。
例如把新盘挂载到 /www/wwwroot:
mkdir -p /mnt/data mount /dev/vdb1 /mnt/data rsync -av /www/wwwroot/ /mnt/data/
然后停止相关服务,替换目录:
/etc/init.d/nginx stop /etc/init.d/mysqld stop /etc/init.d/php-fpm-74 stop # 根据实际 PHP 版本调整 mv /www/wwwroot /www/wwwroot_old mkdir -p /www/wwwroot mount /dev/vdb1 /www/wwwroot
写入 fstab:
echo "UUID=你的UUID /www/wwwroot ext4 defaults,nofail 0 0" >> /etc/fstab
最后启动服务:
/etc/init.d/nginx start /etc/init.d/mysqld start /etc/init.d/php-fpm-74 start
确认网站可以正常打开后,再删除 /www/wwwroot_old。
2 迁移整个 /www 目录
如果你想整体迁移 /www,流程类似:
- 将新盘临时挂载到
/mnt/data; - 执行
rsync -av /www/ /mnt/data/; - 停止宝塔面板和服务:
/etc/init.d/bt stop /etc/init.d/nginx stop /etc/init.d/mysqld stop
- 改名原目录:
mv /www /www_old mkdir /www mount /dev/vdb1 /www
- 写入 fstab 并启动:
echo "UUID=你的UUID /www ext4 defaults,nofail 0 0" >> /etc/fstab /etc/init.d/bt start /etc/init.d/nginx start /etc/init.d/mysqld start
注意:
迁移 /www 风险较高,务必提前做快照或备份,迁移过程中面板会短暂无法访问,操作前建议在云控制台做好磁盘快照。
日常清理:宝塔面板硬盘管理必备动作
1 清理网站日志
网站日志通常位于 /www/wwwlogs,进入宝塔面板 -> 文件 -> /www/wwwlogs。
选择 .log 文件,可以下载后删除或直接清空。
截图位置提示:
宝塔面板 -> 文件 -> /www/wwwlogs -> 勾选日志文件 -> 删除或右键清空。
如果不想手动清理,可以在计划任务中添加定期清理脚本。
2 清理 MySQL 二进制日志
进入 数据库 -> 找到 MySQL -> 设置 -> 二进制日志。
可以关闭二进制日志,或设置保留天数,例如只保留 7 天。
截图位置提示:
宝塔面板 -> 数据库 -> MySQL -> 设置 -> 二进制日志选项卡。
也可以在终端执行:
mysql -uroot -p PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY);
3 清理旧备份与回收站
进入 文件,检查 /www/backup 目录,删除过期备份。
文件管理右侧或底部通常有“回收站”,定期清空已删除文件。
截图位置提示:
宝塔面板 -> 文件 -> 左侧或顶部“回收站”入口 -> 清空回收站。
4 清理网站缓存和临时文件
常见目录:
/www/wwwroot/你的网站/runtime/cache /www/wwwroot/你的网站/storage/logs
可通过文件管理器进入对应目录,按修改时间排序后清理旧文件。
常见报错与解决
报错1:mount: unknown filesystem type 'ext4'
原因: 分区未格式化,或文件系统类型写错。
解决:
先确认分区是否已格式化:
blkid /dev/vdb1
如果没有输出 TYPE="ext4",请执行:
mkfs.ext4 /dev/vdb1
再重新挂载。
报错2:umount: /www: target is busy
原因: 有服务或进程正在占用该目录。
解决:
先停止相关服务:
/etc/init.d/nginx stop /etc/init.d/mysqld stop /etc/init.d/php-fpm-74 stop
如果仍然提示 busy,执行:
lsof /www
找到占用进程并结束,或直接重启服务器后从控制台进入救援模式操作。
报错3:写入 fstab 后重启进入紧急模式
原因: UUID 写错、磁盘不存在,或文件系统类型错误。
解决:
进入云服务器控制台的 VNC/救援模式,编辑 /etc/fstab,把错误行注释或修正。
建议以后在 fstab 中使用 nofail:
UUID=你的UUID /www ext4 defaults,nofail 0 0
这样即使数据盘临时卸载,也不会影响系统启动。
报错4:删除文件后磁盘空间不释放
原因: 文件被删除,但进程仍占用文件句柄,空间不会立即释放。
解决:
执行:
lsof | grep deleted
找到对应进程后重启该服务,或直接重启服务器。
报错5:面板首页磁盘使用率与实际不符
原因: 面板缓存或指标更新延迟。
解决:
刷新面板首页;在终端执行 df -h 对比实际磁盘;重启面板:
bt restart
如果仍不一致,以 df -h 为准。
操作清单总结
宝塔面板硬盘管理的核心流程可以归纳为:
- 在面板首页和文件管理中查看磁盘使用率;
- 通过网站列表和终端定位大文件;
- 使用
lsblk、fdisk、mkfs.ext4分区格式化新盘; - 挂载新盘并写入 fstab;
- 如需迁移网站目录,先备份、停服务、复制、改名、挂载、再启动;
- 日常定期清理日志、旧备份、MySQL 二进制日志;
- 遇到挂载失败或空间不释放,按报错逐项排查。
只要按这个顺序操作,宝塔面板硬盘管理并不复杂,最关键的永远是:操作前先备份,写 fstab 时检查 UUID,挂载盘前确认设备名。 这样就能避免大部分磁盘问题。


