使用 Azure CLI 2.0 從自定義磁盤創(chuàng)建 Linux VM

本文說明如何在 Azure 中上傳自定義的虛擬硬盤 (VHD) 或復(fù)制現(xiàn)有 VHD,并從自定義磁盤創(chuàng)建 Linux 虛擬機(jī) (VM)。 可以根據(jù)要求安裝并配置 Linux 分發(fā)版,并使用該 VHD 快速創(chuàng)建新的 Azure 虛擬機(jī)。

如果想要從自定義磁盤創(chuàng)建多個(gè) VM,則應(yīng)該從 VM 或 VHD 創(chuàng)建映像。 有關(guān)詳細(xì)信息,請參閱使用 CLI 創(chuàng)建 Azure VM 的自定義映像

可以使用兩個(gè)選項(xiàng):

上傳 VHD

復(fù)制現(xiàn)有的 Azure VM

快速命令

Note

在 Azure 中國區(qū)使用 Azure CLI 2.0 之前,請先運(yùn)行az cloud set -n AzureChinaCloud來改變云環(huán)境。如果想切回國際版 Azure,請?jiān)俅芜\(yùn)行az cloud set -n AzureCloud。

使用az vm create從自定義或?qū)S玫拇疟P創(chuàng)建新 VM 時(shí),請附加該磁盤 (--attach-os-disk),而不要指定自定義映像或 Marketplace 映像 (--image)。 以下示例使用從自定義 VHD 創(chuàng)建的、名為myManagedDisk的托管磁盤,創(chuàng)建名為myVM的 VM:

Azure CLI復(fù)制

azvmcreate--resource-groupmyResourceGroup--locationchinaeast--namemyVM \--os-typelinux--attach-os-diskmyManagedDisk

要求

若要完成以下步驟,需要:

已準(zhǔn)備好在 Azure 中使用的 Linux 虛擬機(jī)。 本文的準(zhǔn)備 VM部分介紹了如何查找有關(guān)安裝 Azure Linux 代理 (waagent) 的特定于分發(fā)版的信息。要使 VM 在 Azure 中正常工作,以及要通過 SSH 連接到 VM,需要用到該代理。

用于將Azure 認(rèn)可的 Linux 分發(fā)版(或參閱關(guān)于未認(rèn)可分發(fā)版的信息)安裝到采用 VHD 格式的虛擬磁盤的 VHD 文件。 可使用多種工具創(chuàng)建 VM 和 VHD:

安裝并配置QEMUKVM,并注意使用 VHD 作為映像格式。 如果需要,可以使用qemu-img convert轉(zhuǎn)換映像

也可以在Windows 10Windows Server 2012/2012 R2上使用 Hyper-V。

Note

Azure 不支持更新的 VHDX 格式。 創(chuàng)建 VM 時(shí),請將 VHD 指定為映像格式。 如果需要,可以使用qemu-img convertConvert-VHDPowerShell cmdlet 將 VHDX 磁盤轉(zhuǎn)換為 VHD。 此外,Azure 不支持上傳動(dòng)態(tài) VHD,因此,上傳之前,需要將此類磁盤轉(zhuǎn)換為靜態(tài) VHD。 可以使用Azure VHD Utilities for GO等工具在上傳到 Azure 的過程中轉(zhuǎn)換動(dòng)態(tài)磁盤。

確保已安裝了最新的Azure CLI 2.0并已使用az login登錄到 Azure 帳戶。

在以下示例中,請將示例參數(shù)名稱替換成自己的值。 示例參數(shù)名稱包括myResourceGroupmystorageaccountmydisks

準(zhǔn)備 VM

Azure 支持各種 Linux 分發(fā)(請參閱認(rèn)可的分發(fā))。 以下文章指導(dǎo)用戶準(zhǔn)備 Azure 上支持的各種 Linux 分發(fā)版:

基于 CentOS 的分發(fā)版

Debian Linux

Oracle Linux

Red Hat Enterprise Linux

SLES 和 openSUSE

Ubuntu

