Лучший способ клонировать живую систему Linux


17

Кто-нибудь знает способ клонирования живой системы Linux? У меня есть живая установка, работающая на производственной площадке. Проблема в том, что мне нужно клонировать его (не выключая), а затем переместить (восстановить) на виртуальную машину. Я в основном перехожу с физического оборудования на виртуальное.


Вам придется все равно его выключить, чтобы запустить на ВМ.
Игнасио Васкес-Абрамс

Физическое оборудование будет работать -> происходит клонирование -> мигрировать на ВМ -> изменить адрес URL -> выполнено. Мне нужна специфика наилучшей практики для клонирования живых систем.
drewrockshard

4
Первый шаг - попытаться определить, на какой операционной системе он работает.
Приостановлено до дальнейшего уведомления.

Ответы:


12

На исходном компьютере:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Это выведет файл fs на ваш исходный компьютер, скопирует его через ssh и на целевом компьютере восстановит его.

Конечно, вам нужно повторить это для каждого фс.

«blowfish» предназначен для более быстрой компрессии и декомпрессии.


Этот, казалось, работал наиболее эффективно.
drewrockshard

я не могу заставить его нравиться строчными буквами г. У меня была часть этой работы путем разделения -rf to -r -f, но теперь восстановить: неверный параметр - 'r' cat: неверный параметр - 'r'
rjt

4
Этот ответ остается в силе? Что бы произошло, если бы на вашем компьютере была запущена служба MySQL?
MirroredFate

6

VMWare Converter может работать с большинством современных ОС без выключения сервера, но, как отметил Деннис, нам действительно нужно знать, какую ОС вы используете.

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


Это работает на Fedora. К вашему сведению, я планирую создать образ для виртуализации позже, возможно, в Xen.
ул

В целях виртуализации, если я не ошибаюсь, образ должен быть в виртуальном образе, а не в виде необработанного диска, верно?
Str

1
@Str, если вы знаете, что такое ОС, пожалуйста, отредактируйте ваш вопрос и используйте соответствующие теги.
Джон Гарденье

@Str - это правильно, однако вы не упомянули, собираетесь ли вы виртуализировать машину или нет, просто хотите клонировать ее.
Марк Хендерсон

1

На какую платформу VM вы переходите? VMWare имеет конвертер для Linux . Он преобразует питание на машине.


В конце концов, это в доме, и на основе VMWare. Панель управления настраиваемая, поэтому мы должны были загружать live CD и расширять / распаковывать / etc на виртуальную машину. Я не уверен, что смогу получить доступ к инфраструктуре VM для конвертера VMWare, но все зависит от того, что с этим связано. Однако, чтобы проверить, я собирался перенести его на виртуальную коробку vm, чтобы посмотреть, сработало ли вообще это доказательство концепции.
drewrockshard

Как вы думаете, я мог бы запустить конвертер на физической машине и затем «импортировать» преобразованный vm в vmware (никогда не использовал конвертер, поэтому моя терминология может быть отключена).
drewrockshard

Конвертер действительно не работает таким образом. Проверьте эту ссылку. Он должен показать вам основы работы конвертации vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Джейсон Берг

Есть ли способ обойти импорт инфраструктуры vmware, чтобы я мог сохранить «преобразованный» образ локально в моей системе, или мне нужно перейти на другую инфраструктуру (без локальной возможности)?
drewrockshard

Обратите внимание, что для VMWare Converter (в настоящее время) требуется Windows, хотя он может переносить физический компьютер Linux на виртуальную машину.
Грег Глокнер

1

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


1

Мы обычно делаем это:

  • Загрузите целевой виртуальный хост с компакт-диска (или загрузите его по сети)
  • Подготовьте файловые системы на виртуальном хосте (то есть подготовьте диск (и), создайте файловые системы и смонтируйте их).
  • Rsync файлы с физического хоста на виртуальный хост
  • Установите загрузчик на целевой хост

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

  • Остановить базу данных
  • Выполните окончательную rsync данных
  • Выключите физический хост
  • Запустите виртуальный хост

1
Какую команду rsync вы, ребята, используете?
drewrockshard

0

Посмотрите на VMware Converter (это бесплатно, если у вас есть vCenter) или Plate Spin (один из их продуктов - конвертер).

Plate Spin сделает машину живой, с минимальным временем простоя, чтобы перерезать.

С помощью конвертера VMware он будет работать на работающей машине (если есть база данных, которая может быть не синхронизирована), просто не будет загружать виртуальную машину после ее завершения. Затем отключите vNIC, затем загрузите компьютер, войдите в систему через консоль, измените IP-адреса и т. Д. Затем снова подключите vNIC.


0

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

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

Однако можно значительно сократить временное окно для моментальной съемки системы (например, удалив зеркало из набора RAID, а затем повторно подключив его в другом месте). И чем короче время, необходимое для создания снимка, тем меньше вероятность того, что транзакции будут охватывать операцию.

И большинство файловых систем / DBS будут поддерживать журналирование, которое должно позволить восстановить или откатить большинство поврежденных операций.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.