snapraid/doc/snapraid-pt.1
Andrea Mazzoleni 30ae5df16d
Some checks failed
Build / build-mac (push) Has been cancelled
Build / build-linux (push) Has been cancelled
Build / build-win (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Move documentation into the doc dir
2025-12-15 15:24:49 +01:00

1917 lines
62 KiB
Groff

.TH "SnapRAID Backup para Arrays de Disco" 1
.SH NAME
snapraid \- SnapRAID Backup para Arrays de Disco
.SH SINOPSE
snapraid [\-c, \-\-conf CONFIG]
.PD 0
.PP
.PD
[\-f, \-\-filter PATTERN] [\-d, \-\-filter\-disk NAME]
.PD 0
.PP
.PD
[\-m, \-\-filter\-missing] [\-e, \-\-filter\-error]
.PD 0
.PP
.PD
[\-a, \-\-audit\-only] [\-h, \-\-pre\-hash] [\-i, \-\-import DIR]
.PD 0
.PP
.PD
[\-p, \-\-plan PERC|bad|new|full]
.PD 0
.PP
.PD
[\-o, \-\-older\-than DAYS] [\-l, \-\-log FILE]
.PD 0
.PP
.PD
[\-s, \-\-spin\-down\-on\-error] [\-w, \-\-bw\-limit RATE]
.PD 0
.PP
.PD
[\-Z, \-\-force\-zero] [\-E, \-\-force\-empty]
.PD 0
.PP
.PD
[\-U, \-\-force\-uuid] [\-D, \-\-force\-device]
.PD 0
.PP
.PD
[\-N, \-\-force\-nocopy] [\-F, \-\-force\-full]
.PD 0
.PP
.PD
[\-R, \-\-force\-realloc]
.PD 0
.PP
.PD
[\-S, \-\-start BLKSTART] [\-B, \-\-count BLKCOUNT]
.PD 0
.PP
.PD
[\-L, \-\-error\-limit NUMBER]
.PD 0
.PP
.PD
[\-A, \-\-stats]
.PD 0
.PP
.PD
[\-v, \-\-verbose] [\-q, \-\-quiet]
.PD 0
.PP
.PD
status|smart|probe|up|down|diff|sync|scrub|fix|check
.PD 0
.PP
.PD
|list|dup|pool|devices|touch|rehash
.PD 0
.PD
.PP
snapraid [\-V, \-\-version] [\-H, \-\-help] [\-C, \-\-gen\-conf CONTENT]
.PD 0
.PD
.SH DESCRIçãO
SnapRAID é um programa de backup projetado para arrays de disco,
armazenando informações de paridade para recuperação de dados no
caso de até seis falhas de disco.
.PP
Destinado principalmente a centros de mídia domésticos com arquivos
grandes e que mudam com pouca frequência, o SnapRAID oferece vários recursos:
.PD 0
.IP \(bu
Você pode utilizar discos já preenchidos com arquivos sem a
necessidade de reformatá\-los, acessando\-os normalmente.
.IP \(bu
Todos os seus dados são submetidos a hash para garantir a integridade
dos dados e prevenir corrupção silenciosa.
.IP \(bu
Quando o número de discos com falha excede a contagem de paridade,
a perda de dados é confinada aos discos afetados; os dados em
outros discos permanecem acessíveis.
.IP \(bu
Se você acidentalmente excluir arquivos em um disco, a recuperação é
possível.
.IP \(bu
Os discos podem ter tamanhos diferentes.
.IP \(bu
Você pode adicionar discos a qualquer momento.
.IP \(bu
O SnapRAID não prende seus dados; você pode parar de usá\-lo
a qualquer momento sem reformatar ou mover dados.
.IP \(bu
Para acessar um arquivo, apenas um único disco precisa girar (spin),
economizando energia e reduzindo o ruído.
.PD
.PP
Para mais informações, visite o site oficial do SnapRAID:
.PP
.RS 4
https://www.snapraid.it/
.PD 0
.PD
.RE
.SH LIMITAçõES
SnapRAID é um híbrido entre um programa RAID e um programa de backup,
visando combinar os melhores benefícios de ambos. No entanto, ele tem
algumas limitações que você deve considerar antes de usá\-lo.
.PP
A principal limitação é que, se um disco falhar e você não tiver
sincronizado recentemente, talvez não consiga recuperar totalmente.
Mais especificamente, você pode não conseguir recuperar até o tamanho dos
arquivos alterados ou excluídos desde a última operação de sincronização.
Isso ocorre mesmo que os arquivos alterados ou excluídos não estejam no
disco com falha. É por isso que o SnapRAID é mais adequado para
dados que raramente mudam.
.PP
Por outro lado, arquivos recém\-adicionados não impedem a recuperação de
arquivos já existentes. Você perderá apenas os arquivos adicionados
recentemente se estiverem no disco com falha.
.PP
Outras limitações do SnapRAID são:
.PD 0
.IP \(bu
Com o SnapRAID, você ainda tem sistemas de arquivos separados para cada disco.
Com o RAID, você obtém um único sistema de arquivos grande.
.IP \(bu
O SnapRAID não faz striping de dados.
Com o RAID, você obtém um aumento de velocidade com striping.
.IP \(bu
O SnapRAID não suporta recuperação em tempo real.
Com o RAID, você não precisa parar de trabalhar quando um disco falha.
.IP \(bu
O SnapRAID pode recuperar dados apenas de um número limitado de falhas de disco.
Com um backup, você pode recuperar de uma falha completa
de todo o array de discos.
.IP \(bu
Apenas nomes de arquivos, carimbos de data/hora, symlinks e hardlinks
são salvos. Permissões, propriedade e atributos estendidos não são salvos.
.PD
.SH PRIMEIROS PASSOS
Para usar o SnapRAID, você precisa primeiro selecionar um disco em seu array
de discos para dedicar às informações de \`parity\` (paridade). Com um
disco para paridade, você poderá recuperar de uma única falha de disco,
semelhante ao RAID5.
.PP
Se você quiser recuperar de mais falhas de disco, semelhante ao RAID6,
você deve reservar discos adicionais para paridade. Cada disco de paridade
adicional permite a recuperação de mais uma falha de disco.
.PP
Como discos de paridade, você deve escolher os maiores discos do array,
pois a informação de paridade pode crescer até o tamanho do maior
disco de dados no array.
.PP
Esses discos serão dedicados a armazenar os arquivos de \`parity\`.
Você não deve armazenar seus dados neles.
.PP
Em seguida, você deve definir os discos de \`data\` (dados) que deseja proteger
com o SnapRAID. A proteção é mais eficaz se esses discos
contiverem dados que raramente mudam. Por esse motivo, é melhor
NÃO incluir o disco C:\\ do Windows ou os diretórios /home, /var e /tmp
do Unix.
.PP
A lista de arquivos é salva nos arquivos de \`content\` (conteúdo), geralmente
armazenados nos discos de dados, paridade ou boot.
Este arquivo contém os detalhes do seu backup, incluindo todos os
checksums para verificar sua integridade.
O arquivo de \`content\` é armazenado em várias cópias, e cada cópia deve
estar em um disco diferente para garantir que, mesmo em caso de múltiplas
falhas de disco, pelo menos uma cópia esteja disponível.
.PP
Por exemplo, suponha que você esteja interessado em apenas um nível de
proteção de paridade, e seus discos estejam localizados em:
.PP
.RS 4
/mnt/diskp <\- disco selecionado para paridade
.PD 0
.PP
.PD
/mnt/disk1 <\- primeiro disco a proteger
.PD 0
.PP
.PD
/mnt/disk2 <\- segundo disco a proteger
.PD 0
.PP
.PD
/mnt/disk3 <\- terceiro disco a proteger
.PD 0
.PD
.RE
.PP
Você deve criar o arquivo de configuração /etc/snapraid.conf com
as seguintes opções:
.PP
.RS 4
parity /mnt/diskp/snapraid.parity
.PD 0
.PP
.PD
content /var/snapraid/snapraid.content
.PD 0
.PP
.PD
content /mnt/disk1/snapraid.content
.PD 0
.PP
.PD
content /mnt/disk2/snapraid.content
.PD 0
.PP
.PD
data d1 /mnt/disk1/
.PD 0
.PP
.PD
data d2 /mnt/disk2/
.PD 0
.PP
.PD
data d3 /mnt/disk3/
.PD 0
.PD
.RE
.PP
Se você estiver no Windows, deve usar o formato de caminho do Windows, com
letras de unidade e barras invertidas em vez de barras.
.PP
.RS 4
parity E:\\snapraid.parity
.PD 0
.PP
.PD
content C:\\snapraid\\snapraid.content
.PD 0
.PP
.PD
content F:\\array\\snapraid.content
.PD 0
.PP
.PD
content G:\\array\\snapraid.content
.PD 0
.PP
.PD
data d1 F:\\array\\
.PD 0
.PP
.PD
data d2 G:\\array\\
.PD 0
.PP
.PD
data d3 H:\\array\\
.PD 0
.PD
.RE
.PP
Se você tiver muitos discos e ficar sem letras de unidade, pode montar
discos diretamente em subpastas. Consulte:
.PP
.RS 4
https://www.google.com/search?q=Windows+mount+point
.PD 0
.PD
.RE
.PP
Neste ponto, você está pronto para executar o comando \`sync\` para construir
as informações de paridade.
.PP
.RS 4
snapraid sync
.PD 0
.PD
.RE
.PP
Este processo pode levar várias horas na primeira vez, dependendo do
tamanho dos dados já presentes nos discos. Se os discos estiverem vazios,
o processo é imediato.
.PP
Você pode pará\-lo a qualquer momento pressionando Ctrl+C e, na próxima
execução, ele será retomado de onde foi interrompido.
.PP
Quando este comando for concluído, seus dados estarão SEGUROS.
.PP
Agora você pode começar a usar seu array como quiser e periodicamente
atualizar as informações de paridade executando o comando \`sync\`.
.SS Scrubbing
Para verificar periodicamente os dados e a paridade em busca de erros,
você pode executar o comando \`scrub\`.
.PP
.RS 4
snapraid scrub
.PD 0
.PD
.RE
.PP
Este comando compara os dados em seu array com o hash calculado
durante o comando \`sync\` para verificar a integridade.
.PP
Cada execução do comando verifica aproximadamente 8% do array, excluindo
dados já examinados nos 10 dias anteriores.
Você pode usar a opção \-p, \-\-plan para especificar uma quantidade diferente
e a opção \-o, \-\-older\-than para especificar uma idade diferente em dias.
Por exemplo, para verificar 5% do array em busca de blocos com mais de
20 dias, use:
.PP
.RS 4
snapraid \-p 5 \-o 20 scrub
.PD 0
.PD
.RE
.PP
Se erros silenciosos ou de entrada/saída forem encontrados durante o processo,
os blocos correspondentes serão marcados como ruins no arquivo de \`content\`
e listados no comando \`status\`.
.PP
.RS 4
snapraid status
.PD 0
.PD
.RE
.PP
Para corrigi\-los, você pode usar o comando \`fix\`, filtrando por blocos
ruins com a opção \-e, \-\-filter\-error:
.PP
.RS 4
snapraid \-e fix
.PD 0
.PD
.RE
.PP
Na próxima execução de \`scrub\`, os erros desaparecerão do relatório de \`status\`
se estiverem realmente corrigidos. Para torná\-lo mais rápido, você pode usar
\-p bad para examinar apenas blocos marcados como ruins.
.PP
.RS 4
snapraid \-p bad scrub
.PD 0
.PD
.RE
.PP
Executar \`scrub\` em um array não sincronizado pode relatar erros causados por
arquivos removidos ou modificados. Esses erros são relatados na saída de \`scrub\`,
mas os blocos relacionados não são marcados como ruins.
.SS Pooling
Nota: O recurso de pooling descrito abaixo foi substituído pela ferramenta
mergefs, que agora é a opção recomendada para usuários Linux na comunidade
SnapRAID. Mergefs oferece uma maneira mais flexível e eficiente de agrupar
várias unidades em um único ponto de montagem unificado, permitindo acesso
perfeito a arquivos em todo o seu array sem depender de links simbólicos.
Ele se integra bem ao SnapRAID para proteção de paridade e é comumente usado
em configurações como OpenMediaVault (OMV) ou configurações NAS personalizadas.
.PP
Para ter todos os arquivos em seu array mostrados na mesma árvore de
diretórios, você pode habilitar o recurso de \`pooling\`. Ele cria uma
visualização virtual somente leitura de todos os arquivos em seu array
usando links simbólicos.
.PP
Você pode configurar o diretório de \`pooling\` no arquivo de configuração com:
.PP
.RS 4
pool /pool
.PD 0
.PD
.RE
.PP
ou, se você estiver no Windows, com:
.PP
.RS 4
pool C:\\pool
.PD 0
.PD
.RE
.PP
e, em seguida, executar o comando \`pool\` para criar ou atualizar a
visualização virtual.
.PP
.RS 4
snapraid pool
.PD 0
.PD
.RE
.PP
Se você estiver usando uma plataforma Unix e quiser compartilhar este
diretório pela rede com máquinas Windows ou Unix, você deve adicionar
as seguintes opções ao seu /etc/samba/smb.conf:
.PP
.RS 4
# Na seção global de smb.conf
.PD 0
.PP
.PD
unix extensions = no
.PD 0
.PD
.RE
.PP
.RS 4
# Na seção de compartilhamento de smb.conf
.PD 0
.PP
.PD
[pool]
.PD 0
.PP
.PD
comment = Pool
.PD 0
.PP
.PD
path = /pool
.PD 0
.PP
.PD
read only = yes
.PD 0
.PP
.PD
guest ok = yes
.PD 0
.PP
.PD
wide links = yes
.PD 0
.PP
.PD
follow symlinks = yes
.PD 0
.PD
.RE
.PP
No Windows, compartilhar links simbólicos por uma rede requer que os
clientes os resolvam remotamente. Para habilitar isso, além de
compartilhar o diretório do pool, você também deve compartilhar todos
os discos de forma independente, usando os nomes de disco definidos no
arquivo de configuração como pontos de compartilhamento. Você também
deve especificar na opção \`share\` do arquivo de configuração o caminho
UNC do Windows que os clientes remotos precisam usar para acessar
esses discos compartilhados.
.PP
Por exemplo, operando a partir de um servidor chamado \`darkstar\`, você
pode usar as opções:
.PP
.RS 4
data d1 F:\\array\\
.PD 0
.PP
.PD
data d2 G:\\array\\
.PD 0
.PP
.PD
data d3 H:\\array\\
.PD 0
.PP
.PD
pool C:\\pool
.PD 0
.PP
.PD
share \\\\darkstar
.PD 0
.PD
.RE
.PP
e compartilhar os seguintes diretórios pela rede:
.PP
.RS 4
\\\\darkstar\\pool \-> C:\\pool
.PD 0
.PP
.PD
\\\\darkstar\\d1 \-> F:\\array
.PD 0
.PP
.PD
\\\\darkstar\\d2 \-> G:\\array
.PD 0
.PP
.PD
\\\\darkstar\\d3 \-> H:\\array
.PD 0
.PD
.RE
.PP
para permitir que clientes remotos acessem todos os arquivos em \\\\darkstar\\pool.
.PP
Você também pode precisar configurar clientes remotos para habilitar
o acesso a symlinks remotos com o comando:
.PP
.RS 4
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
.PD 0
.PD
.RE
.SS Desexcluir (Undeleting)
O SnapRAID funciona mais como um programa de backup do que como um sistema
RAID, e pode ser usado para restaurar ou desexcluir arquivos para seu
estado anterior usando a opção \-f, \-\-filter:
.PP
.RS 4
snapraid fix \-f FILE
.PD 0
.PD
.RE
.PP
ou para um diretório:
.PP
.RS 4
snapraid fix \-f DIR/
.PD 0
.PD
.RE
.PP
Você também pode usá\-lo para recuperar apenas arquivos excluídos
acidentalmente dentro de um diretório usando a opção \-m, \-\-filter\-missing,
que restaura apenas arquivos ausentes, deixando todos os outros intocados.
.PP
.RS 4
snapraid fix \-m \-f DIR/
.PD 0
.PD
.RE
.PP
Ou para recuperar todos os arquivos excluídos em todas as unidades com:
.PP
.RS 4
snapraid fix \-m
.PD 0
.PD
.RE
.SS Recuperando
O pior aconteceu e você perdeu um ou mais discos!
.PP
NÃO ENTRE EM PÂNICO! Você será capaz de recuperá\-los!
.PP
A primeira coisa que você deve fazer é evitar mais alterações em seu array
de discos. Desabilite quaisquer conexões remotas a ele e quaisquer
processos agendados, incluindo qualquer sincronização noturna ou scrub
agendado do SnapRAID.
.PP
Em seguida, prossiga com as seguintes etapas.
.SS PASSO 1 \-> Reconfigurar
Você precisa de algum espaço para recuperar, idealmente em discos sobressalentes
adicionais, mas um disco USB externo ou um disco remoto será suficiente.
.PP
Modifique o arquivo de configuração do SnapRAID para fazer com que a opção
\`data\` ou \`parity\` do disco com falha aponte para um local com espaço
vazio suficiente para recuperar os arquivos.
.PP
Por exemplo, se o disco \`d1\` falhou, mude de:
.PP
.RS 4
data d1 /mnt/disk1/
.PD 0
.PD
.RE
.PP
para:
.PP
.RS 4
data d1 /mnt/new_spare_disk/
.PD 0
.PD
.RE
.PP
Se o disco a ser recuperado for um disco de paridade, atualize a opção
\`parity\` apropriada.
Se você tiver vários discos com falha, atualize todas as opções de
configuração deles.
.SS PASSO 2 \-> Corrigir
Execute o comando fix, armazenando o log em um arquivo externo com:
.PP
.RS 4
snapraid \-d NAME \-l fix.log fix
.PD 0
.PD
.RE
.PP
Onde NAME é o nome do disco, como \`d1\` em nosso exemplo anterior.
Se o disco a ser recuperado for um disco de paridade, use os nomes
\`parity\`, \`2\-parity\`, etc.
Se você tiver vários discos com falha, use várias opções \-d para
especificar todos eles.
.PP
Este comando levará muito tempo.
.PP
Certifique\-se de ter alguns gigabytes livres para armazenar o arquivo fix.log.
Execute\-o a partir de um disco com espaço livre suficiente.
.PP
Agora você recuperou tudo o que é recuperável. Se alguns arquivos estiverem
parcialmente ou totalmente irrecuperáveis, eles serão renomeados
adicionando a extensão \`.unrecoverable\`.
.PP
Você pode encontrar uma lista detalhada de todos os blocos irrecuperáveis
no arquivo fix.log, verificando todas as linhas que começam com \`unrecoverable:\`.
.PP
Se você não estiver satisfeito com a recuperação, pode tentar novamente
quantas vezes quiser.
.PP
Por exemplo, se você removeu arquivos do array após a última
\`sync\`, isso pode resultar em alguns arquivos não sendo recuperados.
Neste caso, você pode tentar novamente o \`fix\` usando a opção \-i, \-\-import,
especificando onde esses arquivos estão agora para incluí\-los novamente
no processo de recuperação.
.PP
Se você estiver satisfeito com a recuperação, pode prosseguir,
mas observe que, após a sincronização, você não pode mais tentar
o comando \`fix\` novamente!
.SS PASSO 3 \-> Checar
Como uma verificação cautelosa, você pode agora executar um comando
\`check\` para garantir que tudo esteja correto no disco recuperado.
.PP
.RS 4
snapraid \-d NAME \-a check
.PD 0
.PD
.RE
.PP
Onde NAME é o nome do disco, como \`d1\` em nosso exemplo anterior.
.PP
As opções \-d e \-a dizem ao SnapRAID para verificar apenas o disco
especificado e ignorar todos os dados de paridade.
.PP
Este comando levará muito tempo, mas se você não for excessivamente
cauteloso, pode pulá\-lo.
.SS PASSO 4 \-> Sincronizar
Execute o comando \`sync\` para ressincronizar o array com o novo disco.
.PP
.RS 4
snapraid sync
.PD 0
.PD
.RE
.PP
Se tudo for recuperado, este comando é imediato.
.SH COMANDOS
SnapRAID fornece alguns comandos simples que permitem a você:
.PD 0
.IP \(bu
Imprimir o status do array \-> \`status\`
.IP \(bu
Controlar os discos \-> \`smart\`, \`probe\`, \`up\`, \`down\`
.IP \(bu
Fazer um backup/snapshot \-> \`sync\`
.IP \(bu
Verificar periodicamente os dados \-> \`scrub\`
.IP \(bu
Restaurar o último backup/snapshot \-> \`fix\`.
.PD
.PP
Os comandos devem ser escritos em letras minúsculas.
.SS status
Imprime um resumo do estado do array de discos.
.PP
Inclui informações sobre a fragmentação da paridade, a idade
dos blocos sem verificação e todos os erros silenciosos registrados
encontrados durante o scrubbing.
.PP
As informações apresentadas referem\-se à última vez que você
executou \`sync\`. Modificações posteriores não são levadas em conta.
.PP
Se blocos ruins foram detectados, seus números de bloco são listados.
Para corrigi\-los, você pode usar o comando \`fix \-e\`.
.PP
Também mostra um gráfico que representa a última vez que cada bloco
foi examinado (scrubbed) ou sincronizado (synced). Blocos examinados
são mostrados com \'*\', blocos sincronizados, mas ainda não examinados,
com \'o\'.
.PP
Nada é modificado.
.SS smart
Imprime um relatório SMART de todos os discos no sistema.
.PP
Inclui uma estimativa da probabilidade de falha no próximo
ano, permitindo que você planeje substituições de manutenção de
discos que mostrem atributos suspeitos.
.PP
Esta estimativa de probabilidade é obtida correlacionando os atributos
SMART dos discos com os dados do Backblaze disponíveis em:
.PP
.RS 4
https://www.backblaze.com/hard\-drive\-test\-data.html
.PD 0
.PD
.RE
.PP
Se o SMART relatar que um disco está falhando, \`FAIL\` ou \`PREFAIL\` é
impresso para esse disco, e o SnapRAID retorna com um erro.
Neste caso, a substituição imediata do disco é altamente recomendada.
.PP
Outras possíveis strings de status são:
.RS 4
.PD 0
.HP 4
.I logfail
No passado, alguns atributos estavam abaixo do
limite.
.HP 4
.I logerr
O log de erros do dispositivo contém erros.
.HP 4
.I selferr
O log de autoteste do dispositivo contém erros.
.PD
.RE
.PP
Se a opção \-v, \-\-verbose for especificada, uma análise estatística
mais profunda é fornecida. Esta análise pode ajudá\-lo a decidir
se você precisa de mais ou menos paridade.
.PP
Este comando usa a ferramenta \`smartctl\` e é equivalente a executar
\`smartctl \-a\` em todos os dispositivos.
.PP
Se seus dispositivos não forem detectados automaticamente corretamente,
você pode especificar um comando personalizado usando a opção
\`smartctl\` no arquivo de configuração.
.PP
Nada é modificado.
.SS probe
Imprime o estado de ENERGIA de todos os discos no sistema.
.PP
\`Standby\` significa que o disco não está girando. \`Active\` significa
que o disco está girando.
.PP
Este comando usa a ferramenta \`smartctl\` e é equivalente a executar
\`smartctl \-n standby \-i\` em todos os dispositivos.
.PP
Se seus dispositivos não forem detectados automaticamente corretamente,
você pode especificar um comando personalizado usando a opção
\`smartctl\` no arquivo de configuração.
.PP
Nada é modificado.
.SS up
Liga (spins up) todos os discos do array.
.PP
Você pode ligar apenas discos específicos usando a opção \-d, \-\-filter\-disk.
.PP
Ligar todos os discos ao mesmo tempo requer muita energia.
Certifique\-se de que sua fonte de alimentação pode suportar isso.
.PP
Nada é modificado.
.SS down
Desliga (spins down) todos os discos do array.
.PP
Este comando usa a ferramenta \`smartctl\` e é equivalente a executar
\`smartctl \-s standby,now\` em todos os dispositivos.
.PP
Você pode desligar apenas discos específicos usando a opção \-d, \-\-filter\-disk.
.PP
Para desligar automaticamente em caso de erro, você pode usar a opção
\-s, \-\-spin\-down\-on\-error com qualquer outro comando, o que é
equivalente a executar \`down\` manualmente quando ocorre um erro.
.PP
Nada é modificado.
.SS diff
Lista todos os arquivos modificados desde o último \`sync\` que precisam ter
seus dados de paridade recalculados.
.PP
Este comando não verifica os dados do arquivo, mas apenas o carimbo de
data/hora, tamanho e inode do arquivo.
.PP
Após listar todos os arquivos alterados, um resumo das alterações é
apresentado, agrupado por:
.RS 4
.PD 0
.HP 4
.I equal
Arquivos inalterados de antes.
.HP 4
.I added
Arquivos adicionados que não estavam presentes antes.
.HP 4
.I removed
Arquivos removidos.
.HP 4
.I updated
Arquivos com tamanho ou carimbo de data/hora diferente,
o que significa que foram modificados.
.HP 4
.I moved
Arquivos movidos para um diretório diferente no mesmo disco.
Eles são identificados por terem o mesmo nome, tamanho,
carimbo de data/hora e inode, mas um diretório diferente.
.HP 4
.I copied
Arquivos copiados no mesmo ou em um disco diferente.
Observe que se eles forem realmente movidos para um disco
diferente, eles também serão contados em \`removed\`.
Eles são identificados por terem o mesmo nome, tamanho e
carimbo de data/hora. Se o carimbo de data/hora sub\-segundo
for zero, o caminho completo deve corresponder, não apenas
o nome.
.HP 4
.I restored
Arquivos com um inode diferente, mas nome, tamanho e carimbo
de data/hora correspondentes. Estes são geralmente arquivos
restaurados após terem sido excluídos.
.PD
.RE
.PP
Se uma \`sync\` for necessária, o código de retorno do processo é 2,
em vez do padrão 0. O código de retorno 1 é usado para uma condição
de erro genérica.
.PP
Nada é modificado.
.SS sync
Atualiza as informações de paridade. Todos os arquivos modificados
no array de discos são lidos, e os dados de paridade correspondentes
são atualizados.
.PP
Você pode parar este processo a qualquer momento pressionando Ctrl+C,
sem perder o trabalho já feito.
Na próxima execução, o processo \`sync\` será retomado de onde
foi interrompido.
.PP
Se erros silenciosos ou de entrada/saída forem encontrados durante o processo,
os blocos correspondentes são marcados como ruins.
.PP
Os arquivos são identificados por caminho e/ou inode e verificados por
tamanho e carimbo de data/hora.
Se o tamanho ou carimbo de data/hora do arquivo for diferente, a paridade
dos dados é recalculada para todo o arquivo.
Se o arquivo for movido ou renomeado no mesmo disco, mantendo o
mesmo inode, a paridade não é recalculada.
Se o arquivo for movido para outro disco, a paridade é recalculada,
mas as informações de hash calculadas anteriormente são mantidas.
.PP
Os arquivos \`content\` e \`parity\` são modificados se necessário.
Os arquivos no array NÃO são modificados.
.SS scrub
Examina (scrubs) o array, verificando se há erros silenciosos ou de
entrada/saída nos discos de dados e paridade.
.PP
Cada invocação verifica aproximadamente 8% do array, excluindo
dados já examinados nos últimos 10 dias.
Isso significa que examinar (scrubbing) uma vez por semana garante
que cada bit de dados seja verificado pelo menos uma vez a cada
três meses.
.PP
Você pode definir um plano de scrub ou quantidade diferente usando a opção
\-p, \-\-plan, que aceita:
bad \- Examina blocos marcados como ruins.
new \- Examina blocos recém\-sincronizados ainda não examinados.
full \- Examina tudo.
0\-100 \- Examina a porcentagem especificada de blocos.
.PP
Se você especificar um valor percentual, também pode usar a opção
\-o, \-\-older\-than para definir a idade mínima do bloco.
Os blocos mais antigos são examinados primeiro, garantindo uma
verificação ideal.
Se você quiser examinar apenas os blocos recém\-sincronizados ainda
não examinados, use a opção \`\-p new\`.
.PP
Para obter detalhes do status do scrub, use o comando \`status\`.
.PP
Para qualquer erro silencioso ou de entrada/saída encontrado, os blocos
correspondentes são marcados como ruins no arquivo de \`content\`.
Esses blocos ruins são listados em \`status\` e podem ser corrigidos com
\`fix \-e\`.
Após a correção, no próximo scrub, eles serão verificados novamente e,
se considerados corrigidos, a marcação de ruim será removida.
Para examinar apenas os blocos ruins, você pode usar o comando
\`scrub \-p bad\`.
.PP
É recomendado executar \`scrub\` apenas em um array sincronizado para
evitar erros relatados causados por dados não sincronizados. Esses erros
são reconhecidos como não sendo erros silenciosos, e os blocos não são
marcados como ruins, mas tais erros são relatados na saída do comando.
.PP
O arquivo \`content\` é modificado para atualizar o tempo da última verificação
para cada bloco e para marcar blocos ruins.
Os arquivos \`parity\` NÃO são modificados.
Os arquivos no array NÃO são modificados.
.SS fix
Corrige todos os arquivos e os dados de paridade.
.PP
Todos os arquivos e dados de paridade são comparados com o estado de
snapshot salvo na última \`sync\`.
Se uma diferença for encontrada, ela é revertida para o snapshot armazenado.
.PP
ATENÇÃO! O comando \`fix\` não diferencia entre erros e modificações
intencionais. Ele reverte incondicionalmente o estado do arquivo
para a última \`sync\`.
.PP
Se nenhuma outra opção for especificada, todo o array é processado.
Use as opções de filtro para selecionar um subconjunto de arquivos ou
discos para operar.
.PP
Para corrigir apenas os blocos marcados como ruins durante \`sync\` e \`scrub\`,
use a opção \-e, \-\-filter\-error.
Ao contrário de outras opções de filtro, esta aplica correções apenas a
arquivos que não foram alterados desde a última \`sync\`.
.PP
O SnapRAID renomeia todos os arquivos que não podem ser corrigidos adicionando
a extensão \`.unrecoverable\`.
.PP
Antes de corrigir, todo o array é escaneado para encontrar quaisquer
arquivos movidos desde a última operação \`sync\`.
Esses arquivos são identificados por seu carimbo de data/hora, ignorando
seu nome e diretório, e são usados no processo de recuperação, se
necessário.
Se você moveu alguns deles para fora do array, pode usar a opção
\-i, \-\-import para especificar diretórios adicionais para escanear.
.PP
Os arquivos são identificados apenas por caminho, não por inode.
.PP
O arquivo \`content\` NÃO é modificado.
Os arquivos \`parity\` são modificados se necessário.
Os arquivos no array são modificados se necessário.
.SS check
Verifica todos os arquivos e os dados de paridade.
.PP
Funciona como \`fix\`, mas apenas simula uma recuperação e nenhuma alteração
é escrita no array.
.PP
Este comando é destinado principalmente a verificações manuais,
como após um processo de recuperação ou em outras condições especiais.
Para verificações periódicas e agendadas, use \`scrub\`.
.PP
Se você usar a opção \-a, \-\-audit\-only, apenas os dados do arquivo
são verificados, e os dados de paridade são ignorados para uma
execução mais rápida.
.PP
Os arquivos são identificados apenas por caminho, não por inode.
.PP
Nada é modificado.
.SS list
Lista todos os arquivos contidos no array no momento da
última \`sync\`.
.PP
Com \-v ou \-\-verbose, o tempo sub\-segundo também é mostrado.
.PP
Nada é modificado.
.SS dup
Lista todos os arquivos duplicados. Dois arquivos são considerados
iguais se seus hashes corresponderem. Os dados do arquivo não são lidos;
apenas os hashes pré\-calculados são usados.
.PP
Nada é modificado.
.SS pool
Cria ou atualiza uma visualização virtual de todos
os arquivos em seu array de discos no diretório \`pooling\`.
.PP
Os arquivos não são copiados, mas ligados usando
links simbólicos.
.PP
Ao atualizar, todos os links simbólicos existentes e subdiretórios
vazios são excluídos e substituídos pela nova
visualização do array. Quaisquer outros arquivos regulares são
deixados no lugar.
.PP
Nada é modificado fora do diretório do pool.
.SS devices
Imprime os dispositivos de baixo nível usados pelo array.
.PP
Este comando exibe as associações de dispositivos no array
e destina\-se principalmente como uma interface de script.
.PP
As duas primeiras colunas são o ID do dispositivo de baixo nível e o
caminho. As próximas duas colunas são o ID do dispositivo de alto nível
e o caminho. A última coluna é o nome do disco no array.
.PP
Na maioria dos casos, você tem um dispositivo de baixo nível para cada disco
no array, mas em algumas configurações mais complexas, você pode ter
vários dispositivos de baixo nível usados por um único disco no array.
.PP
Nada é modificado.
.SS touch
Define um carimbo de data/hora sub\-segundo arbitrário para todos os arquivos
que o têm definido como zero.
.PP
Isso melhora a capacidade do SnapRAID de reconhecer arquivos movidos
e copiados, pois torna o carimbo de data/hora quase único,
reduzindo possíveis duplicatas.
.PP
Mais especificamente, se o carimbo de data/hora sub\-segundo não for zero,
um arquivo movido ou copiado é identificado como tal se corresponder
ao nome, tamanho e carimbo de data/hora. Se o carimbo de data/hora
sub\-segundo for zero, ele é considerado uma cópia apenas se o caminho
completo, tamanho e carimbo de data/hora corresponderem.
.PP
O carimbo de data/hora de precisão de segundo não é modificado,
portanto, todas as datas e horas de seus arquivos serão preservadas.
.SS rehash
Agenda um novo hash de todo o array.
.PP
Este comando altera o tipo de hash usado, tipicamente ao atualizar
de um sistema de 32 bits para um de 64 bits, para alternar do
MurmurHash3 para o mais rápido SpookyHash.
.PP
Se você já estiver usando o hash ideal, este comando
não faz nada e informa que nenhuma ação é necessária.
.PP
O novo hash não é executado imediatamente, mas ocorre
progressivamente durante \`sync\` e \`scrub\`.
.PP
Você pode verificar o estado do novo hash usando \`status\`.
.PP
Durante o novo hash, o SnapRAID mantém a funcionalidade total,
com a única exceção de que \`dup\` não pode detectar arquivos duplicados
usando um hash diferente.
.SH OPçõES
SnapRAID fornece as seguintes opções:
.TP
.B \-c, \-\-conf CONFIG
Seleciona o arquivo de configuração a ser usado. Se não for especificado,
no Unix, ele usa o arquivo \`/usr/local/etc/snapraid.conf\` se existir,
caso contrário, \`/etc/snapraid.conf\`.
No Windows, ele usa o arquivo \`snapraid.conf\` no mesmo
diretório que \`snapraid.exe\`.
.TP
.B \-f, \-\-filter PATTERN
Filtra os arquivos a serem processados em \`check\` e \`fix\`.
Apenas os arquivos que correspondem ao padrão especificado são processados.
Esta opção pode ser usada várias vezes.
Consulte a seção PATTERN para obter mais detalhes sobre
especificações de padrão.
No Unix, certifique\-se de que os caracteres globbing sejam citados, se usados.
Esta opção pode ser usada apenas com \`check\` e \`fix\`.
Não pode ser usada com \`sync\` e \`scrub\`, pois eles sempre
processam o array inteiro.
.TP
.B \-d, \-\-filter\-disk NAME
Filtra os discos a serem processados em \`check\`, \`fix\`, \`up\` e \`down\`.
Você deve especificar um nome de disco conforme definido no
arquivo de configuração.
Você também pode especificar discos de paridade com os nomes: \`parity\`,
\`2\-parity\`, \`3\-parity\`, etc., para limitar as operações a um
disco de paridade específico.
Se você combinar múltiplas opções \-\-filter, \-\-filter\-disk e \-\-filter\-missing,
apenas os arquivos que correspondem a todos os filtros são selecionados.
Esta opção pode ser usada várias vezes.
Esta opção pode ser usada apenas com \`check\`, \`fix\`, \`up\` e \`down\`.
Não pode ser usada com \`sync\` e \`scrub\`, pois eles sempre
processam o array inteiro.
.TP
.B \-m, \-\-filter\-missing
Filtra os arquivos a serem processados em \`check\` e \`fix\`.
Apenas os arquivos ausentes ou excluídos do array são processados.
Quando usado com \`fix\`, isso age como um comando \`undelete\` (desexcluir).
Se você combinar múltiplas opções \-\-filter, \-\-filter\-disk e \-\-filter\-missing,
apenas os arquivos que correspondem a todos os filtros são selecionados.
Esta opção pode ser usada apenas com \`check\` e \`fix\`.
Não pode ser usada com \`sync\` e \`scrub\`, pois eles sempre
processam o array inteiro.
.TP
.B \-e, \-\-filter\-error
Processa os arquivos com erros em \`check\` e \`fix\`.
Processa apenas arquivos que têm blocos marcados com erros silenciosos
ou de entrada/saída durante \`sync\` e \`scrub\`, conforme listado em \`status\`.
Esta opção pode ser usada apenas com \`check\` e \`fix\`.
.TP
.B \-p, \-\-plan PERC|bad|new|full
Seleciona o plano de scrub. Se PERC for um valor numérico de 0 a 100,
ele é interpretado como a porcentagem de blocos a serem examinados.
Em vez de uma porcentagem, você pode especificar um plano:
\`bad\` examina blocos ruins, \`new\` examina blocos ainda não examinados,
e \`full\` examina tudo.
Esta opção pode ser usada apenas com \`scrub\`.
.TP
.B \-o, \-\-older\-than DAYS
Seleciona a parte mais antiga do array a ser processada em \`scrub\`.
DAYS é a idade mínima em dias para um bloco ser examinado;
o padrão é 10.
Os blocos marcados como ruins são sempre examinados,
independentemente desta opção.
Esta opção pode ser usada apenas com \`scrub\`.
.TP
.B \-a, \-\-audit\-only
Em \`check\`, verifica o hash dos arquivos sem
verificar os dados de paridade.
Se você estiver interessado apenas em verificar os dados do arquivo,
esta opção pode acelerar significativamente o processo de verificação.
Esta opção pode ser usada apenas com \`check\`.
.TP
.B \-h, \-\-pre\-hash
Em \`sync\`, executa uma fase de hash preliminar de todos os novos dados
para verificação adicional antes do cálculo da paridade.
Normalmente, em \`sync\`, nenhum hash preliminar é feito, e os novos
dados são hashados logo antes do cálculo da paridade, quando são lidos
pela primeira vez.
Este processo ocorre quando o sistema está sob
carga pesada, com todos os discos girando e uma CPU ocupada.
Esta é uma condição extrema para a máquina, e se ela tiver um
problema de hardware latente, erros silenciosos podem passar
despercebidos porque os dados ainda não foram hashados.
Para evitar esse risco, você pode habilitar o modo \`pre\-hash\` para
ter todos os dados lidos duas vezes para garantir sua integridade.
Esta opção também verifica arquivos movidos dentro do array
para garantir que a operação de movimentação foi bem\-sucedida e,
se necessário, permite que você execute uma operação fix antes de prosseguir.
Esta opção pode ser usada apenas com \`sync\`.
.TP
.B \-i, \-\-import DIR
Importa do diretório especificado quaisquer arquivos excluídos
do array após a última \`sync\`.
Se você ainda tiver esses arquivos, eles podem ser usados por \`check\`
e \`fix\` para melhorar o processo de recuperação.
Os arquivos são lidos, incluindo em subdiretórios, e são
identificados independentemente de seu nome.
Esta opção pode ser usada apenas com \`check\` e \`fix\`.
.TP
.B \-s, \-\-spin\-down\-on\-error
Em qualquer erro, desliga (spins down) todos os discos gerenciados
antes de sair com um código de status diferente de zero. Isso
impede que as unidades permaneçam ativas e girando após uma
operação abortada, ajudando a evitar acúmulo desnecessário de
calor e consumo de energia. Use esta opção para garantir que os
discos sejam interrompidos com segurança, mesmo quando um comando falhar.
.TP
.B \-w, \-\-bw\-limit RATE
Aplica um limite de largura de banda global para todos os discos. A
RATE é o número de bytes por segundo. Você pode especificar um
multiplicador como K, M ou G (por exemplo, \-\-bw\-limit 1G).
.TP
.B \-A, \-\-stats
Habilita uma visualização de status estendida que mostra informações
adicionais. A tela exibe dois gráficos:
O primeiro gráfico mostra o número de stripes em buffer para cada
disco, juntamente com o caminho do arquivo que está sendo
acessado atualmente nesse disco. Tipicamente, o disco mais lento não
terá buffer disponível, o que determina a largura de banda máxima
alcançável.
O segundo gráfico mostra a porcentagem de tempo gasto esperando
nos últimos 100 segundos. Espera\-se que o disco mais lento
cause a maior parte do tempo de espera, enquanto outros discos
devem ter pouco ou nenhum tempo de espera porque podem usar seus
stripes em buffer.
Este gráfico também mostra o tempo gasto esperando por cálculos
de hash e cálculos RAID.
Todos os cálculos são executados em paralelo com as operações de disco.
Portanto, enquanto houver tempo de espera mensurável para
pelo menos um disco, isso indica que a CPU é rápida o suficiente
para acompanhar a carga de trabalho.
.TP
.B \-Z, \-\-force\-zero
Força a operação insegura de sincronizar um arquivo com tamanho zero
que era anteriormente não zero.
Se o SnapRAID detectar tal condição, ele para de prosseguir
a menos que você especifique esta opção.
Isso permite que você detecte facilmente quando, após uma falha
do sistema, alguns arquivos acessados foram truncados.
Esta é uma condição possível no Linux com os sistemas de arquivos
ext3/ext4.
Esta opção pode ser usada apenas com \`sync\`.
.TP
.B \-E, \-\-force\-empty
Força a operação insegura de sincronizar um disco com todos
os arquivos originais ausentes.
Se o SnapRAID detectar que todos os arquivos originalmente presentes
no disco estão ausentes ou foram reescritos, ele para de prosseguir
a menos que você especifique esta opção.
Isso permite que você detecte facilmente quando um sistema de
arquivos de dados não está montado.
Esta opção pode ser usada apenas com \`sync\`.
.TP
.B \-U, \-\-force\-uuid
Força a operação insegura de sincronizar, verificar e corrigir
com discos que tiveram seus UUIDs alterados.
Se o SnapRAID detectar que alguns discos tiveram seus UUIDs alterados,
ele para de prosseguir a menos que você especifique esta opção.
Isso permite que você detecte quando seus discos estão montados
nos pontos de montagem errados.
No entanto, é permitido ter uma única mudança de UUID com
paridade única e mais com paridade múltipla, porque este é
o caso normal ao substituir discos após uma recuperação.
Esta opção pode ser usada apenas com \`sync\`, \`check\` ou
\`fix\`.
.TP
.B \-D, \-\-force\-device
Força a operação insegura de corrigir com discos inacessíveis
ou com discos no mesmo dispositivo físico.
Por exemplo, se você perdeu dois discos de dados e tem um disco
sobressalente para recuperar apenas o primeiro, você pode ignorar
o segundo disco inacessível.
Ou, se você quiser recuperar um disco no espaço livre restante
em um disco já usado, compartilhando o mesmo dispositivo físico.
Esta opção pode ser usada apenas com \`fix\`.
.TP
.B \-N, \-\-force\-nocopy
Em \`sync\`, \`check\` e \`fix\`, desabilita a heurística de detecção
de cópia. Sem esta opção, o SnapRAID assume que arquivos com os
mesmos atributos, como nome, tamanho e carimbo de data/hora,
são cópias com os mesmos dados.
Isso permite a identificação de arquivos copiados ou movidos de um
disco para outro e reutiliza as informações de hash já calculadas
para detectar erros silenciosos ou para recuperar arquivos ausentes.
Em alguns casos raros, esse comportamento pode resultar em falsos
positivos ou em um processo lento devido a muitas verificações de hash,
e esta opção permite que você resolva tais problemas.
Esta opção pode ser usada apenas com \`sync\`, \`check\` e \`fix\`.
.TP
.B \-F, \-\-force\-full
Em \`sync\`, força um recálculo completo da paridade.
Esta opção pode ser usada quando você adiciona um novo nível de
paridade ou se você reverteu para um arquivo de conteúdo antigo
usando dados de paridade mais recentes.
Em vez de recriar a paridade do zero, isso permite
que você reutilize os hashes presentes no arquivo de conteúdo para
validar dados e manter a proteção de dados durante o processo
\`sync\` usando os dados de paridade existentes.
Esta opção pode ser usada apenas com \`sync\`.
.TP
.B \-R, \-\-force\-realloc
Em \`sync\`, força uma realocação completa de arquivos e reconstrução
da paridade.
Esta opção pode ser usada para realocar completamente todos os
arquivos, removendo a fragmentação, enquanto reutiliza os hashes
presentes no arquivo de conteúdo para validar dados.
Esta opção pode ser usada apenas com \`sync\`.
ATENÇÃO! Esta opção é apenas para especialistas e é altamente
recomendado não usá\-la.
Você NÃO tem proteção de dados durante a operação \`sync\`.
.TP
.B \-l, \-\-log FILE
Escreve um log detalhado para o arquivo especificado.
Se esta opção não for especificada, erros inesperados são
impressos na tela, resultando potencialmente em saída excessiva
em caso de muitos erros. Quando \-l, \-\-log é especificado, apenas
erros fatais que fazem o SnapRAID parar são impressos
na tela.
Se o caminho começar com \'>>\', o arquivo é aberto
no modo de anexação. Ocorrências de \'%D\' e \'%T\' no nome são
substituídas pela data e hora no formato YYYYMMDD e
HHMMSS. Em arquivos em lote do Windows, você deve duplicar
o caractere \'%\', por exemplo, resultado\-%%D.log. Para usar \'>>\', você deve
colocar o nome entre aspas, por exemplo, \`\[dq]>>resultado.log\[dq]\`.
Para enviar o log para a saída padrão ou erro padrão,
você pode usar \`\[dq]>&1\[dq]\` e \`\[dq]>&2\[dq]\`, respectivamente.
Consulte o arquivo snapraid_log.txt ou a página man para descrições
de tags de log.
.TP
.B \-L, \-\-error\-limit NUMBER
Define um novo limite de erro antes de interromper a execução.
Por padrão, o SnapRAID para se encontrar mais de 100
erros de entrada/saída, indicando que um disco provavelmente está
falhando.
Esta opção afeta \`sync\` e \`scrub\`, que têm permissão
para continuar após o primeiro conjunto de erros de disco para tentar
completar suas operações.
No entanto, \`check\` e \`fix\` sempre param no primeiro erro.
.TP
.B \-S, \-\-start BLKSTART
Começa o processamento a partir do número de bloco
especificado. Isso pode ser útil para tentar verificar
ou corrigir blocos específicos em caso de um disco danificado.
Esta opção é principalmente para recuperação manual avançada.
.TP
.B \-B, \-\-count BLKCOUNT
Processa apenas o número especificado de blocos.
Esta opção é principalmente para recuperação manual avançada.
.TP
.B \-C, \-\-gen\-conf CONTENT
Gera um arquivo de configuração dummy a partir de um arquivo
de conteúdo existente.
O arquivo de configuração é escrito na saída padrão
e não sobrescreve um existente.
Este arquivo de configuração também contém as informações
necessárias para reconstruir os pontos de montagem do disco,
caso você perca todo o sistema.
.TP
.B \-v, \-\-verbose
Imprime mais informações na tela.
Se especificado uma vez, ele imprime arquivos excluídos
e estatísticas adicionais.
Esta opção não tem efeito nos arquivos de log.
.TP
.B \-q, \-\-quiet
Imprime menos informações na tela.
Se especificado uma vez, remove a barra de progresso; duas vezes,
as operações em execução; três vezes, as mensagens de informação;
quatro vezes, as mensagens de status.
Erros fatais são sempre impressos na tela.
Esta opção não tem efeito nos arquivos de log.
.TP
.B \-H, \-\-help
Imprime uma tela de ajuda curta.
.TP
.B \-V, \-\-version
Imprime a versão do programa.
.SH CONFIGURAçãO
SnapRAID requer um arquivo de configuração para saber onde seu array
de discos está localizado e onde armazenar as informações de paridade.
.PP
No Unix, ele usa o arquivo \`/usr/local/etc/snapraid.conf\` se existir,
caso contrário, \`/etc/snapraid.conf\`.
No Windows, ele usa o arquivo \`snapraid.conf\` no mesmo
diretório que \`snapraid.exe\`.
.PP
Deve conter as seguintes opções (sensível a maiúsculas/minúsculas):
.SS parity FILE [,FILE] ...
Define os arquivos a serem usados para armazenar as informações de paridade.
A paridade permite proteção contra uma única falha de disco,
semelhante ao RAID5.
.PP
Você pode especificar vários arquivos, que devem estar em discos diferentes.
Quando um arquivo não pode mais crescer, o próximo é usado.
O espaço total disponível deve ser pelo menos tão grande quanto o maior
disco de dados no array.
.PP
Você pode adicionar arquivos de paridade adicionais mais tarde, mas você
não pode reordenar ou removê\-los.
.PP
Manter os discos de paridade reservados para paridade garante que
eles não se fragmentem, melhorando o desempenho.
.PP
No Windows, 256 MB são deixados sem uso em cada disco para evitar o
aviso sobre discos cheios.
.PP
Esta opção é obrigatória e pode ser usada apenas uma vez.
.SS (2,3,4,5,6)\-parity FILE [,FILE] ...
Define os arquivos a serem usados para armazenar informações de paridade extra.
.PP
Para cada nível de paridade especificado, um nível adicional de proteção
é habilitado:
.PD 0
.IP \(bu
2\-parity habilita paridade dupla RAID6.
.IP \(bu
3\-parity habilita paridade tripla.
.IP \(bu
4\-parity habilita paridade quádrupla (quatro).
.IP \(bu
5\-parity habilita paridade penta (cinco).
.IP \(bu
6\-parity habilita paridade hexa (seis).
.PD
.PP
Cada nível de paridade requer a presença de todos os níveis de paridade
anteriores.
.PP
As mesmas considerações que para a opção \'parity\' se aplicam.
.PP
Estas opções são opcionais e podem ser usadas apenas uma vez.
.SS z\-parity FILE [,FILE] ...
Define um arquivo e formato alternativo para armazenar paridade tripla.
.PP
Esta opção é uma alternativa a \'3\-parity\', destinada principalmente a
CPUs de baixo custo como ARM ou AMD Phenom, Athlon e Opteron que não
suportam o conjunto de instruções SSSE3. Nesses casos, ela fornece
melhor desempenho.
.PP
Este formato é semelhante, mas mais rápido do que o usado pelo ZFS RAIDZ3.
Assim como o ZFS, ele não funciona além da paridade tripla.
.PP
Ao usar \'3\-parity\', você será avisado se for recomendado usar
o formato \'z\-parity\' para melhoria de desempenho.
.PP
É possível converter de um formato para outro ajustando
o arquivo de configuração com o z\-parity ou 3\-parity desejado
e usando \'fix\' para recriá\-lo.
.SS content FILE
Define o arquivo a ser usado para armazenar a lista e os checksums de todos
os arquivos presentes em seu array de discos.
.PP
Pode ser colocado em um disco usado para dados, paridade ou
qualquer outro disco disponível.
Se você usar um disco de dados, este arquivo é automaticamente excluído
do processo \`sync\`.
.PP
Esta opção é obrigatória e pode ser usada várias vezes para salvar
múltiplas cópias do mesmo arquivo.
.PP
Você deve armazenar pelo menos uma cópia para cada disco de paridade usado
mais um. Usar cópias adicionais não prejudica.
.SS data NAME DIR
Define o nome e o ponto de montagem dos discos de dados no
array. NAME é usado para identificar o disco e deve
ser único. DIR é o ponto de montagem do disco no
sistema de arquivos.
.PP
Você pode alterar o ponto de montagem conforme necessário, desde que
mantenha o NAME fixo.
.PP
Você deve usar uma opção para cada disco de dados no array.
.PP
Você pode renomear um disco mais tarde alterando o NAME diretamente
no arquivo de configuração e, em seguida, executando um comando \'sync\'.
No caso de renomeação, a associação é feita usando o UUID
armazenado dos discos.
.SS nohidden
Exclui todos os arquivos e diretórios ocultos.
No Unix, arquivos ocultos são aqueles que começam com \`.\`.
No Windows, são aqueles com o atributo oculto.
.SS exclude/include PATTERN
Define os padrões de arquivo ou diretório a serem excluídos ou incluídos
no processo de sincronização.
Todos os padrões são processados na ordem especificada.
.PP
Se o primeiro padrão que corresponde for um \`exclude\`, o arquivo
é excluído. Se for um \`include\`, o arquivo é incluído.
Se nenhum padrão corresponder, o arquivo é excluído se o último padrão
especificado for um \`include\`, ou incluído se o último padrão
especificado for um \`exclude\`.
.PP
Consulte a seção PATTERN para obter mais detalhes sobre
especificações de padrão.
.PP
Esta opção pode ser usada várias vezes.
.SS blocksize SIZE_IN_KIBIBYTES
Define o tamanho básico do bloco em kibibytes para a paridade.
Um kibibyte é 1024 bytes.
.PP
O \`blocksize\` padrão é 256, o que deve funcionar para a maioria dos casos.
.PP
ATENÇÃO! Esta opção é apenas para especialistas e é altamente
recomendado não alterar este valor. Para alterar este valor no
futuro, você precisará recriar toda a paridade!
.PP
Uma razão para usar um \`blocksize\` diferente é se você tiver muitos arquivos
pequenos, na ordem de milhões.
.PP
Para cada arquivo, mesmo que apenas alguns bytes, um bloco inteiro de
paridade é alocado, e com muitos arquivos, isso pode resultar em
espaço de paridade não utilizado significativo.
Quando você preenche completamente o disco de paridade, você não está
autorizado a adicionar mais arquivos aos discos de dados.
No entanto, a paridade desperdiçada não se acumula em todos os discos de dados.
O espaço desperdiçado resultante de um grande número de arquivos em um disco
de dados limita apenas a quantidade de dados nesse disco de dados,
não em outros.
.PP
Como uma aproximação, você pode assumir que metade do tamanho do bloco é
desperdiçada para cada arquivo. Por exemplo, com 100.000 arquivos e um
tamanho de bloco de 256 KiB, você desperdiçará 12,8 GB de paridade, o
que pode resultar em 12,8 GB a menos de espaço disponível no disco de dados.
.PP
Você pode verificar a quantidade de espaço desperdiçado em cada disco usando \`status\`.
Esta é a quantidade de espaço que você deve deixar livre nos discos
de dados ou usar para arquivos não incluídos no array.
Se este valor for negativo, significa que você está perto de encher
a paridade e representa o espaço que você ainda pode desperdiçar.
.PP
Para evitar esse problema, você pode usar uma partição maior para paridade.
Por exemplo, se a partição de paridade for 12,8 GB maior que os discos de dados,
você tem espaço extra suficiente para lidar com até 100.000
arquivos em cada disco de dados sem qualquer espaço desperdiçado.
.PP
Um truque para obter uma partição de paridade maior no Linux é formatá\-la
com o comando:
.PP
.RS 4
mkfs.ext4 \-m 0 \-T largefile4 DEVICE
.PD 0
.PD
.RE
.PP
Isso resulta em cerca de 1,5% de espaço extra, aproximadamente 60 GB para
um disco de 4 TB, o que permite cerca de 460.000 arquivos em cada disco
de dados sem qualquer espaço desperdiçado.
.SS hashsize SIZE_IN_BYTES
Define o tamanho do hash em bytes para os blocos salvos.
.PP
O \`hashsize\` padrão é 16 bytes (128 bits), o que deve funcionar
para a maioria dos casos.
.PP
ATENÇÃO! Esta opção é apenas para especialistas e é altamente
recomendado não alterar este valor. Para alterar este valor no
futuro, você precisará recriar toda a paridade!
.PP
Uma razão para usar um \`hashsize\` diferente é se o seu sistema tiver
memória limitada. Como regra geral, o SnapRAID tipicamente requer
1 GiB de RAM para cada 16 TB de dados no array.
.PP
Especificamente, para armazenar os hashes dos dados, o SnapRAID requer
aproximadamente TS*(1+HS)/BS bytes de RAM,
onde TS é o tamanho total em bytes do seu array de discos, BS é o
tamanho do bloco em bytes, e HS é o tamanho do hash em bytes.
.PP
Por exemplo, com 8 discos de 4 TB, um tamanho de bloco de 256 KiB
(1 KiB = 1024 bytes), e um tamanho de hash de 16, você obtém:
.PP
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB
.PD 0
.PD
.PP
Mudando para um tamanho de hash de 8, você obtém:
.PP
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB
.PD 0
.PD
.PP
Mudando para um tamanho de bloco de 512, você obtém:
.PP
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB
.PD 0
.PD
.PP
Mudando para um tamanho de hash de 8 e um tamanho de bloco de 512, você obtém:
.PP
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
.PD 0
.PD
.SS autosave SIZE_IN_GIGABYTES
Salva automaticamente o estado ao sincronizar ou examinar após a
quantidade especificada de GB processados.
Esta opção é útil para evitar reiniciar longos comandos \`sync\`
do zero se interrompidos por uma falha de máquina ou qualquer outro evento.
.SS temp_limit TEMPERATURE_CELSIUS
Define a temperatura máxima permitida do disco em Celsius. Quando especificado,
o SnapRAID verifica periodicamente a temperatura de todos os discos usando a
ferramenta smartctl. As temperaturas atuais dos discos são exibidas enquanto
o SnapRAID está operando. Se algum disco exceder este limite, todas as
operações param, e os discos são desligados (colocados em standby) pela
duração definida pela opção \`temp_sleep\`. Após o período de espera, as
operações são retomadas, potencialmente pausando novamente se o limite de
temperatura for atingido mais uma vez.
.PP
Durante a operação, o SnapRAID também analisa a curva de aquecimento de
cada disco e estima a temperatura estável de longo prazo que eles
devem atingir se a atividade continuar. A estimativa é realizada apenas
depois que a temperatura do disco aumentou quatro vezes, garantindo
que pontos de dados suficientes estejam disponíveis para estabelecer uma
tendência confiável.
Esta temperatura estável prevista é mostrada entre parênteses ao lado
do valor atual e ajuda a avaliar se o resfriamento do sistema é
adequado. Esta temperatura estimada é apenas para fins informativos
e não tem efeito no comportamento do SnapRAID. As ações do programa
são baseadas exclusivamente nas temperaturas reais medidas dos discos.
.PP
Para realizar esta análise, o SnapRAID precisa de uma referência para a
temperatura do sistema. Ele tenta primeiro lê\-la dos sensores de hardware
disponíveis. Se nenhum sensor do sistema puder ser acessado, ele usa
a temperatura mais baixa do disco medida no início da execução como
referência de fallback.
.PP
Normalmente, o SnapRAID mostra apenas a temperatura do disco mais quente.
Para exibir a temperatura de todos os discos, use a opção \-A ou \-\-stats.
.SS temp_sleep TIME_IN_MINUTES
Define o tempo de espera (standby time), em minutos, quando o limite de
temperatura é atingido. Durante este período, os discos permanecem
desligados. O padrão é 5 minutos.
.SS pool DIR
Define o diretório de pooling onde a visualização virtual do array
de discos é criada usando o comando \`pool\`.
.PP
O diretório já deve existir.
.SS share UNC_DIR
Define o caminho UNC do Windows necessário para acessar os discos remotamente.
.PP
Se esta opção for especificada, os links simbólicos criados no diretório
do pool usam este caminho UNC para acessar os discos.
Sem esta opção, os links simbólicos gerados usam apenas caminhos locais,
o que não permite compartilhar o diretório do pool pela rede.
.PP
Os links simbólicos são formados usando o caminho UNC especificado,
adicionando o nome do disco conforme especificado na opção \`data\`,
e finalmente adicionando o diretório e nome do arquivo.
.PP
Esta opção é necessária apenas para Windows.
.SS smartctl DISK/PARITY OPTIONS...
Define opções smartctl personalizadas para obter os atributos SMART para
cada disco. Isso pode ser necessário para controladores RAID e alguns
discos USB que não podem ser detectados automaticamente. O placeholder
%s é substituído pelo nome do dispositivo, mas é opcional para dispositivos
fixos como controladores RAID.
.PP
DISK é o mesmo nome de disco especificado na opção \`data\`.
PARITY é um dos nomes de paridade: \`parity\`, \`2\-parity\`, \`3\-parity\`,
\`4\-parity\`, \`5\-parity\`, \`6\-parity\` ou \`z\-parity\`.
.PP
Nas OPTIONS especificadas, a string \`%s\` é substituída pelo
nome do dispositivo. Para controladores RAID, o dispositivo é
provavelmente fixo, e você pode não precisar usar \`%s\`.
.PP
Consulte a documentação do smartmontools para possíveis opções:
.PP
.RS 4
https://www.smartmontools.org/wiki/Supported_RAID\-Controllers
.PD 0
.PP
.PD
https://www.smartmontools.org/wiki/Supported_USB\-Devices
.PD 0
.PD
.RE
.PP
Por exemplo:
.PP
.RS 4
smartctl parity \-d sat %s
.PD 0
.PD
.RE
.SS smartignore DISK/PARITY ATTR [ATTR...]
Ignora o atributo SMART especificado ao calcular a probabilidade
de falha do disco. Esta opção é útil se um disco relatar valores
incomuns ou enganosos para um atributo específico.
.PP
DISK é o mesmo nome de disco especificado na opção \`data\`.
PARITY é um dos nomes de paridade: \`parity\`, \`2\-parity\`, \`3\-parity\`,
\`4\-parity\`, \`5\-parity\`, \`6\-parity\` ou \`z\-parity\`.
O valor especial * pode ser usado para ignorar o atributo em todos os discos.
.PP
Por exemplo, para ignorar o atributo \`Current Pending Sector Count\` em
todos os discos:
.PP
.RS 4
smartignore * 197
.PD 0
.PD
.RE
.PP
Para ignorá\-lo apenas no primeiro disco de paridade:
.PP
.RS 4
smartignore parity 197
.PD 0
.PD
.RE
.SS Exemplos
Um exemplo de uma configuração típica para Unix é:
.PP
.RS 4
parity /mnt/diskp/snapraid.parity
.PD 0
.PP
.PD
content /mnt/diskp/snapraid.content
.PD 0
.PP
.PD
content /var/snapraid/snapraid.content
.PD 0
.PP
.PD
data d1 /mnt/disk1/
.PD 0
.PP
.PD
data d2 /mnt/disk2/
.PD 0
.PP
.PD
data d3 /mnt/disk3/
.PD 0
.PP
.PD
exclude /lost+found/
.PD 0
.PP
.PD
exclude /tmp/
.PD 0
.PP
.PD
smartctl d1 \-d sat %s
.PD 0
.PP
.PD
smartctl d2 \-d usbjmicron %s
.PD 0
.PP
.PD
smartctl parity \-d areca,1/1 /dev/sg0
.PD 0
.PP
.PD
smartctl 2\-parity \-d areca,2/1 /dev/sg0
.PD 0
.PD
.RE
.PP
Um exemplo de uma configuração típica para Windows é:
.PP
.RS 4
parity E:\\snapraid.parity
.PD 0
.PP
.PD
content E:\\snapraid.content
.PD 0
.PP
.PD
content C:\\snapraid\\snapraid.content
.PD 0
.PP
.PD
data d1 G:\\array\\
.PD 0
.PP
.PD
data d2 H:\\array\\
.PD 0
.PP
.PD
data d3 I:\\array\\
.PD 0
.PP
.PD
exclude Thumbs.db
.PD 0
.PP
.PD
exclude \\$RECYCLE.BIN
.PD 0
.PP
.PD
exclude \\System Volume Information
.PD 0
.PP
.PD
smartctl d1 \-d sat %s
.PD 0
.PP
.PD
smartctl d2 \-d usbjmicron %s
.PD 0
.PP
.PD
smartctl parity \-d areca,1/1 /dev/arcmsr0
.PD 0
.PP
.PD
smartctl 2\-parity \-d areca,2/1 /dev/arcmsr0
.PD 0
.PD
.RE
.SH PADRãO (PATTERN)
Padrões são usados para selecionar um subconjunto de arquivos a serem
excluídos ou incluídos no processo.
.PP
Existem quatro tipos diferentes de padrões:
.TP
.B FILE
Seleciona qualquer arquivo chamado FILE. Você pode usar quaisquer
caracteres globbing como * e ?, e classes de caracteres como [a\-z].
Este padrão se aplica apenas a arquivos, não a diretórios.
.TP
.B DIR/
Seleciona qualquer diretório chamado DIR e tudo dentro.
Você pode usar quaisquer caracteres globbing como * e ?.
Este padrão se aplica apenas a diretórios, não a arquivos.
.TP
.B /PATH/FILE
Seleciona o caminho exato do arquivo especificado. Você pode usar
quaisquer caracteres globbing como * e ?, mas eles nunca correspondem
a uma barra de diretório.
Este padrão se aplica apenas a arquivos, não a diretórios.
.TP
.B /PATH/DIR/
Seleciona o caminho exato do diretório especificado e tudo
dentro. Você pode usar quaisquer caracteres globbing como * e ?, mas
eles nunca correspondem a uma barra de diretório.
Este padrão se aplica apenas a diretórios, não a arquivos.
.PP
Quando você especifica um caminho absoluto começando com /, ele é aplicado
no diretório raiz do array, não no diretório raiz do sistema de arquivos local.
.PP
No Windows, você pode usar a barra invertida \\ em vez da barra.
Diretórios do sistema Windows, junctions, pontos de montagem e outros
diretórios especiais do Windows são tratados como arquivos, o que significa
que para excluí\-los, você deve usar uma regra de arquivo, não uma de diretório.
.PP
Se o nome do arquivo contiver um caractere \'*\', \'?\', \'[\',
ou \']\', você deve escapá\-lo para evitar que seja interpretado como um
caractere globbing. No Unix, o caractere de escape é \'\\\'; no Windows, é \'^\'.
Quando o padrão está na linha de comando, você deve duplicar o caractere
de escape para evitar que seja interpretado pelo shell de comando.
.PP
No arquivo de configuração, você pode usar diferentes estratégias para filtrar
os arquivos a serem processados.
A abordagem mais simples é usar apenas regras \`exclude\` para remover todos os
arquivos e diretórios que você não deseja processar. Por exemplo:
.PP
.RS 4
# Exclui qualquer arquivo chamado \`*.unrecoverable\`
.PD 0
.PP
.PD
exclude *.unrecoverable
.PD 0
.PP
.PD
# Exclui o diretório raiz \`/lost+found\`
.PD 0
.PP
.PD
exclude /lost+found/
.PD 0
.PP
.PD
# Exclui qualquer subdiretório chamado \`tmp\`
.PD 0
.PP
.PD
exclude tmp/
.PD 0
.PD
.RE
.PP
A abordagem oposta é definir apenas os arquivos que você deseja processar,
usando apenas regras \`include\`. Por exemplo:
.PP
.RS 4
# Inclui apenas alguns diretórios
.PD 0
.PP
.PD
include /movies/
.PD 0
.PP
.PD
include /musics/
.PD 0
.PP
.PD
include /pictures/
.PD 0
.PD
.RE
.PP
A abordagem final é misturar regras \`exclude\` e \`include\`. Neste caso,
a ordem das regras é importante. As regras anteriores têm
precedência sobre as posteriores.
Para simplificar, você pode listar todas as regras \`exclude\` primeiro e
depois todas as regras \`include\`. Por exemplo:
.PP
.RS 4
# Exclui qualquer arquivo chamado \`*.unrecoverable\`
.PD 0
.PP
.PD
exclude *.unrecoverable
.PD 0
.PP
.PD
# Exclui qualquer subdiretório chamado \`tmp\`
.PD 0
.PP
.PD
exclude tmp/
.PD 0
.PP
.PD
# Inclui apenas alguns diretórios
.PD 0
.PP
.PD
include /movies/
.PD 0
.PP
.PD
include /musics/
.PD 0
.PP
.PD
include /pictures/
.PD 0
.PD
.RE
.PP
Na linha de comando, usando a opção \-f, você pode usar apenas padrões \`include\`.
Por exemplo:
.PP
.RS 4
# Verifica apenas os arquivos .mp3.
.PD 0
.PP
.PD
# No Unix, use aspas para evitar a expansão globbing pelo shell.
.PD 0
.PP
.PD
snapraid \-f \[dq]*.mp3\[dq] check
.PD 0
.PD
.RE
.PP
No Unix, ao usar caracteres globbing na linha de comando, você deve
citá\-los para evitar que o shell os expanda.
.SH CONTEúDO (CONTENT)
SnapRAID armazena a lista e os checksums de seus arquivos no arquivo content.
.PP
É um arquivo binário que lista todos os arquivos presentes em seu array
de discos, juntamente com todos os checksums para verificar sua integridade.
.PP
Este arquivo é lido e escrito pelos comandos \`sync\` e \`scrub\` e
lido pelos comandos \`fix\`, \`check\` e \`status\`.
.SH PARIDADE (PARITY)
SnapRAID armazena as informações de paridade do seu array nos arquivos parity.
.PP
Estes são arquivos binários contendo a paridade calculada de todos os
blocos definidos no arquivo \`content\`.
.PP
Estes arquivos são lidos e escritos pelos comandos \`sync\` e \`fix\` e
apenas lidos pelos comandos \`scrub\` e \`check\`.
.SH CODIFICAçãO (ENCODING)
SnapRAID no Unix ignora qualquer codificação. Ele lê e armazena os
nomes de arquivo com a mesma codificação usada pelo sistema de arquivos.
.PP
No Windows, todos os nomes lidos do sistema de arquivos são convertidos
e processados no formato UTF\-8.
.PP
Para que os nomes de arquivo sejam impressos corretamente, você deve
definir o console do Windows para o modo UTF\-8 com o comando \`chcp 65001\`
e usar uma fonte TrueType como \`Lucida Console\` como fonte do console.
Isso afeta apenas os nomes de arquivo impressos; se você
redirecionar a saída do console para um arquivo, o arquivo resultante
estará sempre no formato UTF\-8.
.SH DIREITOS AUTORAIS (COPYRIGHT)
Este arquivo é Copyright (C) 2025 Andrea Mazzoleni
.SH VEJA TAMBéM (SEE ALSO)
snapraid_log(1), rsync(1)