True NAS SCALE 硬件指南

从重新调整用途的系统到高度定制的构建,TrueNAS 的基本自由是能够在几乎任何 x86 计算机上运行它。

最低硬件要求

安装 TrueNAS 的推荐系统要求:

处理器记忆启动装置贮存
2 核 Intel 64 位或 AMD x86_64 处理器 16 GiB 内存 16 GB SSD 启动设备 用于单个存储池的两个相同大小的设备

TrueNAS 安装程序建议使用 8 GB RAM。TrueNAS 安装、运行、操作监狱、托管 SMB 共享并以更少的资源复制 TB 的数据。iXsystems 推荐上述方法以获得更好的性能和更少的问题。

您不需要 SSD 启动设备,但出于显而易见的原因,我们不鼓励使用微调器或 USB 记忆棒。我们不建议将 TrueNAS 安装在单个磁盘或条带池上,除非您有充分的理由这样做。您可以在没有任何数据设备的情况下安装和运行 TrueNAS,但我们强烈反对这样做。

TrueNAS 不需要两个内核,因为大多数现代 64 位 CPU 可能已经至少有两个。

如需根据您独特的性能、存储和网络要求构建系统的帮助,请继续阅读!

存储注意事项

任何存储系统的核心都是其文件系统和物理存储设备的共生配对。TrueNAS 中的 ZFS 文件系统不惜一切代价提供任何文件系统的最佳可用数据保护,并非常有效地利用旋转磁盘和全闪存存储或两者的混合。ZFS 已为存储设备的最终故障做好了准备。它是高度可配置的,可实现冗余和性能的完美平衡,以满足任何存储目标。正确配置的 TrueNAS 系统可以容忍多个存储设备的故障,甚至可以使用配置文件的副本重新创建其引导介质。

储存媒介

选择存储介质是设计​​存储系统以满足当前目标并为未来容量扩展做准备的第一步。

Nearline SAS (NL-SAS) 磁盘是 7200 RPM 企业 SATA 磁盘,具有大多数企业存储系统中的行业标准 SAS 接口。SAS 代表串行连接 SCSI,以串行形式与传统的SCSI磁盘接口。SAS 系统专为数据中心存储应用而设计,具有准确、详细的错误处理、可预测的故障行为、可靠的热交换以及多路径支持的附加功能。多路径访问意味着每个驱动器有两个接口,可以通过两条电缆连接到两个存储控制器或一个控制器。在 TrueNAS 高可用性架构的情况下,这种冗余可以防止电缆、控制器卡或完整的系统故障,其中每个控制器都是访问同一组 NL-SAS 驱动器的独立服务器。NL-SAS 驱动器也足够强大,可以处理超过 16 个磁盘的严苛系统。因此,面向容量的 TrueNAS 系统配备了Western Digital UltraStarNL-SAS 磁盘得益于 NL-SAS 驱动器提供的容量、可靠性、性能和灵活性的全方位完美平衡。

这些存储设备介质组合在一起,形成强大的存储解决方案。

存储解决方案

借助提供两位数 TB 容量的硬盘和提供更高性能的基于闪存的选项,可以实现两全其美的选择。使用 TrueNAS 和 OpenZFS,您可以合并闪存和磁盘以创建充分利用这两种存储类型的混合存储。混合设置使用大容量旋转磁盘来存储数据,而 DRAM 和闪存执行超快速读写缓存。这些技术与基于闪存的单独写入日志 (SLOG) 一起使用。将其视为保存用于加速写入的 ZFS 意图日志 (ZIL) 的写入缓存。在读取方面,闪存是二级自适应替换(读取)缓存 (L2ARC),可将最热的数据集保存在更快的闪存介质上。具有同步写入的工作负载(例如 NFS 和数据库)受益于 SLOG 设备,而具有频繁访问数据的工作负载可能会受益于 L2ARC 设备。L2ARC 设备并不总是最佳选择,因为 RAM 中的一级 ARC总是提供更快的缓存,并且 L2ARC 表使用一些 RAM。

