Příprava virtuálního počítače s Oracle Linuxem pro Azure
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Tento článek předpokládá, že jste již nainstalovali operační systém Oracle Linux (OS) na virtuální pevný disk (VHD). Existuje několik nástrojů pro vytvoření souborů .vhd. Příkladem je virtualizační ř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 Oracle Linuxu
- Další tipy k přípravě Linuxu pro Azure najdete v obecných poznámkách k instalaci Linuxu.
- Hyper-V a podpora Azure Oracle Linux s nepolomitelným podnikovým jádrem (UEK) nebo jádrem kompatibilním s Red Hat.
- UEK2 Oracle se v Hyper-V a Azure nepodporuje, protože neobsahuje požadované ovladače.
- 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
. - Vyžaduje se podpora jádra pro připojení uživatelem definovaných funkcí (UDF). Při prvním spuštění v Azure se konfigurace zřizování předá virtuálnímu počítači s Linuxem prostřednictvím média formátovaného uživatelem definovaného uživatelem, které je připojené k hostovi. 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.
- Při instalaci systému Linux doporučujeme používat standardní oddíly místo Správce logických svazků (LVM), což je často výchozí nastavení pro mnoho instalací. Tyto standardní oddíly zabraňují konfliktům názvů LVM s klonovanými virtuálními počítači, zejména pokud 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 také použít na datových discích.
- Verze jádra Linuxu starší než 2.6.37 nepodporují technologii NUMA na Hyper-V s většími velikostmi virtuálních počítačů. Tento problém se týká především starších distribucí, které používají upstreamové jádro Red Hat 2.6.32 a opravené v Oracle Linuxu 6.6 a novějším.
- Nenakonfigurujte prohození oddílu na disku s operačním systémem.
- 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 Linuxu.
- Ujistěte se, že
Addons
je úložiště povolené. Upravte soubor/etc/yum.repos.d/public-yum-ol6.repo
(Oracle Linux 6) nebo/etc/yum.repos.d/public-yum-ol7.repo
(Oracle Linux 7). V tomto souboru změňte řádekenabled=0
naenabled=1
[ol6_addons] nebo [ol7_addons].
Oracle Linux 6.X
Důležité
Mějte na paměti, že Oracle Linux 6.x je již na konci životnosti. Oracle Linux verze 6.10 má k dispozici rozšířenou podporu životního cyklu, která končí červenec 2024.
Pro spuštění virtuálního počítače v Azure musíte provést konkrétní konfigurační kroky v operačním systému.
V prostředním podokně Správce technologie Hyper-V vyberte virtuální počítač.
Výběrem možnosti Připojit otevřete okno virtuálního počítače.
Odinstalace
NetworkManager
:sudo rpm -e --nodeps NetworkManager
Poznámka:
Pokud balíček ještě není nainstalovaný, tento příkaz selže s chybovou zprávou. Tato zpráva se očekává.
V adresáři vytvořte soubor s názvem network
/etc/sysconfig/
, který obsahuje následující text:NETWORKING=yes HOSTNAME=localhost.localdomain
V adresáři vytvořte soubor s názvem ifcfg-eth0
/etc/sysconfig/network-scripts/
, který obsahuje následující text:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Upravte pravidla udev, aby se zabránilo generování statických pravidel pro ethernetová rozhraní. Tato pravidla můžou způsobovat problémy při klonování virtuálního počítače v Azure nebo Hyper-V:
sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
Ujistěte se, že se síťová služba spouští při spuštění:
sudo chkconfig network on
Nainstalujte
python-pyasn1
:sudo yum install python-pyasn1
Upravte spouštěcí řádek jádra v konfiguraci grubu tak, aby zahrnoval další parametry jádra pro Azure. Pokud chcete tento krok provést, otevřete
/boot/grub/menu.lst
v textovém editoru a ujistěte se, že jádro obsahuje následující parametry:console=ttyS0 earlyprintk=ttyS0
Toto nastavení zajišťuje, aby se všechny zprávy konzoly odesílaly na první sériový port, což může pomoct podpora Azure s problémy s laděním.
Kromě předchozích kroků doporučujeme odebrat následující parametry:
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.
Možnost
crashkernel
můžete nechat nakonfigurovanou, pokud chcete. 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čů.Ujistěte se, že je server SSH nainstalovaný a nakonfigurovaný tak, aby se spustil při spuštění. Toto nastavení je obvykle výchozí.
Nainstalujte agenta Azure Linux spuštěním následujícího příkazu. Nejnovější verze je 2.0.15.
sudo yum install WALinuxAgent
Instalace
WALinuxAgent
balíčku odebereNetworkManager
balíčky aNetworkManager-gnome
balíčky, pokud ještě nebyly odebrány, jak je popsáno v kroku 2.Nevytvávejte místo prohození na disku s operačním systémem.
Agent Azure Linux může po zřízení v Azure automaticky nakonfigurovat místo prohození pomocí disku místního prostředku připojeného k virtuálnímu počítači. Místní disk prostředku je dočasný disk a může se vyprázdnit při zrušení zřízení virtuálního počítače. Po instalaci agenta Azure Linuxu (viz předchozí krok) odpovídajícím způsobem upravte následující parametry
/etc/waagent.conf
:ResourceDisk.Format=y ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
Zrušte zřízení virtuálního počítače a připravte ho na zřizování v Azure:
sudo waagent -force -deprovision sudo export HISTSIZE=0 sudo logout
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.
Oracle Linux 7.0 a novější
Pokud používáte Oracle Linux 7.0 nebo novější, postupujte podle pokynů v dalších částech.
Změny v Oracle Linuxu 7
Příprava virtuálního počítače s Oracle Linuxem 7 pro Azure je podobná Oracle Linuxu 6, ale stojí za zmínku několik rozdílů:
- podpora Azure s Oracle Linux s unbreakable Enterprise Kernel (UEK) nebo Red Hat Compatible Kernel. Doporučujeme používat Oracle Linux s UEK.
- Balíček
NetworkManager
už není v konfliktu s agentem Azure Linux. Tento balíček je ve výchozím nastavení nainstalovaný a doporučujeme ho neodebrat. - GRUB2 se teď používá jako výchozí spouštěcí zavaděč, takže se změnil postup úprav parametrů jádra. (Viz část Kroky konfigurace.)
- XFS je teď výchozím systémem souborů. Systém souborů ext4 je stále možné použít, pokud chcete.
Kroky konfigurace
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č.
V adresáři vytvořte soubor s názvem network
/etc/sysconfig/
, který obsahuje následující text:NETWORKING=yes HOSTNAME=localhost.localdomain
V adresáři vytvořte soubor s názvem ifcfg-eth0
/etc/sysconfig/network-scripts/
, který obsahuje následující text:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no
Upravte pravidla udev, aby se zabránilo generování statických pravidel pro ethernetová rozhraní. Tato pravidla můžou způsobovat problémy při klonování virtuálního počítače v Azure nebo Hyper-V:
sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Ujistěte se, že se síťová služba spouští při spuštění:
sudo chkconfig network on
python-pyasn1
Nainstalujte balíček:sudo yum install python3-pyasn1
Vymažte aktuální metadata yum a nainstalujte všechny aktualizace:
sudo yum clean all sudo yum -y update
Upravte spouštěcí řádek jádra v konfiguraci grubu tak, aby zahrnoval další parametry jádra pro Azure. Pokud chcete tento krok provést, otevřete
/etc/default/grub
ho v textovém editoru a upravteGRUB_CMDLINE_LINUX
parametr. Příklad:GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
Tato úprava také zajišťuje, aby se všechny zprávy konzoly odesílaly na první sériový port, který může pomoct podpora Azure s problémy s laděním. Vypne také zásady vytváření názvů pro síťové karty v Oracle Linuxu 7 pomocí UEK. Doporučujeme také odebrat následující parametry:
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.
Možnost
crashkernel
můžete nechat nakonfigurovanou, pokud chcete. 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
znovu sestavte konfiguraci grubu:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Ujistěte se, že je server SSH nainstalovaný a nakonfigurovaný tak, aby se spustil při spuštění. Toto nastavení je obvykle výchozí.
Nainstalujte agenta a závislosti Azure Linuxu:
sudo yum install WALinuxAgent sudo systemctl enable waagent
Instalace
cloud-init
pro zpracování zřizování:sudo yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
Konfigurovat
waagent
procloud-init
:sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
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
echo "Allow only Azure datasource, disable fetching network setting via IMDS"
sudo cat > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOF if [[ -f /mnt/resource/swapfile ]]; then echo Removing swapfile - Oracle Linux uses a swapfile by default swapoff /mnt/swapfile rm /mnt/swapfile -f fi echo "Add console log file" cat >> /etc/cloud/cloud.cfg.d/05_logging.cfg <<EOF # 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 automaticky ke konfiguraci prohození místa pomocí disku místního prostředku připojeného k virtuálnímu počítači po zřízení virtuálního počítače v Azure. Teď ale
cloud-init
tento krok zpracuje. 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
: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
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. - K tomuto kroku při každém vytvoření virtuálního počítače použijte direktivu
cloud-init
upečenou do image:
echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf cat > /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
- Tento kód předejte jako
Zrušte zřízení virtuálního počítače a připravte ho na zřizování v Azure:
sudo cloud-init clean sudo rm -f /var/log/waagent.log sudo waagent -force -deprovision sudo rm -f ~/.bash_history sudo export HISTSIZE=0
Poznámka:
Pokud migrujete konkrétní virtuální počítač a nechcete vytvořit generalizovanou image, přeskočte krok zrušení zřízení.
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.
Související obsah
Teď jste připraveni k vytvoření nových virtuálních počítačů v Azure použít oracle Linux .vhd. 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.