Резервне копіювання даних між серверами Інструкція | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
Ex. VAT Ex. VAT 0%

Резервне копіювання даних між серверами

Цей посібник пояснює, як копіювати та створювати резервні копії даних між серверами Linux за допомогою rsync, а також як виконувати низькорівневе клонування дисків за допомогою dd.

Перед початком роботи

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

Щоб перевірити доступ до сервера призначення через SSH перед створенням резервної копії:

ssh user@destination_host

Замініть user на ім'я віддаленого користувача, а destination_host — на IP-адресу або ім'я хоста сервера призначення.

Info

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

Копіювання каталогу на віддалений сервер

Зверніть увагу, що кінцевий слеш у вихідному шляху впливає на поведінку rsync: /source/ копіює вміст каталогу, тоді як /source копіює сам каталог.

Завжди використовуйте --dry-run перед виконанням команд із --delete, щоб уникнути випадкової втрати даних. Щоб попередньо переглянути, які дані буде передано, без внесення змін:

rsync -a --delete --dry-run -e ssh /path/to/source/ user@destination_host:/path/to/backup/

Після перевірки результату виконайте ту саму команду без --dry-run. Додайте -P, щоб можна було продовжити перервану передачу та переглядати її прогрес:

rsync -a --delete -e ssh -P /path/to/source/ user@destination_host:/path/to/backup/

Опція -a зберігає права доступу, часові мітки та символічні посилання. Опція --delete забезпечує точне дзеркалювання джерела в місці призначення, видаляючи файли, яких немає в джерелі. Додайте -v, щоб відображати детальну інформацію.

Warning

Опція --delete видалить із місця призначення файли, яких немає в джерелі. Не використовуйте її, якщо в каталозі призначення є файли, які потрібно зберігати незалежно від джерела.

Копіювання більшості системних файлів

Щоб скопіювати більшу частину файлової системи, виключивши віртуальні та тимчасові каталоги:

rsync -aAXv --delete --one-file-system --numeric-ids \ --exclude={/dev/,/proc/,/sys/,/tmp/,/run/,/mnt/,/media/,/lost+found,/swapfi le} \ / user@destination_host:/path/to/backup/

Використані опції: -a зберігає права доступу, часові мітки, символічні посилання та виконує рекурсивне копіювання; -A зберігає ACL; -X зберігає розширені атрибути; -v відображає детальну інформацію. Опція -H для жорстких посилань навмисно не використовується: системні жорсткі посилання не потрібно реплікувати у віддаленій резервній копії, а їхнє збереження збільшує час і складність передачі. Опція --one-file-system не дозволяє rsync переходити до інших змонтованих файлових систем. Опція --numeric-ids зберігає значення UID і GID без зіставлення їх з іменами користувачів, що важливо, коли на серверах-джерелі та призначенні використовуються різні конфігурації користувачів.

У більшості виключених шляхів використовується кінцевий слеш, щоб виключити вміст каталогу, зберігши сам каталог. /lost+found не має кінцевого слеша, оскільки потрібно виключити весь каталог, а не лише його вміст. Те саме правило для кінцевого слеша застосовується до вихідного шляху: /source/ копіює вміст каталогу, тоді як /source копіює сам каталог.

Warning

Цей метод не створює завантажувальний образ системи і не повинен використовуватися як заміна повному резервному копіюванню системи. Для створення узгоджених резервних копій активних систем рекомендується перед виконанням команди зупинити критичні служби або використовувати знімки файлової системи, наприклад знімки LVM.

Повне клонування каталогу за допомогою rsync

Щоб виконати повне клонування дерева каталогів із збереженням жорстких посилань, ACL і розширених атрибутів:

rsync -aAHXv /source/dir/ user@destination_host:/destination/dir/

Використані тут опції: -a зберігає права доступу, часові мітки, символічні посилання та виконує рекурсивне копіювання; -A зберігає ACL; -H зберігає жорсткі посилання, що важливо для точного клонування каталогу; -X зберігає розширені атрибути; -v відображає детальну інформацію.

Клонування диска за допомогою dd

Щоб клонувати весь диск на інший диск того самого сервера:

dd if=/dev/sdX of=/dev/sdY bs=1M conv=noerror,sync status=progress

Замініть sdX на вихідний диск, а sdY — на цільовий диск. Опції conv=noerror,sync дозволяють продовжити копіювання після помилок читання, заповнюючи пошкоджені блоки нулями. Якщо цілісність даних є критично важливою, не використовуйте ці опції, щоб dd зупинився при першій помилці, а не замінював пошкоджені блоки нулями без попередження.

Щоб клонувати диск на віддалений сервер через SSH:

dd if=/dev/sdX bs=1M status=progress | ssh user@destination_host 'dd of=/dev/sdY bs=1M'

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

Warning

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

Перевірка резервної копії

Після завершення передачі підключіться до сервера призначення та перевірте розмір резервної копії і її базову структуру:

ssh user@destination_host du -sh /path/to/backup/ ls /path/to/backup/

Для ретельної перевірки цілісності виконайте rsync з параметрами --checksum і --dry-run. Це порівняє вміст файлів, а не часові мітки, і повідомить про будь-які відмінності:

rsync -av --checksum --dry-run /path/to/source/ user@destination_host:/path/to/backup/

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

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA