分享

迁移 Linux 系统,第 1 部分 如何迁移备份和裸机恢复 Linux 系统

 Jason的书阁 2015-01-19

当硬件升级,更换存储设备或是遇到硬件故障时,需要迁移原来的操作系统及应用软件到新的硬件设备上。这个过程包含系统的迁移备份和裸机恢复,本文详细描述了整个过程的细节。

迁移备份和裸机恢复

灾 难恢复 , 指自然或人为灾害后,重新启用信息系统的数据、硬件及软件设备,恢复正常商业运作的过程。灾难恢复是涵盖面更广的业务连续规划的一部分,其核心即对企业或 机构的灾难性风险做出评估、防范,特别是对关键性业务数据、流程予以及时记录、备份、保护。灾难恢复规划需要许多手动、复杂的步骤来分配恢复资源、执行裸 机恢复、执行数据恢复,并验证系统是否为使用做好了准备。

在灾难恢复中,裸机恢复(bare metal restore)是在灾难性故障发生之后,通过擦除对计算机进行重新格式化的过程。一般包括重新安装操作系统和各种应用软件,如果可能的话,也包括对数据和设置信息的恢复。


回页首

本文的方案简介

本文介绍的 Linux 系统灾难恢复方案利用了 Linux 工具进行数据备份和恢复,利用 Linux 上的开源软件和工具进行裸机恢复。一台服务器和可移动存储设备,实现了灾难备份和裸机恢复的主要功能。


图 1. 基于单机的迁移备份及恢复
图 1. 基于单机的迁移备份及恢复

在本文的方案中,简化了复杂存储设备,替代为外部可移动存储硬盘,而存储设备和服务器之间的网络连接着简化为 USB 连接或 SCSI/SATA 接口连接。这样把系统备份和恢复的过程缩小到一台机器上。同样,本文的解决方案也很容易扩展到网络连接的远程存储上。


表 1. 灾难备份的环境

灾难备份环境 说明
硬件环境 任意一台支持 Linux 操作系统的机器。本文使用了 IBM System x3500M2,基于 Intel 酷睿多核 CPU。
可移动的存储设备,本文使用了可插拔 SATA 硬盘。
软件环境 Linux 操作系统,本文安装了 SUSE Linux Enterprise Server 10 SP2。
备份恢复工具。
其他应用程序。

 

迁移备份过程

  • 备份操作系统本身。对于 Linux 系统,并不是所有的目录和文件都需要备份。/dev、 /sys、 /proc、 /tmp 不需要备份。
  • 如果 Linux 的分区基于 LVM,可以使用 LVM 快照功能保证系统备份的完备性和一致性。
  • 系统硬件信息的备份,包括硬盘分区表,hostname, 网络连接配置。

裸机恢复的准备

裸机恢复需要从可移动介质如 CD、USB Disk 上启动一个诊断系统。本文采用了 KIWI imaging System 来定制一个预装恢复软件的 LiveCD,见本文的第二部分。

裸机恢复的过程

  1.  
    1. LiveCD 引导系统
    2. 驱动硬件设备、加载备份媒介、存储设备并恢复硬盘分区
    3. 连接备份媒介
    4. 恢复操作系统数据到硬盘分区
    5. 恢复其他系统设置
    6. 重起系统至硬盘引导
    7. 验证恢复成功

本方案的优点在于结构简单,硬件需求少;不考虑复杂的网络环境和网络接口;裸机恢复方案灵活,过程可定制性强。


回页首

Linux 系统的备份

拥有良好备份的第一步是拥有备份计划。首先明确您需要保存的数据以及需要什么恢复策略,然后使用最适合该策略的工具。

备份哪些文件

本 文中备份操作系统时,有一些文件系统和目录不需要备份。proc,sysfs, tmpfs 文件系统和 /proc 目录在系统启动时自动生成;/mnt 目录用于 mount 其他文件系统;/media 目录挂载了可移动备份介质。其他一些特殊的目录需要特殊的处理,比如数据库文件。

 

备份媒介

