![将 RAID 控制器升级到 4kn - 我是否必须重新初始化阵列才能使用 4kn?](https://linux22.com/image/632501/%E5%B0%86%20RAID%20%E6%8E%A7%E5%88%B6%E5%99%A8%E5%8D%87%E7%BA%A7%E5%88%B0%204kn%20-%20%E6%88%91%E6%98%AF%E5%90%A6%E5%BF%85%E9%A1%BB%E9%87%8D%E6%96%B0%E5%88%9D%E5%A7%8B%E5%8C%96%E9%98%B5%E5%88%97%E6%89%8D%E8%83%BD%E4%BD%BF%E7%94%A8%204kn%EF%BC%9F.png)
我有一台企业级工作站,Adaptec 6405ERAID 控制器。据 Adaptec 称,该 RAID 控制器本身不支持 4K 磁盘扇区,也永远无法支持。如果您将 4K 磁盘放入其中,那么如果它具有 512 字节扇区仿真模式 (512e),它将使用 512e。如果它没有 512e,磁盘根本无法工作。
连接到我的 6405E 的是四个 HGST SATA 磁盘,它们都具有 4K 原生扇区,但它们支持 512e。这些磁盘处于 RAID10 中,阵列运行“相当好”(性能不错,但并不惊人)。
不擦除磁盘上的数据并重新初始化阵列,假设我插入一个Adaptec 71605E, 哪个做支持原生 4K 扇区,控制器使用连接我的磁盘时,我可以使用 4K 扇区吗?还是说使用 512e 或 4Kn 的决定已经融入到磁盘格式的结构中,以至于我必须擦除磁盘才能做到这一点?
这个问题只是关于我是否必须备份我的数据并重新初始化阵列,或者是否可以要求控制器(自动或手动干预)“切换”到高级格式 4Kn 寻址。我已经确定如果我做过擦除并重新初始化阵列,我肯定可以设置它从头开始在所有驱动器上使用 4Kn,使用这个新的 RAID 控制器。
请注意,我已经非常熟悉arcconf
命令行实用程序,并且之前曾用它将这个阵列从 RAID0 升级到 RAID10(是的,我知道,我本来就不应该使用 RAID0,但我很幸运,好吗?)。如果该实用arcconf
程序有某种功能可以在 Adaptec 7 系列控制器上从 512e “切换”到 4Kn,我很想知道,这样我就可以使用它来避免重新格式化并暂时将数据卸载到备份位置。
最糟糕的情况是,我已经将关键数据备份到异地,但系统上已加载了太多软件,因此,对我来说,将整个阵列的块层副本复制到另一个磁盘(可能是通过 AHCI 连接到主板的廉价 4TB 磁盘)上,然后在逻辑阵列重新初始化后将其复制回来会更便宜(就所花费的时间而言)。与重新安装所有内容(大量需要激活的专有 Windows 程序等)相比,这实际上更便宜、更快捷。
答案1
您的磁盘要么是 512e(SAS/SATA 接口上有 512 个扇区),要么是 4k 原生(SAS/SATA 接口上有 4k 扇区),遗憾的是,无法通过软件或跳线等更改。您可以在购买磁盘时选择传输模式。如果您有支持 4k 原生接口的适配器,请购买 4k 原生磁盘。
更新:再次重申,磁盘永远不会“从 4kn 回退到 512e”等。磁盘要么是 512e - 这意味着它们将始终通过 SAS/SATA 接口以 512 大小的扇区发送数据,要么是 4kn,这意味着磁盘将始终通过 SAS/SATA 接口以 4k 大小的数据发送数据,并且它仅取决于磁盘,而不取决于 RAID 适配器功能。512n 和 512e 之间的区别在于,在物理介质上,512n 的扇区大小为 512,512e 的扇区大小为 4k(磁盘芯片将板上的每个 4k 扇区转换为接口上的 8 x 512 扇区),在接口上,512e 磁盘将始终仅传输 512 字节的扇区,无论它连接到哪个适配器。512e 和 4kn 磁盘的部件号不同,例如:
ST6000NM0014-6TB SAS 驱动器,SAS 接口上有 4k 扇区(称为 4kn 驱动器);
ST6000NM0034 - 6TB SAS 硬盘,SAS 接口上有 512 字节扇区(称为 512e 硬盘)
这两者在磁盘介质上都有 4k 扇区,因此在 512e 情况下必须注意扇区写入对齐。
您仍然可以购买 512n 磁盘,例如:ST4000NM0023 - 4TB SAS 驱动器,接口上有 512 字节扇区,介质上有 512 个扇区,因此无需关心此驱动器的扇区对齐。
RAID 适配器分为 3 类:a) 最老的适配器,不了解 4k 扇区 - 它们适用于 512n 和 512e 磁盘,但是如果写入未与 512e 驱动器上的 8x 扇区边界对齐,则写入性能可能会出现问题;b) 不太老的适配器,了解 4k 内部扇区和 512e 仿真,但只适用于接口上的 512 扇区 - 对齐问题较少,因为控制器关心这一点;c) 最新的适配器,能够与接口上的 4k 扇区一起工作。只有这些适配器才能与新的 4kn 磁盘一起工作,这些磁盘将原生 4kb 扇区作为 4kb 扇区传递到 SAS/SATA 接口。
此外,只有 Windows 8、8.1 或更高版本的操作系统支持 4kn 驱动器(用于服务器,2012 或更高版本)。大多数直接使用磁盘的旧实用程序无法正确处理 4k 扇区,因为它们假设扇区始终为 512 字节大小。而不是检查。
因此,为了避免对齐混淆并获得最佳性能,请使用新的 4kn 驱动器、新的支持 4kn 的适配器和新的操作系统。
我认为下面这句话是不正确的:“某些 4kb 原生磁盘可能会选择支持 512 字节模拟。如果它们支持 512 字节模拟,它们可以根据磁盘控制器支持的内容在此模式和 4kn 之间切换;它们会更喜欢 4kn,但如果有必要,则会退回到 512e”。
扇区大小在工厂中是固定的。我不知道有任何驱动器能够根据 RAID 适配器功能自动更改接口上的扇区大小。我在 Seagate 订购系统中看到的是完全不同的部件号,具体取决于接口上的扇区大小。订购磁盘后无法更改扇区大小(可能通过某些黑客攻击、更改磁盘固件等实现,但不受官方支持)。因此,如果您的驱动器是 512e,它将始终在接口上仅发送 512 字节扇区,而从不发送 4k 扇区。如果您的驱动器是 4kn,它将始终在接口上仅发送 4k 扇区,而从不发送 512 扇区。您只能在订购时决定,因为它们的部件号不同。
可能的驱动器格式为(界面上的数字表示扇区大小):
512n – 磁盘上 512 个,接口上 512 个(简单)
512e – 磁盘上为 4k,接口上为 512(旧系统上可能出现性能问题)
4kn——磁盘上 4k,界面上 4k(简单,最佳界面性能,不适用于旧系统)
n 或 e 表示界面上指定的扇区大小是本机磁盘扇区大小(n)还是模拟大小(e)。
答案是:您的磁盘是 512e 磁盘(因为它们适用于不支持 4kn 磁盘的适配器),它们不是 4kn 磁盘。您的 512e 磁盘永远不会在与任何 RAID 适配器的接口上使用 4k 扇区。顺便说一句,只有 Seagate 的全新 6TB 硬盘才有可能采用 4kn 格式,而 HGST 的全新 6TB 和 8TB 硬盘也可以订购为 512e 或 4kn。之前所有高达 4TB 的硬盘都只有 512e 或 512n 版本,今年 9 月之前我无法购买任何 4kn 硬盘进行测试。
我个人的建议是使用 LSI 适配器。在我测试过的所有产品中,它兼容性最好,错误报告最好,性能也最好。使用最新固件版本,完全支持 4kn 磁盘。我也在使用 HP 的许多智能阵列适配器,因为它们随 HP ProLiant 服务器一起提供,但仍然不知道智能阵列适配器是否以及何时支持 4kn 磁盘。发行说明中仅提到主机总线适配器 - 最近的固件更新支持 4kn 磁盘。因此,4kn 磁盘仍然很新。
希望我能帮助您弄清楚。
答案2
感谢您发表的这篇精彩的文章,我在寻找 VMware 环境最可靠的硬盘解决方案时偶然发现了它,并了解了 512n、512e 和 4kn 之间的区别。
VMware 建议仍然使用 512n 磁盘,因为它们不需要模拟,因此具有最高的性能,而且即使 VMware ESXi 6.0 也不支持 4kn: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2091600
结论:为了在使用直接附加存储的 VMware ESXi 系统上获得最大性能,我建议使用 512 个本机格式化硬盘。当我的 Adaptec RAID 控制器以及操作系统能够与 4kn 通信而无需任何模拟时,我将首先开始使用 4kn 磁盘。
干杯,丹尼尔
答案3
您应该能够将磁盘插入任何 Adaptec 控制器,它将从之前的控制器获取配置,因此尝试一下也没什么坏处。但是,我认为扇区大小的配置与 RAID 配置紧密结合,而且您还需要处理分区。
如果您愿意尝试,可以选择将 6405 上的 RAID10 中的两个磁盘(R0 两侧各一个)添加到 71605。新卡应该仅从这两个磁盘获取配置。启动 Linux live cd 以检查磁盘状态。如果此升级不起作用,那么您可以轻松地恢复到旧控制器而不会造成任何损害。如果它确实有效,那么您只需插入旧控制器中的另外两个磁盘,就可以了。
我不确定这是否可行,但如果有必要,您可能能够从新卡上的命令行创建一个缺少成员的阵列,这样您就可以仅使用您正在测试的两个磁盘来创建 4 磁盘 RAID10。然后您可以在卡之间进行同步。但可能不行。
答案4
随着时间的推移,硬盘无法更改的说法已不再正确 - 最近的 Seagate Exos 硬盘出厂时为 512e,但可以通过 Seagate 的 seachest 工具更改为纯 4kn。显然,在将数据放入硬盘之前,您需要立即执行此操作。