541
技術社區[雲棲]
雲服務器 ECS 鏡像遷移:應用遷雲之鏡像遷移-(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模塊 |
|
最後更新:2017-08-15 17:02:34