收起左侧

# 飞牛 fnOS 读写缓存异常,无法加载存储空间,无法移除问题解决教程

0
回复
19
查看
[ 复制链接 ]

2

主题

0

回帖

0

牛值

江湖小虾

# 飞牛 fnOS 读写缓存异常,无法加载存储空间,无法移除问题解决教程

## 问题描述

飞牛 fnOS 系统开启 SSD 读写缓存后,无法正常移除缓存,导致:
- 存储空间显示"缓存异常"
- 无法挂载存储空间
- 点击删除缓存提示"正在同步数据"但一直卡在 99.99%

## 适用场景

- 读写缓存(writeback)模式
- 只读缓存也可参考
- 缓存损坏导致存储空间无法挂载

---

## 解决步骤

### 第一步:开启 SSH 并连接

1. 进入飞牛 Web 界面
2. 系统设置 → 终端机 → 开启 SSH
3. 使用 SSH 工具连接(Putty、FinalShell 等)

### 第二步:提权到 root

`bash
sudo -i

第三步:检查系统状态

# 查看逻辑卷状态
lvs

# 查看缓存设备状态
dmsetup status

# 查看磁盘使用情况
df -h

# 查看 LVM 结构
lsblk

第四步:清理系统盘空间(如果空间不足)

问题:系统盘 100% 满会导致操作失败

# 查看大文件目录
du -sh /var/* 2>/dev/null | sort -rh | head -10

# 清理 CUDA 仓库(如果占用空间大)
rm -rf /var/cuda-repo-debian12-12-8-local
rm -rf /var/cuda-repo-debian12-13-0-local
rm -rf /var/cudnn-local-repo-debian12-9.20.0

# 清理日志
rm -f /var/log/*.log
rm -f /var/log/*.gz
> /var/log/syslog
> /var/log/kern.log

# 清理临时文件
rm -rf /tmp/*
rm -rf /var/tmp/*

# 确认空间已释放
df -h

第五步:移除缓存设备

# 移除 dm-cache 设备
dmsetup remove 你的卷组名-0

# 查看是否成功
lvs

第六步:删除缓存池

# 删除缓存池(名称通常为 0cache_cpool)
lvremove 你的卷组名/0cache_cpool

# 如果提示被占用,先停用
lvchange -an 你的卷组名/0cache_cpool_cdata
lvchange -an 你的卷组名/0cache_cpool_cmeta

第七步:激活存储空间

# 激活卷组
vgchange -ay 你的卷组名

# 验证
lvs

第八步:Web 界面挂载

  1. 打开飞牛 Web 界面
  2. 系统设置 → 存储空间管理
  3. 点击 挂载 存储空间

第九步:如遇数据库错误

# 检查数据库状态
systemctl status postgresql

# 重启数据库
systemctl restart postgresql

# 或强制挂载(只读模式,导出数据用)
mount -t btrfs -o ro,usebackuproot,rescue=all /dev/mapper/你的卷组名-0 /mnt/test

关键命令速查

操作 命令
查看缓存状态 dmsetup status
查看 LVM lvs / lsblk
查看磁盘空间 df -h
移除缓存设备 dmsetup remove <设备名>
删除缓存池 lvremove <卷组名>/0cache_cpool
激活卷组 vgchange -ay <卷组名>
查看日志 dmesg

注意事项

  1. 读写缓存风险高:读写模式下 SSD 丢失可能导致数据丢失,务必通过界面操作删除缓存
  2. 提前备份:重要数据先备份
  3. 系统盘空间:保持系统盘有足够空间(建议 10GB 以上)
  4. 物理拔除法:如软件方法无效,可尝试关机后拔掉 SSD,再开机删除缓存

相关错误信息

  • Cache data is missing - 缓存数据丢失
  • database read/write error - 数据库读写错误,可能系统盘满
  • No space left on device - 系统盘空间不足

官方渠道

如以上方法均无效,建议联系飞牛官方:

  • 加入飞牛微信/QQ 群
  • 提供设备 ID 和日志
  • 或使用系统降级法(刷入 0.8.43 版本后删除缓存,再升级)

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则