zpools não montam automaticamente após a inicialização


14

Executando o servidor ubuntu 13.10. Zfs instalados e configurados a partir do ubuntu ppa. Tudo parece funcionar bem após uma reinicialização, se eu manualmente executar um 'sudo zfs mount -a', mas lendo as perguntas frequentes no zfsonlinux.org, parece que devo esperar que ele seja montado automaticamente. Não sei onde procurar a depuração. Não vejo nenhum erro no / var / log / syslog relacionado ao zfs ou à montagem.

$ 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

Respostas:


9

Você precisa editar o arquivo /etc/default/zfscom seu editor favorito, por exemplo: nano, vim ou qualquer outra coisa, e alterar as linhas

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

para

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

A outra opção é instalar mountall( apt-get install mountall) do ZFS Stable PPA, ele cuida disso para você. A primeira opção é preferível e mais rápida.


2
mountall parece ser a maneira oficialmente suportada de fazer isso no ubuntu agora. Não há opções ZFS_MOUNT na / default / arquivos ZFS e adicioná-los não foi suficiente para obter a minha piscina montada
Russell Fulton

6

Para mim no Ubuntu 14.04 LTS, tive que definir o seguinte

Para importar automaticamente os zpools, altere o valor de 1para 0:

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

modprobe zfs zfs_autoimport_disable=0

Para montar automaticamente as montagens zfs, adicione a seguinte linha:

Arquivo: /etc/rc.local

zfs mount -a

Reiniciou e as montagens do zpool ZFS foram montadas automaticamente.


1
Eu tive o mesmo problema (a importação automática não funciona no momento da inicialização) com uma nova instalação do Ubuntu 14.04 LTS e sua solução resolveu o problema.
masgo

Bom de se ouvir! :)
Nick Grealy

1
O /etc/init/zpool-import.conf não parece existir no Ubuntu 16.04, mesmo depois de voltar do systemd para o iniciante.
GDorn # 25/16

@GDorn, você já tentou esta solução? - askubuntu.com/questions/768179/zfs-pools-not-mounted-16-04
Nick Grealy

2

Eu tive o mesmo problema em uma instalação limpa no 16.04 LTS.

Após uma reinicialização, nenhum pool estava presente ( zpool statusnão mostrava pools), mas um zpool import <poolName>restauraria meu pool.

Acabou sendo corrigido pelas respostas aos ZFS Pools não montados 16.04 . Reproduzindo a resposta de trabalho aqui:

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

este


1

Descobri que mesmo com mountallisso às vezes não funciona direito. Eu literalmente construí dois servidores idênticos, coloquei HDs de modelos idênticos em cada um e instalei o Ubuntu e o ZFS PPA ao mesmo tempo nas mesmas fontes. Um montaria automaticamente, o outro não. Mesmo seguindo as instruções adicionais da FAQ sobre como adicionar uma suspensão no mountall.confarquivo etc., ele nunca seria montado na inicialização. Acabei colocando um mountallcomando /etc/rc.local.


1

Usando o Ubuntu 16.04 zfs, descobri algo que corrige a montagem de compartilhamentos zfs na inicialização sem criar rc.localou criar systemdscripts e sem executar manualmente zfs set sharesmb=onapós cada inicialização.

Resumindo: zfs mount -ae zfs share -anão funciona, mas usar zfs set sharesmb=onfunciona. A corrida sudo /etc/init.d/zfs-share restarttambém funciona. Além disso, o mountallprograma no 16.04 não suporta zfs, por qualquer motivo.

Acho que o problema é que, quando você define sharesmb=on, ele cria um nome de compartilhamento com base no nome da piscina / nome do shar, assim:poolname_sharename

Mas parece que esse nome de compartilhamento pode ser muito longo. Eu li que você deve limitar os nomes de netbios a 14 caracteres ou menos e também limitar o número de caracteres no campo Comentários.

Então, criei um novo sistema de arquivos com um comprimento combinado de menos de 14 caracteres, incluindo o sublinhado:

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

Em seguida /etc/default/zfs, edite e desative a montagem / compartilhamento de smb: (acho que um é para NFS, mas desative tudo)

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

Por fim, ative sharesmbo novo sistema de arquivos:

sudo zfs set sharesmb=on pool/share

Também verifiquei se o /ect/hostidarquivo existe. (google como criar um)

Agora, quando reinicializo, executo este comando sem precisar fazer mais nada, e meu compartilhamento aparece:

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

E sim, eu sei que o samba suporta nomes com mais de 14 caracteres, mas parece estragar a montagem de compartilhamentos zfs na inicialização.

Eu adoraria saber se isso funciona para mais alguém, ou se é apenas uma peculiaridade no meu sistema ...


0

04 Meu zfs não estava montando. Eu fiz um: sudo zfs import Ele listou todos os meus conjuntos não montados, mas também me deu a opção de montar pelo nome ou número do zfs. Eu fiz a importação pelo seu número sudo zfs import ####### ####### e agora é montado automaticamente após cada reinicialização

Parece que esse número é o uuid da matriz e todas as unidades na matriz têm o mesmo número

espero que ajude

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.