Problemas ao instalar o ZFS no Ubuntu 15.10

0

Tentando instalar o método mais recente para instalar o ZFS no Ubuntu e falhando miseravelmente.

ion@Hades:~$ sudo apt-get install zfsutils-linux

Depois de correr para instalar o zfs, recebo problemas durante a instalação e não sei como proceder.

First Installation: checking all kernels...
Building only for 4.2.0-22-generic
Building initial module for 4.2.0-22-generic
configure: error: in '/var/lib/dkms/spl/0.6.4.2/build':
configure: error: C compiler cannot create executables
See 'config.log' for more details
Error! Bad return status for module build on kernel: 4.2.0-22-generic (x86_64)
Consult /var/lib/dkms/spl/0.6.4.2/build/make.log for more information.
Processing triggers for libc-bin (2.21-0ubuntu4) ...
Selecting previously unselected package zfs-dkms.
(Reading database ... 60099 files and directories currently installed.)

Depois, na instalação, recebo isso -

First Installation: checking all kernels...
Building only for 4.2.0-22-generic
Building initial module for 4.2.0-22-generic
configure: error: 
*** Please make sure the kmod spl devel <kernel> package for your
*** distribution is installed then try again.  If that fails you
*** can specify the location of the spl objects with the
*** '--with-spl-obj=PATH' option.
Error! Bad return status for module build on kernel: 4.2.0-22-generic (x86_64)
Consult /var/lib/dkms/zfs/0.6.4.2/build/make.log for more information.
Setting up libfakeroot:amd64 (1.20.2-1ubuntu1) ...
Setting up fakeroot (1.20.2-1ubuntu1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up libc-dev-bin (2.21-0ubuntu4) ...
Setting up linux-libc-dev:amd64 (4.2.0-22.27) ...
Setting up libc6-dev:amd64 (2.21-0ubuntu4) ...
Setting up manpages-dev (3.74-1ubuntu1) ...
Setting up libuutil1linux (0.6.4.2-0ubuntu1.2) ...
Setting up libnvpair1linux (0.6.4.2-0ubuntu1.2) ...
Setting up libzpool2linux (0.6.4.2-0ubuntu1.2) ...
Setting up libzfs2linux (0.6.4.2-0ubuntu1.2) ...
Setting up spl (0.6.4.2-0ubuntu1) ...
Setting up zfsutils-linux (0.6.4.2-0ubuntu1.2) ...
zfs-import-cache.service is a disabled or a static unit, not starting it.
zfs-mount.service is a disabled or a static unit, not starting it.
A dependency job for zfs.target failed. See 'journalctl -xe' for details.
zfs.target couldn't start.
zfs-import-scan.service is a disabled or a static unit, not starting it.
Processing triggers for libc-bin (2.21-0ubuntu4) ...
Processing triggers for initramfs-tools (0.120ubuntu6) ...
update-initramfs: Generating /boot/initrd.img-4.2.0-22-generic
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (225-1ubuntu9) ...

Então, quando eu vou importar o pool eu recebo isso, se alguém tem uma idéia do que está errado, por favor me diga.

ion@Hades:~$ sudo zpool import storage
Failed to load ZFS module stack.
Load the module manually by running 'insmod <location>/zfs.ko' as root.

Não tenho certeza sobre qual problema está relacionado, mas aqui está a informação do journalctl -xe também

Jan 04 10:05:13 Hades systemd[1]: Dependency failed for ZFS startup     target.
-- Subject: Unit zfs.target has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit zfs.target has failed.
-- 
-- The result is dependency.
Jan 04 10:05:13 Hades systemd[1]: zfs.target: Job zfs.target/start   failed with result 'dependency'.
Jan 04 10:05:13 Hades systemd[1]: Dependency failed for ZFS file system shares.
-- Subject: Unit zfs-share.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit zfs-share.service has failed.
-- 
-- The result is dependency.
Jan 04 10:05:13 Hades systemd[1]: zfs-share.service: Job zfs-   share.service/start failed with result 'dependency'.
Jan 04 10:05:13 Hades systemd[1]: zfs-mount.service: Unit entered failed state.
Jan 04 10:05:13 Hades systemd[1]: zfs-mount.service: Failed with result 'exit-code'.
Jan 04 10:05:13 Hades sudo[18945]: pam_unix(sudo:session): session closed for user root

Se alguém puder me apontar como resolver isso, o que seria ótimo, praticamente, com prejuízo, isso está relacionado a um problema do sistema ou? Esta é uma nova instalação do ubuntu 15.10.

    
por ION 04.01.2016 / 11:04

3 respostas

1

A única maneira de consertar isso é instalá-lo manualmente via DKMS. Continua falhando se eu continuo tentando reconstruí-lo.

Obtenha o número da versão dos módulos registrados:

 dkms status

Para criar os módulos manualmente:

 dkms remove -m zfs -v version --all
 dkms remove -m spl -v version --all
 dkms add -m spl -v version
 dkms add -m zfs -v version
 dkms install -m spl -v version
 dkms install -m zfs -v version

Depois de ter feito isso, funcionou todas as vezes (testei isso várias vezes).

    
por ION 18.01.2016 / 21:49
1

Depurei esse problema e ele está relacionado ao bug 1491729 , onde O spl (a camada de portabilidade do Solaris) precisa ser construído pelo DKMS antes do módulo do zfs. A primeira etapa da correção para isso foi adicionar ordem de construção de módulo forçada no DKMS, no entanto, o sinalizador em zfsutils-linux que define essa ordem para spl e zfs não parece estar funcionando. Vou tentar consertar isso o mais rápido possível.

Portanto, uma solução rápida é:

sudo apt-get install libc-dev && sudo apt-get install zfsutils-linux

ATUALIZAÇÃO:

Eu descobri o problema raiz: spl-dkms precisa depender de libc-dev para o script configure funcionar antes que o SPL seja criado usando o DKMS. Eu agora tenho uma correção de trabalho. Eu estou trabalhando no bug agora e espero conseguir uma correção lançada em uma atualização de lançamento estável no futuro próximo.

    
por Colin Ian King 18.01.2016 / 20:52
0

Apenas resolvi exatamente este mesmo problema em uma nova instalação 15.10 seguindo as instruções aqui:

Erro ao instalar o ubuntu-zfs

Quais são os seguintes:

apt-get install linux-headers-generic build-essential -y

Eu usei "apt-get purge" e "apt-get autoremove" para remover todos os pacotes do zfs que foram instalados pelo comando com falha e depois os reinstalou novamente.

Meu pool foi montado automaticamente depois que a instalação foi concluída.

    
por cyclicredundancy 17.01.2016 / 14:02