如何建立和上傳Windows Base VHD到Azure
如何建立和上傳Windows Base VHD到Azure
目前在Azure上內建提供了許多不同版本的映像檔可以直接選擇使用,包含的作業系統除了Windows本身的系統還包含了Ubuntu、CentOS、SUSE等系統映像可以直接使用佈署新的VM在Azure上,但是如果想要有自行安裝的軟體或是中文語系的作業系統,那就必須自行客製化再上傳到Azure上。
必要的環境條件:
1. 可以建立VM的作業系統環境,建議直接使用Server 2008 R2或更新的作業系統,使用Hyper-V來建立。
2. Azure訂閱的帳號
3. VM客體環境的ISO安裝檔案
注意事項:
1. Azure只能支援VHD格式的虛擬硬碟和第一世代的虛擬機器
2. Server作業系統只支援以下三個版本
OS | Service Pack | 位元版本 |
Windows Server 2012 R2 | N/A | x64 |
Windows Server 2012 | N/A | x64 |
Windows Server 2008 R2 | SP1 | x64 |
步驟一:在Hyper-V建立適合上傳的VHD檔案
1. 新增一個虛擬機器,這個畫面只有環境是Server 2012 R2和Windows 8.1上才會看到的畫面,如果製作的環境和我一樣,切記一定要選擇 [ 第1代 ] ,選擇製作錯誤只能從頭再來。

2. 在新增虛擬硬碟上建議選擇 [ 稍後連結虛擬硬碟 ] ,原因是如果系統是Server 2012或Windows 8以上的系統,預設會建立VHDX格式的虛擬硬碟,但Azure只支援舊版格式VHD,如果建立錯誤也可以使用Hyper-V的 [ 編輯磁碟 ] 工具做轉換。

3. 建立新的虛擬硬碟,請記得選擇VHD

4. 選擇磁碟類型 [ 動態擴充 ] ,選擇固定大小VHD上傳太花時間

5. 安裝完成作業系統,強烈建議將所有重要更新都先安裝完成,除了減少之後在Azure系統更新的時間,也可以減少系統上的Bug和已知問題的產生。確認其他要安裝的軟體都安裝完畢,就可以執行系統封裝的動作,輸入 [ cd sysprep ] 再輸入 [ sysprep.exe ] 。

6. 選擇 [ 進入系統全新體驗(OOBE) ] 和 [ 一般化 ] 清理完畢執行 [ 關機 ],以上就完成基本的VHD虛擬磁碟製作。

步驟二:建立Azure儲存體
1. 點選左下角 [ NEW ] 選擇 DATA SERVICES -> STORAGE -> QUICK CREATE,URL輸入儲存體的網址名稱,選擇離你最近地區,所以選擇東南亞Southeast Asia,複寫可以使用預設 [ Geo-Redundant ] ,再按右下角的 [ CREATE STORAGE ACCOUNT ]

2. 進入剛建立的儲存體,點選 [ CONTAINERS ] 再來點選 [ CREATE A CONTAINER ]

3. 輸入容器名稱並建立

4. 紀錄下剛建立容器的URL

步驟三:透過Microsoft Azure PowerShell上傳VHD
1. 安裝Microsoft Azure PowerShell 進入網址
http://azure.microsoft.com/en-us/downloads/ 點選Command-line tools下的Windows PowerShell進行下載安裝

2. 安裝完畢執行Microsoft Azure PowerShell

3. 輸入 [ Add-AzureAccount ] 並使用Azure訂閱的帳號登入
Add-AzureAccount

4. 出現Azure的訂閱資訊

5. 輸入 [ Get-AzurePublishSettingsFile ] 透過網頁取得設定檔案,下載的檔案副檔名是publishsettings
Get-AzurePublishSettingsFile

6. 輸入 [ Import-AzurePublishSettingsFile <PathToFile> ] ,記得路徑要用雙引號框起來
Import-AzurePublishSettingsFile <PathToFile>

7. 上傳VHD請輸入
Add-AzureVhd -Destination "<BlobStorageURL>/<YourImagesFolder>/<VHDName>.vhd" -LocalFilePath <PathToVHDFile>
範例
Add-AzureVhd -Destination "https://vhdimageupload.blob.core.windows.net/vhd/Server2012R2.vhd" -LocalFilePath "D:\Hyper-V\Server 2012 R2-Template\Virtual Hard Disks\Server 2012 R2-Template.vhd"
目標的位置是上面儲存體容器的網址,切記最後要加入.vhd的副檔名,如果沒有加入會造成Azure網頁上會無法正常找到這個虛擬硬碟,記得都需要用雙引號框住路徑。上傳時間取決頻寬大小和VHD的大小,以60MB/20MB的ADSL網路,上傳10GB的VHD檔案,大約需要80分鐘,建議利用晚上或離峰時間執行上傳動作。

8. 上傳完畢可以從Azure的網頁,在同樣的容器下看到上傳的VHD

步驟四:建立安裝映像來源
1. 點選 [ Virtual Machines ] -> [ IMAGES ] -> [ Create an Image ]

2. 開啟容器中的VHD檔案

3. 記得勾選 [ I have run Sysprep on the virtual machine. ]

4. 新增完畢後,新增虛擬機器時選擇點選 [ MY IMAGES ] 就可以看到自行製作的系統映像檔

留言
張貼留言