SLOG 设备不需要很大,因为它们只需要为网络或本地应用程序提供的 5 秒数据写入提供服务。8 GB 到 32 GB 大小的高耐用性、低延迟设备足以满足大多数现代网络的需求,您可以剥离或镜像多个设备以获得性能或冗余。请注意设备发布的耐用性声明,因为 SLOG 充当对系统进行的大多数写入的漏斗点。

SLOG 设备也需要电源保护。ZFS 意图日志 (ZIL) 以及 SLOG 的目的是在崩溃或电源故障期间保持同步写入的安全。如果 SLOG 没有电源保护并且在电源故障后丢失数据,那么它首先就违背了使用 SLOG 的目的。检查制造商的规格以确保 SLOG 设备是电源安全的或具有断电/故障保护。

在 L2ARC 设备中寻找的最重要的质量是随机读取性能。设备需要支持比其缓存的主存储介质更多的 IOPS。例如,在 40 个 SSD 池前使用单个 SSD 作为 L2ARC 是无效的,因为 40 个 SSD 可以处理比单个 L2ARC 驱动器更多的 IOPS。至于容量,比 RAM 大小大 5 到 20 倍是一个很好的指导方针。高端 TrueNAS 系统可以具有两位数 TB 大小的基于 NVMe 的 L2ARC。

请记住,对于 L2ARC 中的每个数据块,主 ARC 都需要一个 88 字节的条目。设计不佳的系统可能会导致 ARC 意外填满并降低 p 的性能。例如,一个充满 4KiB 块的 480 GB L2ARC 需要在主 ARC 中存储超过 10GiB 的元数据。

存储设备大小

Zpool 布局(LUN 和卷的组织,用 TrueNAS/ZFS 的说法)不在本指南的范围内。两位数 TB 驱动器的可用性提出了一个问题 TrueNAS 用户现在可以问:我应该使用多少个驱动器来达到我想要的容量?您可以镜像两个 16TB 驱动器以实现 16TB 的可用容量,但这并不意味着您应该这样做。镜像两个大型驱动器提供了冗余和平衡两个设备之间读取的优势,这可以降低功耗,但几乎没有。两个大盘的写性能,最多是单盘的。相比之下,由 8 个 4TB 驱动器组成的阵列提供了广泛的配置,可以以较低的成本优化性能和冗余。如果配置为条带镜像,八个驱动器可以在相似的总容量下产生四倍的写入性能。您还可以考虑使用任何 zpool 配置添加一个热备用驱动器,如果其中一个主驱动器出现故障,它可以让 zpool 自动重建自身。

存储设备老化

旋转磁盘硬盘驱动器的运动部件对冲击和振动高度敏感,并且会随着使用而磨损。考虑在投入生产之前对每个存储设备进行预试,注意:

  • 开始长时间的硬盘自检 ( smartctl -t long /dev/),并在测试完成后(可能需要 12 小时以上)
  • 检查结果 ( smartctl -a /dev/)
  • 检查未决的扇区重新分配 ( smartctl -a /dev/ | grep Current_Pending_Sector)
  • 检查重新分配的扇区数 ( smartctl -a /dev/ | grep Reallocated_Sector_Ct)
  • 检查 UDMA CRC 错误 ( smartctl -a /dev/ | grep UDMA_CRC_Error_Count)
  • 检查 HDD 和 SSD 写入延迟一致性 ( diskinfo -wS )仅限未格式化的驱动器!
  • 检查 HDD 和 SSD 小时数 ( smartctl -a /dev/ | grep Power_On_Hours)
  • 检查 NVMe 使用百分比 ( nvmecontrol logpage -p 2 nvme0 | grep “Percentage used”)

在部署系统之前花点时间创建一个池。使其尽可能接近真实世界的工作负载,以揭示单个驱动器问题并帮助确定替代池布局是否更适合该工作负载。小心使用过的驱动器,因为供应商可能不诚实或不了解他们的年龄和健康状况。检查所有新驱动器上的小时数,smartctl(8)以验证它们没有重新认证。驱动器供应商还可以在重新认证期间将驱动器的小时数归零,从而掩盖其真实年龄。iXsystems 在发货前至少 48 小时对其销售的所有存储设备进行测试。

