zpools nie instalują się automatycznie po uruchomieniu

14

Uruchamianie serwera Ubuntu 13.10. Zainstalowałem i skonfigurowałem ZFS z Ubuntu PPA. Wszystko wydaje się działać dobrze po ponownym uruchomieniu, jeśli ręcznie wykonam 'sudo zfs mount -a', ale po przeczytaniu FAQ na zfsonlinux.org wydaje się, że powinienem oczekiwać, że automatycznie się zamontuje. Nie wiesz, gdzie szukać debugowania. Nie widzę żadnych błędów w / var / log / syslog związanych z zfs lub montowaniem.

$ 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
użytkownik234729
źródło

Odpowiedzi:

9

Musisz edytować plik za /etc/default/zfspomocą swojego ulubionego edytora, np .: nano, vim lub coś innego, i zmienić wiersze

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

do

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

Inną opcją jest install mountall( apt-get install mountall) z ZFS Stable PPA, zajmuje się tym za Ciebie. Pierwsza opcja jest lepsza i szybsza.

Bruno Pereira
źródło
2
Wygląda na to, że mountall jest teraz oficjalnie wspieranym sposobem wykonywania tego w Ubuntu. W pliku / default / zfs nie ma opcji ZFS_MOUNT, a dodanie ich nie było wystarczające do zamontowania mojej puli
Russell Fulton
6

Dla mnie na Ubuntu 14.04 LTS musiałem ustawić następujące ustawienia

Aby automatycznie importować zpools, zmień wartość z 1na 0:

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

modprobe zfs zfs_autoimport_disable=0

Aby automatycznie zamontować mocowania ZFS, dodaj następujący wiersz:

Plik: /etc/rc.local

zfs mount -a

Zrestartowano, a mocowania ZFS ZFS zostały zamontowane automatycznie.

Nick Grealy
źródło
1
Miałem ten sam problem (automatyczny import nie działa podczas rozruchu) ze świeżą instalacją Ubuntu 14.04 LTS i twoje rozwiązanie go rozwiązało.
masgo,
Dobrze słyszeć! :)
Nick Grealy 23.04.16
1
/etc/init/zpool-import.conf nie wydaje się istnieć na Ubuntu 16.04, nawet po przejściu z systemd na upstart.
GDorn
@GDorn, czy wypróbowałeś to rozwiązanie? - askubuntu.com/questions/768179/zfs-pools-not-mounted-16-04
Nick Grealy
2

Miałem ten sam problem z czystą instalacją 16.04 LTS.

Po ponownym uruchomieniu nie było żadnych pul ( zpool statusnie pokazało żadnych pul), ale zpool import <poolName>przywróciłoby moją pulę.

Okazało się, że zostały naprawione przez odpowiedzi na ZFS Pools nie zamontowane 16.04 . Reprodukcja roboczej odpowiedzi tutaj:

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

To

dovetalk
źródło
1

Przekonałem się, że nawet z mountalltym czasem po prostu nie działa. Dosłownie zbudowałem dwa identyczne serwery, umieściłem identyczny model HD w każdym z nich i jednocześnie zainstalowałem Ubuntu i ZFS PPA z tych samych źródeł. Jeden włączyłby się automatycznie, drugi nie. Nawet postępując zgodnie z dodatkowymi instrukcjami FAQ dotyczącymi dodawania uśpienia w mountall.confpliku itp., Nigdy nie montowałby się podczas rozruchu. W końcu wydałem mountallpolecenie /etc/rc.local.

Tony Maro
źródło
1

Używając Ubuntu 16.04 zfs, znalazłem coś, co naprawia montowanie udziałów zfs podczas rozruchu bez tworzenia rc.locallub systemdskryptów i bez ręcznego uruchamiania zfs set sharesmb=onpo każdym uruchomieniu.

Podsumowując: zfs mount -ai zfs share -anie działają, ale używanie zfs set sharesmb=ondziała. Bieganie sudo /etc/init.d/zfs-share restartteż działa. Ponadto mountallprogram w 16.04 nie obsługuje ZFS bez względu na przyczynę.

Myślę, że problem polega na tym, że po ustawieniu sharesmb=ontworzy nazwę udziału w oparciu o nazwę puli / nazwa udziału w następujący sposób:poolname_sharename

Ale wydaje się, że ta nazwa udziału może być za długa. Czytałem, że powinieneś ograniczyć nazwy Netbios do 14 znaków lub mniej, a także ograniczyć liczbę znaków w polu Komentarze.

Utworzyłem nowy system plików o łącznej długości mniejszej niż 14 znaków, w tym podkreślenie:

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

Następnie edytuj /etc/default/zfsi wyłącz montowanie / udostępnianie smb: (Myślę, że jeden jest dla NFS, ale wyłączam to wszystko)

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

Na koniec włącz sharesmbnowy system plików:

sudo zfs set sharesmb=on pool/share

Upewniłem się również, że /ect/hostidplik istnieje. (google, jak je utworzyć)

Teraz, gdy uruchamiam ponownie, uruchamiam to polecenie, nie musząc nic robić, i pojawia się mój udział:

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

I tak, wiem, że samba obsługuje nazwy dłuższe niż 14 znaków, ale wydaje się, że zepsuło to montowanie udziałów ZFS podczas rozruchu.

Chciałbym wiedzieć, czy to działa na kogoś innego, czy może to tylko dziwactwo w moim systemie ...

compdoc
źródło
0

04 Mój zfs nie montował się Zrobiłem: sudo zfs import Wymieniono wszystkie moje odmontowane pule, ale dało mi również opcję montowania według nazwy lub numeru zfs Zrobiłem import według jego numeru sudo zfs import ######## #######, a teraz automatycznie montuje się po każdym ponownym uruchomieniu

Wygląda na to, że ta liczba jest UUID tablicy, a wszystkie dyski w tablicy mają ten sam numer

Mam nadzieję, że to pomaga

Andre
źródło