ZFS
O ZFS é um sistema de arquivos que já vem com um sistema de volumes incorporado ao seu desenvolvimento, assim não é necessário ter duas etapas como em outros sistemas como o LVM.
Vamos dar todos os exemplos aqui sobre o ZFS operando sobre o NAS4FREE, um sistema completo capaz de transformar um computador num sistema de armazenamento completo.
Como ver o estado de sistema ZFS
Para ver o estado que se encontra um sistema de arquivos ZFS temos que lançar o comando?
# zpool status
Aqui temos um exemplo da saída deste comando:
nas4free: ~ # zpool status pool: tank state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scan: resilvered 241G in 21h14m with 0 errors on Thu Nov 17 06:15:51 2016 config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 raidz2-0 DEGRADED 0 0 0 ada1 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada5 ONLINE 0 0 0 16789957960425198464 OFFLINE 0 0 0 was /dev/ada6 errors: No known data errors
Como trocar um HD com problemas no ZFS
Nas próximas etapas, passaremos pelos comandos para a troca segura de um HD com defeito num sistema ZFS. Em todos os comandos abaixo, onde for necessário usar o nome do pool de discos, usaremos a palavra tank.
Colocar o HD em estado offline
# zpool offline tank /dev/ada6
Substituir o HD fisicamente
Colocar o HD em estado online
# zpool online tank /dev/ada6
Ativar a resincronização do RAIDz
# zpool replace tank /dev/ada6
Monitorar o processo (vai levar muito tempo, mas depende do tamanho/area ocupada/velocidade dos discos)
# zpool status
Um exemplo do acompanhamento da resincronização pode ser visto abaixo:
nas4free: ~ # zpool status pool: tank state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Thu Nov 17 20:52:18 2016 1.33G scanned out of 1.42T at 974K/s, 434h10m to go 215M resilvered, 0.09% done config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 raidz2-0 DEGRADED 0 0 0 ada1 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada5 ONLINE 0 0 0 replacing-5 UNAVAIL 0 0 0 16789957960425198464 UNAVAIL 0 0 0 was /dev/ada6/old ada6 ONLINE 0 0 0 (resilvering) errors: No known data errors
ZFS para o Linux
Aqui temos um artigo (em inglês) de como usar o ZFS no Linux, inclusive no disco de root. Inclusive, com a criação de uma área de swap com compressão de dados, que pode ser muito em alguns casos específicos.