背景
我目前使用混合服务器工作站设置作为我的主要工作站。基本上,只是一个运行 Linux KVM 的 Fedora 基础,然后我在此基础上将几个 Linux 版本和一个 Windows 安装容器化以用作我的工作站,同时还能够快速创建用于测试的容器。
这当前的物理存储布局如下:
- Intel 390A 芯片组
- iRST 作为“硬件” RAID 选项(提供 RAID-0、1、10、5)
- RST 控制,单个 6 端口 SATA 集线器
- 2X 120GB SATA6 SSD,RAID0
- 2X 500GB SATA6 + 1X 1TB SATA6 HDD 组成 RAID5(发生奇怪的事情)
- 1X 2TB SATA6 HDD 非 RAID
- RST 控制,单个 6 端口 SATA 集线器
- 1TB NVMe PCIe@4x SSD(非 RST 控制,因为大约 5 年来,Linux 内核和 Anaconda 中一直存在一个未修复的错误,导致 RST 控制的 NVMe/PCIe 驱动器无法枚举)
- USB 3.0 集线器
- 1X 3TB 5400RPM + 1X 1TB 5400RPM 外置 USB 3.0 硬盘
- USB 3.1g2 集线器
- 3X 2TB 5400RPM 外置 USB 3.0 硬盘
所有 USB 驱动器目前都处于单磁盘配置
- 3X 2TB 5400RPM 外置 USB 3.0 硬盘
我有很多可用的存储空间,最近,BIOS 更新导致 RAID-5 阵列“丢弃”了其中一个磁盘(1TB 磁盘)并显示“已降级”(但没有数据丢失,也不需要重建阵列,它仍然显示为“RST RAID-5 阵列”,曾经的第三个磁盘显示为具有单个“RAW”分区的单个磁盘,这让我怀疑 iRST 究竟是如何处理 3 磁盘 RAID-5 阵列的 - 因为如果它从一开始就是 RAID-5,那么它需要更换驱动器并重建才能访问任何数据,这让我认为它实际上要么将其视为 RAID-4,使用专用的奇偶校验磁盘,而不是条带奇偶校验,要么可能是非标准的东西,比如两个 500GB 驱动器上的 RAID-0,RAID-1 镜像到 1TB 驱动器上[这实际上是最优配置,因为它可以充分利用空间最大(至少是读取)性能,同时仍允许单个驱动器发生故障(如 RAID-5 中的情况),尽管我认为 iRST 还不够“智能”到可以做到这样的事情……这仍然是个谜];我认为 BTRFS,也许还有带有 ZFS 的 Linux LVM,可以做这样的事情,或者可以使用硬件和软件 RAID 的组合来实现,但同样,偏离了主题)。NVMe 驱动器保存所有主要操作系统文件,因此我决定将所有内容从内部硬盘复制到外部硬盘,然后完全重新配置存储。由于 iRST 实际上只是比软件 RAID 高出一步(除非与那些特殊的英特尔驱动器一起使用,即使如此,我也不知道),我认为在 Linux 中使用软件 RAID 是我的最佳选择,因为它提供了更大的灵活性。我考虑过 btrfs,老实说,它可能比 LVM 更好,但我更熟悉后者,所以无论如何……
主要问题
因此,综上所述,我正在考虑尝试将我的外部 USB 驱动器整合到 RAID 设置中。对于 5400RPM 旋转驱动器而言,WD My Passport 驱动器实际上相当不错,而单次读取或写入操作的瓶颈通常实际上是 USB PHY。将外部 USB 驱动器组合到 RAID 阵列中可能不会带来太多速度提升,而只是会成为 USB 控制器的瓶颈。但这让我想到了...如果我使用外部 USB 驱动器与内部驱动器结合使用,采用非标准配置(如 RAID-3 或 RAID-4),结果会怎样?基本上,使用内部驱动器作为数据驱动器,同时使用速度较慢的外部 USB 驱动器作为奇偶校验驱动器?
我的想法是:A)奇偶校验操作实际上只与写入操作有关,因此读取不会涉及外部驱动器。B)奇偶校验块(或字节)显然也小于数据本身,因此写入性能可能也会均衡。
另一个选择可能是执行 RAID-01,在内部驱动器上进行条带化,并镜像到外部驱动器(尽管在这种情况下,频繁地按计划备份到外部存储可能更有意义)。
有没有人有过这种非标准配置的经验?我对 RAID-3/4 的想法特别感兴趣,更多的是作为概念验证和性能测试,而不是纯粹的实用性,尽管我认为如果它被证明有效,可能会有一些实际用途。谢谢!
答案1
Does anyone have any experience doing such a nonstandard configuration?
是的 - 不久前我曾使用过 SATA 和 USB3 连接驱动器的 raid0 组合。由于我不确定此“帖子”的实际问题是什么,因此我可以确认 SATA + USB 插入驱动器可以与mdadm
软件 raid 一起正常工作。
I am particularly interested in the RAID-3/4 idea...
这一切都取决于存储的实际用例
- 它是否有较长的连续读取?那么 raid3 可能是一个不错的选择。
- 您是否想大量写入该存储? 那么不要选择 raid4 - 它的写入损失很大。
- 这个列表还可以一直列下去……
我的最后一条建议是:如果您有 LAB 环境 - 进行一些实验 - 很有可能 ServerFault 上的某个人拥有与您完全相同的设置,并且在我看来使用像 raid3 或 raid4 这样奇特的东西。
如果您没有 LAB 环境 - 就不要进行实验 - 选择一些可靠且经过时间考验的方法,如 raid5 或 raid6 或 raid1 - 也不要在这些 raid 类型中组合慢速和快速磁盘:)