Перейти к содержанию

07.07.2011

2

Тонкие диски в VMware

Тонкие (thin) диски, полезная вещь, однако они имеют свойство разрастаться, и со временем теряют все свои преимущества. Ведь стандартного средства для сжатия (shrink) в VMware vSphere 4.1u1 нет. А система виртуализации ничего не знает о формате хранимых данных, для этого ей нужна помощь изнутри гостя. Достаточно заполнить нулями все свободное место и мигрировать машину на другое хранилище.

Сжатие тонких дисков в Windows гостях

Сжать тонкие диски у Windows гостей поможет утилита SDelete от Марка Руссиновича, входящая в Sysinternals Suite.

SDelete — Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals — www.sysinternals.com

usage: C:\Program Files\Sysinternals\sdelete.exe [-p passes] [-s] [-q] <file or directory> …
C:\Program Files\Sysinternals\sdelete.exe [-p passes] [-z|-c] [drive letter] …
-a         Remove Read-Only attribute
-c         Clean free space
-p passes  Specifies number of overwrite passes (default is 1)
-q         Don’t print errors (Quiet)
-s or -r   Recurse subdirectories
-z         Zero free space (good for virtual disk optimization)

  1. Заполняем нулями все свободное место на разделе;
    sdelete -z C
  2. Мигрируем виртуальную машину на другое хранилище.

Обратите внимание, что в предыдущей версии SDelete рекомендовался другой ключ для очистки диска:

SDelete — Secure Delete v1.51
Copyright (C) 1999-2005 Mark Russinovich
Sysinternals — www.sysinternals.com

usage: C:\Program Files\Sysinternals\sdelete.exr [-p passes] [-s] [-q]
C:\Program Files\Sysinternals\sdelete.exe [-p passes] [-z|-c] [drive letter]
-c Zero free space (good for virtual disk optimization)
-p passes Specifies number of overwrite passes (default is 1)
-q Don’t print errors (Quiet)
-s Recurse subdirectories
-z Clean free space

Сжатие тонких дисков в Linux гостях

В Linux гостях для обнуления свободного пространства на разделах можно воспользоваться dd:

dd if=/dev/zero bs=64k of=zero.temp ; rm zero.temp

Не забудьте сделать это для всех разделов и затем мигрируйте виртуальную машину на другой datastore.

Вот и все. При миграции будет перенесена только значимая информация, пустые блоки будут пропущены. При необходимости машину потом можно вернуть обратно.

Остается надеяться, что в будущем в виртуалках появится поддержка TRIM или что-то аналогичное.

Настройка ESXi хоста

При переносе между datastore с одинаковым размером блока, уменьшение размера может и не произойти. Проверка. К счастью, есть скрытая опция, которая может помочь, доступна только для ESXi.

~ # vsish
/> get /config/VMFS3/intOpts/EnableDataMovement
Vmkernel Config Option {
Default value:1
Min value:0
Max value:1
Current value:1
hidden config option:1
Description:Whether VMFS should handle data movement requests by leveraging FS3DM
}
/> set /config/VMFS3/intOpts/EnableDataMovement 0
0
/> get /config/VMFS3/intOpts/EnableDataMovement
Vmkernel Config Option {
Default value:1
Min value:0
Max value:1
Current value:0
hidden config option:1
Description:Whether VMFS should handle data movement requests by leveraging FS3DM
}
/>

Важно: Экспериментальным путем было выяснено, что изменение этой опции действует до перезагрузки хоста.

2 комментария Ваш отзыв
  1. Al
    Дек 26 2011

    Не надо ничего никуда мигрировать, после обнуления блоков в госте используем «дырокол»:
    в шелле хоста команда vmkfstools -K .vmdk
    при этом не требуется дополнительного места и операций копирования.

    Ответить
    • DimXP
      Июн 5 2012

      Неочень понятна рекомендация про «-К»
      вот описание данной команды:

      vmkfstools -k

      This command allows you to convert a preallocated virtual disk to eagerzeroedthick and maintains any existing data:

      # vmkfstools -k «My VM.vmdk»

      это выдержка из VMware Knowledge Base (http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1011170) и там говорится что эта команда конвертирует vmdk файл в eagerzeroedthick (где все блоки обнуляется при создании диска) что совсем не соответствует желанию уменьшить размер thin диска.

      Пока нет простого средства контролировать разрастание thin дисков, хотя мне встречались коммерческая программа которая якобы это умеют, Quest vOptimizer Pro кажется так называется.

      Ответить

Поделитесь своими мыслями, оставьте комментарий.

(required)
(required)

Внимание: HTML допускается. Ваш e-mail никогда не будет опубликован.

Подписка на комментарии

Captcha * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.