可 擦写光盘、其他硬盘、同一块硬盘的不同分区、或者网络存储系统都可以作为备份媒介。大型的服务器使用 tap 磁带机来备份数据,而如果是一般个人计算机的话,很可能是使用可擦写式光盘来存取数据。本文是基于单机的备份选用了可移动媒体,适用于小型服务器或者个人 计算机。因为可移动媒体灵活方便,更换维护容易,成本低,速度快,容量对于单机的备份足够。

 

备份方式

  • 完全备份(普通备份 Normal) :备份所有选择的文件和文件夹(不管是否被设为存档属性), 备份后清除备份标志;通常 , 在首次创建备份集时要执行一次正常备份。
  • 增量备份(Incremental) :只备份选择的,并且带有标志的文件和文件夹,它清除备份标志 . 即只备份上次正常备份或增量备份以来创建或更改的文件。其需要最少的存储空间 , 并节省备份时间 . 然而在恢复文件比较耗时和困难。
  • 差异备份(Differential) : 只备份选择的,并且带有标志的文件和文件夹,它不清除备份标志 . 即只备份上次正常备份或增量备份以来创建或更改的文件。由于其不清除文件的存档属性 , 所以对一个文件执行两次差异备份 , 则在每一次整个文件都要被备份。差异备份使用的存储介质比增量备份多 , 但还原差异备份的数据则简单些。

为了节省存储空间,还需要对备份的数据进行压缩。

 

备份频率

是否天天备份、若完全备份,需要多久进行一次,增量备份何时一次,备份档案的管理。

根据本文的情况,选择一周一次完全备份,每天增量备份。

备份工具

备份有很多工具,传统的 UNIX 备份工具是 tar 、 cpio 和 dump 。另外,还可以使用第三方软件包 ( 包括 freeware 和商业版 )。备份介质的选择可能影响工具的选择。

tar 是一个已移植到 Linux 中的经典 UNIX 命令。 tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果您下载过 Linux 源代码,或许已经碰到过 tar 文件。这是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。本文中使用了 tar 和 Shell 脚本来控制 Linux 系统备份的策略。

实际上在 Linux 中,任何能够复制文件的程序都可以用来执行某种程度的备份。有人就使用 cpio 和 dd 来执行备份。cpio 是又一个与 tar 差不多的打包实用工具,但使用得不太普遍。 dd 是一个文件系统复制实用工具,它产生文件系统的二进制副本。 dd 还可用于产生硬盘驱动器的映像,类似于使用诸如 Symantec 的 Ghost 这样的产品。然而, dd 不是基于文件的,因此您只能使用它来将数据还原到完全相同的硬盘驱动器分区。

可用于 Linux 的商业化备份产品有很多。商业化产品一般提供了便利的界面和报告系统,而在使用诸如 dump 和 tar 这样的工具时,您必须自食其力。商业化产品很广泛,通常提供大量的特性。Tivoli Storage Manager 或许是现在可用于 Linux 的最好的商业化备份和存储管理实用工具。Tivoli Storage Manager 服务器可运行在多种平台上,包括 Linux,而客户机则可以运行在更多种类的平台上。关于 Tivoli Storage Manager 在 Linux 系统上的使用,请参阅本文的参考资源。

Linux 下的备份示例

本例的备份策略是的是选择每个月的一号和每周日做完全备份,每天都做增量备份。这个增量备份是基于每周日的完全备份的。tar 文件并没有压缩,所以用 gzip 压缩。


清单 1. 备份脚本

				
#!/bin/sh
# Backup Script: backup.sh

