Як зробити віддалену резервну копію жорсткого диска в Linux

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

У цій статті ми розглянемо два прості методи, за допомогою яких кожен зможе зробити швидке віддалене резервне копіювання диска ПК з Linux.

Перше рішення – це використання утиліти Rsync, а друге – застосування DD через SSH.

Резервне копіювання віддаленого диска за допомогою Rsync

Rsync є ідеальним інструментом для створення резервної копії віддаленого диска, оскільки він працює дуже швидко як у локальній мережі, так і через Інтернет. Найкраще те, що для його використання не потрібне спеціалізоване програмне забезпечення, тому налаштування є мінімальним. Крім того, якщо командний рядок не є вашим улюбленим інструментом, для Rsync існує зручний графічний інтерфейс, який ми також детально розглянемо.

Rsync можна використовувати для резервного копіювання всіх важливих даних на диску, якщо ви не хочете створювати його точну копію. Інструмент збереже права доступу до файлів та інше. Навпаки, застосування чогось на кшталт простого архіву резервної копії Tar Gzip може зазнати невдачі при спробі скопіювати пошкоджені файли.

Встановлення

Для початку переконайтеся, що Rsync встановлено як на віддаленому, так і на локальному комп’ютері:

Ubuntu

sudo apt install rsync

Debian

sudo apt-get install rsync

Arch Linux

sudo pacman -S rsync

Fedora

sudo dnf install rsync

OpenSUSE

sudo zypper install rsync

Інші дистрибутиви Linux

Інструмент Rsync легко знайти навіть у найменш поширених дистрибутивах Linux. Насправді, він, ймовірно, вже встановлений у вашій системі. Для встановлення відкрийте менеджер пакетів, знайдіть “rsync” та встановіть його.

Перш за все, визначте IP-адресу віддаленого комп’ютера (якщо ви ще не знаєте її за допомогою Ping).

Примітка: для резервного копіювання всіх системних файлів використовуйте root через SSH.

Інструкції для LAN

Якщо ваш віддалений комп’ютер має доступ до Інтернету, але ви також можете підключитися до нього безпосередньо через локальну мережу, ви можете визначити IP-адресу, використовуючи перевірку імені хоста.

Пам’ятайте, що якщо ви перебуваєте в локальній мережі, ймовірно, вам знадобиться лише IP. Використовуйте цей метод лише тоді, коли ім’я хоста не працює. Наприклад:

ping ubuntu-server -c1

ВИХІД: PING ubuntu-server (192.168.1.126) 56 (84) байт даних.

Отже, IP-адреса сервера Ubuntu в локальній мережі: 192.168.1.126

Інструкції для Інтернету

Як і в інструкціях для локальної мережі, спробуйте використовувати Ping для визначення IP-адреси. Наприклад:

ping google.com -c1

ВИХІД: PING google.com (172.217.11.142) 56(84) байт даних.

Після того, як ви визначите правильну IP-адресу, відкрийте термінал і введіть цю команду на локальній машині, де будуть зберігатися дані резервної копії.

rsync -avP --numeric-ids --exclude="/dev" --exclude="/proc" --exclude="/sys" [email protected]:/remote/file/location /local/backup/destination/

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

Резервне копіювання віддаленого диска за допомогою DD через SSH

Якщо вам потрібно швидко створити образ диска сервера або віддаленого ПК з Linux через Інтернет, DD є простим рішенням. Він працює за допомогою каналів командного рядка для з’єднання команди DD від однієї машини до іншої. Він може працювати, використовуючи локальний комп’ютер для надсилання образу диска на віддалений хост, або ж навпаки.

Щоб виконати це завдання, переконайтеся, що віддалений комп’ютер може приймати з’єднання SSH на порту 22 (або на будь-якому іншому налаштованому порту). Також переконайтеся, що на обох комп’ютерах запущено SSH. Не знаєте, як налаштувати з’єднання SSH? Перегляньте нашу статтю тут.

Примітка: у цьому прикладі жорсткий диск – /dev/sda, а розділ – /dev/sda1. Ваші значення можуть відрізнятися. Використовуйте lsblk на віддаленому комп’ютері, щоб визначити ім’я диска.

З віддаленого на локальний для всього диска

ssh [email protected] "dd if=/dev/sda1 | gzip -1 -" | dd of=image.gz

З віддаленого на локальний для окремого розділу

ssh [email protected] "dd if=/dev/sda1 | gzip -1 -" | dd of=image.gz

З локального на віддалений для всього диска

dd if=/dev/sda | gzip -1 - | ssh [email protected] dd of=image.gz

З локального на віддалений для окремого розділу

dd if=/dev/sda1 | gzip -1 - | ssh [email protected] dd of=image.gz

Після того, як інструмент DD завершить створення резервної копії образу, ви зможете його відновити. Існує багато різних способів виконання цього завдання в Linux, але для зручності використання ми рекомендуємо використовувати дискову утиліту Gnome. Для відновлення резервної копії на новий диск, знайдіть пристрій в лівій частині програми та натисніть на нього. Звідси натисніть меню у верхньому правому куті та виберіть “Відновити образ диска”.

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

З’явиться діалогове вікно із запитом на пошук образу диска. Виберіть “усі файли”, а потім виберіть “image.gz” для відновлення.

Утиліта Gnome Disk Utility також може відновити зображення розділів резервної копії DD таким же чином. Просто натисніть на диск ліворуч, натисніть значок шестірні, а потім виберіть “Відновити образ розділу”.