存储控制器

与 TrueNAS 一起使用的无可争议的最流行的存储控制器是 6 和 12 Gbps(千兆位每秒,有时表示为 Gb/s)Broadcom(以前的 Avago,以前的 LSI)SAS 主机总线适配器 (HBA)。控制器出厂时嵌入在某些主板上,但通常是具有四个或更多内部或外部 SATA/SAS 端口的 PCIe 卡。6 Gbps LSI 9211 及其更名的兄弟姐妹也使用 LSI SAS2008 芯片,例如 IBM M1015 和 Dell H200,在使用二手市场零件构建系统的 TrueNAS 用户中具有传奇色彩。使用最新的 IT 或目标模式固件进行闪存以禁用 Broadcom 控制器上 IR 固件中的可选 RAID 功能。对于有预算的人,Broadcom 9300/9400 系列等较新型号提供 12 Gbps SAS 功能,甚至通过 9400 系列提供 NVMe 到 SAS 转换功能。TrueNAS 包括sas2flashsas3flash, 和storcli命令在 9200、9300 和 9400 系列卡上刷写或执行重新刷写操作。

板载 SATA 控制器在较小的版本中很受欢迎,但主板供应商通过包含比传统的四个 SATA 接口更多的接口来更好地满足 NAS 用户的需求。请注意,许多主板混合了 3 Gbps 和 6 Gbps 板载 SATA 接口,选择错误的接口可能会影响性能。如果主板包含硬件 RAID 功能,请勿使用或配置它,但请注意,在 BIOS 中禁用它可能会删除某些 SATA 功能,具体取决于主板。大多数与 SATA 兼容性相关的问题都是显而易见的。

有无数警告反对将硬件 RAID 卡与 TrueNAS 一起使用。ZFS 和 TrueNAS 提供内置 RAID,比任何硬件 RAID 卡都能更好地保护您的数据。如果只有硬件 RAID 卡,您可以使用它,但有一些限制。首先也是最重要的是,如果您的硬件 RAID 卡支持 HBA 模式(也称为直通或 JBOD 模式),请不要使用他们的 RAID 工具(下面的项目符号中有一个警告)。使用时,它的性能与标准 HBA 没有区别。如果您的 RAID 卡没有此模式,您可以为系统中的每个磁盘配置一个 RAID0。虽然不是理想的设置,但它可以在紧要关头工作。如果使用 TrueNAS 重新利用硬件 RAID 卡,请注意某些硬件 RAID 卡:

  • 可以屏蔽磁盘序列号和 SMART 健康信息
  • 性能可能比 HBA 同类产品慢
  • 如果将写入缓存与电池耗尽的备用单元 (BBU) 一起使用,可能会导致数据丢失)

SAS 扩展器

每个磁盘都连接到控制器卡上的接口的直连系统是最佳的,但并非总是可行的。SAS 扩展器(端口倍增器或分离器)使控制器卡上的每个 SAS 端口能够为许多磁盘提供服务。您只能在服务器的驱动器背板上找到 SAS 扩展器或具有超过 12 个驱动器托架的 JBOD。例如,如果没有 SAS 扩展器,一个TrueNAS JBOD仅在四个机架单元的空间中就可以超越 90 个驱动器是不可能的。想象一下,在没有 SAS 扩展器的情况下,您需要多少个 8 端口 HBA 才能访问 90 个驱动器。

虽然为 SAS 磁盘设计的 SAS 扩展器通常可以通过 SATA 隧道协议或 STP 支持 SATA 磁盘,但我们仍然更喜欢 SAS 磁盘,原因在上面的 NL-SAS 部分中提到(SATA 磁盘在基于 SAS 的背板上起作用)。请注意,相反的情况并非如此:您不能在为 SATA 驱动器设计的端口中使用 SAS 驱动器。

存储设备冷却

