2013-11-25 2 views
0

Я запускаю несколько виртуальных машин в Xen, и теперь я пытаюсь создать/вернуть моментальные снимки своих виртуальных машин.Как использовать vhd-util для управления моментальными снимками

Наряду с Xen и blktap2 еще одна утилита, vhd-util также поставляется, и, согласно ее описанию, я могу использовать ее для создания/возврата мгновенных снимков VM.

Чтобы создать снимок на самом деле легко, я просто называю:

vhd-util snapshot -n aSnapShot.vhd -p theVMtoBackup.vhd 

Но когда дело доходит до возвращаясь снимок, вещи получить действительно раздражает.

«вернуться» команда требует обязательного аргумента «journal», как это:

vhd-util revert -n aSnapShot.vhd -j someThingCalledJournalOfWhichIHaveNoIdea 

И vhd-util ожидает некоторую информацию из журнала, что означает, что это не какой-то пустой файл вы можете писать журналы в

.

Но я просмотрел код и Интернет, до сих пор не знаю, откуда этот журнал.

Аналогичный вопрос задан http://xen.1045712.n5.nabble.com/snapshots-with-vhd-util-blktap2-td4639476.html, но бедный парень никогда не получит ответа.

Надеюсь, что кто-то здесь может мне помочь.

+0

Ответы в полной мере объясняют, как работают моментальные снимки vhd, и тем, кто еще может найти решение этой проблемы, вот что я делаю: есть ** НЕТ НУЖНО ** называть «vhd-util вернуться "вообще! просто передайте снимок к tapdisk, который затем создаст виртуальное блочное устройство, все, что нам нужно сделать, - это передать виртуальное блочное устройство в qemu вместо самого снимка моментального снимка, вот и все. если возникнут проблемы с использованием tapdisk, попробуйте google «tap-ctl». – Sean

ответ

1

Вам не нужно использовать возврат, все, что вам нужно сделать, это закрыть VM, переименовать aSnapShot.vhd вVMtoBackup.vhd и перезапустить виртуальную машину.

+0

Спасибо Thanos! Я, наконец, заработал! Оказывается, это своего рода ошибка libxl, она не передает блок tapdisk в qemu, но вместо этого передает необработанное изображение VHD. – Sean

2

Создание моментальных снимков в VHD работает путем помещения наложения поверх существующего изображения VHD, чтобы любые изменения записывались в файл наложения вместо того, чтобы переписывать существующие данные. Для чтения возвращаются самые верные данные: либо данные с наложения, если этот сектор/кластер уже переписан, либо из исходного файла VHD, если он еще не переписан.

Команда vhd-util создает такой файл наложения-VHD, который использует существующее изображение VHD в качестве его так называемого «файла-резервной копии». Важно помнить, что файл резервной копии никогда не должен изменяться, пока существуют снимки, все еще использующие этот файл резервной копии. В противном случае данные также изменились бы во всех этих моментальных снимках (кроме случаев, когда данные были там уже переписаны.)

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

Возврат к снимку так же просто, как удаление текущего самого верхнего наложения файла и создание нового пустого файла наложения снова, что снова отображает данные из файла резервной копии, содержащего моментальный снимок. Это делается с помощью той же команды, что и выше. Это сохраняет ваш текущий снимок и позволяет вам повторять этот процесс несколько раз. (переименование файла будет больше похоже на «вернуться к и удалить последний снимок».)

Предупреждения: перед повторным созданием файла снимка, убедитесь, что никакие другие снимки не существует, который использует это (промежуточный) файл VHD в качестве файла поддержки. В противном случае вы не только потеряете этот снимок, но и все остальные снимки в зависимости от этого.

+0

Вау, спасибо за такое подробное объяснение, экономит мне много времени, копая документы, очень ценю это! – Sean

 Смежные вопросы

  • Нет связанных вопросов^_^