Найкращий спосіб клонування живої системи Linux


17

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


Вам доведеться збивати його незалежно, щоб запустити його на VM.
Ігнасіо Васкес-Абрамс

Фізичне обладнання буде вгору -> клонування відбувається -> перехід до VM -> зміна адреси URL -> зроблено. Мені потрібна специфіка найкращої практики для клонування живих систем.
крейсується

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

Відповіді:


12

На вихідній машині:

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

Це скидає fs на вашу вихідну машину, скопіює її через ssh, а на цільовій машині відновить її.

Звичайно, потрібно повторювати це для кожної фс.

"blowfish" є лише для швидкого стиснення та декомпресії.


Цей, здавалося, працює найефективніше.
підкреслено,

я не можу змусити його сподобатись нижній регістр r. Я мав частину цієї роботи, відокремивши -rf to -r -f, але тепер відновив: недійсний варіант - 'r' cat: недійсний варіант - 'r'
rjt

4
Чи справді ця відповідь справедлива? Що буде, якби у вас на коробці була запущена служба MySQL?
MirroredFate

6

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

Ви закінчите віртуальне зображення вашого сервера, коли ви закінчите, а не зображення необработанного диска, але це зазвичай досить добре для більшості робіт, залежно від того, що ви хочете зробити з ним, як тільки ви це зробите.


Він працює на Fedora. FYI, я планую його представити для віртуалізації пізніше, ймовірно, в Xen.
вул.

З метою віртуалізації, якщо я не помиляюся, зображення має бути у віртуальному образі, а не в сирому образі диска, правда?
вул.

1
@Str, якщо ви знаєте, що таке ОС, будь ласка, відредагуйте своє запитання, щоб сказати це, і скористайтеся відповідними тегами.
John Gardeniers

@Str - це правильно, проте ви не згадали, чи збираєтесь виртуалізувати машину чи ні, просто ви хотіли її клонувати.
Марк Хендерсон

1

На яку платформу VM ви переходите? VMWare має конвертер для Linux . Це перетворить харчування на машині.


Зрештою, це в будинку, і VMWare заснований. Панель управління налаштована на замовлення, тому ми в основному завантажуємо живий компакт-диск та розширюємо / виймаємо / тощо на VM. Я не впевнений, що можу отримати доступ до інфраструктури ВМ, щоб зробити конвертер VMWare, але все залежить від того, що з цим пов'язано. Щоб протестувати, я збирався спробувати перенести його на virtualbox vm, щоб побачити, чи справді цей доказ концепції працює.
підкреслив,

Ви думаєте, я міг запустити перетворювач на фізичній машині, а потім "імпортувати" перетворений vm у vmware (ніколи не використовував конвертер, тому моя термінологія може бути вимкнена).
підкреслив,

Перетворювач насправді не працює таким чином. Перевірте це посилання. Він повинен показати вам основи того, як працює конверсія vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Джейсон Берг

Чи є спосіб обійти імпорт vmware інфраструктури, щоб я міг зберігати "перетворене" зображення локально на своїй системі або мені потрібно мігрувати до іншої інфраструктури (відсутня локальна здатність)?
крейсується

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

1

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


1

Ми зазвичай робимо це:

  • Завантажте цільовий віртуальний хост із компакт-диска (або перезавантажте його)
  • Підготуйте файлові системи на віртуальному хості (тобто підготуйте диск (и), створіть файлові системи та змонтуйте їх).
  • Рсинхронізуйте файли з фізичного хоста у віртуальний хост
  • Встановіть завантажувач завантаження на цільовий хост

Це чудово працює, якщо дані, які ви копіюєте, відносно без стану. Якщо ви маєте справу, наприклад, із сервером баз даних, особливо з таким, що має велику активність, вам потрібно переконатися, що база даних замирилася перед тим, як зробити остаточне скорочення ... так, щось подібне, після всього іншого готовий:

  • Зупиніть базу даних
  • Виконайте остаточну rsync даних
  • Вимкніть фізичного господаря
  • Запустіть віртуальний хост

1
Яку команду rsync ви використовуєте?
Малюнок Шард

0

Подивіться на конвертер VMware (це безкоштовно, якщо у вас є vCenter) або Plate Spin (один з їх продуктів - це конвертер).

Пластина Spin зробить машину в прямому ефірі, з мінімальним простоєм, щоб перерізати.

З конвертером VMware він буде робити живу машину (якщо є база даних, можливо, вона не синхронізується), просто не матиме її завантаження VM, коли вона закінчиться. Потім відключіть vNIC, а потім завантажте машину, увійдіть через консоль і змініть IP-адреси тощо. Потім підключіть vNIC.


0

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

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.