升级飞牛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

最后修改:2026 年 04 月 23 日
如果觉得我的文章对你有用,请随意赞赏