我可以在 3ware raid 系统上使用 ZFS 吗?

我可以在 3ware raid 系统上使用 ZFS 吗?

我有一台服务器,所有磁盘都连接到 3ware 卡。我知道 ZFS 拥有自己的 RAID,并且由于其性质,需要查看各个磁盘才能正常运行。不幸的是,这是我在该服务器上可以拥有的唯一磁盘设置。我已经在 3ware 中重新配置了磁盘,使每个磁盘都是一个单元,没有 RAID 级别。即使这样做,我也不确定 ZFS 是否可以正确看到它们并可以访问所有磁盘属性。

我可以在 3ware RAID 系统上使用 ZFS 吗?

我需要对此服务器进行一些测试:

如果我仅在磁盘上安装 ZFS,没有 RAID 级别,直接查看硬件的要求是否仍然适用?

答案1

ZFS 池可以在许多设备上创建,从原始磁盘到文件。如果您在硬件级别配置 RAID 并提供逻辑磁盘,则可以在其之上配置 ZFS。但 ZFS 喜欢看到独立的磁盘/设备,这样您就可以从所谓的自我修复功能中受益。我的建议是不要使用硬件级别 RAID,而是在配置 ZFS 时公开各个磁盘并配置 RAID 级别。如果您想测试 ZFS,您可以使用单个磁盘甚至现有文件系统上的文件,例如:

truncate -s 1G /var/tmp/disk0
zpool create tstpool /var/tmp/disk0

您还可以使用以下方法创建镜像:

truncate -s 1G /var/tmp/disk0 /var/tmp/disk1
zpool create tstpool mirror /var/tmp/disk0 /var/tmp/disk1

zpool status tstpool
  pool: tstpool
 state: ONLINE
  scan: none requested
config:

        NAME                STATE     READ WRITE CKSUM
        tstpool             ONLINE       0     0     0
          mirror-0          ONLINE       0     0     0
            /var/tmp/disk0  ONLINE       0     0     0
            /var/tmp/disk1  ONLINE       0     0     0

errors: No known data errors

答案2

即使这样做了,我也不确定 ZFS 是否能正确地看到它们并可以访问所有磁盘属性。

可以在服务器上试试吗?例如,在 Solaris 和 illumos 上,您可以使用formatformat -e列出所有已识别的磁盘设备:

  • 如果它们被正确识别为全名(如本机设备),则控制器很可能处于 HBA(主机总线适配器)模式,并且只是将它们传递(最佳选择)
  • 如果它们被识别,但名称听起来像控制器中的编号虚拟磁盘,则它可能处于具有 JBOD 设置的 RAID 模式。这仍然没问题,您可以在其上构建 ZFS,但稍后将磁盘从控制器移动到另一个(替换)控制器时可能会出现问题。这取决于硬件,而不是 ZFS(相同类型的控制器通常就可以)。
  • 如果仅显示一个大磁盘,则无法获得 ZFS 冗余和自我修复,但会收到错误指示。此外,你的表现可能会更差,第二点中的所有内容也适用(我会避免这种情况)。
  • 如果找不到它们,您根本无法使用它们(最坏的情况)。

相关内容