Перейти до змісту

Коротко про резервні копії

Що таке резервна копія?

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

Які є методи резервного копіювання?

  • Повне резервне копіювання: це одноразова копія всіх файлів, директорій або даних на жорсткому диску або в базі даних. (Плюси: найкращий, може швидше відновлювати дані. Недоліки: займають більше місця на жорсткому диску.)
  • Інкрементне резервне копіювання: стосується резервного копіювання даних, оновлених після останнього повного або інкрементного резервного копіювання. Процес виглядає так, наприклад, повне резервне копіювання в перший день; резервне копіювання щойно доданих даних на другий день, на відміну від повного резервного копіювання; на третій день резервне копіювання щойно доданих даних на основі другого дня, відносно наступного дня і так далі.
  • Диференціальне резервне копіювання: стосується резервного копіювання змінених файлів після повного резервного копіювання. Наприклад, повне резервне копіювання в перший день; резервне копіювання нових даних на другий день; резервне копіювання нових даних з другого дня до третього дня на третій день; і резервне копіювання всіх нових даних з другого дня до четвертого дня на четвертий день і так далі.
  • Вибіркове резервне копіювання: належить до резервного копіювання частини системи.
  • Холодне резервне копіювання: стосується резервного копіювання, коли система вимкнена або в стані обслуговування. Резервні копії даних точно збігаються з даними в системі протягом цього періоду. Резервні копії даних точно збігаються з даними в системі протягом цього періоду.
  • Гаряче резервне копіювання: належить до резервного копіювання, коли система працює в нормальному режимі. Оскільки дані в системі оновлюються в будь-який час, резервні копії даних мають певну затримку відносно реальних даних системи.
  • Віддалене резервне копіювання: стосується резервного копіювання даних в іншому географічному місці, щоб уникнути втрати даних і переривання роботи служби через пожежу, стихійне лихо, крадіжку тощо.

Коротко про rsync

На сервері я створив резервну копію першого розділу на другий розділ, який широко відомий як «локальне резервне копіювання» Конкретні засоби резервного копіювання: tar, dd, dump, cp тощо. Незважаючи на те, що резервна копія даних створюється на цьому сервері, якщо апаратне забезпечення не завантажиться належним чином, дані не будуть відновлені. Щоб розв'язувати цю проблему з локальним резервним копіюванням, ми запровадили інший вид резервного копіювання --- "віддалене резервне копіювання".

Деякі люди скажуть, чи не можу я просто використати команду tar або cp на першому сервері та надіслати її на другий сервер через scp чи sftp?

У виробничому середовищі обсяг даних відносно великий. По-перше, tar або cp забирає багато часу та споживає продуктивність системи. Передача через scp або sftp також займає значну пропускну здатність мережі, що не допускається у фактичному виробничому середовищі. По-друге, ці команди або інструменти мають бути введені адміністратором вручну та поєднані з crontab запланованого завдання. Однак час, встановлений crontab, непросто зрозуміти, і резервне копіювання даних не підходить, якщо час занадто короткий або занадто довгий.

Тому у виробничому середовищі має бути резервне копіювання даних, яке має відповідати таким вимогам:

  1. Резервні копії, що передаються мережею
  2. Синхронізація файлів даних у реальному часі
  3. Менше завантаження системних ресурсів і більш висока ефективність

Схоже, що rsync відповідає зазначеним вище потребам. Він використовує ліцензійну угоду GNU з відкритим кодом. Це швидкий інструмент інкрементного резервного копіювання. Остання версія 3.2.3 (2020-08-06). Ви можете відвідати офіційний веб-сайт для отримання додаткової інформації.

Що стосується підтримки платформи, то підтримується більшість Unix подібних систем, будь то GNU/Linux чи BSD. Крім того, існує відповідний rsync під платформою Windows, такий як cwRsync.

Оригінальний rsync підтримував австралійський програміст Ендрю Триджел (показано на малюнку 1 нижче), а тепер його підтримує Уейн Девісон (показано на малюнку 2 нижче). Для обслуговування ви можете перейти на адресу проекту github, щоб отримати інформацію ти хочеш.

 Andrew Tridgell  Wayne Davison

Примітка

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

Основні принципи та особливості

Як rsync забезпечує ефективне резервне копіювання односторонньої синхронізації даних?

Основою rsync є його алгоритм контрольної суми. Якщо вам цікаво, ви можете перейти до розділу Як працює Rsync і Алгоритм rsync. Цей розділ виходить за межі компетенції автора і не буде детально розглядатися. Цей розділ виходить за межі компетенції автора і не буде детально розглядатися.

Чим характеризується rsync:

  • Весь каталог можна оновлювати рекурсивно;
  • Може вибірково зберігати атрибути синхронізації файлів, такі як жорстке посилання, м’яке посилання, власник, група, відповідні дозволи, час модифікації тощо, і може зберігати деякі атрибути;
  • Підтримка двох протоколів для передачі: один протокол ssh, інший протокол rsync

Author: tianci li

Contributors: Steven Spencer, Ganna Zhyrnova