Hoe u de schijfgrootte van een virtuele machine in KVM kunt wijzigen

Soms voelt het verkleinen van virtuele KVM-schijven als balanceren op een dun koord – er zijn te veel valkuilen als je niet voorzichtig bent. Het grootste probleem is dat als je zomaar commando’s uitvoert qemu-img resizeom de schijf te verkleinen, je mogelijk een onopstartbare VM of beschadigde data krijgt. Dat is nogal vervelend, vooral omdat Linux niet goed overweg kan met het verkleinen van schijven, met name als het gaat om systeempartities of snapshots. Dus als verkleinen noodzakelijk lijkt, is het veiliger om een ​​volledig nieuwe schijfimage te maken en de data te migreren – zie het als een robuuste back-up, voor het geval dat. En ja, dat betekent dat je zorgvuldig alleen kopieert wat nodig is en vervolgens de schijfimage vervangt, maar zelfs dat is niet waterdicht, zoals veel ervaren gebruikers op de harde manier hebben ondervonden – het is over het algemeen niet aan te raden om zomaar de schijfgrootte te verkleinen, althans niet zonder een grondige voorbereiding.

QEMU en KVM geven er natuurlijk de voorkeur aan dat je schijven vergroot – ruimte toevoegen is eenvoudig. Verkleinen? Dat is een heel ander verhaal, en de gevolgen kunnen desastreus zijn als het niet correct wordt gedaan. Dus, als je ruimte wilt terugwinnen, overweeg dan om je schijf te converteren naar een gecomprimeerd QCOW2-formaat, of verklein in ieder geval eerst het bestandssysteem binnen het gastbesturingssysteem en vervang of converteer vervolgens de image. Maar het verkleinen van een schijf is niet zomaar even snel wat aanpassen. Het vereist het creëren van een nieuwe image, het migreren van de data en het testen of de VM daarna goed opstart. Kortom, wees voorzichtig. Het laatste wat je wilt, is een image die niet opstart of, erger nog, het verlies van waardevolle data.

Hoe los je problemen met de schijfgrootte van KVM op en ontdek alternatieven.

Methode 1: Een nieuwe, kleinere schijfkopie maken en gegevens migreren

Dit is de veiligere route: maak een back-up en herstel de gegevens. Maak een nieuwe virtuele machine met een kleinere schijf, kloon de gegevens van de oude schijf naar de nieuwe en zorg ervoor dat alles opstart en soepel werkt. Wissel vervolgens de schijven om en je bent klaar. Niet de snelste methode, maar wel de meest betrouwbare.

Methode 2: QCOW2-schijfbestanden converteren en comprimeren

Als je schijven in QCOW2-formaat hebt, is een truc om ongebruikte ruimte in de virtuele machine te wissen (bijvoorbeeld door eerst met nullen te vullen en vervolgens te wissen) en de image vervolgens te converteren naar een geoptimaliseerde QCOW2-versie. Dit verkleint de bestandsgrootte aanzienlijk. Commando’s zoals dd if=/dev/zeroin de virtuele machine, gevolgd door `qemu-img convert` met `-O qcow2`, kunnen wonderen verrichten. Let wel op: het verkleinen van de partitie in het gastbesturingssysteem is cruciaal en vaak een noodzakelijke stap vóór de conversie.

Nog een tip die het vermelden waard is: maak een back-up! Voordat je ook maar iets met de schijf doet, kopieer altijd de.qcow2- of raw-images naar een veilige plek. Want laten we eerlijk zijn, zelfs ervaren gebruikers lopen wel eens tegen problemen aan, en herstellen vanuit een back-up is veel beter dan achter spookdata aan te gaan of te proberen een niet-opstartende VM te repareren.