Implicat în afacere unde doar Free Open Source salvează ROI(Return on Investment)? Recomand de folosit Proxmox pentru virtualizare, mai dorești să faci backup sau snapshot regular? Hai că găsești aici ajutor clar și corect în acest pas.
Nu prea are importanță dacă ai un server sau cluster de servere în Proxmox, live backup(fără deconectarea mașinei virtualizate) trebuie de făcut în așa mod în cît să nu ai pierderi. Te-ai gîndit la momentul cela dacă se salvează și unde se înregistrează pe discul sistemului de operare virtualizat, în momentul de backup? Hypervisor-ul trebuie să îi comunice mașinii virtuale (VM) că este în regim de backup a datelor să oprească înregistrarea pe disc a datelor pînă la finisarea operațiunii de backup (snapshot_create: call fsfreeze if agent flag is set începînd cu versiunea 3.4 indicată în http://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_3.4). Despre modul de backup în Proxmox detalii găsiți aici https://pve.proxmox.com/wiki/Backup_and_Restore
Proxmox folosește KVM cu Qemu pentru virtualizare OS(cu părere de rău nu folosește libvirt). Pentru comunicare între VM și Hypervisor folosește qemu-guest-agent care se instalează pe mașina virtuală cu sistemul de operare fie linux, fie windows sau altele compatibile. De mult timp în Proxmox este această funcționalitate dar nu și în GUI, în configurările fiecărei mașini virtuale este opțiunea „Qemu Agent” în interfața web sau în fișierul de configurare din /etc/pve/qemu-server/VMID.conf, (VMID este numărul mașinii virtuale) recomand de activat și rămîne de pornit agentul pe sistemul de operare a fiecărei mașini virtuale. Dacă doriți configurări direct a VM folosiți acest manual https://pve.proxmox.com/wiki/Manual:_vm.conf
În Debian 8 jessie(poate și Ubuntu) în regim utilizator simplu folosim sudo, sau dacă am ajuns în user-ul root atunci folosim comanda:
1 |
# aptitude install qemu-guest-agent |
Necesar de menționat că în source code
https://github.com/proxmox/qemu-server/blob/master/PVE/QemuServer.pm#L3209
se observă adăugarea automată a unui hardware de comunicare necesar conform cerințelor Qemu indicate în
http://wiki.qemu.org/Features/QAPI/GuestAgent
și
http://wiki.libvirt.org/page/Qemu_guest_agent
Prin această interfață serial Virtio se execută comunicarea între ele. Pentru a ne asigura putem vedea în lista echipamentelor cu comanda
1 |
# lsmod | grep virtio |
a apărut dispozitivul de comunicare.
virtio_console
Fără acest agent pornit din Proxmox primim un așa răspuns
Verificarea deplină de comunicare o putem face prin consola hyperviserului Proxmox cu comanda (cifra 140 indică VMID, numărul mașinii virtuale care a fost configurată cu agentul) Apoi în cîmpul gol indicăm
1 |
# socat /var/run/qemu-server/140.qga - |
*apăsăm Enter
1 |
> { "execute": "guest-sync-delimited", "arguments": { "id": 123456 } } |
*apăsăm Enter
primim răspunsul ?
{“return”: 1234}
Răspuns trebuie să primim un mesaj de tipul (1234 este pus doar de verificare a răspunsului)
Ca și în imaginea de mai jos.

răspunsul din consolă
Dacă aveți alt răspuns sau {“return”:} fără cifre atunci este o problemă în comunicarea.
Cu referință la
https://forum.proxmox.com/threads/guest-agent-question-how-can-i-tell-if-its-functional.21146/
Recomand pentru Windows de folosit preventiv driverele VGA (se instalează simplu absolut ”Next-Next”)
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-7.2.1-1/qemu-ga-x64.msi
Sau poate copiați întreg ISO cu drivere și pentru SCSI controller type HDD Virtio pe de adresa
În Windows și anume în Device Manager se poate de observat diferența și apariția unui nou dispozitiv

Fără agent

Cu dispozitivul VirtIO Serial Driver
Cu numele de VirtIO-Serial Driver
Dacă cineva se sperie și se gîndește ce se întîmple cu baza de date MySQL din RAM al mașinii virtuale, vreau să vă indic că este un script Qemu GuestAgent care o înregistrează baza MySQL (linux) din RAM pe Disk precum e indicat în source code
În Windows există VssTrace care ajută la Backup https://msdn.microsoft.com/en-us/library/windows/desktop/dd765233%28v=vs.85%29.aspx#using_vsstrace
Dar recomand de făcut backup la sistemelor windows cu instrumentele native create Microsoft.
UPDATE August 2016
Doresc să menționez că verificarea configurărilor se face cu comanda
1 |
service qemu-guest-agent status |
1 |
qemu-ga -D |
În plus fișierul de configurare de care se folosește qemu-ga este situat în
1 |
/etc/default/qemu-guest-agent |
Dar dacă totul este după default/implicit atunci acolo nu este nimic și respectiv trebuie de executat comanda de mai sus.
Dar dacă doriți să modificați ceva diferit de setările default/implicit atunci în acest fișier indicați modificările dar mai întîi de toate transferăm din config default în fișier cu comanda
1 |
qemu-ga -D | tee /etc/default/qemu-guest-agent |
mai departe modificăm cu ajutorul lui nano
1 |
nano /etc/default/qemu-guest-agent |
Pentru update în Debian 8 la ultima versiune 2.6 se face cu comanda.
1 |
cd /tmp && wget http://ftp.debian.org/debian/pool/main/q/qemu/qemu-guest-agent_2.8+dfsg-4+b2_amd64.deb && dpkg -i qemu-guest-agent_2.8+dfsg-4+b2_amd64.deb |
Pentru Windows (în dependență de versiune) se poate de instalat de pe acest link
qemu-ga-x64 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-7.3.2-1/qemu-ga-x64.msi
sau
qemu-ga-x86 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-7.3.2-1/qemu-ga-x86.msi
Dacă executați un Snapshot din Proxmox și în regim de running sau un backup de tip snapshot tot în regim de running, veți găsi în syslog și putem monitoriza systemul live cînd va apărea
1 |
tailf /var/log/syslog | grep qemu-ga |
anume un rînd în care arată înghețarea systemeului cu ajutorul qemu-ga
1 |
qemu-ga: info: guest-fsfreeze called |
Anume acest rînd arată că agentul qemu comunică minunat de bine și execută comanda de la Proxmox pentru înghețarea operațiunilor și de a face un backup/snapshot fără pierderi de date.
Altă metodă de testare este oprirea sericiului qemu-guest-agent
1 |
service qemu-guest-agent status |
Și apoi pornirea de înghețare a File System cu pornirea agentului în alitate de aplicație și nu de serviciu
1 |
qemu-ga -F |
dacă ne arată errori atunci nu funcționează adecvat la crearea unui backup consistent.