我已将 ZFS 池从一台运行某些预发行版 Solaris 11 的 SunFire 服务器移至另一台运行最新 Solaris 10 的服务器,但现在无法导入它。这确实是zfs export
旧的。与此同时,我迁移了另一个 zpool ( extpool2
),它导入得很好。这是我在新服务器上得到的信息:
root@kria ~ # zpool import
pool: extpool
id: 8401594403030600070
state: ONLINE
status: The pool is formatted using an older on-disk version.
action: The pool can be imported using its name or numeric identifier, though
some features will not be available without an explicit 'zpool upgrade'.
config:
extpool ONLINE
raidz1-0 ONLINE
c2t8d0 ONLINE
c2t10d0 ONLINE
c2t12d0 ONLINE
c2t14d0 ONLINE
root@kria ~ # zpool import -f extpool
cannot import 'extpool': one or more devices is currently unavailable
但他们是可用 - 所有 4 个都在线,/dev/ 条目在那里并且它们显示在format
设备列表中。 zfs版本extpool
是 31(我在移动它之前检查过)并且主机至少支持版本 32(检查了它的 rpool 版本)。
我也这样做了zdb -l
并遇到了这个失败:
root@kria ~ # zdb -l /dev/dsk/c2t8d0
------------------------------------------
LABEL 0
------------------------------------------
------------------------------------------
LABEL 1
------------------------------------------
failed to unpack label 1
------------------------------------------
LABEL 2
------------------------------------------
------------------------------------------
LABEL 3 - CONFIG MATCHES LABEL 2
------------------------------------------
知道该怎么做吗?
答案1
显然,Solaris 11 和 Solaris 10 - ZFS 加密和 ZFS 重复数据删除之间不兼容。尽管 Solaris 11 上的 ZFS 版本 31 和 21 分别支持它们,但 Solaris 10 根本不支持它们,即使它最高支持版本 32 :(
提示:zpool upgrade -v
查看支持的功能列表。