其他 - 非認(rèn)可分發(fā)版

另請參閱Linux 安裝說明,獲取更多有關(guān)如何為 Azure 準(zhǔn)備 Linux 映像的一般提示。

Note

只有在使用某個(gè)認(rèn)可的分發(fā)的時(shí)候也使用Azure 認(rèn)可的分發(fā)中的 Linux中“支持的版本”下指定的配置詳細(xì)信息時(shí),Azure 平臺(tái) SLA才適用于運(yùn)行 Linux 的 VM。

選項(xiàng) 1:上傳 VHD

可以上傳本地計(jì)算機(jī)上運(yùn)行的或者從另一個(gè)云導(dǎo)出的自定義 VHD。 若要使用 VHD 創(chuàng)建新的 Azure VM,需要將 VHD 上傳到存儲(chǔ)帳戶,并從該 VHD 創(chuàng)建托管磁盤。

創(chuàng)建資源組

在上傳自定義磁盤和創(chuàng)建 VM 之前,首先需要使用az group create創(chuàng)建一個(gè)資源組。

以下示例在chinaeast位置創(chuàng)建名為myResourceGroup的資源組:Azure 托管磁盤概述

Azure CLI復(fù)制

azgroupcreate\--namemyResourceGroup \--locationchinaeast

創(chuàng)建存儲(chǔ)帳戶

可以使用az storage account create為自定義磁盤和 VM 創(chuàng)建存儲(chǔ)帳戶。

以下示例在前面創(chuàng)建的資源組中創(chuàng)建名為mystorageaccount的存儲(chǔ)帳戶:

Azure CLI復(fù)制

azstorageaccountcreate\--resource-groupmyResourceGroup \--locationchinaeast \--namemystorageaccount \--kindStorage \--skuStandard_LRS

列出存儲(chǔ)帳戶密鑰

Azure 為每個(gè)存儲(chǔ)帳戶生成兩個(gè) 512 位的訪問密鑰。 在向存儲(chǔ)帳戶進(jìn)行身份驗(yàn)證以執(zhí)行操作(例如執(zhí)行寫入操作)時(shí),會(huì)使用這些訪問密鑰。 從此處了解有關(guān)管理對存儲(chǔ)的訪問的詳細(xì)信息。 可以使用az storage account keys list查看訪問密鑰。

查看創(chuàng)建的存儲(chǔ)帳戶的訪問密鑰:

Azure CLI復(fù)制

azstorageaccountkeyslist\--resource-groupmyResourceGroup \--account-namemystorageaccount

輸出類似于:

Azure CLI復(fù)制

info:? ? Executing commandstorageaccountkeyslist+ Gettingstorageaccountkeysdata:? ? Name? Key? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Permissionsdata:-------------------------------------------------------------------------------------------------------data:? ? key1? d4XAvZzlGAgWdvhlWfkZ9q4k9bYZkXkuPCJ15NTsQOeDeowCDAdB80r9zA/tUINApdSGQ94H9zkszYyxpe8erw==? Fulldata:? ? key2? Ww0T7g4UyYLaBnLYcxIOTVziGAAHvU+wpwuPvK4ZG0CDFwu/mAxS/YYvAQGHocq1w7/3HcalbnfxtFdqoXOw8g==? Fullinfo:storageaccountkeyslistcommand OK

記下key1,因?yàn)樵诤罄m(xù)步驟中需要使用它來與存儲(chǔ)帳戶交互。

創(chuàng)建存儲(chǔ)容器

在存儲(chǔ)帳戶中創(chuàng)建用于整理磁盤的容器的方式,與創(chuàng)建各種目錄以便有條理地整理本地文件系統(tǒng)的方式相同。 一個(gè)存儲(chǔ)帳戶可以包含任意數(shù)目的容器。 可以使用az storage container create創(chuàng)建容器。

以下示例創(chuàng)建名為mydisks的容器:

Azure CLI復(fù)制

azstoragecontainercreate\--account-namemystorageaccount \--namemydisks