一项在 Internet 上广为引用的研究断言,驱动器温度对驱动器的可靠性几乎没有影响。该研究是一个很好的标题或谈话开始,但仔细阅读报告表明驱动器是在最佳环境条件下测试的。冷却良好的旋转硬盘在生产中达到的平均温度约为 28 °C,一项研究发现,温度每升高 12°C,磁盘的故障次数就会增加一倍。在添加通常会增加噪音(尤其是在旧系统上)的驱动器冷却之前,请知道您在数据中心或壁橱中运行服务器可能会浪费金钱,而不会注意到内部冷却风扇已设置为最低设置。密切注意支持 16 个或更多驱动器的任何机箱中的驱动器温度,特别是如果它们是奇特的高密度设计。无论出于何种原因,每个机箱都有某些较热的区域。注意风扇故障以及某些型号的 8TB 驱动器运行温度高于其他驱动器容量的趋势。通常,尽量将驱动器温度保持在驱动器供应商的规格以下。

内存、CPU 和网络注意事项

内存大小

TrueNAS 比许多网络附加存储解决方案具有更高的内存要求,这是有充分理由的:它在共享服务、附加插件、监狱和虚拟机以及复杂的读取缓存之间共享动态随机存取内存(DRAM 或简称 RAM)。在 TrueNAS 系统上很少使用 RAM,足够的 RAM 是保持最佳性能的关键。对于最多八个驱动器的基本 TrueNAS 操作,您应该至少有 8 GB 的 RAM。其他用例都有不同的 RAM 要求:

  • 为每个在 8 之后添加的驱动器添加 1 GB 以使大多数用例受益。
  • 如果更多客户端将连接到 TrueNAS 系统,则添加额外的 RAM(通常)。通过 iSCSI 支持大量高性能 VM 的 20 TB 池可能需要比存储存档数据的 200 TB 池更多的 RAM。如果使用 iSCSI 支持 VM,请计划使用至少 16 GB 的 RAM 以获得合理的性能,并使用 32 GB 或更多以获得最佳性能。
  • 为 winbind 内部缓存的目录服务添加 2 GB RAM。
  • 根据插件和监狱的需要添加更多 RAM,因为每个都有特定的应用程序 RAM 要求。
  • 为具有来宾操作系统和应用程序 RAM 要求的虚拟机添加更多 RAM。
  • 添加建议的每 TB 存储 5 GB 用于依赖于 RAM 内重复数据删除表的重复数据删除。
  • 为池中的每 50 GB L2ARC 添加大约 1 GB 的 RAM(保守估计)。将 L2ARC 驱动器附加到池中也会使用一些 RAM。ZFS 需要 ARC 中的元数据来了解 L2ARC 中的数据。

纠错码内存

计算机系统内部的电或磁干扰会导致 RAM 的一位自发翻转到相反的状态,从而导致内存错误。内存错误可能导致安全漏洞、崩溃、转录错误、交易丢失以及数据损坏或丢失。所以RAM,临时数据存储位置,是防止数据丢失的最重要区域之一。

纠错码或 ECC RAM 在内存位错误发生时检测并纠正它们。如果错误严重到无法纠正,ECC 内存会导致系统挂起(变得无响应),而不是继续处理错误位。对于 ZFS 和 TrueNAS,此行为实际上消除了 RAM 错误传递到驱动器以导致 ZFS 池损坏或文件错误的任何可能性。

关于是否将纠错码 (ECC) 系统内存与 OpenZFS 和 TrueNAS 一起使用的冗长的 Internet 辩论总结为:

  • 强烈建议将ECC RAM作为另一种数据完整性防御措施

然而:

  • 一些 CPU 或主板支持 ECC RAM,但不是全部
  • 许多 TrueNAS 系统每天都在没有 ECC RAM 的情况下运行
  • 任何类型或等级的 RAM 都可能出现故障并导致数据丢失
  • RAM 最有可能在前三个月出现故障,因此请在部署前测试所有 RAM。

中央处理器 (CPU) 选择

