Megosztás a következőn keresztül:


Red Hat-alapú virtuális gép előkészítése az Azure-beli használatra

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Rugalmas méretezési csoportok ✔️ Egységes méretezési csoportok

Ebből a cikkből megtudhatja, hogyan készíthet elő Red Hat Enterprise Linux (RHEL) virtuális gépet az Azure-ban való használatra. A cikkben tárgyalt RHEL-verziók a 6.X, a 7.X és a 8.X. A cikkben tárgyalt előkészítés hipervizorai a Hyper-V, a kernelalapú virtuális gép (KVM) és a VMware.

A Red Hat Felhőelérési programjában való részvételre vonatkozó jogosultsági követelményekről a Red Hat Cloud Access webhelyén és az RHEL Azure-ban való futtatásával kapcsolatos további információkért olvashat. Az RHEL-rendszerképek létrehozásának automatizálását az Azure Image Builderben találhatja meg.

Feljegyzés

Ügyeljen arra, hogy a Red Hat már nem támogatja az élettartamuk végén lévő verziókat (EOL). Az EOL-n vagy azon túl feltöltött képeket ésszerű üzleti erőfeszítéssel támogatjuk. További információkért lásd a Red Hat termék életciklusát.

Hyper-V kezelő

Ez a szakasz bemutatja, hogyan készíthet elő RHEL 6, RHEL 7 vagy RHEL 8 virtuális gépet a Hyper-V Manager használatával.

Előfeltételek

Ez a szakasz feltételezi, hogy már beszerezte az ISO-fájlt a Red Hat webhelyről, és telepítette az RHEL-lemezképet egy virtuális merevlemezre (VHD). A Hyper-V Manager operációsrendszer-lemezképek telepítésével kapcsolatos további információkért tekintse meg a Hyper-V szerepkör telepítését és a virtuális gép konfigurálását ismertető témakört.

RHEL telepítési megjegyzések

  • Az Azure nem támogatja a VHDX formátumot. Azure-támogatás csak rögzített VHD-t. A Hyper-V Managerrel VHD formátumba konvertálhatja a lemezt, vagy használhatja a convert-vhd parancsmagot. Ha VirtualBoxot használ, válassza a Rögzített méret lehetőséget , szemben az alapértelmezett dinamikusan lefoglalt beállítással a lemez létrehozásakor.
  • Azure-támogatás Gen1 (BIOS rendszerindítás) és Gen2 (UEFI rendszerindítás) virtuális gépek.
  • A virtuális merevlemez maximális mérete 1023 GB.
  • A vfat kernelmodult engedélyezni kell a kernelben.
  • A Logikai kötetkezelő (LVM) támogatott, és használható az operációsrendszer-lemezen vagy az Azure-beli virtuális gépek adatlemezén. Általában azt javasoljuk, hogy az LVM helyett standard partíciókat használjon az operációsrendszer-lemezen. Ez a gyakorlat elkerüli az LVM-névütközéseket a klónozott virtuális gépekkel, különösen akkor, ha az operációsrendszer-lemezt egy másik azonos virtuális géphez kell csatlakoztatnia a hibaelhárításhoz. További információkért tekintse meg az LVM és a RAID dokumentációját.
  • Az univerzális lemezformátumú (UDF) fájlrendszerek csatlakoztatásához kerneltámogatás szükséges. Az Azure első indításakor a vendéghez csatolt UDF-formátumú adathordozó átadja a kiépítési konfigurációt a Linux rendszerű virtuális gépnek. Az Azure Linux-ügynöknek képesnek kell lennie csatlakoztatni az UDF fájlrendszert a konfiguráció olvasásához és a virtuális gép üzembe helyezéséhez. E lépés nélkül a kiépítés meghiúsul.
  • Ne konfiguráljon felcserélési partíciót az operációsrendszer-lemezen. További információkért olvassa el az alábbi lépéseket.
  • Az Azure összes virtuális merevlemezének 1 MB-hoz igazított virtuális méretnek kell lennie. Amikor nyers lemezről VHD-re konvertál, az átalakítás előtt győződjön meg arról, hogy a nyers lemez mérete 1 MB többszöröse. További információkért olvassa el az alábbi lépéseket. Lásd még a Linux telepítési megjegyzéseit.

Feljegyzés

A Cloud-init >= 21.2 eltávolítja az UDF-követelményt. Az UDF-modul engedélyezése nélkül azonban a CD-ROM nem fog csatlakoztatni a kiépítés során, ami megakadályozza az egyéni adatok alkalmazását. A megkerülő megoldás az egyéni adatok felhasználói adatokkal történő alkalmazása. Az egyéni adatokkal ellentétben a felhasználói adatok nincsenek titkosítva. További információ: Felhasználói adatformátumok.

RHEL 6 a Hyper-V Managerrel

Fontos

