Stiskanje tankega diska v ESXi 5

Tanki (tanki) diski VMWare lahko bistveno prihranijo prostor v datotečnem sistemu VMFS pri ustvarjanju virtualnega stroja. Pri ustvarjanju takšnih vmdk diskov praktično ne zavzamejo prostora v datotečnem sistemu in postopoma rastejo do največje velikosti, saj se informacije nabirajo. Vendar je glavna težava pri uporabi tankih diskov ta, da sčasoma rastejo, tudi če sprostite prostor znotraj gostujočega operacijskega sistema.

Opomba. Ko izbrišete podatke v operacijskem sistemu Windows (velja tudi Linux), sistem ne zapolni pridobljenega prostora z ničlami, temveč preprosto označi področja kot izbrisana v metapodatkih razdelka (lahko jih uporabite za snemanje). Izkazalo se je, da strežnik ESXi ne more samostojno določiti, kateri od blokov, ki so mu bili dani, je dejansko brezplačen.

ESXi nima standardnega orodja za stiskanje tankih diskov, sam sistem virtualizacije pa ne ve ničesar o značilnostih shranjevanja podatkov v gostujočem operacijskem sistemu.

V tem članku bomo opisali enostaven način stiskanja tankega vmdk diska v ESXi..

  1. Na prvi stopnji morate pomagati hipervizorju tako, da z brezplačnim napolnjenim prostorom na disku v gostujoči OS zapolnite brezplačne bloke. Proste bloke lahko ponastavite v operacijskem sistemu Windows s pomočjo pripomočka Mark Rusinovich SDelete (v času pisanja je najnovejša različica SDelete v1.61, če uporabljate starejšo različico SDelete , ne pozabite, da se v njem lahko uporabljajo nekoliko drugačni parametri). SDelete lahko prenesete tukaj: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx. Odprite arhiv na disk, odprite ukazni poziv (seveda s skrbniškimi privilegiji) in zaženite naslednji ukaz
    Sdelete -z c:

    V tem primeru je c: virtualni tanek disk vmdk, ki ga nameravamo stisniti.

    V Linuxu lahko to operacijo izvajate z uporabo dd

    dd, če je = / dev / zero bs = 64k od = zero.temp; rm zero.temp
  2. Izklopite gostujočo OS (izklop).Opomba. Disk lahko stisnete tudi tako, da virtualni stroj preselite v drug pomnilnik (Storage VMotion). Vendar ugotavljamo, da ta metoda ni univerzalna in deluje le pod določenimi pogoji.
  3. Na strežnik ESXi se povežemo prek SSH pod korenskim sistemom (ne pozabite omogočiti SSH storitve in dovoliti dohodnega prometa na požarnem zidu ESXi). Pojdite v imenik z datotekami navideznega stroja:
    cd vmfs / volumni / storage1 / vm1

    kjer je storage1 ime pomnilnika, vm1 pa imenik, v katerem so shranjene datoteke z vmdk diski navideznega stroja

  4. Natisnite "polno" velikost virtualnega diska.
    ls -lh * .vmdk

    "Realno" velikost navideznega diska, ki ga zaseda v datotečnem sistemu, najdete na naslednji način:

    du -h * .vmdk

    Kot lahko vidite, tanek disk zasede 33 GB prostora za shranjevanje (njegova največja velikost je 40 GB). Poleg tega je v gostujoči operacijski sistem Windows zasedenih le 15 GB.

  5. Stisnite disk vmdk s pomočjo vmkfstools. Ukaz za stiskanje tankega diska bo izgledal tako:
    vmkfstools --punchzero /vmfs/volumes/storage1/vm1/vm1.vmdk

    Postopek stiskanja v našem primeru je trajal približno 5 minut (hitrost glede na velikost diska ter hitrost in preobremenjenost pomnilnika in SAN). Po zaključku postopka stiskanja preverite trenutno velikost datoteke vmdk.

    Kot vidite, se je vmdk disk skrčil na 15 GB!

Opomba. Če je več diskov, je treba ta postopek opraviti za vsakega.

Na srečo je razširitev virtualnega diska veliko lažja easier