Configurando o ZFS no Ubuntu 20.04
Após ter terminado a instalação do ZFS no Ubuntu 20.04, o próximo passo é fazer alguma configuração com seus discos rígidos. Há muitas possibilidades com o ZFS, e o que você decide fazer vai depender de quantos discos você tem disponíveis e quais são seus objetivos de armazenamento. Por exemplo, você prefere que sua matriz de armazenamento se concentre na velocidade ou redundância? Você tem 3 discos ou 20? E quanto à criptografia?
Seja qual for o tipo de configuração que você deseja, mostraremos a você como começar neste guia. Continue lendo enquanto cobrimos os comandos básicos de uso em ZFS e configuração de zpools, RAID-Z, criptografia, e mais.
Neste tutorial você aprenderá:
- Como instalar ZFS no Ubuntu 20.04
- Como criar e destruir zpools
- Configurar diferentes níveis de RAID e RAID-Z
- Como usar criptografia com ZFS
Categoria | Requisitos, Convenções ou Versão de Software Usado |
---|---|
Sistema | Instalado ou atualizado no Ubuntu 20.04 Focal Fossa |
Software | Utilitários ZFS |
Outros | Acesso privilegiado ao seu sistema Linux como root ou através do comando sudo . |
Convenções | # – requer que determinados comandos linux sejam executados com privilégios de root diretamente como usuário root ou através do comando sudo $ – requer que determinados comandos do linux sejam executados como um usuário regular não-privilegiado
|
Prerequisites
A única coisa que você precisa para começar com o ZFS e seguir junto com nosso guia é o Ubuntu 20.04 Focal Fossa, alguns discos rígidos que você gostaria de usar na(s) sua(s) matriz(s) de armazenamento e os utilitários ZFS instalados no seu sistema. Se você ainda não tem o ZFS instalado, você pode abrir um terminal e instalar o pacote zfsutils-linux
com estes dois comandos:
$ sudo apt update$ sudo apt install zfsutils-linux
Você pode verificar se o ZFS está instalado com o seguinte comando no terminal:
$ zfs --version
ZFS Basic Usage and Commands
Temos alguns discos rígidos no nosso sistema de teste que planeamos utilizar com o ZFS. Vamos mostrar-lhe várias coisas que pode fazer com eles nesta secção.
Quando liga novos discos rígidos ao seu sistema, o ZFS aborda-os pelo nome do seu dispositivo – normalmente algo do tipo /dev/sda
ou semelhante. Você pode usar o comando fdisk
para ver quais discos rígidos você tem disponíveis.
$ sudo fdisk -l
Criar e destruir pools de armazenamento ZFS
ZFS funciona agrupando os discos. Estes pools (comumente chamados de “zpools”) podem ser configurados para vários níveis RAID.
O primeiro zpool que vamos ver é um RAID 0. Isto funciona através do striping dos seus dados em vários discos. Quando um arquivo é lido ou escrito no pool de armazenamento, todos os discos irão trabalhar juntos para apresentar uma parte dos dados. Isto oferece-lhe um aumento da velocidade de leitura e escrita, mas não faz nada em termos de redundância. De fato, qualquer falha de disco no pool resultará em uma perda completa de dados.
$ sudo zpool create mypool /dev/sdb /dev/sdc
Este comando criou um pool de armazenamento ZFS chamado “mypool” com dois discos rígidos, /dev/sdb
e /dev/sdc
. Você pode ver detalhes sobre seus pools de armazenamento a qualquer momento executando este comando:
$ zpool status
E você pode ver um relatório mais conciso dos seus pools de armazenamento ZFS executando:
$ zpool list
O seu novo pool criado será montado automaticamente para você, e você pode começar a usá-lo imediatamente. Uma boa característica do ZFS é que você não precisa passar por um longo processo de particionamento (ao usar discos inteiros) ou de formatação. O armazenamento é apenas acessível de imediato.
$ df -hT | grep zfs
Se você quiser adicionar outro disco rígido ao pool, dê uma olhada neste comando onde adicionamos o disco rígido /dev/sdd
ao nosso pool previamente criado mypool
storage pool:
>
$ sudo zpool add mypool /dev/sdd
Você pode ver que a unidade foi adicionada ao zpool com o comando zpool status
.
Podemos destruir o nosso zpool a qualquer momento com o seguinte comando:
$ sudo zpool destroy mypool
No caso dos zpools RAID 0, não é possível remover nenhum disco do pool sem destruir totalmente o pool e perder todos os dados. O ZFS tem muitas opções diferentes, algumas das quais permitem a remoção ou falha de discos mantendo a integridade do pool.
Outros tipos de pools de armazenamento ZFS são criados da mesma forma que mostramos acima, mas você precisa fornecer um argumento extra no comando zpool
ao criar o pool. Vejamos alguns exemplos.
Um pool de armazenamento espelhado é equivalente ao RAID 1 do ZFS. Isto lhe dá redundância porque todos os seus dados são espelhados de um disco rígido para um ou mais outros. Para fazer um pool de armazenamento espelhado, use a seguinte sintaxe de comando:
$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Obviamente, mais discos podem ser adicionados ao pool para criar redundância adicional.
>
Agora, vamos dar uma olhada nos pools RAID-Z. RAID-Z é muito semelhante ao RAID 5, mas melhora com melhor velocidade e evitando alguns dos erros comuns associados ao RAID 5.
RAID-Z irá dar-lhe velocidade mais redundância usando striping de nível de bloco e paridade distribuída. Há três tipos de RAID-Z disponíveis, dependendo de quanta paridade você quer.
- raidz1 (ou apenas raidz) – paridade simples
- raidz2 – paridade dupla
- raidz3 – paridade tripla
Aí está como você pode criar um pool RAID-Z. Use raidz2
ou raidz3
no lugar de raidz
neste comando se você quiser mais paridade (tenha em mente que você também vai precisar de discos adicionais nesse caso):
$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Encryption on ZFS
Após criar seu pool de armazenamento ZFS, você pode configurar a criptografia nele com os seguintes comandos. Para este exemplo, ainda estamos usando nosso pool de três discos RAID-Z chamado mypool.
$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted
Você será solicitado a digitar uma senha duas vezes para a criptografia.
Um novo diretório é criado em /mypool/encrypted
, e qualquer coisa nesse diretório é criptografada. Sempre que você reiniciar, você precisará montar manualmente o conjunto de dados criptografados. Certifique-se de usar a bandeira -l
ao montar conjuntos de dados criptografados. Você será solicitado a digitar a senha escolhida anteriormente.
$ sudo zfs mount -l mypool/encrypted
Conclusão
ZFS é um sistema de arquivos focado em alta disponibilidade e integridade de dados. É perfeito para servidores de armazenamento/NAS e qualquer ambiente onde velocidades de leitura e escrita são cruciais junto com a redundância do disco rígido.
Neste guia, aprendemos sobre alguns comandos básicos de uso do ZFS no Ubuntu 20.04 Focal Fossa. Nós mostramos como começar a configurar o ZFS em seu próprio sistema com zpools, mas a configuração para ZFS pode se tornar muito mais extensa.