У меня есть виртуальная машина, которая, похоже, работает нормально, но когда VMWare DR (или I) пытается создать моментальный снимок, он терпит неудачу, и когда я просматриваю сводную страницу виртуальной машины, вверху появляется предупреждение, показывающее, что диски необходимо консолидировать.
Итак, я перехожу к диспетчеру моментальных снимков для виртуальной машины и выбираю консолидировать (в диспетчере моментальных снимков, кстати, на самом деле нет никаких снимков). В случае сбоя с этой ошибкой:
Эта виртуальная машина имеет 255 или более журналов повторного выполнения в одной ветви дерева моментальных снимков. Достигнут максимально допустимый предел, создание новых снимков будет запрещено. Чтобы создать новые снимки, удалите старые снимки или объедините журналы повторов.
Если я просматриваю хранилище данных (в котором много свободного места, 2 ТБ, а этот vm меньше 40 ГБ), в папке vm я действительно вижу кучу файлов, пронумерованных до 0255:
Как я могу все это очистить? Есть ли команда командной строки SSH или я могу безопасно удалить некоторые файлы? Спасибо!
Вот КБ об устранении этой проблемы. Я не перемещал персонал, а просто сделал несколько снимков в середине, чтобы получить более управляемый счетчик, а затем использовал "Консолидировать" ...
Я сделал следующее:
Используйте с осторожностью и не копируйте команды вслепую. Фактические имена файлов, номера, расположение и т. Д. Могут отличаться. У вас должны быть резервные копии ваших данных!
Пока виртуальная машина все еще работает:
/vmfs/volumes/XXXXXXXXX/myvm # mkdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000254.vmdk
Disk chain is consistent.
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -i myvm-000254.vmdk -d zeroedthick consolidate/myvm.vmdk
Это объединяет все снимки до снимка № 254 на одном диске в consolidate/myvm.vmdk
. Мы можем это сделать, поскольку фактическая активность записи есть только на myvm-000255.vmdk (последний снимок диска).
Имейте в виду, что ваши фактические цифры могут отличаться.
Теперь выключите виртуальную машину.
Удалите виртуальную машину из инвентаря.
/vmfs/volumes/XXXXXXXXX/myvm # mkdir backup
/vmfs/volumes/XXXXXXXXX/myvm # mv *.vmdk backup/
/vmfs/volumes/XXXXXXXXX/myvm # cp backup/myvm-000255*.vmdk consoldidate/
редактировать consolidate/myvm-000255.vmdk
:
+ Изменить parentCID
к записи CID consolidate/myvm.vmdk
(В моем случае это уже было нормально, так как vmkfstools -i
похоже, сохраняет CID.)
+ Изменить parentFileNameHint
:
parentFileNameHint="myvm.vmdk"
Теперь скопируйте файлы из consolidate/
обратно на место:
/vmfs/volumes/XXXXXXXXX/myvm # mv consolidate/*.vmdk .
/vmfs/volumes/XXXXXXXXX/myvm # rmdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000255.vmdk
Disk chain is consistent.
Перерегистрируйте свою виртуальную машину.
Включите вашу виртуальную машину.
Теперь вы можете использовать опцию консолидации в vSphere Web Client для консолидации последней дельты, пока виртуальная машина уже работает.
Если все работает нормально, вы можете удалить резервную копию.
В общем, хороший ресурс для ручного редактирования диска VMWare: http://sanbarrow.com/vmdk-handbook.html
Хотя на самом деле это не «исправление» как таковое, и, возможно, оно бесполезно для производственного сервера, когда я сталкивался с подобными проблемами в прошлом, я считаю, что самое простое решение - просто использовать конвертер Vmware в v2v. машина, это обеспечивает идентичную машину с одним vmdk на диск и выполняется с помощью агента внутри виртуальной машины, а не на уровне гипервизора, поэтому он не знает моментальных снимков.