ZFS no GNU/Linux
Este artigo é uma introdução básica ao uso do sistema de arquivos ZFS no GNU/Linux.
Parte 2: Instalação
Quem utiliza Solaris ou BSD muito provavelmente sabe das inúmeras vantagens que este sistema de arquivos pode proporcionar.
ZFS é software livre, porém licenciado sob a CDDL (Common Development and Distribution License), o que o torna incompatível com a GPL sob a qual é licenciado o kernel Linux.
Desta forma, seria ilegal DISTRIBUIR o código do ZFS dentro do kernel Linux, mas não UTILIZAR o ZFS como outro software qualquer em separado rodando em sua máquina.
Desta forma, foi criada a iniciativa zfsonlinux que produziu suporte compatível ao kernel Linux, e que é considerado estável desde 2013.
Dentre as principais distribuições Linux, Ubuntu, Gentoo e Arch Linux tem ótimo suporte ao ZFS, permitindo a instalação à partir de seus próprios repositórios. O Slackware também tem documentação disponível para utilizar ZFS de diversas formas.
Para quem precisa apenas de acessar um sistema de arquivos, existe também o ZFS-FUSE, que se utiliza do FUSE (Filesystem in Userspace), porém para utilizar o sistema de forma completa com todas suas vantagens é necessário habilitar o suporte no kernel, que é a finalidade deste artigo.
O SPL (Solaris Porting Layer) é um módulo para o kernel Linux entender a API do kernel Solaris. Essa camada de emulação torna possível executar código Solaris no kernel Linux com mínima modificação. O ZFS é o módulo do sistema de arquivos.
O ZFS em sua versão 0.6.4 é compatível com o kernel Linux desde a versão 2.6.32 até a 3.19.
Também é necessário ter instalado em seu sistema os kernel sources e headers na mesma versão. São recomendados sistemas com processadores x86_64 e com memória RAM suficiente (>2 GB) para ótima performance.
Também é necessário ter os pacotes de desenvolvimento básicos instalados, o que de forma geral, em uma distribuição Debian-like, seria instalado com algo do tipo:
sudo apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r)
sudo apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi wget
Se você utiliza uma distribuição como Slackware em sua instalação full, tudo que você precisar já está instalado, porém neste caso provavelmente você já deve saber o que fazer.
Nós vamos fazer uma compilação básica dos pacotes porém também há pacotes já disponíveis em diversas distribuições e seus respectivos gerenciadores de pacotes:
Dito isso, mão à obra:
cd ~
wget -c http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.4.tar.gz
wget -c http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.4.tar.gz
tar -xzvf spl-0.6.4.tar.gz
tar -xzvf zfs-0.6.4.tar.gz
cd spl-0.6.4
./configure
make
# make install
cd ../zfs-0.6.4
./configure
make
# make install
That's it! Agora você já pode reiniciar o computador e começar a usar ZFS da mesma forma como faria no Solaris ou FreeBSD.
Você terá os executáveis:
Com os quais fará o gerenciamento do ZFS.
Primeiro carregue o módulo:
# modprobe zfs
E veja se a instalação está funcionando, com a seguinte saída:
# zpool status
no pools available
Se aparecer algo diferente disso sua instalação não ocorreu corretamente.
ZFS é software livre, porém licenciado sob a CDDL (Common Development and Distribution License), o que o torna incompatível com a GPL sob a qual é licenciado o kernel Linux.
Desta forma, seria ilegal DISTRIBUIR o código do ZFS dentro do kernel Linux, mas não UTILIZAR o ZFS como outro software qualquer em separado rodando em sua máquina.
Desta forma, foi criada a iniciativa zfsonlinux que produziu suporte compatível ao kernel Linux, e que é considerado estável desde 2013.
Dentre as principais distribuições Linux, Ubuntu, Gentoo e Arch Linux tem ótimo suporte ao ZFS, permitindo a instalação à partir de seus próprios repositórios. O Slackware também tem documentação disponível para utilizar ZFS de diversas formas.
Para quem precisa apenas de acessar um sistema de arquivos, existe também o ZFS-FUSE, que se utiliza do FUSE (Filesystem in Userspace), porém para utilizar o sistema de forma completa com todas suas vantagens é necessário habilitar o suporte no kernel, que é a finalidade deste artigo.
Instalando o ZFS
Para utilizar o ZFS no Linux você deve instalar dois pacotes: SPL e ZFS.O SPL (Solaris Porting Layer) é um módulo para o kernel Linux entender a API do kernel Solaris. Essa camada de emulação torna possível executar código Solaris no kernel Linux com mínima modificação. O ZFS é o módulo do sistema de arquivos.
O ZFS em sua versão 0.6.4 é compatível com o kernel Linux desde a versão 2.6.32 até a 3.19.
Também é necessário ter instalado em seu sistema os kernel sources e headers na mesma versão. São recomendados sistemas com processadores x86_64 e com memória RAM suficiente (>2 GB) para ótima performance.
Também é necessário ter os pacotes de desenvolvimento básicos instalados, o que de forma geral, em uma distribuição Debian-like, seria instalado com algo do tipo:
sudo apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r)
sudo apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi wget
Se você utiliza uma distribuição como Slackware em sua instalação full, tudo que você precisar já está instalado, porém neste caso provavelmente você já deve saber o que fazer.
Nós vamos fazer uma compilação básica dos pacotes porém também há pacotes já disponíveis em diversas distribuições e seus respectivos gerenciadores de pacotes:
- Arch Linux - https://wiki.archlinux.org/index.php/ZFS
- Debian - http://zfsonlinux.org/debian.html
- Fedora - http://zfsonlinux.org/fedora.html
- Funtoo - http://www.funtoo.org/ZFS_Fun
- Gentoo - http://wiki.gentoo.org/wiki/ZFS
- RHEL / CentOS / SL - http://zfsonlinux.org/epel.html
- Ubuntu - https://launchpad.net/~zfs-native/+archive/stable
- Slackware - http://slackbuilds.org/repository/14.1/system/zfs-on-linux/
Dito isso, mão à obra:
cd ~
wget -c http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.4.tar.gz
wget -c http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.4.tar.gz
tar -xzvf spl-0.6.4.tar.gz
tar -xzvf zfs-0.6.4.tar.gz
cd spl-0.6.4
./configure
make
# make install
cd ../zfs-0.6.4
./configure
make
# make install
That's it! Agora você já pode reiniciar o computador e começar a usar ZFS da mesma forma como faria no Solaris ou FreeBSD.
Você terá os executáveis:
- /usr/local/sbin/zpool
- /usr/local/sbin/zfs
Com os quais fará o gerenciamento do ZFS.
Primeiro carregue o módulo:
# modprobe zfs
E veja se a instalação está funcionando, com a seguinte saída:
# zpool status
no pools available
Se aparecer algo diferente disso sua instalação não ocorreu corretamente.
Agora além do IP de tudo temos o armazenamento de tudo.
Vou usar como referência quando for explorar este sistema de arquivos.
Parabéns.
--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden