Недавно столкнулся с с очень неприятной вещью на одном из серверов ESXi с пачкой виртуальных машин.

Одна из машин представляет из себя набор пользовательских сервисов и состоит из двух виртуальных дисков \\основного на 500Гб и резервного для бакапов на 450Гб\\. Обоим дискам и самой машине был выделен отдельных физический диск на 1Тб, дабы не "мешать" остальным машинам. После первоначальной настройки ОС и заливки начальных пользовательских данных был снят первый снапшот, что бы иметь "чистую", но настроенную систему. По завершению, машина ушла в свободное плавание и не беспокоила с пол года.

Недавно потребовалось произвести ряд системных изменений и поиграть с данными. По этой причине был снят еще один снапшот. Что и стало ошибкой номер раз. За время работы машины диски "распухли" до 250 Гб каждый. Второй снапшот увеличил объем в два раза, что привело к предельному значению по отношении к физическому диску в 1Тб.

В панели vSphera client -сразу не заметил, что Free у диска 996мб, а не Гб. Машина поработав немного упала и из-за отсутствия места запускаться больше не захотела.

Начались танцы с бубном. Вариантов в голову пришло несколько. Хотя отчетливо понимал, что любой из них это простой системы от нескольких часов до нескольких дней. Частично спасало то, что надвигались два выходных и активного народу на сервере не так много.

Первое что сделал сразу - удалил ранее созданные снапшоты. Сами файлы физически конечно остались и система тут же предложила провести объединение. В версиях ESXi начиная с 4ки ребята-создатели конечно упросили сценарий объединения файлов в один, но сути это не меняло - есть 4 файла по 250 Гигов, которые надо объединить в два по 500, создав при этом темп-файлы тут же, рядом, на этом же винте. Немного потупив - система радостно сообщила, что места для проведения операции объединения нет.

Переносить 1 Тб на другой винт не было возможности, во-первых нет на физическом сервере таких пустых винтов, а во-вторых, это бы заняло вечность.

Ужимать винты ESXi попросту не умеет. Заполнить их нулями из под ОС, а потом средствами ESXi эти самые нули ужать, освободив место на физическом диске - идея конечно хорошая, но заполнив и без того распухшие винты ОС не запустилась бы совсем. \\а я все таки ее запустил уменьшив ОЗУ и выиграв еще 512мб места :)

Клонирование винтов опять же не супер. Некуда, даже с небольшим урезанием размеров винтов.

Осталась только одна идея - поднять новую систему, создать новые винты, и средствами ОС переносить данные клиентов пачками, запуская их по очереди исходя из приоритета клиента. Процесс копирования и запуска в общем занял порядка одного дня. Данные первых самых "ярких" клиентов заработали уже через пару часов.

Больше снапами я не пользуюсь :)

 

undefined