我在一个小型组织工作,拥有大约 8 台 Linux 独立服务器。虽然我们目前在机器之间进行远程备份,但我被告知要将机器“紧急备份”到外部驱动器。
这是我目前的计划:
- 将驱动器安装到其中一台服务器
tar
并压缩根文件夹的内容- 使用
rsync
和ssh
传输 tarball。
备份不必是“保守的”。 2TB 驱动器上只有大约 500GB 的数据。
考虑到这些条件,这是否构成一个充分的后备计划?
答案1
简单地执行文件的完整副本的一个问题是可能会获得不一致的数据。通常是这样工作的
这是文件不一致的示例。如果文件集合 file00001-fileNNNNN 相互依赖,则如果其中一个文件在复制过程中发生更改,就会导致不一致
- 正在复制文件00001
- 复制文件00002
- 复制文件00003
- file00002 更改
- 复制文件00004
- ETC...
在上面的示例中,由于 file00002 在复制其余部分时发生了更改,因此整个数据集不再一致。这会给 mysql 数据库之类的东西带来灾难,其中表应该与其存储为单独文件的索引一致......
通常您想要的是使用 rsync 执行一个或两个文件系统的完全同步(减去您不想要的东西,例如 /dev、/proc、/sys、/tmp)。然后,暂时使系统脱机(即对最终用户而言)并执行另一次 rsync 传递以获取文件系统。由于您已经进行了最近的同步,因此这应该要快得多,并且由于系统处于离线状态 - 因此,没有写入 - 不会出现数据不一致的情况。
答案2
我建议不要。假设您要对 的全部内容进行 tar 操作/
,那么您将提取各种您不需要的内容。
例如/proc
目录。以及您安装驱动器的位置。因此,您将结束尝试将备份复制到其自身,然后将其海龟一路向下复制。
答案3
相关部分主要是/root
(根帐户设置),/etc
(大多数配置位于此处)。您还应该保存已安装软件包的列表以及手边的安装/救援 CD/DVD 以供紧急使用。
如果您需要一种恢复设置的方法,则要保存的文件系统是/boot
和/
(如果/usr/
是单独的,也是如此)。请小心,检查您是否有数据库、网站、VCS 存储库等/var
。此外,/var/log
出于法律或审计目的,或者只是为了以后的好奇心,可能必须安全地保存下面的日志。