使用aliyun提供的遷移工具把本地的虛擬機器或主機遷移到阿里雲上去

bboysoul發表於2018-03-14

概述

這個工具說真的挺神奇的,具體流程是下面這樣的,你現在本地安裝這個工具,之後進行簡單的配置就可以把本地的應用遷移到雲上去,預設直接會在阿里雲上開一臺按量付費的雲伺服器,遷移完成製作映象之後會釋放掉

windows 下

我是在windows下安裝的,因為是做測試,所以才安裝了windows,不然誰會用這破玩意,我用的系統是windows server 2012r2
首先開啟瀏覽器然後輸入連結下載
http://p2v-tools.oss-cn-hangzhou.aliyuncs.com/Alibaba_Cloud_Migration_Tool.zip?spm=a2c4g.11186623.2.13.yjPQON&file=Alibaba_Cloud_Migration_Tool.zip
如果是linux下直接使用wget工具搞定,真的事多
接著進入對應的資料夾
首先配置user_config.json

{
    "access_id": "",
    "secret_key": "",
    "region_id": "",
    "image_name": "",
    "system_disk_size": 40,
    "platform": "",
    "architecture": "",
    "data_disks": [],
    "bandwidth_limit": 0
}

前兩個不解釋,region_id就是遷移中轉的ecs地域可以在下面這個連結看
https://help.aliyun.com/document_detail/53289.html?spm=a2c4g.11186623.2.4.8JaHve
image_name就是你上雲映象的名字
system_disk_size就是系統盤大小,這個是遷移的時候做中轉的ecs的系統盤大小
platform就是平臺,詳細的在下面,名字要一樣,不然不起作用

CentOS
Ubuntu
SUSE
OpenSUSE
Debian
RedHat
Others Linux
Windows Server 2003
Windows Server 2008
Windows Server 2012
Windows Server 2016

architecture就是平臺的架構,是i386還是x86_64的
data_disks就是遷移資料盤時候使用的,就是本地除了系統盤之外的盤,如果沒有就空著,如果有,有三個引數要寫
data_disk_index 資料盤序號
data_disk_size 資料盤大小
src_path 目錄,如果是windows就是D,E,F或者其他,如果是linux就是mnt,disk,media或者其他,具體配置就像下面這樣

[ {
            "data_disk_index": 1,
            "data_disk_size": 100,
            "src_path": "/mnt/disk1"
        }, {
            "data_disk_index": 2,
            "data_disk_size": 150,
            "src_path": "/mnt/disk2"
        }, {
            "data_disk_index": 3,
            "data_disk_size": 200,
            "src_path": "/mnt/disk3"
        }
    ],

bandwidth_limit 資料傳輸的頻寬限制,使用預設0就好了,速度快點

接著按住shift加滑鼠右鍵開啟cmd
之後執行go2aliyun_client.exe這個檔案

C:UsersAdministratorDesktopAlibaba_Cloud_Migration_Toolgo2aliyun_client1.2.
3_windowsgo2aliyun_client1.2.3_windowsgo2aliyun_client1.2.3_windows_x86_64>go2
aliyun_client.exe
[2018-03-13 12:18:05]  [Info]   ========= Goto Aliyun Client 1.2.3. =========
[2018-03-13 12:18:05]  [Info]   Goto Aliyun Begin...
[2018-03-13 12:18:05]  [Info]   Check User Config...
[2018-03-13 12:18:05]  [Info]   Load Client Config...
[2018-03-13 12:18:05]  [Info]   Get OS Info...
[2018-03-13 12:18:05]  [Info]   Client Check...
[2018-03-13 12:18:05]  [Info]   Prepare ECS...
[2018-03-13 12:18:05]  [Info]   Check Resource...
[2018-03-13 12:18:06]  [Info]   Query Vpc...
[2018-03-13 12:18:07]  [Info]   Vpc Found!
[2018-03-13 12:18:07]  [Info]   Wait For Vpc...
[2018-03-13 12:18:07]  [Info]   Query VSwitch...
[2018-03-13 12:18:07]  [Info]   VSwitch Found!
[2018-03-13 12:18:07]  [Info]   Wait For VSwitch...
[2018-03-13 12:18:07]  [Info]   Query Security Group...
[2018-03-13 12:18:07]  [Info]   Security Group Found!
[2018-03-13 12:18:07]  [Info]   Create Server Instance [ecs.n1.small]...
[2018-03-13 12:18:12]  [Info]   Wait For Server ECS...
ECS Status: Stopped, time: 5s
[2018-03-13 12:18:17]  [Info]   Allocate Public Ip Address...
[2018-03-13 12:18:18]  [Info]   Check Server ECS Status...
[2018-03-13 12:18:18]  [Info]   Start Server Instance...
[2018-03-13 12:18:18]  [Info]   Query Server ECS Status...
ECS Status: Running, time: 57s
[2018-03-13 12:19:15]  [Info]   Server ECS Is Running!
[2018-03-13 12:19:15]  [Info]   Connect to Server Testing, please wait (600s max
)...
Connect Test count: 3, time: 60s
[2018-03-13 12:20:15]  [Info]   Connect to Server Successfully!
[2018-03-13 12:20:15]  [Info]   Disks Detecting, please wait (600s max)...
Disks Detect count: 2, time: 13s
[2018-03-13 12:20:28]  [Info]   Init Disk 0...
[2018-03-13 12:20:31]  [Info]   Do Rsync Disk 0...
[2018-03-13 12:20:31]  [Info]   Prepare for Rsync Disk 0...
[2018-03-13 12:20:40]  [Info]   Rsync Testing, please wait (600s max)...
Rsync Test count: 1, time: 2s
[2018-03-13 12:20:42]  [Info]   Rsync Test Successfully!
Rsync Size: 11.32GB, progress: 109.34%, time: 1608s
[2018-03-13 12:47:48]  [Info]   Do Rsync Disk 0 Successfully!

