使 root 安装冗余并最大限度地延长正常运行时间的最铁定方法是什么? RAID、ZFS 还是其他?

使 root 安装冗余并最大限度地延长正常运行时间的最铁定方法是什么? RAID、ZFS 还是其他?

我想设置我的桌面计算机(实际上是我实际工作的 KVM 来宾服务器)以进行冗余根安装。如果一个驱动器坏了,我想快速恢复工作,而不需要从备份进行完全恢复,也不需要重新安装系统并重置我的所有设置和首选项。

我认为做到这一点的方法是 RAID1,但我越深入地研究它,我就越意识到 RAID1 不是一个“设置后就忘记它”的解决方案。哦,我希望它是 UEFI 启动。

上次我尝试软件 RAID1 安装(我使用 Ubuntu Server 安装程序进行设置)时,某些东西被损坏了,我最终看到了 GRUB 救援屏幕,并且我一生都无法弄清楚如何让它从镜像驱动器。据我所知,由于驱动器之间的复制损坏,两者的引导扇区都被损坏。显然,这违背了通过 RAID1 启动来减少停机时间的目的。我在想也许我应该将 EFI 分区放在 USB 驱动器上并对其进行备份,以便快速轻松地进行更换(同时将根分区置于 RAID1 中),但我担心我现在可能总是知道 EFI 分区已已更改,因此不知道何时备份。

我还考虑使用 ZFS-on-root,因为我认为 bitrot 保护和快照对于防止上述情况可能更有用。但似乎 Ubuntu 上不建议在 root 上使用 ZFS,并且由于某些 Linux 内核程序员声称对 ZFS 缺乏容忍,ZFS 在 Linux 上的地位现在似乎受到质疑。我怀疑是否这可能是一个好方法但我对整个 MAAS 事情一无所知,也不知道它是否与我的用例相关。

我想到的最后一件事是只进行常规的单驱动器安装,然后每周左右将其添加到备用驱动器,这样,如果发生灾难,我至少可以恢复一周前或更短时间的设置和安装。但是每周添加一个 SSD 不是很困难吗?

我找到了无数关于 RAID 和 ZFS 的教程,但到目前为止还没有找到任何内容可以清楚地解释我的选择相对于上述目标的优缺点。建议或解释链接将不胜感激!

答案1

取决于需要,但您有几个选择。我个人的选择是在根卷以及任何其他对我的理智至关重要的卷上使用 lvm 镜像(我的笔记本电脑和工作站上的 /home)。

至于备份,您可以将您的内容打包或 rsync 到远程主机,或者如果更简单,甚至可以使用 git (在 /etc 上效果很好)。

我以前只使用 mdadm 来做镜像和条带化,后来放弃了,只使用 lvm,因为迁移东西(交换驱动器、添加驱动器、移动到新主机)比 mdadm 容易得多。

答案2

最铁定的方式并最大限度地延长正常运行时间...

我认为这个问题总体上是一个很好的问题,但考虑到构成 Linux 和硬件的所有组件的当前状态,回答起来会存在问题。可能有多个正确答案,但仍然可以进行理性论证。回答这个问题的更好方法可能是“不该做什么”......

  • 了解您的硬件并使用好的设备
  • 硬件 RAID 优于软件 RAID (mdadm)
  • 由于断电,我在 JBOD 存储单元上经历过软件 raid (mdadm) 造成的数据损坏,因此,如果可能的话,我总是选择经过验证的硬件 RAID 设备,否则你就得冒险了。 如果你是认真的,请不要使用软件raid
  • 拥有某种不间断电源 (UPS) 来处理断电和电力不足的情况 - 只需要保持运行足够长的时间即可正常关​​闭以保存数据
  • 了解 RAID:独立磁盘的冗余阵列 = 如果在硬件级别完成并正确完成,它可以是一个“设置即忘”的解决方案。除非您需要 2 个以上的磁盘来获得存储容量,否则请坚持使用简单的 RAID-1。一个驱动器发生故障,您仍然可以像什么都没发生一样运行,否则,如果您偏执的话,可以使用 3 个磁盘作为具有 2 个磁盘容错功能的 RAID-6。
  • 了解RAID不是备份。因此,有 2 或 3 个磁盘作为 RAID-1 或​​ RAID-6 作为根分区,BIOS 或 efi 引导加载程序会引导该磁盘磁盘(突袭卷)。在其他地方有一个单独的磁盘...这是活动的两个或三个磁盘 RAID 卷上内容的镜像副本。当它被损坏时(无论突袭),您都可以从备份中恢复。
  • 有一些了解灾难恢复以及这对您的场景意味着什么;能够修复和恢复发生的任何问题,并知道这需要多长时间。
  • 或许不是使用革命性的新文件系统,从根本上改变了文件系统的管理方式这是ZFS的描述。我的建议是坚持使用经过验证的东西,例如 EXT3 或 EXT4 或 XFS,也许还有 BTRFS,但前提是 Linux 发行版很好地支持它。问题通常涉及文件系统的错误,如果您了解该文件系统可用的工具,则可以修复这些错误。
  • 几乎可以肯定每个 Linux 发行版都支持 EXT3 和 XFS,但 EXT4 和 BTRFS 可能不在所有发行版上,除非使用其最新版本,并使用好的Linux发行版。为了最铁定的我的建议是倾向于企业 Linux 之一... RHEL、SLES、CentOS,它们有很好的支持。

相关内容