备份引导/根以防主引导失败

备份引导/根以防主引导失败

我有这些基于树莓派的迷你服务器。其中很多。但目前我们遇到的故障相对频繁,因为由于某种原因,SD 卡上的文件系统被损坏,设备将不再正常工作。

我们将通过迁移到 CM3+ 来解决这个问题,这样我们就可以得到更可靠的 MMC,但我们也希望提高每个单独设备的可靠性。

那么,问题是:

是否可以创建这样一种磁盘布局,即有两个引导/根分区 - 一个主分区和一个备份分区,以防主分区搞乱。然后引导加载程序(grub?)将记录引导尝试,成功引导的系统将重置它们。如果不成功的启动次数超过给定的数量,我们将复制备份到主数据库或从备份启动。

答案1

我有这些基于树莓派的迷你服务器。其中很多。但目前我们遇到的故障相对频繁,因为由于某种原因,SD 卡上的文件系统被损坏,设备将不再正常工作。

用于 rootfs 的 SD 卡不是一个好主意。至少:

  • 不要记录。或者登录到 tmpfs。
  • 调整挂载选项以避免无用的 FS 修改(noatime、、nodiratime...)

我们将通过迁移到 CM3+ 来解决这个问题,这样我们就可以得到更可靠的 MMC,但我们也希望提高每个单独设备的可靠性。

eMMC应该更好。

是否可以创建这样一种磁盘布局,即有两个引导/根分区 - 一个主分区和一个备份分区,以防主分区搞乱。

不确定这是解决方案。相反,我会研究更好的文件系统。例如,F2FS或类似的东西。

然后引导加载程序(grub?)将记录引导尝试,成功引导的系统将重置它们。如果不成功的启动次数超过给定的数量,我们将复制备份到主数据库或从备份启动。

这个帖子关于 Grub 和 Raspberry Pi。问题是你需要 rapsberry pi 特定的加载器,我认为它无法做到这样的技巧。

如果我必须解决像你这样的问题,我会做的是:

  1. 构建一个最小的操作系统(例如使用 Yocto 或手工制作的 raspbian)。
  2. 使用 NFS 或 TFTP 启动它,并使用 tmpfs 作为 rootfs
  3. 仅将 eMMC 用于持久存储,显然,优化我对它的使用。

优点:

  • 系统文件只存在于RAM中,所以不用担心烧毁eMMC或SD卡。
  • 只需更新一棵树(在 NFS/TFTP 服务器上)+ 重新启动,所有 rapsberry pi 都会更新。

缺点:

  • 由于您的 rootfs 存储在 RAM 中,因此可供应用程序使用的 RAM 较少。

相关内容