Příprava virtuálního počítače s Ubuntu pro Azure
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Ubuntu nyní publikuje oficiální virtuální pevné disky Azure ke stažení na adrese https://cloud-images.ubuntu.com/. Pokud potřebujete vytvořit vlastní specializovanou image Ubuntu pro Azure, místo použití ručního postupu níže doporučujeme začít s těmito známými funkčními virtuálními pevnými disky a podle potřeby přizpůsobit. Nejnovější verze imagí najdete vždy v následujících umístěních:
- Ubuntu 18.04/Bionic: bionic-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 20.04/Focal: focal-server-cloudimg-amd64-azure.vhd.zip
- Ubuntu 22.04/Jammy: jammy-server-cloudimg-amd64-azure.vhd.zip
Předpoklady
Tento článek předpokládá, že jste již nainstalovali operační systém Ubuntu Linux na virtuální pevný disk. Existuje několik nástrojů pro vytvoření souborů .vhd, například virtualizačního řešení, jako je Hyper-V. Pokyny najdete v tématu Instalace role Hyper-V a konfigurace virtuálního počítače.
Poznámky k instalaci Ubuntu
- Další tipy k přípravě Linuxu pro Azure najdete v obecných poznámkách k instalaci Linuxu.
- Formát VHDX není v Azure podporovaný, pouze pevný virtuální pevný disk. Disk můžete převést na formát VHD pomocí Správce technologie Hyper-V nebo rutiny
Convert-VHD
. - Při instalaci systému Linux se doporučuje místo LVM používat standardní oddíly (často výchozí nastavení pro mnoho instalací). Zabráníte tak konfliktům názvů LVM s klonovanými virtuálními počítači, zejména v případě, že by se disk s operačním systémem někdy potřeboval připojit k jinému virtuálnímu počítači pro účely řešení potíží. LVM nebo RAID lze použít na datových discích, pokud je to preferováno.
- Nenakonfigurujte prohození oddílu nebo swapfile na disku s operačním systémem. Agent zřizování cloud-init je možné nakonfigurovat tak, aby na dočasném disku prostředků vytvořil prohození souboru nebo prohození oddílu. Další informace o tom najdete v následujících krocích.
- Všechny virtuální pevné disky v Azure musí mít virtuální velikost zarovnanou na 1 MB. Při převodu z nezpracovaného disku na virtuální pevný disk je nutné před převodem zajistit, aby velikost nezpracovaného disku byla násobkem 1 MB. Další informace najdete v poznámkách k instalaci systému Linux.
Ruční kroky
Poznámka:
Než se pokusíte vytvořit vlastní image Ubuntu pro Azure, zvažte místo toho použití předem připravených a otestovaných imagí https://cloud-images.ubuntu.com/ .
V prostředním podokně Správce technologie Hyper-V vyberte virtuální počítač.
Kliknutím na Připojení otevřete okno virtuálního počítače.
Nahraďte aktuální úložiště v imagi tak, aby používala úložiště Azure s Ubuntu.
Před úpravami
/etc/apt/sources.list
se doporučuje vytvořit zálohu:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's#http://archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
sudo sed -i 's#http://[a-z][a-z]\.archive\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
sudo sed -i 's#http://security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
sudo sed -i 's#http://[a-z][a-z]\.security\.ubuntu\.com/ubuntu#http://azure\.archive\.ubuntu\.com/ubuntu#g' /etc/apt/sources.list
sudo apt-get update
- Image Ubuntu Azure teď používají jádro na míru Azure. Aktualizujte operační systém na nejnovější jádro na míru Azure a nainstalujte nástroje Azure Linux (včetně závislostí Hyper-V) spuštěním následujících příkazů:
sudo apt update
sudo apt install linux-azure linux-image-azure linux-headers-azure linux-tools-common linux-cloud-tools-common linux-tools-azure linux-cloud-tools-azure
sudo apt full-upgrade
sudo reboot
- Upravte spouštěcí řádek jádra pro Grub tak, aby zahrnoval další parametry jádra pro Azure. Pokud to chcete udělat v
/etc/default/grub
textovém editoru, najděte proměnnou s názvemGRUB_CMDLINE_LINUX_DEFAULT
(nebo ji v případě potřeby přidejte) a upravte ji tak, aby obsahovala následující parametry:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 quiet splash"
Uložte a zavřete tento soubor a spusťte sudo update-grub
příkaz . Tím zajistíte, že se všechny zprávy konzoly posílají na první sériový port, což může pomoct technické podpoře Azure při ladění problémů.
Ujistěte se, že je server SSH nainstalovaný a nakonfigurovaný tak, aby se spustil při spuštění. Obvykle se jedná o výchozí nastavení.
Nainstalujte cloud-init (agent zřizování) a agenta Azure Linuxu (obslužnou rutinu rozšíření hosta). Cloud-init používá
netplan
ke konfiguraci systémové sítě (při zřizování a každém následném spuštění) agdisk
k dělení disků prostředků.
sudo apt update
sudo apt install cloud-init gdisk netplan.io walinuxagent && systemctl stop walinuxagent
Poznámka:
Balíček walinuxagent
může odebrat NetworkManager
a NetworkManager-gnome
balíčky, pokud jsou nainstalovány.
- Odeberte výchozí konfigurace cloud-init a artefakty,
netplan
které můžou být v konfliktu se zřizováním cloud-init v Azure:
sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
sudo rm -f /etc/cloud/ds-identify.cfg
sudo rm -f /etc/netplan/*.yaml
- Nakonfigurujte cloud-init pro zřízení systému pomocí zdroje dat Azure:
cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
datasource_list: [ Azure ]
EOF
cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/90-azure.cfg
system_info:
package_mirrors:
- arches: [i386, amd64]
failsafe:
primary: http://archive.ubuntu.com/ubuntu
security: http://security.ubuntu.com/ubuntu
search:
primary:
- http://azure.archive.ubuntu.com/ubuntu/
security: []
- arches: [armhf, armel, default]
failsafe:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
EOF
cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg
reporting:
logging:
type: log
telemetry:
type: hyperv
EOF
- Nakonfigurujte agenta Azure Linuxu tak, aby při zřizování spoléhal na cloud-init. Další informace o těchto možnostech najdete v projektu WALinuxAgent.
sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf
sudo sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
sudo sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
cat <<EOF | sudo tee -a /etc/waagent.conf
# For Azure Linux agent version >= 2.2.45, this is the option to configure,
# enable, or disable the provisioning behavior of the Linux agent.
# Accepted values are auto (default), waagent, cloud-init, or disabled.
# A value of auto means that the agent will rely on cloud-init to handle
# provisioning if it is installed and enabled, which in this case it will.
Provisioning.Agent=auto
EOF
- Vyčištění artefaktů a protokolů modulu runtime agenta Azure Linux a cloud-init:
sudo cloud-init clean --logs --seed
sudo rm -rf /var/lib/cloud/
sudo systemctl stop walinuxagent.service
sudo rm -rf /var/lib/waagent/
sudo rm -f /var/log/waagent.log
- Spuštěním následujících příkazů zrušte zřízení virtuálního počítače a připravte ho na zřízení v Azure:
Poznámka:
Příkaz sudo waagent -force -deprovision+user
zobecní image tím, že se pokusí systém vyčistit a nastavit ho jako vhodný pro opětovné zřizování. Tato +user
možnost odstraní poslední zřízený uživatelský účet a přidružená data.
Upozorňující
Zrušení zřízení pomocí výše uvedeného příkazu nezaručuje, že image bude vymazána ze všech citlivých informací a je vhodná pro redistribuci.
sudo waagent -force -deprovision+user
sudo rm -f ~/.bash_history
Klikněte na tlačítko Akce –> vypněte ve Správci technologie Hyper-V.
Azure přijímá jenom virtuální pevné pevné disky. Pokud disk s operačním systémem virtuálního počítače není pevným virtuálním pevným diskem, použijte rutinu
Convert-VHD
PowerShellu a zadejte-VHDType Fixed
možnost. Podívejte se prosím na dokumenty,Convert-VHD
které najdete tady: Convert-VHD.Pokud chcete přenést virtuální počítač 2. generace do Azure, postupujte takto:
Změňte adresář na spouštěcí adresář EFI:
cd /boot/efi/EFI
- Zkopírujte adresář Ubuntu do nového adresáře s názvem boot:
sudo cp -r ubuntu/ boot
- Změňte adresář na nově vytvořený spouštěcí adresář:
cd boot
- Přejmenujte soubor shimx64.efi:
sudo mv shimx64.efi bootx64.efi
- Přejmenujte soubor grub.cfg na bootx64.cfg:
sudo mv grub.cfg bootx64.cfg
Další kroky
Teď jste připraveni použít virtuální pevný disk s Ubuntu Linuxem k vytvoření nových virtuálních počítačů v Azure. Pokud soubor .vhd nahráváte do Azure poprvé, přečtěte si téma Vytvoření virtuálního počítače s Linuxem z vlastního disku.