Příprava virtuálního počítače založeného na Red Hat pro Azure
Platí pro: ✔️ Flexibilní škálovací sady virtuálních ✔️ počítačů s Linuxem – Jednotné škálovací sady ✔️
V tomto článku se dozvíte, jak připravit virtuální počítač s Red Hat Enterprise Linuxem (RHEL) pro použití v Azure. Verze RHEL popsané v tomto článku jsou 7.x, 8.X., 9.x. Hypervisory pro přípravu, které jsou popsané v tomto článku, jsou Hyper-V, virtuální počítač založený na jádru (KVM), VMware a Kickstart.
Další informace o požadavcích na způsobilost pro účast v programu Cloud Access v Red Hatu najdete na webu Red Hat Cloud Access a spuštění RHEL v Azure. Způsoby automatizace vytváření imagí RHEL najdete v Azure Image Builderu.
Poznámka:
Mějte na paměti verze, které jsou na konci životnosti (EOL) a nejsou již podporovány red Hat. Nahrané obrázky, které jsou v EOL nebo nad rámec EOL, jsou podporovány rozumným obchodním úsilím. Další informace najdete v životních cyklech produktů Red Hat.
Požadavky
Tato část předpokládá, že jste již získali soubor ISO z webu Red Hat a nainstalovali image RHEL na virtuální pevný disk (VHD). Další informace o tom, jak pomocí Správce technologie Hyper-V nainstalovat image operačního systému, najdete v tématu Instalace role Hyper-V a konfigurace virtuálního počítače.
Poznámky k instalaci RHEL
- Azure nepodporuje formát VHDX. podpora Azure pouze pevný virtuální pevný disk. Pomocí Správce technologie Hyper-V můžete disk převést do formátu VHD nebo můžete použít rutinu
convert-vhd
. Pokud používáte VirtualBox, vyberte při vytváření disku pevnou velikost na rozdíl od výchozí dynamicky přidělené možnosti. - podpora Azure s Gen1 (spouštění systému BIOS) a virtuální počítače Gen2 (spouštění UEFI).
- Maximální povolená velikost virtuálního pevného disku je 1 023 GB.
- Modul jádra vfat musí být v jádru povolený.
- Logický svazek Manager (LVM) je podporovaný a dá se použít na disku s operačním systémem nebo na datových discích na virtuálních počítačích Azure. Obecně doporučujeme místo LVM používat standardní oddíly na disku s operačním systémem. Tento postup zabraňuje konfliktům názvů LVM s klonovanými virtuálními počítači, zejména pokud byste někdy potřebovali připojit disk s operačním systémem k jinému identickému virtuálnímu počítači pro řešení potíží. Další informace najdete v dokumentaci LVM a RAID.
- Vyžaduje se podpora jádra pro připojení systémů souborů UDF (Universal Disk Format). Při prvním spuštění v Azure předá virtuálnímu počítači s Linuxem média formátovaná uživatelem definovaná uživatelem, která je připojená k hostu, konfiguraci zřizování. Agent Azure Linux musí být schopný připojit systém souborů UDF ke čtení konfigurace a zřízení virtuálního počítače. Bez tohoto kroku se zřizování nezdaří.
- Nenakonfigurujte prohození oddílu na disku s operačním systémem. Další informace 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 následujících krocích. Viz také poznámky k instalaci linuxu.
Poznámka:
Cloud-init >= 21.2 odebere požadavek UDF. Bez povoleného modulu definovaného uživatelem se ale disk CD-ROM během zřizování nepřipevní, což zabrání použití vlastních dat. Alternativním řešením je použít vlastní data pomocí uživatelských dat. Na rozdíl od vlastních dat nejsou uživatelská data šifrovaná. Další informace naleznete v tématu Formáty uživatelských dat.
- RHEL 7 s využitím Správce technologie Hyper-V
- RHEL 8+/9+ s využitím Správce technologie Hyper-V
- RHEL 7 s využitím KVM
- RHEL 8+/9+ s využitím KVM
- RHEL 7 s využitím VMware
- RHEL 8+/9+ s využitím VMware
- RHEL 7 s využitím Kickstartu
- RHEL 8+/9+ s využitím Kickstartu
Ve Správci technologie Hyper-V vyberte virtuální počítač.
Výběrem možnosti Připojit otevřete okno konzoly pro virtuální počítač.
Vytvořte nebo upravte
/etc/sysconfig/network
soubor a přidejte následující text:NETWORKING=yes HOSTNAME=localhost.localdomain
Vytvořte nebo upravte
/etc/sysconfig/network-scripts/ifcfg-eth0
soubor a přidejte následující text:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no PERSISTENT_DHCLIENT=yes NM_CONTROLLED=yes
Poznámka:
Při použití akcelerovaných síťových služeb musí být syntetické rozhraní, které je vytvořeno, nakonfigurováno tak, aby nespravovalo pomocí pravidla udev. Tato akce zabrání
NetworkManager
přiřazení stejné IP adresy jako primární rozhraní.Pokud ho chcete použít:
sudo tee <<EOF /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules > /dev/null # Accelerated Networking on Azure exposes a new SRIOV interface to the VM. # This interface is transparently bonded to the synthetic interface, # so NetworkManager should just ignore any SRIOV interfaces. SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1" EOF
Ujistěte se, že se síťová služba spouští při spuštění:
sudo systemctl enable network
Zaregistrujte své předplatné Red Hat a povolte instalaci balíčků z úložiště RHEL:
sudo subscription-manager register --auto-attach --username=XXX --password=XXX
Upravte spouštěcí řádek jádra v konfiguraci grubu tak, aby zahrnoval další parametry jádra pro Azure. Chcete-li tuto změnu provést, otevřete
/etc/default/grub
v textovém editoru a upravteGRUB_CMDLINE_LINUX
parametr. Příklad:GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0 net.ifnames=0" GRUB_TERMINAL_OUTPUT="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" ENABLE_BLSCFG=true
Poznámka:
Pokud ENABLE_BLSCFG=false je místo
/etc/default/grub
ENABLE_BLSCFG=true
, nástroje, jako je grubedit nebo gubby, které spoléhají na specifikaci zavaděče spouštění (BLS) pro správu položek a konfigurací spouštění, nemusí správně fungovat v RHEL 8 a 9. PokudENABLE_BLSCFG
není k dispozici, výchozí chování jefalse
.Tato úprava také zajišťuje, že se všechny zprávy konzoly odešlou na první sériový port a umožní interakci s sériovou konzolou, která může pomoct podpora Azure s problémy s laděním. Tato konfigurace také vypne nové zásady vytváření názvů pro síťové karty.
rhgb quiet crashkernel=auto
Grafické a tiché spouštění není užitečné v cloudovém prostředí, kde chcete, aby se všechny protokoly odesílaly na sériový port. Pokud chcete, můžete tuto možnost ponechat
crashkernel
nakonfigurovanou. Tento parametr snižuje množství dostupné paměti na virtuálním počítači o 128 MB nebo více, což může být problém u menších velikostí virtuálních počítačů.Po dokončení úprav
/etc/default/grub
spusťte následující příkaz, který znovu sestaví konfiguraci grubu:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Poznámka:
Pokud nahráváte virtuální počítač s povoleným rozhraním UEFI, příkaz pro aktualizaci grubu je
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
.Ujistěte se, že je server SSH nainstalovaný a nakonfigurovaný tak, aby se spustil při spuštění, což je obvykle výchozí nastavení. Upravte
/etc/ssh/sshd_config
tak, aby zahrnoval následující řádek:ClientAliveInterval 180
Balíček WALinuxAgent ,
WALinuxAgent-<version>
byl nasdílený do úložiště extra Red Hat. Povolte úložiště navíc:sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
Nainstalujte agenta
cloud-init
Azure Linux a další nezbytné nástroje:sudo yum install -y WALinuxAgent cloud-init cloud-utils-growpart gdisk hyperv-daemons sudo systemctl enable waagent.service sudo systemctl enable cloud-init.service
Konfigurace
cloud-init
pro zpracování zřizování:Konfigurovat
waagent
procloud-init
:sudo sed -i 's/Provisioning.Agent=auto/Provisioning.Agent=auto/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
Poznámka:
Pokud migrujete konkrétní virtuální počítač a nechcete vytvořit generalizovanou image, nastavte
Provisioning.Agent=disabled
ji v/etc/waagent.conf
konfiguraci.Konfigurace připojení:
sudo echo "Adding mounts and disk_setup to init stage" sudo sed -i '/ - mounts/d' /etc/cloud/cloud.cfg sudo sed -i '/ - disk_setup/d' /etc/cloud/cloud.cfg sudo sed -i '/cloud_init_modules/a\\ - mounts' /etc/cloud/cloud.cfg sudo sed -i '/cloud_init_modules/a\\ - disk_setup' /etc/cloud/cloud.cfg
Konfigurace zdroje dat Azure:
sudo echo "Allow only Azure datasource, disable fetching network setting via IMDS" sudo tee /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOF
Pokud je nakonfigurovaný, odeberte existující prohození souboru:
if [[ -f /mnt/resource/swapfile ]]; then echo "Removing swapfile" #RHEL uses a swapfile by default swapoff /mnt/resource/swapfile rm /mnt/resource/swapfile -f fi
Konfigurace
cloud-init
protokolování:sudo echo "Add console log file" sudo tee <<EOF /etc/cloud/cloud.cfg.d/05_logging.cfg > /dev/null # This tells cloud-init to redirect its stdout and stderr to # 'tee -a /var/log/cloud-init-output.log' so the user can see output # there without needing to look on the console. output: {all: '| tee -a /var/log/cloud-init-output.log'} EOF
Konfigurace prohození:
Nevytvávejte místo prohození na disku s operačním systémem.
Dříve se agent Azure s Linuxem použil k automatické konfiguraci prohození místa pomocí místního disku prostředku připojeného k virtuálnímu počítači po zřízení virtuálního počítače v Azure. Tato akce je nyní zpracována
cloud-init
. K vytvoření prohození souboru nesmíte použít agenta Linuxu. Odpovídajícím způsobem upravte následující parametry/etc/waagent.conf
:ResourceDisk.Format=n ResourceDisk.EnableSwap=n
Pokud chcete připojit, formátovat a vytvořit prohození, můžete:
Tento kód předejte jako
cloud-init
konfiguraci při každém vytvoření virtuálního počítače prostřednictvím vlastních dat. Tuto metodu doporučujeme.Použijte direktivu upečenou
cloud-init
do image, která tento krok provede při každém vytvoření virtuálního počítače.sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf sudo tee /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF #cloud-config # Generated by Azure cloud image build disk_setup: ephemeral0: table_type: mbr layout: [66, [33, 82]] overwrite: True fs_setup: - device: ephemeral0.1 filesystem: ext4 - device: ephemeral0.2 filesystem: swap mounts: - ["ephemeral0.1", "/mnt/resource"] - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Nakonfigurujte
cloud-init
telemetrii, která vám pomůže s řešením potíží se zřizováním:sudo tee >> /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg << EOF # This config enables cloud-init to report provisioning telemetry to aid with troubleshooting Reporting: logging: type: log telemetry: type: hyperv EOF
Pokud chcete zrušit registraci předplatného, spusťte následující příkaz:
sudo subscription-manager unregister
Zrušte zřízení virtuálního počítače a připravte ho na zřizování v Azure:
Upozornění
Pokud migrujete konkrétní virtuální počítač a nechcete vytvořit generalizovanou image, přeskočte krok zrušení zřízení. Spuštěním příkazu
waagent -force -deprovision+user
se vykreslí nepoužitelný zdrojový počítač. Tento krok je určený pouze k vytvoření generalizované image.sudo rm -f /var/log/waagent.log sudo cloud-init clean --logs --seed sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history sudo export HISTSIZE=0
Ve Správci technologie Hyper-V vyberte akci>vypnout. Váš virtuální pevný disk s Linuxem je teď připravený k nahrání do Azure.