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