ZFS на Antergos: после установки

Antergos на данный момент единственный дистрибутив, который поддерживает zfs на этапе установки, так что становится возможным без лишней возни установить систему с корневым разделом на zfs (ибо иначе не труЪ). К сожалению, тут тоже есть ограничения. ZFS для установки доступна только в автоматичеком режиме, создать раздел ZFS в режиме ручной установки нельзя. Кроме того, не поддерживается шифрование разделов с ZFS (вернее, эти элементы в интерфейсе есть, но пока заблокированы, видимо, ожидают реализации).

В целом все неплохо, но и на виртуальной машине, и на реальном железе я сталкивался с одной и той же историей: после установки при первой загрузке ZFS-пул отказывался монтироваться, мотивируя это тем, что «pool may be in use from other system», и меня выбрасывало в консоль рута. Лечение этой проблемы описано в официальной вике, например, Arch Linux и выглядит так.

  1.  Необходимо импортировать существующий пул командой:
    # zpool import -a -f
  2. А теперь экспортировать пул:
    # zpool export <название_пула>
  3. Теперь вы должны видеть ваш пул:
    # zpool status

Остается перезагрузиться. Теперь пул должен монтироваться и загружаться нормально.

Но теперь вас, скорее всего, ожидает другая проблема. При загрузке появляется сообщение об ошибке вида «no device specified for hibernation». Оно связано с другой забавной проблемой. Как таковая ZFS не поддерживает гибернацию (пока). Хотя swap-раздел создается на этапе установки, для гибернации он использоваться не может. Этот момент можно обойти, обманув загрузчик и подставив ему корень в качестве раздела для гибернации. Гибернация от этого не появится, но сообщение пропадет. Метод описан в вики Antergos и выглядит так:

  1. Сначала нужно получить UUID корневого раздела. Сделать это можно с помощью команды blkid
  2. Получив UUID, его нужно подставить в качестве параметра ядра «resume=UUID=UUID_вашего_раздела» в файл /etc/default/grub в параметр GRUB_CMDLINE_LINUX_DEFAULT=“quiet …”
    Вместо многоточия должен стоять resume=UUID=UUID_вашего_раздела
  3. Теперь, конечно, нужно заново сгенерировать grub.cfg при помощи команды grub-mkconfig -o /boot/grub/grub.cfg

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *