SLES vagy openSU előkészítése Standard kiadás Ugrás virtuális gép az Azure-hoz
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Rugalmas méretezési csoportok : ✔️ Egységes méretezési csoportok
Bizonyos esetekben érdemes lehet testre szabott SU Standard kiadás Linux Enterprise Servert (SLES) vagy openSU Standard kiadás Linux rendszerű virtuális gépeket (VM-eket) használni az Azure-környezetben, és automatizálással létrehozni ezeket a típusú virtuális gépeket. Ez a cikk bemutatja, hogyan hozhat létre és tölthet fel egyéni Azure-beli virtuális merevlemezt (VHD), amely su Standard kiadás Linux operációs rendszert tartalmaz.
Előfeltételek
Ez a cikk feltételezi, hogy már telepített egy SLES-t vagy openSU-t Standard kiadás linuxos operációs rendszert egy virtuális merevlemezre. A .vhd-fájlok létrehozásához több eszköz is létezik. Használhat például egy virtualizációs megoldást, például a Hyper-V-t. Útmutatást a Hyper-V telepítése és virtuális gép létrehozása című témakörben talál.
SLES/openSU Standard kiadás Ugrás telepítési megjegyzései
- A Linux-rendszerképek Azure-ra való előkészítésével kapcsolatos további tippekért tekintse meg a Linux általános telepítési megjegyzéseit.
- Az Azure nem támogatja a Windows Hard Disk Image (.vhdx) fájlokat. A virtuális gépeken kívül csak a VHD-fájlok (.vhd) támogatottak. A lemezt a Hyper-V Managerrel vagy a
Convert-VHD
parancsmaggal konvertálhatja VHD formátumba. - Azure-támogatás Gen1 (BIOS boot) és Gen2 (UEFI boot) virtuális gépeket.
- A virtuális fájlfoglalási tábla (VFAT) kernelmodulját engedélyezni kell a kernelben.
- 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. A cikk későbbi lépései további információt nyújtanak a felcserélési terület konfigurálásáról.
- 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, győződjön meg arról, hogy a nyers lemez mérete 1 MB többszöröse az átalakítás előtt. További információ: Általános Linux telepítési megjegyzések.
Megjegyzés:
A Cloud-init 21.2-es vagy újabb verziója eltávolítja a felhasználó által definiált függvényre (UDF) vonatkozó követelményt. A modul engedélyezése nélkül udf
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 a felhasználói adatok alkalmazása. Az egyéni adatokkal ellentétben azonban a felhasználói adatok nincsenek titkosítva. További információ: Felhasználói adatformátumok a cloud-init dokumentációjában.
A SU Standard kiadás Studio használata
A SU Standard kiadás Studio egyszerűen létrehozhatja és kezelheti az SLES-t, és megnyithatja az OpenSU Standard kiadás Leap-rendszerképeket az Azure-hoz és a Hyper-V-hez. SU Standard kiadás Studio az ajánlott módszer a saját SLES és openSU Standard kiadás Leap képek testreszabásához.
A saját VHD készítésének alternatívájaként az SU Standard kiadás a BYOS (saját előfizetés) lemezképeit is közzéteszi az SLES-hez a VM Depotban.
SLES előkészítése az Azure-hoz
Szükség esetén konfigurálja az Azure- és Hyper-V-modulokat.
Ha a szoftver hipervizor nem Hyper-V, más modulokat kell hozzáadni a kezdeti RAM-lemezhez (initramfs), hogy sikeresen elinduljon az Azure-ban.
Szerkessze a /etc/dracut.conf fájlt, és adja hozzá a következő sort a fájlhoz:
add_drivers+=" hv_vmbus hv_netvsc hv_storvsc "
Futtassa a
dracut
parancsot az initramfs fájl újraépítéséhez:sudo dracut --verbose --force
Állítsa be a soros konzolt.
A soros konzol sikeres használatához több változót kell beállítania az /etc/defaults/grub fájlban, és újra létre kell hoznia a GRUB-t a kiszolgálón:
# Add console=ttyS0 and earlyprintk=ttS0 to the variable. # Remove "splash=silent" and "quiet" options. GRUB_CMDLINE_LINUX_DEFAULT="audit=1 no-scroll fbcon=scrollback:0 mitigations=auto security=apparmor crashkernel=228M,high crashkernel=72M,low console=ttyS0 earlyprintk=ttyS0" # Add "console serial" to GRUB_TERMINAL. GRUB_TERMINAL="console serial" # Set the GRUB_SERIAL_COMMAND variable. GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
Regisztrálja a SU Standard kiadás Linux Enterprise rendszert, hogy lehetővé tegye a frissítések letöltését és a csomagok telepítését.
Frissítse a rendszert a legújabb javításokkal:
sudo zypper update
Telepítse az Azure Linux virtuálisgép-ügynököt (
waagent
) és a cloud-initet:sudo SUSEConnect -p sle-module-public-cloud/15.2/x86_64 (SLES 15 SP2) sudo zypper refresh sudo zypper install python-azure-agent sudo zypper install cloud-init
Indításkor engedélyezze
waagent
és indítsa el a cloud-initet:sudo systemctl enable waagent sudo systemctl enable cloud-init-local.service sudo systemctl enable cloud-init.service sudo systemctl enable cloud-config.service sudo systemctl enable cloud-final.service sudo systemctl daemon-reload sudo cloud-init clean
Frissítse a cloud-init konfigurációt:
cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOF
sudo cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/05_logging.cfg # 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 # Make sure mounts and disk_setup are in the init stage: 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
Ha fel szeretne csatlakoztatni, formázni és létrehozni egy felcserélési partíciót, az egyik lehetőség az, hogy minden egyes virtuális gép létrehozásakor felhőbeli konfigurációt ad át.
Egy másik lehetőség a felhőbeli init direktíva használata a lemezképen a felcserélési terület konfigurálásához minden alkalommal, amikor a virtuális gép létrejön:
cat <<EOF | sudo tee -a /etc/systemd/system.conf 'DefaultEnvironment="CLOUD_CFG=/etc/cloud/cloud.cfg.d/00-azure-swap.cfg"' EOF cat <<EOF | sudo tee /etc/cloud/cloud.cfg.d/00-azure-swap.cfg #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.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Korábban az Azure Linux-ügynökkel automatikusan konfigurálták a helycserét a virtuális géphez csatolt helyi erőforráslemez használatával, miután a virtuális gépet üzembe helyezték az Azure-ban. Mivel a cloud-init most már kezeli ezt a lépést, nem szabad az Azure Linux-ügynököt használnia az erőforráslemez formázásához vagy a felcserélési fájl létrehozásához. A /etc/waagent.conf megfelelő módosításához használja az alábbi parancsokat:
sudo sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=auto/g' /etc/waagent.conf sudo sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/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
Megjegyzés:
Ha 21.2-nél korábbi cloud-init verziót használ, győződjön meg arról, hogy a
udf
modul engedélyezve van. Az eltávolítás vagy letiltás kiépítési vagy rendszerindítási hibát fog okozni. A Cloud-init 21.2-es vagy újabb verziója eltávolítja az UDF-követelményt.Győződjön meg arról, hogy a /etc/fstab fájl hivatkozik a lemezre az UUID (
by-uuid
) használatával.Távolítsa el az udev-szabályokat és a hálózati adapter konfigurációs fájljait, hogy ne generáljon statikus szabályokat az Ethernet-adapterekhez. Ezek a szabályok problémákat okozhatnak, ha virtuális gépet klónoz a Microsoft Azure-ban vagy a Hyper-V-ben.
sudo rm -f /etc/udev/rules.d/70-persistent-net.rules sudo rm -f /etc/udev/rules.d/85-persistent-net-cloud-init.rules sudo rm -f /etc/sysconfig/network/ifcfg-eth*
Javasoljuk, hogy szerkessze az /etc/sysconfig/network/dhcp fájlt, és módosítsa a paramétert a
DHCLIENT_SET_HOSTNAME
következőre:DHCLIENT_SET_HOSTNAME="no"
A /etc/sudoers fájlban fűzzön megjegyzést, vagy távolítsa el a következő sorokat, ha léteznek:
Defaults targetpw # Ask for the password of the target user i.e. root ALL ALL=(ALL) ALL # WARNING! Only use this setting together with 'Defaults targetpw'!
Győződjön meg arról, hogy a Secure Shell-kiszolgáló (SSH) telepítve van, és úgy van konfigurálva, hogy indításkor induljon el:
sudo systemctl enable sshd
A cloud-init szakasz tisztítása:
sudo cloud-init clean --seed --logs
Futtassa az alábbi parancsokat a virtuális gép bontásához és az Azure-beli üzembe helyezéshez való előkészítéséhez.
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 -f /var/log/waagent.log sudo waagent -force -deprovision+user sudo export HISTSIZE=0 sudo rm -f ~/.bash_history
OpenSU előkészítése Standard kiadás 15.2+
A Hyper-V Manager középső paneljén válassza ki a virtuális gépet.
Válassza a Csatlakozás lehetőséget a virtuális gép ablakának megnyitásához.
Egy terminálban futtassa a parancsot
zypper lr
. Ha ez a parancs az alábbi példához hasonló kimenetet ad vissza, az adattárak a várt módon vannak konfigurálva, és nincs szükség módosításra. (A verziószámok eltérhetnek.)# Alias Name Enabled Refresh 1 Cloud:Tools_15.2 Cloud:Tools_15.2 Igen Igen 2 openSU Standard kiadás_15.2_OSS openSU Standard kiadás_15.2_OSS Igen Igen 3 openSU Standard kiadás_15.2_Frissítések openSU Standard kiadás_15.2_Frissítések Igen Igen Ha a parancs a "Nincs definiált adattár" értéket adja vissza, az alábbi parancsokkal adja hozzá ezeket az adattárakat:
sudo zypper ar -f http://download.opensuse.org/repositories/Cloud:Tools/openSUSE_15.2 Cloud:Tools_15.2 sudo zypper ar -f https://download.opensuse.org/distribution/15.2/repo/oss openSUSE_15.2_OSS sudo zypper ar -f http://download.opensuse.org/update/15.2 openSUSE_15.2_Updates
Ezután a parancs
zypper lr
ismételt futtatásával ellenőrizheti, hogy az adattárak hozzáadva lettek-e. Ha az egyik megfelelő frissítési adattár nincs engedélyezve, engedélyezze az alábbi paranccsal:sudo zypper mr -e [NUMBER OF REPOSITORY]
Frissítse a kernelt a legújabb elérhető verzióra:
sudo zypper up kernel-default
Vagy frissítse az operációs rendszert az összes legújabb javítással:
sudo zypper update
Telepítse az Azure Linux-ügynököt:
sudo zypper install WALinuxAgent
Módosítsa a rendszermag rendszerindítási sorát a GRUB-konfigurációban, hogy más kernelparamétereket is tartalmazzon az Azure-hoz. Ehhez nyissa meg a /boot/grub/menu.lst fájlt egy szövegszerkesztőben, és győződjön meg arról, hogy az alapértelmezett kernel a következő paramétereket tartalmazza:
console=ttyS0 earlyprintk=ttyS0
Ez a beállítás 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ák esetén. Ezenkívül távolítsa el a következő paramétereket a kernel rendszerindító sorából, ha léteznek:
libata.atapi_enabled=0 reserve=0x1f0,0x8
Javasoljuk, hogy szerkessze az /etc/sysconfig/network/dhcp fájlt, és módosítsa a paramétert
DHCLIENT_SET_HOSTNAME
a következő beállításra:DHCLIENT_SET_HOSTNAME="no"
A /etc/sudoers fájlban fűzzön megjegyzést, vagy távolítsa el a következő sorokat, ha léteznek. Ez egy fontos lépés.
Defaults targetpw # ask for the password of the target user i.e. root ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
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.
Ne hozzon létre felcserélési helyet az operációsrendszer-lemezen.
Az Azure Linux-ügynök automatikusan konfigurálhatja a helycserét a virtuális géphez csatolt helyi erőforráslemez használatával az Azure-on való üzembe helyezés után. A helyi erőforráslemez egy ideiglenes lemez, és a virtuális gép megszűnésekor ki lesz ürítve.
Az Azure Linux-ügynök telepítése után módosítsa a paramétereket a /etc/waagent.conf fájlban az alábbiak szerint:
ResourceDisk.Format=n ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt/resource ResourceDisk.EnableSwap=n ResourceDisk.SwapSizeMB=2048 ## NOTE: set the size to whatever you need it to be.
Győződjön meg arról, hogy az Azure Linux-ügynök indításkor fut:
sudo systemctl enable waagent.service
Futtassa az alábbi parancsokat a virtuális gép bontásához és az Azure-beli üzembe helyezéshez való előkészítéséhez.
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 -f ~/.bash_history # Remove current user history sudo rm -rf /var/lib/waagent/ sudo rm -f /var/log/waagent.log sudo waagent -force -deprovision+user sudo rm -f ~/.bash_history # Remove root user history sudo export HISTSIZE=0
Válassza a Művelet>leállítása lehetőséget a Hyper-V Kezelőben.
Következő lépések
Most már készen áll arra, hogy a SU Standard kiadás Linux 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.