Smanjenje veličine diska vmware virtualnog stroja. Kako smanjiti prevelik VirtualBox virtualni disk

Dok radite s Hyper-v, možda ćete morati promijeniti veličinu tvrdi diskovi virtualni strojevi. Nažalost, standardnim sredstvima Windows 2008 R2 Ne dopuštate smanjivanje tvrdi disk- samo povećanje diska ili konverzija iz dinamičkog u fiksni (i obrnuto).

Uslužni program za promjenu veličine VHD-a

Ovaj uslužni program omogućuje povećanje i smanjenje veličine vašeg tvrdog diska, statičnog i dinamičkog. Nažalost, službena web stranica programa prestala je postojati. Međutim, uslužni program možete preuzeti na Internetu ili kod nas.

Powershell na Windows 2012

U ranijim verzijama Hyper-V-a uopće nije bilo funkcije za smanjenje prostora na virtualnom disku. Počevši od sustava Windows Server 2012, postoji standardna mogućnost skraćivanja virtualni diskovi, međutim, još uvijek nije jednostavan za korištenje. Činjenica je da za smanjenje veličine VHD-a unutar njega mora postojati slobodan nedodijeljeni prostor. U suprotnom, opcija Shrink nije dostupna u GUI-u, a PowerShell će izbaciti pogrešku kada pokuša smanjiti disk pomoću Resize-VHD-a.

Kao primjer, uzmimo virtualni stroj SRV01 s virtualnim diskom od 40 GB i smanjimo ga na 30 GB. Da bismo to učinili, prvo postavljamo VM u varijablu i prikazujemo svojstva njegovog virtualnog diska:

$vm = Get-VM -Name SRV01
Get-VHD -VMId $vm.VMId

U VHD svojstvima zanimaju nas takvi parametri kao što su:

  1. FileSize je trenutna veličina VHD datoteke. Prikazuje stvarni volumen prostor na disku, koji uzima virtualni disk.
  2. Veličina — trenutna veličina virtualnog diska. U slučaju dinamičkog VHD-a, prikazuje maksimalnu veličinu do koje može narasti.
  3. MinimumSize - minimalna veličina virtualnog diska ili najmanja moguća veličina na koju se VHD može smanjiti.

Kao što se može vidjeti iz primjera, imamo dinamički proširivi VHD veličine 40 GB, od čega ovaj trenutak Nešto više od 20GB je zauzeto. Ima slobodnog prostora, ali trenutni i minimalne dimenzije su gotovo identični, tako da rezanje diska neće uspjeti.

Za naknadne manipulacije VM mora biti isključen, pa provjeravamo njegov status i po potrebi ga isključujemo:

$vm.Stanje $vm | Stop-VM-Force

Zatim montiramo VHD na nadređeni sustav i prikazujemo svojstva dobivenog diska:

Mount-VHD -Path $vm.HardDrives.Path -Passthru | Get-Disk

Uzimamo dobiveni broj diska i prikazujemo sve particije na njemu:

Get-Partition -DiskNumber 3

Ako disk odjednom sadrži nekoliko malih, nerazumljivih particija, ne biste ih trebali dirati. Oni sadrže važna informacija, potrebno za pokretanje i vraćanje sustava. Trebamo particiju koja ima slovo pogona. Smanjimo ga na 30 GB i provjerimo što se dogodilo:

Promjena veličine-Particija -Slovo pogona E -Veličina 30GB
Get-Partition -DriveLetter E

Isključimo VHD iz nadređenog sustava:

Dismount-VHD -Path $vm.HardDrives.Path

I smanjite ga na najmanju moguću vrijednost:

Resize-VHD -Path $vm.HardDrives.Path -ToMinimumSize

Kao što vidite, sve je uspjelo, virtualni disk smanjen je na 30 GB. Ostaje samo pokrenuti VM.

Dobar dan!. Zadatak je jednostavan, smanjite veličinu vmdk virtualnog diska u ESXI 5 ili 6.5. Takva potreba može nastati zbog pogrešnog planiranja ili jednostavno zbog netočnih informacija od strane osobe koja postavlja zadatak. Ono što imamo je virtualni stroj sa Windows poslužitelj 2008 R2 disk C 50 GB zauzima 20 GB i disk D 100 GB, a koristi se 1, treba smanjiti na 10 recimo i da ostane debelo. Nažalost, to se ne može učiniti standardnim sredstvima; to nije kao da uđete u postavke u Hyper-V-u i oduzmete potrebnu količinu. Ali srećom, postoji jednostavan način da se to riješi, naime uslužni program VMware vCenter Converter Standalone 5-6.2, opisao sam primjer njegovog rada.

