<===
2025-09-21 16:44:34
Установка и настройка ZFS на Manjaro требует нескольких шагов, так как ZFS не включена по умолчанию в ядро Linux из-за лицензионных ограничений (CDDL против GPL). Однако Manjaro предоставляет удобный способ установить ZFS через AUR (Arch User Repository). Вот пошаговая инструкция:
### 1. **Обновите систему**
Убедитесь, что ваша система Manjaro полностью обновлена, чтобы избежать проблем с зависимостями.
```bash
sudo pacman -Syu
```
### 2. **Установите необходимые инструменты для AUR**
Для работы с AUR вам понадобится установленный пакет `yay` или другой AUR-хелпер. Если он не установлен, выполните:
```bash
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` (рекомендуется для автоматической поддержки новых ядер)
```bash
yay -S zfs-dkms
```
- `zfs-dkms` автоматически компилирует модуль ZFS для текущего ядра при его обновлении.
- Убедитесь, что у вас установлены заголовки ядра:
```bash
sudo pacman -S linux$(uname -r | grep -o '[0-9]*\.[0-9]*')-headers
```
Например, для ядра 6.6: `sudo pacman -S linux66-headers`.
#### Вариант 2: Установка `zfs-linux` (для конкретного ядра)
Если вы не хотите использовать DKMS, установите пакет, соответствующий вашему ядру:
```bash
yay -S zfs-linux
```
- Этот вариант проще, но требует ручной переустановки при обновлении ядра.
### 4. **Загрузите модуль ZFS**
После установки проверьте, загружен ли модуль ZFS:
```bash
sudo modprobe zfs
```
Чтобы убедиться, что модуль загружен, выполните:
```bash
lsmod | grep zfs
```
Если модуль не загружается автоматически, добавьте его в автозагрузку:
```bash
echo zfs | sudo tee /etc/modules-load.d/zfs.conf
```
### 5. **Установите утилиты ZFS**
Утилиты для работы с ZFS (например, `zpool` и `zfs`) устанавливаются вместе с `zfs-dkms` или `zfs-linux`. Проверьте их наличие:
```bash
zfs version
zpool version
```
Если утилиты не установлены, установите их:
```bash
yay -S zfs-utils
```
### 6. **Создайте пул ZFS**
Теперь вы можете создать пул ZFS на вашем диске. **Внимание**: Все данные на диске будут уничтожены, поэтому сделайте резервную копию.
1. Определите диски для пула:
```bash
lsblk
```
Найдите нужный диск (например, `/dev/sdb`).
2. Создайте пул ZFS (например, пул с именем `tank`):
```bash
sudo zpool create -f tank /dev/sdb
```
- `-f` принудительно создает пул, игнорируя предупреждения.
- Для зеркалирования (RAID-1) используйте: `sudo zpool create -f tank mirror /dev/sdb /dev/sdc`.
3. Проверьте статус пула:
```bash
zpool status
```
### 7. **Создайте файловую систему ZFS**
Создайте файловую систему внутри пула:
```bash
sudo zfs create tank/data
```
Установите точку монтирования:
```bash
sudo zfs set mountpoint=/mnt/data tank/data
```
Проверьте, смонтирована ли файловая система:
```bash
zfs list
```
### 8. **Настройте автоматический импорт пула**
Чтобы пул автоматически импортировался при загрузке:
```bash
sudo systemctl enable zfs-import-cache
sudo systemctl enable zfs-mount
sudo systemctl enable zfs-zed
```
### 9. **Дополнительные настройки**
- **Включите компрессию** для экономии места:
```bash
sudo zfs set compression=lz4 tank/data
```
- **Создайте снимок** для резервного копирования:
```bash
sudo zfs snapshot tank/data@initial
```
### 10. **Проверка и мониторинг**
- Периодически проверяйте состояние пула:
```bash
zpool status
```
- Запустите проверку (scrub) для выявления ошибок:
```bash
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`.