Een virtuele SLES- of openSUSE Leap-machine voorbereiden voor Azure
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️ Van toepassing op: ✔️ Uniforme schaalsets
In dit artikel wordt ervan uitgegaan dat u al een SUSE- of openSUSE Leap Linux-besturingssysteem hebt geïnstalleerd op een virtuele harde schijf. Er bestaan meerdere hulpprogramma's om VHD-bestanden te maken, bijvoorbeeld een virtualisatieoplossing zoals Hyper-V. Zie De Hyper-V-rol installeren en een virtuele machine configureren voor instructies.
SLES / openSUSE Leap-installatienotities
- Zie ook Algemene linux-installatieopmerkingen voor meer tips over het voorbereiden van Linux voor Azure.
- De VHDX-indeling wordt niet ondersteund in Azure, alleen vaste VHD. U kunt de schijf converteren naar VHD-indeling met Hyper-V-beheer of de cmdlet convert-vhd.
- Bij het installeren van het Linux-systeem wordt aanbevolen dat u standaardpartities gebruikt in plaats van LVM (vaak de standaardinstelling voor veel installaties). Hierdoor voorkomt u lvM-naamconflicten met gekloonde VM's, met name als een besturingssysteemschijf ooit moet worden gekoppeld aan een andere VM voor probleemoplossing. LVM of RAID kan indien gewenst worden gebruikt op gegevensschijven.
- Configureer geen wisselpartitie op de besturingssysteemschijf. De Linux-agent kan worden geconfigureerd voor het maken van een wisselbestand op de tijdelijke resourceschijf. Meer informatie hierover vindt u in de onderstaande stappen.
- Alle VHD's in Azure moeten een virtuele grootte hebben die is afgestemd op 1 MB. Bij het converteren van een onbewerkte schijf naar VHD moet u ervoor zorgen dat de onbewerkte schijfgrootte een veelvoud van 1 MB is voordat deze wordt geconverteerd. Zie Linux-installatieopmerkingen voor meer informatie.
SUSE Studio gebruiken
SUSE Studio kan eenvoudig uw SLES maken en beheren en openSUSE Leap-installatiekopieën voor Azure en Hyper-V. Dit is de aanbevolen methode voor het aanpassen van uw eigen SLES en openSUSE Leap-afbeeldingen.
Als alternatief voor het bouwen van uw eigen VHD publiceert SUSE ook BYOS-installatiekopieën (Bring Your Own Subscription) voor SLES bij VM Depot.
SUSE Linux Enterprise Server voorbereiden voor Azure
Selecteer de virtuele machine in het middelste deelvenster van Hyper-V-beheer.
Klik op Verbinding maken om het venster voor de virtuele machine te openen.
Registreer uw SUSE Linux Enterprise-systeem zodat het updates kan downloaden en pakketten kan installeren.
Werk het systeem bij met de nieuwste patches:
# sudo zypper updateAzure Linux-agent en cloud-init installeren
# 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-initWaagent & cloud-init inschakelen om te starten bij opstarten
# sudo chkconfig waagent on # systemctl enable cloud-init-local.service # systemctl enable cloud-init.service # systemctl enable cloud-config.service # systemctl enable cloud-final.service # systemctl daemon-reload # cloud-init cleanWaagent- en cloud-init-configuratie bijwerken
# sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf # sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf # sudo sh -c 'printf "datasource:\n Azure:" > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg' # sudo sh -c 'printf "reporting:\n logging:\n type: log\n telemetry:\n type: hyperv" > /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg'Bewerk /etc/default/grub-bestand om ervoor te zorgen dat consolelogboeken worden verzonden naar de seriële poort en werk vervolgens het hoofdconfiguratiebestand bij met grub2-mkconfig -o /boot/grub2/grub.cfg
console=ttyS0 earlyprintk=ttyS0Dit zorgt ervoor dat alle consoleberichten worden verzonden naar de eerste seriële poort, die Ondersteuning van Azure kan helpen bij foutopsporingsproblemen.
Zorg ervoor dat /etc/fstab-bestand naar de schijf verwijst met behulp van de UUID (by-uuid)
Wijzig udev-regels om te voorkomen dat statische regels worden gegenereerd voor de Ethernet-interface(s). Deze regels kunnen problemen veroorzaken bij het klonen van een virtuele machine in Microsoft Azure of Hyper-V:
# sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules # sudo rm -f /etc/udev/rules.d/70-persistent-net.rulesHet wordt aanbevolen om het bestand '/etc/sysconfig/network/dhcp' te bewerken en de
DHCLIENT_SET_HOSTNAMEparameter te wijzigen in het volgende:DHCLIENT_SET_HOSTNAME="no"In "/etc/sudoers" markeert u de volgende regels of verwijdert u deze als deze bestaan:
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'!Zorg ervoor dat de SSH-server is geïnstalleerd en geconfigureerd om te starten tijdens het opstarten. Dit is meestal de standaardinstelling.
Configuratie wisselen
Maak geen wisselruimte op de besturingssysteemschijf.
Voorheen werd de Azure Linux-agent automatisch gebruikt om wisselruimte te configureren met behulp van de lokale resourceschijf die is gekoppeld aan de virtuele machine nadat de virtuele machine is ingericht in Azure. Dit wordt nu echter verwerkt door cloud-init. U moet de Linux-agent niet gebruiken om de resourceschijf te formatteren om het wisselbestand te maken. Wijzig de volgende parameters op
/etc/waagent.confde juiste manier:# 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.confAls u koppelen, formatteren en wisselen wilt maken, kunt u het volgende doen:
Geef dit door als een cloud-init-configuratie telkens wanneer u een virtuele machine maakt.
Gebruik een cloud-init-instructie die is gebakken in de installatiekopieën die dit doen telkens wanneer de virtuele machine wordt gemaakt:
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.requires=cloud-init.service,x-systemd.device-timeout=2", "0", "0"] EOF
Voer de volgende opdrachten uit om de inrichting van de virtuele machine ongedaan te maken en deze voor te bereiden op inrichting in Azure:
# sudo rm -rf /var/lib/waagent/ # sudo rm -f /var/log/waagent.log # waagent -force -deprovision+user # rm -f ~/.bash_history # export HISTSIZE=0 # logoutKlik op Actie -> Afsluiten in Hyper-V-beheer. Uw Linux-VHD is nu klaar om te worden geüpload naar Azure.
OpenSUSE 15.2+ voorbereiden
Selecteer de virtuele machine in het middelste deelvenster van Hyper-V-beheer.
Klik op Verbinding maken om het venster voor de virtuele machine te openen.
Voer in de shell de opdracht '
zypper lr' uit. Als deze opdracht uitvoer retourneert die vergelijkbaar is met het volgende, worden de opslagplaatsen geconfigureerd zoals verwacht. Er zijn geen aanpassingen nodig (houd er rekening mee dat versienummers kunnen variëren):# Alias Name Ingeschakeld Vernieuwen 1 Cloud:Tools_15.2 Cloud:Tools_15.2 Ja Ja 2 openSUSE_15.2_OSS openSUSE_15.2_OSS Ja Ja 3 openSUSE_15.2_Updates openSUSE_15.2_Updates Ja Ja Als met de opdracht 'Geen opslagplaatsen gedefinieerd...' wordt geretourneerd gebruik vervolgens de volgende opdrachten om deze opslagplaatsen toe te voegen:
# 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_UpdatesVervolgens kunt u controleren of de opslagplaatsen zijn toegevoegd door de opdracht '
zypper lr' opnieuw uit te voeren. Als een van de relevante updateopslagplaatsen niet is ingeschakeld, schakelt u deze in met de volgende opdracht:# sudo zypper mr -e [NUMBER OF REPOSITORY]Werk de kernel bij naar de meest recente beschikbare versie:
# sudo zypper up kernel-defaultOf om het systeem bij te werken met alle nieuwste patches:
# sudo zypper updateInstalleer de Azure Linux-agent.
# sudo zypper install WALinuxAgentWijzig de kernel-opstartlijn in uw grub-configuratie om extra kernelparameters voor Azure op te nemen. Hiervoor opent u '/boot/grub/menu.lst' in een teksteditor en zorgt u ervoor dat de standaardkernel de volgende parameters bevat:
console=ttyS0 earlyprintk=ttyS0Dit zorgt ervoor dat alle consoleberichten worden verzonden naar de eerste seriële poort, die Ondersteuning van Azure kan helpen bij foutopsporingsproblemen. Verwijder bovendien de volgende parameters uit de kernelstartregel als deze bestaan:
libata.atapi_enabled=0 reserve=0x1f0,0x8Het wordt aanbevolen om het bestand '/etc/sysconfig/network/dhcp' te bewerken en de
DHCLIENT_SET_HOSTNAMEparameter te wijzigen in het volgende:DHCLIENT_SET_HOSTNAME="no"Belangrijk: In "/etc/sudoers" markeert u de volgende regels of verwijdert u deze als deze bestaan:
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'!Zorg ervoor dat de SSH-server is geïnstalleerd en geconfigureerd om te starten tijdens het opstarten. Dit is meestal de standaardinstelling.
Maak geen wisselruimte op de besturingssysteemschijf.
De Azure Linux-agent kan automatisch wisselruimte configureren met behulp van de lokale resourceschijf die is gekoppeld aan de VIRTUELE machine na inrichting in Azure. Houd er rekening mee dat de lokale resourceschijf een tijdelijke schijf is en mogelijk wordt geleegd wanneer de vm wordt gedeprovisioneerd. Nadat u de Azure Linux-agent hebt geïnstalleerd (zie de vorige stap), wijzigt u de volgende parameters in /etc/waagent.conf op de juiste manier:
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.Voer de volgende opdrachten uit om de inrichting van de virtuele machine ongedaan te maken en deze voor te bereiden op inrichting in Azure:
# sudo waagent -force -deprovision # export HISTSIZE=0 # logoutZorg ervoor dat de Azure Linux-agent wordt uitgevoerd bij het opstarten:
# sudo systemctl enable waagent.serviceKlik op Actie -> Afsluiten in Hyper-V-beheer. Uw Linux-VHD is nu klaar om te worden geüpload naar Azure.
Volgende stappen
U bent nu klaar om de virtuele harde schijf van SUSE Linux te gebruiken om nieuwe virtuele machines te maken in Azure. Als dit de eerste keer is dat u het VHD-bestand uploadt naar Azure, raadpleegt u Een Virtuele Linux-machine maken op basis van een aangepaste schijf.