当前位置:Linux教程 - Linux - Linux机器备份(一)

Linux机器备份(一)



        


    第一章

    我应该学习这门教程吗?




    本教程将教给您一些技巧,使您在不幸遇上最糟糕的局面时能够恢复过来。即使是新的、高品质的硬盘驱动器偶而也会出现故障。因此,经常性的系统备份,尤其是对于那些整天忙碌着不停的修改代码的开发者们,是非常必要的。本教程将告诉您如何保护自己免于丢失大量的关键数据。

    关于作者

    如果有关于本教程内容的技术性问题,请通过 [email protected] 联系作者 Daniel Robbins。

    Daniel Robbins 居住在新墨西哥州的 Albuquerque。他是 Gentoo Technologies, Inc. 的总裁兼 CEO,Gentoo Linux(用于 PC 的高级 Linux)和 Portage 系统(Linux 的下一代移植系统)的创始人。他还是 Macmillan 书籍 Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和 Samba Unleashed 的联合撰稿人。Daniel 自二年级起就与计算机结下不解之缘,那时他首先接触的是 Logo 程序语言,并沉溺于 Pac-Man 游戏中。这也许就是他至今仍担任 SONY Electronic Publishing/Psygnosis 的首席图形设计师的原因所在。Daniel 喜欢与妻子 Mary 和新出生的女儿 Hadassah 一起共度时光。


    第二章 备份基础

    我真的需要备份吗?

    我确信一定会有一些人想知道是否真的需要系统备份。毕竟,Linux 是一个相当可靠的操作系统,很可能您从未丢失过任何数据。您大概会认为,如果小心一点的话,就永远也不会丢失任何数据,不会有事的。我想请您改变这种想法 :)

    在写这篇教程的过程中,我的开发服务器的硬盘驱动器坏了。我将 cvs.gentoo.org 备份以后,把下一屏上的这封 e-mail 发给了我的开发人员们……

    硬盘驱动器故障


    给: gentoo-dev
    日期: Sun, 22 July 2001 11:58:34 -0700
    自: drobbins
    主题: cvs.gentoo.org 硬盘驱动器故障

    重要信息:
    ======================

    今天早上大约 10:00 左右,我走进了家中的办公室,就发现 cvs.gentoo.org 的硬盘驱动器的灯亮着。
    打开显示器,我看到屏幕上有许多 IDE 驱动器错误内核消息。我赶快重新引导服务器,就发现硬盘驱动器
    (非常新的 IBM 45Gb Ultra/100 驱动器)发出了一种奇怪的噪音却转不起来……,系统认不出驱动器来;它完了。

    事情就是这样,现在已经是上午 11:51 了,系统已经被恢复到一个 IBM 30Gb Ultra/100 驱动器上了。
    *有一件事对我们大家来说都是非常幸运的*,那就是在大约一天前我把系统完全备份到了磁带上。讽刺的是,
    我正好在为 IBM developerworks 写一份关于系统备份的教程。

    人总是会受影响的


    每个人都会受到机器故障的困扰,这些故障还经常发生在您最不想它们发生的时候。谢天谢地,我只丢失了一小部分数据,恢复过程很快。但是,如果最近我没做过备份的话,我们可能会丢失大量的重要数据,Gentoo Linux 项目也会陷入困境之中。我希望这件事可以说明定期备份系统的重要性,尤其是对于那些不断修改代码的忙碌的开发人员们。

    不管您多么小心谨慎,总有一些事情您控制不了。硬盘驱动器故障或者大的电源波动都能轻易破坏数据。当然,您的系统中可能会有一个很好的 UPS(不间断电源)以及高品质的硬盘驱动器,这非常好。但这些都只是减小了数据丢失的可能性,并不能杜绝这种可能性;正如发生在我身上的事情一样,新的、高品质的硬盘驱动器偶而也会出现故障。

    也许您采用了 RAID 阵列(一种针对廉价磁盘的冗余阵列)— 也是非常棒的!对于提高系统的可用性而言,RAID 是一项很好的技术。但是,RAID 只能预防非人为的纯粹的磁盘故障;如果是文件系统破坏或者有人无意中删除了一些文件,RAID 也帮不了您。因此,不要认为 RAID 是您从系统备份中“解脱出来的办法”,因为它只能防止某种类型的故障,而一份完好的磁带备份却可以让您准备好应付一切。

    一些问题



    这里有一些很好的问题请您回答:如果您的计算机今天爆炸了,您怎么办呢?重建您丢失的数据需要花多少时间?这对您个人(考虑一下您个人的 Linux 机器)以及您的老板会造成多大的损失呢?如果您必须给可能丢失的数据标上价格,那么它值多少钱呢?回答了这些问题之后,您还愿意接受这样的损失吗?如果不愿意的话,那么您就有了一个需要立即解决的备份危机。


    第三章 备份策略


    我应当备份哪些文件呢?


    第一种显而易见的方法是备份您认为重要的所有文件。一种简便的做法是备份 /home 目录树下的所有内容;然后,只要您能确认所有的重要文件都在该目录下,这些文件就可以被自动备份了。

    完全备份

    这里有另外一种值得您认真考虑的方法。如果您在乎不必要的停机时间的话,那么您可以计算一下从零开始重新配置系统需要多少时间。请记住,恢复 Linux 系统不仅仅是放入您最喜欢的分发版 CD,还可能要编译许多应用程序的特别版本,调整重要的配置文件,而且还不只是这些。

    为 "裸机" 恢复做好准备

    如果您确实不想再做一遍这些事情,那么我建议您对系统进行一次完全备份。这样,您就可以进行“裸机”恢复了 — 只要花上几个小时的时间,一切都会恢复的和以前一模一样。对服务器来说,通常情况下这正是您想用的方法,这样服务器就可以尽早恢复运行了

    应当使用什么介质/驱动器?

    那么,您应该用什么介质备份呢?

    现在的磁带驱动器普遍具有价格低、高性能、大容量以及物有所值的优点。如果您需要买一台磁带驱动器,首先要从自身的经济能力和数据的价值出发,确定您愿意花费在磁带设备上大约的最大开销。然后,开始着手购买 Linux 兼容的驱动器。最好的开端就是去 http://www.linuxtapecert.org 看一下那里的 Linux 磁带驱动器的兼容性表格。选出一种可靠而且容量足够将来发展的型号。

    没有磁带驱动器怎么办呢?

    如果您买不起磁带驱动器,也不要失望。虽然通常磁带驱动器是最方便使用的一种备份设备,但是不管是什么样的备份都要好过根本没有备份。您可以备份到 CD-R 、可移动式磁盘驱动器、Iomega Zip 驱动器上,如果您实在是没钱,甚至可以备份到 3.5" 磁盘上。一般地,如果您使用的是非磁带式的硬件设备,您就要创建一个包含您的数据的磁盘存档文件(如 tar.gz 文件)。然后,把这个 tarball 复制到介质上并放到一个安全的地方。

    对于磁带而言,可能会更简单些,因为数据流可以直接送入磁带,不需要中间的磁盘存档文件。

    我应当用什么工具备份呢?

    有很多种免费的备份软件可供选择。但其中最著名的两种是:tar 和 dump。这两种应用程序是有所区别的,换句话说,tar 与文件系统无关,而 dump 与文件系统相关。因为 dump 在比 tar 更低层次上工作(直接备份文件系统索引节点),所以您需要针对您的文件系统,比如说 ext2,写的 dump 版本。

    ...tar 的优点是什么?


    尽管通常 dump 有一些性能优势而且在 UNIX 系统中是比较受欢迎的一种备份方法,但是我建议不要在 Linux 系统中使用。为什么这么说呢?在 UNIX 系统中,一般只有“正式的”硬盘驱动器文件系统格式,这使得 dump 的文件系统相关的问题不是那么严重。然而,现在的 Linux 有许多种新的日志文件系统,dump 至少在其中一种上不被支持,这就是 ReiserFS。考虑到 Linux 文件系统的可选范围非常广阔,最好能确保您的备份与文件系统无关,这样 dump 我们就不予考虑了。

    用 star 进行救援

    好,因此我们淘汰了 dump。在本教程中,我打算使用一个名为 star 的程序。star 是 tar 的兼容程序,享有世界上最快的 tar 实现工具的美誉。也是一个写的非常好的程序。 与 tar 的其它实现工具相比,比如 GNU tar,star 更好地改进了发现的缺陷;这些缺陷曾让许多人转向用 dump 作为实现工具。GNU tar 也能够用于磁带备份,不过,star 具有更精炼、更快速、易于使用以及其它许多优点。并且它是免费的,这可真是件好事情 :) 虽然它是一个 tar 实现工具,但同时也具有许多 dump 实现工具的优点:快速、使用简单并且坚固。由于 star 独立于文件系统和平台,您可以轻松地在其它的文件系统中恢复它处理的存档文件(甚至是在 UNIX 系统中,比如 AIX 或者 Solaris),如果必要的话。





















    发布人:netbull 来自:IBM Develop 中国