Rsync для синхронізації виробництва з переходом на відмову


1
  • У мене сервер1 як виробничий сервер.
  • У мене сервер3 як сервер відмови. Викручено від знімка сервера1.
  • У мене є server2 як server server server. Роль має бути робоча конячка для підтримки серверів 1 і 3.

Всі три можуть спілкуватися один з одним через ssh тунель. Всі три ubuntu 16.04 на digitalocean, кожен в іншому регіоні. База даних MySQL встановлюється для полегшення роботи сайту Wordpress у var / www / HTML. Аналогічно для php7 і nginx.

Два запитання: Чи можу я запустити rsync з server2, щоб синхронізувати server3 з server1?

Оскільки server3 є ідентичним близнюком сервера 1, я хочу, щоб ВСІ зміни на server1 синхронізувалися з server3. У тому числі системні зміни, встановлення програмного забезпечення, зміна змісту ... все це виключено. Ідея полягає в тому, щоб підтримувати server3 як ідентичний server1.

Що тоді я скажу rsync для синхронізації? Чи буде це просто server1 / to server3 / recursive?

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

Відповіді:


0

Я успішно клонував систему Linux за допомогою rsync. Я встановив Ubuntu на pendrive і клонував ОС з ноутбука, і pendrive завантажився дуже добре. Я також зробив це в двох настільних комп'ютерах. Тим не менш, я одного разу cp'ed / bin /, / lib, і т.д., і це не працювало, мені довелося перевстановити цільову систему, не знаю чому. Але взагалі, він працює.

Необхідно виключити певні каталоги:

rsync -acv --delete --exclude=fstab --exclude=/dev --exclude=/media --exclude=/mnt --exclude=/proc --exclude=/lost+found --exclude=/run --exclude=/sys --exclude=/tmp /server1/ /server2/

Необхідно виключити / etc / fstab, оскільки ваш UID буде відрізнятися у ваших серверах. Як / mnt та / media може містити власні каталоги, які ви створили і повинні бути реплікації в server2, переконайтеся, що ви можете виключити їх.

Також потрібно запустити sudo update-grub на клонованій системі, оскільки /boot/grub/grub.cfg вкаже на UID вихідної ОС, що стане проблемою при перезавантаженні server2.

Перш ніж робити це на своїх виробничих серверах, перевірте цю процедуру!

Також перевірте цю публікацію: Як найкраще клонувати запущену систему до нового жорсткого диска за допомогою rsync?


Велике спасибі @John Z :) До цих пір, я розглядаю використання наступної команди з сервера робочої коні: ssh root@13.....144 "rsync -avxHAWX --numeric-ids --info=progress2 ssh / root@18.....33:/" Чи допомагає числова опція id взагалі?
dwest100

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