- Thick Provisioned Eager Zeroed.
- Thin Provisioned.
- Thick Provisioned Lazy Zeroed — используется по умолчанию.
Когда перед вами стоит задача оптимизации места в хранилище данных, наиболее разумным решением будет преобразование толстого выделенного диска (Lazy Zeroed) в тонкий. Но каковы способы выполнения такого преобразования и какие шаги нужно предпринять?
Давайте разберемся!
Типы дисков в VMware
- Thick Provision Lazy Zeroed — это диск, который сразу занимает всё выделенное пространство при создании, но может содержать старые данные на физическом носителе. Эти данные не стираются и не перезаписываются, поэтому перед записью новых данных блоки необходимо «обнулить». Такой диск создается быстрее, но его производительность снижается при первых операциях записи из-за повышенного количества операций ввода-вывода (IOPS) для новых блоков.
- Thick Provision Eager Zeroed — этот тип диска выделяет всё необходимое пространство уже на этапе создания, очищая его от старых данных. Это достигается путем записи нулей на весь диск, что увеличивает время создания, но обеспечивает более высокую производительность во время первых записей. Диски с «жадным обнулением» поддерживают кластерные функции, такие как отказоустойчивость.
- Thin Provision — этот тип диска потребляет только то пространство, которое фактически используется, и увеличивает занимаемый объём по мере необходимости. Такой подход позволяет экономить ресурсы хранилища, предоставляя гибкость для роста виртуального диска в будущем.
Как выполнить преобразование диска с толстым резервированием в тонкий?
Преобразование диска с толстым выделением ресурсов в тонкий на VMware ESXi можно выполнить несколькими способами:
- VMware Converter — использовать VMware Converter для миграции виртуальной машины с преобразованием диска в тонкий.
- VMware vCenter (vMotion) — с помощью vMotion можно переместить виртуальную машину на другой datastore и одновременно преобразовать диск в Thin Provision.
- Командная строка VMware — выполнить преобразование через оболочку ESXi с использованием команды
vmkfstools. Эта статья посвящена именно этому методу.
Если у вас настроен vCenter, наиболее удобный способ преобразования — переместить виртуальную машину с помощью vMotion, выбрав формат диска Thin Provision в мастере миграции.
Если же vCenter отсутствует, у вас только один хост ESXi или вы не хотите использовать лицензию для доступа к дополнительным функциям, можно воспользоваться VMware Converter или командной строкой через vmkfstools.
Преобразование Thick Provisioned в Thin Provisioned с помощью vmkfstools
В этом пошаговом руководстве мы рассмотрим, как преобразовать толстый диск в тонкий на VMware ESXi 6.7. Для этого используется команда vmkfstools.
vmkfstools — это инструмент VMware ESXi, позволяющий выполнять различные операции с виртуальными дисками, в том числе клонировать VMDK и изменять формат резервирования диска.
Также рекомендую ознакомиться с официальной документацией VMware по работе с виртуальными дисками с помощью vmkfstools.
Шаг 1. Проверка типа жесткого диска VMware
Войдите в веб-интерфейс VMware ESXi и откройте раздел Virtual Machines в левом меню. Найдите нужную виртуальную машину в списке, щелкните по ней правой кнопкой мыши и выберите Edit Settings, чтобы перейти к её настройкам.
Полезно проверить, сколько пространства занимает виртуальная машина. В столбце Используемое пространство видно, что данная виртуальная машина занимает 60 ГБ.
Откройте настройки виртуальной машины, разверните раздел Жесткий диск и проверьте его тип. В данном случае указано, что тип диска — Thick provisioned, lazily zeroed.
Шаг 2. Выключение ВМ
Выключите виртуальную машину, которую планируете преобразовать, если она еще не выключена.
Шаг 3. Включение SSH на хосте VMware ESXi
Для активации SSH через графический интерфейс выполните следующие действия.
Откройте настройки хоста, развернув его в меню, и перейдите в раздел Manage. На вкладке Services найдите службу с именем TSM-SSH. Нажмите кнопку Start, чтобы запустить службу SSH.
На экране появится уведомление, подтверждающее успешный запуск службы TSM-SSH.
Шаг 4. Подключение по SSH к хосту ESXi
Используйте приложение PuTTY для подключения к хосту по протоколу SSH.
Авторизуйтесь в системе, используя учетную запись с правами администратора.
login as: root
Keyboard-interactive authentication prompts from server:
| Password:
End of keyboard-interactive prompts from server
The time and date of this login have been sent to the system logs.
WARNING:
All commands run on the ESXi shell are logged and may be included in
support bundles. Do not provide passwords directly on the command line.
Most tools can prompt for secrets or accept them from standard input.
VMware offers supported, powerful system administration tools. Please
see www.vmware.com/go/sysadmintools for details.
The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
Шаг 5. Переход в папку виртуальной машины
Перейдите в каталог, в котором расположены хранилища ESXi:
[root@localhost:~] cd /vmfs/volumes
Для отображения имени хранилища виртуальной машины выполните команду:
ls -lh
В моём случае получаем:
total 1792
drwxr-xr-x 1 root root 8 Jan 1 1970 5c0b0ded-b7a4a6f0-3ff8-6d6c6426e4f1
drwxr-xr-t 1 root root 76.0K Jan 5 20:06 5e88aaf7-7ab335e2-4adc-1c697a0f86bd
drwxr-xr-x 1 root root 8 Jan 1 1970 5e88eeda-f0c3ecce-d429-1c697a0f86bd
drwxr-xr-x 1 root root 8 Jan 1 1970 62577ee5-b5de7369-1044-083e27a116b0
lrwxr-xr-x 1 root root 35 Jan 5 20:42 datastore01 -> 5e88aaf7-7ab335e2-4adc-1c697a0f86bd
Перейдите в каталог вашего хранилища данных:
[root@localhost:/vmfs/volumes] cd datastore01
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd]
Для отображения списка виртуальных машин в хранилище данных используйте команду ls -lh:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd] ls -lh
total 1024
drwxr-xr-x 1 root root 72.0K Jan 5 19:08 DC01-2016
drwxr-xr-x 1 root root 76.0K Jan 5 19:14 EX01-2016
drwxr-xr-x 1 root root 76.0K Jan 5 19:08 EX02-2016
drwxr-xr-x 1 root root 76.0K Jan 5 20:02 FS01-2016
drwxr-xr-x 1 root root 72.0K Jan 5 20:06 ISO
drwxr-xr-x 1 root root 72.0K Jan 5 19:08 KLB01
drwxr-xr-x 1 root root 72.0K Jan 5 19:17 PC01
Перейдите в каталог нужной виртуальной машины. В моём примере это файловый сервер FS01-2016:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd] cd FS01-2016
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016]
Для отображения списка файлов в каталоге выполните:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] ls -lh
total 62916608
-rw------- 1 root root 60.0G Jan 5 22:04 FS01-2016-flat.vmdk
-rw------- 1 root root 264.5K Jan 5 22:04 FS01-2016.nvram
-rw------- 1 root root 450 Jan 5 21:58 FS01-2016.vmdk
-rw-r--r-- 1 root root 0 Jan 5 21:58 FS01-2016.vmsd
-rwxr-xr-x 1 root root 3.2K Jan 5 22:04 FS01-2016.vmx
-rw-r--r-- 1 root root 226.5K Jan 5 22:04 vmware.log
Шаг 6. Клонирование VMDK в Thin Provisioned с помощью vmkfstools
Для преобразования диска в тонкий формат выполните следующую команду:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] vmkfstools -i FS01-2016.vmdk -d thin FS01-2016-thin.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk 'FS01-2016.vmdk'...
Clone: 100% done.
Эта команда клонирует исходный диск FS01-2016.vmdk в новый файл FS01-2016-thin.vmdk с использованием тонкого резервирования.
Просмотрите файлы в каталоге и убедитесь, что созданы новые файлы FS01-2016-thin-flat.vmdk и FS01-2016-thin.vmdk:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] ls -lh
total 72898560
-rw------- 1 root root 60.0G Jan 5 22:04 FS01-2016-flat.vmdk
-rw------- 1 root root 60.0G Jan 5 22:07 FS01-2016-thin-flat.vmdk
-rw------- 1 root root 504 Jan 5 22:07 FS01-2016-thin.vmdk
-rw------- 1 root root 264.5K Jan 5 22:04 FS01-2016.nvram
-rw------- 1 root root 450 Jan 5 21:58 FS01-2016.vmdk
-rw-r--r-- 1 root root 0 Jan 5 21:58 FS01-2016.vmsd
-rwxr-xr-x 1 root root 3.2K Jan 5 22:04 FS01-2016.vmx
-rw-r--r-- 1 root root 226.5K Jan 5 22:04 vmware.log
Шаг 7. Переименование старого flat-файла
Теперь переименуем старый файл:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] mv FS01-2016-flat.vmdk FS01-2016-flat.vmdk.old
Эта команда изменит имя файла FS01-2016-flat.vmdk на FS01-2016-flat.vmdk.old.
Шаг 8. Переименование нового flat-файла
Теперь переименуем созданный тонкий диск:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] mv FS01-2016-thin-flat.vmdk FS01-2016-flat.vmdk
Эта команда изменит имя файла FS01-2016-thin-flat.vmdk на FS01-2016-flat.vmdk.
Шаг 9. Отмена регистрации виртуальной машины в ESXi
Это необходимо для того, чтобы хост распознал новый тип диска. Для этого щелкните правой кнопкой мыши по виртуальной машине и выберите Unregister.
Подтвердите действие.
Шаг 10. Регистрация виртуальной машины в ESXi
Нажмите Создать/зарегистрировать виртуальную машину для добавления виртуальной машины обратно на хост.
Выберите опцию Зарегистрировать существующую виртуальную машину и нажмите Далее.
Нажмите на Выбрать одну или несколько виртуальных машин, хранилище данных или каталог.
Откройте виртуальную машину FS01-2016 и выберите файл FS01-2016.vmx. Затем нажмите Выбрать.
Нажмите кнопку Далее.
Нажмите кнопку Готово.
Шаг 11. Проверка преобразования типа жесткого диска
Проверьте используемое дисковое пространство виртуальной машины. В моём примере оно уменьшилось с 60 ГБ до 9,56 ГБ.
Щелкните правой кнопкой мыши по виртуальной машине и выберите Изменить параметры.
Разверните настройки жесткого диска и проверьте его тип. Теперь он должен отображаться как Thin provisioned.
Шаг 12. Запуск виртуальной машины
Запустите виртуальную машину и убедитесь, что она загружается и всё работает корректно.
Шаг 13. Удаление ненужных файлов VMDK
После того как вы убедились, что виртуальная машина работает корректно, можно удалить оставшиеся ненужные файлы:
[root@localhost:/vmfs/volumes/5e88aaf7-7ab335e2-4adc-1c697a0f86bd/FS01-2016] rm FS01-2016-thin.vmdk && rm FS01-2016-flat.vmdk.old
Вот и всё! Толстый диск виртуальной машины преобразован в Thin Provisioned.
Часто задаваемые вопросы
Можно ли преобразовать Thick Provisioned в Thin Provisioned без vCenter?
Да. Именно такой вариант рассмотрен в этой статье. Преобразование выполняется непосредственно на ESXi через команду vmkfstools.
Нужно ли выключать виртуальную машину перед преобразованием?
Да. В рассматриваемом способе виртуальная машина должна быть выключена, поскольку выполняются операции непосредственно с её VMDK-файлами.
Что делает команда vmkfstools -i?
Параметр -i используется для клонирования виртуального диска. В нашем случае дополнительный параметр -d thin указывает, что новый диск необходимо создать в формате Thin Provisioned.
Почему размер виртуального диска всё равно отображается как 60 ГБ?
60 ГБ — это виртуальная ёмкость диска, доступная гостевой операционной системе. Thin Provisioned позволяет физически занимать на datastore только пространство, которое действительно используется данными.
Зачем переименовывать старый VMDK в .old?
Так исходный файл временно сохраняется на datastore и его можно не удалять до проверки нового диска. После успешного запуска и проверки виртуальной машины старый файл можно удалить.
Зачем повторно регистрировать виртуальную машину?
В описанном сценарии виртуальная машина снимается с регистрации и регистрируется заново, чтобы ESXi повторно прочитал её конфигурацию и корректно отобразил изменённый тип диска.
Когда можно удалить старый толстый диск?
Только после того, как виртуальная машина успешно запустилась и вы убедились, что операционная система, данные и необходимые сервисы работают корректно.
Заключение
В этой статье вы узнали, как преобразовать диск с толстым выделением в диск с тонким выделением на VMware ESXi с помощью vmkfstools. Мы проверили исходный тип диска, выключили виртуальную машину, создали Thin Provisioned-копию VMDK, подключили её вместо исходного диска и проверили результат.
Главное при таком преобразовании — не торопиться с удалением исходного VMDK. Сначала убедитесь, что новый диск определяется как Thin Provisioned, виртуальная машина успешно запускается, а операционная система и сервисы внутри неё работают корректно.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как исправить проблему, функция «Расширить том» неактивна.