Acasă
» Cum să
»
Configurarea KVM SLES 15: Pornirea mașinilor virtuale selectate la pornire
Configurarea KVM SLES 15: Pornirea mașinilor virtuale selectate la pornire
Pentru a porni o mașină virtuală SLES 15 KVM după o repornire a gazdei, instalați componentele de gestionare KVM și libvirt, marcați acel invitat pentru pornire automată cu virsh autostart VM_NAMEși asigurați-vă că daemonul activ libvirt al gazdei pornește în timpul pornirii. Pornirea automată este o setare per mașină virtuală; instalarea KVM sau pornirea singură a libvirt nu pornește automat fiecare invitat.
Comenzile de mai jos respectă Ghidul de virtualizare SLES 15 SP7 de la SUSE. Pachetele de service anterioare pot diferi, așadar verificați ghidul corespunzător și unitățile systemd instalate înainte de a aplica comenzile de service.
Ai nevoie de un server KVM, de instrumente KVM sau de ambele?
Pentru o gazdă care va rula și gestiona sistemele invitate prin libvirt, instalați atât serverul KVM, cât și instrumentele KVM. SUSE definește serverul KVM ca fiind mediul QEMU/KVM minimal, iar instrumentele KVM ca fiind stiva de administrare bazată pe libvirt, care include virshfluxul de lucru utilizat aici.
Înainte de instalare, confirmați dacă procesorul și firmware-ul mașinii expun virtualizarea hardware. SUSE documentează suportul CPU și software-ul necesar în Ghidul de virtualizare SLES 15 SP7 . Dacă validarea raportează o problemă hardware sau de configurare, rezolvați-o în firmware sau în configurația gazdă înainte de a încerca să definiți o mașină virtuală; semnalizatorul de pornire automată nu poate compensa o gazdă care nu poate rula KVM.
Rulați utilitarul de validare a gazdei înainte de a crea invitați; terminalul afișează comanda, nu rezultatul unui test.
Cum se instalează stiva gazdă SLES 15 KVM?
Această rută opțională Zypper instalează serverul KVM documentat și modelele de gestionare libvirt.
Pe un server deja instalat, deschideți YaST și selectați Virtualizare > Instalare hipervizor și instrumente . Dacă modulul de virtualizare YaST lipsește, SUSE spune că este furnizat de yast2-vmpachet.
Selectați Serverul KVM și instrumentele KVM , apoi acceptați modificările pachetului. YaST vă poate oferi configurarea unei punți de rețea. Alegeți această opțiune numai dacă se potrivește designului rețelei gazdei. Modificarea rețelei unei gazde de producție poate întrerupe accesul la distanță, așadar planificați și programați modificările punții înainte de a le aplica.
După finalizarea configurării, creați sau importați un domeniu guest și asigurați-vă că este definit ca domeniu libvirt persistent. Ghidul SUSE precizează că configurarea KVM prin YaST nu necesită o repornire a gazdei.
Alternativ, SUSE documentează instalarea modelelor cu Zypper: sudo zypper install -t pattern kvm_server kvm_tools. Alegeți o rută de instalare și examinați tranzacția pachetului înainte de a o confirma. Dacă gazda este instalată de la zero, rolul de sistem KVM Virtualization Host instalează și configurează selecția corespunzătoare în timpul instalării SLES.
Cum marchezi o mașină virtuală să pornească automat?
Mai întâi, listați domeniile prin conexiunea sistemului libvirt, astfel încât să puteți utiliza numele exact al invitatului:
Enumerați toate domeniile de pe conexiunea de sistem și copiați numele exact al mașinii virtuale înainte de a seta pornirea automată.
sudo virsh -c qemu:///system list --all
Opțiunea --allinclude mașinile invitate care sunt în prezent oprite. Selectați mașina virtuală persistentă dorită din rezultat. Apoi activați pornirea automată pentru domeniul respectiv:
Înlocuiți VM_NAME cu numele exact de domeniu libvirt al sistemului invitat pentru a activa semnalizatorul său de pornire automată.
sudo virsh autostart VM_NAME
Pentru a anula setarea ulterior, executați comanda sudo virsh autostart --disable VM_NAME. Aceasta nu este o restaurare cu memorie salvată: sistemul invitat pornește normal de pe discurile configurate după pornirea gazdei. De asemenea, nu selectează automat fiecare mașină virtuală. Aplicați comanda numai sistemului invitat care ar trebui să ruleze pe această gazdă.
Ce serviciu libvirt trebuie să pornească la bootare?
Depinde de utilizarea daemonilor modulari libvirt sau a celor monolitici tradiționali libvirtd. SUSE documentează daemonii modulari ca fiind activați în mod implicit în SLES 15 SP7 și recomandă pornirea serviciului de driver relevant la pornire atunci când sistemele invitate sunt configurate să pornească automat. Serviciul de driver QEMU este [ numele sistemului virtqemud.service]. Într-o configurație monolitică, SUSE recomandă libvirtd.serviceîn schimb. Nu activați ambele moduri de implementare doar pentru că există ambele nume de unități.
Verificați unitățile de pe gazdă înainte de a le modifica:
Inspectați unitățile daemon libvirt disponibile pentru a identifica modul de implementare al gazdei înainte de a activa orice.
systemctl status virtqemud.service libvirtd.service
Dacă gazda folosește libvirt modular și este instalată unitatea QEMU, activați-o cu:
sudo systemctl enable --now virtqemud.service
Dacă gazda este configurată în mod deliberat pentru daemonul monolitic, utilizați în schimb această comandă:
Activați această unitate doar pe o gazdă care utilizează implementarea monolitică libvirtd; gazdele modulare își folosesc daemonul driverelor.
sudo systemctl enable --now libvirtd.service
Marcați rețeaua libvirt implicită pentru pornire automată numai dacă mașina virtuală folosește acea rețea virtuală.
Cu libvirt modular, gestionarea rețelelor virtuale și a stocării poate utiliza daemoni de driver sau socketuri separate. Dacă guest-ul depinde de o rețea gestionată de libvirt, faceți ca și acea rețea să pornească automat; de exemplu, documente SUSE sudo virsh net-autostart defaultpentru rețeaua predefinită default. Faceți acest lucru numai atunci când guest-ul utilizează efectiv acea rețea. O punte configurată la nivel de gazdă nu utilizează această setare de rețea libvirt. Verificați rețeaua reală atașată guest-ului, în loc să presupuneți numele default.
Dacă un sistem invitat utilizează un disc extern sau montat în rețea, asigurați-vă că spațiul său de stocare de rezervă este disponibil la pornire. SUSE notează că starea activă a unui pool de stocare libvirt nu modifică disponibilitatea volumelor deja atașate la sistemele invitate, dar activarea pornirii automate a pool-ului este utilă atunci când pool-ul trebuie să fie activ pentru gestionarea pool-ului pe partea gazdă sau pentru operațiuni ulterioare pe volume: sudo virsh pool-autostart POOL. Înlocuiți POOLcu numele real al pool-ului; nu creați un pool nou doar pentru a seta pornirea automată a mașinii virtuale.
Cum poți verifica dacă mașina virtuală va reveni?
Folosește informațiile despre domeniul invitatului pentru a verifica setarea de pornire automată înainte de a programa o repornire a gazdei.
Înainte de o repornire planificată pentru mentenanță, inspectați configurația domeniului și starea daemonului. Folosiți sudo virsh dominfo VM_NAMEpentru a confirma că pornirea automată este activată și/ systemctl is-enabled virtqemud.servicesau systemctl is-enabled libvirtd.servicepentru modul daemon ales. Dacă prima comandă eșuează deoarece sistemul invitat nu este găsit, asigurați-vă că interogați aceeași conexiune libvirt pe care a fost creat.
Apoi testați în timpul unei ferestre de întreținere aprobate. După ce gazda revine, rulați sudo virsh -c qemu:///system list --all. Gustătorul selectat ar trebui să fie afișat ca rulând; confirmați separat rețeaua și serviciile sale guest. Dacă rămâne oprit, inspectați jurnalele de boot ale daemonului activ cu journalctl -b -u virtqemud.servicesau journalctl -b -u libvirtd.service, după caz, și verificați dacă există spațiu de stocare indisponibil sau o rețea virtuală necesară. Aceste condiții depind de configurația gazdei, astfel încât jurnalul daemonului și configurația reală a dispozitivului mașinii virtuale determină următoarea remediere.