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.
A Hyper-V Managerben válassza ki a virtuális gépet.
Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.
Az RHEL 6-ban
NetworkManager
zavarhatja az Azure Linux-ügynököt. Távolítsa el a csomagot:sudo rpm -e --nodeps NetworkManager
Hozza létre vagy szerkessze a
/etc/sysconfig/network
fájlt, és adja hozzá a következő szöveget:NETWORKING=yes HOSTNAME=localhost.localdomain
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
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo chkconfig network on
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
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
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.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
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
aNetworkManager
csomagokat, ha még nem lettek eltávolítva a 3. lépésben.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.
Az előfizetés regisztrációjának törlése (ha szükséges):
sudo subscription-manager unregister
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
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
A Hyper-V Managerben válassza ki a virtuális gépet.
Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.
Hozza létre vagy szerkessze a
/etc/sysconfig/network
fájlt, és adja hozzá a következő szöveget:NETWORKING=yes HOSTNAME=localhost.localdomain
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo systemctl enable network
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
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étertGRUB_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
ahelyettENABLE_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. HaENABLE_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.A szerkesztés
/etc/default/grub
befejezé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
: .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
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
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
Konfigurálja
cloud-init
a kiépítés kezelésére:Konfigurálás
waagent
a következőhözcloud-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.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
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
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
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
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
Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:
sudo subscription-manager unregister
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
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
A Hyper-V Managerben válassza ki a virtuális gépet.
Válassza a Csatlakozás lehetőséget a virtuális gép konzolablakának megnyitásához.
Győződjön meg arról, hogy a Network Manager szolgáltatás elindul a rendszerindításkor:
sudo systemctl enable NetworkManager.service
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
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
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.
Távolítsa el az aktuális GRUB-paramétereket:
sudo grub2-editenv - unset kernelopts
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.
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.A szerkesztés
/etc/default/grub
befejezé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
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
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
Konfigurálja
cloud-init
a kiépítés kezelésére:Konfigurálás
waagent
a következőhözcloud-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.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
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
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
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
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
Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:
sudo subscription-manager unregister
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.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.
Töltse le az RHEL 6 KVM-képét a Red Hat webhelyéről.
Á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
!!
.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.
Hozza létre vagy szerkessze a
/etc/sysconfig/network
fájlt, és adja hozzá a következő szöveget:NETWORKING=yes HOSTNAME=localhost.localdomain
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
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo chkconfig network on
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
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.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
Eltávolítás
cloud-init
:sudo yum remove cloud-init
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
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
Telepítse az Azure Linux-ügynököt:
sudo yum install WALinuxAgent sudo chkconfig waagent on
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.
Az előfizetés regisztrációjának törlése (ha szükséges):
sudo subscription-manager unregister
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
Állítsa le a virtuális gépet a KVM-ben.
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
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.
Á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.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.
Hozza létre vagy szerkessze a
/etc/sysconfig/network
fájlt, és adja hozzá a következő szöveget:NETWORKING=yes HOSTNAME=localhost.localdomain
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo systemctl enable network
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
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étertGRUB_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.A szerkesztés
/etc/default/grub
befejezé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
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
Eltávolítás
cloud-init
:sudo yum remove cloud-init
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
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
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
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.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.
Az előfizetés regisztrációjának törlése (ha szükséges):
sudo subscription-manager unregister
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.
Állítsa le a virtuális gépet a KVM-ben.
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.
Az RHEL 6-ban
NetworkManager
zavarhatja az Azure Linux-ügynököt. Távolítsa el a csomagot:sudo rpm -e --nodeps NetworkManager
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
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
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo chkconfig network on
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
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
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étertGRUB_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.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
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
Telepítse az Azure Linux-ügynököt:
sudo yum install WALinuxAgent sudo chkconfig waagent on
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.
Az előfizetés regisztrációjának törlése (ha szükséges):
sudo subscription-manager unregister
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
Á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
Hozza létre vagy szerkessze a
/etc/sysconfig/network
fájlt, és adja hozzá a következő szöveget:NETWORKING=yes HOSTNAME=localhost.localdomain
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
Győződjön meg arról, hogy a hálózati szolgáltatás indításkor indul el:
sudo systemctl enable network
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
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étertGRUB_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.A szerkesztés
/etc/default/grub
befejezé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
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
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
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
Telepítse az Azure Linux-ügynököt:
sudo yum install WALinuxAgent sudo systemctl enable waagent.service
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.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.
Ha meg szeretné szüntetni az előfizetés regisztrációját, futtassa a következő parancsot:
sudo subscription-manager unregister
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.
Á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
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
Helyezze a kezdőfájlt oda, ahová a telepítőrendszer hozzáférhet.
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.
Nyissa meg a virtuális gép beállításait:
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.
Csatlakoztassa a telepítési ISO-t a DVD-meghajtóhoz.
Állítsa be, hogy a BIOS CD-ről induljon.
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.
Í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.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.
Kapcsolódó tartalom
- 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.