上傳 VHD

現(xiàn)在,使用az storage blob upload上傳自定義磁盤。 可以頁 Blob 的形式上傳和存儲(chǔ)自定義磁盤。

指定訪問密鑰、在上一步中創(chuàng)建的容器,以及自定義磁盤在本地計(jì)算機(jī)上的路徑:

Azure CLI復(fù)制

azstorageblobupload--account-namemystorageaccount \--account-keykey1 \--container-namemydisks \--typepage \--file/path/to/disk/mydisk.vhd \--namemyDisk.vhd

上傳 VHD 可能需要一些時(shí)間。

創(chuàng)建托管磁盤

使用az disk create從 VHD 創(chuàng)建托管磁盤。 以下示例從已上傳到命名存儲(chǔ)帳戶和容器的 VHD 創(chuàng)建名為myManagedDisk的托管磁盤:

Azure CLI復(fù)制

azdiskcreate\--resource-groupmyResourceGroup \--namemyManagedDisk \--sourcehttps://mystorageaccount.blob.core.chinacloudapi.cn/mydisks/myDisk.vhd

選項(xiàng) 2:復(fù)制現(xiàn)有 VM

也可以在 Azure 中創(chuàng)建自定義的 VM,并復(fù)制 OS 磁盤并將其附加到新 VM 以創(chuàng)建另一個(gè)副本。 這種做法在測試中不會(huì)有任何問題,但若要將現(xiàn)有 Azure VM 作為多個(gè)新 VM 的模型,則必須改為創(chuàng)建映像。 有關(guān)從現(xiàn)有 Azure VM 創(chuàng)建映像的詳細(xì)信息,請參閱使用 CLI 創(chuàng)建 Azure VM 的自定義映像

創(chuàng)建快照

此示例在資源組myResourceGroup中創(chuàng)建名為myVM的 VM 的快照,并創(chuàng)建名為osDiskSnapshot的快照。

azure-cli復(fù)制

osDiskId=$(azvmshow-gmyResourceGroup-nmyVM--query"storageProfile.osDisk.managedDisk.id"-otsv)azsnapshotcreate\-gmyResourceGroup \--source"$osDiskId"\--nameosDiskSnapshot

創(chuàng)建托管磁盤

從快照創(chuàng)建新的托管磁盤。

獲取快照的 ID。 在此示例中,快照名為osDiskSnapshot,位于myResourceGroup資源組中。

azure-cli復(fù)制

snapshotId=$(azsnapshotshow--nameosDiskSnapshot--resource-groupmyResourceGroup--query[id]-otsv)

創(chuàng)建托管磁盤。 在此示例中,我們會(huì)在標(biāo)準(zhǔn)存儲(chǔ)中從快照創(chuàng)建大小為 128GB、名為myManagedDisk的托管磁盤。

azure-cli復(fù)制

az disk create \? ? --resource-group myResourceGroup \--name myManagedDisk \--sku Standard_LRS \--size-gb128\--source $snapshotId

創(chuàng)建 VM

現(xiàn)在,使用az vm create創(chuàng)建 VM,并將托管磁盤附加為 OS 磁盤 (--attach-os-disk)。 以下示例使用基于上傳的 VHD 創(chuàng)建的托管磁盤創(chuàng)建名為myNewVM的 VM:

Azure CLI復(fù)制

azvmcreate\--resource-groupmyResourceGroup \--locationchinaeast \--namemyNewVM \--os-typelinux \--attach-os-diskmyManagedDisk

現(xiàn)在,應(yīng)該可以使用憑據(jù)通過 SSH 從源 VM 連接到該 VM。

后續(xù)步驟

準(zhǔn)備好并上傳自定義虛擬磁盤之后,可以閱讀有關(guān)使用 Resource Manager 和模板的詳細(xì)信息。 可能還需要向新 VM添加數(shù)據(jù)磁盤。 如果需要訪問在 VM 上運(yùn)行的應(yīng)用程序,請務(wù)必打開端口和終結(jié)點(diǎn)

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容