首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用 FastBack 实现 Linux 裸机恢复(4)

用 FastBack 实现 Linux 裸机恢复(4)

应对复杂分区的解决方案如果要进行裸机恢复的 Linux 机器具有更复杂的分区,可以参考本章节进行还原配置。下面是可能遇到的复杂的分区类型:
  • 一块硬盘上包括以下三个分区:
       /boot 引导区
       / 根目录
       Swap 空间
  • 一块硬盘上包括了 LVM 分区:
       /boot 引导区
       LVM 分区的/ 根目录
  • 两块硬盘:
       硬盘 1:/boot 引导区和/ 根目录
       硬盘 2:/opt(这里指包括 FastBack 客户端程序所在的分区)
  • 同时还原到多台机器
下面我们将分别介绍针对以上四种不同类型的分区类型进行 Linux 裸机恢复的解决方案。
一块硬盘上包括三个分区
在这种情况,我们只需在中的第七步,同时选择/boot 引导区和 / 根目录的快照即可。
一块硬盘上包括 LVM 分区
在这种情形下,逻辑分区没有被重建,但是/ 根目录已经还原到了所在的硬盘下。以下的例子是备份还原这个分区类型的配置建议:
原始配置:
1
2
3
4
5
6
Disk /dev/sda
Partition 1  /dev/sda1  /boot
Partition 2  /dev/sda2  VolGroup00
        VolGroup00
          LogVol00  /
          LogVol01  swap




还原之后的配置:
1
2
3
4
Disk /dev/sda
Partition 1  /dev/sda1  /boot
Partition 2  /dev/sda2  /
Partition 3  /dev/sda3  swap




在 Fedora 和 SUSE 上运行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dde27

Device Boot      Start         End      Blocks    Id   System
/dev/sda1   *       63      208844      104391   83   Linux
/dev/sda2       208845    79638476    39714816   8e   Linux LVM
/dev/sda3     79638477    83886079     2123801+  82   Linux swap / Solaris

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 83
Changed system type of partition 2 to 83 (Linux)

Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dde27
        
Device Boot      Start         End      Blocks    Id  System
/dev/sda1   *        63      208844      104391    83   Linux
/dev/sda2       208845    79638476    39714816    83   Linux
/dev/sda3     79638477    83886079     2123801+   82  Linux swap / Solaris

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource
busy. The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.




完成以上配置之后,在的第七步之前,我们还需要做以下的步骤:
1. 编辑 boot 参数:
1
2
# mount /dev/sda1 /mnt
# vi /mnt/grub/menu.lst




2. 编辑内核 kernel 信息,使其指向新的 Root 分区。将原来的
1
2
kernel /vmlinuz-2.6.18-164.6.1.el5 ro
root=/dev/VolGroup00/LogVol00




       编辑成
1
2
3
4
kernel /vmlinuz-2.6.18-164.6.1.el5
ro root=/dev/sda2
      save and close
# umount /mnt




3. 编辑 fstab 文件指向新的硬盘分区如下:
1
2
# mount /dev/sda2 /mnt
# vi /mnt/etc/fstab




将以下内容
1
2
3
4
5
6
7
/dev/VolGroup00/LogVol00    /             ext3    defaults    1 1
LABEL=/boot          /boot        ext3    defaults    1 2
Tmpfs               /dev/shm    tmpfs           defaults    0 0
Devpts            /dev/pts    devpts  gid=5,mode=620           0 0
Sysfs            /sys    sysfs    defaults    0 0
proc            /proc    proc    defaults    0 0
/dev/VolGroup00/LogVol01    swap    swap           defaults    0 0




改为
1
2
3
4
5
6
7
/dev/sda2          /             ext3    defaults    1 1
LABEL=/boot          /boot    ext3    defaults    1 2
Tmpfs            /dev/shm    tmpfs           defaults    0 0
Devpts            /dev/pts    devpts         gid=5,mode=620           0 0
sysfs             /sys    sysfs    defaults    0 0
proc            /proc    proc    defaults    0 0
/dev/sda3          swap    swap           defaults    0 0




4. 保存关闭,并卸载此硬盘
1
# umount /mnt




5. 重启 BMR 的机器
1
# reboot




两块硬盘
在这种分区类型的情况中,我们需要在执行的第七步时,修改 iSCSI 配置信息如:
1
2
3
Target LinuxBMR
Lun 0 Path=/dev/sda,Type=blockio
Lun 1 Path=/dev/sdb,Type=blockio




在执行的第七、八步骤中,对需要还原的每块硬盘重复一次以上的操作。
同时还原多个 LINUX 机器
如果有多台机器需要同时进行裸机还原,需要在每台机器上执行以下步骤:
1. 在执行的第七步时,修改 iSCSI 配置信息如下:
1
2
Target LinuxBMR_n
Lun 0 Path=/dev/sda,Type=blockio




2. 在上的第八和第九步,对需要还原的每块硬盘执行以上步骤。
除了以上几种复杂的分区配置之外,下面是几个常见问题的解决方案:
3. 如果在最后一次重启后,操作系统没有起来并显示“grub>prompt”,可重复执行中的第四步设置 Grub bootloader。
4. 如果你的机器有 IDE 硬盘并且用 fdisk –l 命令查看显示为/dev/hda,但是用 Fedora 或者 SUSE 的启动 CD 下用 fdisk –l 查看,它可能显示为/dev/sda。这是不正确的设备名字(sda 代替了 hda)。这个不正确的设备名将影响设置/etc/fstab 和 grub.menu 这两个文件的配置。因此必须更新确保我们使用的是原始设备名(/dev/hda)。
5. 如果你的 iSCSI 服务在做完裸机恢复之后注销失败了,可以手动停止 iSCSI:
1
2
3
4
5
6
7
8
9
10
11
12
13
# /etc/init.d/tgtd status
tgtd (pid 2271 2269) is running...
# kill -9 2271
# /etc/init.d/tgtd status
tgtd (pid 2269) is running...
# kill -9 2269
# /etc/init.d/tgtd status
tgtd dead but subsys locked
# /etc/init.d/tgtd stop
# /etc/init.d/tgtd start
Starting SCSI target daemon: [ OK ]
# /etc/init.d/tgtd stop
Stopping SCSI target daemon: [ OK ]

返回列表