PDA

Показать полную графическую версию : Вопрос о хранении данных в vhd (hyper-v)


A.A.Z.
06-10-2015, 01:02
Мне задали вопрос, которым хочу поделиться, чтобы понять, правильно ли я рассуждаю.

Был сервер hp ml110, на нём 2012 r2 hyper-v, в ней несколько машин (2x2008r2, 2x*nix)
В рейде была пара ssd и пара hdd, каждая в raid1, на ssd был гипервизор и один из vhd, на hdd остальные vhd(x)
Была необходимость добавить плату расширения
Техник после окончания рабочего дня выключил сервер путём нажатия на кнопку выключения (машины перешли в состояние saved, затем выключился гипервизор)
При выполнении работ "что-то пошло не так" и сервер больше не стартовал
Далее было решено в качестве временного сервера использовать обычный компьютер с ahci
Были взяты один ssd и один hdd из массивов, на ssd у гипервизора в реестре поправили criticaldevicedatabase и включили storahci, гипервизор стартовал, однако машины были в состоянии ошибки (из-за того, что они были saved), и техник, не посоветовавшись, запустил их целиком заново (здесь я не понял: то ли он их пересоздал, то ли просто снэпшоты удалил)
Далее выяснилось, что vhdx, принадлежавший файловому серверу и расположенный на hdd, содержит битую файловую систему. Была сделана его копия, копия проверена чекдиском, спустя несколько часов он закончил проверку и смог его примонтировать, однако не было всех файлов за последние 4 дня работы (строго их, остальные не пропали). Над "оригиналом" также кропели с помощью r-studio и пр., нужных файлов там действительно не было.
Цимес истории в том, что второй ssd из рейда, который по идее нужно было бы взять для того чтобы попытаться корректно стартовать машины из saved состояния, был этим техником очищен и пущен под другие нужды (параллельно стоял вопрос о нехватке места, и он решил не дожидаясь прихода новых, более ёмких ssd, сделать вместо рейда два разных ssd на ahci на этом временном компьютере)

Я написал это вот к чему: глупость человеческая и т.д. и т.п. - это всё понятно, техник получил своё сполна, данные люди восстановили из "вчерашнего" бэкапа (потеряв целый день), но меня заинтересовал вопрос насчёт saved состояния: неужели "оно" действительно пишет все изменения не на vhd(x), а в снэпшот? То есть при сбое и вынужденной миграции кроме как http://forum.oszone.net/thread-214658.html ничего и не сделать? Есть ли возможность как-то упорядочить работу с vhd, чтобы как можно меньше данных подолгу лежало в кэше? Или может быть я не прав, и дело вовсе не в снэпшотах здесь, а в чём-то другом?

cameron
06-10-2015, 10:03
Saved State сохранятся в BIN файл, может дело в этом? :)
http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/03/10/understanding-where-your-virtual-machine-files-are-hyper-v.aspx

A.A.Z.
06-10-2015, 10:40
cameron,
.BIN files
This file contains the memory of a virtual machine or snapshot that is in a saved state. Получилось бы что все 4 дня файловый сервер изменения в памяти своей держал?.. Мне кажется, вряд ли, он должен был куда-то их писать, другой вопрос - куда их писал гипервизор?..

Telepuzik
06-10-2015, 12:57
насчёт saved состояния: неужели "оно" действительно пишет все изменения не на vhd(x), а в снэпшот? »
то ли просто снэпшоты удалил »
Когда Вы нажимаете кнопку создать checkpoint, Hyper-V создает дифференциальный диск ahvdx, в который пишет все изменения вносимые в систему после создания checkpoint-а. Если первый checkpoint был создан 4 дня назад, то при удалении дифференциальных дисков ahvdx Вы получите vhdx c состоянием до создания первого checkpoint-а.Получилось бы что все 4 дня файловый сервер изменения в памяти своей держал?.. »
Нет он пишет их в дифференциальный диск ahvdx.

A.A.Z.
06-10-2015, 14:07
Telepuzik, я так и думал, что в avhdx пишутся изменения при создании чекпоинта - как и при любом другом использовании дифференциальных vhd
НО! - тут точно известно, что чекпоинты никто не создавал, единственное что использовалось помимо стандартных включений-выключений это saved state, поскольку сервер автономно достаточно стоял, никто не занимался им, только могли выключать и включать. Визит техника был единственным осмысленным вмешательством в его работу за довольно долгий период

Denis Dyagilev
10-10-2015, 13:25
Получилось бы что все 4 дня файловый сервер изменения в памяти своей держал?.. Мне кажется, вряд ли, он должен был куда-то их писать, другой вопрос - куда их писал гипервизор »
В файл .BIN и писал. Который, как понимаю, был при восстановлении машины благополучно потерян вместе с оперативными данными.




© OSzone.net 2001-2012