升级飞牛NAS系统后,遭遇硬盘挂载失败的问题着实让人头疼。本文将介绍飞牛OS 1.1.11及以上版本升级后,在Web界面挂载硬盘时出现“数据库读写错误”的原因及两种可行的解决方案。
问题现象
升级到飞牛OS 1.1.11(或更高版本)后,用户在Web界面尝试挂载硬盘时,会遇到“数据库读写错误”的提示,导致挂载流程无法完成。
问题原因
飞牛OS 1.1.11版本默认启用了AppArmor安全模块,但该模块未正确配置对/vol1目录(用户数据盘)的访问权限。这会引发一系列连锁问题:
trim_license服务无法正常写入PostgreSQL数据库- Docker无法创建volume元数据文件(
metadata.db) - 硬盘挂载流程因数据库操作失败而中断
解决方案一:禁用AppArmor内核安全模块
注意:此操作仅在飞牛OS环境下安全,不建议在通用Linux服务器上使用。
操作步骤
第一步:SSH远程连接
通过SSH客户端登录飞牛NAS:
ssh admin@你的飞牛NAS IP第二步:修改GRUB启动参数
使用root权限编辑启动配置文件:
sudo nano /etc/default/grub找到以下行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"将其修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=0 security=none"保存并退出(按Ctrl+O→回车→Ctrl+X)。
第三步:更新引导并重启
sudo update-grub
sudo reboot第四步:验证修复结果
系统重启后,登录Web界面重新挂载硬盘,应不再出现报错信息。
可通过SSH执行以下命令进一步确认服务状态:
systemctl is-active trim_license postgresql@15-main补充说明
禁用AppArmor不会影响飞牛NAS的核心功能,反而能解决由此引发的兼容性问题。若未来官方已修复此问题,可通过恢复GRUB参数重新启用AppArmor。
解决方案二:使用官方修复脚本
如果不想禁用AppArmor,也可以使用官方提供的修复脚本:
sudo -i
curl -L https://static2.fnnas.com/aptfix/trim-sec -o trim-sec && chmod +x trim-sec && ./trim-sec该脚本会自动配置AppArmor对相关目录的访问权限。
版本适用说明
根据实际测试,方案一适用于飞牛OS 1.1.11版本;方案二则是官方针对1.1.18版本推出的专门修复方案。需要注意的是,1.1.18版本在修复后再次升级时,该问题通常不会再出现。
总结
遇到挂载硬盘报“数据库读写错误”时,不必慌张。根据当前使用的系统版本选择合适的方案即可:1.1.11用户可先尝试禁用AppArmor;1.1.18用户建议使用官方修复脚本。若两种方案均无法解决,建议联系飞牛官方技术支持。
来源:https://blog.ybyq.wang/archives/1447.html