mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
2539 lines
92 KiB
Groff
2539 lines
92 KiB
Groff
.TH "SnapRAID Backup para Arrays de Disco" 1
|
|
.SH NAME
|
|
snapraid \- SnapRAID Backup para Arrays de Disco
|
|
.SH SINOPSE (SYNOPSIS)
|
|
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
|
|
[\-t, \-\-tail]
|
|
.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] [\-W, \-\-force\-realloc\-tail]
|
|
.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|locate
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
snapraid [\-V, \-\-version] [\-H, \-\-help] [\-C, \-\-gen\-conf CONTENT]
|
|
.PD 0
|
|
.PD
|
|
.SH DESCRIçãO (DESCRIPTION)
|
|
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 (LIMITATIONS)
|
|
O SnapRAID é um híbrido entre um RAID e um programa de backup, com o objetivo de combinar
|
|
os melhores benefícios de ambos. No entanto, possui algumas limitações que deve
|
|
considerar antes de o utilizar.
|
|
.PP
|
|
A principal limitação é que, se um disco falhar, apenas poderá recuperar dados até ao
|
|
estado da última operação de sincronização (\`sync\`). Quaisquer dados adicionados ou modificações feitas
|
|
desde a última sincronização que estejam localizados no disco com falha serão perdidos.
|
|
.PP
|
|
Consequentemente, o SnapRAID é adequado principalmente para dados que raramente mudam.
|
|
.PP
|
|
Para dados que já existiam na última sincronização, a fiabilidade da recuperação depende
|
|
de a opção \`snapshot\` ser ou não utilizada:
|
|
.PD 0
|
|
.IP \(bu
|
|
Com suporte a instantâneos (disponível em Btrfs, ZFS, Bcachefs e NTFS),
|
|
o SnapRAID pode manter automaticamente uma referência congelada
|
|
independente de cada sistema de arquivos de dados suportado.
|
|
Isso garante que, mesmo que modifique ou exclua arquivos no seu sistema de arquivos ativo
|
|
durante ou após uma sincronização, o processo de recuperação permanece consistente e confiável.
|
|
.PD
|
|
.PD 0
|
|
.IP \(bu
|
|
Sem suporte a instantâneos, excluir ou alterar arquivos após um \`sync\`
|
|
pode impedir a recuperação total de outros discos com falha. Isso ocorre
|
|
porque a paridade já não corresponde aos arquivos modificados, mesmo que
|
|
esses arquivos não estejam no disco com falha. Por outro lado, arquivos adicionados recentemente
|
|
não impedem a recuperação de arquivos já existentes.
|
|
.PD
|
|
.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 (GETTING STARTED)
|
|
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 (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 (Pooling)
|
|
Nota: O recurso de pooling descrito abaixo foi substituído pela ferramenta
|
|
mergerfs, que agora é a opção recomendada para usuários Linux na comunidade
|
|
SnapRAID. Mergerfs 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 Recuperação (Recovering)
|
|
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 o último
|
|
\`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 (COMMANDS)
|
|
O SnapRAID fornece alguns comandos simples que lhe permitem:
|
|
.PD 0
|
|
.IP \(bu
|
|
Imprimir o estado do array \-> \`status\`
|
|
.IP \(bu
|
|
Controlar os discos \-> \`smart\`, \`probe\`, \`up\`, \`down\`
|
|
.IP \(bu
|
|
Criar um ponto de backup/recuperação \-> \`sync\`
|
|
.IP \(bu
|
|
Verificar periodicamente os dados \-> \`scrub\`
|
|
.IP \(bu
|
|
Restaurar o último ponto de backup/recuperação \-> \`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 ou renomeados no mesmo disco, mantendo
|
|
o mesmo inode. Eles são identificados por terem o mesmo inode,
|
|
tamanho e carimbo de data/hora, mas um caminho diferente. O nome
|
|
do arquivo também pode ser diferente.
|
|
.HP 4
|
|
.I copied
|
|
Arquivos copiados no mesmo disco ou em um disco
|
|
diferente onde o arquivo original ainda existe.
|
|
Eles são identificados por terem o mesmo nome, tamanho e
|
|
carimbo de data/hora.
|
|
Se o carimbo de data/hora de subsegundos for zero, o caminho
|
|
completo deve corresponder para ser identificado, não apenas
|
|
o nome.
|
|
.HP 4
|
|
.I relocated
|
|
Arquivos movidos para um diretório ou disco diferente onde
|
|
o arquivo original desapareceu e o inode não é mantido.
|
|
Eles são identificados por terem o mesmo nome, tamanho e carimbo
|
|
de data/hora. Se o carimbo de data/hora de subsegundos for zero, o
|
|
caminho completo deve corresponder para ser identificado. Ao
|
|
contrário dos arquivos \'moved\', os arquivos relocados exigem que
|
|
o nome do arquivo permaneça o mesmo.
|
|
.HP 4
|
|
.I restored
|
|
Arquivos com um inode diferente, mas com diretório,
|
|
nome, tamanho e carimbo de data/hora correspondentes.
|
|
Geralmente são arquivos restaurados após serem excluídos.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Se um \`sync\` for necessário, 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 salvo no
|
|
último \`sync\`. Se for encontrada uma diferença, esta é revertida para o estado armazenado.
|
|
.PP
|
|
AVISO!
|
|
O comando \`fix\` não diferencia erros de modificações intencionais.
|
|
Reverte incondicionalmente o estado do arquivo para o do último \`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 o último \`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 de \`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.
|
|
.SS locate
|
|
Localiza arquivos armazenados nos discos de paridade. Para cada arquivo
|
|
correspondente, imprime sua localização dentro do arquivo de paridade e o
|
|
número de fragmentos que ocupa.
|
|
.PP
|
|
Você pode usar a opção \-t, \-\-tail para restringir a operação aos arquivos
|
|
que ocupam a parte final especificada da paridade.
|
|
.PP
|
|
Se desejar realocar esses arquivos, você poderá usar a opção
|
|
\-W, \-\-force\-realloc\-tail.
|
|
Esteja ciente de que tais arquivos não estarão protegidos pela paridade durante
|
|
o processo de realocação.
|
|
.SH OPçõES (OPTIONS)
|
|
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 prexcluir de todos os novos dados
|
|
para verificação adicional antes do cálculo da paridade.
|
|
Normalmente, em \`sync\`, nenhum hash prexcluir é 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 \-t, \-\-tail SIZE
|
|
Limita a listagem de arquivos àqueles que não usam mais do que o
|
|
tamanho final especificado dos discos de paridade.
|
|
Você pode usar multiplicadores como K, M, G ou T (ex: \-\-tail 1G).
|
|
Esta opção só é válida quando usada em conjunto com o comando
|
|
\`locate\`.
|
|
.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 \-W, \-\-force\-realloc\-tail SIZE
|
|
Funciona como \-R, \-\-force\-realloc, mas limitado à parte final
|
|
especificada (últimos SIZE bytes) de cada arquivo de paridade.
|
|
Força a realocação (movimentação) de quaisquer fragmentos/blocos de arquivos
|
|
atualmente armazenados nessa seção final, permitindo que sejam colocados
|
|
em qualquer lugar no(s) arquivo(s) de paridade onde houver espaço livre
|
|
disponível (incluindo espaços vazios existentes).
|
|
O objetivo principal desta opção é diminuir o tamanho em disco
|
|
do arquivo de paridade.
|
|
Se a realocação limpar com sucesso toda a seção final (nenhum bloco
|
|
permanecer usando\-a), o arquivo de paridade será truncado,
|
|
recuperando o espaço final não utilizado.
|
|
Você pode usar multiplicadores como K, M, G ou T (ex:
|
|
\-\-force\-realloc\-tail 1G).
|
|
Você pode usar locate \-t, \-\-tail para saber antecipadamente os
|
|
arquivos afetados.
|
|
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\` para os
|
|
arquivos afetados.
|
|
.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
|
|
e é suportada apenas por \`check\` e \`fix\`.
|
|
.TP
|
|
.B \-B, \-\-count BLKCOUNT
|
|
Processa apenas o número especificado de blocos.
|
|
Esta opção é principalmente para recuperação manual avançada
|
|
e é suportada apenas por \`check\` e \`fix\`.
|
|
.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 (CONFIGURATION)
|
|
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
|
|
No entanto, o caminho configurado deve apontar consistentemente para os
|
|
mesmos dados subjacentes. Se o caminho contiver links simbólicos,
|
|
seus destinos devem permanecer estáveis. A alteração desses links simbólicos
|
|
para alternar o diretório de dados em tempo real não é suportada.
|
|
.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 extra NAME DIR
|
|
Define o nome e o ponto de montagem de discos adicionais para
|
|
monitorar com os comandos \`smart\` e \`probe\`.
|
|
.PP
|
|
Isso é útil para monitorar discos que não fazem parte do array,
|
|
mas que são necessários para o funcionamento do sistema, como o
|
|
disco de inicialização.
|
|
.PP
|
|
Observe que tais discos não são afetados pelos comandos \`up\` e \`down\`
|
|
porque se espera que estejam sempre girando.
|
|
.SS snapshot
|
|
Ativa o uso de instantâneos (snapshots) do sistema de arquivos para os comandos \`sync\`, \`scrub\`,
|
|
\`check\` e \`fix\`.
|
|
.PP
|
|
Quando ativado, o SnapRAID cria um instantâneo de somente leitura de cada
|
|
sistema de arquivos de dados suportado no início de um \'sync\'. Isso fornece uma visão
|
|
estável de cada sistema de arquivos, evitando que modificações posteriores alterem os
|
|
dados utilizados para o cálculo da paridade.
|
|
.PP
|
|
Isso melhora significativamente a recuperação: se um arquivo for excluído do sistema de arquivos ativo,
|
|
ele permanece preservado no instantâneo. Isso evita que a paridade fique \[dq]corrompida\[dq]
|
|
para esse bloco, garantindo que ainda pode recuperar os dados com sucesso
|
|
se outro disco falhar.
|
|
.PP
|
|
Esta opção aplica\-se exclusivamente a discos de dados formatados com os sistemas de
|
|
arquivos Btrfs, Bcachefs ou ZFS em Linux e NTFS em Windows.
|
|
Discos de paridade, ou discos de dados que utilizem outros sistemas de arquivos, usarão sempre
|
|
a versão ativa do sistema de arquivos.
|
|
.PP
|
|
A criação e exclusão de instantâneos requerem privilégios administrativos.
|
|
Garanta que o SnapRAID é executado com as permissões necessárias (ex: sudo) quando
|
|
esta opção estiver ativada.
|
|
.PP
|
|
Consulte a seção SNAPSHOTS para uma explicação detalhada do ciclo de vida
|
|
dos instantâneos.
|
|
.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
|
|
Observe que a filtragem ocorre hierarquicamente durante o percurso
|
|
dos diretórios. Se um diretório corresponder a uma regra \`exclude\`,
|
|
todo o diretório será ignorado (podado) e nenhuma regra \`include\` para
|
|
arquivos ou subdiretórios dentro dele será avaliada.
|
|
.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 tiver subido 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
|
|
Você também pode especificar uma string personalizada de opções de informação
|
|
usando a tag \`[info: ...]\` para substituir a opção padrão \`\-a\`.
|
|
.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 d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
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
|
|
Múltiplos atributos podem ser especificados separados por espaços.
|
|
Cada atributo pode ser especificado como um número de 1 a 255, ou como um
|
|
nome insensível a maiúsculas/minúsculas (por exemplo, \`Current_Pending_Sector\`).
|
|
.PP
|
|
Por exemplo, para ignorar os atributos \`Current Pending Sector Count\` e
|
|
\`Reallocated Sectors Count\` em todos os discos pelo seu número ou nome:
|
|
.PP
|
|
.RS 4
|
|
smartignore * 197 5
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartignore * Current_Pending_Sector Reallocated_Sector_Ct
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Para ignorá\-los apenas no primeiro disco de paridade:
|
|
.PP
|
|
.RS 4
|
|
smartignore parity 197 5
|
|
.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 [info: \-H \-i \-c \-A] \-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 [info: \-H \-i \-c \-A] \-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 INSTANTâNEOS (SNAPSHOTS)
|
|
Se a opção de instantâneo estiver ativada na configuração, o SnapRAID
|
|
utiliza instantâneos do sistema de arquivos para manter estáveis os dados lidos
|
|
durante uma operação, mesmo quando arquivos nos sistemas de arquivos ativos
|
|
são posteriormente modificados ou excluídos.
|
|
.PP
|
|
A gestão de instantâneos é completamente automática e transparente.
|
|
Pode continuar a utilizar o SnapRAID exatamente como antes, com a
|
|
proteção adicional fornecida por instantâneos geridos inteiramente em
|
|
segundo plano.
|
|
.PP
|
|
Isso proporciona dois benefícios principais:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I Consistência
|
|
Arquivos modificados no sistema de arquivos ativo durante um sync ou scrub de
|
|
longa duração não causarão divergências de paridade ou operações abortadas,
|
|
porque cada sistema de arquivos com instantâneo permanece inalterado durante
|
|
toda a operação.
|
|
.HP 4
|
|
.I Recuperação
|
|
Se um arquivo for atualizado ou excluído do sistema de arquivos ativo,
|
|
ele permanece preservado no instantâneo. Se ocorrer uma falha de disco
|
|
antes de o próximo sync ser executado, o SnapRAID utiliza os dados preservados
|
|
no instantâneo para reconstruir o disco com falha.
|
|
.PD
|
|
.PP
|
|
.RS 4
|
|
.PD 0
|
|
Em caso de falha de um disco durante um processo de sync ativo,
|
|
o SnapRAID também é capaz de ler automaticamente tanto do instantâneo
|
|
da computação de paridade anterior quanto da atual.
|
|
Isso maximiza a probabilidade de uma recuperação completa ao
|
|
fornecer acesso aos blocos de dados exatos necessários para resolver
|
|
as equações de paridade, mesmo que esses blocos tenham sido modificados
|
|
ou excluídos entre os syncs.
|
|
.PD
|
|
.PP
|
|
.PD 0
|
|
Sem instantâneos, um arquivo atualizado ou excluído num disco saudável
|
|
resulta na falta de blocos de dados que podem ser necessários para
|
|
reparar outros discos com falha.
|
|
.PD
|
|
.RE
|
|
.RE
|
|
.PP
|
|
Os instantâneos são criados apenas para discos de dados e apenas se o sistema de arquivos
|
|
subjacente suportar esta funcionalidade. Os discos de paridade usam sempre
|
|
o sistema de arquivos ativo.
|
|
.PP
|
|
Atualmente, isso é suportado em Btrfs, Bcachefs e ZFS em Linux
|
|
e em NTFS em Windows.
|
|
.PP
|
|
Pode misturar discos de dados com sistemas de arquivos diferentes. Apenas aqueles que
|
|
suportam instantâneos os utilizarão, enquanto os outros discos continuarão
|
|
a operar diretamente no sistema de arquivos ativo.
|
|
.PP
|
|
A criação e exclusão de instantâneos requerem privilégios administrativos.
|
|
Garanta que o SnapRAID é executado com as permissões necessárias (ex: sudo)
|
|
quando os instantâneos estão ativados.
|
|
.SS Comportamento dos Comandos com Instantâneos
|
|
Os comandos \`sync\` e \`scrub\` utilizam instantâneos para discos de dados cujos
|
|
sistemas de arquivos os suportam. Num disco com instantâneo, o comando vê
|
|
uma imagem estável do sistema de arquivos não afetada por alterações simultâneas no
|
|
sistema de arquivos ativo.
|
|
Durante um \`sync\`, um novo instantâneo é criado independentemente para cada
|
|
sistema de arquivos de dados suportado. Esses instantâneos fornecem coletivamente os
|
|
dados utilizados para o cálculo da paridade.
|
|
Em contraste, o comando \`scrub\` utiliza o último instantâneo, aquele
|
|
criado durante o sync mais recente, para manter um ponto de referência confiável
|
|
que corresponda à paridade existente.
|
|
.PP
|
|
Para os comandos \`check\` e \`fix\`, o uso do último instantâneo
|
|
depende de discos específicos serem ou não alvo da operação utilizando a opção
|
|
\-d, \-\-filter\-disk.
|
|
.PP
|
|
Um disco explicitamente selecionado via \-d (o \[dq]alvo\[dq] da operação)
|
|
usa sempre o sistema de arquivos ativo. Para \`fix\`, isso permite restaurar
|
|
dados para a substituição do disco ativo. Para \`check\`, permite simular
|
|
a operação \`fix\` sob as mesmas condições.
|
|
.PP
|
|
Todos os outros discos de dados (os discos de \[dq]referência\[dq]) serão acessados através dos
|
|
seus instantâneos. Isso garante que, mesmo que esteja modificando arquivos
|
|
nos seus discos saudáveis enquanto uma recuperação está em curso, o SnapRAID
|
|
tem uma referência estável e congelada para resolver as equações de paridade.
|
|
.PP
|
|
Se nenhuma opção \-d for fornecida, o SnapRAID assume que a operação se aplica
|
|
a todo o array, neste caso, \`check\` e \`fix\` usarão os sistemas
|
|
de arquivos ativos exclusivamente.
|
|
.PP
|
|
Todos os outros comandos operam exclusivamente no sistema de arquivos ativo.
|
|
.SH CICLO DE VIDA DOS INSTANTâNEOS (SNAPSHOTS LIFECYCLE)
|
|
O SnapRAID gerencia três instantâneos específicos, \`stable\` (estável), \`pending\` (pendente) e \`scan\` (verificação),
|
|
dentro de um diretório oculto na raiz de cada subvolume de dados.
|
|
Em Btrfs, Bcachefs e NTFS é utilizado o diretório \`.snapraid/\`,
|
|
em ZFS o padrão \`.zfs/snapshot/\`.
|
|
.PP
|
|
O instantâneo \`stable\` representa o estado do último
|
|
\`sync\` concluído com sucesso, contendo os dados exatos utilizados para
|
|
computar a paridade atual. Serve como a principal fonte de dados
|
|
para os comandos \`scrub\`, \`check\` e \`fix\`.
|
|
.PP
|
|
O instantâneo \`scan\` é uma imagem temporária criada ao início
|
|
de um \`sync\` para fornecer um estado congelado para a verificação e a computação da paridade.
|
|
Após a verificação e salvamento do novo estado de conteúdo, ele substitui o instantâneo
|
|
\`pending\` anterior.
|
|
.PP
|
|
O instantâneo \`pending\` é a imagem usada por um \`sync\` interrompido.
|
|
Após a conclusão bem\-sucedida da operação, o instantâneo \`stable\` anterior
|
|
é excluído, e o instantâneo \`pending\` é promovido para
|
|
tomar o seu lugar como a nova referência estável.
|
|
.PP
|
|
Se um \`sync\` for interrompido, o instantâneo \`pending\` é preservado.
|
|
Os comandos subsequentes \`scrub\`, \`check\` e \`fix\` utilizarão este
|
|
instantâneo pendente, pois ele corresponde ao estado do sistema de arquivos registrado no
|
|
arquivo .content, mesmo que a paridade esteja apenas parcialmente sincronizada.
|
|
.PP
|
|
No caso de uma interrupção do \`sync\`, os comandos \`check\` e \`fix\`
|
|
também leem do instantâneo \`stable\` para recuperar blocos de dados
|
|
de arquivos que foram atualizados ou excluídos durante o sync.
|
|
Isso é possível porque o arquivo .content retém metadados para
|
|
todos os arquivos modificados ou excluídos ao longo do processo de sync.
|
|
Esta informação histórica só é limpa quando um sync termina
|
|
com sucesso e a versão final do arquivo .content é salva.
|
|
.PP
|
|
Se um \`sync\` for reiniciado após uma interrupção, o instantâneo pending existente
|
|
é excluído e um novo é criado para
|
|
capturar o estado atual do sistema de arquivos ativo.
|
|
No entanto, se um \`sync\` for interrompido, evite modificar, excluir,
|
|
substituir ou mover arquivos até que um \`sync\` subsequente seja concluído
|
|
com sucesso. A paridade ainda pode conter blocos calculados a partir do
|
|
instantâneo usado pelo sync interrompido. Um sync posterior pode substituir
|
|
esse instantâneo, tornando as versões intermediárias dos arquivos indisponíveis
|
|
para recuperação.
|
|
.SS Cópias de segurança externas com instantâneos do sistema de ficheiros (External backups with filesystem snapshots)
|
|
Quando os instantâneos do sistema de ficheiros estão ativados, o SnapRAID
|
|
acede ou cria instantâneos na raiz de cada subvolume, volume ou conjunto
|
|
de dados (dataset).
|
|
.PP
|
|
Uma forma simples de evitar qualquer interferência com ferramentas externas
|
|
é apontar a configuração \`data\` para um subdiretório normal dentro do
|
|
subvolume ou volume (por exemplo, \`/mnt/subvol/data\` em vez de \`/mnt/subvol\`).
|
|
O SnapRAID cria sempre o diretório de instantâneos na raiz do subvolume
|
|
(por exemplo, \`/mnt/subvol/.snapraid/\`), deixando o subdiretório de dados
|
|
limpo, de modo que os instantâneos permaneçam fora e invisíveis para as
|
|
ferramentas de cópia de segurança que operam dentro dele.
|
|
.PP
|
|
Caso contrário, se o diretório \`data\` configurado for ele próprio a raiz
|
|
do subvolume ou do volume, o SnapRAID cria um diretório \`.snapraid/\`
|
|
diretamente dentro dele (em Btrfs, Bcachefs e NTFS). Embora o SnapRAID
|
|
exclua automaticamente esse diretório das suas próprias verificações,
|
|
ferramentas externas de cópia de segurança ou de sincronização irão
|
|
encontrá\-lo. Se não for excluído, podem atravessar os instantâneos ou
|
|
ligações de diretório e copiar toda a árvore de dados congelada, duplicando
|
|
dados e esgotando o armazenamento de backup. Configure sempre as
|
|
ferramentas de cópia de segurança externas para excluir o diretório
|
|
\`.snapraid/\`.
|
|
.PP
|
|
No ZFS, os instantâneos são expostos através do diretório virtual padrão
|
|
\`.zfs/snapshot/\` em vez de \`.snapraid/\`. Por predefinição (\`snapdir=hidden\`),
|
|
o ZFS oculta esse diretório das listagens, de modo que ferramentas externas
|
|
de cópia de segurança não o percorrem. Se tiver ativado \`snapdir=visible\`,
|
|
certifique\-se de que as suas ferramentas de cópia de segurança excluem o
|
|
diretório \`.zfs/\`.
|
|
.SH PADRãO (PATTERN)
|
|
Os padrões fornecem uma maneira flexível de filtrar arquivos para inclusão ou
|
|
exclusão. Ao usar caracteres de globbing, você pode definir regras que
|
|
correspondam a nomes de arquivos específicos ou estruturas de diretórios inteiras sem
|
|
listar cada caminho manualmente.
|
|
.PP
|
|
O ponto de interrogação \`?\` corresponde a qualquer caractere único, exceto o
|
|
separador de diretórios. Isso o torna útil para corresponder nomes de arquivos com
|
|
caracteres variáveis, mantendo o padrão confinado a um único nível de diretório.
|
|
.PP
|
|
O asterisco simples \`*\` corresponde a qualquer sequência de caracteres, mas, como o
|
|
ponto de interrogação, nunca cruza as fronteiras do diretório. Ele para na
|
|
barra invertida, tornando\-o adequado para correspondência dentro de um único
|
|
componente de caminho. Este é o comportamento padrão de curinga familiar do
|
|
globbing de shell.
|
|
.PP
|
|
O curinga de asterisco duplo \`**\` corresponde através de separadores de
|
|
diretório apenas quando for adjacente a um separador de diretório (precedido
|
|
ou seguido por uma barra). Nessa forma, ele corresponde a zero ou mais
|
|
caracteres através de níveis de diretório. Por exemplo, \`foo/**/bar\`
|
|
corresponde a \`foo/bar\`, \`foo/a/bar\` e \`foo/a/b/bar\`; \`**/build\` corresponde a
|
|
\`build\` e \`foo/bar/build\`; e \`src/**.js\` corresponde a \`src/main.js\` e
|
|
\`src/ui/components/main.js\`.
|
|
A forma avulsa \`/**/\` não é aceita como um padrão completo.
|
|
.PP
|
|
Quando \`**\` não for adjacente a uma barra, ele se comporta como \`*\` e não
|
|
corresponde a separadores de diretório. Por exemplo, \`**.jpg\` corresponde a
|
|
\`photo.jpg\` no diretório atual, mas não corresponde a \`dir/photo.jpg\`. Use
|
|
\`**/*.jpg\` para essa finalidade.
|
|
.PP
|
|
Classes de caracteres usando colchetes \`[]\` correspondem a um único caractere de um
|
|
conjunto ou intervalo especificado. Como os outros padrões de caractere único, elas
|
|
não correspondem a separadores de diretório. As classes suportam intervalos e negação usando
|
|
um ponto de exclamação.
|
|
.PP
|
|
A distinção fundamental a ser lembrada é que \`*\`, \`?\` e classes de caracteres
|
|
respeitam os limites do diretório e correspondem apenas dentro de um único
|
|
componente de caminho, enquanto \`**\` só pode corresponder através de separadores
|
|
de diretório quando for adjacente a uma barra.
|
|
.PP
|
|
Existem quatro tipos diferentes de padrões:
|
|
.TP
|
|
.B FILE
|
|
Seleciona qualquer arquivo chamado FILE.
|
|
Este padrão se aplica apenas a arquivos, não a diretórios.
|
|
.TP
|
|
.B DIR/
|
|
Seleciona qualquer diretório chamado DIR e tudo o que estiver dentro dele.
|
|
Este padrão se aplica apenas a diretórios, não a arquivos.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Seleciona o caminho exato do arquivo especificado. 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 o que estiver
|
|
dentro dele. 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
|
|
Observe que a exclusão de um diretório (usando DIR/ ou /CAMINHO/DIR/)
|
|
impede que o SnapRAID entre e examine esse diretório. Consequentemente,
|
|
não é possível reincluir um arquivo ou subdiretório localizado dentro
|
|
de um diretório pai excluído, porque o verificador nunca entra nele.
|
|
.PP
|
|
Por exemplo, a seguinte configuração NÃO incluirá \`file.dat\` porque
|
|
\`/keep/\` é podado antes que \`file.dat\` possa ser examinado:
|
|
.PP
|
|
.RS 4
|
|
# NÃO funciona: /keep/ é ignorado completamente
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /keep/file.dat
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /keep/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Para excluir arquivos dentro de um diretório mantendo arquivos específicos,
|
|
aplique o padrão aos arquivos dentro do diretório em vez de excluir o
|
|
próprio diretório:
|
|
.PP
|
|
.RS 4
|
|
# Funciona: /keep/ é percorrido, mas os outros arquivos nele são excluídos
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /keep/file.dat
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /keep/*
|
|
.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
|
|
colocá\-los entre aspas para evitar que o shell os expanda.
|
|
.SH IGNORAR ARQUIVOS (IGNORE FILE)
|
|
Além das regras globais no arquivo de configuração, você pode colocar
|
|
arquivos \`.snapraidignore\` em qualquer diretório dentro do array para definir
|
|
regras de exclusão descentralizadas.
|
|
.PP
|
|
As regras definidas em \`.snapraidignore\` são aplicadas após as regras no
|
|
arquivo de configuração. Isso significa que elas têm uma prioridade maior e
|
|
podem ser usadas para excluir arquivos que foram anteriormente incluídos pela
|
|
configuração global. Efetivamente, se uma regra local corresponder, o arquivo
|
|
é excluído independentemente das configurações globais de inclusão.
|
|
.PP
|
|
A lógica de padrões no \`.snapraidignore\` espelha a configuração global, mas
|
|
ancora os padrões ao diretório onde o arquivo está localizado:
|
|
.TP
|
|
.B FILE
|
|
Seleciona qualquer arquivo chamado FILE neste diretório ou abaixo.
|
|
Isso segue as mesmas regras de globbing do padrão global.
|
|
.TP
|
|
.B DIR/
|
|
Seleciona qualquer diretório chamado DIR e tudo dentro dele,
|
|
residente neste diretório ou abaixo.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Seleciona o arquivo exato especificado relativo à localização
|
|
do arquivo \`.snapraidignore\`.
|
|
.TP
|
|
.B /PATH/DIR/
|
|
Seleciona o diretório exato especificado e tudo dentro dele,
|
|
relativo à localização do arquivo \`.snapraidignore\`.
|
|
.PP
|
|
Ao contrário da configuração global, os arquivos \`.snapraidignore\` suportam
|
|
apenas regras de exclusão; você não pode usar padrões \`include\` ou negação (!).
|
|
.PP
|
|
Por exemplo, se você tiver um \`.snapraidignore\` em \`/mnt/disk1/projects/\`:
|
|
.PP
|
|
.RS 4
|
|
# Exclui APENAS /mnt/disk1/projects/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Exclui qualquer diretório chamado \`build\` dentro de projects/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
build/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Exclui qualquer arquivo .tmp dentro de projects/ ou suas subpastas
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
*.tmp
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.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
|
|
O arquivo content é lido e escrito pelos comandos \`sync\`, \`scrub\`,
|
|
\`touch\` e \`rehash\`. É lido pelos comandos \`status\`, \`diff\`, \`check\`,
|
|
\`fix\`, \`list\`, \`dup\`, \`locate\` e \`pool\`, e é completamente ignorado
|
|
pelos comandos \`smart\`, \`probe\`, \`up\`, \`down\` e \`devices\`.
|
|
.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 CóDIGO DE SAíDA (EXIT CODE)
|
|
O SnapRAID termina com os seguintes códigos de erro:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I 0
|
|
Tudo OK.
|
|
.HP 4
|
|
.I 1
|
|
O comando encontrou alguns erros.
|
|
.HP 4
|
|
.I 2
|
|
O comando \`diff\` determinou que tudo está OK, mas é necessário um \`sync\`.
|
|
.HP 4
|
|
.I 3
|
|
Um comando de dispositivo de disco (\`probe\`, \`smart\`, \`devices\`, \`up\`,
|
|
\`down\`) foi concluído, mas pelo menos um sistema de arquivos está operando
|
|
em modo degradado com dispositivo(s) ausente(s).
|
|
.PD
|
|
.RE
|
|
.SH PROBLEMAS CONHECIDOS (KNOWN ISSUES)
|
|
.SS Limites do sistema de arquivos
|
|
O SnapRAID não cruza limites de sistema de arquivos, pontos de montagem ou
|
|
subvolumes ao verificar um disco de dados. Quando tal limite é detectado,
|
|
o SnapRAID relata um AVISO e não verifica além dele.
|
|
.PP
|
|
Arquivos localizados além desses limites não são incluídos no disco de
|
|
dados e devem ser configurados separadamente se precisarem ser protegidos.
|
|
.SS Pontos de montagem com instantâneos do sistema de arquivos
|
|
Quando os instantâneos do sistema de arquivos estão ativados, pontos de
|
|
montagem aninhados e montagens bind dentro de um disco de dados não são
|
|
suportados.
|
|
.PP
|
|
Os pontos de montagem fazem parte do namespace de montagem do sistema ativo
|
|
e não são preservados em instantâneos do sistema de arquivos. Consequentemente,
|
|
ao verificar um instantâneo, um diretório oculto por um ponto de montagem no
|
|
sistema de arquivos ativo pode se tornar visível.
|
|
.PP
|
|
Não coloque pontos de montagem aninhados ou montagens bind dentro de discos
|
|
de dados quando os instantâneos do sistema de arquivos estiverem ativados.
|
|
.SS Múltiplas configurações com instantâneos do sistema de arquivos
|
|
O suporte a instantâneos não pode ser compartilhado com segurança por
|
|
múltiplas configurações independentes do SnapRAID que usem o mesmo
|
|
namespace de instantâneos do sistema de arquivos.
|
|
.PP
|
|
No Btrfs e Bcachefs, apenas uma configuração do SnapRAID com suporte a
|
|
instantâneos ativado pode usar diretórios de dados dentro do mesmo
|
|
subvolume. No ZFS, a mesma restrição se aplica a um dataset, e no NTFS
|
|
a um volume.
|
|
.PP
|
|
Múltiplas configurações que compartilham o mesmo namespace de instantâneos
|
|
usam os mesmos instantâneos \`stable\`, \`pending\` e \`scan\`. A execução de uma
|
|
configuração pode, portanto, substituir ou excluir instantâneos de
|
|
recuperação necessários para outra.
|
|
.SS Modificações de arquivo no local sem alteração de data/hora
|
|
O SnapRAID detecta modificações em arquivos comparando tamanhos de arquivo e
|
|
carimbos de data/hora de modificação (mtime).
|
|
.PP
|
|
Se um aplicativo modificar um arquivo no local sem alterar seu tamanho nem
|
|
atualizar seu carimbo de data/hora de modificação, o \[dq]diff\[dq] e o \[dq]sync\[dq] não
|
|
detectarão que o arquivo foi alterado e sua paridade não será atualizada.
|
|
.PP
|
|
Para garantir que o SnapRAID reconheça essas alterações, atualize o carimbo
|
|
de data/hora de modificação do arquivo (por exemplo, com o utilitário \[dq]touch\[dq]).
|
|
Caso contrário, a diferença só será detectada como uma incompatibilidade de
|
|
hash durante um \[dq]scrub\[dq] ou \[dq]check\[dq] subsequente.
|
|
.SS Correspondência de maiúsculas/minúsculas não\-ASCII no Windows
|
|
O SnapRAID utiliza codificação UTF\-8 padrão e previsível em todas as plataformas,
|
|
limitando a correspondência insensível a maiúsculas e minúsculas a caracteres
|
|
ASCII.
|
|
.PP
|
|
Os sistemas de arquivos do Windows sofrem com o design legado de forçar a
|
|
insensibilidade a maiúsculas e minúsculas em nomes de arquivo Unicode por meio
|
|
de tabelas de conversão arbitrárias e dependentes do sistema. Consequentemente,
|
|
o Windows oculta a realidade do sistema de arquivos ao tratar sequências de bytes
|
|
Unicode completamente diferentes como se fossem o mesmo arquivo.
|
|
.PP
|
|
Por exemplo, \`À.txt\` e \`à.txt\` são nomes Unicode distintos, mas o Windows os
|
|
trata ilogicamente como idênticos, enquanto o SnapRAID preserva sua verdadeira
|
|
distinção.
|
|
.PP
|
|
Essa limitação é causada pelo tratamento inconsistente de nomes de arquivo
|
|
Unicode pelo Windows e por sua insistência no uso de aliases sem diferenciação de
|
|
maiúsculas/minúsculas. Para evitar discrepâncias decorrentes da conversão do
|
|
Windows, sempre especifique a combinação exata de maiúsculas e minúsculas para
|
|
caracteres não\-ASCII em caminhos de configuração e filtros.
|
|
.SS Recuperação com fix parcial
|
|
Quando o \`fix\` é restrito usando \`\-S, \-\-start\` ou \`\-B, \-\-count\`,
|
|
o SnapRAID opera apenas nos blocos selecionados e não realiza a
|
|
finalização em nível de arquivo nem a quarentena.
|
|
.PP
|
|
Se a recuperação produzir dados de melhor esforço (best\-effort) que não
|
|
possam ser comprovados como representativos do conteúdo atual, esses
|
|
blocos ainda poderão ser gravados com o nome de arquivo normal. A incerteza
|
|
associada a esses blocos recuperados não persiste após o término do comando.
|
|
.PP
|
|
Como consequência, um \`fix\` posterior tratará esses blocos legíveis como
|
|
dados de arquivo válidos e não tentará recuperá\-los novamente. Isso pode
|
|
fazer com que uma recuperação posterior relate sucesso, deixando dados
|
|
incompletos ou obsoletos no arquivo.
|
|
.PP
|
|
As opções \`\-S\` e \`\-B\` destinam\-se apenas à recuperação manual avançada,
|
|
normalmente após a falha de um \`fix\` normal. Se um \`fix\` parcial relatar
|
|
dados irrecuperáveis, remova ou renomeie os arquivos afetados antes de tentar
|
|
outra recuperação, ou verifique manualmente seu conteúdo.
|
|
.SS Links físicos no NTFS e caminhos excluídos
|
|
No NTFS, as entradas de diretório armazenam em cache o tamanho do arquivo
|
|
e os registros de data/hora de forma independente para cada link físico.
|
|
Quando um arquivo é modificado por meio de um link, as entradas de diretório
|
|
de outros links que apontam para o mesmo arquivo podem reter metadados
|
|
obsoletos até que sejam acessadas.
|
|
.PP
|
|
O SnapRAID detecta e normaliza automaticamente essa condição sempre que
|
|
pelo menos dois links físicos para o mesmo arquivo são encontrados durante
|
|
uma verificação. No entanto, se apenas um link físico for verificado
|
|
enquanto os outros forem excluídos por filtros ou residirem fora do caminho
|
|
do disco de dados, o SnapRAID não conseguirá detectar a colisão de inodes e
|
|
dependerá dos metadados em cache do único link visível.
|
|
.PP
|
|
Consequentemente, modificações feitas por meio de um link físico excluído
|
|
ou externo podem passar despercebidas pelo SnapRAID até que os metadados do
|
|
link incluído sejam atualizados pelo sistema operacional (como quando o
|
|
arquivo é acessado ou aberto por meio desse caminho).
|
|
.PP
|
|
Para evitar essa limitação, evite modificar arquivos protegidos por meio
|
|
de links físicos excluídos do SnapRAID, ou certifique\-se de que todos os
|
|
links físicos de um arquivo sejam incluídos na verificação para que o
|
|
SnapRAID possa normalizá\-los.
|
|
.SS Recuperação após uma sincronização de multiparidade interrompida
|
|
Em uma matriz com múltiplos discos de paridade, um \`sync\` interrompido
|
|
pode deixar os níveis de paridade temporariamente fora de sincronia entre
|
|
si. Por exemplo, a paridade 1 já pode conter dados recém\-atualizados,
|
|
enquanto a paridade 2 ainda contém os dados antigos.
|
|
.PP
|
|
Durante \`check\` ou \`fix\`, o SnapRAID testa diferentes combinações de
|
|
paridade e valida os dados reconstruídos em relação aos hashes de bloco
|
|
conhecidos (cobrindo o bloco completo, normalmente 256 KiB).
|
|
.PP
|
|
Se o SnapRAID tentar uma reconstrução usando uma combinação inconsistente
|
|
de paridade antiga e nova, as equações lineares de RAID produzirão dados
|
|
incorretos. Para que essa combinação inválida seja aceita por engano,
|
|
as equações teriam que reconstruir acidentalmente pelo menos um bloco
|
|
completo de 256 KiB de maneira tão perfeita que seu hash corresponda,
|
|
enquanto outros blocos não sincronizados na mesma faixa são reconstruídos
|
|
com dados incorretos.
|
|
.PP
|
|
Esse cenário não depende de uma colisão de hash; em vez disso, as próprias
|
|
equações de paridade mista teriam que gerar coincidentemente o conteúdo
|
|
exato do bloco de 256 KiB original. Embora seja matematicamente concebível
|
|
com dados especialmente preparados ou altamente repetitivos, é
|
|
praticamente impossível com dados reais.
|
|
.PP
|
|
Se todos os discos estiverem íntegros, concluir o \`sync\` interrompido
|
|
antes de fazer novas alterações remove essa ambiguidade. Se um disco tiver
|
|
falhado e a recuperação for necessária, evite modificar os discos de dados
|
|
antes de executar \`check\` ou \`fix\`.
|
|
.SS Nomes reservados de arquivos e diretórios
|
|
O SnapRAID reserva alguns nomes de arquivos, diretórios e snapshots para
|
|
suas operações internas. Não use esses nomes para dados do usuário:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I .snapraidignore
|
|
Arquivo local de regras de exclusão.
|
|
.HP 4
|
|
.I .snapraid
|
|
Diretório contêiner de snapshots.
|
|
.HP 4
|
|
.I snapraid\-*
|
|
Nomes de snapshots ZFS gerenciados pelo SnapRAID.
|
|
.HP 4
|
|
.I *.unrecoverable
|
|
Arquivos danificados colocados em quarentena durante
|
|
a recuperação.
|
|
.HP 4
|
|
.I CONTENT.tmp
|
|
Arquivo temporário para atualizações do content.
|
|
.HP 4
|
|
.I CONTENT.lock
|
|
Arquivo de bloqueio do content.
|
|
.HP 4
|
|
.I PARITY.spaceholder
|
|
Arquivo temporário de reserva de espaço durante a
|
|
alocação de paridade no Windows.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
O uso desses nomes para dados não relacionados pode fazer com que arquivos ou
|
|
snapshots sejam ignorados, interpretados incorretamente como metadados,
|
|
sobrescritos, renomeados ou excluídos.
|
|
.PP
|
|
No Windows, todas as variações de maiúsculas e minúsculas também são reservadas,
|
|
mesmo em diretórios NTFS configurados para diferenciar maiúsculas de minúsculas
|
|
(por exemplo, .SNAPRAIDIGNORE, .SnapRaid, CONTENT.TMP e CONTENT.Lock).
|
|
.SH TRADUçãO (TRANSLATION)
|
|
Este documento é uma tradução automática do manual em inglês.
|
|
Consulte o manual em inglês para a versão oficial.
|
|
.SH DIREITOS AUTORAIS (COPYRIGHT)
|
|
Este arquivo é Copyright (C) 2026 Andrea Mazzoleni
|
|
.SH VEJA TAMBéM (SEE ALSO)
|
|
snapraid_log(1), snapraidd(1), rsync(1)
|