2020. november 30-án az RHEL 6 elérte a karbantartási fázis végét. A karbantartási fázist a kiterjesztett élettartam fázis követi. Mivel az RHEL 6 áttűnés a teljes/karbantartási fázisból, erősen javasoljuk, hogy frissítsen RHEL 7, 8 vagy 9 verzióra. Ha az RHEL 6-ot kell tartania, javasoljuk, hogy adja hozzá az RHEL kiterjesztett életciklus-támogatási bővítményt.

  1. A Hyper-V Managerben válassza ki a virtuális gépet.

  2. Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.

  3. Az RHEL 6-ban NetworkManager zavarhatja az Azure Linux-ügynököt. Távolítsa el a csomagot:

    sudo rpm -e --nodeps NetworkManager
    
  4. Hozza létre vagy szerkessze a /etc/sysconfig/network fájlt, és adja hozzá a következő szöveget:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  5. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    
  6. Helyezze át (vagy távolítsa el) az udev-szabályokat, hogy ne generáljon statikus szabályokat az Ethernet-adapterhez. Ezek a szabályok problémákat okoznak, ha egy virtuális gépet klónoz az Azure-ban vagy a Hyper-V-ben:

    Figyelmeztetés

    Számos "v5" és újabb virtuálisgép-méret gyorsított hálózatkezelést igényel. Ha nincs engedélyezve, a NetworkManager ugyanazt az IP-címet rendeli hozzá az összes virtuális függvény-adapterhez. A duplikált IP-címek elkerülése érdekében az újabb méretre való migráláskor mindenképpen vegye fel ezt az udev-szabályt.

    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
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
  7. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo chkconfig network on
    
  8. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  9. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-6-server-extras-rpms
    
  10. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. A módosítás elvégzéséhez nyisson meg /boot/grub/menu.lst egy szövegszerkesztőben. Győződjön meg arról, hogy az alapértelmezett kernel a következő paramétereket tartalmazza:

    console=ttyS0 earlyprintk=ttyS0
    

    Ez a művelet azt is biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet Azure-támogatás hibakeresési problémákban.

    Azt is javasoljuk, hogy távolítsa el a következő paramétereket:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter 128 MB-kal vagy többel csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét. Ez a konfiguráció kisebb virtuálisgép-méretek esetén problémát jelenthet.

  11. Győződjön meg arról, hogy a biztonságos rendszerhéj-kiszolgáló (SSH) telepítve van, és úgy van konfigurálva, hogy indításkor induljon el, ami általában az alapértelmezett. Módosítsa /etc/ssh/sshd_config úgy, hogy tartalmazza a következő sort:

    ClientAliveInterval 180
    
  12. Telepítse az Azure Linux-ügynököt:

    sudo yum install WALinuxAgent
    sudo chkconfig waagent on
    

    A WALinuxAgent csomag telepítése eltávolítja a csomagokat és NetworkManager-gnome a NetworkManager csomagokat, ha még nem lettek eltávolítva a 3. lépésben.

  13. Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.

    Az Azure Linux-ügynök automatikusan konfigurálhatja a helycserét a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gép kiépült az Azure-ban. A helyi erőforráslemez ideiglenes lemez, és kiüríthető, ha a virtuális gép ki van bontva. Miután telepítette az Azure Linux-ügynököt az előző lépésben, módosítsa a következő paramétereket /etc/waagent.conf a megfelelő módon:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  14. Az előfizetés regisztrációjának törlése (ha szükséges):

    sudo subscription-manager unregister
    
  15. Bontsa ki a virtuális gépet, és készítse elő az Azure-beli üzembe helyezésre:

    Feljegyzés

    Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, hagyja ki a leépítési lépést.

        sudo waagent -force -deprovision
        sudo export HISTSIZE=0
    
  16. Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben. A Linux VHD most már készen áll az Azure-ba való feltöltésre.

RHEL 7 a Hyper-V Managerrel

  1. A Hyper-V Managerben válassza ki a virtuális gépet.

  2. Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.

  3. Hozza létre vagy szerkessze a /etc/sysconfig/network fájlt, és adja hozzá a következő szöveget:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  4. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    PERSISTENT_DHCLIENT=yes
    NM_CONTROLLED=yes
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
  5. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo systemctl enable network
    
  6. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  7. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. A módosítás elvégzéséhez nyissa meg /etc/default/grub egy szövegszerkesztőben, és szerkessze a paramétert GRUB_CMDLINE_LINUX . Például:

    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
    

    Feljegyzés

    Ha ENABLE_BLSCFG=false érték van jelen /etc/default/grub ahelyett ENABLE_BLSCFG=true, hogy a rendszerindítási bejegyzések és konfigurációk kezeléséhez a Rendszertöltő specifikációjára (BLS) támaszkodó olyan eszközök, mint a grubedit vagy a gubby, nem feltétlenül működnek megfelelően az RHEL 8-ban és a 9-ben. Ha ENABLE_BLSCFG nincs jelen, az alapértelmezett viselkedés a következő false: .

    Ez a módosítás azt is biztosítja, hogy a konzol összes üzenete az első soros portra legyen elküldve, és engedélyezze a soros konzollal való interakciót, ami segíthet Azure-támogatás hibakeresési problémák megoldásában. Ez a konfiguráció kikapcsolja az új RHEL 7 elnevezési konvenciók hálózati adapterekhez (NIC-k) is.

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  8. A szerkesztés /etc/default/grubbefejezése után futtassa a következő parancsot a grub-konfiguráció újraépítéséhez:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    

    Feljegyzés

    Ha UEFI-kompatibilis virtuális gépet tölt fel, a grub frissítésére szolgáló parancs a következő grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg: .

  9. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el, ami általában az alapértelmezett. Módosítsa /etc/ssh/sshd_config úgy, hogy tartalmazza a következő sort:

    ClientAliveInterval 180
    
  10. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
    
  11. Telepítse az Azure Linux-ügynököt cloud-inités más szükséges segédprogramokat:

    sudo yum install -y WALinuxAgent cloud-init cloud-utils-growpart gdisk hyperv-daemons
    sudo systemctl enable waagent.service
    sudo systemctl enable cloud-init.service
    
  12. Konfigurálja cloud-init a kiépítés kezelésére:

    1. Konfigurálás waagent a következőhöz cloud-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
      

      Feljegyzés

      Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, állítsa be Provisioning.Agent=disabled a /etc/waagent.conf konfigurációt.

    2. Csatlakoztatások konfigurálása:

      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
      
    3. Az Azure-adatforrás konfigurálása:

      sudo 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
      
    4. Ha konfigurálva van, távolítsa el a meglévő felcserélési fájlt:

      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
      
    5. Naplózás konfigurálása cloud-init :

      sudo echo "Add console log file"
      sudo 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
      
      
  13. Konfiguráció felcserélése:

    • Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.

      Korábban az Azure Linux-ügynököt használták a felcserélés automatikus konfigurálásához a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gép üzembe lett helyezve az Azure-ban. Ezt a műveletet a következő kezeli cloud-init: . A felcserélési fájl létrehozásához nem használhatja a Linux-ügynököt az erőforráslemez formázásához. Módosítsa a következő paramétereket a megfelelő módon /etc/waagent.conf :

      ResourceDisk.Format=n
      ResourceDisk.EnableSwap=n
      
    • Ha csatlakoztatni, formázni és létrehozni szeretné a felcserélést, a következőkre van lehetőség:

      • Adja át ezt a kódot konfigurációként cloud-init minden alkalommal, amikor egyéni adatokon keresztül hoz létre virtuális gépet. Ezt a módszert javasoljuk.

      • Használjon a cloud-init rendszerképbe sütött direktívát, amely ezt a lépést minden alkalommal elvégzi, amikor a virtuális gép létrejön.

        sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
        sudo 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
        
  14. Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:

    sudo subscription-manager unregister
    
  15. Bontsa ki a virtuális gépet, és készítse elő az Azure-beli üzembe helyezésre:

    Figyelemfelhívás

    Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, hagyja ki a leépítési lépést. A parancs waagent -force -deprovision+user futtatása használhatatlanná teszi a forrásgépet. Ez a lépés csak általánosított rendszerkép létrehozására szolgál.

    sudo rm -f /var/log/waagent.log
    sudo cloud-init clean
    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    sudo export HISTSIZE=0
    
  16. Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben. A Linux VHD most már készen áll az Azure-ba való feltöltésre.

