Снапшоти, клони та репліки в ZFS on Linux - Наш Блогосайт Linux та «лірика»

Ramadoni: оригінал Переклад: Олексій Федорчук

Покроковий посібник з роботи зі снапшотами, клонами та репліками ZFS — найпотужнішими її функціями.

Снапшоти ZFS: огляд

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

Типовий приклад використання снапшота – швидке отримання резервної копії файлової системи перед виконанням ризикованих дій на зразок встановлення нового софту або оновлення системи.

Створення та видалення снапшотів

Знімки томів недоступні, але їх можна клонувати, бекапити і відновлювати. Для створення та видалення снапшотів використовуються команди zfs snapshot та zfs destroy

Створюємо пул з ім'ям datapool:

Маючи пул з ім'ям datapool, потрібно створити файлову систему ZFS для моделювання функцій снапшота:

Для створення снапшота використовується команда zfs snapshot із зазначенням імені пула та імені снапшота. Ім'я снапшота має виглядати так:

Тепер снапшот datapool/docs створено.

Для видалення снапшота використовується команда zfs destroy:

Відкат снапшота

Для моделювання процесу потрібно створити тестовий файл у каталозі /docs:

Тепер змінимо вміст файлу data.txt:

І тепер можна повернути файлову систему у той стан, у якому вона була в момент створення попередньої копії:

З висновку останньої команди можна побачити, що вміст файла data.txt став колишнім (тобто відповідає версії 1).

Для перейменування снапшота можна використовувати команду zfs rename:

Примітка: не можна видалити набір даних, якщо існують його снапшоти. Але це можна зробити, використовуючи опцію -r. Тобто так не вийде:

А вийде так:

Клони ZFS: огляд

Клон - це том або файлова система, доступна для запису, вміст яких збігається з набором даних, з яких вони були створені.

Створення та видалення клонів

Клон можна створити лише зі снапшота, і снапшот не можна видалити, доки не видалено його клон. Для створення клону використовується команда zfs clone.

Створення файлової системи:

Створення її контенту:

Створення клону снапшоту datapool/docs@today :

Процес клонування закінчено, снапшот datapool/docs@today був клонований datapool/pict . Перевірка показує, що їхній вміст однаково:

Після клонування снапшота його не можна видалити, поки не видалено клон:

Тепер, нарешті, можна видалити снапшот:

Репліки ZFS: огляд

Реплікація ZFS заснована на снапшотах, які можна створювати у будь-який час та у будь-якій кількості. Постійно створюючи, переміщуючи та відновлюючи снапшоти, можна забезпечити синхронізацію між однією або декількома машинами. ZFS надає вбудовану функцію серіалізації, яка може надсилати потокове подання даних на стандартний висновок.

Конфігурування реплік

У цьому розділі я хочу показати вам, як реплікувати набір даних з datapool до backuppool . Але можна не тільки зберігати дані одного пулу в іншому локальному пулі, але й відправляти через мережу в іншу систему. Для реплікації даних використовуються команди zfs send та zfs receive.

Створення нового пулу з ім'ям backuppool:

Перевірка статусу пулів:

Створення набору даних для реплікації:

Настав час реплікації:

Набір данихdatapool/docs@today успішно реплікований у backuppool/backup.

Реплікування набору даних на іншу машину виконується так:

Висновок

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