CentOS: 將虛擬機遷移到 Azure (以阿里云為例)

Azure 虛擬機能很容易地導出 vhd 并遷移到各種環(huán)境中屹徘,包含本地及云端環(huán)境,或者遷移至其他區(qū)域沐旨。這為開發(fā)森逮、測試、擴展帶來了極大的便利磁携。因此本文以阿里云為例褒侧,闡述的是如何將 CentOS 6.8 的虛擬機遷移到 Azure 環(huán)境,同時能保存虛擬機內的數(shù)據(jù)颜武,不需重新部署應用的方法璃搜。

主要步驟

遷移的主要步驟分為:準備環(huán)境調整服務器配置鳞上,導出磁盤这吻,上傳磁盤建立新的虛擬機篙议。

在這幾個步驟中唾糯,調整服務器配置將對阿里云中的配置進行調整以符合 Azure 的需求,因此將會涉及一些影響在阿里云運行的調整鬼贱。有幾個推薦的做法:

在調整前進行快照移怯,操作錯誤時可進行回滾

如本地有 Hyper-V 機器这难,可先進行導出磁盤再進行調整服務器配置舟误。

因此,根據(jù)你的策略姻乓,流程可分為

準備環(huán)境=>調整服務器配置=>導出磁盤=>上傳磁盤=>建立新的虛擬機

準備環(huán)境=>導出磁盤=>調整服務器配置=>上傳磁盤=>建立新的虛擬機

由于修改服務配置可能造成云端服務中斷嵌溢,而在本地則需要額外的資源及較長的操作時間,你可根據(jù)需要決定選擇何種流程蹋岩,以下我們將針對各步驟進行詳細說明赖草。

準備環(huán)境

首先,推薦先對現(xiàn)有磁盤進行快照剪个。

接著秧骑,為了導出虛擬機的磁盤,我們需要掛載數(shù)據(jù)盤以存放導出的虛擬磁盤文件(.vhd),大小建議為需要備份的磁盤大小的兩倍乎折,詳細方法請參考掛載數(shù)據(jù)盤绒疗,值得提醒的是,除了在阿里云控制臺進行掛載笆檀,也需要在操作系統(tǒng)內進行配置忌堂。

最后,為了準備上傳磁盤的空間酗洒,需要在 Azure 上創(chuàng)建一個存儲賬戶,值得注意的是這個存儲賬戶必須與虛擬機是同一種類型枷遂,這邊采用的是資源管理模式(Azure Resource Manager)樱衷,進行存儲賬戶創(chuàng)建,同時請創(chuàng)建一個容器(container)酒唉,名為vhds矩桂。

調整服務器配置

在此步驟中,我們將進行服務器的調整以兼容于 Azure 的環(huán)境痪伦。

用具有管理員權限的賬戶登入阿里云的 Linux 虛擬機侄榴。

修改/etc/sysconfig/network:

復制

vi /etc/sysconfig/network

修改為

復制

NETWORKING=yes

HOSTNAME=localhost.localdomain

修改/etc/sysconfig/network-scripts/ifcfg-eth0:

復制

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改為

復制

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

TYPE=Ethernet

USERCTL=no

PEERDNS=yes

IPV6INIT=no

修改/etc/sysconfig/network-scripts/ifcfg-eth1,將其禁用:

復制

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改為

復制

DEVICE=eth1

#ONBOOT=yes

#BOOTPROTO=static

#IPADDR=1.1.1.1

#NETMASK=255.255.255.0

修改 udev 規(guī)則网沾,以避免產生以太網接口的靜態(tài)規(guī)則癞蚕。在 Azure 或 Hyper-V 中克隆虛擬機時,這些規(guī)則會引發(fā)問題辉哥。

復制

sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

修改服務啟動的配置桦山,禁用阿里云的服務。

復制

sudo chkconfig network on

sudo chkconfig aegis off

sudo chkconfig aliyun-util off

更新鏡像庫

復制

wget -q https://aliyunmigration.blob.core.chinacloudapi.cn/packages/CentOS-Base.repo -O /etc/yum.repos.d/CentOS-Base.repo

修改/etc/yum.conf:

復制

vi /etc/yum.conf

添加一行

復制

http_caching=packages

清除 yum 元數(shù)據(jù)并進行更新:

復制

yum clean all

sudo yum -y update

安裝 Azure Linux 代理和依賴項:

復制

sudo yum install python-pyasn1 WALinuxAgent

在 grub 配置中修改內核引導行醋旦,以使其包含 Azure 的其他內核參數(shù)恒水。 為此,請在文本編輯器 (vi) 中打開/boot/grub/menu.lst饲齐,并確保默認內核包含以下參數(shù)钉凌。

