溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Azure上A/D系列虛擬機到DS系列遷移(1)

發(fā)布時間:2020-08-01 17:15:01 來源:網(wǎng)絡 閱讀:516 作者:stevenlian 欄目:關系型數(shù)據(jù)庫

有一些用戶在剛開始的時候創(chuàng)建了A7,D14等虛擬機來跑一些IO要求比較高的應用,比如Oracle數(shù)據(jù)庫,MySQL數(shù)據(jù)庫,等到用戶量上來之后,性能不夠,需要升級數(shù)據(jù)磁盤到SSD固態(tài)硬盤,但是問題是:

  • Azure的固態(tài)硬盤SSD磁盤屬于高級存儲Premium Storage

  • A系列,D系列的虛擬機無法使用高級存儲作為數(shù)據(jù)磁盤

  • 只有DS,DSv2,GS系列的虛擬機才可以使用SSD作為數(shù)據(jù)磁盤

  • A系列,D系列虛擬機無法直接升級為DS/GS系列

  • GS系列暫時在中國沒有上線

那么在這種情況下,除了創(chuàng)建高級存儲賬號,重新創(chuàng)建DS系列的虛擬機,導數(shù)據(jù)庫的數(shù)據(jù)從頭再來之外, 有沒有別的辦法?答案是肯定的,你可以根據(jù)如下步驟完成虛擬機的遷移:

  • 根據(jù)你現(xiàn)在的VM大小,選擇你要創(chuàng)建的DS,DSv2的虛擬機大小

  • 創(chuàng)建高級存儲賬號,目前中國北京和上海的高級存儲都已經可用了

  • 停止當前VM,拷貝當前虛擬機的系統(tǒng)VHD,數(shù)據(jù)VHS到高級存儲賬號

  • 利用拷貝完成的VHD創(chuàng)建系統(tǒng)盤

  • 利用系統(tǒng)磁盤創(chuàng)建DS,DSv2系列的虛擬機

  • 掛載數(shù)據(jù)磁盤,檢查數(shù)據(jù)完整性

  • 重新創(chuàng)建端點信息,測試服務啟動和連通性

上述這些步驟比較復雜,也容易出錯,因此上我創(chuàng)建了一個虛擬機遷移腳本,這個腳本可以在同一個訂閱的不同vnet之間,不同云服務之間,不同存儲賬號之間,不同的訂閱之間,不同的虛擬機類型之間進行遷移,腳本我已經放在了github上,請前往如下地址下載:

https://github.com/kingliantop/azurelabs/blob/master/vm/VMCopy.ps1

本文介紹如何使用該腳本進行不同類型虛擬機之間的遷移:

  1. 首先在Azure上創(chuàng)建一臺Windows Server 2012的虛擬機,作為遷移虛擬機運行遷移工具,虛擬機尺寸盡量選擇大一些的,比如A7,主要是azcopy的執(zhí)行性能和虛擬機的核數(shù)會有關系

  2. 在虛擬機的D盤(D盤是臨時磁盤,重要數(shù)據(jù)不要放在上面,本例只是做臨時遷移使用)創(chuàng)建一個目錄,叫migvm

  3. 安裝對應版本的Azure Powershell,在本測試中,請安裝0.9.8版本,這個腳本目前是用ASM模式運作的,暫時不支持ARM,后續(xù)版本會支持:

Powershell 0.9.8

https://github.com/Azure/azure-powershell/releases?after=v1.0.0-preview-gallery-October2015

4. 安裝最新版本的azcopy,下載連接如下,請將azcopy安裝在d:\migvm下:

azcopy最新版本:

http://aka.ms/downloadazcopy

 

5. 下載Github上的VMcopy.ps1, 放在D:\migvm目錄下 

6. 利用Azure上的新portal,或者powershell,創(chuàng)建高級存儲,目前國內的新portal經過測試可以成功創(chuàng)建高級存儲:

Azure上A/D系列虛擬機到DS系列遷移(1) 

或者通過Powershell創(chuàng)建:

New-AzureStorageAccount -StorageAccountName "mypremstorage" -Location "China North" -Type "Premium_LRS"

 

 

7. 在本測試中,源虛擬機是一臺A3的Linux虛擬機,有一塊數(shù)據(jù)磁盤:

Azure上A/D系列虛擬機到DS系列遷移(1)

8. 收集當前需要遷移的源VM的相關信息:

  • 云服務名稱(Cloud Service name)

  • 虛擬機名稱(VM name)

  • 當前訂閱ID

  • 目標訂閱ID(可不寫,默認和源訂閱一致,即同一個訂閱

  • 目標云服務名稱(云服務名稱必須唯一

  • 源存儲容器名稱(可不寫,默認是vhds

  • 目標存儲名稱(你創(chuàng)建的高級存儲名稱)

  • 目標存儲容器名稱(可不寫,默認vhds

  • 目標虛擬網(wǎng)絡名稱

  • 目標region名稱(可不寫,默認值China East

  • 虛擬網(wǎng)絡子網(wǎng)名稱(可不寫,默認值Subnet-1

注意事項和說明:

  • 可以看到,為了大家使用方便,大部分的值如果你不寫,我都會有默認值,但你必須非常清楚自己的環(huán)境

  • 虛擬機在遷移過程中會停機,如果當前不是停機狀態(tài),腳本會經你確認后停機

  • 遷移完成后,源虛擬機不會有任何變化,只是拷貝了一份源虛擬機到目標存儲和服務

  • 為了避免在同一個訂閱下創(chuàng)建磁盤報錯,默認情況下會給磁盤加一個后綴"cp",避免重復

  • 腳本的使用方法如下:

    .\VMCopy.ps1 -SourceSubscriptionId SubID

                     -DestSubscritpionId DesSubID

                     -SourceCloudServiceName "mycs"

                     -SourceVMName "myvm"

                     -DestCloudServiceName "descs"

                     -DestStorageAccountName "destorage"

                     -DestLocationName "China East"

                     -DestVNetName "myvnet"

                     -DestSubNet "desubnet"

                     -DestSuffix "new"

9. 登入你的遷移工具虛擬機,打開Azure Powershell,添加源訂閱賬號和目標訂閱賬號:

Add-AzureAccount -Environment AzureChinacloud

10. 在Powershell里面,執(zhí)行遷移腳本進行遷移,例如:

PS D:\migratevm> .\VMCopy.ps1 -SourceSubscriptionId IDXXX -DestSubscritpionId IDXXXX -SourceCloudServiceName mydockermaster -SourceVMName mydockermaster -DestCloudServiceName mydo

ckermasterds -DestStorageAccountName myxiostorage -SourceStorageContainerName vhds -DestStorageContainerName vhds -DestVNetName mydsvmnet -DestLocationName "China North"

Azure上A/D系列虛擬機到DS系列遷移(1)

待續(xù)。。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI