使用 dd 命令实现 SAN 存储的快照数据迁移(3)
- UID
- 1066743
|
使用 dd 命令实现 SAN 存储的快照数据迁移(3)
使用 DMMP 的 SANBoot OS 的快照数据备份和迁移我们假定 Redhat Linux 5 u5 操作系统已经 SANBoot 安装在 XIV 的设备盘,具体安装步骤可以参考 IBM 官网介绍的 。选取 DS8000 创建备份存储盘,将操作系统快照备份到 DS8000 备份盘,实现操作系统从 XIV 到 DS8000 的数据迁移。
首先介绍配置策略:
1. 在 DS8000 上创建一个大于或者等于当前 XIV Sanboot OS 的卷,将这个卷映射给主机,这个卷将作为操作系统的备份盘;
2. 使用 dd 命令实现 XIV Sanboot OS 到 DS8000 的快照备份;
3. 将操作系统从 XIV 迁移到 DS8000,验证快照备份成功;
- 修改备份盘上操作系统的启动配置文件,让启动设备指向备份盘;
- 重启主机进入 HBA Utility,选择从备份盘启动,当操作系统从备份盘成功启动,操作系统已迁移到 DS8000,同时验证 dd 命令快照备份成功。
DS8000 上创建备份卷该过程如下:
1. 在服务器上为 DS8000 准备一个区域;
2. 添加一个卷组;
3. 创建一个主机连接;
4. 为操作系统制作一个备份卷。
以下是这些步骤的细节:
在服务器上为 DS8000 准备一个区域
每条路径都需要一个区域,以便服务器 HBA 端口能够到达 DS8000 I/O 端口。如图 1 所示,您需要在 SAN1 上安置 hba1 和 controller 1 (DS8000 端口 1),在 SAN2 上安置 hba2 和 controller2 (DS8000 端口 2)。如果使用软区域,则如下所示:
区域 1:
50:05:07:63:03:00:00:68 (DS8000 端口 1 的 WWPN);
10:00:00:00:c9:93:54:3a (服务器 HBA 端口 1 的 WWPN)
区域 2:
50:05:07:63:03:10:80:68(DS8000 端口 2 的 WWPN);
10:00:00:00:c9:93:54:3b(服务器 HBA 端口 2 的 WWPN)
图 1.RAID 设备的多路径配置添加一个卷组
假设您的存储器管理员已经将 DS8000 分区并创建了一个块池(extent pool)。您可以通过 DSCLI 在 DS8000 上执行以下命令为服务器添加一个卷组:
1
| dscli>mkvolgrp -hosttype AMDLinuxRHEL myvolgrp
|
在这里您将设置一个名为 myvolgrp 的卷组,主机类型为 AMDLinuxRHEL,该类型定义附加基于 AMD 的 Redhat Linux OS。
创建一个主机连接
使用主机连接将服务器的 HBA WWPN 映射到 DS8000 上一个专用卷组,以便服务器可以在专用卷组中访问所有卷。命令如下:
1
2
3
4
| dscli>mkhostconnect -wwname 10000000C993543A \
-hosttype AMDLinuxRHEL -volgrp v50 myhost_p1
dscli>mkhostconnect -wwname 10000000C993543B \
-hosttype AMDLinuxRHEL -volgrp v50 myhost_p2
|
在这里,使用主机 HBA 卡两个端口的 WWPN 为服务器创建了两个主机连接,它连接到 DS8000 的 I/O 端口并将 ID 为 v50 的卷组 myvolgrp 映射到该主机连接。这使该服务器端口可以访问卷组 myvolgrp 中的所有卷。
为操作系统制作一个备份卷
您需要制作一个卷来备份操作系统数据。这个卷要大于或者等于 XIV SANBoot OS 的卷,我们之前在 XIV 创建了一个 68GB 的卷用于 SANBoot OS 的安装。所以接下来要在 DS8000 块池 p0 创建一个大小为 70GB 的卷 sanboot_os,并将其分配到卷组 v50。该卷用于 XIV SANBoot OS 的备份。
1
| dscli>mkfbvol -extpool p0 -cap 70 -volgrp v50 -name sanboot_os 1659
|
现在已经创建好了备份存储卷,可以开始备份了。
dd 命令实现 SANBoot OS 从 XIV 到 DS8000 的快照备份首先,查看一下主机端识别到的设备盘。从“multipath – ll”命令的输出看到一个 XIV 的设备盘,有 2 条路径 sdb 和 sdc,经过 DMMP 多路之后的设备名为 mpath0,这个盘就是当前的操作系统盘。这时系统还没有识别到刚才映射的 DS8000 的备份盘,需要从 IBM 官网下载 DMMP支持 DS8000,并且放到主机相应的目录 /etc/multipath.conf,通过“multipath – r”命令重新扫描新添加的 DMMP 设备盘。
1
2
3
4
5
6
7
8
| bash# multipath -ll
mpath0 (20017380000d420ef) dm-1 IBM,2810XIV
[size=64G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ 1:0:1:1 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 0:0:0:1 sdc 8:32 [active][ready]
bash# multipath – r
|
再次查看当前的设备盘,我们看到新增的 mpath1 即是刚刚从 DS8000 映射到主机的备份盘。
1
2
3
4
5
6
7
8
9
10
11
12
| bash# multipath -ll
mpath1 (36005076303ffc0680000000000001659) dm-0 IBM,2107900
[size=70G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=2][active]
\_ 1:0:0:0 sda 8:0 [active][ready]
\_ 0:0:1:0 sdd 8:48 [active][ready]
mpath0 (20017380000d420ef) dm-1 IBM,2810XIV
[size=64G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ 1:0:1:1 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 0:0:0:1 sdc 8:32 [active][ready]
|
现在我们可以开始用 dd 命令将 XIV 设备盘的操作系统数据完全备份到 DS8000 设备盘。
1
2
3
4
| bash# dd if=/dev/sda of=/dev/sdb
134217728+0 records in
134217728+0 records out
68719476736 bytes (69 GB) copied, 3670.95 seconds, 18.7 MB/s
|
dd 命令备份结束之后需要重启系统,才会看到 mpath1 被创建了三个分区 mpath1p1、mpathp2 和 mpathp3,这三个分区分别对应于操作系统的 boot,root 和 swap:
1
2
3
4
5
6
7
8
9
10
11
| bash# ls -l /dev/mapper
total 0
crw------- 1 root root 10, 63 May 17 01:49 control
brw-rw---- 1 root disk 253, 1 May 17 01:49 mpath0
brw-rw---- 1 root disk 253, 5 May 17 01:49 mpath0p1
brw-rw---- 1 root disk 253, 6 May 17 01:49 mpath0p2
brw-rw---- 1 root disk 253, 7 May 17 01:49 mpath0p3
brw-rw---- 1 root disk 253, 0 May 17 01:49 mpath1
brw-rw---- 1 root disk 253, 2 May 17 01:49 mpath1p1
brw-rw---- 1 root disk 253, 3 May 17 01:49 mpath1p2
brw-rw---- 1 root disk 253, 4 May 17 01:49 mpath1p3
|
dd 命令实现 SANBoot OS 的快照数据迁移备份盘上面的操作系统的启动配置文件是指向 XIV 盘的,既然我们要把操作系统迁移到 DS8000,那么需要修改启动配置文件指向来自 DS8000 的备份盘 mpath1。和启动相关的有三个配置文件:
- /etc/fstab;
- /boot/grub/grub.conf;
- 内存镜像解压后的 init 文件。
首先在根目录下创建新的挂载点 /ds8k_boot /ds8k_root,将 DS8000 的设备盘 mpath1 的 boot 分区和 root 分区挂载。
1
2
3
| bash# mkdir /ds8k_boot /ds8k_root
bash# mount /dev/mapper/mpath1p1 /ds8k_boot
bash# mount /dev/mapper/mpath1p2 /ds8k_root
|
编辑 grub.conf
让 root 指向 mpath1 的根分区 /dev/mapper/mpath1p2。
清单 1. 修改 grub.conf1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| bash#cd /ds8k_boot /grub/
bash# vi grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/mpath0p2
# initrd /initrd-version.img
#boot=/dev/mapper/mpath0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/mapper/mpath1p2 rhgb quiet
initrd /initrd-2.6.18-194.el5.img
|
编辑 fstab
重新指定 boot 分区和 root 分区分别为 /dev/mapper/mpath1p1, /dev/mapper/mpath1p2,swap 分区为 /dev/mapper/mpath1p3。
清单 2. 修改 fstab1
2
3
4
5
6
7
8
9
| bash# cd /ds8k_root/etc/
bash# vi fstab
/dev/mapper/mpath1p2 / ext3 defaults 1 1
/dev/mapper/mpath1p1 /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/mapper/mpath1p3 swap swap defaults 0 0
|
|
|
|
|
|
|
- UID
- 913046
|
佛山思海网络 十八年优质运营商
佛山联通G口大带宽常年优惠促销!
品质服务器托管、租用大特惠!
稳定流畅 24*7售后技术在线
欢迎咨询QQ:983054746 |
广东佛山电信千兆独享服务器租用低至16999/月!数量有限,赶快抢购 !-思海网络 |
|
|
|
|
|