Otvorite uslužni program. Odaberite "VMware Infrastructure virtual machine" i unesite vjerodajnice za povezivanje s vašim glavnim ili vCenter poslužiteljem. Zatim sljedeći.

Odaberite host i virtualni stroj da biste smanjili prostor na disku.

Upisujemo odredište i pristupamo podacima, u mom primjeru to je isti vcenter poslužitelj.

Odaberite instalacijsku mapu i naziv

Odabiremo host, preporučujem vmtools verziju 9, tako da možete uređivati ​​iz debelog klijenta u Windowsima i pohrani podataka, inače ćete morati vratiti verziju virtualne opreme na nižu verziju.

A sada zabavni dio, smanjivanje diskova. Vrsta kopiranja podataka odaberite Odaberi volumen i ispod na tvrdom disku nalazi se gumb za uređivanje, u padajućem izborniku možete odabrati trenutnu veličinu ili minimalnu, odaberite minimalnu, zatim nakon završetka konverzije proširite na onu koja vam je potrebna, u stvari, kliknite dalje i proces počinje.

Važno. Ova uputa nije službeno podržano rješenje za komprimiranje vmdk diskova, ali ju je autor članka više puta koristio u produkcijskom okruženju. Prilikom pisanja ovog članka korišten je ESXi 5.1.

Prije izvođenja postupka za smanjenje veličine virtualnog diska na VMWare ESXi, morate:

  • Izbriši sve snimke virtualni stroj, inače možete oštetiti virtualni disk
  • Stvorite potpunu ili jednostavno napravite kopiju smanjene vmdk datoteke pomoću naredbi: cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

Postupak smanjenja veličine virtualnog diska sastoji se od dvije faze:

Smanjenje particije unutar OS-a za goste

Prije svega, trebate smanjiti veličinu particije diska unutar gosta operacijski sustav. To se može učiniti iz Disk Management Managera (operacija podržana od Windows Vista) ili pomoću uslužnih programa trećih strana (na primjer, Acronis disk Direktor). Ako to ne učinite, mogli biste završiti s nezdravim datotečnim sustavom nakon smanjivanja virtualnog diska.

Recimo da želimo smanjiti veličinu diska za 19,5 GB. To znači da bi se veličina volumena trebala smanjiti za 19968 MB (19,5 GB x 1024). Ovo je vrijednost koju je potrebno unijeti u polje Shrink Volume wizard. Nakon smanjenja veličine particije, ostat će određena količina nedodijeljenog prostora na našem disku (u našem primjeru 19,5 GB)

Smanjenje veličine VMDK datoteke VMware virtualnog stroja

Prijeđimo na drugu operaciju - izravno mijenjam veličinu VMDK datoteke u sustav datoteka VMWare VMFS.

  1. Isključite virtualni stroj čiju veličinu virtualnog diska želite smanjiti
  2. Povežite se putem SSH-a na konzolu ESXi hipervizora na kojem je VM registriran
  3. Idite u direktorij u kojem je pohranjena VM vmdk datoteka (put se može pronaći u svojstvima virtualnog diska u vSphere grafičkom klijentu): cd /vmfs/volumes/datastore/VM-name

  4. Pogledajmo sadržaj konfiguracijska datoteka s ekstenzijom *.vmdk pomoću naredbe cat: cat VM-name.vmdk

    Veličina diska vmdk postavljena je u odjeljku #Opis opsega(iza RW simbola). U u ovom slučaju navedeni broj 83886080 (40 GB *1024*1024*1024 / 512)

  5. Želimo smanjiti veličinu vmdk diska sa 40 na 20 GB. To znači da u odjeljku Opis opsega morate navesti vrijednost: 41943040 (20 GB*1024*1024*1024 / 512). Postavite novu veličinu virtualnog diska pomoću uređivač teksta(vi ili nano).
  6. Sve što preostaje je klonirati ili migrirati (Storage VMotion) virtualni stroj u drugu pohranu (datastore). Nakon premještanja datoteka virtualnog stroja, njegova svojstva prikazat će novu veličinu virtualnog diska.

    Savjet. Ako ne postoji vCenter ili postoji samo jedna VMFS pohrana, ove operacije nisu dostupne. U ovom slučaju, možete klonirati vmdk disk naredbom:

    Vmkfstools -i vmname.vmdk vmname-nova-veličina.vmdk

    Izbrišite izvorni disk i ponovno klonirajte vmdk disk, vraćajući mu prethodni naziv:

    Rm vmname.vmdk rm vmname-flat.vmdk vmkfstools -i vmname-new-size.vmdk vmname.vmdk

  7. Sve što preostaje je pokrenuti gostujući OS i uvjeriti se da je nedodijeljeno područje nestalo.

    Savjet. Ako ste koristili uslužni program vmkfstools u prethodnom koraku, možda ćete morati ponovno povezati virtualni disk u postavkama VM-a jer njegova nova veličina možda neće biti ispravno prikazana.

