ZFS重启动时不能自动载入(Import)存储池磁盘组的问题。
2018-06-02 03:10:51    212    0    0
lion


环境:
Windows 2012(母机) + HyperV +  Ubuntu 16.4 LTS(虚拟机) + Open ZFS
4块2T存储盘,分配给虚拟机(SCSI接口),建立raid-z磁盘组。
另一块虚拟机系统盘,IDE接口。

现象:
磁盘正常,但是重启系统后,系统不会自动加载磁盘阵列。
ZPool Status显示没有任何磁盘阵列。
执行Zpool Import可以正常显示待载入的raid-z磁盘阵列。

手动载入后一切正常。
分析:
查看系统日志,cat /var/log/syslog | grep zfs
发现:
cannot import ‘*****’: one or more devices is currently unavailable
systemd[1]: zfs-import-cache.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: zfs-import-cache.service: Unit entered failed state.
仔细分析前后日志发现,zfs-import-cache.service这个命令负责Import  ZFS磁盘组。但是这个指令执行时,某些SCSI磁盘(HyperV虚拟)尚未准备好,因为Kenel还没完成载入这些设备。
解决办法:
删除/etc/zfs/zpool.cache文件,重启,问题解决。


硬盘硬件问题解决:

–20171029  磁盘硬件问题终于发生了,开始现象是zfs共享目录读写变得特别慢,仅有2-3M每秒,使用hdtune查看硬盘健康状态,发现有一块硬盘出现坏道黄色告警,测速读取才不到1m每秒。

 解决办法:

     换块硬盘,用zpool replace命令替换原有硬盘。

     换硬盘后,最好也删除/etc/zfs/zpool.cache文件,再重启两次,观察是否正常。


zfs磁盘Label不匹配:

     如果换磁盘后,短时间内频繁再出现磁盘损坏,

     显示degree降级运行,大概意思是什么Label不能识别,

     但是使用fdisk -L查看磁盘正常,

     那很有可能也是/etc/zfs/zpool.cache中缓存的磁盘ID紊乱造成的,

     删除这个文件后重启,也许就能解决问题。

Pre: StrongSwan搭建IPSec/IKEV2为Windows10和IOS11提供VPN接入

Next: 教你蓝牙局域网让你的电脑通过手机360免费Wifi上网

212
目录