Допускаете ли вы возможность того, что можете не сделать своевременно резервную копию важных файлов или папки и по какой-то роковой случайности можете их потерять? Возможна ли ошибочная команда «rm -rf» в вашей музыкальной библиотеке? Могут ли у вас быть повреждены основные системные файлы виртуальной машины? Люди не совершенны и все способны на ошибки, так что, чем скорее вы перейдете на ZFS, тем скорее сможете перестать беспокоиться о безвременной утрате драгоценных данных.
Установка и настройка ZFS в Linux очень проста для большинства дистрибутивов.
Arch или Manjaro linux
У пользователей Arch есть несколько вариантов установки ZFS. Так пакет AUR «zfs-dkms» целесообразен, если вы хотите использовать ветвь ядра LTS. Если нет, то другие два варианта — «zfs-linux-git» и «zfs-linux». Первый пакет, как видно из названия, собран из репозитория ZFS Git и, как следствие, будет получать обновления для более новых ядер намного быстрее. Последнее иногда отстает и порой блокирует обновления ядра ядра на вашем компьютере.
Как правило, лучше использовать «zfs-linux-git», поскольку обновления ядра будут очень быстрыми. Скомпилируйте его следующей командой:
yaourt -S zfs-linux-git # для пользователей yaourt
pacaur -S zfs-linux-git # для пользователей pacaur
sudo systemctl enable zfs.target
sudo systemctl enable zfs-import-cache
sudo systemctl enable zfs-mount
sudo systemctl enable zfs-import.target
Более подробную информацию можно найти на Arch Wiki
Debian
В Debian начало использования ZFS происходит с добавления в файл /etc/apt/sources.list следующего репозитория:
deb http://mirrors.kernel.org/debian/ stretch main contrib
Далее устанавливаем ZFS:
sudo apt update
sudo apt install linux-headers-$(uname -r) zfs-dkms
Apt автоматически включает службы systemd, поэтому все, что вам останется сделать, это перезагрузить машину.
Ubuntu
Начиная с Xenial, Ubuntu включает в себя модуль ядра ZFS. Все, что вам следует сделать, это добавить пользовательские инструменты и перезагрузиться:
sudo apt install zfsutils-linux
Fedora
Если верить ZFSOnLinux Wiki, то пользователи Fedora могут установить ZFS используя следующие простые команды:
sudo dnf install http://download.zfsonlinux.org/fedora/zfs-release$(rpm -E {33d8302486bd10b0fde64d2037652320e6f176a736d71849c0427b0d7398501a}dist).noarch.rpm
gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
sudo dnf install kernel-devel zfs
Эти команды добавят ZoL репозиторий и установят ZFS.
Gentoo
Будучи source-based дистрибутивом, ZFS на Gentoo не требует DKMS. Чтобы установить его, сначала убедитесь, что у вашего ядра есть поддержка сжатия Deflate. В «make menuconfig» включите его:
Cryptographic API -->
<*> Deflate compression algorithm
Затем разрешите использовать git-версии ZFS, выполнив следующие команды с правами root:
echo "=sys-kernel/spl-9999 **" >> /etc/portage/package.accept_keywords/zfs
echo "=sys-fs/zfs-kmod-9999 **" >> /etc/portage/package.accept_keywords/zfs
echo "=sys-fs/zfs-9999 **" >> /etc/portage/package.accept_keywords/zfs
После чего установите и активируйте ZFS:
Creating a ZFS “partition”
Теперь, когда вы установили поддержку файловой системы, вам нужно создать пул. Пулы могут быть очень сложными, охватывая многие диски и предлагая избыточность. Однако в этом примере будет использоваться один раздел без избыточности. Во-первых, требуется пустой раздел. ZFS в Linux можно использовать в качестве корневой файловой системы, но это не рекомендуется. Поэтому перераспределите другой диск, используя привычный вам инструмент управления разделами, например, GParted. Если вы изменяете размер корневой файловой системы, чтобы освободить место, вам понадобится Live образ, например, GParted Live Disk.
После разбивки и перераспределения создадим новый zpool:
sudo zpool create -m /your/mount/point yourpoolname /dev/sdXY
Использование ZFS в Linux
ZFS оперирует наборами данных(dataset) — которые по сути ячлвются, мини-разделами в томе ZFS. Вы можете монтировать датасеты в любом месте в котором пожелаете. Когда вы делаете снэпшот(snapshot), вы делаете снимок набора данных. Для создания снэпшота, выполните следующую команду:
sudo zfs snapshot yourpoolname/dataset1@snapshotname
ZFS позволяет создавать практически неограниченное количество снэпшотов в датасете. К сожалению, возврат к более раннему снимку требует удаления всех снимков, созданных после него. Откат к более раннему снимку осуществляется так
sudo zfs rollback yourpoolname/dataset1@snapshotname
Еще одна полезная функция ZFS — это функция клонирования. Клоны позволяют дублировать датасеты, не занимая при этом все пространство на диске повторно. Разумеется, все записи в датасет будут использовать дополнительное дисковое пространство. Вы должны сделать снимок датасета, прежде чем сможете клонировать его. Чтобы клонировать датасет, выполните в терминале:
sudo zfs list -t snapshot # List all available snapshots
sudo zfs clone yourpoolname/dataset1@snapshotname yourpoolname/clonename
Чтобы удалить снэпшот выполните:
sudo zfs destroy yourpoolname/dataset1@snapshotname
Для удаления клона выполните:
sudo zfs destroy yourpoolname/clonename
Одним из интересных вариантов использования ZFS в Linux является виртуализация. Сохранение файла образа VM в датасете позволяет легко откатываться и клонировать с минимальными потерями в производительности.
ZFS — очень мощная файловая система с огромным количеством функций. Поскольку невозможно описать их все в одной статье, я пошлю вас знакомиться с фантастической документацией FreeBSD. Хоть документация и написана для FreeBSD, очень многое применимо в Linux (а также OSX, IllumOS и возможно Windows). Если вы намерены использовать ZFS, то я рекомендую ознакомиться с понятием наборов данных(dataset).
Статья является переводом с английского статьи Ryan El Kochta: ZFS Configuration on Linux – Setup and Basics
Читайте также продолжение этой статьи — Устанавливаем ZFS в Linux — часть 2. ZVols, LZ4, ARC, и ZILs
Гик, хакинтошник, линуксоид, считаю себя flutter разработчиком. Завёл канал, в котором изначально хотел показывать как я с нуля и до бесконечности погрузился в дорвей тематику, а в итоге просто рассказываю о себе, своих успехах и неудачах в сайтах, приложениях, офлайн проектах. Добро пожаловать в