第一次服务器挂载硬盘踩坑
最近在配置服务器的时候,遇到了磁盘挂载的一系列问题,尤其是涉及宝塔面板(aapanel)默认目录 /www
的时候,一不小心就会“踩坑”。这篇文章记录一下我第一次给服务器挂载新硬盘的过程和解决方法。
场景说明
我购买的服务器系统盘只有 50G,厂商最近赠送了一块 80G 的磁盘用于网站数据存储,于是尝试手动挂载新磁盘。
第一步:查看磁盘信息
lsblk
输出中我找到了新磁盘 /dev/vdb
,已经被分了一个分区 /dev/vdb1
。
第二步:格式化新磁盘
mkfs.ext4 /dev/vdb1
这会将磁盘格式化为 ext4 文件系统(注意:此操作会清空磁盘数据)。
第三步:错误操作——直接挂载到 /www
mount /dev/vdb1 /www
一开始我直接将磁盘挂载到了 /www
,结果宝塔面板炸了,运行 bt
命令报错:
cat: /www/server/panel/BT-Panel: No such file or directory
/usr/bin/bt: line 494: /usr/bin/python: No such file or directory
原因分析
这是因为 /www
原本是宝塔面板的重要目录,挂载新磁盘后原目录被“覆盖”,文件虽未丢失,但系统无法访问了。
紧急解决办法
umount /www
解除挂载后,宝塔面板功能立刻恢复。
第四步:正确的做法——挂载到 /www1 (或者别的)
为了不影响宝塔运行,我选择将新磁盘挂载到 /www1
:
mkdir -p /www1
mount /dev/vdb1 /www1
设置开机自动挂载
先查 UUID:
blkid /dev/vdb1
返回类似:
UUID="89b01a3b-afcc-4c66-b3e0-07a4cbaed468"
然后编辑 /etc/fstab
:
nano /etc/fstab
添加一行:
UUID=89b01a3b-afcc-4c66-b3e0-07a4cbaed468 /www1 ext4 defaults 0 0
让系统识别新的挂载配置:
systemctl daemon-reload
测试挂载是否生效:
mount -a
df -h
第五步:迁移原有 /www 数据(可选)
如果真的要把 /www
挂载到新磁盘,需要先迁移原数据:
mkdir /mnt/newdisk
mount /dev/vdb1 /mnt/newdisk
rsync -aHSAX /www/ /mnt/newdisk/
umount /mnt/newdisk
mount /dev/vdb1 /www
总结
- ❌ 直接挂载到
/www
会导致宝塔面板炸掉 - ✅ 挂载到
/www1
是最安全的方式 - ✅ 修改
/etc/fstab
后,记得systemctl daemon-reload
- ✅ 宝塔的数据路径可以通过后台设置为
/www1
子目录
踩坑记录。
发表回复