Uma introdução ao sistema de arquivos Z (ZFS) para Linux

Índice:

Uma introdução ao sistema de arquivos Z (ZFS) para Linux
Uma introdução ao sistema de arquivos Z (ZFS) para Linux

Vídeo: Uma introdução ao sistema de arquivos Z (ZFS) para Linux

Vídeo: Uma introdução ao sistema de arquivos Z (ZFS) para Linux
Vídeo: COMO DESABILITAR A INSTALAÇÃO DE PROGRAMAS NO WINDOWS 10 - YouTube 2024, Maio
Anonim
O ZFS é comumente usado por colecionadores de dados, amantes de NAS e outros geeks que preferem confiar em um sistema de armazenamento redundante próprio e não na nuvem. É um ótimo sistema de arquivos usado para gerenciar vários discos de dados e rivaliza com algumas das melhores configurações de RAID.
O ZFS é comumente usado por colecionadores de dados, amantes de NAS e outros geeks que preferem confiar em um sistema de armazenamento redundante próprio e não na nuvem. É um ótimo sistema de arquivos usado para gerenciar vários discos de dados e rivaliza com algumas das melhores configurações de RAID.

Foto de Kenny Louie.

O que é o ZFS e por que devo usá-lo?

O sistema de arquivos Z é um gerenciador de volumes lógicos de código aberto e gratuito criado pela Sun Microsystems para uso em seu sistema operacional Solaris. Algumas de suas características mais atraentes incluem:

Escalabilidade sem fim

Bem, não é tecnicamente infinito, mas é um sistema de arquivos de 128 bits capaz de gerenciar zettabytes (um bilhão de terabytes) de dados. Não importa quanto espaço no disco rígido você tenha, o ZFS será adequado para gerenciá-lo.

Integridade máxima

Tudo o que você faz dentro do ZFS usa uma soma de verificação para garantir a integridade do arquivo. Você pode ter certeza de que seus arquivos e suas cópias redundantes não encontrarão corrupção de dados silenciosa. Além disso, enquanto o ZFS está ocupado em verificar silenciosamente os dados quanto à integridade, ele faz reparos automáticos sempre que pode.

Conduzir o pooling

Os criadores do ZFS querem que você pense que ele é semelhante ao modo como seu computador usa a RAM. Quando você precisar de mais memória em seu computador, coloque outra vara e pronto. Da mesma forma com o ZFS, quando você precisar de mais espaço no disco rígido, coloque outro disco rígido e pronto. Não é necessário gastar tempo particionando, formatando, inicializando ou fazendo qualquer outra coisa em seus discos - quando você precisa de um "pool" de armazenamento maior, basta adicionar discos.

RAID

O ZFS é capaz de vários níveis diferentes de RAID, ao mesmo tempo em que oferece desempenho comparável ao dos controladores RAID de hardware. Isso permite economizar dinheiro, facilitar a configuração e ter acesso a níveis de RAID superiores que o ZFS melhorou.

Instalando o ZFS

Como estamos cobrindo apenas o básico deste guia, não instalaremos o ZFS como um sistema de arquivos raiz. Esta seção pressupõe que você esteja usando o ext4 ou algum outro sistema de arquivos e gostaria de usar o ZFS em alguns discos rígidos secundários. Aqui estão os comandos para instalar o ZFS em algumas das distribuições Linux mais populares.

O Solaris e o FreeBSD já devem vir com o ZFS instalado e pronto para uso.

Ubuntu:

$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs

Debian:

$ su - # wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs

Se você tiver alguma outra distribuição, confira zfsonlinux.org e clique em sua distribuição na lista “Pacotes” para obter instruções sobre como instalar o ZFS.

À medida que continuamos com este guia, vamos usar o Ubuntu porque essa parece ser a escolha número 1 para os nerds do Linux. Você ainda deve ser capaz de acompanhar, não importa o que, pois os comandos do ZFS não serão alterados em distribuições diferentes.

A instalação demora um pouco, mas quando terminar, corra

$ sudo zfs list

para se certificar de que está instalado corretamente. Você deve obter uma saída como esta:

Estamos usando uma nova instalação do servidor Ubuntu agora, com apenas um disco rígido.
Estamos usando uma nova instalação do servidor Ubuntu agora, com apenas um disco rígido.
Image
Image

Configurando o ZFS

Agora, digamos que colocamos mais seis discos rígidos em nosso computador.

$ sudo fdisk -l | grep Error

nos mostrará os seis discos rígidos que acabamos de instalar. No momento, eles não podem ser usados, pois não contêm nenhum tipo de tabela de partições.

