Virtuelle maskiner er nogle af de vigtigste værktøjer i en it-professionelles værktøjskasse. Du kan teste ukendt software, forstå, hvordan systemet fungerer, og endda pille ved kernen fra tid til anden. Det eneste problem er lagring. Forskellige versioner af pakker og forældreløse pakker bliver ved med at hobe sig op, logfiler bliver større og større med tiden, og snart nok har du brug for mere lagerplads. i denne vejledning vil vi se, hvordan du kan øge størrelsen af din virtuelle maskines virtuelle disk på en ren og effektiv måde.
Vi skal bruge VirtualBox version 5.2.6, hvis din er ældre end det, kan du måske opdatere den. Der er et par vigtige detaljer ændret i brugergrænsefladen i denne version, og du kan have svært ved at følge dem, hvis din version er lidt ældre.
Logical Volume Manager, eller LVM, gør sagen lidt mere indviklet, men det er fint nok, vi vil også håndtere det tilfælde i denne vejledning.
Linux-gæst uden brug af LVM
Den første ting du skal gøre, når du ændrer størrelsen på en disk, er at få det korrekte disknavn, som du vil ændre. Fra VirtualBox dashboardet skal du gå til den VM, som du ønsker at forstørre. Sørg for, at maskinen er i tændt tilstand.
- Vælg maskinen fra venstre hjørne under dens lagermenu få navnet på den virtuelle disk, som operativsystemet er installeret på. I vores tilfælde hedder disken vdi (Normal 20.00GB).
- Klik nu på knappen Globale værktøjer i øverste højre hjørne af instrumentbrættet.
- Du kan se en masse virtuelle diske, der er opført i afsnittet. Den, der interesserer os, er Ubuntu.vdi, som vi lærte i trin 1. Vælg det passende disknavn, som din VM bruger, og juster dens størrelse til den værdi, du ønsker. Vi vil øge dens størrelse fra 20 GB til 40 GB. Klik på apply, før du går tilbage til Machine Tools.
- Nu kan vi starte VM’en og se på gæstestyresystemet. Start VM’en, log ind, åbn terminalen, og indtast:
$df -h
Den tilgængelige plads til rodfilssystemet viser ikke nogen forøgelse af lagerpladsen. For at forstå hvorfor kan du køre følgende kommando for at få en liste over alle de lagringsblokkenheder, der er knyttet til den virtuelle maskine:
$lsblkDer er en blok enhed sda, 40G i størrelse, som er af typen Den er blevet partitioneret i sda1, af størrelse 20G (ovenpå sidder root filsystemet) og resten er ikke allokeret. Partitionen /(root) er den, der skal vokse i vores tilfælde. Der er også swap-partitionen sda2. For at ændre størrelsen på rodpartitionen er det sikrere for os at slukke for den virtuelle maskine.
- For at vokse rodfilssystemet vil vi bruge værktøjet gparted. Download .iso-filen fra linket. Dernæst skal vi bruge gparted til at ændre vores virtuelle disk vdi.
- Gå tilbage til VirtualBox dashboardet, højreklik på den virtuelle maskine, vælg Indstillinger og vælg Lagring fra indstillingsvinduets venstre kolonne.Under IDE-controlleren kan du se, at der ikke er en optisk disk tilsluttet. Du kan klikke hvor der står Tom, klikke på cd-ikonet yderst til højre (under sektionen Attributter), vælge gparted iso-filen og montere den under Controller: IDE.
- I sektionen Indstillinger for din VM skal du gå til System og kontrollere, at den optiske disk er øverst på Harddisk i opstartsrækkefølgen. Dette sikrer, at gparted.iso starter op i stedet for de facto OS.
- Start nu VM’en igen, og du vil komme ind i gparted GUI efter valg af dit foretrukne sprog og tastaturtilknytning. Klik på gparted-applikationen, der præsenteres på skrivebordet.Det er her, at mange ting vil være forskellige for forskellige personer. I ovenstående tilfælde har vi kun én hovedpartition til /(root) monteret på sda1. Du har måske et andet filsystem, der skal vokse, og du ville være nødt til at øge størrelsen af den tilsvarende partition. Ovenstående tilfælde virker for standardinstallationen af Ubuntu 16.04 LTS.
- Swap-partitionen er mellem hovedpartitionen og den ikke-allokerede plads og skal slettes. Hvis der er andre filsystemer som /home monteret mellem dem, skal du ikke slette den! Du kan ende med at miste vigtige data. Overvej at oprette en ny partition til den ikke-allokerede plads, hvis det er tilfældet. Sådan ser det ud, da vi ændrede størrelsen på vores rodpartition:
- Swap-partitionen slettes ved at slette sda5 og derefter sda2 og derefter klikke på knappen Anvend. Nu er du fri til at ændre størrelsen på rodpartitionen hele vejen til slutningen, men efterlad dog et par gigabyte i slutningen til swap-partitionen. Klik på Anvend, når du er tilfreds med den måde, som partitioneringen er udført på.Det var det! Når du genstarter systemet, vil du nu bemærke, at VM’ens filsystem har mere plads til rådighed, som du kan arbejde med.
Linux-gæster, der bruger LVM
Hvis gæstestyresystemet bruger LVM, skal vi ændre et par trin. Først og fremmest, når du er i gparted-brugergrænsefladen, vil du bemærke, at der er et låseikon ved siden af LVM-paritionerne. Højreklik på disse partitioner og vælg deaktivere for at gøre det muligt at ændre størrelsen på dem.
Genstart systemet og åbn terminal, når du har dyrket de ønskede partitioner.
Den næste ting at gøre er at gøre lvm-partitioneringsskemaet opmærksom på de foretagne ændringer. Som root-bruger skal du køre nedenstående kommando for at se listen over tilgængelige fysiske volumener:
Du kan se, at der er 20G plads gjort nyligt tilgængelig for den fysiske volumen /dev/sda5 for at dyrke den fysiske volumenkørsel:
Lad os nu se på blokenhederne.
Kørsel af lsblk viser, at rodpartitionen stadig kun optager 17,5G, mens der er 39,5G på partitionen sda5. Dette skyldes, at vores fysiske partition er vokset, men at den logiske volumemanager ikke er opmærksom på dette.
Gør også opmærksom på volumens navn, som er monteret på /(root)-mappen. I ovenstående output hedder den ubuntu--lvm--vg-swap_1
For at gøre brug af hele den tilgængelige ledige plads skal du køre nedenstående kommando, du kan klikke på fanebladet efter /dev/ubuntu… for at komme til den relevante enhedsknude:
Før disse par ændringer, hvis du er LVM-bruger, og hvis du installerer et nyt gæstesystem, skal du forsøge at undgå LVM, hvis du kan.