将 ZFS 池从 Openindiana build 151a7 迁移到 FreeBSD 9.1 时出现问题

将 ZFS 池从 Openindiana build 151a7 迁移到 FreeBSD 9.1 时出现问题

我目前在 ESXi 上运行 Openindiana,并可通过 RDM 访问 ZFS 池中的 2 个磁盘。我以前在 Linux 上运行带有 ZFS 的 Ubuntu,但由于 ESXi 5.1 支持我的硬件,因此我想从该 ZFS 实现转移到本机 ZFS 系统。

我只是导出了我的 ZFS 池,在 USB 上安装了 ESXi,并在单独的 SSD 上安装了操作系统。将池导入 Openindiana 时没有遇到任何问题,但出于某种原因,Openindiana 想要升级我的池,这有点奇怪,因为它已经是 v28 了,但我还是继续升级了。

现在,几个月后,我想尝试一下 FreeBSD,看看是否存在任何性能差异,但此时我遇到了问题。FreeBSD 不会导入我的池,因为它声明它是一个较新的版本,我觉得这很奇怪,因为 Openindiana 和 FreeBSD 都使用 ZFS v5 和 zpool v28。

这是 FreeBSD 告诉我的:

#zpool import
  pool: tank
  id: <ID>
  state: UNAVAIL
  status: The pool is formatted using an incomaptible version.
  action: The pool cannot be imported. Access the pool on a system running newer software, or recreate the pool from backup.
  see: http://illumos.org/msg/ZFS-8000-A5
  config:

       tank                                      UNAVAIL newer version
         mirror-0                                ONLINE
            gptid/<ID>                           ONLINE
            gptid/<ID>                           ONLINE

当然,如果我尝试将 zpool 导入到具有旧版本 ZFS 的系统,这种情况是可以预料到的,但由于 FreeBSD 和 Openindiana 中的版本据称相同,我不明白为什么会发生这种情况。我可以毫无问题地将 zpool 导入 Openindiana。你们认为这里的问题是什么?

谢谢!

答案1

首先,您能展示一下的输出zpool upgrade -v吗?

然后看看:我可以相信 ZFS 在 Linux 和 FreeBSD 之间是一致的吗?

池版本是28,但是“功能标记” 是为了区分不同平台上 ZFS 变体之间的功能而实现的。

例如,zpool get all vol1我的 Linux 系统上的一个 ZFS 上的结尾是:

vol1  feature@async_destroy  enabled                local
vol1  feature@empty_bpobj    active                 local
vol1  feature@lz4_compress   active                 local

我知道你正在尝试,但坚持使用一个平台一段时间还是有好处的。OpenIndiana 可能比你的 FreeBSD 目标更新。下面是完整列表版本和 zpool 兼容性。

答案2

正如 kworr 指出的那样,我正在安装不支持 zpool 5000 的 FreeBSD 9.1-RELEASE,这就是我无法迁移 ZFS 池的原因。

相关内容