Como mencionamos anteriormente, uma das boas coisas do ZFS é que não precisamos nos preocupar com as partições (embora você possa, se quiser). Vamos começar pegando três dos nossos discos rígidos e colocando-os em um pool de armazenamento executando o seguinte comando:
Como mencionamos anteriormente, uma das boas coisas do ZFS é que não precisamos nos preocupar com as partições (embora você possa, se quiser). Vamos começar pegando três dos nossos discos rígidos e colocando-os em um pool de armazenamento executando o seguinte comando:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create

é o comando usado para criar um novo pool de armazenamento,

-f

substitui quaisquer erros que ocorram (como se os discos já tivessem informações sobre eles),

geek1

é o nome do pool de armazenamento e

/dev/sdb /dev/sdc /dev/sdd

são os discos rígidos que colocamos na piscina.

Depois de criar seu pool, você poderá vê-lo com o

df

comando ou

sudo zfs list

:

Como você pode ver, o / geek1 já foi montado e está pronto para uso.
Como você pode ver, o / geek1 já foi montado e está pronto para uso.

Se você quiser ver quais três discos você selecionou para o seu pool, você pode executar

sudo zpool status

:

O que fizemos até agora é criar um pool de stripe dinâmico de 9 TB (efetivamente, RAID 0). Caso você não esteja familiarizado com o que isso significa, imagine que criamos um arquivo de 3 KB em / geek1. 1 KB iria automaticamente para sdb, 1 KB para sdc e 1 KB para sdd. Então, quando vamos ler o arquivo de 3 KB, cada disco rígido apresentaria 1 KB para nós, combinando a velocidade das três unidades. Isso torna a escrita e a leitura rápida de dados, mas também significa que temos um único ponto de falha. Se apenas um disco rígido falhar, perderemos nosso arquivo de 3 KB.
O que fizemos até agora é criar um pool de stripe dinâmico de 9 TB (efetivamente, RAID 0). Caso você não esteja familiarizado com o que isso significa, imagine que criamos um arquivo de 3 KB em / geek1. 1 KB iria automaticamente para sdb, 1 KB para sdc e 1 KB para sdd. Então, quando vamos ler o arquivo de 3 KB, cada disco rígido apresentaria 1 KB para nós, combinando a velocidade das três unidades. Isso torna a escrita e a leitura rápida de dados, mas também significa que temos um único ponto de falha. Se apenas um disco rígido falhar, perderemos nosso arquivo de 3 KB.

Supondo que proteger seus dados é mais importante do que acessá-los rapidamente, vamos dar uma olhada em outras configurações populares. Primeiro, excluiremos o zpool que criamos para que possamos usar esses discos em uma configuração mais redundante:

$ sudo zpool destroy geek1

Bam, nosso zpool sumiu. Desta vez, vamos usar nossos três discos para criar um pool RAID-Z. O RAID-Z é basicamente uma versão melhorada do RAID 5, porque evita o “buraco de gravação” usando copy-on-write. O RAID-Z requer um mínimo de três discos rígidos e é uma espécie de comprometimento entre o RAID 0 e o RAID 1. Em um pool RAID-Z, você ainda terá a velocidade de distribuição em nível de bloco, mas também terá a paridade distribuída. Se um único disco no seu conjunto morrer, basta substituir esse disco e o ZFS recriará automaticamente os dados com base nas informações de paridade dos outros discos. Para perder todas as informações em seu pool de armazenamento, dois discos teriam que morrer. Para tornar as coisas ainda mais redundantes, você pode usar o RAID 6 (RAID-Z2 no caso do ZFS) e ter dupla paridade.

Para conseguir isso, podemos usar o mesmo

zpool create

comando como antes, mas especifique

raidz

após o nome da piscina:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

Como você pode ver,
Como você pode ver,

df -h

mostra que nosso pool de 9 TB foi reduzido para 6 TB, já que 3 TB estão sendo usados para armazenar informações de paridade. Com o

zpool status

comando, vemos que a nossa piscina é praticamente a mesma de antes, mas está usando o RAID-Z agora.

Para mostrar como é fácil adicionar mais discos ao nosso pool de armazenamento, vamos adicionar os outros três discos (outro 9 TB) ao nosso pool de armazenamento geek1 como outra configuração RAID-Z:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

Nós acabamos com:

Image
Image

A Saga Continua …

Mal exploramos a superfície do ZFS e seus recursos, mas usando o que você aprendeu neste artigo, agora você deve conseguir criar pools de armazenamento redundantes dos seus dados. Volte para a gente para artigos futuros sobre o ZFS, veja as man pages, e procure os infinitos guias de nicho e vídeos do YouTube cobrindo as funções do ZFS.

Recomendado: