KVM virt-clone во время работы виртуальной машины

KVM virt-clone во время работы виртуальной машины

Можно ли клонировать работающую машину KVM без таких инструментов, как virt-clone?

У них уже есть оригинальная виртуальная машина в производстве, я не могу ее выключить. Если меня не волнует временное повреждение данных (которое может исправить начальный fsck) на клоне, могу ли я просто cp файла образа qcow на новое имя, создать новое определение виртуальной машины, которое использует этот диск, и запустить машину?

решение1

Если вас не интересуют данные в памяти, вы можете сделать снимок резервного устройства и сделать копию этого снимка.

Конечно, для этого потребуется пул хранения с поддержкой моментальных снимков (в основном LVM или ZFS, поскольку BTRFS ужасно медленный для хранения виртуальных машин).

решение2

Я подозреваю, что это тактольковозможно клонировать диск, избегая использования virt-clone, потому что (как уже упоминалось) virt-clone откажется работать с работающей виртуальной машиной. Поэтому вам придется использовать что-то другое, чтобы сделать копию реального образа диска.

Я думаю, что основной ответ таков: можно попытаться и надеяться, что вам повезет.

Получение «снимка» конфигурации гостя достаточно просто ( virsh dumpxml NAMEсделаю это). Если у вас больше одного диска (т. е. если у вас есть диск ОС и n+1 дисков данных), то я бы постарался избежать клонирования диска ОС и посмотреть, смогу ли я вместо этого использовать новую установку.

Однако, если естьлюбойдругой метод, нежели копирование образов дисков, я бы, вероятно, предпочел его. Если бы все это было связано с сервером базы данных, например, я бы, вероятно, использовал собственные возможности базы данных для безопасного копирования данных между экземплярами. Если вы имеете дело с файловой системой напрямую, то, возможно, стоит посмотреть, может ли помочь что-то вроде DRBD или что-то простое вроде rsync.

По сути, я бы внимательно обдумал, что именно вам нужно сделать, и постарался бы не тратить время на что-то вроде попыток копирования образа используемого диска (помимо проблем с тем, как может выглядеть копия, меня бы беспокоило то, что попытка копирования диска может сделать с оригиналом).

решение3

У меня была рабочая виртуальная машина. Пока я был в ней, я подключился по ssh к базовой машине KVM и скопировал ее резервный диск и снимок на диск nvme с помощью cp -ar. Я также отформатировал и разбил упомянутый nvme перед копированием ... Затем использовал

virsh edit mykvm 

изменил идентификатор, расположение дисков и имя...

и выключил машину и перезагрузил новую. Единственное, что пропало, это открытые окна и сеанс Chrome ...

Кажется, это работает, если только вы не пишете какие-то системные или прикладные файлы...

Я, конечно, не буду этим пользоваться. Я поэкспериментирую с этим и после экспериментов внесу результаты в оригинальный файл.

Однако если бы мне когда-нибудь пришлось использовать его в качестве основного снимка ОС, я бы просто выполнил проверку файловой системы, а затем проверку системных файлов (sha1sum) или использовал бы любые встроенные команды для проверки системных файлов.

решение4

Это вполне осуществимо с форматом образа диска RAW. Я не знаю о qcow2...

Debian.img: загрузочный сектор x86; раздел 1: ID=0x83, активный, начальная головка 32, начальный сектор 2048, 497664 сектора; раздел 2: ID=0x5, начальная головка 59, начальный сектор 501758, 104353794 сектора, смещение кода 0x63

Debian2.img: загрузочный сектор x86; раздел 1: ID=0x83, активный, начальная головка 32, начальный сектор 2048, 497664 сектора; раздел 2: ID=0x5, начальная головка 59, начальный сектор 501758, 104353794 сектора, смещение кода 0x63

Для теста я cped работающей системы linux mint со всем. Затем создал новую vm с новым образом, у нее даже не было несоответствий файловой системы при загрузке. Хотя это была всего лишь небольшая настольная vm, то, что я собирался «клонировать», — это работающий сервер LAMP в производстве с высоким I/O в базе данных.

Меня бы не волновала непоследовательность, я просто хотел сэкономить время на перезагрузку среды LAMP. Думаю, создание базового образа в начале или моментальный снимок первого веб-сервера были бы хорошей идеей, но после того, как он был полностью настроен и протестирован, было уже слишком поздно, и они сразу же начали использовать его в производстве.

Связанный контент