Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy ✔️ ✔️ skalowania jednolite zestawy skalowania
Z tego artykułu dowiesz się, jak przygotować maszynę wirtualną z systemem Red Hat Enterprise Linux (RHEL) do użycia na platformie Azure. Wersje systemu RHEL omówione w tym artykule to 7.x, 8.X., 9.x. Funkcje hypervisor do przygotowania, które zostały omówione w tym artykule, to hyper-V, maszyna wirtualna oparta na jądrze (KVM), VMware i Kickstart.
Aby uzyskać więcej informacji na temat wymagań kwalifikacyjnych dotyczących udziału w programie Cloud Access firmy Red Hat, zobacz witrynę internetową red hat Cloud Access i running RHEL on Azure (Uruchamianie systemu RHEL na platformie Azure). Aby uzyskać informacje na temat sposobów automatyzowania tworzenia obrazów systemu RHEL, zobacz Azure Image Builder.
Uwaga
Należy pamiętać o wersjach, które są na ich koniec życia (EOL) i nie są już obsługiwane przez Red Hat. Przekazane obrazy, które znajdują się poza EOL lub poza nią, są obsługiwane w rozsądnym zakresie nakładu pracy biznesowej. Aby uzyskać więcej informacji, zobacz Cykle życia produktu Red Hat.
Wymagania wstępne
W tej sekcji założono, że plik ISO został już uzyskany z witryny internetowej red hat i zainstalowany obraz RHEL na wirtualnym dysku twardym (VHD). Aby uzyskać więcej informacji na temat sposobu instalowania obrazu systemu operacyjnego za pomocą Menedżera funkcji Hyper-V, zobacz Instalowanie roli funkcji Hyper-V i konfigurowanie maszyny wirtualnej.
Uwagi dotyczące instalacji systemu RHEL
- Platforma Azure nie obsługuje formatu VHDX. pomoc techniczna platformy Azure tylko stały dysk VHD. Za pomocą Menedżera funkcji Hyper-V można przekonwertować dysk na format VHD lub użyć
convert-vhdpolecenia cmdlet . Jeśli używasz usługi VirtualBox, wybierz opcję Stały rozmiar , a nie domyślną opcję dynamicznie przydzieloną podczas tworzenia dysku. - pomoc techniczna platformy Azure s Gen1 (rozruch systemu BIOS) i maszyny wirtualne gen2 (rozruch UEFI).
- Maksymalny rozmiar dozwolony dla dysku VHD wynosi 1023 GB.
- Moduł jądra vfat musi być włączony w jądrze.
- Menedżer woluminów logicznych (LVM) jest obsługiwany i może być używany na dysku systemu operacyjnego lub dyskach danych na maszynach wirtualnych platformy Azure. Ogólnie rzecz biorąc, zalecamy używanie partycji standardowych na dysku systemu operacyjnego, a nie LVM. Ta praktyka pozwala uniknąć konfliktów nazw LVM z sklonowanymi maszynami wirtualnymi, szczególnie jeśli kiedykolwiek trzeba dołączyć dysk systemu operacyjnego do innej identycznej maszyny wirtualnej w celu rozwiązywania problemów. Aby uzyskać więcej informacji, zobacz dokumentację LVM i RAID .
- Wymagana jest obsługa jądra na potrzeby instalowania systemów plików formatu uniwersalnego dysku (UDF). Podczas pierwszego rozruchu na platformie Azure nośnik sformatowany przez użytkownika dołączony do gościa przekazuje konfigurację aprowizacji do maszyny wirtualnej z systemem Linux. Agent systemu Linux platformy Azure musi mieć możliwość zainstalowania systemu plików UDF, aby odczytać jego konfigurację i aprowizować maszynę wirtualną. Bez tego kroku aprowizowanie kończy się niepowodzeniem.
- Nie konfiguruj partycji wymiany na dysku systemu operacyjnego. Aby uzyskać więcej informacji, zapoznaj się z poniższymi krokami.
- Wszystkie wirtualne dyski twarde na platformie Azure muszą mieć rozmiar wirtualny wyrównany do 1 MB. Podczas konwertowania z dysku nieprzetworzonego na dysk VHD należy upewnić się, że rozmiar nieprzetworzonego dysku to wielokrotność 1 MB przed konwersją. Aby uzyskać więcej informacji, zapoznaj się z poniższymi krokami. Zobacz też uwagi dotyczące instalacji systemu Linux.
Uwaga
Cloud-init >= 21.2 usuwa wymaganie funkcji zdefiniowanej przez użytkownika. Jednak bez włączonego modułu UDF dysk CD-ROM nie zostanie zamontowany podczas aprowizacji, co uniemożliwia stosowanie niestandardowych danych. Obejściem jest zastosowanie niestandardowych danych przy użyciu danych użytkownika. W przeciwieństwie do danych niestandardowych dane użytkownika nie są szyfrowane. Aby uzyskać więcej informacji, zobacz Formaty danych użytkownika.
- RHEL 7 przy użyciu Menedżera funkcji Hyper-V
- RHEL 8+/9+ przy użyciu Menedżera funkcji Hyper-V
- RHEL 7 przy użyciu maszyny wirtualnej KVM
- RHEL 8+/9+ przy użyciu maszyny wirtualnej KVM
- RHEL 7 przy użyciu programu VMware
- RHEL 8+/9+ przy użyciu programu VMware
- RHEL 7 przy użyciu narzędzia Kickstart
- RHEL 8+/9+ przy użyciu narzędzia Kickstart
W Menedżerze funkcji Hyper-V wybierz maszynę wirtualną.
Wybierz pozycję Połącz, aby otworzyć okno konsoli dla maszyny wirtualnej.
Utwórz lub edytuj
/etc/sysconfig/networkplik i dodaj następujący tekst:NETWORKING=yes HOSTNAME=localhost.localdomainUtwórz lub edytuj
/etc/sysconfig/network-scripts/ifcfg-eth0plik i dodaj następujący tekst:DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no PERSISTENT_DHCLIENT=yes NM_CONTROLLED=yesUwaga
W przypadku korzystania z przyspieszonej sieci syntetyczny interfejs utworzony musi być skonfigurowany tak, aby był niezarządzany przy użyciu reguły ujmowania. Ta akcja uniemożliwia
NetworkManagerprzypisanie do niego tego samego adresu IP co interfejs podstawowy.Aby go zastosować:
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" EOFUpewnij się, że usługa sieciowa jest uruchamiana w czasie rozruchu:
sudo systemctl enable networkZarejestruj subskrypcję oprogramowania Red Hat, aby włączyć instalację pakietów z repozytorium RHEL:
sudo subscription-manager register --auto-attach --username=XXX --password=XXXZmodyfikuj wiersz rozruchu jądra w konfiguracji grub, aby uwzględnić więcej parametrów jądra dla platformy Azure. Aby wykonać tę modyfikację, otwórz
/etc/default/grubw edytorze tekstów i edytujGRUB_CMDLINE_LINUXparametr . Na przykład: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=trueUwaga
Jeśli ENABLE_BLSCFG=false jest obecny w
/etc/default/grubzamiastENABLE_BLSCFG=truenarzędzi , takich jak grubedit lub gubby, które opierają się na specyfikacji modułu ładującego rozruchu (BLS) do zarządzania wpisami i konfiguracjami rozruchu, mogą nie działać poprawnie w RHEL 8 i 9. JeśliENABLE_BLSCFGnie jest obecny, domyślne zachowanie tofalse.Ta modyfikacja gwarantuje również, że wszystkie komunikaty konsoli są wysyłane do pierwszego portu szeregowego i umożliwiają interakcję z konsolą szeregową, co może pomóc pomoc techniczna platformy Azure w przypadku problemów z debugowaniem. Ta konfiguracja wyłącza również nowe konwencje nazewnictwa kart interfejsu sieciowego.
rhgb quiet crashkernel=autoRozruchy graficzne i ciche nie są przydatne w środowisku chmury, w którym wszystkie dzienniki mają być wysyłane do portu szeregowego. Jeśli chcesz, możesz pozostawić
crashkernelopcję skonfigurowaną. Ten parametr zmniejsza ilość dostępnej pamięci na maszynie wirtualnej o 128 MB lub więcej, co może być problemem dla mniejszych rozmiarów maszyn wirtualnych.Po zakończeniu edytowania
/etc/default/gruburuchom następujące polecenie, aby ponownie skompilować konfigurację grub:sudo grub2-mkconfig -o /boot/grub2/grub.cfgUwaga
Jeśli przekazujesz maszynę wirtualną z obsługą interfejsu UEFI, polecenie aktualizacji pliku grub to
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg.Upewnij się, że serwer SSH jest zainstalowany i skonfigurowany do uruchamiania w czasie rozruchu, co jest zwykle ustawieniem domyślnym. Zmodyfikuj
/etc/ssh/sshd_config, aby uwzględnić następujący wiersz:ClientAliveInterval 180Pakiet
WALinuxAgent-<version>WALinuxAgent został wypchnięty do repozytorium dodatków Red Hat. Włącz repozytorium dodatków:sudo subscription-manager repos --enable=rhel-7-server-extras-rpmsZainstaluj agenta systemu Linux platformy Azure i
cloud-initinne niezbędne narzędzia:sudo yum install -y WALinuxAgent cloud-init cloud-utils-growpart gdisk hyperv-daemons sudo systemctl enable waagent.service sudo systemctl enable cloud-init.serviceSkonfiguruj
cloud-initdo obsługi aprowizacji:Skonfiguruj
waagentdla programucloud-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.confUwaga
Jeśli migrujesz określoną maszynę wirtualną i nie chcesz tworzyć uogólnionego obrazu, ustaw
Provisioning.Agent=disabledkonfigurację/etc/waagent.conf.Konfigurowanie instalacji:
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.cfgKonfigurowanie źródła danych platformy 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 EOFW przypadku skonfigurowania usuń istniejący plik zamiany:
if [[ -f /mnt/resource/swapfile ]]; then echo "Removing swapfile" #RHEL uses a swapfile by default swapoff /mnt/resource/swapfile rm /mnt/resource/swapfile -f fiKonfigurowanie rejestrowania
cloud-init: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
Konfiguracja zamiany:
Nie twórz miejsca wymiany na dysku systemu operacyjnego.
Wcześniej agent systemu Linux platformy Azure był używany do automatycznego konfigurowania miejsca wymiany przy użyciu lokalnego dysku zasobów dołączonego do maszyny wirtualnej po aprowizacji maszyny wirtualnej na platformie Azure. Ta akcja jest teraz obsługiwana przez program
cloud-init. Nie można używać agenta systemu Linux do formatowania dysku zasobu w celu utworzenia pliku wymiany. Zmodyfikuj odpowiednio następujące parametry/etc/waagent.conf:ResourceDisk.Format=n ResourceDisk.EnableSwap=nJeśli chcesz zainstalować, sformatować i utworzyć zamianę, możesz wykonać następujące czynności:
Przekaż ten kod jako konfigurację za każdym razem, gdy tworzysz maszynę wirtualną
cloud-initza pomocą danych niestandardowych. Zalecamy tę metodę.cloud-initUżyj dyrektywy baked do obrazu, który wykonuje ten krok za każdym razem, gdy maszyna wirtualna zostanie utworzona.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
Konfigurowanie
cloud-inittelemetrii w celu ułatwienia rozwiązywania problemów z aprowizowaniem:sudo tee -a /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 EOFJeśli chcesz wyrejestrować subskrypcję, uruchom następujące polecenie:
sudo subscription-manager unregisterAnulowanie aprowizacji maszyny wirtualnej i przygotowanie jej do aprowizacji na platformie Azure:
Uwaga
Jeśli migrujesz określoną maszynę wirtualną i nie chcesz tworzyć uogólnionego obrazu, pomiń krok anulowania aprowizacji. Uruchomienie polecenia
waagent -force -deprovision+userpowoduje, że maszyna źródłowa jest bezużyteczna. Ten krok jest przeznaczony tylko do utworzenia uogólnionego obrazu.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=0Wybierz pozycję Akcja>Zamknij w Menedżerze funkcji Hyper-V. Wirtualny dysk twardy systemu Linux jest teraz gotowy do przekazania na platformę Azure.