Dakle, pogledali smo jednu od opcija za izvođenje operacije smanjenja veličine virtualnih vmdk diskova na VMWare ESXi. Ako trebate smanjiti veličinu tankog diska VMWare korištenjem neiskorištenog prostora, preporučujemo korištenje uputa.

Bilješka. Sljedeće sheme često se koriste kao uobičajene alternativne metode za komprimiranje virtualnih vmdk diskova:

  • Smanjenje veličine virtualnog diska pretvorbom virtualnog stroja pomoću VMware vCenter Converter (prilikom pretvorbe veličina dobivenog diska navedena je kao manja od originalne)
  • Kloniranje sadržaja virtualnog diska pomoću softver treće strane(na primjer, Acronis Prava slika ili Symantec Ghost32). Operacija se izvodi dodavanjem novog, manjeg diska virtualnom stroju i kloniranjem sadržaja većeg diska na njega. Nakon toga veliki disk se uklanja.

Smanjenje veličine virtualnog diska pretvorbom pomoću VMware vCenter Converter Standalone

Drugi način smanjivanja veličine virtualnih diskova u VM-u na VMWareu pomoću GUI-a jest korištenje besplatni pretvarač — .

Mana:

  • Metoda nije brza
  • nema potrebe za otvaranjem u vCenter ili ESXi konzolu glavnog računala
  • stvara se točna kopija VM-a
  • izvor se neće pokvariti ako dođe do pogreške u dodjeli parametara zadatku pretvorbe

U nastavku su upute korak po korak

Bilješka.Virtualni stroj koji ćemo pretvoriti (promijeniti veličinu diskova itd.) mora biti isključeno.

Isključeno je.
Odnosno, prije konverzije, na izvornom virtualnom računalu morate pokrenuti: Ugasiti ili Isključivanje, ali ne Obustaviti.

Navedite ESXi host adresu.

Odaberite izvorni VM.

Odredite parametre novog VM-a.

Idi na način uređivanja diska (Podaci za kopiranje -> Uredi)

Odaberite način kopiranja: Odaberite sveske za kopiranje

Navedite željenu veličinu diska u novom VM-u. Kao što vidite, gostujući disk koristi 48 GB, a veličina samog diska je 150. Smanjit ćemo ga na 60 GB.



Pokrećemo proces konverzije, gasimo originalni VM, uključujemo novi. Provjeravamo je li se veličina diska smanjila, nakon čega se izvorni VM može izbrisati.

Za razliku od postupka proširenja diska VMWare virtualnog stroja, koji se može izvesti izravno u hodu, postupak smanjenja veličine vmdk datoteke na VMWare ESXi hipervizoru je složeniji zadatak, te se može izvesti izravno putem GUI vSphere Client u osnovi je nemoguć - navođenje manje veličine jednostavno neće funkcionirati.

Bilješka

Imajte na umu da u Najnovija verzija Microsoftov hipervizor - postoji tehnologija za dinamičku promjenu (i proširivanje i sažimanje) virtualnih diskova pod nazivom Hyper-V Online VHDX Resize.

Ova uputa nije službeno podržano rješenje za komprimiranje vmdk diskova, ali ju je autor članka više puta koristio u produkcijskom okruženju. Prilikom pisanja ovog članka korišten je ESXi 5.1.