选择 ECC RAM 会限制您的 CPU 和主板选项,但这可能是一件好事。英特尔®将 ECC RAM 支持限制在其最低端和最高端的 CPU 上,排除了中端 i5 和 i7 型号。

选择哪个 CPU 可以归结为以下几个因素:

  • 由于 OpenZFS 执行校验和、压缩和(可选)加密数据的方式,功率不足的 CPU 可能会造成性能瓶颈。
  • 由于 Samba 是轻线程 TrueNAS SMB 守护程序,因此具有较少内核的更高频率 CPU 通常最适合 SMB 工作负载。
  • 更高核心数的 CPU 更适合并行加密和虚拟化。
  • 支持 AES-NI 加密加速的 CPU 提高了文件系统和网络加密的速度。
  • 建议使用服务器级 CPU,因为它的电源和 ECC 内存支持。
  • 建议为软件加密池使用 Xeon E5 CPU(或类似处理器)。
  • 推荐使用 Intel Ivy Bridge CPU 或更高版本以供虚拟机使用。

注意 CPU 和主板上的 VT-d/AMD-Vi 设备虚拟化支持,以将 PCIe 设备传递给虚拟机。请注意给定的 CPU 是否包含 GPU 或需要外部 GPU。另外,请注意,许多服务器主板都包含带有内置 GPU 的 BMC 芯片。有关 BMC 的更多详细信息,请参见下文。

由于 Ryzen 和 EPYC(那不勒斯/罗马)系列,AMD CPU 正在卷土重来。FreeBSD 以及 TrueNAS CORE 对这些平台的支持受到限制。但是,Linux 有很大的支持,TrueNAS SCALE 应该可以毫无问题地与 AMD CPU 一起使用。

远程管理:IPMI

为了进一步限制主板选择,如果您需要,请考虑使用智能平台管理接口或 IPMI(也称为基板管理控制器、BMC、iLo、iDrac 和其他名称,具体取决于供应商):

  • 远程系统的远程电源控制和监控
  • 用于配置或数据恢复的远程控制台 shell 访问
  • 用于 TrueNAS 安装或重新安装的远程虚拟媒体

TrueNAS 依赖于其基于 Web 的用户界面 (UI),但您可能偶尔需要访问控制台来更改网络配置。TrueNAS 管理和共享默认使用单个网络接口,当您需要升级 LACP 聚合网络等功能时,这可能具有挑战性。理想的解决方案是拥有一个专用子网来访问 TrueNAS Web UI,但并非所有用户都拥有这种奢侈。偶尔访问硬件控制台对于全局配置甚至系统恢复都是必要的。最新的 TrueNAS Mini 和 R 系列系统在专用千兆网络接口上提供全功能、基于 HTML5 的 IPMI 支持。

电源单元

TrueNAS 系统上电源单元(或 PSU)的首要考虑标准是:

  • 主板的功率容量(瓦特)和它必须支持的驱动器数量
  • 可靠性
  • 效率等级
  • 相对噪声
  • 如果一个电源发生故障,可选冗余以保持重要系统运行

选择一个额定为初始负载和未来负载额定的 PSU。拥有一个电源充足的 PSU,以便从大容量机箱迁移到完全填充的机箱。此外,考虑使用热插拔冗余 PSU 以帮助保证正常运行时间。预算有限的用户可以保留一个冷备用 PSU,以将其潜在的停机时间限制为数小时而不是数天。一个好的、现代的 PSU 是高效的,并且完全集成到 IPMI 管理系统中,以提供实时的风扇、温度和负载信息。

大多数电源都经过认证的效率等级,称为80 Plus评分。80 以上的额定值表示从墙上汲取的功率会以热量、噪音和振动的形式损失掉,而不是做有用的工作,例如为组件供电。如果电源需要从墙上汲取 600 瓦的电力来为您的组件提供 500 瓦的电力,那么它的工作效率为 500/600 = ~83%。其他 100 瓦会随着热量、噪音和振动而损失。具有更高额定值的电源效率更高,但也更昂贵。如果您不确定要购买什么效率,请进行一些投资回报率计算。例如,如果 80 Plus Platinum PSU 比同类 80 Plus Gold 贵 50 美元,那么它应该每年至少为您节省 10 美元的电费,以便在五年内还清这笔投资。您可以在这篇文章中阅读有关 80 Plus 评分的更多信息

