假设我身处家庭环境,想要保证数据安全,我该如何构建可扩展的自定义 NAS?我买不起真正的 SATA/SAS 控制器。
我正在考虑一个可扩展的 RAID 1 磁盘阵列,并将最敏感的数据备份到云中。如果我开始使用 2 个 1TB 磁盘阵列来设置自定义 NAS,那么以后如何扩展它?我可以做类似 RAID 1 阵列的 JBOD 之类的事情吗?
请说明该解决方案是否需要硬件/假控制器,或者是否可以使用软件 RAID 来完成。
我读过很多资料,但从未在真实场景中构建过 RAID 阵列。
答案1
假设我身处家庭环境,想要保证数据安全,我该如何构建可扩展的自定义 NAS?我买不起真正的 SATA/SAS 控制器。
我正在考虑一个可扩展的 RAID 1 磁盘阵列,并使用云备份来保存最敏感的数据。
对重要数据进行外部备份是一个好的开始。
(无论 NAS 构建得多么好,如果房子被烧毁,您剩下的就只有外部备份了)。
如果我使用 2 个 1TB 磁盘阵列开始自定义 NAS 设置,我以后该如何扩展它?我可以做类似 RAID 1 阵列的 JBOD 之类的事情吗?
我将使用与“RAID 1 阵列的 JBOD”不同的描述。
几乎在任何情况下,您都可以向系统添加多个 RAID 卷。
这些将是独立的阵列。
基本上,每个 RAID-1 镜像都会有一个阵列,其作用就像普通磁盘一样:
- 但读取速度更快(两个磁盘的读取速度最高可达两倍)
- 并将数据写入阵列中的所有驱动器。这意味着在最后一个驱动器发生故障之前,您仍然拥有所有数据。
(我写道最后一次驾驶因为您可以使用两个以上的驱动器来做 RAID-1。这样您不会获得更多的容量,但可以获得更多的冗余和更快的读取速度)。 - RAID 阵列的作用与常规驱动器相同。您可以将其分区为单个卷或多个卷(例如,分区为 C:\ 用于操作系统,分区为 D:\ 用于数据和文档)。
您可以使用多个 RAID 阵列。
- 例如,一个 RAID-1 包含 2x1TB 的 1TB 容量
,另一个 RAID-1 包含 2x2TB 的 2TB 容量。
这样,您最终会得到两个独立的设备。类似于使用常规 1TB 和常规 2TB 驱动器。
您可以组合使用 RAID 方法:例如:
- 2x1TB 在 RAID-1 镜像中作为
array1
。 - 2x2TB 在 RAID-1 镜像中作为
array2
。 - 然后,您可以创建另一个 RAID 阵列“array3”,作为阵列 1 和阵列 2 的条带。
这将产生一个 3TB 的驱动器,这似乎正是您想要的。
不过,您需要重新安装操作系统,因为您从新的动力。
请注意,并非所有读取解决方案都允许这样做。例如,它可以在 Linux 中与 mdadm 配合使用。它可以在 FreeBSD 中与 FreeBSD 配合使用。我不知道 Windows 将如何处理它,也不知道通过 BIOS 的软件 RAID 将如何处理它。
第三种解决方案是这样的:
- 驱动器 1,一个 1TB 分区(我们称之为 /dev/sda1)
- 驱动器 2,一个 1TB 分区(我们称之为 /dev/sdb1)
- 驱动器 3,两个 1TB 分区(我们称之为 /dev/sdc1 /dev/sdc2)
- 驱动器 4,两个 1TB 分区(我们称之为 /dev/sdd1 /dev/sdd2)
现在你有很多选择。例如:
- /dev/sd{abcd}1 上的四路 RAID-1E。读取性能极佳。
- /dev/sd{abcd}1 上的 RAID-5。最大容量(3TB,/dev/sdc2 和 /dev/sdd2 中还有 2TB 尚未使用)。但是 RAID5 对于小写入的性能较差。
阅读:适合存储电影、iso、DVD 等。不适合数据库。 - ...
请说明该解决方案是否需要硬件/假控制器,或者是否可以使用软件 RAID 来完成。
这个问题没有答案,因为它取决于 RAID 实现。
没有硬性限制为什么这些解决方案不能与所有三个选项(硬件/软件/假 RAID)一起使用。但是并非所有实现都支持它。
我读过很多资料,但从未在真实场景中构建过 RAID 阵列。
在提交真实数据之前,请先尝试一下。但在开始之前,我建议这个帖子作为有用的背景信息。
就我个人而言,构建典型的家用 NAS 时会执行以下操作:
- 将两个 1TB 磁盘至少划分为两个分区:
第一个磁盘上有 /dev/sda1 和 /dev/sda2,
第二个磁盘上有 /dev/sdb1 和 /dev/sdb2。 - 在第一个分区上安装操作系统。无 RAID。如果需要恢复,也没有任何麻烦。
- 将工作操作系统备份到 /dev/sdb1。不是作为镜像,而是仅在紧急情况下使用的一次性副本。
- 确保两个驱动器上的引导加载程序均能正常工作。例如,移除或拔下第一个驱动器,然后从第二个驱动器上的操作系统成功启动。
如果一切顺利,您将再也不需要此备份操作系统。不过,最好还是备份一下,以防万一,而且当您更改 RAID 配置时,您确实需要更新它。 - 使用两个 1TB 驱动器上的剩余空间创建镜像。(我们称之为 md1)
- 对 md1 进行分区,以便您拥有 SWAP 卷和 /usr/local/ 卷。
- 将您经常访问的文档存储在某个地方。例如 /usr/local/my_NAS_data。
- 使用另外两个磁盘创建第二个阵列。
- 将其安装在某处。例如 /usr/local/my_NAS_data_part2/
如果您有不经常访问的数据,请将其放入 my_NAS_data_part2。不使用时,您可以让这两个磁盘减速,以节省电力并减少噪音。
写入(日志文件等)仍将转到第一个阵列/磁盘。