zpools не монтируется автоматически после загрузки

14

Запуск сервера Ubuntu 13.10. Установил и настроил zfs из pbu ubuntu. Похоже, что все работает нормально после перезагрузки, если я вручную делаю 'sudo zfs mount -a', но, читая FAQ на zfsonlinux.org, похоже, я должен ожидать, что он будет автоматически монтироваться. Не уверен, где искать для отладки. Я не вижу ошибок в / var / log / syslog, связанных с zfs или монтированием.

$ sudo zfs get all zp
NAME  PROPERTY              VALUE                  SOURCE
zp    type                  filesystem             -
zp    creation              Sat Mar 16 17:14 2013  -
zp    used                  464G                   -
zp    available             449G                   -
zp    referenced            13.3M                  -
zp    compressratio         1.00x                  -
zp    mounted               no                     -
zp    quota                 none                   default
zp    reservation           none                   default
zp    recordsize            128K                   default
zp    mountpoint            /zp                    default
zp    sharenfs              off                    default
zp    checksum              on                     default
zp    compression           off                    default
zp    atime                 on                     default
zp    devices               on                     default
zp    exec                  on                     default
zp    setuid                on                     default
zp    readonly              off                    default
zp    zoned                 off                    default
zp    snapdir               hidden                 default
zp    aclinherit            restricted             default
zp    canmount              on                     default
zp    xattr                 on                     default
zp    copies                1                      default
zp    version               5                      -
zp    utf8only              off                    -
zp    normalization         none                   -
zp    casesensitivity       sensitive              -
zp    vscan                 off                    default
zp    nbmand                off                    default
zp    sharesmb              on                     local
zp    refquota              none                   default
zp    refreservation        none                   default
zp    primarycache          all                    default
zp    secondarycache        all                    default
zp    usedbysnapshots       25.3K                  -
zp    usedbydataset         13.3M                  -
zp    usedbychildren        464G                   -
zp    usedbyrefreservation  0                      -
zp    logbias               latency                default
zp    dedup                 off                    default
zp    mlslabel              none                   default
zp    sync                  standard               default
zp    refcompressratio      1.00x                  -
zp    written               13.3M                  -
zp    snapdev               hidden                 default
user234729
источник

Ответы:

9

Вам нужно отредактировать файл в /etc/default/zfsвашем любимом редакторе, например: nano, vim или что-то еще, и изменить строки

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

в

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

Другой вариант - установить mountall( apt-get install mountall) из ZFS Stable PPA, он позаботится об этом за вас. Первый вариант предпочтительнее и быстрее.

Бруно Перейра
источник
2
Похоже, что mountall официально поддерживается в Ubuntu. В файле / default / zfs нет параметров ZFS_MOUNT, и их добавления было недостаточно для монтирования моего пула
Рассел Фултон,
6

Для меня на Ubuntu 14.04 LTS, я должен был установить следующее

Чтобы автоматически импортировать zpools, измените значение с 1на 0:

Файл: /etc/init/zpool-import.conf

modprobe zfs zfs_autoimport_disable=0

Чтобы автоматически смонтировать монтирование zfs, добавьте следующую строку:

Файл: /etc/rc.local

zfs mount -a

Перезапустился, и zpool ZFS были смонтированы автоматически.

Ник Грили
источник
1
У меня была та же проблема (автоматический импорт не работает во время загрузки) с новой установкой Ubuntu 14.04 LTS, и ваше решение ее решило.
Масго
Рад слышать! :)
Ник Грейли
1
/etc/init/zpool-import.conf не существует в Ubuntu 16.04, даже после переключения с systemd на upstart.
GDorn
@GDorn, вы пробовали это решение? - askubuntu.com/questions/768179/zfs-pools-not-mounts-16-04
Ник Грейли,
2

У меня была такая же проблема при чистой установке 16.04 LTS.

После перезапуска пулы не присутствовали (не zpool statusпоказывали пулов), но zpool import <poolName>они восстановили бы мой пул.

Оказалось исправленным ответы на ZFS Pools не смонтированы 16.04 . Воспроизведение рабочего ответа здесь:

sudo apt remove zfs.doc
sudo apt install zfsutils-linux

Эта

dovetalk
источник
1

Я обнаружил, что даже с mountallэтим просто иногда не работает правильно. Я буквально построил два одинаковых сервера, поместил идентичные жесткие диски модели на каждый и установил Ubuntu и ZFS PPA одновременно из одних и тех же источников. Один будет автоматически смонтирован, другой нет. Даже следуя дополнительным инструкциям FAQ по добавлению спящего режима в mountall.confфайл и т. Д., Он никогда не будет монтироваться при загрузке. Я закончил тем, что ввел mountallкоманду /etc/rc.local.

Тони Маро
источник
1

Используя Ubuntu 16.04 zfs, я нашел кое-что, что исправляет монтирование общих ресурсов zfs при загрузке без создания rc.localsystemd сценариев или запуска вручную zfs set sharesmb=onпосле каждой загрузки.

Подводя итог: zfs mount -aиzfs share -a не работает, но использование zfs set sharesmb=onработает. Бег sudo /etc/init.d/zfs-share restartтоже работает. Кроме того, mountallпрограмма по 16.04 не поддерживает zfs по любой причине.

Я думаю, что проблема в том, что когда вы устанавливаете sharesmb=on, он создает имя общего ресурса на основе имени пула / имя_ресурса следующим образом:poolname_sharename

Но похоже, что это имя может быть слишком длинным. Я читал, что вы должны ограничить имена нетбиосов до 14 символов или менее, а также ограничить количество символов в поле Комментарии тоже.

Итак, я создал новую файловую систему с общей длиной менее 14 символов, включая подчеркивание:

sudo zfs create -o casesensitivity=mixed -o nbmand=on pool/share

Затем отредактируйте /etc/default/zfsи отключите монтирование / совместное использование smb: (я думаю, что это для NFS, но я все это отключаю)

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'
ZFS_SHARE='no'
ZFS_UNSHARE='no'

Наконец, включите sharesmbдля новой файловой системы:

sudo zfs set sharesmb=on pool/share

Я также убедился, что /ect/hostid файл существует. (Google, как его создать)

Теперь, когда я перезагружаюсь, я запускаю эту команду, больше ничего не делая, и появляется моя доля:

smbclient -U guest -N -L localhost  (or use smbclient -L localhost)

Sharename       Type      Comment
---------       ----      -------
print$          Disk      Printer Drivers
IPC$            IPC       IPC Service (my server (Samba, Ubuntu))
pool_share      Disk      Comment: /pool/share

И да, я знаю, что samba поддерживает имена длиннее 14 символов, но, похоже, это мешает монтированию общих ресурсов zfs при загрузке.

Я хотел бы знать, работает ли это для кого-то еще, или это просто какая-то странность в моей системе ...

compdoc
источник
0

04 Мой zfs не монтировался. Я выполнил: sudo zfs import В нем были перечислены все мои несмонтированные пулы, но он также дал мне возможность монтировать по имени или номеру zfs. Я сделал импорт по его номеру. Sudo zfs import ####### ####### и теперь он автоматически монтируется после каждой перезагрузки

Похоже, что это номер UUID массива и все диски в массиве имеют одинаковый номер

надеюсь, это поможет

Andre
источник