科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[图]如何在UNIX下对硬盘进行全备份

[图]如何在UNIX下对硬盘进行全备份

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在任何系统下对整块硬盘进行备份都是一场无法避免的灾难。本文将逐步引导您在UNIX系统下对硬盘进行整体备份。

作者:TechRepublic.com.com 来源:TechRepublic.com.com 2007年7月19日

关键字: 系统映像 IDE 备份 unix Office

  • 评论
  • 分享微博
  • 分享邮件
本文将逐步引导您在UNIX系统下对硬盘进行整体备份。为了进行安装或备份,需要建立系统映像。进行备份前,需要另准备一块相同或者更大的硬盘作为目标盘。这块盘要创建为新的启动盘,以便在引导失败时,用其替换先前的硬盘,启动系统并恢复到备份时的状态。尽管拆换运行中的系统硬盘并不是最理想的方法,但是这样做能够快速重新恢复系统。另外,在出现系统许可问题或者数据破损时,备份硬盘也是解决问题的妥善方案。

注:进行以下操作前请先进行登录。

硬盘校验与准备
首先需要验证系统能够识别第二块硬盘,您需在/dev下查看目录列表。如图A。

目录列表

在目前这一系统下(带有两块IDE硬盘的FreeBSD 6.1系统),第一块盘显示为ad0,第二块则为ad1。您可查看您的UNIX系统的文件确定磁盘在列表中的确切名称。在本文中,ad0 (位于第一IDE硬盘通道的主硬盘)为源硬盘,ad1 (第一IDE硬盘通道的从盘)为备份的目的盘。

通过检验证实系统能够识别目的盘以后,需要对硬盘进行正确分区和贴标。运行以下命令对磁盘进行初始化:

1.dd if=/dev/zero of=/dev/ad1 bs=1k count=1 这一语句会在磁盘上写入1024个0以确保磁盘洁净。

2.fdisk -BI ad1 这一命令将创建一个整个磁盘区域用以进行初始化。如果您希望在这块硬盘上采用与默认不同的启动工具,请查阅fdisk文档或者手动在这一硬盘上安装不同的启动工具。

3.disklabel ad0s1 > /tmp/savedlabel 在临时文件上保存源盘的卷标。

4.disklabel -R -B ad1s1 /tmp/savedlabel 在新硬盘上写上原来的卷标。

5.newfs /dev/ad1s1a newfs /dev/ad1s1b newfs /dev/ad1s1d newfs /dev/ad1s1e newfs /dev/ad1s1f

我们在创建的每个分区上再创建新的文件系统,其中分区的数量是由FreeBSD系统默认规定的。您可以通过/dev查看目录列表以确保在硬盘ad1上所创建的每个分区都已经创建了文件系统。

6.mkdir -p /_bk mkdir -p /tmp_bk mkdir -p /usr_bk mkdir -p /var_bk

如上操作就给备份的新命名的文件系统创建了空间。当然,您的文件系统可能与此有所差别,可酌情而定。

7. vi /etc/fstab 这样可提取vi中的fstab文件进行编辑。我们对这个文件的编辑是为了使系统能在重新启动后可使用新的分区。如果您不喜欢使用vi, 也可以选用文本编辑器。初始的fstab文件如图B所示。

我们将在ad0盘上复制全部信息,这样ad1上的新区就能被加载、使用与原来分区一致(带有_bk扩展名的,第六步中命名一致)的名称。因此不用再对交换部分重复建立入口 (如Fstype卷所注明的)。 编辑结束后的fstab文件应如图C所示。

原始的fstab

对fstab进行的修改

8.无需重新启动系统,我们对新文件系统进行检验并加载。按照我们对fstab改动后的目录和分区,执行如下命令:

  • mount /dev/ad1s1a /_bk
  • mount /dev/ad1s1e /tmp_bk
  • mount /dev/ad1s1f /usr_bk
  • mount /dev/ad1s1d /var_bk

    9.最后一步是进行备份:

  • cd /_bk && dump –L -0 -f - / | restore -r -f -
  • cd /tmp_bk && dump –L -0 -f - /tmp | restore -r -f -
  • cd /usr_bk && dump –L -0 -f - /usr | restore -r -f -
  • cd /var_bk && dump –L -0 -f - /var | restore -r -f –

    这一命令将对整个文件系统进行复制并立即改变其修复命令。如果备份的是实时文件系统,-L能够规定复制过程中尽可能的使用文件系统映像;如果所备份的不是实时文件系统,可以省略-L;如果无需立即生成备份硬盘映像,我们可以命令将复制输出成为一个文件,以便于新生成分区映像的使用。

    10.编辑/bk/etc/fstab 文件删除所有涉及另一硬盘的文件,以便于其像原始的fstab文件。如果你关闭这个复制硬盘,另一硬盘就会代替其位置,系统将不会这块“不存在”的磁盘上加载文件系统。或者,您也可以编辑备份硬盘(/_bk/etc/fstab)上的fstab文件,使其与原始盘完全一样,这样去掉原始盘后不用移动备份磁盘就可以正常启动。如果您使用这种方法,请确保ad1s1b作为替换分区。而具体采取哪种方法要完全根据你在硬盘发生故障时的切换方法来定。

    在这里,如果您打开/_bk, /usr_bk, /tmp_bk和/var_bk的目录列表,您将能看到列表与原始目录中完全一致。为了检验备份,关闭计算机,将设置相同的备份硬盘换下原来的硬盘并重新启动计算机。您的计算机应该能够重新启动并恢复到进行备份时的状态。

    总结:
    请注意,无论何种方法也不能说是尽善尽美的。由于对硬盘进行了完整的备份,系统会“认为”发生了非正常关机。备份硬盘尽管可以启动和使用,可最好还是用于全文件系统的近线(near line)备份,而不是用于立即恢复关闭的系统。 虽然也可有此用途,但被迫运行下的备份(特别是锁定文件,PID文件等方面)可能无法完整满足需求。您可运行crontab下定期运行脚本来保证进行最新的备份。此方法是经过时间检验的可靠方法,并且可以获得良好的技术支持和记录。 (责任编辑:张思童)

      • 评论
      • 分享微博
      • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章