zpools werden nach dem Start nicht automatisch bereitgestellt

14

Laufender Ubuntu 13.10 Server. Installiert und konfiguriert ZFS vom Ubuntu ppa. Alles scheint nach einem Neustart gut zu funktionieren, wenn ich ein 'sudo zfs mount -a' manuell mache, aber wenn ich die FAQ auf zfsonlinux.org lese, sollte ich erwarten, dass es automatisch gemountet wird. Ich bin mir nicht sicher, wo ich nach dem Debug suchen soll. In / var / log / syslog werden keine Fehler im Zusammenhang mit zfs oder dem Mounten angezeigt.

$ 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
quelle

Antworten:

9

Sie müssen die Datei /etc/default/zfsmit Ihrem bevorzugten Editor bearbeiten , z. B. nano, vim oder etwas anderem, und die Zeilen ändern

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

zu

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

Die andere Option ist install mountall( apt-get install mountall) von ZFS Stable PPA, das erledigt es für Sie. Die erste Option ist vorzuziehen und schneller.

Bruno Pereira
quelle
2
Mountall scheint der offiziell unterstützte Weg zu sein, dies jetzt in Ubuntu zu tun. Es gibt keine ZFS_MOUNT-Optionen in der Datei / default / zfs und das Hinzufügen war nicht ausreichend, um meinen Pool bereitzustellen
Russell Fulton,
6

Für mich auf Ubuntu 14.04 LTS musste ich folgendes einstellen

Um die Zpools automatisch zu importieren, ändern Sie den Wert von 1in 0:

Datei: /etc/init/zpool-import.conf

modprobe zfs zfs_autoimport_disable=0

Fügen Sie die folgende Zeile hinzu, um die zfs-Bereitstellungen automatisch bereitzustellen:

Datei: /etc/rc.local

zfs mount -a

Neu gestartet, und die zpool-ZFS-Bereitstellungen wurden automatisch bereitgestellt.

Nick Grealy
quelle
1
Ich hatte das gleiche Problem (der automatische Import funktionierte beim Booten nicht) mit einer neuen Ubuntu 14.04 LTS-Installation und Ihre Lösung hat es gelöst.
Masgo
Gut zu hören! :)
Nick Grealy
1
/etc/init/zpool-import.conf scheint unter Ubuntu 16.04 nicht zu existieren, auch nach dem Wechsel von systemd zu upstart.
GDorn
@GDorn, hast du diese Lösung ausprobiert? - askubuntu.com/questions/768179/zfs-pools-not-mounted-16-04
Nick Grealy
2

Ich hatte das gleiche Problem bei einer Neuinstallation auf 16.04 LTS.

Nach einem Neustart waren keine Pools vorhanden (es wurden zpool statuskeine Pools angezeigt), aber zpool import <poolName>mein Pool wurde wiederhergestellt.

Es stellte sich heraus, dass die Antworten auf nicht gemountete ZFS-Pools den 16.04 . Die funktionierende Antwort hier wiedergeben:

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

Dies

dovetalk
quelle
1

Ich habe festgestellt, dass mountalldies manchmal einfach nicht richtig funktioniert. Ich habe buchstäblich zwei identische Server gebaut, identische HD-Modelle in jeden eingebaut und gleichzeitig Ubuntu und das ZFS PPA aus denselben Quellen installiert. Einer würde automatisch einsteigen, der andere nicht. Selbst mountall.confwenn Sie die zusätzlichen FAQ-Anweisungen zum Hinzufügen eines Ruhezustands in der Datei usw. befolgen, wird sie beim Booten niemals eingebunden. Am Ende habe ich einen mountallBefehl eingegeben /etc/rc.local.

Tony Maro
quelle
1

Mit Ubuntu 16.04 zfs, gibt es etwas , fand ich , dass Korrekturen zfs Aktien beim Booten ohne Erstellung Montage rc.localoder systemdSkripts und ohne manuell ausgeführtzfs set sharesmb=on wird nach jedem Neustart.

Zusammenfassend: zfs mount -aund zfs share -afunktionieren nicht, aber mit zfs set sharesmb=onfunktioniert. Laufen sudo /etc/init.d/zfs-share restartfunktioniert auch. Auch diemountall Programm in 16.04 aus irgendeinem Grund kein zfs.

Ich denke, das Problem ist, dass, wenn Sie festlegen sharesmb=on, es einen Freigabenamen basierend auf Poolname / Freigabename wie folgt erstellt:poolname_sharename

Es scheint jedoch, dass dieser Freigabename zu lang sein kann. Ich habe gelesen, dass Sie NetBIOS-Namen auf 14 Zeichen oder weniger beschränken sollten und auch die Anzahl der Zeichen im Kommentarfeld begrenzen sollten.

Deshalb habe ich ein neues Dateisystem mit einer kombinierten Länge von weniger als 14 Zeichen erstellt, einschließlich des Unterstrichs:

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

Dann editiere /etc/default/zfsund deaktiviere smb mount / sharing: (Ich denke, eines ist für NFS, aber ich deaktiviere alles)

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

Zuletzt aktivieren Sie sharesmbfür das neue Dateisystem:

sudo zfs set sharesmb=on pool/share

Ich habe auch dafür gesorgt, dass die /ect/hostidDatei existiert. (Google, wie man eine erstellt)

Wenn ich jetzt neu starte, führe ich diesen Befehl aus, ohne dass ich etwas anderes tun muss, und meine Freigabe wird angezeigt:

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

Und ja, ich weiß, dass Samba Namen unterstützt, die länger als 14 Zeichen sind, aber es scheint zu vermasseln, ZFS-Freigaben beim Booten zu mounten.

Ich würde gerne wissen, ob dies für irgendjemanden anderen funktioniert oder ob es nur eine Eigenart auf meinem System ist ...

compdoc
quelle
0

04 Mein ZFS wurde nicht gemountet Ich habe einen: sudo ZFS-Import durchgeführt. Es wurden alle nicht gemounteten Pools aufgelistet, aber es gab mir auch die Möglichkeit, nach ZFS-Namen oder -Nummer zu mounten. Ich habe den Import nach der Nummer durchgeführt. Sudo ZFS-Import ####### und jetzt wird es nach jedem Neustart automatisch aktiviert

Diese Nummer ist anscheinend die UUID des Arrays, und alle Laufwerke im Array haben dieselbe Nummer

Ich hoffe, das hilft

Andre
quelle