RHEL 8+ a Hyper-V Managerrel

  1. A Hyper-V Managerben válassza ki a virtuális gépet.

  2. Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.

  3. Győződjön meg arról, hogy a Network Manager szolgáltatás elindul a rendszerindításkor:

    sudo systemctl enable NetworkManager.service
    
  4. Konfigurálja a hálózati adaptert úgy, hogy automatikusan elinduljon a rendszerindításkor, és használja a Dinamikus gazdagép konfigurációs protokollját:

    sudo nmcli con mod eth0 connection.autoconnect yes ipv4.method auto
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
  5. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  6. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz, és engedélyezze a soros konzolt.

  7. Távolítsa el az aktuális GRUB-paramétereket:

    sudo grub2-editenv - unset kernelopts
    
  8. Szerkessze /etc/default/grub egy szövegszerkesztőben, és adja hozzá a következő paramétereket:

    GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 earlyprintk=ttyS0 net.ifnames=0"
    GRUB_TERMINAL_OUTPUT="serial console"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    

    Ez a módosítás azt is biztosítja, hogy a konzol összes üzenete az első soros portra legyen elküldve, és engedélyezze a soros konzollal való interakciót, ami segíthet Azure-támogatás hibakeresési problémák megoldásában. Ez a konfiguráció a hálózati adapterek új elnevezési konvencióit is kikapcsolja.

  9. Javasoljuk, hogy távolítsa el a következő paramétereket is:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  10. A szerkesztés /etc/default/grubbefejezése után futtassa a következő parancsot a grub-konfiguráció újraépítéséhez:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    

    UEFI-kompatibilis virtuális gép esetén futtassa a következő parancsot:

    sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
    
  11. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el, ami általában az alapértelmezett. Módosítsa /etc/ssh/sshd_config úgy, hogy tartalmazza a következő sort:

    ClientAliveInterval 180
    
  12. Telepítse az Azure Linux-ügynököt cloud-inités más szükséges segédprogramokat:

    sudo yum install -y WALinuxAgent cloud-init cloud-utils-growpart gdisk hyperv-daemons
    sudo systemctl enable waagent.service
    sudo systemctl enable cloud-init.service
    
  13. Konfigurálja cloud-init a kiépítés kezelésére:

    1. Konfigurálás waagent a következőhöz cloud-init:

      sudo sed -i 's/Provisioning.Agent=auto/Provisioning.Agent=cloud-init/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
      

      Feljegyzés

      Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, állítsa be Provisioning.Agent=disabled a /etc/waagent.conf konfigurációt.

    2. Csatlakoztatások konfigurálása:

      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
      
    3. Az Azure-adatforrás konfigurálása:

      sudo 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
      
    4. Ha konfigurálva van, távolítsa el a meglévő felcserélési fájlt:

      if [[ -f /mnt/resource/swapfile ]]; then
      echo "Removing swapfile" #RHEL uses a swapfile by defaul
      swapoff /mnt/resource/swapfile
      rm /mnt/resource/swapfile -f
      fi
      
    5. Naplózás konfigurálása cloud-init :

      sudo echo "Add console log file"
      sudo 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
      
  14. Konfiguráció felcserélése:

    • Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.

      Korábban az Azure Linux-ügynököt használták a felcserélés automatikus konfigurálásához a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gép üzembe lett helyezve az Azure-ban. Ezt a műveletet a következő kezeli cloud-init: . A felcserélési fájlt nem szabad a Linux-ügynökkel formázni. Módosítsa a következő paramétereket a megfelelő módon /etc/waagent.conf :

      ResourceDisk.Format=n
      ResourceDisk.EnableSwap=n
      
      • Adja át ezt a kódot konfigurációként cloud-init minden alkalommal, amikor egyéni adatokon keresztül hoz létre virtuális gépet. Ezt a módszert javasoljuk.

      • Használjon a cloud-init rendszerképbe sütött direktívát, amely ezt a lépést minden alkalommal elvégzi, amikor a virtuális gép létrejön.

        sudo echo 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' >> /etc/systemd/system.conf
        sudo 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.device-timeout=2,x-systemd.requires=cloud-init.service", "0", "0"]
        EOF
        
  15. Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:

    sudo subscription-manager unregister
    
  16. Futtassa a következő parancsokat a virtuális gép kivonásához és az Azure-beli üzembe helyezés előkészítéséhez:

    sudo cloud-init clean
    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    sudo sudo rm -f /var/log/waagent.log
    sudo export HISTSIZE=0
    

    Figyelemfelhívás

    Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, hagyja ki a leépítési lépést. A parancs waagent -force -deprovision+user futtatása használhatatlanná teszi a forrásgépet. Ez a lépés csak általánosított rendszerkép létrehozására szolgál.

  17. Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben. A Linux VHD most már készen áll az Azure-ba való feltöltésre.

KVM

Ez a szakasz bemutatja, hogyan készíthet elő RHEL 6 vagy RHEL 7 disztribúciót az Azure-ba való feltöltéshez a KVM használatával.

RHEL 6 a KVM használatával

Fontos

2020. november 30-án az RHEL 6 elérte a karbantartási fázis végét. A karbantartási fázist a kiterjesztett élettartam fázis követi. Mivel az RHEL 6 áttűnés a teljes/karbantartási fázisból, erősen javasoljuk, hogy frissítsen RHEL 7, 8 vagy 9 verzióra. Ha az RHEL 6-ot kell tartania, javasoljuk, hogy adja hozzá az RHEL kiterjesztett életciklus-támogatási bővítményt.

  1. Töltse le az RHEL 6 KVM-képét a Red Hat webhelyéről.

  2. Állítson be egy gyökérjelszót.

    Hozzon létre egy titkosított jelszót, és másolja ki a parancs kimenetét:

    sudo openssl passwd -1 changeme
    

    Állítson be egy gyökérjelszót a vendéghalakkal:

    sudo guestfish --rw -a <image-name>
    > <fs> run
    > <fs> list-filesystems
    > <fs> mount /dev/sda1 /
    > <fs> vi /etc/shadow
    > <fs> exit
    

    Módosítsa a gyökérfelhasználó második mezőjét a titkosított jelszóra !! .

  3. Hozzon létre egy virtuális gépet a KVM-ben a qcow2 rendszerképből. Állítsa a lemez típusát qcow2 értékre, és állítsa a virtuális hálózati adapter eszközmodellt virtio értékre. Ezután indítsa el a virtuális gépet, és jelentkezzen be gyökérként.

  4. Hozza létre vagy szerkessze a /etc/sysconfig/network fájlt, és adja hozzá a következő szöveget:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  5. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    
  6. Helyezze át (vagy távolítsa el) az udev-szabályokat, hogy ne generáljon statikus szabályokat az Ethernet-adapterhez. Ezek a szabályok problémákat okoznak, ha egy virtuális gépet klónoz az Azure-ban vagy a Hyper-V-ben:

    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
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # 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
    
  7. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo chkconfig network on
    
  8. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  9. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. A konfiguráció elvégzéséhez nyisson meg /boot/grub/menu.lst egy szövegszerkesztőben. Győződjön meg arról, hogy az alapértelmezett kernel a következő paramétereket tartalmazza:

    console=ttyS0 earlyprintk=ttyS0
    

    Ez a lépés azt is biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet Azure-támogatás hibakeresési problémákban.

    Azt is javasoljuk, hogy távolítsa el a következő paramétereket:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  10. Hyper-V-modulok hozzáadása initramfs-ekhez:

    Szerkessze /etc/dracut.confés adja hozzá a következő tartalmat:

    add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
    

    Initramfs újraépítése:

    sudo dracut -f -v
    
  11. Eltávolítás cloud-init:

    sudo yum remove cloud-init
    
  12. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el:

    sudo chkconfig sshd on
    

    Módosítsa /etc/ssh/sshd_config a következő sorokat:

    PasswordAuthentication yes
    ClientAliveInterval 180
    
  13. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-6-server-extras-rpms
    
  14. Telepítse az Azure Linux-ügynököt:

    sudo yum install WALinuxAgent
    sudo chkconfig waagent on
    
  15. Az Azure Linux-ügynök automatikusan konfigurálhatja a helycserét a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gép kiépült az Azure-ban. A helyi erőforráslemez egy ideiglenes lemez, és kiüríthető, ha a virtuális gép le van bontva. Miután telepítette az Azure Linux-ügynököt az előző lépésben, módosítsa a következő paramétereket /etc/waagent.conf a megfelelő módon:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  16. Az előfizetés regisztrációjának törlése (ha szükséges):

    sudo subscription-manager unregister
    
  17. Futtassa az alábbi parancsokat a virtuális gép kivonásához és az Azure-beli üzembe helyezéshez való előkészítéséhez.

    Feljegyzés

    Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, hagyja ki a leépítési lépést.

    sudo rm -rf /var/lib/waagent/
    sudo rm -f /var/log/waagent.log
    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    sudo export HISTSIZE=0
    
  18. Állítsa le a virtuális gépet a KVM-ben.

  19. Konvertálja a qcow2-lemezképet VHD formátumba.

    Feljegyzés

    A qemu-img =2.2.1 verzióiban >ismert hiba történt, amely helytelenül formázott VHD-t eredményez. A probléma a QEMU 2.6-ban lett kijavítva. Javasoljuk, hogy qemu-img 2.2.0-s vagy újabb verziót használjon, vagy frissítsen 2,6-os vagy újabb verzióra. További információkért tekintse meg ezt a webhelyet .

    Először konvertálja a képet nyers formátumba:

    sudo qemu-img convert -f qcow2 -O raw rhel-6.9.qcow2 rhel-6.9.raw
    

    Győződjön meg arról, hogy a nyers kép mérete 1 MB-hoz van igazítva. Ellenkező esetben kerekítsd fel a méretet az 1 MB-hoz igazításhoz:

    MB=$((1024*1024))
    size=$(qemu-img info -f raw --output json "rhel-6.9.raw" | \
    gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    rounded_size=$((($size/$MB + 1)*$MB))
    sudo qemu-img resize rhel-6.9.raw $rounded_size
    

    Konvertálja a nyers lemezt rögzített méretű VHD-vé:

    sudo qemu-img convert -f raw -o subformat=fixed -O vpc rhel-6.9.raw rhel-6.9.vhd
    

    Vagy a qemu 2.6+-os verziójával adja meg a force_size következő lehetőséget:

    sudo qemu-img convert -f raw -o subformat=fixed,force_size -O vpc rhel-6.9.raw rhel-6.9.vhd
    

RHEL 7 a KVM használatával

  1. Töltse le az RHEL 7 KVM-képét a Red Hat webhelyéről. Ez az eljárás az RHEL 7-et használja példaként.

  2. Állítson be egy gyökérjelszót.

    Hozzon létre egy titkosított jelszót, és másolja ki a parancs kimenetét:

    sudo openssl passwd -1 changeme
    

    Állítson be egy gyökérjelszót a vendéghalakkal:

    sudo  guestfish --rw -a <image-name>
    > <fs> run
    > <fs> list-filesystems
    > <fs> mount /dev/sda1 /
    > <fs> vi /etc/shadow
    > <fs> exit
    

    Módosítsa a legfelső szintű felhasználó második mezőjét !! a titkosított jelszóra.

  3. Hozzon létre egy virtuális gépet a KVM-ben a qcow2 rendszerképből. Állítsa a lemez típusát qcow2 értékre, és állítsa a virtuális hálózati adapter eszközmodellt virtio értékre. Ezután indítsa el a virtuális gépet, és jelentkezzen be gyökérként.

  4. Hozza létre vagy szerkessze a /etc/sysconfig/network fájlt, és adja hozzá a következő szöveget:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  5. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    PERSISTENT_DHCLIENT=yes
    NM_CONTROLLED=yes
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
  6. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo systemctl enable network
    
  7. Regisztrálja Red Hat-előfizetését a csomagok RHEL-adattárból való telepítésének engedélyezéséhez:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  8. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. Ehhez nyissa meg /etc/default/grub egy szövegszerkesztőben, és szerkessze a paramétert GRUB_CMDLINE_LINUX . Példa:

    GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
    

    Ez a parancs azt is biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet Azure-támogatás hibakeresési problémákban. A parancs emellett kikapcsolja a hálózati adapterek új RHEL 7 elnevezési konvencióit is. Azt is javasoljuk, hogy távolítsa el a következő paramétereket:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  9. A szerkesztés /etc/default/grubbefejezése után futtassa a következő parancsot a grub-konfiguráció újraépítéséhez:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  10. Hyper-V-modulokat adhat hozzá az initramfs-ekhez.

    Tartalom szerkesztése /etc/dracut.conf és hozzáadása:

    add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
    

    Initramfs újraépítése:

    sudo dracut -f -v
    
  11. Eltávolítás cloud-init:

    sudo yum remove cloud-init
    
  12. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el:

    sudo systemctl enable sshd
    

    Módosítsa /etc/ssh/sshd_config a következő sorokat:

    PasswordAuthentication yes
    ClientAliveInterval 180
    
  13. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
    
  14. Telepítse az Azure Linux-ügynököt:

    sudo yum install WALinuxAgent
    

    waagent A szolgáltatás engedélyezése:

    sudo systemctl enable waagent.service
    
  15. Telepítse a(z) cloud-init rendszert.

    Kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" című 12. lépés "Telepítés cloud-init a kiépítés kezeléséhez" című lépés lépéseit.

  16. Konfiguráció felcserélése:

    • Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.
    • Kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" című 13. lépés "Konfiguráció felcserélése" című lépését.
  17. Az előfizetés regisztrációjának törlése (ha szükséges):

    sudo subscription-manager unregister
    
  18. A leépítés megszüntetéséhez kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" 15. lépés, "Deprovision" című lépés lépéseit.

  19. Állítsa le a virtuális gépet a KVM-ben.

  20. Konvertálja a qcow2-lemezképet VHD formátumba.

    Feljegyzés

    Van egy ismert hiba a qemu-img =1.1.1 verzióban >, amely helytelenül formázott VHD-t eredményez. A hiba kijavítva a QEMU 1.6-ban. Javasoljuk, hogy qemu-img 1.1.0-s vagy újabb verziót használjon, vagy frissítsen 1,6-os vagy újabb verzióra. További információkért tekintse meg ezt a webhelyet.

    Először konvertálja a képet nyers formátumba:

    sudo qemu-img convert -f qcow2 -O raw rhel-7.4.qcow2 rhel-7.4.raw
    

    Győződjön meg arról, hogy a nyers kép mérete 1 MB-hoz van igazítva. Ellenkező esetben kerekítsd fel a méretet az 1 MB-hoz igazításhoz:

    MB=$((1024*1024))
    size=$(qemu-img info -f raw --output json "rhel-7.4.raw" | \
    gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    rounded_size=$((($size/$MB + 1)*$MB))
    sudo qemu-img resize rhel-7.4.raw $rounded_size
    

    Konvertálja a nyers lemezt rögzített méretű VHD-vé:

    sudo qemu-img convert -f raw -o subformat=fixed -O vpc rhel-7.4.raw rhel-7.4.vhd
    

    Vagy a qemu 1.6+-os verziójával adja meg a force_size következő lehetőséget:

    sudo qemu-img convert -f raw -o subformat=fixed,force_size -O vpc rhel-7.4.raw rhel-7.4.vhd
    

VMware

Ez a szakasz bemutatja, hogyan készíthet elő RHEL 6 vagy RHEL 7 disztribúciót a VMware-ből.

Előfeltételek

Ez a szakasz feltételezi, hogy már telepített egy RHEL virtuális gépet a VMware-ben. Az operációs rendszer VMware-ben való telepítésével kapcsolatos információkért tekintse meg a VMware vendég operációs rendszer telepítési útmutatóját.

  • A Linux operációs rendszer telepítésekor javasoljuk, hogy az LVM helyett standard partíciókat használjon, ami gyakran sok telepítés esetében az alapértelmezett. A partíciók használatával elkerülhető a klónozott virtuális gép LVM-nevének ütközése, különösen akkor, ha egy operációsrendszer-lemezt egy másik virtuális géphez kell csatlakoztatni a hibaelhárításhoz. Ha szeretné, az LVM vagy a RAID adatlemezeken is használható.
  • Ne konfiguráljon felcserélési partíciót az operációsrendszer-lemezen. A Linux-ügynök konfigurálható úgy, hogy swapfájlt hozzon létre az ideiglenes erőforráslemezen. További információkért olvassa el az alábbi lépéseket.
  • A VHD létrehozásakor válassza a Virtuális lemez tárolása egyetlen fájlként lehetőséget.

RHEL 6 a VMware használatával

Fontos

2020. november 30-án az RHEL 6 elérte a karbantartási fázis végét. A karbantartási fázist a kiterjesztett élettartam fázis követi. Mivel az RHEL 6 áttűnés a teljes/karbantartási fázisból, javasoljuk, hogy frissítsen rhEL 7-re vagy 8-ra vagy 9-re. Ha az RHEL 6-ot kell tartania, javasoljuk, hogy adja hozzá az RHEL kiterjesztett életciklus-támogatási bővítményt.

  1. Az RHEL 6-ban NetworkManager zavarhatja az Azure Linux-ügynököt. Távolítsa el a csomagot:

    sudo rpm -e --nodeps NetworkManager
    
  2. Hozzon létre egy hálózat nevű fájlt a /etc/sysconfig/ könyvtárban, amely a következő szöveget tartalmazza:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  3. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    
  4. Helyezze át (vagy távolítsa el) az udev-szabályokat, hogy ne generáljon statikus szabályokat az Ethernet-adapterhez. Ezek a szabályok problémákat okoznak, ha egy virtuális gépet klónoz az Azure-ban vagy a Hyper-V-ben:

    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
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # 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
    
  5. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo chkconfig network on
    
  6. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  7. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-6-server-extras-rpms
    
  8. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. Ehhez nyissa meg /etc/default/grub egy szövegszerkesztőben, és szerkessze a paramétert GRUB_CMDLINE_LINUX . Példa:

    GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0"
    

    Ez a lépés azt is biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet Azure-támogatás hibakeresési problémákban. Azt is javasoljuk, hogy távolítsa el a következő paramétereket:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  9. Hyper-V-modulok hozzáadása initramfs-ekhez:

    Szerkessze /etc/dracut.confés adja hozzá a következő tartalmat:

    add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
    

    Initramfs újraépítése:

    sudo dracut -f -v
    
  10. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el, ami általában az alapértelmezett. Módosítsa /etc/ssh/sshd_config úgy, hogy tartalmazza a következő sort:

    ClientAliveInterval 180
    
  11. Telepítse az Azure Linux-ügynököt:

    sudo yum install WALinuxAgent
    sudo chkconfig waagent on
    
  12. Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.

    Az Azure Linux-ügynök automatikusan konfigurálhatja a helycserét a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gép kiépült az Azure-ban. A helyi erőforráslemez egy ideiglenes lemez, és kiüríthető, ha a virtuális gép le van bontva. Miután telepítette az Azure Linux-ügynököt az előző lépésben, módosítsa a következő paramétereket /etc/waagent.conf a megfelelő módon:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  13. Az előfizetés regisztrációjának törlése (ha szükséges):

    sudo subscription-manager unregister
    
  14. Futtassa a következő parancsokat a virtuális gép kivonásához és az Azure-beli üzembe helyezés előkészítéséhez:

    Feljegyzés

    Ha egy adott virtuális gépet migrál, és nem szeretne általánosított rendszerképet létrehozni, hagyja ki a leépítési lépést.

    sudo rm -rf /var/lib/waagent/
    sudo rm -f /var/log/waagent.log
    sudo waagent -force -deprovision+user
    sudo rm -f ~/.bash_history
    sudo export HISTSIZE=0
    
  15. Állítsa le a virtuális gépet, és konvertálja a VMDK-fájlt .vhd fájllá.

    Feljegyzés

    A qemu-img =2.2.1 verzióiban >ismert hiba történt, amely helytelenül formázott VHD-t eredményez. A probléma a QEMU 2.6-ban lett kijavítva. Javasoljuk, hogy qemu-img 2.2.0-s vagy újabb verziót használjon, vagy frissítsen 2,6-os vagy újabb verzióra. További információkért tekintse meg ezt a webhelyet.

    Először konvertálja a képet nyers formátumba:

    sudo qemu-img convert -f vmdk -O raw rhel-6.9.vmdk rhel-6.9.raw
    

    Győződjön meg arról, hogy a nyers kép mérete 1 MB-hoz van igazítva. Ellenkező esetben kerekítsd fel a méretet az 1 MB-hoz igazításhoz:

    MB=$((1024*1024))
    size=$(qemu-img info -f raw --output json "rhel-6.9.raw" | \
    gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    rounded_size=$((($size/$MB + 1)*$MB))
    sudo qemu-img resize rhel-6.9.raw $rounded_size
    

    Konvertálja a nyers lemezt rögzített méretű VHD-vé:

    sudo qemu-img convert -f raw -o subformat=fixed -O vpc rhel-6.9.raw rhel-6.9.vhd
    

    Vagy a qemu 2.6+-os verziójával adja meg a force_size következő lehetőséget:

    sudo qemu-img convert -f raw -o subformat=fixed,force_size -O vpc rhel-6.9.raw rhel-6.9.vhd
    

RHEL 7 a VMware használatával

  1. Hozza létre vagy szerkessze a /etc/sysconfig/network fájlt, és adja hozzá a következő szöveget:

    NETWORKING=yes
    HOSTNAME=localhost.localdomain
    
  2. Hozza létre vagy szerkessze a /etc/sysconfig/network-scripts/ifcfg-eth0 fájlt, és adja hozzá a következő szöveget:

    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    PERSISTENT_DHCLIENT=yes
    NM_CONTROLLED=yes
    

    Feljegyzés

    Gyorsított hálózatkezelés használata esetén a létrehozott szintetikus felületet úgy kell konfigurálni, hogy az udev-szabály használatával ne legyen kezelve. Ez a művelet megakadályozza NetworkManager , hogy ugyanazt az IP-címet rendelje hozzá, mint az elsődleges adapter.

    Alkalmazásához:

    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
  3. Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:

    sudo systemctl enable network
    
  4. Regisztrálja Red Hat-előfizetését, hogy engedélyezze a csomagok telepítését az RHEL-adattárból:

    sudo subscription-manager register --auto-attach --username=XXX --password=XXX
    
  5. Módosítsa a rendszermag rendszerindítási sorát a grub-konfigurációban, hogy több kernelparamétert tartalmazzon az Azure-hoz. A módosítás elvégzéséhez nyissa meg /etc/default/grub egy szövegszerkesztőben, és szerkessze a paramétert GRUB_CMDLINE_LINUX . Példa:

    GRUB_CMDLINE_LINUX="console=ttyS0 earlyprintk=ttyS0 net.ifnames=0"
    

    Ez a konfiguráció azt is biztosítja, hogy az összes konzolüzenet az első soros portra legyen elküldve, ami segíthet Azure-támogatás hibakeresési problémákban. Emellett kikapcsolja az új RHEL 7 elnevezési konvenciókat a hálózati adapterekhez. Emellett javasoljuk, hogy távolítsa el a következő paramétereket:

    rhgb quiet crashkernel=auto
    

    A grafikus és csendes csizmák nem hasznosak olyan felhőkörnyezetekben, ahol az összes naplót a soros portra szeretné elküldeni. Ha szeretné, hagyja konfigurálva a crashkernel beállítást. Ez a paraméter legalább 128 MB-tal csökkenti a virtuális gépen rendelkezésre álló memória mennyiségét, ami kisebb virtuálisgép-méretek esetén problémát jelenthet.

  6. A szerkesztés /etc/default/grubbefejezése után futtassa a következő parancsot a grub-konfiguráció újraépítéséhez:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  7. Hyper-V-modulok hozzáadása initramfs-ekhez:

    Szerkesztés /etc/dracut.conf, tartalom hozzáadása:

    add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
    

    Initramfs újraépítése:

    sudo dracut -f -v
    
  8. Győződjön meg arról, hogy az SSH-kiszolgáló telepítve van, és úgy van konfigurálva, hogy indításkor induljon el. Ez a beállítás általában az alapértelmezett beállítás. Módosítsa /etc/ssh/sshd_config úgy, hogy tartalmazza a következő sort:

    ClientAliveInterval 180
    
  9. A WALinuxAgent csomag WALinuxAgent-<version>le lett küldve a Red Hat extras adattárba. Engedélyezze az extras adattárat:

    sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
    
  10. Telepítse az Azure Linux-ügynököt:

    sudo yum install WALinuxAgent
    sudo systemctl enable waagent.service
    
  11. cloud-init telepítése:

    Kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" című 12. lépés "Telepítés cloud-init a kiépítés kezeléséhez" című lépés lépéseit.

  12. Konfiguráció felcserélése:

    • Ne hozzon létre felcserélési helyet az operációs rendszer lemezén.
    • Kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" című 13. lépés "Konfiguráció felcserélése" című lépését.
  13. Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:

    sudo subscription-manager unregister
    
  14. A leépítés megszüntetéséhez kövesse az "RHEL 7 virtuális gép előkészítése a Hyper-V Managerből" 15. lépés, "Deprovision" című lépés lépéseit.

  15. Állítsa le a virtuális gépet, és konvertálja a VMDK-fájlt VHD formátumba.

    Feljegyzés

    A qemu-img =2.2.1 verzióiban >ismert hiba történt, amely helytelenül formázott VHD-t eredményez. A probléma a QEMU 2.6-ban lett kijavítva. Javasoljuk, hogy qemu-img 2.2.0-s vagy újabb verziót használjon, vagy frissítsen 2,6-os vagy újabb verzióra. További információkért tekintse meg ezt a webhelyet.

    Először konvertálja a képet nyers formátumba:

    sudo qemu-img convert -f vmdk -O raw rhel-7.4.vmdk rhel-7.4.raw
    

    Győződjön meg arról, hogy a nyers kép mérete 1 MB-hoz van igazítva. Ellenkező esetben kerekítsd fel a méretet az 1 MB-hoz igazításhoz:

    MB=$((1024*1024))
    size=$(qemu-img info -f raw --output json "rhel-7.4.raw" | \
    gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    rounded_size=$((($size/$MB + 1)*$MB))
    sudo qemu-img resize rhel-7.4.raw $rounded_size
    

    Konvertálja a nyers lemezt rögzített méretű VHD-vé:

    sudo qemu-img convert -f raw -o subformat=fixed -O vpc rhel-7.4.raw rhel-7.4.vhd
    

    Vagy a qemu 2.6+-os verziójával adja meg a force_size következő lehetőséget:

    sudo qemu-img convert -f raw -o subformat=fixed,force_size -O vpc rhel-7.4.raw rhel-7.4.vhd
    

Indítási fájl

Ez a szakasz bemutatja, hogyan készíthet elő RHEL 7 disztribúciót egy ISO-ból egy kickstart-fájl használatával.

RHEL 7 egy kickstart fájlból

  1. Hozzon létre egy kickstart fájlt, amely tartalmazza a következő tartalmat, és mentse a fájlt. A kickstart telepítésével kapcsolatos információkért tekintse meg a Kickstart telepítési útmutatóját.

    # Kickstart for provisioning a RHEL 7 Azure VM
    
    # System authorization information
      auth --enableshadow --passalgo=sha512
    
    # Use graphical install
    text
    
    # Don't run the Setup Agent on first boot
    firstboot --disable
    
    # Keyboard layouts
    keyboard --vckeymap=us --xlayouts='us'
    
    # System language
    lang en_US.UTF-8
    
    # Network information
    network  --bootproto=dhcp
    
    # Root password
    rootpw --plaintext "to_be_disabled"
    
    # System services
    services --enabled="sshd,waagent,NetworkManager"
    
    # System timezone
    timezone Etc/UTC --isUtc --ntpservers 0.rhel.pool.ntp.org,1.rhel.pool.ntp.org,2.rhel.pool.ntp.org,3.rhel.pool.ntp.org
    
    # Partition clearing information
    clearpart --all --initlabel
    
    # Clear the MBR
    zerombr
    
    # Disk partitioning information
    part /boot --fstype="xfs" --size=500
    part / --fstyp="xfs" --size=1 --grow --asprimary
    
    # System bootloader configuration
    bootloader --location=mbr
    
    # Firewall configuration
    firewall --disabled
    
    # Enable SELinux
    selinux --enforcing
    
    # Don't configure X
    skipx
    
    # Power down the machine after install
    poweroff
    
    %packages
    @base
    @console-internet
    chrony
    sudo
    parted
    -dracut-config-rescue
    
    %end
    
    %post --log=/var/log/anaconda/post-install.log
    
    #!/bin/bash
    
    # Register Red Hat Subscription
    subscription-manager register --username=XXX --password=XXX --auto-attach --force
    
    # Install latest repo update
    yum update -y
    
    # Enable extras repo
    subscription-manager repos --enable=rhel-7-server-extras-rpms
    
    # Install WALinuxAgent
    yum install -y WALinuxAgent
    
    # Unregister Red Hat subscription
    subscription-manager unregister
    
    # Enable waaagent at boot-up
    systemctl enable waagent
    
    # Install cloud-init
    yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons
    
    # Configure waagent for cloud-init
    sed -i 's/Provisioning.Agent=auto/Provisioning.Agent=cloud-init/g' /etc/waagent.conf
    sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
    sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
    
    echo "Adding mounts and disk_setup to init stage"
    sed -i '/ - mounts/d' /etc/cloud/cloud.cfg
    sed -i '/ - disk_setup/d' /etc/cloud/cloud.cfg
    sed -i '/cloud_init_modules/a\\ - mounts' /etc/cloud/cloud.cfg
    sed -i '/cloud_init_modules/a\\ - disk_setup' /etc/cloud/cloud.cfg
    
    # Disable the root account
    usermod root -p '!!'
    
    # Configure swap using cloud-init
    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"]
    - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.device-timeout=2,x-systemd.requires=cloud-init.service", "0", "0"]
    EOF
    
    # Set the cmdline
    sed -i 's/^\(GRUB_CMDLINE_LINUX\)=".*"$/\1="console=tty1 console=ttyS0 earlyprintk=ttyS0"/g' /etc/default/grub
    
    # Enable SSH keepalive
    sed -i 's/^#\(ClientAliveInterval\).*$/\1 180/g' /etc/ssh/sshd_config
    
    # Build the grub cfg
    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    # Configure network
    cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=dhcp
    TYPE=Ethernet
    USERCTL=no
    PEERDNS=yes
    IPV6INIT=no
    PERSISTENT_DHCLIENT=yes
    NM_CONTROLLED=yes
    EOF
    
    sudo cat <<EOF>> /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
    # Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
    # This interface is transparentlybonded to the synthetic interface,
    # so NetworkManager should just ignore any SRIOV interfaces.
    SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
    EOF
    
    # Deprovision and prepare for Azure if you are creating a generalized image
    sudo cloud-init clean --logs --seed
    sudo rm -rf /var/lib/cloud/
    sudo rm -rf /var/lib/waagent/
    sudo rm -f /var/log/waagent.log
    
    sudo waagent -force -deprovision+user
    rm -f ~/.bash_history
    export HISTSIZE=0
    
    %end
    
  2. Helyezze a kezdőfájlt oda, ahová a telepítőrendszer hozzáférhet.

  3. A Hyper-V Managerben hozzon létre egy új virtuális gépet. A Virtuális merevlemez csatlakoztatása lapon válassza a Virtuális merevlemez csatolása később lehetőséget, és fejezze be az Új virtuális gép varázslót.

  4. Nyissa meg a virtuális gép beállításait:

    1. Csatoljon egy új virtuális merevlemezt a virtuális géphez. Győződjön meg arról, hogy a VHD Formátum és a Rögzített méret lehetőséget választja.

    2. Csatlakoztassa a telepítési ISO-t a DVD-meghajtóhoz.

    3. Állítsa be, hogy a BIOS CD-ről induljon.

  5. Indítsa el a virtuális gépet. Amikor megjelenik a telepítési útmutató, válassza a Tab billentyűt a rendszerindítási beállítások konfigurálásához.

  6. Írja be inst.ks=<the location of the kickstart file> a rendszerindítási beállítások végén, és válassza az Enter billentyűt.

  7. Várja meg, amíg a telepítés befejeződik. Ha elkészült, a virtuális gép automatikusan leáll. A Linux VHD most már készen áll az Azure-ba való feltöltésre.

Ismert problémák

Az alábbi probléma ismert.

A Hyper-V illesztőprogram nem vehető fel a kezdeti RAM-lemezbe, ha nem Hyper-V hipervizort használ

Egyes esetekben előfordulhat, hogy a Linux-telepítők nem tartalmazzák a Hyper-V illesztőprogramjait a kezdeti RAM-lemezen (initrd vagy initramfs), hacsak a Linux nem észleli, hogy Hyper-V környezetben fut.

Ha egy másik virtualizációs rendszert (például VirtualBoxot vagy Xent) használ a Linux-rendszerkép előkészítéséhez, előfordulhat, hogy újra kell építenie az initrdet, hogy legalább a hv_vmbus hv_storvsc kezdeti RAM-lemezen elérhetőek legyenek a kernelmodulok. Ez a probléma ismert, legalábbis olyan rendszereken, amelyek a Red Hat felsőbb rétegbeli disztribúcióján alapulnak.

A probléma megoldásához vegyen fel Hyper-V-modulokat az initramfsbe, és építse újra:

Szerkessze /etc/dracut.confés adja hozzá a következő tartalmat:

add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "

Initramfs újraépítése:

sudo dracut -f -v

További információ: Initramfs újraépítése.

  • Most már készen áll arra, hogy az RHEL VHD használatával új virtuális gépeket hozzon létre az Azure-ban. Ha ez az első alkalom, hogy feltölti a .vhd fájlt az Azure-ba, olvassa el a Linux rendszerű virtuális gép létrehozása egyéni lemezről című témakört.
  • Az RHEL futtatásához minősített hipervizorokról további információt a Red Hat webhelyén talál.
  • Ha többet szeretne megtudni az éles használatra kész RHEL BYOS-rendszerképek használatáról, látogasson el a Saját előfizetés létrehozása dokumentációs oldalára.