不间断电源

TrueNAS 能够通过传统的串行或 USB 连接与电池供电的不间断电源 (UPS) 进行通信,以在断电的情况下协调正常关机。TrueNAS 与 APC 品牌的 UPS 配合良好,其次是 Cyber​​Power。考虑为具有纯正弦波输出的 UPS 进行预算。某些型号的 SSD 可能会在断电时遇到数据损坏。如果多个 SSD 同时出现断电,可能会导致整个池故障,从而使 UPS 成为一项关键投资。

以太网网络

Network Attached Storage 中的网络与存储一样重要,但主题简化为几个关键点:

  • 简单性——简单性通常是网络配置可靠性的秘诀。
  • 单个接口 - 较快的单个接口(例如 10/25/40/100GbE)优于聚合较慢的接口。
  • 接口支持 - Intel 和 Chelsio 接口是最受支持的选项。
  • 数据包碎片 - 仅考虑具有专用连接的巨型帧 MTU,例如在服务器或视频编辑器和 TrueNAS 之间不太可能遇到数据包碎片。
  • LRO/LSO 卸载功能 - 具有LROLSO卸载功能的接口通常可以减少对巨型帧的需求,并且它们的使用可以降低 CPU 开销。

高速互连

随着硬件开发速度的加快和企业升级速度的加快,更高频段的硬件变得越来越容易获得。家庭实验室现在可以部署和使用 40 GB 及更高的网络组件。家庭用户现在发现企业客户发现的这些更高速度的相同问题和问题。

iXsystems 建议在下面列出的高速互连中使用直连铜(DAC) 电缆上的光纤:

  • 10Gb NIC:SFP+ 连接器
  • 25Gb NIC:SFP28 连接器
  • 40Gb NIC:QSFP+ 连接器
  • 100Gb NIC:QSFP28 连接器
  • 200Gb NIC:QSFP56 连接器
  • 400Gb NIC:QSFP-DD 连接器

iXsystems 还建议对使用光纤通道时提到的任何收发器外形尺寸使用光纤。直接连接的铜 (DAC) 电缆可能会在 NIC、电缆和交换机之间产生互操作性问题。

虚拟化 TrueNAS 核心

最后,TrueNAS 硬件的终极问题是是使用实际硬件还是选择虚拟化解决方案。TrueNAS 开发人员每天将 TrueNAS 虚拟化作为他们工作的一部分,云服务在各种规模的用户中都很受欢迎。TrueNAS 的设计以 OpenZFS 为核心。从第一天开始的设计就适用于物理存储设备。它知道他们的长处并弥补他们的弱点。当需要虚拟化 TrueNAS 时:

  • 如果可能,将硬件磁盘或整个存储控制器传递给 TrueNAS VM(需要 VT-d/AMD-Vi 支持)。
  • 禁用 VMFS 等虚拟化存储上的自动清理池,并且永远不要清理池,同时在另一层上运行存储修复任务。
  • 使用至少三个 vdev 来提供足够的元数据冗余,即使使用条带池也是如此。
  • 提供一个或多个 8 GB 或更大的引导设备。
  • 根据 TrueNAS VM 的通常要求,为其提供足够的 RAM。
  • 如果所有设备都支持,请考虑使用巨型帧网络。
  • 了解 FreeBSD 中的客户工具可能缺少其他客户操作系统中的功能。
  • 在虚拟接口上启用 MAC 地址欺骗并启用混杂模式以使用 VNET 监狱和插件。

原文英文地址:https://www.truenas.com/docs/scale/gettingstarted/scalehardwareguide/

posted @ 2022-06-23 06:19  十支穿云箭  阅读(11053)  评论(0编辑  收藏  举报