A atualização do Ubuntu 14.04 para 16.04 quebrou meu ZFS

2

Acabei de atualizar o Ubuntu de 14.04 para 16.04, o que parece ter quebrado o ZFS. Eu segui as instruções aqui e purgei todos os pacotes antigos do ZFS. Eu então instalei o zfsutils-linux dos 16.04 PPAs padrão, mas sempre que executo qualquer comando do ZFS, recebo o seguinte erro:

:~$ sudo zfs get all
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.

Eu tentei usar o modprobe como as mensagens de erro recomendam:

:~$ sudo /sbin/modprobe zfs
modprobe: ERROR: could not insert 'zfs': Invalid argument

Parece que o ZFS não está instalado, mas o apt-get mostra que é:

:~$ sudo apt-get install zfsutils-linux
Reading package lists... Done
Building dependency tree
Reading state information... Done
zfsutils-linux is already the newest version (0.6.5.6-0ubuntu16).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension

Eu também fui fisicamente à minha máquina em vez de usar o SSH para assistir a inicialização e vi vários itens do ZFS FALHAR na inicialização, um dos quais acredito ter algo a dizer sobre dependências, mas passou rápido demais para eu ler tudo deles. Eu tentei ver o que eles dizem, olhando nos logs de inicialização, mas eu tenho sido incapaz de encontrar um arquivo de log de inicialização que corresponda à saída mostrada durante a inicialização. Onde posso ver o que realmente está falhando na inicialização?

Outra descoberta interessante é que, se eu usar apenas o comando zfs, recebo a saída 'missing command', mas ao adicionar qualquer comando, recebo a mesma mensagem de erro acima.

:~$ zfs
missing command
usage: zfs command args ...
where 'command' is one of the following:

        create [-p] [-o property=value] ... <filesystem>
        create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
        destroy [-fnpRrv] <filesystem|volume>
        destroy [-dnpRrv] <filesystem|volume>@<snap>[%<snap>][,...]
        destroy <filesystem|volume>#<bookmark>

        snapshot|snap [-r] [-o property=value] ... <filesystem|volume>@<snap> ..                                                                                                                                                             .
        rollback [-rRf] <snapshot>
        clone [-p] [-o property=value] ... <snapshot> <filesystem|volume>
        promote <clone-filesystem>
        rename [-f] <filesystem|volume|snapshot> <filesystem|volume|snapshot>
        rename [-f] -p <filesystem|volume> <filesystem|volume>
        rename -r <snapshot> <snapshot>
        bookmark <snapshot> <bookmark>

        list [-Hp] [-r|-d max] [-o property[,...]] [-s property]...
            [-S property]... [-t type[,...]] [filesystem|volume|snapshot] ...

        set <property=value> <filesystem|volume|snapshot> ...
        get [-rHp] [-d max] [-o "all" | field[,...]]
            [-t type[,...]] [-s source[,...]]
            <"all" | property[,...]> [filesystem|volume|snapshot] ...
        inherit [-rS] <property> <filesystem|volume|snapshot> ...
        upgrade [-v]
        upgrade [-r] [-V version] <-a | filesystem ...>
        userspace [-Hinp] [-o field[,...]] [-s field] ...
            [-S field] ... [-t type[,...]] <filesystem|snapshot>
        groupspace [-Hinp] [-o field[,...]] [-s field] ...
            [-S field] ... [-t type[,...]] <filesystem|snapshot>

        mount
        mount [-vO] [-o opts] <-a | filesystem>
        unmount [-f] <-a | filesystem|mountpoint>
        share <-a | filesystem>
        unshare <-a | filesystem|mountpoint>

        send [-DnPpRvLe] [-[iI] snapshot] <snapshot>
        send [-Le] [-i snapshot|bookmark] <filesystem|volume|snapshot>
        receive [-vnFu] <filesystem|volume|snapshot>
        receive [-vnFu] [-d | -e] <filesystem>

        allow <filesystem|volume>
        allow [-ldug] <"everyone"|user|group>[,...] <perm|@setname>[,...]
            <filesystem|volume>
        allow [-ld] -e <perm|@setname>[,...] <filesystem|volume>
        allow -c <perm|@setname>[,...] <filesystem|volume>
        allow -s @setname <perm|@setname>[,...] <filesystem|volume>

        unallow [-rldug] <"everyone"|user|group>[,...]
            [<perm|@setname>[,...]] <filesystem|volume>
        unallow [-rld] -e [<perm|@setname>[,...]] <filesystem|volume>
        unallow [-r] -c [<perm|@setname>[,...]] <filesystem|volume>
        unallow [-r] -s @setname [<perm|@setname>[,...]] <filesystem|volume>

        hold [-r] <tag> <snapshot> ...
        holds [-r] <snapshot> ...
        release [-r] <tag> <snapshot> ...
        diff [-FHt] <snapshot> [snapshot|filesystem]

Each dataset is of the form: pool/[dataset/]*dataset[@name]

For the property list, run: zfs set|get

For the delegated permission list, run: zfs allow|unallow

O que mais posso fazer para solucionar problemas de instalação do ZFS?

    
por Brett Mather 01.05.2017 / 18:20

2 respostas

1

Tive um problema semelhante ao atualizar de 12.04 para 16.04. Finalmente consegui que funcionasse, mas não me lembro exatamente o que fiz (o passo 2 não era óbvio).

  1. Remova os antigos pacotes zfs , incluindo o PPA, consulte Atualize para 16.04 LTS do servidor ubuntu 14.04 LTS com o ubuntu-zfs
  2. Remover: spl-dkms e (eu acho) spl
  3. Reinstalar zfs
por Magnus 07.05.2017 / 10:03
1

As seguintes séries de comandos root resolveram o problema para mim.

apt clean
apt update
apt purge zfs*
apt remove spl dkms spl-dkms
apt autoremove
add-apt-repository --remove ppa:zfs-native/stable

apt install zfsutils-linux
apt install spl-dkms

reboot -n
    
por Serge Stroobandt 05.08.2017 / 20:59