Windows - Krymp vmware disk

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en Windows-maskine, og jeg kører VMWare Player. Jeg har 1 Centos billede.
På et tidspunkt var VM ca. 12 GB.


Jeg slettede mange unødvendige filer, og faldt størrelsen til 4GB


Denne reduktion blev imidlertid ikke afspejlet i vmdk.


Windows rapporterer, at størrelsen er omkring 10 GB, mens Centos kun bruger 4 GB


Er der en måde at genvinde dette rum på?

Bedste reference


Ja, du kan krympe det ved hjælp af 'vmware-vdiskmanager'.
Checkout denne artikel for detaljer. [13]


Også spørg dig selv - vil du have brug for dette rum senere?
Hvis dette er et ikke-produktionsmiljø, og du bruger det til 'hjemme' formål, anbefaler jeg stærkt at flytte til anden virtualiseringsplatform (f.eks. VirtualBox), da det er mere brugervenligt, mere up- til dato og understøtter de fleste formater af VMDK-filerne (så migrering ville være let).

Andre referencer 1


Problemet her er, at selv om du har slettet filerne i dit CentOS VM-billede, forsøger VMware ikke at genvinde det pågældende rum, før du udtrykkeligt spørger det. Selv om de diskblokke, der er brugt af filerne, ikke er nulstillet, vil fortsætte med at optage plads i vmdk-filerne. Hvis du er vant til at krympe Windows VM'er, er det måske ikke kendt for dig.


Grundproceduren for tilbagebetaling af plads er:



  • Fjern eventuelle unødvendige filer

  • Nul alle ledige pladser (ikke nødvendigt til Windows VM'er)

  • Brug VMware Player eller Workstation til at krympe de virtuelle diske.



Den specifikke procedure, jeg brugte til at reducere mit CentOS-billede, var at gøre følgende:


df -h
su
yum clean all
cd / ; cat /dev/zero > zero.fill ; sync ; sleep 1 ; sync ; rm -f zero.fill
exit


Jeg lukkede derefter mit CentOS VM og brugte Kompakt -værktøjet på siden Hardware til Harddisk i Virtual Machine Settings .


Efter krympning var vmdk for rodfilsystemet omkring samme størrelse som størrelsen af ​​det rotfilsystem, der var i brug, og vmdk begyndte at ekspandere igen efter behov herfra.


Bemærk, at min VM kun havde en enkelt rodpartition, hvis jeg havde andre partitioner eller diske, ville jeg have erstattet cd / delen af ​​linjen udfyld med monteringspunktet på andre partitioner og derefter køre krympefunktionen på hver virtuelle disk.


For flere muligheder, se Skr. VM Disk Billeder. [14]


Hvis du har brug for instruktioner til at gøre det samme med en Debian-baseret Linux eller vil bruge kommandolinjeværktøjet vmware-vdiskmanager i stedet for at VMware GUI reducere diskerne, skal du se artiklen Sådan krympes VMware Virtual Disk Files (.vmdk). [15]





Hvis du har brugt VM i nogen tid, kan du også få fordel af at nulle swapfilen. På mit CentOS-system gjorde jeg følgende:


$ su
Password: 
# cat /proc/swaps 
Filename                                Type        Size    Used    Priority
/dev/sda3                               partition   2064376 0       -1
# swapoff -a
# cat /proc/swaps 
Filename                Type        Size    Used    Priority
# dd if=/dev/zero of=/dev/sda3 bs=1M
dd: writing `/dev/sda3': No space left on device
2017+0 records in
2016+0 records out
2113929216 bytes (2.1 GB) copied, 24.6894 s, 85.6 MB/s



  • Bemærk! Da vi sletter en hel partition her, skal du sørge for, at den enhed, du angiver for kommandoen dd, er den samme som vist i kommandoen cat /proc/swaps. For at være på den sikre side skal du sikkerhedskopiere din VM før du forsøger dette.



Når du har skrumpet den virtuelle disk, skal du derefter genaktivere swap-filen. For eksempel:


$ su
Password: 
# free -o
             total       used       free     shared    buffers     cached
Mem:       1030684     344552     686132          0      20956     175912
Swap:            0          0          0
# mkswap /dev/sda3
Setting up swapspace version 1, size = 2064380 KiB
no label, UUID=80276a48-3581-4f7a-8b05-1f2a97169e22
# gedit /etc/fstab
# swapon -a
# free -o
             total       used       free     shared    buffers     cached
Mem:       1030684     346132     684552          0      20968     175912
Swap:      2064376          0    2064376


gedit/etc/fstab skulle erstatte den gamle bytte UUID med den nye, der blev oprettet af mkswap.


Bemærk at dette spørgsmål virkelig ville være mere hensigtsmæssigt på Superuser eller Serverfault end her på Stack Overflow, som er beregnet til programmeringsspørgsmål. [16] [17]

Andre referencer 2


Bump i dette spørgsmål som jeg har dette med VMware Player 5 og værktøj GUI fjernes selv i kontrolpanelet og gør det fra værten virker ikke længere. Anyway for at få VM til at krympe åben kommandolinje i Windows Guest og navigere til



  C: \ Programmer \ VMware \ VMware Tools \ VMwareToolboxCmd.exe



og skriv hjælp til alle de muligheder, jeg brugte



  C: \ Programmer \ VMware \ VMware Tools \ VMwareToolboxCmd.exe disk krympe c: \



den kører, mens maskinen er tændt, tjek den ud og nyd den

Andre referencer 3


Hvad du leder efter er (i Version 5 af Player):



  1. sluk for VM (efter den nødvendige rengøring af dets diske)

  2. Rediger virtuelle maskinindstillinger

  3. Klik på Hard Disk (i venstre rude)

  4. Klik på Hjælpeprogrammer

  5. Vælg Kompakt


Andre referencer 4


Desværre fungerede ingen af ​​de angivne svar til mig (jeg bruger Windows 8.1 som mit værtssystem, CentOS 7 er gæstersystemet, der kører inde i VMWare Player).


Med VMWare Tools installeret i mit gæstesystem, kunne jeg ringe til følgende kommandoer, hvilket gjorde tricket for mig.


vmware-toolbox-cmd disk list viser alle monterede partitioner, der kan krympes:


/
/boot
/home


Anvend f.eks. vmware-toolbox-cmd disk /home for at krympe den givne partition.