1. Обновите систему

Убедитесь, что ваша система Manjaro полностью обновлена, чтобы избежать проблем с зависимостями.

sudo pacman -Syu

2. Установите необходимые инструменты для AUR

Для работы с AUR вам понадобится установленный пакет yay или другой AUR-хелпер. Если он не установлен, выполните:

sudo pacman -S base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

3. Установите ZFS

ZFS в Manjaro доступен через AUR. Вы можете установить пакеты zfs-dkms (для автоматической сборки модуля ядра) или zfs-linux (для конкретной версии ядра).

Вариант 1: Установка zfs-dkms (рекомендуется для автоматической поддержки новых ядер)

yay -S zfs-dkms
  • zfs-dkms автоматически компилирует модуль ZFS для текущего ядра при его обновлении.
  • Убедитесь, что у вас установлены заголовки ядра:
  sudo pacman -S linux$(uname -r | grep -o '[0-9]*\.[0-9]*')-headers

Например, для ядра 6.6: sudo pacman -S linux66-headers.

Вариант 2: Установка zfs-linux (для конкретного ядра)

Если вы не хотите использовать DKMS, установите пакет, соответствующий вашему ядру:

yay -S zfs-linux
  • Этот вариант проще, но требует ручной переустановки при обновлении ядра.

4. Загрузите модуль ZFS

После установки проверьте, загружен ли модуль ZFS:

sudo modprobe zfs

Чтобы убедиться, что модуль загружен, выполните:

lsmod | grep zfs

Если модуль не загружается автоматически, добавьте его в автозагрузку:

echo zfs | sudo tee /etc/modules-load.d/zfs.conf

5. Установите утилиты ZFS

Утилиты для работы с ZFS (например, zpool и zfs) устанавливаются вместе с zfs-dkms или zfs-linux. Проверьте их наличие:

zfs version
zpool version

Если утилиты не установлены, установите их:

yay -S zfs-utils

6. Создайте пул ZFS

Теперь вы можете создать пул ZFS на вашем диске. Внимание: Все данные на диске будут уничтожены, поэтому сделайте резервную копию.

1. Определите диски для пула:

   lsblk

Найдите нужный диск (например, /dev/sdb).

2. Создайте пул ZFS (например, пул с именем tank):

   sudo zpool create -f tank /dev/sdb
  • -f принудительно создает пул, игнорируя предупреждения.
  • Для зеркалирования (RAID-1) используйте: sudo zpool create -f tank mirror /dev/sdb /dev/sdc.

3. Проверьте статус пула:

   zpool status

7. Создайте файловую систему ZFS

Создайте файловую систему внутри пула:

sudo zfs create tank/data

Установите точку монтирования:

sudo zfs set mountpoint=/mnt/data tank/data

Проверьте, смонтирована ли файловая система:

zfs list

8. Настройте автоматический импорт пула

Чтобы пул автоматически импортировался при загрузке:

sudo systemctl enable zfs-import-cache
sudo systemctl enable zfs-mount
sudo systemctl enable zfs-zed

9. Дополнительные настройки

  • Включите компрессию для экономии места:
  sudo zfs set compression=lz4 tank/data
  • Создайте снимок для резервного копирования:
  sudo zfs snapshot tank/data@initial

10. Проверка и мониторинг

  • Периодически проверяйте состояние пула:
  zpool status
  • Запустите проверку (scrub) для выявления ошибок:
  sudo zpool scrub tank

11. Решение возможных проблем

  • Ошибка сборки модуля: Если zfs-dkms не компилируется, проверьте, что установлены все зависимости (dkms, linux-headers).
  • Конфликты с ядром: Если вы обновляете ядро, убедитесь, что zfs-dkms пересобирает модуль, или используйте zfs-linux для конкретного ядра.
  • Производительность: ZFS требует минимум 4 ГБ ОЗУ, а для дедупликации — 8 ГБ и более.

Примечания

  • Резервное копирование: Перед настройкой ZFS убедитесь, что важные данные сохранены.
  • AUR: Установка из AUR может занять время, так как пакеты компилируются из исходников.
  • Документация: Ознакомьтесь с официальной документацией ZFS на сайте OpenZFS или в man zfs и man zpool.

[file-name 000231_2025-09-21_16-44-34.txt]