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 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ę do konta platformy Azure przy użyciu polecenia az login.
- System operacyjny OpenBSD zainstalowany w pliku vhd — na wirtualnym dysku twardym musi być zainstalowany obsługiwany system operacyjny OpenBSD (wersja 6.6 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ę w następujący sposób:
doas echo dhcp > /etc/hostname.hvn0
Skonfiguruj konsolę szeregową w następujący sposób:
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
Skonfiguruj instalację pakietu w następujący sposób:
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 dla agenta platformy Azure w następujący sposób:
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 zawsze znaleźć w witrynie GitHub. Zainstaluj agenta w następujący sposób:
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 w następujący sposób:
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. Przykład jest następujący.
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. W poniższym przykładzie pokazano 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ą polecenia az storage account keys list w następujący sposób:
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ż wirtualny dysk twardy za pomocą polecenia az storage blob upload w następujący sposób:
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
w następujący sposób:
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 w następujący sposób:
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>
Następne kroki
Jeśli chcesz dowiedzieć się więcej o obsłudze funkcji Hyper-V w systemie OpenBSD6.1, przeczytaj OpenBSD 6.1.
Jeśli chcesz utworzyć maszynę wirtualną na podstawie dysku zarządzanego, przeczytaj az disk.