復制

console=ttyS0 earlyprintk=ttyS0 rootdelay=300

編輯磁盤文件,將不需用到的磁盤禁用:

復制

vi /etc/fstab

在本例中捂人,將數(shù)據(jù)盤標注掉:

復制

#/dev/vdb1 /mnt ext3 defaults 0 0

至此御雕,你已完成 CentOS 6.8 上傳至 Azure 磁盤前的準備。

導出磁盤

在 Linux 中先慷,我們所使用的工具是dd饮笛,進行整個磁盤的備份,再備份完成后再用qemu工具论熙,轉成 vhd 的文件格式福青。

首先,執(zhí)行 dd 指令,這里我導出的磁盤為 /dev/vda无午,額外掛載作為備份的磁盤為 /mnt媒役,導出的文件為 aliyuncentos68.raw。

復制

dd if=/dev/vda of=/mnt/aliyuncentos68.raw bs=100M

等待 dd 完成后宪迟,安裝 qemu 工具酣衷。

復制

sudo yum install qemu-kvm

安裝完成后,進行格式轉換次泽,其中 /mnt 為剛才的備份目錄穿仪,aliyuncentos68.raw 為剛才的備份文件,aliyuncentos68.vhd 則為轉換后的文件意荤。

復制

cd /mnt

qemu-img convert -f raw -o subformat=fixed -O vpc aliyuncentos68.raw aliyuncentos68.vhd

等待直至轉換磁盤完成啊片。

上傳磁盤

在此我們將運用 Azure CLI 將剛才導出的磁盤上傳至先前創(chuàng)建的存儲賬戶中。

首先需要安裝 NodeJS:

復制

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -

sudo yum -y install nodejs

接著安裝 Azure CLI:

復制

npm install -g azure-cli

然后需要剛才在 Azure 創(chuàng)建的存儲賬戶信息及密鑰組成連結字符串玖像,如:

復制

DefaultEndpointsProtocol=https;BlobEndpoint=storagename.blob.core.chinacloudapi.cn;AccountName=storagename;AccountKey=storagekey

接著執(zhí)行指令進行上傳:

復制

cd /mnt

azure storage blob upload -c 'DefaultEndpointsProtocol=https;BlobEndpoint=storagename.blob.core.chinacloudapi.cn;AccountName=storagename;AccountKey=storagekey' -t page --container vhds -f aliyuncentos68.vhd

建立新的虛擬機

當上述步驟都已經完成紫谷,可以點選下面圖標根據(jù)你上傳的磁盤url創(chuàng)建機器。

在欄位中依序填入 VM 創(chuàng)建的地點捐寥,剛才上傳的系統(tǒng)磁盤 url笤昨,OS 類型(這邊應該選 Linux),VM 的大小及 VM 的名稱握恳。

接著點選創(chuàng)建瞒窒,虛擬機將開始進行部署。過一段時間之后睡互,便可以連結上你所遷移的機器了根竿。

立即訪問http://market.azure.cn

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市就珠,隨后出現(xiàn)的幾起案子寇壳,更是在濱河造成了極大的恐慌,老刑警劉巖妻怎,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壳炎,死亡現(xiàn)場離奇詭異,居然都是意外死亡逼侦,警方通過查閱死者的電腦和手機匿辩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榛丢,“玉大人铲球,你說我怎么就攤上這事∥蓿” “怎么了稼病?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵选侨,是天一觀的道長。 經常有香客問我然走,道長援制,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任芍瑞,我火速辦了婚禮晨仑,結果婚禮上,老公的妹妹穿的比我還像新娘拆檬。我一直安慰自己洪己,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布竟贯。 她就那樣靜靜地躺著码泛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪澄耍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天晌缘,我揣著相機與錄音齐莲,去河邊找鬼。 笑死磷箕,一個胖子當著我的面吹牛选酗,可吹牛的內容都是我干的。 我是一名探鬼主播岳枷,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芒填,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了空繁?” 一聲冷哼從身側響起殿衰,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盛泡,沒想到半個月后闷祥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡傲诵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年凯砍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴竹。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡悟衩,死狀恐怖,靈堂內的尸體忽然破棺而出栓拜,到底是詐尸還是另有隱情座泳,我是刑警寧澤惠昔,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站钳榨,受9級特大地震影響舰罚,放射性物質發(fā)生泄漏。R本人自食惡果不足惜薛耻,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一营罢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饼齿,春花似錦饲漾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至证鸥,卻和暖如春僚楞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枉层。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工泉褐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸟蜡。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓膜赃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揉忘。 傳聞我的和親對象是個殘疾皇子跳座,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容