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

使用 dd 命令实现 SAN 存储的快照数据迁移(3)

使用 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.conf
1
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. 修改 fstab
1
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

佛山思海网络  十八年优质运营商
佛山联通G口大带宽常年优惠促销!
品质服务器托管、租用大特惠!
稳定流畅 24*7售后技术在线
欢迎咨询QQ:983054746
广东佛山电信千兆独享服务器租用低至16999/月!数量有限,赶快抢购 !-思海网络
返回列表