Prije izvođenja postupka za smanjenje veličine virtualnog diska na VMWare ESXi, morate:

    Izbrišite sve snimke virtualnog stroja, inače možete oštetiti virtualni disk

    Stvorite kompletan sigurnosna kopija virtualni stroj ili jednostavno napravite kopiju skupljive vmdk datoteke pomoću naredbi:

cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

Postupak smanjenja veličine virtualnog diska sastoji se od dvije faze:

    Smanjenje particije unutar OS-a za goste

    Smanjenje veličine VMDK datoteke VMware virtualnog stroja

Smanjenje particije unutar OS-a za goste

Prije svega, trebate smanjiti veličinu particije diska unutar gostujućeg operativnog sustava. To se može učiniti iz Disk Management Managera (operacija Shrink Volume, podržana od sustava Windows Vista) ili pomoću pomoćnih programa trećih strana (na primjer, Acronis Disk Director). Ako to ne učinite, mogli biste završiti s nezdravim datotečnim sustavom nakon smanjivanja virtualnog diska.

Recimo da želimo smanjiti veličinu diska za 19,5 GB. To znači da bi se veličina volumena trebala smanjiti za 19968 MB (19,5 GB x 1024). Ovo je vrijednost koju je potrebno unijeti u polje Shrink Volume wizard. Nakon smanjenja veličine particije, ostat će određena količina nedodijeljenog prostora na našem disku (u našem primjeru 19,5 GB)

Smanjenje veličine VMDK datoteke VMware virtualnog stroja

Prijeđimo na drugu operaciju - izravno mijenjam veličinu VMDK datoteke na VMWare VMFS datotečnom sustavu.

    Isključite virtualni stroj čiju veličinu virtualnog diska želite smanjiti

    Povežite se putem SSH-a na konzolu ESXi hipervizora na kojem je VM registriran

    Idite u direktorij u kojem je pohranjena VM vmdk datoteka (put se može pronaći u svojstvima virtualnog diska u vSphere grafičkom klijentu):

cd /vmfs/volumes/datastore/VM-name

4. Pregledajte sadržaj konfiguracijske datoteke s ekstenzijom *.vmdk pomoću naredbe cat:

cat VM-name.vmdk

Veličina vmdk diska navedena je u odjeljku opisa #Extent (nakon RW simbola). U ovom slučaju, navedeni broj je 83886080 (40 GB * 1024 * 1024 * 1024 / 512)

5. Želimo smanjiti veličinu vmdk diska sa 40 na 20 GB. To znači da u odjeljku Opis proširenja morate navesti vrijednost: 41943040 (20 GB * 1024 * 1024 * 1024 / 512). Postavite novu veličinu virtualnog diska pomoću uređivača teksta (vi ili nano).

6. Sve što preostaje je klonirati ili migrirati (Storage VMotion) virtualni stroj u drugu pohranu (datastore). Nakon premještanja datoteka virtualnog stroja, njegova svojstva prikazat će novu veličinu virtualnog diska.

Ako ne postoji vCenter ili postoji samo jedna VMFS pohrana, ove operacije nisu dostupne. U ovom slučaju, možete klonirati vmdk disk naredbom:

vmkfstools -i vmname.vmdk vmname-nova-veličina.vmdk

Izbrišite izvorni disk i ponovno klonirajte vmdk disk, vraćajući mu prethodni naziv:

rm vmname-flat.vmdk

vmkfstools -i vmname-nova-veličina.vmdk vmname.vmdk

7. Sve što preostaje je pokrenuti gostujući OS i uvjeriti se da je nedodijeljeno područje nestalo.

Savjet. Ako ste koristili uslužni program vmkfstools u prethodnom koraku, možda ćete morati ponovno povezati virtualni disk u postavkama VM-a jer njegova nova veličina možda neće biti ispravno prikazana.

Dakle, pogledali smo jednu od opcija za izvođenje operacije smanjenja veličine virtualnih vmdk diskova na VMWare ESXi. Ako trebate smanjiti veličinu VMWare tankog diska korištenjem neiskorištenog prostora, preporučujemo korištenje ovih uputa.

