应用迁云之镜像迁移-(4)迁移流程和实践方法
迁移流程
1.镜像迁移可行性评估
当您选择镜像迁移前,需要对被迁移的服务器主机详细信息进行调研,并按照镜像迁移可行性评估小节中描述的要求及限制进行评估。评估是否可行及是否需要采用镜像迁移的方式来进行迁移。
如果被迁移服务器主机数量规模大、并且大多都带系统盘、网络条件不好,建议不要使用镜像迁移的方式。因为镜像文件都比较大,在此条件下进行镜像迁移反而会加大迁移的时间及人力成本。
如果被迁移服务器主机中应用配置比较复杂、无人维护、网络条件好,建议您使用镜像迁移的方式。虽然数据盘不支持镜像迁移,但您可先把系统盘镜像迁移到阿里云,再采用文件同步的方式将数据盘数据同步到阿里云的数据盘中。
通常镜像迁移前需要一些准备工作,具体如下所示。
镜像文件存放公共目录准备
- Windows类
通过Alip2v或者DISK2VHD工具对Windows操作系统的系统盘进行镜像文件制作。您可以把镜像文件存放地址输入公共目录地址,比如某台大容量空间的windows系统共享目录。
然后,在Alip2v或者DISK2VHD的镜像文件保存地址中输入网络路径,比如\iZtk67uu6ar4utZ\VHD_DIR可以将镜像文件写入共享目录中进行统一管理。
- Linux类
通过Alip2v或者DD工具对Linux操作系统的系统盘进行镜像文件制作的时候,可以把输出路径设置为一些挂载NFS的共享的目录,把镜像文件输出到统一的共享目录中。共享目录通常部署到镜像文件格式转换工具平台上。
环境搭建方法示例
一、环境示例
- 共享目录服务器端 CentOS6.5 192.168.0.10。
- 被迁移服务器端 CentOS6.5 192.168.0.11。
二、共享目录服务器端安装配置
1.先用rpm -qa命令查看所需安装包nfs-utils、rpcbind是否已经安装。
[root@local /]# rpm -qa | grep "rpcbind"
rpcbind-0.2.0-11.el6.x86_64
[root@local /]# rpm -qa | grep "nfs"
nfs-utils-1.2.3-39.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64
2.如查询结果如上,说明服务器自身已经安装了NFS;如果没有安装则用yum命令来安装。
[root@local /]# yum -y install nfs-utils rpcbind
3.创建共享目录。
[root@local /]# mkdir /sharestore
4.NFS共享文件路径配置。编辑/etc/exports添加下面一行,添加后保存退出。
[root@local /]# vi /etc/exports
/sharestore *(rw,sync,no_root_squash)
5.启动NFS服务。先启动rpcbind,再启动nfs。如果服务器自身已经安装过NFS,就用restart重启两个服务。
[root@local /]# service rpcbind start</span></pre>
Starting rpcbind: [ OK ]
[root@local /]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
Starting NFS daemon: [ OK ]
[root@local /]
6.设置NFS服务开机自启动。
[root@local /]# chkconfig rpcbind on
[root@local /]# chkconfig nfs on
三、被迁移服务器端挂载配置
1.创建一个挂载点。
[root@localhost ~]# mkdir /mnt/store
2.挂载。
[root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
镜像文件格式转换工具平台准备
镜像文件格式转换平台搭建,主要是安装镜像格式转换工具并且需要保证平台磁盘空间有较大容量来保存镜像文件,对镜像文件进行统一存储和管理。具体容量空间大小需根据迁移镜像规模而定。在格式转换平台上,需要安装OSS工具。在镜像文件完成格式转换后,上传到用户具体账号下阿里云OSS对象存储中。
Windows类操作系统可以安装XenConvert或StarWindConverter工具来作为镜像文件格式转换平台的基础工具。
Linux类操作系统需安装qemu-img工具来作为镜像文件格式转换平台的基础工具。安装方法如下:
以CentOS为例:
yum install qemu-img
镜像导出前操作系统检查准备工作
- Windows 系统关闭防火墙UAC、启用远程桌面
- 关闭防火墙。操作方法:选择 开始>控制面板>Windows防火墙>打开和关闭防火墙,选择关闭防火墙。
- 关闭UAC用户帐户控制。选择 开始>运行,输入MSCONFIG,打开 系统配置>工具Tab,更改UAC设置最低,重启系统后生效。
- 启用远程桌面。选择 开始>计算机>属性>远程设置>启用远程桌面。
- 系统关闭防火墙、Selinux、Network Manager
- 关闭Linux系统防火墙执行命令chkconfig iptables off重启生效。
- 关闭Selinux 修改/etc/selinux/config文件中的SELINUX=”” 为 disabled 重启生效。
- 关闭或删除Network Manager。
- 在/etc/fstab文件中去掉mount配置。
2. 镜像文件制作或导出
对于传统IDC的物理服务器主机或者其他云平台服务器主机,若为Windows类型,您可以使用Alip2v或者DISK2VHD工具进行Windows系统C盘的镜像文件制作。
- 以 Alip2v Windows 版工具为示例。
工具安装注意事项
Alip2v 工具的安装需要 Microsoft Windows Installer,即微软用来运行MSI安装程序所使用的 Windows 程序模块。若计算机上未安装相同或更高版本的 WindowsInstaller,需要自行进行安装。一般系统自带,无需安装。
Alip2v 工具的运行依赖于 NET Framework 4.0,若计算机上未安装相同或更高版本的 .NET Framework,安装包下有 DotNetFX40Client 文件夹,可单击进行安装。
运行安装包里的 setup.exe 文件,按照提示安装,即可完成 Alip2v 工具的安装。
工具使用
1.单击运行Ali-P2V系统提示被迁移系统信息,单击下一步。
2.选择镜像目的运行平台KVM或者Xen在阿里云IO实例优化为KVM实例非I0实例优化为Xen实例、选择镜像文件格式VHD、VMDK、RAW一般选择VHD格式输入系统盘大小勾选系统盘C盘不支持数据盘迁移。
3.设置无需进行克隆的文件或目录以减少转换的时间和空间。如相关日志等信息也可为空不指定、设置镜像文件存储路径注意空间是否足够。
4.确认信息后点击运行运行完毕后镜像文件保存在目标路径下。
对于传统IDC的物理服务器主机或者其他云平台服务器主机的Linux类型,您可以使用Alip2v或者DD工具进行Linux系统盘的导出。这两个工具导出的都是RAW格式,镜像文件RAW文件一般都比较大和系统盘size一样大。RAW虽然可以直接上传到阿里云,但是建议使用qemu-img转换为VHD后上传,以节约网络传输时间。
Alip2v linux版工具使用为示例
限制说明
- 外设:目前不支持外接物理设备如SAN/NAS/HBA卡/FC卡/加密设备等。
- 在线迁移前确保应用已经停止,尽量减少数据不一致的情况。
- 排除不需要的目录,比如数据盘挂载点,不支持网络文件系统。
- 默认创建的目标镜像是稀疏的raw文件,需要自己转换成其他格式。
- 默认创建的目标文件系统为ext3或ext4,不支持其他文件系统。
工具使用指导
迁移工具选项说明
说明:
- 首先进行环境检查确保可以顺利迁移。
- 创建新的磁盘镜像默认是raw格式。
- 默认拷贝本地根分区除/dev,/proc,/sys其他需要排除的目录请手动指定。
- 设定镜像参数确保目标系统可以正常启动。
环境检查
说明:
- 操作系统版本检查目前只支持Linux。
- 处理器类型检查目前只支持Intel x86架构。
- 发行版检查目前只支持CentOS 5/6RedHat 5/6SUSE 11。
- 本地文件系统空间检查是否有足够的空间存放镜像。
- 检查驱动需要能够支持xen,若检查失败请先安装驱动。
- 检查selinux状态,不支持开启selinux。
镜像导出执行
说明:
- 在线迁移前确保应用已经停止,尽量减少数据不一致的情况。
- 排除不需要的目录,比如数据盘挂载点不支持网络文件系统。
- 不支持selinux,请先关闭重启,生效后重新进行迁移。
- 默认创建的目标镜像是稀疏的raw文件,需要自己转换成其他格式。
- 默认创建的目标文件系统为ext3或ext4,不支持其他文件系统。
工具使用为示例
1.通过df和fdisk查看跟分区位置在/dev/vda。
[root@iZbp1be1ftlybmieiuqpqeZ
~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 41151808 1649216
37405544 5% /
tmpfs 1962256 0
1962256 0% /dev/shm
//10.28.44.86/c$ 209713148 46532092 163181056 23% /mnt/samba
10.27.88.123:/share_dir
206291712 150970880 44835328
78% /mnt/nfs
/dev/mapper/p2v-lvm 30832636
2794168 26465604 10% /home
[root@iZbp1be1ftlybmieiuqpqeZ
~]# fdisk -l
Disk
/dev/vda: 42.9 GB, 42949672960 bytes
255
heads, 63 sectors/track, 5221 cylinders
Units
= cylinders of 16065 * 512 = 8225280 bytes
Sector
size (logical/physical): 512 bytes / 512 bytes
I/O
size (minimum/optimal): 512 bytes / 512 bytes
Disk
identifier: 0x00078f9c
Device Boot Start End Blocks
Id System
/dev/vda1 *
1 5222 41940992
83 Linux
2.通过dd命令制作镜像文件。
[root@iZbp1be1ftlybmieiuqpqeZ ~]# dd if=/dev/vdc of=/mnt/nfs/centos65.raw
3. 镜像格式转换。
对于有的云平台可以导出镜像文件而且基本是VHD的格式。这种情况下, 您可以省去镜像制作和格式转换的步骤。
在传统虚拟化平台,VMware类型的虚拟主机迁移不用镜像制作。目前,VMware虚拟主机底层虚拟磁盘文件为VMDK格式。您可以到ESX Server中把VMDK文件拷贝到镜像格式转换平台后直接转换。
VMDK转VHD
qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
RAW转VHD
qemu-img convert –f raw centos65.raw –O vpc centos65.vhd
qemu-img convert 说明
qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
当然,您也可以在windows系统中部署Xenconvert或者StarWindConverter工具来进行格式转换。镜像格式转换阶段主要是正对VMDK转VHDRAW转VHD。
注意:
VMware的虚拟磁盘vmdk文件在创建的时候可以选择分割的方式,这样会导致一个虚拟机有N个虚拟磁盘文件。使用XenConvert转成VHD格式只能输入一个需要使用vmware-vdiskmanager.exe合并多个虚拟磁盘vmdk文件为一个vmdk文件。
4. 镜像文件上传并设置为自定义镜像
在云下导出或制作好镜像后,需要上传的阿里云的镜像中心,上传过程中需要使用OSS服务。如果使用的阿里云账号还没有开通OSS服务,请先开通OSS服务。使用OSS的第三方工具客户端OSS API 或者OSS SDK把制作好的文件上传到,和导入ECS用户自定义镜像相同地域的bucket里面,如对上传文件到OSS不熟悉,请参考https://help.aliyun.com/document_detail/32185.html?spm=5176.doc32184.6.951.c6Ckyf。
镜像上传到OSS后,您可以在阿里云控制台发起工单申请ECS。导入镜像的权限并且主动把OSS的访问权限授权给ECS官方的服务账号。
授权完成后,进入阿里云ECS控制台。导入镜像前需要填写导入镜像信息表单。
在镜像导入过程中,通过任务管理找到该导入的镜像,您可以对导入的镜像进行取消。导入镜像需要耐心等待,一般需要数小时才能完成。完成的时间取决于镜像文件的大小和当前导入任务繁忙程度,您可以在导入地域的镜像列表中看到这个镜像进度。
5. 根据镜像启动ECS实例
镜像导入到阿里云后,您可以进入阿里云ECS控制台,通过上传的镜像进行实例创建。在镜像选择的时候,镜像来源需要选择自定义镜像,您可以在自定义镜像列表看到导入的镜像。
启动完成后,您可以根据以下检查项列表来进入ECS实例进行相关检查。
Windows镜像实例检查列表
检查内容 | 说明 |
IP内网IP/外网ip 掩码 网关 |
1. 内网ip校验能通过另外一台vm ping通 2. 外网ip外网ping通 |
路由 | 正常访问外网 |
密码 | administrator密码登录 |
hostname |
计算机-属性-高级系统设置-计算机名 修改后重启计算机 |
DNS | ping DNS服务是否能ping通/是否能正常访问外网 |
默认网关 | 正常访问外网 |
host文件 |
位于:C:\Windows\System32\drivers\etc 测试域名绑定 |
挂载数据磁盘 |
挂载磁盘是否成功,格式化磁盘是否成功 是否能正确写入文件check,是否存在写保护 |
ntp | 校验机器时间 |
KMS |
1. 运行输入框中输入“Slmgr.vbs -dlv”命令并回车 2. 查看批量激活过期时间 |
注入启动AliyunService进程以及XEN或KVM模块 | 任务管理器查看是否存在以下进程shutdownmon老版本叫shutdownmon/AliyunService |
Linux镜像实例检查列表
检查内容 |
说明 |
ip 掩码 网关公私网卡 |
1. 内网ip校验能通过另外一台vm ping通 2. 外网ip外网ping通 |
路由 |
正常访问外网 |
密码 |
root密码 |
hostname |
修改hostname |
dns |
ping DNS服务是否能ping通/是否能正常访问外网 |
默认网关 |
正常访问外网 |
hos文件 |
/etc/sysconfig/network修改hostname需要重启reboot |
ssh key |
/etc/ssh/ssh_host_key(一般不会修改) |
挂载数据磁盘 |
mount磁盘是否成功格式化磁盘是否成功 是否能正确写入文件check是否存在写保护 |
ntp |
查看服务器时间 |
yum/apt源 |
自动安装yum或apt软件 |
注入启动gshell进程以及XEN或KVM模块 |
|
原文链接