Клоніруйте робочий сервер Linux


18

Мені потрібно клонувати працюючий сервер Linux. Ми не можемо вимкнути робочий сервер. Чи є спосіб отримати клон і розгорнути його на іншому сервері?

linux  clone 

Відповіді:


14

Існує багато способів копіювання дисків, файлових систем або файлів. Як правило, копіювання файлової системи дає хороший клон з гнучкістю, що вона може бути трохи іншого розміру в цільовій системі. Якщо цільова система працює з яким-небудь прямим Linux (knoppix, ubuntu live тощо), завантаженим з cdrom, ви можете створювати розділи на диску за допомогою fdisk або улюбленого додатка для розділів. Якщо припустити, що у вихідній системі працює сервер SSH, скористайтеся подібним підходом:

http://www.linuxfocus.org/English/March2005/article370.shtml

Магія відбувається в цій команді:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Якщо ви використовуєте який-небудь конкретний метод для клонування дисків у прямому середовищі Linux, ваша проблема, швидше за все, буде стосуватися баз даних. Найкращий спосіб резервного копіювання та відновлення бази даних - це використовувати їх інструмент демпінгу, щоб зробити знімок файлів ascii бази даних безпосередньо перед скиданням файлової системи. Для mysql є:

mysqldump --all-databases > mysql_databases.sql

Для postgresql є:

pg_dumpall > pg_databases.sql

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


1
+1 для посилання на linuxfocus
Bozojoe

2

Побудуйте макет диска на новій машині так, як вам цього хочеться.

Використовуйте rsync для передачі вмісту диска. Повторіть кілька разів, щоб повністю наздогнати.

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

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

Потім переведіть стару в режим обслуговування, ще раз rsync і завантажте новий, який повинен придумати себе так, як старий.


5
Це може призвести до пошкодження даних. Щоб гарантувати належну копію файлів (включаючи живі бази даних), вам потрібно було б мати змогу запустити всю команду rsync за одну атомну операцію, тоді як система була призупинена. Знімок LVM може бути атомним, або створити дзеркало RAID, а потім від'єднати один з приводів і помістити його в нову машину. Навіть тоді, вам дійсно потрібно перейти на рівень 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), зробити знімок та перезапустити у більш високому рівні.
Лі Б

1

Мій колега клянеться System Imager:

http://wiki.systemimager.org/index.php/Main_Page

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

Інакше я думаю, що ви застрягли робити речі вручну:

  • Перевірте, чи немає додатків для встановлення поза сховищами
  • Скиньте список встановлених пакетів та встановіть їх на новий сервер
  • Скопіюйте конфігураційні файли
  • Відновлення баз даних

систематичні скелі. Він працює в режимі живої системи з тими ж умовами для запуску rsync для копіювання стану живої системи. Деякі програми потрібно буде відключити або скинути на диск (наприклад, mysql DB) перед копіюванням, і їх потрібно буде відновити в новій системі.
gbjbaanb

0

За умови, що ви можете перевести свої бази даних на постійний стан на диску, ви можете просто використовувати DAR, щоб зробити копію всього, а потім записати його на новий сервер.

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

Як тільки ви отримаєте ваше зображення, ви можете налаштувати мережеві налаштування, і ви зможете їх відновити без проблем.

http://dar.linux.free.fr/

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