Tworzenie i przekazywanie obrazu dysku OpenBSD na platformę Azure
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
W tym artykule pokazano, jak utworzyć i przekazać wirtualny dysk twardy (VHD), który zawiera system operacyjny OpenBSD. Po przekazaniu go możesz użyć go jako własnego obrazu, aby utworzyć maszynę wirtualną na platformie Azure za pomocą interfejsu wiersza polecenia platformy Azure.
Wymagania wstępne
W tym artykule założono, że masz następujące elementy:
- Subskrypcja platformy Azure: jeśli nie masz konta, możesz utworzyć je za kilka minut. Jeśli masz subskrypcję MSDN, zobacz Miesięczne środki na korzystanie z platformy Azure dla subskrybentów programu Visual Studio. W przeciwnym razie dowiedz się, jak utworzyć bezpłatne konto próbne.
- Interfejs wiersza polecenia platformy Azure: upewnij się, że masz zainstalowany najnowszy interfejs wiersza polecenia platformy Azure i zalogowano się na swoim koncie platformy Azure przy użyciu polecenia az login.
- System operacyjny OpenBSD zainstalowany w pliku vhd: na dysku VHD musi być zainstalowany obsługiwany system operacyjny OpenBSD (6.6 w wersji AMD64). Istnieje wiele narzędzi do tworzenia plików vhd. Na przykład można użyć rozwiązania wirtualizacji, takiego jak funkcja Hyper-V, aby utworzyć plik vhd i zainstalować system operacyjny. Aby uzyskać instrukcje dotyczące sposobu instalowania i używania funkcji Hyper-V, zobacz Instalowanie funkcji Hyper-V i tworzenie maszyny wirtualnej.
Przygotowywanie obrazu OpenBSD dla platformy Azure
Na maszynie wirtualnej, na której zainstalowano system operacyjny OpenBSD 6.1, który dodał obsługę funkcji Hyper-V, wykonaj następujące procedury:
Jeśli protokół DHCP nie jest włączony podczas instalacji, włącz usługę:
doas echo dhcp > /etc/hostname.hvn0
Skonfiguruj konsolę szeregową:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Konfigurowanie instalacji pakietu:
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
Domyślnie
root
użytkownik jest wyłączony na maszynach wirtualnych na platformie Azure. Użytkownicy mogą uruchamiać polecenia z podwyższonym poziomem uprawnień przy użyciu polecenia na maszyniedoas
wirtualnej OpenBSD. Doas jest domyślnie włączony.Zainstaluj i skonfiguruj wymagania wstępne agenta platformy 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
Najnowszą wersję agenta platformy Azure można znaleźć w usłudze GitHub. Zainstaluj agenta:
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
Ważne
Po zainstalowaniu agenta platformy Azure warto sprawdzić, czy działa:
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
Anuluj aprowizowanie systemu, aby go wyczyścić i uczynić go odpowiednim do anulowania aprowizacji. Następujące polecenie usuwa również ostatnie aprowizowane konto użytkownika i skojarzone dane:
doas waagent -deprovision+user -force
Uwaga
Jeśli migrujesz określoną maszynę wirtualną i nie chcesz tworzyć uogólnionego obrazu, pomiń krok anulowania aprowizacji.
Teraz możesz zamknąć maszynę wirtualną.
Przygotowywanie wirtualnego dysku twardego
Format VHDX nie jest obsługiwany na platformie Azure, tylko stały dysk VHD. Dysk można przekonwertować na stały format VHD przy użyciu Menedżera funkcji Hyper-V lub polecenia cmdlet konwertuj-vhd programu PowerShell. Oto przykład:
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
Tworzenie zasobów magazynu i przekazywanie
Najpierw utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup
w lokalizacji eastus
:
az group create --name myResourceGroup --location eastus
Aby przekazać dysk VHD, utwórz konto magazynu za pomocą polecenia az storage account create. Nazwy kont magazynu muszą być unikatowe, dlatego podaj własną nazwę. Poniższy przykład tworzy konto magazynu o nazwie mystorageaccount
:
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
Aby kontrolować dostęp do konta magazynu, uzyskaj klucz magazynu za pomocą listy az storage account keys:
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
Aby logicznie oddzielić przekazywane wirtualne dyski twarde, utwórz kontener na koncie magazynu za pomocą polecenia az storage container create:
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Na koniec przekaż dysk VHD za pomocą polecenia az storage blob upload:
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
Tworzenie maszyny wirtualnej na podstawie wirtualnego dysku twardego
Maszynę wirtualną można utworzyć przy użyciu przykładowego skryptu lub bezpośrednio za pomocą polecenia az vm create. Aby określić przekazany dysk VHD openBSD, użyj parametru --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
Uzyskaj adres IP maszyny wirtualnej OpenBSD za pomocą polecenia az vm list-ip-addresses:
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
Teraz możesz połączyć się przy użyciu protokołu SSH z maszyną wirtualną OpenBSD w zwykły sposób:
ssh azureuser@<ip address>
Powiązana zawartość
- Aby dowiedzieć się więcej o obsłudze funkcji Hyper-V w systemie OpenBSD 6.1, przeczytaj OpenBSD 6.1.
- Aby utworzyć maszynę wirtualną na podstawie dysku zarządzanego, przeczytaj az disk.