Запуск сервера 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
Я обнаружил, что даже с mountall
иногда это просто не работает. Я буквально построил два одинаковых сервера, поместил идентичные жесткие диски модели в каждый и установил Ubuntu и ZFS PPA одновременно из одних и тех же источников. Один будет автоматически смонтирован, другой нет. Даже следуя дополнительным инструкциям FAQ по добавлению спящего режима в файл mountall.conf
и т. Д., Он никогда не будет монтироваться при загрузке. Я закончил тем, что поместил команду mountall
в /etc/rc.local
.
У меня была такая же проблема при чистой установке 16.04 LTS.
После перезапуска пулов не было (zpool status
не показало пулов), но zpool import <poolName>
восстановит мой пул.
Оказалось, что это исправлено ответами на Пулы ZFS не смонтированы 16.04 . Воспроизведение рабочего ответа здесь:
sudo apt remove zfs.doc
sudo apt install zfsutils-linux
Это
Вам нужно отредактировать файл /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
, он позаботится об этом за вас. Первый вариант предпочтительнее и быстрее.
Для меня в 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 были смонтированы автоматически.
Используя Ubuntu 16.04 zfs, я обнаружил кое-что, что исправляет монтирование общих ресурсов zfs при загрузке без создания скриптов rc.local
или systemd
и без ручного запуска 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 при загрузке.
Я хотел бы знать, работает ли это для кого-то еще, или это просто какая-то странность в моей системе ...