Introdução
ZFS é um sistema de arquivos, originalmente enviado com Solaris, mas foi posteriormente adaptado em muitos sistemas operacionais Unix e Linux. A principal vantagem do sistema de arquivos ZFS é oferecer suporte a zetabytes de dados e ter 128 bits e, portanto, é frequentemente usado em grandes servidores corporativos e por coletores de dados como agências governamentais. Ao contrário de outros sistemas de arquivos, o ZFS é resistente ao problema de podridão de dados em discos rígidos, pois preserva a integridade dos dados durante o armazenamento e nenhum particionamento é necessário ao adicionar mais discos rígidos ao RAID existente. ZFS é basicamente o futuro dos sistemas de arquivos Unix devido à sua enorme quantidade de benefícios. No entanto, é improvável que seja muito útil para um usuário doméstico médio em breve, mas os administradores de servidor devem estar cientes do ZFS e seus benefícios. Portanto, este artigo demonstra como usar o ZFS em servidores Ubuntu com facilidade.
Como instalar ZFS
A instalação do ZFS é tão fácil quanto qualquer outro pacote, mas deve ser instalado com acesso root. Para obter acesso root, use sudo su, que então solicita a senha administrativa. Ao digitar a senha, o usuário recebe acesso root. Assim que o acesso root for obtido, use o comando install junto com o nome do pacote - zfs para instalar o zfs no sistema. Demorará um pouco para instalar, mas assim que for concluído irá notificar.
sudo su
apt install zfs
Como configurar ZFS
Uma vez que o ZFS é instalado no sistema, um pool (também conhecido como Zpool) deve ser criado. Um pool consiste em um grupo de discos rígidos que são combinados, e dentro deste pool existem conjuntos de dados onde os dados realmente armazenam. Nesta fase, um pool e um conjunto de dados são criados.
Digite lsblk para listar dispositivos de bloco no sistema ou ls -l / dev / sd * para listar todos os blocos / dev. De qualquer forma, ele retorna uma lista de dispositivos de bloqueio detectados pelo Ubuntu. Este tutorial assume que o sistema possui vários discos rígidos, que são, na verdade, combinados em um pool.
Antes de criar uma piscina. Uma tabela de partição GUID deve ser criada em cada disco rígido. A tabela de partição é um tipo de esquema que ajuda no particionamento dos discos rígidos. Zpool requer que os discos rígidos o tenham antes de criar o pool. Use os seguintes comandos para criar a tabela de partição em discos rígidos sobressalentes conectados aos sistemas. aqui os discos rígidos sobressalentes estão / dev / sdb e / dev / sdc
parted / dev / sdb mklabel GPT q parted / dev / sdc mklabel GPT q
Uma vez que a tabela de partição é criada em cada disco rígido, agora crie o zpool. Como aqui apenas dois discos rígidos são usados, use grupos de espelhos, mas se houver 3 ou mais discos rígidos, use raidz e, para 4 ou mais, use comandos raidz2. O espelhamento também é conhecido como RAID 1, que copia dados perfeitamente de uma unidade para outra, o que é bastante útil para aumentar a redundância de dados.
zpool criar espelho vol0 / dev / sdb / dev / sdc
Neste ponto, um pool já foi criado, agora crie o conjunto de dados onde realmente estão os dados, que incluem arquivos, diretórios, armazenamentos.
Um formato de criação de conjunto de dados é assim ..
zfs criar
Use este formato e crie alguns diretórios como visto na imagem a seguir.
zfs cria vol0 / dondilanga_files
zfs criar vol0 / dondilanga_images
zfs criar vol0 / dondilanga_music
zfs criar vol0 / dondilanga_movies
zfs criar vol0 / dondilanga_games
Criar o conjunto de dados não é suficiente para ter uma estrutura de arquivo funcional, ele também precisa das permissões adequadas (consulte as permissões de arquivo do Linux) para ser definido. A configuração da permissão é bastante fácil, pois segue o formato de conjunto de permissões padrão.
chown -R nome de usuário: groupName / poolname / dataset
chown -R dondilanga: users / vol0 / dondilanga_files
Como monitorar o ZFS
O monitoramento geralmente inclui inspecionar o status do pool, estatísticas de IO, listar os pools disponíveis, listar detalhes específicos do pool, mostrar o status do pool com modo detalhado, listar os sistemas de arquivos ZFS, etc. Essas informações fornecem uma visão valiosa dos pools, conjuntos de dados e são bastante úteis na tomada de decisões sobre os sistemas de arquivos ZFS.
Verificar o estado de saúde da piscina
zpool status
Verificar as estatísticas de entrada / saída (IO) para os pools
zpool iostat
Listar pools disponíveis
zpool list
Liste detalhes particulares da piscina
zpool list -o nome, tamanho, capacidade
Veja a lista dos sistemas de arquivos (conjunto de dados) no pool.
lista zfs
Veja as estatísticas da piscina a cada 15 segundos.
zpool iostat -v 15
Como administrar, ajustar e manter o ZFS
Este segmento cobre os diferentes tipos de pools, como criá-los, fazer dispositivos de bloco no pool, destruir ou remover pools (a remoção é útil quando um pool é criado em um disco rígido USB ou um armazenamento removível semelhante), definir várias propriedades para piscinas, montagem e desmontagem.
Diferentes tipos de piscinas
Existem 4 tipos principais de pool, e cada um tem seu próprio propósito ao criá-los. Normalmente aqui o tipo de RAID é levado em consideração ao criar um pool. Conforme descrito anteriormente, o tipo deve ser declarado ao criar o pool junto com ele. Este tutorial usa o tipo de pool de espelho e, além disso, há raidz para RAID5, raidz2 para RAID5 com paridade duelo e quando nenhuma redundância está envolvida, nenhum tipo de pool é declarado.
Grupos de distribuição ou sem redundância podem ter tantos discos rígidos, por exemplo ... como no comando a seguir. Cada sd * representa um novo disco rígido virtual / físico, e todos eles podem ser agrupados em um único pool com o seguinte comando sob o nome vol1.
zpool criar vol1 / dev / sdb / dev / sdc / dev / sdd
Como pode ser visto na imagem a seguir, agora todos os discos rígidos mencionados fazem parte do pool vol1, que pode ser expandido para ver os componentes com zpool iostat comando.
Ao contrário do exemplo acima, no grupo de espelhos, os discos rígidos são agrupados em pares.
zpool criar espelho vol1 / dev / sda / dev / sdb espelho / dev / sdc / dev / sdd
Fazendo dispositivo de bloco em uma piscina
Dispositivos de bloco são conjuntos de dados criados no pool e têm um tamanho predefinido no início, por exemplo, se um dispositivo de bloco é criado com o tamanho de 1 GB, então esse dispositivo de bloco particular pesa 1 GB. No exemplo a seguir, ele mostra como criar um dispositivo de bloco em um pool existente.
zfs create -V
zfs criar -V 1GB vol0 / dondilanga_new1
Destruindo uma piscina
Sem dúvida, saber sobre a destruição de um pool é tão importante quanto criar um, mas isso deve ser feito com muito cuidado, pois não há como retirá-lo depois que ele for eliminado, pois a exclusão é permanente, a menos que os dados sejam armazenados em outro lugar.
zpool destroy poolname
zpool destroy vol0
Depois que o pool é excluído, é possível tentar listar o pool disponível com o parâmetro list no comando zpool, se ele retornar "nenhum pool disponível", significa que a exclusão foi bem-sucedida.
Removendo / restaurando uma piscina
O que isso significa remover temporariamente o pool do sistema e montá-lo de volta quando for necessário. Isso é bastante útil quando um pool é criado em um disco rígido / unidade USB ou qualquer outro dispositivo portátil. Os administradores da Web podem criar um pool em seu disco rígido portátil, copiar dados do sistema para ele, desmontar e levá-lo para casa para uso. Os comandos a seguir demonstram como remover um pool e montá-lo de volta.
zpool export poolname
zpool export vol0
zpool import poolname
zpool import vol0
Adicionando um novo disco rígido à piscina
Como existem muitos tipos de pool, os discos rígidos podem ser adicionados ao pool de várias maneiras. O método usual de adicionar um disco rígido é como sobressalente. O que significa quando um dos discos rígidos para de funcionar, o disco rígido sobressalente é usado para substituir o quebrado. Um disco rígido sobressalente é adicionado conforme a seguir.
Isso lista os discos rígidos disponíveis. Como pode ser visto na imagem a seguir. O sdd do disco rígido está atualmente disponível para o sistema operacional; portanto, é usado aqui.
ls -l / dev / sd *
Como de costume, primeiro é formatado antes de ser adicionado ao pool. Os comandos a seguir formatam o disco rígido com esquema de partição GUID.
parted / dev / sdd
GPT mklabel
q
Depois de formatado, adicione ao pool com o seguinte comando.
zpool add vol0 sobressalente / dev / sdd
Em seguida, digite zpool status -v para listar todos os discos rígidos disponíveis em zpools. Conforme visto na captura de tela a seguir, as unidades sobressalentes são rotuladas como "sobressalentes" e só são usadas quando as unidades principais apresentam falha.
Como criar instantâneos em ZFS?
O instantâneo é uma réplica exata de um zpool em particular e é criado com o comando zfs como visto na captura de tela a seguir. O processo de criação de instantâneos é uma caminhada no parque, embora alguns tutoriais por aí o tornem mais complicado do que o necessário. O formato do comando de criação de instantâneo é.
snapshot zfs [protegido por e-mail]
snapshot zfs [email protegido] _snapshot
Restaurar um instantâneo
Restaurar um instantâneo de volta para a piscina é tão fácil quanto fazer o backup. Tudo o que você precisa fazer é informar seu nome junto com o nome da piscina. Esteja ciente de que restaurar um instantâneo de volta ao pool sobrescreverá os dados existentes no pool; portanto, deve ser feito com sabedoria.
zfs rollback [protegido por e-mail]
zfs rollback [email protegido] _snapshot
Excluir um instantâneo
Criando, restaurando e excluindo instantâneos, tudo isso é um passeio no parque com o ZFS. O comando a seguir simplesmente exclui o instantâneo do sistema; e, consequentemente, liberar mais espaço de volta para ele.
zfs destroy [email protegido]
zfs destroy [email protected] _snapshot