Если я использую xm save domain dumpfile
, это в значительной степени выполняет то, что я хочу делать. Однако это вызывает некоторое время простоя, и я действительно не хочу закрывать сетевые соединения или вынимать у машины нехватку памяти. Мне бы очень хотелось просто xm pause domain
а затем сбросьте память и снова сделайте паузу.
Это возможно?
Если нет, то как вы думаете, что Slicehost реализует их снимки в реальном времени?
Простое выполнение «xm save DOMAIN» сбрасывает текущее состояние домена, а не соответствующее состояние диска. Это рабочее состояние будет включать несохраненные дисковые кеши и буферы. Загрузка резервной копии этого сохраненного образа на что-либо, кроме незатронутого диска / тома, будет причиной сбоя и повреждения данных.
Мне нужно было сделать то же самое, что вы предлагаете, но мне не удалось избежать коротких периодов простоя, но они всегда короче, чем эквивалентное время для реальной машины.
Я бы использовал LVM и снимки (сделайте так, чтобы ваш домен имел логический том как диск)
$ xm save DOMAIN DOMAIN.SAV
$ snapshot the domains' Logical volume
$ xm restore
$ backup the lvm snapshot using dd
$ delete the snapshot
Возможно, вы захотите взглянуть и увидеть, как я это сделал в Dupe исходный код.
я уже вижу тег lvm в вашем вопросе - почему бы не поставить vms на том lvm и не использовать снимок? Конечно - это не на 100% безопасный метод, но он так же безопасен, как вытаскивание кабеля питания из сервера и зеркалирование жестких дисков.
Моментальный снимок lvm приводит к снижению производительности - до тех пор, пока существует снимок [то есть во время его переноса на другую машину, поскольку после этого вы, вероятно, его уничтожите] io операции на исходном томе, используемом xen, значительно медленнее.