[2018-03-13 12:47:50]  [Info]   Do Grub...
[2018-03-13 12:47:53]  [Info]   Stop Server Instance...
[2018-03-13 12:47:55]  [Info]   Query Server ECS Status...
ECS Status: Stopped, time: 19s
[2018-03-13 12:48:14]  [Info]   Server ECS Is Ready To Create Image!
[2018-03-13 12:48:14]  [Info]   Prepare To Create Image...
[2018-03-13 12:48:14]  [Info]   Query Disk 0...
[2018-03-13 12:48:14]  [Info]   Create Snapshot 0...
[2018-03-13 12:48:15]  [Info]   Create Snapshot 0 Successfully!
[2018-03-13 12:48:17]  [Info]   Query Snapshots Progress...
Snapshots accomplished, total: 100%, time: 1024s
[2018-03-13 13:05:21]  [Info]   Create Image...
[2018-03-13 13:05:22]  [Done]   Create Image Successfully!
[2018-03-13 13:05:22]  [Info]   Server ECS Is Released!
[2018-03-13 13:05:22]  [Done]   Goto Aliyun Finished!
Enter any key to Exit...

遷移過程差不多就是這個樣子,先是會在阿里雲上建立一個雲主機,預設的系統我看了一下是2008,配置挺低的,然後是上傳,上傳完成之後關閉ecs製作映象最後釋放ecs

linux下

linux下我使用的centos 7.4

上雲的話有幾個要求

  • 確保您已經安裝了 Rsync 庫:
  • 確保系統安裝了 Xen 或者 KVM(Kernerl Virtual Machine) 驅動
  • 確保系統已關閉 SELinux。您可以執行 setenforce 0 臨時關閉 SELinux。
  • 您需要以 root 身份執行遷雲工具。
  • 如果您的源伺服器系統是 CentOS 5 或者 Debian 7 等核心版本比較低並且自帶 GRUB 程式版本低於 1.99 時。您可以預先 安裝 1.9 以上版本的系統載入程式 GRUB
  • 建議為源伺服器安裝cloud-init,以確保遷雲後所有的例項配置成功生效。

因為我使用的zstack的系統模版,所以cloud-init我是安裝好了的,還有qemu-guest-agent也是安裝好了的,selinux預設也是關閉了的,如果沒有可以看我下面

首先安裝cloud-init
yum install cloud-init -y
接著安裝qemu-guest-agent
yum install qemu-guest-agen
之後設定開機啟動
chkconfig qemu-guest-agent on
使用下面這個命令getenforce來檢查selinux是不是開啟的如果返回Enforcing,那麼是開啟的,否則修改下面這個配置檔案
vi /etc/selinux/config
把SELINUX改為disable
接著你要安裝rsync同步工具
yum install rsync –y
關於grub的話centos7是使用grub2的,所以是符合的
最後就是下載遷移工具了
wget `http://p2v-tools.oss-cn-hangzhou.aliyuncs.com/Alibaba_Cloud_Migration_Tool.zip?spm=a2c4g.11186623.2.13.N4K0Db&file=Alibaba_Cloud_Migration_Tool.zip`
解壓
unzip Alibaba_Cloud_Migration_Tool.zip?spm=a2c4g.11186623.2.13.N4K0Db&file=Alibaba_Cloud_Migration_Tool.zip
unzip go2aliyun_client1.2.3_linux.zip
cd go2aliyun_client1.2.3_linux/go2aliyun_client1.2.3_linux_x86_64/
修改檔案許可權
chmod +x ./go2aliyun_client
修改json配置檔案

{
    "access_id": "",
    "secret_key": "",
    "region_id": "",
    "image_name": "",
    "system_disk_size": 40,
    "platform": "",
    "architecture": "",
    "data_disks": [],
    "bandwidth_limit": 0
}

配置方法和windows的一樣,沒什麼可說的,接著執行這個命令就好了,執行之前最好安裝screen,用screen建立一個會話去執行
screen -S goto
./go2aliyun_client
和windows一樣等著就好了

歡迎關注Bboysoul的部落格www.bboysoul.com
Have Fun


相關文章