Na poslu imam nekoliko virtualnih strojeva koji pokreću hipervizor ESXi 5, kad sam kreirao diskove, napravio sam ih tankim, u nekoj fazi veličina zauzetog diska je narasla, iako sam izbrisao podatke u virtualnom poslužitelju, disk ostaje iste veličine , kako mogu smanjiti disk?

VMWare tanki diskovi mogu značajno uštedjeti prostor na VMFS sustavu datoteka za pohranu prilikom izrade virtualnog stroja. Kada su stvoreni, takvi vmdk diskovi ne zauzimaju praktički nikakav prostor u datotečnom sustavu i postupno rastu do svoje maksimalne veličine kako se informacije akumuliraju. Međutim, glavni problem s korištenjem tankih diskova je taj što s vremenom rastu, čak i ako oslobodite prostor unutar gostujućeg operativnog sustava.

Bilješka. Prilikom brisanja podataka u Windows OS-u (a to vrijedi i za Linux) sustav ne popunjava zauzeti prostor nulama, već područja jednostavno označava kao obrisana u metapodacima particije (mogu se koristiti za snimanje). Ispostavilo se da ESXi poslužitelj ne može samostalno odrediti koji su od blokova koji su mu dani zapravo besplatni

U ESXi nema standardnih sredstava za komprimiranje tankih diskova, a sam virtualizacijski sustav ne zna ništa o značajkama pohrane podataka unutar gostujućeg OS-a.

U ovom ćemo članku opisati jednostavan način komprimiranja tankog vmdk diska u ESXi.

  1. U prvoj fazi trebate pomoći hipervizoru ispunjavanjem svih slobodno mjesto na diskovima unutar gostujućeg OS-a s nulama Možete resetirati slobodne blokove u sustavu Windows pomoću uslužnog programa SDelete Marka Rusinovicha (u vrijeme pisanja ovog članka, najnoviji dostupna verzija SDelete v1.61 (ako koristite stariju verziju SDelete, imajte na umu da može koristiti malo drugačije parametre). SDelete možete preuzeti ovdje: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx.

    Raspakirajte arhivu na disk, otvorite naredbeni redak(s administratorskim pravima, naravno) i pokrenite sljedeću naredbu

    Brisanje –z c:

    U ovom slučaju, c: je virtualni tanki vmdk disk koji planiramo komprimirati.

    Na Linuxu se ova operacija može izvesti pomoću dd

    Dd if=/dev/nula bs=64k od=nula.temp ; rm nula.temp

  2. Isključite gostujući OS (isključivanje).

    Bilješka. Također možete komprimirati disk migriranjem virtualnog stroja u drugu pohranu (Storage VMotion). Međutim, napominjemo da ovu metodu nije univerzalan i radi samo ako su zadovoljeni određeni uvjeti.

  3. Spajamo se na ESXi poslužitelj putem SSH kao root (ne zaboravite omogućiti SSH uslugu i dopustiti dolazni promet na ESXi vatrozidu). Idite u direktorij s datotekama virtualnog stroja:
    cd vmfs/volumeni/storage1/vm1

    gdje je storage1 naziv skladišta, a vm1 je direktorij u kojem su pohranjene datoteke s vmdk diskovima virtualnog stroja

  4. Prikažimo "punu" veličinu virtualnog diska.
    ls -lh *.vmdk

    "Prava" veličina virtualnog diska koju on zauzima u datotečnom sustavu može se pronaći ovako:

    Du –h *.vmdk

    Kao što vidite, tanki disk zauzima 33 GB prostora za pohranu (maksimalna veličina mu je 40 GB). Štoviše, samo 15 GB je zauzeto unutar Windows gostujućeg OS-a.

  5. Komprimiramo vmdk disk koristeći vmkfstools. Naredba za kompresiju tankog diska izgledala bi ovako:
    vmkfstools --punchzero /vmfs/volumes/storage1/vm1/vm1.vmdk

    Postupak kompresije u našem primjeru trajao je oko 5 minuta (brzina ovisi o veličini diska te brzini i opterećenju pohrane i SAN mreže). Nakon završetka postupka kompresije, provjerit ćemo trenutnu veličinu vmdk datoteke.

    Kao što vidite, vmdk disk se smanjio na 15 GB!

Bilješka. Ako postoji nekoliko diskova, ovaj se postupak mora izvesti za svaki.