zpools не встановлюється автоматично після завантаження


14

Запуск сервера ubuntu 13.10. Встановлено та налаштуйте zfs з ubuntu ppa. Здається, що все працює нормально після перезавантаження, якщо я керуватиму '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

Відповіді:


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
Мабуть, мабуть, це офіційно підтримуваний спосіб зробити це в 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-mnged-16-04
Нік Грілі

2

У мене була та сама проблема з чистою установкою 16.04 LTS.

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

Виявлено, що відповіді на пули ZFS не встановлені 16.04 . Повторення робочої відповіді тут:

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

Це


1

Я виявив, що навіть з mountallцим іноді просто не виходить. Я буквально побудував два однакових сервери, розмістив однакові HD моделі в кожному з них і встановив Ubuntu та ZFS PPA одночасно з тих же джерел. Один би автоматизував, інший - ні. Навіть слідуючи додатковим інструкціям щодо поширених запитань щодо додавання режиму сну у mountall.confфайл тощо, він ніколи не встановлюється під час завантаження. Я врешті поставив mountallкоманду /etc/rc.local.


1

Використовуючи 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

Але здається, що ця назва назви може бути занадто довгою. Я читав, що слід обмежити імена netbios на 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-акцій під час завантаження.

Я хотів би знати, чи працює це для когось іншого, чи це лише якась химерність у моїй системі ...


0

04 Мій zfs не монтується. Я зробив імпорт: sudo zfs import У ньому були перелічені всі мої відключені пули, але він також дав мені можливість монтувати за ім'ям або номером zfs Я імпортував його за номером sudo zfs import ####### ####### і тепер він автоматично монтується після кожного перезавантаження

Схоже, що це число - uuid масиву, і всі диски в масиві мають однакове число

Сподіваюся, що це допомагає

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.