Tartalom
- Bevezető
- Virtuális tárolóeszköz ellenőrzése
- Virtuális gép előkészítése a zsugorításhoz
- Linux vendég rendszerek előkészítése
- Windows vendég rendszerek előkészítése
- Virtuális gép zsugorítása a VirtualBox segítségével
- Konklúzió
Bevezető
A VirtualBox segítségével virtuális gépeket futtathatunk számítógépünkön, amik osztoznak a számítógép hardveres erőforrásain a gazda operációs rendszerrel. Ezek közül most a tárolóeszközök méretével foglalkozunk. Egy-egy virtuális gép képfájlja önmagában is sok helyet foglalhat, de ha több gépünk is van, akkor jelentős háttértár-igénnyel kell számolnunk, ezért célszerű optimálisan kihasználni a rendelkezésre álló tárhelyünket. A VirtualBox lehetőséget biztosít a dinamikusan növekvő tárolók használatához is, amelyek segítségével olyan meghajtókat hozhatunk létre, amik belül (virtuálisan) ugyanúgy fixen meghatározott méretűek, de maguk a fizikai képfájlok létrehozásukkor csak néhány megabyte méretűek, és a használat során növekednek a rákerülő adatmennyiség függvényében (például első körben egy operációs rendszer telepítésekor). Ez visszafelé sajnos nem igaz, tehát ha például letörlünk valamit a virtuális gépről, akkor a virtuális tárolóeszköz fizikai képfájljának mérete sajnos nem csökken. Ebben a leírásban megnézzük, hogy kézi módszerrel hogyan zsugoríthatjuk össze VirtualBox virtuális gépeink dinamikusan növekvő képfájljait a ténylegesen használt méretükre Linux és Windows rendszereken – ezáltal sok helyet spórolva számítógépünkön.
Ez a módszer természetesen csak a dinamikus méretű tárolóeszközökkel működik, a fix méretűekkel nem, valamint csak akkor tudjuk zsugorítani a tároló képfájlját, ha már előtte volt olyan adat rajta, amit utána töröltünk, ezért a képfájl mérete megnövekedett, de a törlést követően nem zsugorodott vissza. Így például egy friss Windows vagy Linux telepítés után nem nyerünk ezzel a módszerrel helyet, csak ha letöltöttünk a virtuális gépre több GB-nyi adatot, majd később letöröltük azt.
Ebben a leírásban a virtuális gép tömörítését/zsugorítását elvégezzük Linux/Windows vendég és gazda gépekkel is, így mindegyik variáció sorra kerül. Ezek között átugró linkek is találhatók, amikkel kihagyhatjuk a számunkra szükségtelen részeket.
Virtuális tárolóeszköz ellenőrzése
Első körben ellenőrizzük, hogy a zsugorítani kívánt virtuális tárolóeszköz valóban dinamikusan növekvő típusú-e, mert csak ezt lehet zsugorítani. Ehhez indítsuk el a VirtualBox progamot, majd a Fájl menüben indítsuk el a Virtuális média-kezelő... részt.
Linux gazdagépen:
És Windows gazdagépen:
Tehát bármelyik platformon is használjuk a VirtualBoxot, a virtuális média-kezelő panelen válasszuk ki a zsugorítani kívánt tárolóeszközt, majd fent kattintsunk a Tulajdonságok ikonra, majd a panel alsó részén pedig válasszuk ki az Információ fület és győződjünk meg róla, hogy a tároló részleteinél a "Dinamikusan növekvő tároló" jelenik meg.
Virtuális gép előkészítése a zsugorításhoz
Ha tehát megbizonyosodtunk róla, hogy a cél VirtualBox tárolóeszközünk dinamikusan növekvő típusú, akkor ezután először a virtuális gépet kell előkészítenünk arra, hogy zsugorítható legyen a hozzá kapcsolt tárolóeszköz .vdi fájlja. Ezt néhány lépésben tehetjük meg: letakarítunk minden felesleges dolgot a gépről amire nincs szükségünk (pl. nem használt programok, felesleges fájlok eltávolítása, lomtár ürítése, stb), majd a tárolóeszközön fennmaradó üres helyet felülírjuk nullákkal, egy erre a célra készített programmal.
Ha Windows virtuális gépet szeretnénk zsugorítani, akkor átugorhatjuk a Linux vendég rendszer előkészítése részt, és léphetünk egyből a Windows vendég rendszerek előkészítése fejezetre.
Linux vendég rendszerek előkészítése
Indítsuk el a zsugorítani kívánt Linux virtuális gépet, majd root-ként végezzünk takarítást. Ezt Debian illetve Ubuntu rendszereken egyformán végezhetjük.
Nem használt csomagok és a csomaggyorsítótár törlése
Rootként először frissítsük a csomagjainkat, hogy az utána futtatásra kerülő parancsok már a friss csomagállapottal dolgozhassanak:
apt-get update
apt-get upgrade
Ezután futtassuk az alábbi takarító APT parancsokat:
apt-get autoremove
apt-get clean
Az első parancs eltávolítja a nem használt csomagokat, elavult csomagfüggőségeket, stb. A második parancs pedig a helyben tárolt csomaggyorsítótárat törli.
Lomtár ürítése (opcionális)
Amennyiben asztalkörnyezetet is használunk a virtuális gépen, akkor töröljük a lomtárat is. Ezt megtehetjük az asztalon lévő lomtár ikon segítségével, vagy a parancssorból is a normál felhasználónkkal:
rm -rf ~/.local/share/Trash/*
Zerofree csomag telepítése
A zerofree parancs segítségével fel kell "töltenünk" nullákkal a tárhelyen lévő üres helyet. A zerofree csomag alapból nem a rendszer része, ezért telepítsük:
sudo apt-get install zerofree
Virtuális gép újraindítása helyreállítási módban
Ahhoz, hogy futtathassuk a zerofree parancsot, újra kell indítanunk a virtuális gépet. Ebben a példában most csak olvasható módban csatoljuk a root partíciót, és így indítjuk el a gépet.
Korábban már készítettem egy leírást arról, hogy hogyan állíthatjuk vissza a root jelszavunkat. Most ennek a leírásnak az elejére lesz szükségünk, ahol korábban hasonlóan kellett elindítani a gépet. Kövessük tehát az ott leírtakat egészen a Root konzol elindítása részig. Itt annyi különbséggel folytassuk, hogy a leírásban lévő ro (Read Only) részt ne írjuk át rw -re, hanem hagyjuk ro értékeken (Debianban és Ubuntuban is). A többit ugyanúgy állítsuk be, csak az ro részeket ne változtassuk! Tulajdonképpen itt csak az "init=/bin/bash" részt kell a sor végéhez fűzni. Ezzel elérjük, hogy csak olvasható módban fogja felcsatolni a root (/) partíciót és egyből kapunk egy root prompt-ot is.
Ha átírtuk, nyomjuk meg az F10 billentyűt, hogy elindítsa a konfigurációt.
Zsugorítandó kötet blokk eszközének megkeresése
Miután a root prompt-hoz kerültünk meg kell keresnünk a blokk eszközünk nevét, amit zsugorítani/tömöríteni szeretnénk. Ez az eszköz a root (/) fájlrendszerbe csatlakozik csak olvasható módban. Ennek kiderítésére többféle parancs is rendelkezésre áll amikkel kilistázhatjuk a géphez csatlakozó blokk eszközöket. Az alábbiak közül futtassuk, amelyik szimpatikusabb:
df
lsblk
fdisk -l
Fizikai kötet megkeresése
Nálam tehát az egyik Debian virtuális gépen a df és az fdisk parancsok kimenete:
Ebben a példában a root (/) fájlrendszerre a /dev/sda1 partíció van felcsatolva, így tehát itt ez a fizikai root partíció, amit keresünk, ezt kell majd később használnunk a zerofree programhoz. Természetesen ez más gépen eltérő is lehet, attól függően hány merevlemez csatlakozik a géphez, és azokon hány partíció van, melyikről indul az operációs rendszer, stb. Így tehát ez itt egy egyszerű példa.
Logikai kötet megkeresése
Az Ubuntu virtuális gépen (a nagyobb felbontás miatt) a df, lsblk és az fdisk parancsok kimenete egyben látszik egyetlen képernyőn is:
Ebben az Ubuntu példában pedig a keresett logikai kötetünk virtuális blokk eszközének az elérése a parancsok kimenetében jól látszik:
/dev/mapper/ubuntu--vg-ubuntu--lv
Logikai kötetek esetén tehát ezt, vagy ehhez hasonló eszköznevet kell használnunk a /dev/mapper struktúrából – például a /dev/sda3 helyett –, amit a zerofree parancsnak meg kell majd adnunk. Így biztosak lehetünk benne, hogy ha a logikai kötetünk több fizikai kötetből áll, akkor is megfelelően fogja feltölteni nullákkal az összekapcsolt fizikai egységeket is.
Üres blokkok feltöltése nullákkal a zerofree programmal
A virtuális gép zsugorításhoz történő előkészítésének utolsó lépéseként futtatni kell a zerofree programot a fentebb beazonosított eszközön.
A fenti Debian és Ubuntu példáknál maradva a Debian fizikai kötetére/partíciójára alkalmazandó parancs:
zerofree -v /dev/sda1
Végigpörögnek a százalékok 100%-ig, majd a kimenet nálam:
És az Ubuntu logikai kötetén:
zerofree -v /dev/mapper/ubuntu--vg-ubuntu--lv
Itt is végigpörögnek a százalékok, majd:
Ha a zerofree parancs lefutott, ebben a futási módban a poweroff paranccsal állíthatjuk le a gépet:
poweroff -f
Windows vendég rendszerek előkészítése
Indítsuk el a zsugorítani kívánt Windows virtuális gépet, majd végezzünk takarítást. Ebben a példában én az egyik Win10-es virtuális gépemen mutatom ezt be.
Lomtár ürítése
Miután letöröltünk minden felesleges programot és fájlt a gépről, töröljük a lomtárat.
Lemez töredezettségmentesítése
Windows vendég gépek esetén a FAT/NTFS fájlrendszerek használata miatt erősen ajánlott a zsugorítandó lemez töredezettségmentesítése, hogy a Virtualbox gyorsabban végezhessen a zsugorítási művelettel. A töredezettségmentesítőt a meghajtó ikonjára jobb egérgombbal kattintva a tulajdonságok panelen érhetjük el az Eszközök fülön:
Üres blokkok feltöltése nullákkal az SDelete programmal
Windows vendég rendrendszer zsugorítása előtt is ugyanígy kell eljárnunk: az erre készített SDelete program segítségével felülírjuk az üres helyet nullákkal.
A programot töltsük le a Microsoft oldaláról, majd csomagoljuk ki.
Itt nincs szükség a gép újraindítására, mint a Linux vendég rendszerek esetén, tehát kicsomagolás után egyből használhatjuk is a programot. Kicsomagolás után kapunk 32 bites és 64 bites változatot is. Nyissunk egy parancssori ablakot, majd nézzünk bele a könyvtárba:
Értelemszerűen használjuk a vendég rendszerünk architektúrájának megfelelően a 32 vagy a 64 bites változatot. Első használatkor még egy licenc ablak is előjön, ezen fogadjuk el a feltételeket.
Az üres hely nullákkal történő feltöltéséhez pedig futtassuk az sdelete.exe programot -z opcióval, ahogy a súgójában is ajánlja. Feltételezve, hogy a 64 bites változatot kell használnunk és a C meghajtót kell zsugorítanunk (ez a legáltalánosabb eset), a parancsunk a következő:
sdelete64.exe c: -z
Ekkor elindul a program, szépen végigpörögnek a százalékok:
Miután elkészült, kiléphetünk a parancssorból, és leállíthatjuk a gépet.
Virtuális gép zsugorítása a VirtualBox segítségével
A zsugorítási művelet a gazda operációs rendszeren történik. Miután felkészítettük a virtuális gépet a fenti műveletek elvégzésével és le is állítottuk azt, jöhet a zsugorítás. A zsugorítás mindkét gazda operációs rendszeren ugyanúgy a VirtualBox program parancssori kapcsolóival végezhető el.
Ha Windows gazda gépen szeretnénk zsugorítani virtuális gépet, akkor átugorhatjuk a következő Linuxos részt, és léphetünk egyből a Virtuális gép zsugorítása Windows gazda rendszeren fejezetre.
Virtuális gép zsugorítása Linux gazda rendszeren
Parancssorban lépjünk be a korábban zsugorításra előkészített virtuális gép tárolóegységének (.vdi) könyvtárába, és ellenőrizzük a képfájl méretét, hogy a zsugorítás után össze tudjuk hasonlítani a csökkentett mérettel. Ebben a példában a fentebb előkészített Debian 10-es tökéletes szerver 1.1-es változatát (ami hamarosan az oldalra is felkerül) zsugorítom:
Itt a kijelölt sor mutatja a szóban forgó virtuális gép vdi fájlját, aminek a mérete jelenleg 9,4 GB.
Ezután zsugorítsuk a fájlt a vboxmanage paranccsal, ami a VirtualBox programcsomag része, és benne van az elérési útban is:
vboxmanage modifymedium disk <vdi fájl> --compact
Ekkor végigmennek itt is a százalékok 10-esével. Miután végzett, ellenőrizzük ismét a méretét:
Itt láthatjuk, hogy a 9,4 GB-os vdi fájl lecsökkent 4,4 GB méretűre. Ez elég szép helyspórolás. Persze megjegyzem, a gépre sok minden felkerült működése során, és törölve is lett róla sok dolog, tehát nem egy friss telepítésű gépről van szó, így tehát nem meglepő a méret ekkora mértékű csökkenése.
Virtuális gép zsugorítása Windows gazda rendszeren
Windows rendszerben nyissunk egy parancssor ablakot. Itt be kell lépnünk a VBoxManage.exe parancs könyvtárába, mivel Windowsban nem kerül bele az elérési útvonalba a program könyvtára.
A VirtualBox alapértelmezetten a C:\Program Files\Oracle\VirtualBox\ könyvtárba települ, ha a telepítéskor nem változtattuk meg a könyvtárát. Amennyiben másik könyvtárba telepítettük, akkor használjuk azt.
Belépve a parancs könyvtárába, először listázzuk ki a virtuális HDD-ket az alábbi VBoxManage.exe paranccsal:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe list hdds
Erre kiadja azokat a virtuális diszkeket, amik kapcsolódnak valamilyen virtuális géphez, valamint kiad róluk még néhány egyéb információt is:
Az itt megjelenített, megabyte-okban mért kapacitási adatok azok a virtuális méretre vonatkoznak, tehát még célszerű megnézni a .vdi fájlunk valódi méretét is:
Ez a virtuális lemezkép tehát körülbelül 33 GB méretű. Ezután jöhet a zsugorítás, amit ugyanúgy kell végezni, mint Linuxban:
VBoxManage.exe modifymedium disk "C:\utvonal\lemezkep.vdi" --compact
Saját példával pedig:
VBoxManage.exe modifymedium disk "D:\Egyéb\virtualbox\sajat_gepek\win_10_aztali_gepem.vdi" --compact
Ez kicsit tovább tartott, mint az ennél jóval kisebb Debian virtuális gép tömörítése, de végiment ez is. Végül újra kilistázva a fájl méretét, jól látszik itt is a jelentős méretcsökkenés:
Ennél a gépnél a 33 Gbyte méretből lett 26 Gbyte, ami itt is elég jelentős méretcsökkentést jelent.
Konklúzió
Így lehet tömöríteni, zsugorítani a VirtualBox virtuális gépeinek a lemezképfájljait Linux, illetve Windows rendszereken, valamint Linux, illetve Windows virtuális gépeket. Ha sok virtuális gépünk van, mint ahogy nekem is, akkor ezzel a zsugorítással rengeteg tárhelyet spórolhatunk meg. Azonban ebben nincsen semmi extra, ez a művelet csak a virtuális gép használata során "feleslegesen felgyűlt" üres helytől szabadítja meg a virtuális gépeket. Ez a folyamat a gép következő indításával természetesen újra indul, tehát időnként érdemes elvégezni virtuális gépeink tömörítését/zsugorítását. Mindezt célszerű egy-egy nagyobb takarítási, törlési munka utánra időzíteni, hogy minél több helyet nyerhessünk vissza.
- Hogyan állítsuk be a VirtualBox-ot az alaprendszerek számára
- Hogyan állítsuk be a VirtualBox-ot a grafikus rendszerek számára
- VirtualBox 5.2 telepítése Debian 9 (stretch) gazda operációs rendszerre
- VirtualBox 6.0.x telepítése Debian 10 (Buster) gazda operációs rendszerre
- VirtualBox 6.1.x telepítése Debian 10 (Buster) gazda operációs rendszerre
- Hogyan telepítsük a VirtualBox-ban futó Debian rendszerre a vendég integrációs szolgáltatásokat (Guest additions)
- Hogyan telepítsük a VirtualBox-ban futó Debian 11 (Bullseye) rendszerre a vendég integrációs szolgáltatásokat (Guest additions)
- Enciklopédia - VirtualBox
- Manual oldal - zerofree
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 509 megtekintés