Коротко про резервні копії¶
Що таке резервна копія?
Резервне копіювання належить до дублювання даних у файловій системі або базі даних. У разі помилки або катастрофи ефективні дані системи можуть бути відновлені своєчасно, і робота системи може бути відновлена у нормальний режим.
Які є методи резервного копіювання?
- Повне резервне копіювання: це одноразова копія всіх файлів, директорій або даних на жорсткому диску або в базі даних. (Плюси: найкращий, може швидше відновлювати дані. Недоліки: займають більше місця на жорсткому диску.)
- Інкрементне резервне копіювання: стосується резервного копіювання даних, оновлених після останнього повного або інкрементного резервного копіювання. Процес виглядає так, наприклад, повне резервне копіювання в перший день; резервне копіювання щойно доданих даних на другий день, на відміну від повного резервного копіювання; на третій день резервне копіювання щойно доданих даних на основі другого дня, відносно наступного дня і так далі.
- Диференціальне резервне копіювання: стосується резервного копіювання змінених файлів після повного резервного копіювання. Наприклад, повне резервне копіювання в перший день; резервне копіювання нових даних на другий день; резервне копіювання нових даних з другого дня до третього дня на третій день; і резервне копіювання всіх нових даних з другого дня до четвертого дня на четвертий день і так далі.
- Вибіркове резервне копіювання: належить до резервного копіювання частини системи.
- Холодне резервне копіювання: стосується резервного копіювання, коли система вимкнена або в стані обслуговування. Резервні копії даних точно збігаються з даними в системі протягом цього періоду. Резервні копії даних точно збігаються з даними в системі протягом цього періоду.
- Гаряче резервне копіювання: належить до резервного копіювання, коли система працює в нормальному режимі. Оскільки дані в системі оновлюються в будь-який час, резервні копії даних мають певну затримку відносно реальних даних системи.
- Віддалене резервне копіювання: стосується резервного копіювання даних в іншому географічному місці, щоб уникнути втрати даних і переривання роботи служби через пожежу, стихійне лихо, крадіжку тощо.
Коротко про rsync¶
На сервері я створив резервну копію першого розділу на другий розділ, який широко відомий як «локальне резервне копіювання» Конкретні засоби резервного копіювання: tar
, dd
, dump
, cp
тощо. Незважаючи на те, що резервна копія даних створюється на цьому сервері, якщо апаратне забезпечення не завантажиться належним чином, дані не будуть відновлені. Щоб розв'язувати цю проблему з локальним резервним копіюванням, ми запровадили інший вид резервного копіювання --- "віддалене резервне копіювання".
Деякі люди скажуть, чи не можу я просто використати команду tar
або cp
на першому сервері та надіслати її на другий сервер через scp
чи sftp
?
У виробничому середовищі обсяг даних відносно великий. По-перше, tar
або cp
забирає багато часу та споживає продуктивність системи. Передача через scp
або sftp
також займає значну пропускну здатність мережі, що не допускається у фактичному виробничому середовищі. По-друге, ці команди або інструменти мають бути введені адміністратором вручну та поєднані з crontab запланованого завдання. Однак час, встановлений crontab, непросто зрозуміти, і резервне копіювання даних не підходить, якщо час занадто короткий або занадто довгий.
Тому у виробничому середовищі має бути резервне копіювання даних, яке має відповідати таким вимогам:
- Резервні копії, що передаються мережею
- Синхронізація файлів даних у реальному часі
- Менше завантаження системних ресурсів і більш висока ефективність
Схоже, що rsync
відповідає зазначеним вище потребам. Він використовує ліцензійну угоду GNU з відкритим кодом. Це швидкий інструмент інкрементного резервного копіювання. Остання версія 3.2.3 (2020-08-06). Ви можете відвідати офіційний веб-сайт для отримання додаткової інформації.
Що стосується підтримки платформи, то підтримується більшість Unix подібних систем, будь то GNU/Linux чи BSD. Крім того, існує відповідний rsync
під платформою Windows, такий як cwRsync.
Оригінальний rsync
підтримувався австралійським програмістом Ендрю Тріджел (показано на малюнку 1 нижче), а тепер його підтримує Вейн Девісон ( показано на малюнку 2 нижче). Для обслуговування ви можете перейти на адресу проекту github, щоб отримати потрібну інформацію.
Примітка
сам по собі rsync є лише інкрементним інструментом резервного копіювання та не має функції синхронізації даних у реальному часі (його потрібно доповнити іншими програмами). Крім того, синхронізація одностороння. Якщо ви хочете реалізувати двосторонню синхронізацію, вам потрібно співпрацювати з іншими інструментами.
Основні принципи та особливості¶
Як rsync
забезпечує ефективне резервне копіювання односторонньої синхронізації даних?
Основою rsync
є його алгоритм контрольної суми. Якщо вам цікаво, ви можете перейти до розділу Як працює Rsync і Алгоритм rsync. Цей розділ виходить за межі компетенції автора і не буде детально розглядатися. Цей розділ виходить за межі компетенції автора і не буде детально розглядатися.
Чим характеризується rsync
:
- Весь каталог можна оновлювати рекурсивно;
- Може вибірково зберігати атрибути синхронізації файлів, такі як жорстке посилання, м’яке посилання, власник, група, відповідні дозволи, час модифікації тощо, і може зберігати деякі атрибути;
- Підтримка двох протоколів для передачі: один протокол ssh, інший протокол rsync
Author: tianci li
Contributors: Steven Spencer, Ganna Zhyrnova