建立 OpenBSD 磁碟映像並上傳至 Azure
適用於:✔️ Linux VM ✔️ 彈性擴展集
本文說明如何建立及上傳包含 OpenBSD 作業系統的虛擬硬碟 (VHD)。 上傳之後,您可以使用它作為您自己的映像,在 Azure 中透過 Azure CLI 建立虛擬機器 (VM)。
必要條件
本文假設您具有下列項目:
- Azure 訂用帳戶 - 如果您沒有,幾分鐘就可以建立帳戶。 如果您有 MSDN 訂用帳戶,請參閱 Visual Studio 訂閱者的每月 Azure 點數。 否則,請參閱 建立免費試用帳戶。
- Azure CLI:請確定您已安裝最新的 Azure CLI,並使用 az login 登入 Azure 帳戶。
- 安裝在 .vhd 檔案中的 OpenBSD 作業系統:支援的 OpenBSD 作業系統 (6.6 版 AMD64) 必須已安裝 VHD 中。 有多項工具可用來建立 .vhd 檔案。 例如,您可以使用虛擬化解決方案 (例如 Hyper-V) 建立 .vhd 檔案,並安裝作業系統。 如需相關指示,請參閱 安裝 Hyper-V 和建立 VM。
為 Azure 準備一個 OpenBSD 映像
在您安裝 OpenBSD 作業系統 6.1 的 VM 上 (新增 Hyper-V 支援),完成下列程序:
如果在安裝期間未啟用 DHCP,請啟用服務:
doas echo dhcp > /etc/hostname.hvn0
設定序列主控台:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
設定套件安裝:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
在 Azure 中的 VM 上,依預設會停用
root
使用者。 使用者可以在 OpenBSD VM 上使用doas
命令,以提高的權限來執行命令。 Doas 預設為啟用狀態。安裝和設定 Azure 代理程式的必要條件:
doas pkg_add py-setuptools openssl git doas ln -sf /usr/local/bin/python2.7 /usr/local/bin/python doas ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3 doas ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config doas ln -sf /usr/local/bin/pydoc2.7 /usr/local/bin/pydoc
您一律可以在 GitHub 上找到最新版的 Azure 代理程式。 安裝代理程式:
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
重要
安裝 Azure 代理程式之後,最好先確認它正在執行:
doas ps auxw | grep waagent root 79309 0.0 1.5 9184 15356 p1 S 4:11PM 0:00.46 python /usr/local/sbin/waagent -daemon (python2.7) doas cat /var/log/waagent.log
取消佈建系統以清理系統,使之適合取消佈建。 下列命令也會刪除最後佈建的使用者帳戶和相關聯的資料:
doas waagent -deprovision+user -force
注意
如果您要移轉特定的 VM,但不想建立一般化映像,請略過取消佈建步驟。
現在您可以關閉您的 VM。
準備 VHD
Azure 不支援 VHDX 格式,只支援固定 VHD。 您可以使用 Hyper-V 管理員或 PowerShell convert-vhd Cmdlet,將磁碟轉換為固定 VHD 格式。 以下是範例:
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
建立儲存體資源並上傳
首先,使用 az group create 建立資源群組。 下列範例會在 eastus
位置建立名為 myResourceGroup
的資源群組:
az group create --name myResourceGroup --location eastus
若要上傳 VHD,請使用 az storage account create 建立儲存體帳戶。 儲存體帳戶名稱必須是唯一的,因此請提供您自己的名稱。 下列範例會建立名為 mystorageaccount
的儲存體帳戶:
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
若要控制儲存體帳戶的存取權,請使用 az storage account keys list 取得儲存體金鑰:
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
若要以邏輯方式分隔您上傳的 VHD,請使用 az storage container create 在儲存體帳戶內建立容器:
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
最後,使用 az storage blob upload 上傳 VHD:
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
從 VHD 建立 VM
您可以使用範例指令碼 或直接使用 az vm create 建立 VM。 若要指定您上傳的 OpenBSD VHD,請使用 --image
參數:
az vm create \
--resource-group myResourceGroup \
--name myOpenBSD61 \
--image "https://mystorageaccount.blob.core.windows.net/vhds/OpenBSD61.vhd" \
--os-type linux \
--admin-username azureuser \
--ssh-key-value ~/.ssh/id_rsa.pub
使用 az vm list-ip-addresses 取得 OpenBSD VM 的 IP 位址:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
現在您可以像平常一樣 SSH 到您的 OpenBSD VM:
ssh azureuser@<ip address>
相關內容
- 若要深入瞭解 OpenBSD6.1 上的 Hyper-V 支援,請參閱 OpenBSD 6.1。
- 若要從受控磁碟建立 VM,請參閱 az 磁碟。