刘又诚 发表于 2026-4-25 23:28
同样问题,升级1.30系统,zfs存储空间识别不到了
我也遇到相同问题,两台设备升级1.30以后zfs的存储空间显示已移除
之前的操作是升级到1.1.29,昨天下午出现了平级升级的提示(不显示当前版本号只告诉我可以更新到1.1.29),我点了升级但是卡在下载依赖,后面刷新了一下自动把更新取消了,当时一切正常,就没再管;
今天发现弹出提示升级1.1.30就点了升级,升完发现zfs的存储空间显示已移除,点击尝试修复报了错:
zpool: error while loading shared libraries: libzfs_core.so.3: cannot open shared object file: No such file or directory
正好手头有一台昨天刚重装过升级到1.1.30的,就从里面导出了对应的文件,传到故障的nas上尝试修复了:
1.在故障机器执行 zpool version 报错缺失库

2.在故障机器执行 ldd $(which zpool) 发现 libzfs_core.so.3 缺失

3.在正常机器执行 ls -l /lib/x86_64-linux-gnu/libzfs_core.so.3* 发现缺失的是个符号链接,对应的是库文件libzfs_core.so.3.0.0

4.把缺失的库文件libzfs_core.so.3.0.0上传到故障机器的/lib/x86_64-linux-gnu/ (方式随意,我用的scp)

5.在故障机器执行 先 cd /lib/x86_64-linux-gnu/ 切换到对应目录
然后执行 sudo ln -s libzfs_core.so.3.0.0 libzfs_core.so.3 创建对应的符号链接
最后执行 ls -l /lib/x86_64-linux-gnu/libzfs_core.so.3* 应该能同时查到库文件和符号链接

6.在故障机器执行 sudo ldconfig 刷新缓存 此时不应该有刚刚库文件相关的报错 其他报错和这个问题无关暂且无视
然后执行 zpool version 此时应该能输出版本号,不再报缺失库的异常

7.最后到网页上重试修复导入存储空间就能正常挂载了(至少我的是这样)

理论来说这样修复应该不会伤害到数据,不过要是不放心还是等等官方的修复方案吧。
好巧不巧我昨天之所以重装那个nas的原因也是因为卡在下载依赖,我就想试试水在其中一台she'b点了系统修复,结果修复完重启后开不开机了,无奈只能重装,这才在今天有了一台正常的设备……
所以归根结底都是因为昨天出现的那个奇怪的更新提示导致的