2012-12-17

Большое горе, или восстановление VMFS 3

Итак, я, походу, налажал нипадецки. И надо из этой лажи выбираться...

Значит, есть ESXi 4.1. К серверу через FC адаптер подключена дисковая полка CLARiiON AX4-5.На дисковой полке создан виртуальный диск, размером 1.8Tb. Диск подключен к ESXi как datastore, и на нем создана виртуальная машина. Используется эта виртуалка для хранения бэкапов, которые еще не записаны на диски и вообще самых важных. Ну а че, это же, типа, самое надежное место хранения.... было... пока я не решил место увеличить....

Ну, да, по порядку...

Итак, места виртуалке стало не хватать (бэкапы место жрут будь здоров), и я решил, как я это делаю обычно, это самое место увеличить. В Navisphere на AX4 увеличиваю виртуальный диск на 150Gb. Все нормально, все как обычно. Потом выключаю виртуалку, открываю свойства datastore, нажимаю замечательную кнопочку "Increase", указываю максимально допустимый размер (был указан по умолчанию), ну и говорю - "Огонь, давай, родимый, расти!!!". А ESXi мне и говорит в ответ нечеловеческим голосом:

Call "HostDatastoreSystem.ExpandVmfsDatastore" for object "ha-datastoresystem" on ESXi "esxi05" failed.
Operation failed, diagnostics report: Unable to grow Filesystem, please see VMkernel log for details 


И вот тут я понял - ЖОПА!!! Еще не до конца понял, почему, но то, что это именно она я понял на 110%. Упало у меня все ниже подошвы и начал я подозревать, что хана пришла бэкапам :(

Кнопка там была всего одна, с оптимистичной надписью "ОК" ее и нажал, прекрасно понимая, что никакого ОК не будет, причем долго...

После нажатия datastore исчез, виртуалка перешла в состояние unaccessible. 

2013.01.15

Итак, итог...
Восстановить получилось примерно 35 Гиг архивов, что составило около 2% от общего количества убитых данных. Прямо скажем - негусто.

Как получилось в итоге восстановить - при помощи R-Studio, спасибо разработчикам, это мегавещь, всем советую всегда иметь под рукой на всякий случай.

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

В идеале в моей ситуации нужно было действовать так:
0. Не делать никаких действий, связанных с изменениями файловой система на убитом разделе. Все участники процесса увидят его таким, какой он есть.
1. Физически переподключить убитый datastore на ESXi сервер 5-й версии и никак его не настраивать и не добавлять. Должно существовать только физическое соединение.
2. На сервере, куда подключили datastore, создать виндозную виртуалку, лучше xp, установить в нее R-Studio.
3. Найти место, куда будут восстанавливаться данные. Место должно быть джоступно по сети созданной виртуалке.
4. Добавить datastore в виртуалку как Physical LUN(Mapped Raw LUN), не создавать на нем никаких файловых систем, ничего. Винда его и видеть не должна, все увидит R-Studio.
5. Запустить R-Studio, просканировать datastore, все, что нашло - восстановить на место, созданное в п.3. Чтобы R-Studio лучше нашло потерянный данные, необходимо указать программе, что конкретно искать, иначе, если она будет искать все подряд, то и бабуина там найдет, и восстановить, только в итоге не бабуин окажется, а стадо дохлых жирафов... У меня например на разделе весом 2 TB нашло 400 EB (эктобайт, как я понимаю) каких-то zip-ов, которых там сроду небыло.

Предостережение для таких же горюющих, как и я:
НИКОГДА, НИКОГДА, НИКОГДА НИЧЕГО НЕ МЕНЯЙТЕ НА ФАЙЛОВОЙ СИСТЕМЕ, С КОТОРОЙ НУЖНО ВОССТАНОВИТЬ ДАННЫЕ. ОНА ДО ОКОНЧАНИЯ ПРОЦЕССА ВОССТАНОВЛЕНИЯ СВЯТАЯ И НЕПРИКАСАЕМАЯ КОРОВА, ДАЖЕ ДЫШАТЬ НА НЕЕ ОСТОРОЖНО. ВОССТАНОВИТЬ МОЖНО ПОЧТИ ВСЕ И ОТОВСЮДУ НЕ ПОМЕНЯВ НИ БАЙТА. ЭТО, ПРАКТИЧЕСКИ, ЗАЛОГ УДАЧНОГО ПРОЦЕССА ВОССТАНОВЛЕНИЯ.

Комментариев нет: