我有一台较旧的机器(HP DL180 G6),使用 HP SmartArray 控制器(型号 P410),上面连接了 12 个驱动器。我对控制器的功能并不感兴趣,因为我想设置一个 ZFS 阵列,但后来我发现控制器没有直通模式,为时已晚。
为了解决这个问题,我创建了 12 个逻辑“RAID 0”卷 - 每个驱动器一个。此设置已经运行良好约 3 年了。
控制器已经开始出现故障的迹象,所以我想借此机会在资金充足的情况下转向普通的老式 SATA HBA。
将控制器换成 HBA 后,我是否需要采取其他步骤才能使驱动器可读,还是“可以正常工作”?(换句话说:SmartArray 是否对数据结构做了任何操作,导致其他东西无法读取数据?)
答案1
对于 DL180 G6,您有以下几个选择:
继续使用多个 RAID 0 阵列 - 问题在于驱动器故障本质上是逻辑驱动器故障,并且可能需要重新启动才能识别替换磁盘。
升级到智能阵列 P420 或 H220 或 H240。P420 可以置于“HBA 模式”。H220 和 H240 是 HBA(LSI 芯片组)。这将为您提供所需的原始磁盘访问权限。
搞定它,只需制作所需级别的硬件 RAID 阵列(RAID 1+0),为您的操作系统创建一个小逻辑驱动器(sda)和另一个可供您的 zpool 使用的大逻辑驱动器。这为您提供了 ZFS 卷管理和灵活性,但硬件 RAID、轻松的驱动器更换、监控和闪存/电池支持写缓存。
互联网上有人会说“不,不要这样做……ZFS 需要原始磁盘”,但实际上,这会最大化您的磁盘空间,因为您不需要分配操作系统磁盘。HP 硬件 RAID 非常有弹性。写入缓存很不错。ZFS 最适合 lz4 压缩和 ARC/L2ARC 的灵活性和性能增强。如果您没有合适的 ZIL SLOG 设备和真正架构良好的设置,ZFS 纯粹主义者原始磁盘事情并不是那么重要。
答案2
不,在正常情况下无论如何都不能。您在那里创建的是该磁盘上的元数据和专用分区层,然后 RAID 控制器会在该磁盘上创建分区并将其合并到抽象中。这些都不是操作系统能够直接读取的“正常”分区和磁盘元数据。既然如此,您除了能够读取传统磁盘结构下方的卷的任何格式外,还需要以特定的偏移量读取该磁盘上的数据。
通常最简单的方法是备份此系统,然后将其恢复到新磁盘和不会在磁盘访问方式上设置抽象的新 HBA。