You are on page 1of 11

Como criar e manter um ZFS Espelho em NAS4Free

NAS4free uma fonte aberta NAS ( " Network Attached Storage " ) plataforma
baseada em FreeBSD , que suporta o compartilhamento de arquivos entre
Windows , Apple e sistemas UNIX -like. Suporte para ZFS , Software RAID
( 0,1,5 ) , criptografia de disco , a SMART , relatrios de e-mail , FTP CIFS ,
NFS , TFTP, AFP , RSYNC , Unison , iSCSI , fizeste , CARP , Ponte, UPnP, e
Bittorent , esto entre seus diversos recursos - todos configurveis atravs de
sua interface grfica . NAS4Free pode ser instalado em Compact Flash ou
unidade flash USB, disco rgido ou iniciado em um ambiente " LiveCD " .
NAS4Free cdigo e documentao so liberados sob a licena BSD
simplificado .
O ZFS ( "File System Zetabyte ") um sistema de arquivo combinado e
gerenciador de volume lgico projetado pela Sun Microsystems. Os recursos
do ZFS incluem proteo contra corrupo de dados, suporte para altas
capacidades de armazenamento, snapshots e clones , a integridade contnua
verificao e reparo automtico . ZFS implementado como software open-
source, licenciado sob a Licena de Desenvolvimento Comum e Distribuio
( CDDL ) .
Este post vai descrever como configurar um baseado em ZFS RAID 1 ( espelho
ZFS) simples, mas resistente, em NAS4Free . No RAID 1 , os dados so
gravados de forma idntica para duas unidades de disco , produzindo, assim,
um " espelhadas " definido . Se um disco torna-se defeituoso, o disco restante
ainda contm todos os dados. Para ajudar a explicar os passos envolvidos ,
vamos usar dois novos 2TB ( Terabyte ) SATA 3.0 discos rgidos , juntamente
com os utilitrios disponveis dentro NAS4Free ZFS, para criar e configurar o
nosso espelho ZFS. Tambm vamos discutir algumas atividades ps-instalao
para ajudar a manter seu espelho ZFS. Todas as etapas envolvidas assumir
que os dois discos rgidos foram instalados corretamente e so reconhecidos
pela BIOS e que NAS4Free instalado e operacional . As verses de software
usadas neste post foram as seguintes:
NAS4Free v9.1.0.1 - Sandstorm (revision 636)
Ento, vamos comear.
Adicionando os Discos
A primeira coisa que precisamos fazer adicionar logicamente os dois novos
discos para NAS4Free para que o sistema reconhece a sua existncia ,
permitindo configurao adicional sobre eles. Efetue login no GUI NAS4Free ( "
Graphical User Interface " ) , navegue at Discos -> Gesto , e selecione o
cone "+". ( Ver Figura 1 ) .
Figura 1
Na pgina seguinte voc apresentado com a tela de configurao para a
adio de novos discos. Selecione o primeiro disco de 2 TB a partir do menu
drop-down sob o campo "Disk", e selecione "no formatado" dentre as opes
do menu drop-down sob o campo "sistema de arquivo pr-formatado". As
restantes opes nesta pgina pode reter suas configuraes padro. Agora
selecione "Adicionar" (veja a Figura 2).

Figure 2
Repita essas etapas para o segundo disco de 2TB. Ao concluir, selecione
"Aplicar alteraes" (ver Figura 3).
Figura 3
Nota: Se voc est adicionando discos que tenham sido previamente
formatado usando ZFS, NAS4Free provavelmente no vai permitir que voc
adicione estes discos como no formatado. Voc pode, no entanto, adicion-
los, selecionando "dispositivo de pool de armazenamento do ZFS" sob o campo
"sistema de arquivo pr-formatado" e pular o seguinte formatao passo.
Formatar os discos
Agora que os discos foram adicionados, precisamos format-los. Navegue at
Discos-> Formatar, e selecione um dos discos recm-adicionado no menu
drop-down sob o campo "Disk". Selecione "dispositivo de pool de
armazenamento do ZFS" a partir do menu drop-down sob o campo "Sistema de
arquivos", selecione "Formatar disco" (veja Figura 4).

Figure 4
Repita essas etapas para o segundo disco, em seguida, navegar de volta para
Discos-> Gesto e garantir que ambos os discos esto presentes e formatado
como dispositivos de pool de armazenamento do ZFS (veja a Figura 5).
Figura 5
Criar um dispositivo virtual ZFS
Ns adicionamos nossos dois discos rgidos de 2TB e formatado eles. Agora
hora de criar um " vdev " ZFS ou dispositivo virtual.
Ao contrrio dos sistemas de arquivos tradicionais , que residem em
dispositivos individuais e requerem um gerenciador de volumes para usar mais
de um dispositivo , sistema de arquivos ZFS so construdos em cima de pools
de armazenamento virtuais chamados " zpools . " Um zpool construdo de
dispositivos virtuais , ou " vdevs " que so eles prprios construdos de
dispositivos de bloco : arquivos, parties do disco rgido ou discos inteiros ,
com o ltimo sendo o uso recomendado . Os dispositivos de bloco dentro de
um vdev pode ser configurado de diferentes maneiras, dependendo das
necessidades e espao disponvel : no redundante ( semelhante ao RAID 0),
como um espelho (RAID 1) de dois ou mais dispositivos , que o foco deste
post, ou como um RAID - Z ( semelhante ao RAID - 5 ) grupo de trs ou mais
dispositivos .
Em resumo , ento , um vdev representa as unidades de disco que so usadas
para criar um zpool . Um zpool pode ter qualquer nmero de vdevs na parte
superior da configurao , conhecido como um " vdev raiz . " Se os dispositivos
virtuais de primeiro nvel conter dois ou mais dispositivos fsicos , a
configurao proporciona redundncia de dados como espelho ou RAID - Z
dispositivos virtuais .
Para criar um dispositivo virtual que consiste em nossos discos rgidos
recentemente adicionados , navegue at Discos -> ZFS -> Piscinas- >
dispositivo virtual , e selecione o cone "+". Na pgina seguinte, digite um nome
para o novo dispositivo virtual sob o campo "Nome" (por exemplo, " vd_1 " ) e
selecione "Espelho" de entre as opes do campo "Tipo" . Agora selecione os
dois discos rgidos no campo "Dispositivos " , segurando a tecla Ctrl e clicando
deixou cada disco. Voc tambm pode digitar uma descrio para o dispositivo
virtual sob o campo "Descrio" , se desejar. Selecione "Salvar" quando
completo ( veja a Figura 6).
Figure 6

Cancelar

Criar um pool do ZFS


Tendo criado o nosso vdev, vamos seguir em frente e criar um zpool. Navegue
at Discos-> ZFS-> Piscinas-> Gesto, e selecione o cone "+". Na pgina
seguinte, digite um nome para o novo zpool sob o campo "Nome" (por
exemplo, pool_1). Voc dever ver o vdev criado anteriormente listados sob o
campo "dispositivos virtuais". Selecione o vdev clicando deixou nele. Adicione
uma descrio para o dispositivo virtual sob o campo "Descrio", se desejar.
As opes restantes podem reter suas configuraes padro, resultando no
ponto de montagem para o zpool tornando / mnt / [seu-zpool-name]. Selecione
"Salvar" quando completo (veja a Figura 7).
Cancelar

Figura 7
Criar um conjunto de dados ZFS
Neste ponto, voc pode comear a usar todo o seu zpool como
armazenamento, se desejar. No entanto, uma caracterstica importante do ZFS
o conceito de "conjuntos de dados." Um conjunto de dados essencialmente
uma criana

filesystem of the parent zpool. Imagine that the zpool is a single hard disk. In a typical
hard disk you would create a single, disk-sized partition, and then format that partition
with a filesystem. But if later youd like to add additional filesystems to the disk, you
have to erase and redo your partition to create more partitions to contain the new
filesystems, or use a tool to actively resize existing partition, and then create the new
partitions and filesystems.

Com conjuntos de dados , todos esses esforos de particionamento so


desnecessrias. Um conjunto de dados ZFS age como outra partio montada
sem locked-in size. A quantidade de espao em disco que ele ocupa apenas
a quantidade de espao que voc usa em preench-lo , ou crianas conjuntos
de dados do mesmo (claro, ele nunca pode ser maior do que o tamanho de sua
zpool pai). Voc no tem que se preocupar com redimensionamento de
parties como ZFS lida inerentemente tudo isso para voc . Alm disso, cada
conjunto de dados pode ter sua prpria configurao especial , modificando
diferentes variveis comportamentais. Por exemplo , voc pode determinar
quota e permisses de forma independente para cada conjunto de dados.
Finalmente, os conjuntos de dados fornecem mais flexibilidade , se voc
precisa instantneo ou clonar seu sistema de arquivos .
Para adicionar um conjunto de dados para o zpool , navegue at Discos - >
ZFS -> Conjuntos de Dados -> Conjunto de Dados, e selecione o cone "+".
Digite um nome ( por exemplo, "arquivos" ) no campo "Nome" ( resultando no
ponto de montagem para o conjunto de dados tornando-se / mnt / [ seu - zpool
-name] / [ seu - dataset -name] ) . Verifique se o zpool criado anteriormente
selecionado a partir da lista drop-down sob o campo " piscina" . Se voc estiver
interessado em realizar instantneos peridicos do conjunto de dados
(discutido abaixo) , eu recomendo ativar a opo " Snapshot Visibilty " para que
os instantneos so adicionados automaticamente para / mnt / [ seu - zpool
-name] / [ seu - conjunto de dados - nome] ) / / .zfs snapshots. As demais
opes podem ser configuradas de acordo com suas necessidades. Selecione
"Adicionar" quando completo ( veja a Figura 8).

