前言
名詞解釋:workload(工作負載)的意思是實體機器內的所有服務(包含作業系統)。
實體Windows機器轉上Azure的方式有幾種:
- 使用MVMC(Microsoft Virtual Machine Converter)工具-微軟提供的p2v(physical to virtual)工具,到另一個on-premises Hyper-V建立VM,再push到雲端去。
- 使用Disk2vhd-微軟提供的p2v工具,再將VHD直接上傳到Azure,建立Azure VM。
- 利用Azure Site Recovery服務,但架構就要複雜一點了,
要有Process server、Config Server、Master Target(上面要裝mobility service)。
此次利用第二個方法來進行。
這一篇不是建立Image Template,而是建立一個獨立的VHD,請大家要注意這點!
這個Lab真是一波三折,中間一直卡住!最後找到工具來解決Azure VHD大小的問題真是太好了:P
概念
此工具會先做磁碟的快照,
所以微軟提供的Disk2vhd與外面p2v工具最大的不同點在於:
「可以使用於線上的服務,它不會影響到你的機器!」
限制
- 只適用於Windows實體機器
- Azure系統碟的限制是1023GB
實作
- 下載Disk2vhd工具
- 開啟Disk2vhd工具
- 選擇要做成VHD的磁碟:
各位在做這個步驟的時候請注意: - 一定要先開啟遠端桌面的功能後再壓成VHD!
- Azure不支援VHDx格式
實測數據: - 轉換使用量為11.2G的磁碟:約5~10分鐘(這是SSD的數據唷!)
- 建立儲存體(VHD要擺放在Azure的位置)
- 建立容器(類似資料夾的概念)
- 接著可以下Azure的powershell指令把VHD上傳上去,也可以用Azure Explorer的圖形介面去上傳!
※若使用powershell指令,記得先Add-AzureAccount登入,然後選擇是哪個訂閱Select-AzureSubscription –ID ____
※以下我們介紹powershell指令 - Add-AzureVhd -Destination "https://localvhd2azure.blob.core.windows.net/vhd2azure/test.vhd" -LocalFilePath D:\test.vhd
Destination:儲存體的URL+vhd檔名+.vhd
LocalFilePath:vhd在本機的哪個路徑
VHD上傳中…(會先將VHD利用MD5加密之後才傳上去)
上傳完成!實測VHD=11.2GB,MD5 Hash約8分鐘;上傳過程約1個小時又30分。
- 可以在Azure管理portal看到所上傳的檔案,可以注意到大小從11.2GB變成107.13GB!
- 建立Azure VM要用的磁碟 - 虛擬機器→磁碟→建立磁碟
利用Portal去新增磁碟會錯誤(如下圖)!因為Azure只能新增整數MB大小的磁碟。
這時請用《WindowsAzureDiskResizer》工具去重新指定VHD的大小。
→ - 傳統更改VHD大小的方式:1. 從Azure下載VHD、2. 改VHD大小、3. 上傳。
我們可以下載WindowsAzureDiskResizer去重新改變VHD的大小,就不須經過這麼多繁雜的步驟,
修改大小的程序直接會在Azure上完成。
※WindowsAzureDiskResizer使用說明:
※指令:
WindowsAzureDiskResizer.exe GB數 "bloburl" "AccountName" "AccountKey"
下完指令之後,幾乎是沒有等待時間,即可完VHD修正大小:
可以看到已經修正為110GB了!
- 重新回步驟9.去portal新增磁碟,也可以下powershell指令:Add-AzureDisk
- 新增成功!
- 新增VM(從資源庫→我的磁碟去選擇)
後續就是VM的相關設定,在此不贅述。 - VM開啟成功!可以使用RDP進去。
費用
做Physical to Azure的時候不會額外收費,基本上要做以下幾件前置作業做好:
- disk2vhd
- 上傳至Azure Blob
- 修改VHD大小
- 建立Azure VM
只有收Azure VM的費用,視選擇的規模來計費。
相關連結
== 要試用 Azure的朋友,請點選 Azure Free Trial – 試用 30 天期 進行試用申請。 ==