if [ $# -lt 3 ]
then
echo "usage: backup.sh dir_under_backup dump_to name"
exit;
fi

COMPUTER=`hostname`

if [ $# -gt 3 ]
then
COMPUTER=$3
fi

DIRECTORIES=$1
BACKUPDIR=$2
FLAGS="— directory=$DIRECTORIES --exclude=mnt --exclude=proc --exclude=media"

TAR=/bin/tar # name and locaction of tar

PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a` # Day of the week e.g. Mon
DOM=`date +%d` # Date of the Month e.g. 27
DM=`date +%d%b` # Date and Month e.g. 27Sep

if [ $DOM = "01" ]; then # monthly full backup
NEWER=""
echo "$TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DM.tgz $FLAGS ."
fi

if [ $DOW = "Sun" ]; then # weekly full backup
NEWER=""
NOW=`date +%d-%b`
echo $NOW > $BACKUPDIR/$COMPUTER-full-date #update full backup date
echo "$TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DOW.tgz $FLAGS – ignore-failed-read ."

else # make incremental backup - overwrite last weeks
NEWER="--newer `cat $BACKUPDIR/$COMPUTER-full-date`" #get date of last full backup
echo "$TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DOW.tgz $FLAGS – ignore-failed-read ."
fi

 

为了使脚本自动化运行,可以使用 crontab 工具。


清单 2. 自动运行备份

				
47 9 * * * /media/script/tempdelete.sh
30 1 * * 1-6 /meida/script/ringbackup.sh
0 1 * * 0 /media/script/ringfullbackup.sh

 

0 为星期日

基于 LVM 分区的 Linux 操作系统备份

如 果在备份过程期间数据没有发生变化,那么就能够获得一致的备份。但是如果不在备份期间停止系统,就很难保证数据没有变化。 LVM 实现了一种称为快照(Snapshot)的特性,它的作用就像是“拍摄”逻辑卷在某一时刻的照片。通过使用快照, 可以获得同一个逻辑卷的两个拷贝。一个可以用于备份,另一个继续用于日常操作。LVM 快照有两大优点:

  • 快照的创建非常快,不需要停止生产环境。
  • 建立两个拷贝,但是它们的大小并不一样。快照使用的空间仅仅是存储两个 LV 之间的差异所需的空间。

LVM 技术已经大量应用于类 Unix 系统并成为安装系统时默认的分区格式,如 AIX 和大部分的 Linux 发行版。本文就是利用 LVM 的快照技术,在不中断系统和应用程序运行的情况下完成备份。


清单 3. 创建 LVM 快照分区

				
保证 vg 有空闲的空间来创建快照
sles:~ # vgdisplay -s
"system" 463.54 GB [427.22 GB used / 36.32 GB free]

创建 root 卷的快照分区,大小为 32G,并命名为 snap。
sles:~ # lvcreate -s -L 32G -n snap /dev/system/root
Logical volume "snap" created

可以使用 lvdisplay 查询特殊信息,比如 CoW 的大小和使用情况  (lvs)
sles:~ # lvdisplay /dev/system/snap
--- Logical volume ---
LV Name /dev/system/snap
VG Name system
LV UUID ft2uvx-5SLW-ArSU-HVSK-Xdxo-pu4q-4YHTId
LV Write Access read/write
LV snapshot status active destination for /dev/system/root
LV Status available
# open 1
LV Size 411.24 GB
Current LE 105277
COW-table size 32.00 GB
COW-table LE 8192
Allocated to snapshot 0.09%
Snapshot chunk size 8.00 KB
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2

 

对于所有日常操作,LVM 快照看起来就是原来逻辑卷的一个拷贝。本文对映射到根目录的逻辑卷创建 LVM 快照,并且 mount 到 /mnt/lvm/ 目录中,然后执行快照的备份。


清单 4. 备份快照分区

				
# mount snapshot volume
mount -o ro /dev/system/snap /mnt/lvm
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root
405G 57G 328G 15% /
udev 4.0G 148K 4.0G 1% /dev
/dev/sdb1 244M 15M 216M 7% /boot
/dev/sda1 459G 200G 259G 44% /media
/dev/mapper/system-snap
405G 57G 328G 15% /mnt/lvm
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
root system owi-ao 411.24G
snap system swi-ao 32.00G root 0.15
swap system -wi-ao 15.98G

备份 boot 目录
/media/script/backup.sh /boot /media boot

备份根目录" / "
/media/script/backup.sh /mnt/lvm /media root

 

备份过程完成之后,就不需要快照了,这时只需用 lvremove 卸载并销毁它。


清单 5. 删除 LVM 快照卷

				
# umount /mnt/lvm/
remove snapshot
# lvremove /dev/system/snap

 

备份系统信息

为 了能够恢复到备份前的状态。不仅要备份 Linux 系统文件,而且需要收集其他一些系统信息。Linux 系统上有许多命令或工具能够帮助你完成信息收集,比如 fdisk、proc 文件系统、df、ifconfig 和 /etc/sysconfig 目录。需要收集的系统信息包括:

  • 硬盘分区信息。包括分区个数、类型、大小、boot 分区和 root 目录。
  • hostname
  • 网络信息。包括 IP 地址、子网掩码、网关设置、DNS 设置。
  • 操作系统的运行级别

这些信息也需要保存在可移动硬盘上,以备逻辑回复时使用。


清单 6. 备份系统信息

				
在可移动硬盘上创建系统信息备份目录
# mkdir -p /media/sys_bk/

备份硬盘分区表
# fdisk -l > /media/sys_bk/partitions.txt

备份 LVM 分区
# /sbin/vgcfgbackup -v
Finding all volume groups
Finding volume group "system"
Creating volume group backup "/etc/lvm/backup/system" (seqno 33).
Volume group "system" successfully backed up.

# mv /etc/lvm/backup/system /media/sys_bk/

 


回页首

裸机恢复方案介绍

裸机恢复在灾难恢复计划中占有很重要的地位,也是最关键的一步。以下是几种裸机恢复的方法及比较。

手动引导恢复

最便宜的裸机恢复方案就是手动安装一个最小系统来引导恢复流程,并在其上安装恢复软件来恢复系统数据。


图 2. 手动引导恢复
图 2. 手动引导恢复

手 动恢复需要耗费大量时间。用户必须重新安装机器的操作系统和应用程序,恢复数据,然后修复配置,调节原系统和恢复数据之间的所有差异。使用这种方法恢复机 器需要花费几天时间,最终通常无法完全恢复机器,另外,这种恢复方法非常容易出错。其中许多错误非常难以察觉,需要多花几天时间才能发现、排除和纠正。

操作系统镜像引导恢复

利用第三方软件或自带的工具快速恢复一个最小系统。比如 AIX 系统上的 mksysb 工具。


图 3. 操作系统镜像引导恢复
图 3. 操作系统镜像引导恢复

Live Media 引导恢复

从可移动媒质上引导和运行一个完整的操作系统是完全可能的,例如 CD-ROM 或 USB 设备。这些系统可能被预先安装了硬件驱动和软件,以连接和恢复备份数据。目前这种方式特别适合类 unix 系统,比如 Linux。


图 4. Live Media 引导恢复
图 4. Live Media 引导恢复

自动裸机恢复

如果把以上方案用自动化脚本无缝连接起来,就是自动化的恢复方案。许多商业公司提供这样的自动化软件。比如 VERITAS Bare Metal Restore 和 TSM system backup and recovery for AIX。

本文的 LiveCD 裸机恢复计划

在文章的开头已经指明,本文的解决方案采用了 LiveCD 引导恢复的方案;本文的第二部分介绍了如何制作 LiveCD。那么在一切就绪的情况下开始恢复系统。

  • 启动 LiveCD 系统
  •  
    • LiveCD 引导系统,设置系统信息或服务
    • 驱动硬件设备、存储设备并加载备份媒介
    • 在存储设备上恢复系统分区和 LVM 分区
  • 恢复 Linux 操作系统的根目录和 boot 目录
  • Linux 系统引导和系统设置的恢复
  • 启动裸机恢复后的系统

回页首

启动 LiveCD 系统

本文的第二部分介绍了如何使用 KIWI 软件制作一张 LiveCD 镜像。本文的使用的镜像只有 160MB,完全可以刻录在一张 CD 上,成为恢复引导媒质。

LiveCD 引导系统

准 备一台用作恢复的裸机,就是没有安装任何操作系统和应用程序的机器,最好与做灾难备份的机器硬件类似。插入 LiveCD 到机器的光盘驱动器,并设置系统从光盘启动。用预先设置好的用户名和密码登陆后,检查系统信息。还可以修改系统的设置,或者开启网络服务如 ssh。但是记住,这些修改只是暂时写到内存中,当 LiveCD 系统重启后又恢复到初始状态。


清单 7. LiveCD 系统信息

				
内核信息
linux:~ # uname -a
Linux linux 2.6.16.60-0.21-smp #1 SMP Tue May 6 12:41:02 /
UTC 2008 x86_64 x86_64 x86_64 GNU/Linux

系统内存
linux:~ # free
total used free shared buffers cached
Mem: 1394232 120060 1274172 0 10768 71472
-/+ buffers/cache: 37820 1356412
Swap: 0 0 0

系统分区
linux:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 681M 376K 681M 1% /
udev 681M 88K 681M 1% /dev

硬盘信息
linux:~ # fdisk -l
Disk /dev/sda: 497.9 GB, 497998102528 bytes
255 heads, 63 sectors/track, 60544 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

网络信息
linux:~ # ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:56:1C
inet addr:9.123.99.225 Bcast:9.123.99.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe06:561c/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3606 errors:0 dropped:0 overruns:0 frame:0
TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:422057 (412.1 Kb) TX bytes:33439 (32.6 Kb)
Base address:0x1400 Memory:f4820000-f4840000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1124 (1.0 Kb) TX bytes:1124 (1.0 Kb)

 

加载备份媒质

本文中,备份媒质即可移动硬盘。我们把操作系统、应用程序、系统信息存储在可移动硬盘中。所以裸机恢复时,需要把可移动硬盘加载到 LiveCD 系统上。备份介质加载后 mount 到 LiveCD 系统的 /media 目录上。


表 2. 备份媒质的内容

/media 下的文件或目录 说明
script/ 自动化备份恢复脚本
Data/ 备份数据
sys_bk/ 系统信息备份



清单 8. 加载备份媒质

				
linux:~ # fdisk -l

Disk /dev/sda: 497.9 GB, 497998102528 bytes
255 heads, 63 sectors/track, 60544 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 60801 488384032 83 Linux

linux:~ # mount /dev/sdb1 /media/
linux:~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 697116 376 696740 1% /
udev 697116 88 697028 1% /dev
/dev/sdb1 480719088 209328684 271390404 49% /media

 

恢复系统分区

在 LiveCD 加载存储设备后,就可以利用系统工具 fdisk 和 LVM 在上面创建分区了。首先清除硬盘的主引导记录 MBR。


清单 9. 清除主引导记录

				
# dd if=/dev/zero of=/dev/sda bs=512 count=1

 

读取备份媒质上的硬盘分区表文件 /media/sysbk/partitions.txt, 用 fdisk 工具恢复分区。


清单 10. 恢复硬盘分区

				
linux:~ # fdisk /dev/sda -l

Disk /dev/sda: 497.9 GB, 497998102528 bytes
255 heads, 63 sectors/track, 60544 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 257039+ 83 Linux
/dev/sda2 33 60544 486062640 8e Linux LVM

 

然后使用 LVM 工具为根分区和交换分区创建逻辑分区。参见 DeveloperWorks 上的文章“ 逻辑卷管理 ”。


清单 11. 创建逻辑分区

				
linux:~ # pvcreate /dev/sda2
Physical volume "/dev/sda2" successfully created
linux:~ # vgcreate system /dev/sda2
Volume group "system" successfully created
linux:~ # vgchange -a y
0 logical volume(s) in volume group "system" now active
linux:~ # vgscan
Reading all physical volumes. This may take a while...
Found volume group "system" using metadata type lvm2
linux:~ # lvcreate -L 16G -n swap system
Logical volume "swap" created
linux:~ # lvcreate -L 400G -n root system
Logical volume "root" created
linux:~ # lvscan
ACTIVE '/dev/system/swap' [16.00 GB] inherit
ACTIVE '/dev/system/root' [400.00 GB] inherit

 

至此,硬盘分区表已经按照备份重建了。在恢复过程中,可以根据系统硬件的实际情况(比如内存大小,硬盘大小)来调节分区大小。


回页首

恢复 Linux 操作系统及应用程序

恢复 Linux 系统到最近的备份状态,首先要验证恢复工具已经安装到 LiveCD 上。本文备份时使用的是 tar 和 gzip,所以他们需要预先安装到 LiveCD 中。接着映射硬盘分区到 LiveCD 的系统中去。


清单 12. 恢复 Linux 系统目录

				
格式化根分区并 mount
linux:~ # mkfs.ext3 /dev/system/root
linux:~ # mkdir /bmr
linux:~ # mount /dev/system/root /bmr/

格式化 boot 分区并 mount
linux:~ # mkfs.ext3 /dev/sda1
linux:~ # mkdir /bmr/boot
linux:~ # mount /dev/sda1 /bmr/boot/

加载交换分区
linux:~ # mkswap /dev/system/swap
Setting up swapspace version 1, size = 2147479 kB
linux:~ # swapon -a /dev/system/swap

恢复 /boot 目录
# /bin/tar -zxf /media/data/boot_Sun.tgz -C /bmr/

恢复根目录
# /bin/tar -zxf /meida/data/sles_Sun.tgz -C /bmr/

 

只需要等待一段时间就完成了所有操作系统目录的恢复,文件系统的恢复操作就这么简单。恢复时间的长短取决于数据的多少。这样 Linux 操作系统本身和安装在操作系统上的应用程序都恢复到了硬盘分区上。


回页首

Linux 系统引导和系统设置的恢复

恢复了 Linux 系统的所有目录到硬盘上,并不等于完成了裸机恢复。裸机恢复要保证恢复后的系统能够自行从硬盘启动并且系统设置与备份的系统一致。所以还有一些后续的恢复操作。

恢复 grub

恢复磁盘分区前,擦除了新硬盘上的主引导记录 MBR。因为我们要重新写入它。Grub 提供了工具程序 grub-install,用来将 grub 安装到硬盘的 MBR。

 grub-install -root-directory Mount-Point (hdn) 

 

上面的命令可以将 grub 安装到硬盘的 MBR。内核镜像 (kernel-image) 如果不在根分区 / 下,例如在 /boot,可以使用 Mount-Point 指定其路径。(hdn) 表示某个硬盘,n 是硬盘的编号,编号从 0 开始。


清单 13. 恢复磁盘 MBR

				
linux:~ # grub-install --root-directory=/bmr/ /dev/sda --recheck
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map /bmr//boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb

 

恢复网络设置

网 卡的 MAC 地址和设备号的对应规则预先设置在系统的 /etc/udev/rules.d/30-net_persistent_names.rules 文件中。当裸机恢复系统到另外一台机器后,网卡的 MAC 地址必然改变了。所以我们必须删除旧的注册信息,以便系统能够更新这些规则。


清单 14. 清除网络绑定

				
linux:~ # echo "" > /bmr/etc/udev/rules.d/30-net_persistent_names.rules

 

重起系统至硬盘引导


清单 15. 恢复硬盘系统

				
linux:~ # umount /bmr/boot
linux:~ # umount /bmr/
linux:~ # umount /bmr/media/
linux:~ # umount /bmr
linux:~ # poweroff

 

至此裸机恢复已经完成了。从光驱中移除 LiveCD,重启系统从硬盘引导,就可以看到系统已经恢复到备份时的状态。本文裸机恢复过程完全在 LiveCD 的控制台下完成。如果把这些命令写入脚本并加入到 LiveCD 的启动过程中运行,就成为了自动裸机恢复模式了。由此可见,自动恢复并不神秘。而且本文的灾难备份和裸机恢复的方法具有高度可定制性,很容易插入特殊的操 作以满足不同用户的需求。


回页首

小结

本 文介绍了如何备份 Linux 系统,然后迁移到新的硬件上。当然,新的硬件平台需要和原来的硬件兼容,因为 Linux 系统迁移时只是数据的恢复,并没有重新探测硬件并加载硬件驱动模块。本文的压缩备份工具选用了基于 Linux 系统的开源工具。功能更加丰富的商业备份软件如 IBM Tivoli Storage Manager,同样也可以在本文的方案中使用。

 

参考资料

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多