Figure 8
Resumindo
Ns adicionamos com sucesso dois novos discos rgidos de 2TB para
NAS4Free e formatado eles, criou um vdev e um zpool e, finalmente , criou um
conjunto de dados dentro da nossa zpool . Neste ponto, voc pode comear a
permitir que servios como CIFS , NFS, UPnP , etc, para tirar proveito de seu
novo armazenamento espelho ZFS. Lembre-se, ao configurar alguns desses
servios para escolher o ponto de montagem correto para o seu conjunto de
dados (por exemplo, / mnt/pool_1/files ) .
Com a criao e configurao de nossas ZFS espelhar fora do caminho ,
vamos seguir em conversa sobre algumas atividades de manuteno que
devem ser teis .
Substituir um disco rgido defeituoso
Ocasionalmente voc pode ter que substituir um disco rgido no seu zpool que
se tornou defeituoso . Para realizar a substituio , navegue at Discos - > ZFS
-> Piscinas- > Informaes e notar que o disco est com defeito ou em falta
(por exemplo ada2 ) . Em seguida, navegue at Discos -> ZFS -> Piscinas- >
Ferramentas e offline o disco , se possvel , selecionando " off-line" a partir da
lista drop-down sob o campo "Command" . Certifique-se de que "Device" est
selecionada em campo "Opo " e que a piscina correta est selecionada em
campo " piscina" . Use a caixa de seleo para selecionar o disco defeituoso
sob o campo "Dispositivos " , selecione " Enviar comando ! " (Veja a Figura 9).
Figura 9
Desligue NAS4Free , em seguida, identificar e substituir o disco defeituoso por
um de capacidade de armazenamento igual utilizando , se possvel, a mesma
porta SATA [ Pro- dica: Aproveite o tempo para etiquetar seus discos
corretamente (por exemplo, ada2 ) quando voc instal-los. Isso far com que
identificar fisicamente o disco defeituoso muito mais fcil! ] . Reinicie NAS4Free
e navegue at Discos - > ZFS -> Piscinas -> Informao para verificar o nome
do dispositivo para o novo disco. Se voc fosse capaz de reutilizar a mesma
porta SATA , o nome do dispositivo deve ser o mesmo que o disco defeituoso
(por exemplo ada2 ) . Navegue at Discos -> ZFS -> Piscinas- > Ferramentas e
substituir o disco , selecionando " substituir" a partir da lista drop-down sob o
campo "Command" . Certifique-se de que "Device" est selecionada em campo
"Opo " e que a piscina correta est selecionada em campo " piscina" . Use a
caixa de seleo para selecionar o disco defeituoso sob o campo "Dispositivos
" e o novo disco a partir da lista drop-down sob o campo "New Device" , em
seguida, selecione a opo " Enviar comando ! " O disco de substituio deve
resilvering rapidamente. Verifique navegando at Discos -> ZFS -> Piscinas ->
Informao
Criao e gerenciamento de snapshots
Uma das muitas grandes caractersticas sobre o uso do ZFS a sua
capacidade de instantneo. Um instantneo uma referncia somente leitura
para o estado de um conjunto de dados no momento em que o instantneo foi
tirado . uma referncia , e no copiar, porque no momento em que tomada,
ele no ocupa espao adicional. No entanto, como os dados se alteram dentro
do conjunto de dados , seja porque os arquivos so alterados ou apagados , o
instantneo consome espao em disco devido s contnuas referncias aos
dados antigos. Este comportamento permite-lhe recuperar facilmente arquivos,
se necessrio , mas ao faz-lo impede espao em disco sejam liberados at o
instantneo excludo.
Para tirar um instantneo manualmente , v at Discos - > ZFS -> Snapshots -
> Snapshot , e selecione o conjunto de dados que voc quer instantneo (por
exemplo, pool_1/files ) debaixo do campo "Caminho". Digite um nome para a
foto ( por exemplo , snapshot_1 ) , ative a opo " recursiva " , em seguida,
selecione "Adicionar" (veja a Figura 10).
Figure 10
NAS4Free tambm fornece a capacidade de configurar instantneos
reoccurring sob Discos -> ZFS -> Snapshots - > Auto Snapshot . Aqui voc
pode marcar uma vez que o sistema deve executar o instantneo e quanto
tempo deve ret-los , resultando na mais antiga instantneo sendo excludo
quando o prazo for atingido.
Voc tem um par de opes quando se trata de " reverter " a um instantneo
particular. Na verdade , porm, a reverso um ligeiro equvoco , porque o que
voc est realmente fazendo localizar a foto que voc est interessado e
copiar sobre os arquivos que voc gostaria de recuperar. Se voc tiver
selecionado a opo " Snapshot visibilidade" ao configurar o conjunto de dados
em NAS4Free (Veja Discos -> ZFS -> Conjuntos de Dados -> Dataset -> Edit) ,
em seguida, todos os instantneos para esse conjunto de dados ser
localizado nesse sistema de arquivos no diretrio / . zfs / instantneo (por
exemplo, / mnt/pool_1/files/.zfs/snapshot ) . Isso permite que voc
simplesmente navegue at o diretrio instantneo seu interesse e copiar
arquivos a partir desse diretrio para o sistema de arquivos atual.
Outra forma que voc pode recuperar arquivos de snapshots clonar um para
outro diretrio. Esta abordagem tem a vantagem de permitir que voc
compartilhe o diretrio instantneo clonado , dizer usando CIFS ou NFS, por
algum perodo de tempo at que os arquivos sejam recuperados . Para clonar
um instantneo , navegue at Discos - > ZFS -> Snapshots -> Snapshot e
editar a foto que voc est interessado em clonagem , selecionando o cone
pequena chave . Certifique-se de que " Clone " selecionado sob o campo
"Ao", em seguida, digite um caminho para o diretrio onde o clone a
residir . Note-se que este caminho deve ser expressa como um caminho
relativo. Assim, por exemplo , pool_1/files/oldfiles iria funcionar, mas /
mnt/pool_1/files/oldfiles no o faria , nem / pool_1/files/oldfiles . Observe
tambm que o diretrio onde o instantneo ser clonado no tem que ser
criado com antecedncia , ao contrrio, ser criado automaticamente para voc
quando voc clonar o snapshot. Agora , selecione "Executar" quando terminar
e seu instantneo clonado estar disponvel para uso no caminho especificado
(eg / mnt/pool_1/files/oldfiles ) (veja a Figura 11). Instantneos clonados podem
ser destrudos a qualquer momento , navegando at Discos -> ZFS ->
Snapshots -> Clone.
Figure 11
Data scrubbing
Realizar um " matagal " ZFS em uma base regular ajuda a identificar problemas
de integridade de dados , detectar corrupes de dados silenciosas causadas
por problemas de hardware transitrios , e para fornecer alertas precoces para
falhas de disco . Esta operao percorre todos os dados na zpool uma vez e
verifica-se que todos os blocos podem ser lidos . Esfregando produto to rpido
quanto os vdevs permitir que , embora a prioridade de qualquer disco I / O em
geral continua a ser inferior ao de operaes normais. Assim, enquanto a
operao esfrega pode impactar negativamente o desempenho ligeiramente ,
os dados do zpool deve permanecer utilizvel e quase to sensvel , enquanto
a lavagem ocorre .
Para programar e gerenciar esfrega em um zpool ZFS em NAS4Free , vamos
configurar uma tarefa cron para executar o comando zpool scrub . Navegue at
System- > Avanado e selecione a guia Cron . Certifique-se de que a opo "
Ativar " estiver selecionado, em seguida, digite o comando zpool scrub [ seu
-pool -name] no campo "Command" . Certifique-se que o comando executado
como o usurio root e digite uma descrio para o trabalho cron , se desejar.
Agora selecione quando voc gostaria que o comando a ser executado no
campo " tempo programada" . Se voc tiver unidades de qualidade de
consumidor , considere um cronograma lavagem semanal. Se voc tiver
unidades de centro de dados de qualidade , considere um cronograma de
lavagem mensal. Observe tambm que , dependendo da quantidade de dados
no zpool , um matagal pode levar um longo tempo. Conseqentemente, voc
pode querer considerar agend-las para as noites ou fins de semana para
minimizar o impacto sobre o desempenho. Ao concluir, selecione "Adicionar " ,
depois em " Aplicar alteraes " . O exemplo mostrado na Figura 12 mostra o
comando zpool scrub pool_1 funcionar todos os domingos em 1300 , hora
local.
Figure 12
concluso
Este post descreve como criar e manter um espelho simples, mas resistente, o
ZFS em NAS4Free, uma implementao open source NAS baseado em
FreeBSD.
Referncias

http://wiki.nas4free.org/doku.php

Related Posts

Backup FreeNAS Files Remotely Using FreeBSD and rsync


Configure FreeNAS To Be Your Subversion Repository
Configure FreeNAS To Store Your Apache Web Files