From 3667e63b74e3f7ba97ac2478faa551db7813ce88 Mon Sep 17 00:00:00 2001 From: Andrea Mazzoleni Date: Sat, 13 Dec 2025 19:34:07 +0100 Subject: [PATCH] Handle correctly translated manpages --- Makefile.am | 69 +- snapraid-de.1 => man/de/snapraid.1 | 0 snapraid-es.1 => man/es/snapraid.1 | 0 snapraid-fr.1 => man/fr/snapraid.1 | 0 snapraid-it.1 => man/it/snapraid.1 | 0 snapraid-pl.1 => man/pl/snapraid.1 | 0 man/pt/snapraid.1 | 1917 +++++++++++++++++++++++ snapraid-ro.1 => man/ro/snapraid.1 | 0 man/ru/snapraid.1 | 1884 +++++++++++++++++++++++ snapraid.1 => man/snapraid.1 | 0 snapraid_log.1 => man/snapraid_log.1 | 0 man/uk/snapraid.1 | 2105 ++++++++++++++++++++++++++ snapraid-de.txt | 4 +- snapraid-fr.txt | 12 +- snapraid-pt.d | 1482 ++++++++++++++++++ snapraid-pt.txt | 1596 +++++++++++++++++++ snapraid-ro.txt | 14 +- snapraid-ru.d | 1449 ++++++++++++++++++ snapraid-ru.txt | 1563 +++++++++++++++++++ snapraid-uk.d | 1656 ++++++++++++++++++++ snapraid-uk.txt | 1770 ++++++++++++++++++++++ 21 files changed, 15490 insertions(+), 31 deletions(-) rename snapraid-de.1 => man/de/snapraid.1 (100%) rename snapraid-es.1 => man/es/snapraid.1 (100%) rename snapraid-fr.1 => man/fr/snapraid.1 (100%) rename snapraid-it.1 => man/it/snapraid.1 (100%) rename snapraid-pl.1 => man/pl/snapraid.1 (100%) create mode 100644 man/pt/snapraid.1 rename snapraid-ro.1 => man/ro/snapraid.1 (100%) create mode 100644 man/ru/snapraid.1 rename snapraid.1 => man/snapraid.1 (100%) rename snapraid_log.1 => man/snapraid_log.1 (100%) create mode 100644 man/uk/snapraid.1 create mode 100644 snapraid-pt.d create mode 100644 snapraid-pt.txt create mode 100644 snapraid-ru.d create mode 100644 snapraid-ru.txt create mode 100644 snapraid-uk.d create mode 100644 snapraid-uk.txt diff --git a/Makefile.am b/Makefile.am index a9502371..1b865c69 100644 --- a/Makefile.am +++ b/Makefile.am @@ -121,20 +121,15 @@ mkstream_SOURCES = \ dist-hook: $(srcdir)/autover.sh > $(distdir)/.version -LIST_D = snapraid.d \ - snapraid-de.d \ - snapraid-es.d \ - snapraid-fr.d \ - snapraid-it.d \ - snapraid-pl.d \ - snapraid-ro.d \ - snapraid_log.d +LANG_CODES = de es fr it pl pt ro ru uk -LIST_MAN = $(LIST_D:.d=.1) +LIST_D = snapraid.d snapraid_log.d $(patsubst %, snapraid-%.d, $(LANG_CODES)) -LIST_TXT = $(LIST_D:.d=.txt) +LIST_MAN = man/snapraid.1 man/snapraid_log.1 $(patsubst %, man/%/snapraid.1, $(LANG_CODES)) -LIST_HH = $(LIST_D:.d=.hh) +LIST_TXT = snapraid.txt snapraid_log.txt $(patsubst %, snapraid-%.txt, $(LANG_CODES)) + +LIST_HH = snapraid.hh snapraid_log.hh $(patsubst %, snapraid-%.hh, $(LANG_CODES)) EXTRA_DIST = \ autogen.sh autover.sh \ @@ -163,7 +158,7 @@ EXTRA_DIST = \ raid/test/speedtest.c \ raid/test/invtest.c -man_MANS = snapraid.1 snapraid_log.1 +man1_MANS = man/snapraid.1 man/snapraid_log.1 clean-local: rm -f valgrind.log callgrind.log cachegrind.log @@ -176,8 +171,24 @@ clean-local: rm -f gmon.out maintainer-clean-local: - rm -f snapraid.1 snapraid.txt - rm -f snapraid_log.1 snapraid_log.txt + rm -f $(LIST_MAN) + rm -f $(LIST_TXT) + rm -f $(LIST_HH) + +# Install localized manpages +install-data-hook: + for lang in $(LANG_CODES); do \ + mkdir -p $(DESTDIR)$(mandir)/$$lang/man1; \ + $(INSTALL_DATA) man/$$lang/snapraid.1 $(DESTDIR)$(mandir)/$$lang/man1; \ + done + +# Uninstall localized manpages +uninstall-hook: + for lang in fr pl it ru es de ro pt; do \ + rm -f $(DESTDIR)$(mandir)/$$lang/man1/snapraid.1; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)$(mandir)/$$lang/man1 2>/dev/null || true; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)$(mandir)/$$lang 2>/dev/null || true; \ + done # Automatic testing @@ -1025,11 +1036,37 @@ lcov_html: genhtml -o ./cov lcov.info # Rules for documentation - if HAVE_ADVD2 -%.1 : %.d +man/%.1 : %.d advd2 man < $(srcdir)/$< > $@ +man/de/snapraid.1: $(srcdir)/snapraid-de.d + advd2 man < $< > $@ + +man/es/snapraid.1: $(srcdir)/snapraid-es.d + advd2 man < $< > $@ + +man/fr/snapraid.1: $(srcdir)/snapraid-fr.d + advd2 man < $< > $@ + +man/it/snapraid.1: $(srcdir)/snapraid-it.d + advd2 man < $< > $@ + +man/pl/snapraid.1: $(srcdir)/snapraid-pl.d + advd2 man < $< > $@ + +man/pt/snapraid.1: $(srcdir)/snapraid-pt.d + advd2 man < $< > $@ + +man/ro/snapraid.1: $(srcdir)/snapraid-ro.d + advd2 man < $< > $@ + +man/ru/snapraid.1: $(srcdir)/snapraid-ru.d + advd2 man < $< > $@ + +man/uk/snapraid.1: $(srcdir)/snapraid-uk.d + advd2 man < $< > $@ + %.txt : %.d advd2 txt < $(srcdir)/$< | todos > $@ diff --git a/snapraid-de.1 b/man/de/snapraid.1 similarity index 100% rename from snapraid-de.1 rename to man/de/snapraid.1 diff --git a/snapraid-es.1 b/man/es/snapraid.1 similarity index 100% rename from snapraid-es.1 rename to man/es/snapraid.1 diff --git a/snapraid-fr.1 b/man/fr/snapraid.1 similarity index 100% rename from snapraid-fr.1 rename to man/fr/snapraid.1 diff --git a/snapraid-it.1 b/man/it/snapraid.1 similarity index 100% rename from snapraid-it.1 rename to man/it/snapraid.1 diff --git a/snapraid-pl.1 b/man/pl/snapraid.1 similarity index 100% rename from snapraid-pl.1 rename to man/pl/snapraid.1 diff --git a/man/pt/snapraid.1 b/man/pt/snapraid.1 new file mode 100644 index 00000000..0375cb4c --- /dev/null +++ b/man/pt/snapraid.1 @@ -0,0 +1,1917 @@ +.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) diff --git a/snapraid-ro.1 b/man/ro/snapraid.1 similarity index 100% rename from snapraid-ro.1 rename to man/ro/snapraid.1 diff --git a/man/ru/snapraid.1 b/man/ru/snapraid.1 new file mode 100644 index 00000000..c5ab2c24 --- /dev/null +++ b/man/ru/snapraid.1 @@ -0,0 +1,1884 @@ +.TH "Резервное копирование SnapRAID для дисковых массивов" 1 +.SH NAME +snapraid \- Резервное копирование SnapRAID для дисковых массивов +.SH 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 + [\-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 DESCRIPTION +SnapRAID — это программа резервного копирования, разработанная для дисковых массивов, +хранящая информацию четности для восстановления данных в случае сбоя +до шести дисков. +.PP +В первую очередь предназначенная для домашних медиацентров с большими, +редко меняющимися файлами, SnapRAID предлагает несколько функций: +.PD 0 +.IP \(bu +Вы можете использовать диски, уже заполненные файлами, без +необходимости их переформатирования, получая к ним доступ как обычно. +.IP \(bu +Все ваши данные хэшируются для обеспечения целостности данных и +предотвращения скрытого повреждения. +.IP \(bu +Когда число отказавших дисков превышает количество дисков четности, +потеря данных ограничивается затронутыми дисками; данные на +других дисках остаются доступными. +.IP \(bu +Если вы случайно удалите файлы на диске, возможно их восстановление. +.IP \(bu +Диски могут иметь разные размеры. +.IP \(bu +Вы можете добавлять диски в любое время. +.IP \(bu +SnapRAID не блокирует ваши данные; вы можете прекратить его использование +в любое время без переформатирования или перемещения данных. +.IP \(bu +Для доступа к файлу должен раскручиваться только один диск, что экономит +энергию и снижает шум. +.PD +.PP +Для получения дополнительной информации, пожалуйста, посетите официальный сайт SnapRAID: +.PP +.RS 4 +https://www.snapraid.it/ +.PD 0 +.PD +.RE +.SH LIMITATIONS +SnapRAID — это гибрид программы RAID и программы резервного копирования, +стремящийся объединить лучшие преимущества обеих. Однако у него есть +некоторые ограничения, которые следует учитывать перед использованием. +.PP +Основное ограничение заключается в том, что если диск выходит из строя, а вы +недавно не выполняли синхронизацию, вы можете не восстановить данные полностью. +В частности, вы можете не восстановить данные в объеме, равном размеру +измененных или удаленных файлов с момента последней операции синхронизации. +Это происходит, даже если измененные или удаленные файлы не находятся +на отказавшем диске. Вот почему SnapRAID лучше подходит для +данных, которые редко меняются. +.PP +С другой стороны, недавно добавленные файлы не препятствуют восстановлению уже +существующих файлов. Вы потеряете только недавно добавленные файлы, +если они находятся на отказавшем диске. +.PP +Другие ограничения SnapRAID: +.PD 0 +.IP \(bu +Со SnapRAID у вас все еще отдельные файловые системы для каждого диска. +С RAID вы получаете единую большую файловую систему. +.IP \(bu +SnapRAID не выполняет чередование данных. +С RAID вы получаете прирост скорости благодаря чередованию. +.IP \(bu +SnapRAID не поддерживает восстановление в реальном времени. +С RAID вам не нужно прекращать работу при сбое диска. +.IP \(bu +SnapRAID может восстановить данные только при ограниченном числе сбоев дисков. +С резервным копированием вы можете восстановиться после полного +сбоя всего дискового массива. +.IP \(bu +Сохраняются только имена файлов, метки времени, символические ссылки и жесткие ссылки. +Разрешения, права владения и расширенные атрибуты не сохраняются. +.PD +.SH GETTING STARTED +Чтобы использовать SnapRAID, вам нужно сначала выбрать один диск в вашем дисковом массиве +для выделения под информацию \`четности\` (parity). С одним диском для четности, вы +сможете восстановиться после одного сбоя диска, подобно RAID5. +.PP +Если вы хотите восстановиться после большего числа сбоев дисков, подобно RAID6, +вы должны зарезервировать дополнительные диски для четности. Каждый дополнительный диск +четности позволяет восстановиться после еще одного сбоя диска. +.PP +В качестве дисков четности вы должны выбирать самые большие диски в массиве, +так как информация четности может вырасти до размера самого большого +диска данных в массиве. +.PP +Эти диски будут выделены для хранения файлов \`четности\`. +Вы не должны хранить на них свои данные. +.PP +Затем вы должны определить диски \`данных\`, которые вы хотите защитить +с помощью SnapRAID. Защита более эффективна, если эти диски +содержат данные, которые редко меняются. По этой причине лучше +НЕ включать диск Windows C:\\ или каталоги Unix /home, /var и /tmp. +.PP +Список файлов сохраняется в файлах \`content\`, обычно +хранящихся на дисках данных, четности или загрузочных дисках. +Этот файл содержит детали вашего резервного копирования, включая все +контрольные суммы для проверки его целостности. +Файл \`content\` хранится в нескольких копиях, и каждая копия должна +находиться на отдельном диске, чтобы гарантировать, что даже в случае +множественных сбоев дисков, хотя бы одна копия будет доступна. +.PP +Например, предположим, что вы заинтересованы только в одном уровне защиты четности, +и ваши диски расположены по адресам: +.PP +.RS 4 +/mnt/diskp <\- выбранный диск для четности +.PD 0 +.PP +.PD +/mnt/disk1 <\- первый диск для защиты +.PD 0 +.PP +.PD +/mnt/disk2 <\- второй диск для защиты +.PD 0 +.PP +.PD +/mnt/disk3 <\- третий диск для защиты +.PD 0 +.PD +.RE +.PP +Вы должны создать файл конфигурации /etc/snapraid.conf со +следующими опциями: +.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 +Если вы используете Windows, вам следует использовать формат пути Windows, +с буквами дисков и обратными слешами вместо прямых. +.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 +Если у вас много дисков и заканчиваются буквы дисков, вы можете монтировать +диски непосредственно в подпапки. См.: +.PP +.RS 4 +https://www.google.com/search?q=Windows+mount+point +.PD 0 +.PD +.RE +.PP +На этом этапе вы готовы запустить команду \`sync\` для создания +информации четности. +.PP +.RS 4 +snapraid sync +.PD 0 +.PD +.RE +.PP +Этот процесс может занять несколько часов в первый раз, в зависимости от размера +данных, уже присутствующих на дисках. Если диски пустые, +процесс происходит немедленно. +.PP +Вы можете остановить его в любое время, нажав Ctrl+C, и при следующем запуске он +возобновит работу с того места, где был прерван. +.PP +Когда эта команда завершится, ваши данные ЗАЩИЩЕНЫ. +.PP +Теперь вы можете начать использовать свой массив, как вам угодно, и периодически +обновлять информацию четности, запуская команду \`sync\`. +.SS Scrubbing +Для периодической проверки данных и четности на наличие ошибок, вы можете +запустить команду \`scrub\`. +.PP +.RS 4 +snapraid scrub +.PD 0 +.PD +.RE +.PP +Эта команда сравнивает данные в вашем массиве с хэшем, вычисленным +во время команды \`sync\`, для проверки целостности. +.PP +Каждый запуск команды проверяет примерно 8% массива, исключая данные, +уже проверенные за предыдущие 10 дней. +Вы можете использовать опцию \-p, \-\-plan, чтобы указать другое количество, +и опцию \-o, \-\-older\-than, чтобы указать другой возраст в днях. +Например, для проверки 5% массива на наличие блоков старше 20 дней, используйте: +.PP +.RS 4 +snapraid \-p 5 \-o 20 scrub +.PD 0 +.PD +.RE +.PP +Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, +соответствующие блоки помечаются как плохие в файле \`content\` +и перечисляются в команде \`status\`. +.PP +.RS 4 +snapraid status +.PD 0 +.PD +.RE +.PP +Чтобы исправить их, вы можете использовать команду \`fix\`, фильтруя плохие блоки +с помощью опции \-e, \-\-filter\-error: +.PP +.RS 4 +snapraid \-e fix +.PD 0 +.PD +.RE +.PP +При следующем \`scrub\` ошибки исчезнут из отчета \`status\`, +если они действительно исправлены. Чтобы ускорить процесс, вы можете использовать +\-p bad для проверки только блоков, помеченных как плохие. +.PP +.RS 4 +snapraid \-p bad scrub +.PD 0 +.PD +.RE +.PP +Запуск \`scrub\` на несинхронизированном массиве может сообщить об ошибках, вызванных +удаленными или измененными файлами. Эти ошибки сообщаются в выводе \`scrub\`, +но соответствующие блоки не помечаются как плохие. +.SS Pooling +Примечание: Функция объединения (pooling), описанная ниже, была заменена инструментом +mergefs, который теперь является рекомендуемым вариантом для пользователей Linux +в сообществе SnapRAID. Mergefs предоставляет более гибкий и эффективный +способ объединения нескольких дисков в единую точку монтирования, +обеспечивая беспрепятственный доступ к файлам по всему массиву без +опоры на символические ссылки. Он хорошо интегрируется со SnapRAID для +защиты четности и обычно используется в установках, таких как OpenMediaVault (OMV) +или пользовательских конфигурациях NAS. +.PP +Чтобы все файлы в вашем массиве отображались в одном дереве каталогов, +вы можете включить функцию \`pooling\`. Она создает виртуальное +представление всех файлов в вашем массиве только для чтения, используя +символические ссылки. +.PP +Вы можете настроить каталог \`pooling\` в файле конфигурации с помощью: +.PP +.RS 4 +pool /pool +.PD 0 +.PD +.RE +.PP +или, если вы используете Windows, с помощью: +.PP +.RS 4 +pool C:\\pool +.PD 0 +.PD +.RE +.PP +а затем запустить команду \`pool\` для создания или обновления виртуального представления. +.PP +.RS 4 +snapraid pool +.PD 0 +.PD +.RE +.PP +Если вы используете платформу Unix и хотите предоставить общий доступ к этому каталогу +по сети как для машин Windows, так и для Unix, вы должны добавить +следующие опции в ваш /etc/samba/smb.conf: +.PP +.RS 4 +# В глобальном разделе smb.conf +.PD 0 +.PP +.PD +unix extensions = no +.PD 0 +.PD +.RE +.PP +.RS 4 +# В разделе общего ресурса 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 +В Windows совместное использование символических ссылок по сети требует, чтобы клиенты +разрешали их удаленно. Чтобы включить это, помимо предоставления общего доступа +к каталогу pool, вы также должны предоставить общий доступ ко всем дискам +независимо, используя имена дисков, определенные в файле конфигурации, в качестве +точек общего доступа. Вы также должны указать в опции \`share\` файла +конфигурации путь UNC Windows, который удаленные клиенты должны использовать +для доступа к этим общим дискам. +.PP +Например, работая с сервера с именем \`darkstar\`, вы можете использовать +опции: +.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 +и предоставить общий доступ к следующим каталогам по сети: +.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 +чтобы разрешить удаленным клиентам доступ ко всем файлам по адресу \\\\darkstar\\pool. +.PP +Вам также может потребоваться настроить удаленные клиенты для включения доступа к +удаленным символическим ссылкам с помощью команды: +.PP +.RS 4 +fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 +.PD 0 +.PD +.RE +.SS Undeleting +SnapRAID функционирует скорее как программа резервного копирования, чем как система RAID, +и может использоваться для восстановления или отмены удаления файлов до их +предыдущего состояния с помощью опции \-f, \-\-filter: +.PP +.RS 4 +snapraid fix \-f FILE +.PD 0 +.PD +.RE +.PP +или для каталога: +.PP +.RS 4 +snapraid fix \-f DIR/ +.PD 0 +.PD +.RE +.PP +Вы также можете использовать его для восстановления только случайно удаленных файлов внутри +каталога с помощью опции \-m, \-\-filter\-missing, которая восстанавливает +только отсутствующие файлы, оставляя все остальные нетронутыми. +.PP +.RS 4 +snapraid fix \-m \-f DIR/ +.PD 0 +.PD +.RE +.PP +Или для восстановления всех удаленных файлов на всех дисках с помощью: +.PP +.RS 4 +snapraid fix \-m +.PD 0 +.PD +.RE +.SS Recovering +Случилось худшее, и вы потеряли один или несколько дисков! +.PP +НЕ ПАНИКУЙТЕ! Вы сможете их восстановить! +.PP +Первое, что вы должны сделать, это избегать дальнейших изменений в вашем дисковом массиве. +Отключите любые удаленные подключения к нему и любые запланированные процессы, +включая любое запланированное ночное sync или scrub SnapRAID. +.PP +Затем приступайте к следующим шагам. +.SS STEP 1 \-> Reconfigure +Вам нужно место для восстановления, в идеале на дополнительных +запасных дисках, но внешнего USB\-диска или удаленного диска будет достаточно. +.PP +Измените файл конфигурации SnapRAID, чтобы опция \`data\` или \`parity\` +отказавшего диска указывала на место с достаточным пустым +пространством для восстановления файлов. +.PP +Например, если диск \`d1\` вышел из строя, измените с: +.PP +.RS 4 +data d1 /mnt/disk1/ +.PD 0 +.PD +.RE +.PP +на: +.PP +.RS 4 +data d1 /mnt/new_spare_disk/ +.PD 0 +.PD +.RE +.PP +Если восстанавливаемый диск является диском четности, обновите соответствующую опцию \`parity\`. +Если у вас несколько отказавших дисков, обновите все их опции конфигурации. +.SS STEP 2 \-> Fix +Запустите команду fix, сохраняя журнал во внешнем файле с помощью: +.PP +.RS 4 +snapraid \-d NAME \-l fix.log fix +.PD 0 +.PD +.RE +.PP +Где NAME — это имя диска, например \`d1\` в нашем предыдущем примере. +Если восстанавливаемый диск является диском четности, используйте имена \`parity\`, \`2\-parity\` +и т. д. +Если у вас несколько отказавших дисков, используйте несколько опций \-d, чтобы указать +их все. +.PP +Эта команда займет много времени. +.PP +Убедитесь, что у вас есть несколько гигабайт свободного места для хранения файла fix.log. +Запустите ее с диска с достаточным свободным местом. +.PP +Теперь вы восстановили все, что можно было восстановить. Если некоторые файлы +частично или полностью невосстановимы, они будут переименованы с добавлением +расширения \`.unrecoverable\`. +.PP +Вы можете найти подробный список всех невосстановимых блоков в файле fix.log, +проверяя все строки, начинающиеся с \`unrecoverable:\`. +.PP +Если вы не удовлетворены восстановлением, вы можете повторять его столько +раз, сколько пожелаете. +.PP +Например, если вы удалили файлы из массива после последнего +\`sync\`, это может привести к тому, что некоторые файлы не будут восстановлены. +В этом случае вы можете повторить \`fix\`, используя опцию \-i, \-\-import, +указав, где эти файлы находятся сейчас, чтобы снова включить их в +процесс восстановления. +.PP +Если вы удовлетворены восстановлением, вы можете продолжить, +но учтите, что после синхронизации вы больше не сможете повторить команду \`fix\`! +.SS STEP 3 \-> Check +В качестве осторожной проверки, вы можете теперь запустить команду \`check\`, чтобы убедиться, +что все в порядке на восстановленном диске. +.PP +.RS 4 +snapraid \-d NAME \-a check +.PD 0 +.PD +.RE +.PP +Где NAME — это имя диска, например \`d1\` в нашем предыдущем примере. +.PP +Опции \-d и \-a говорят SnapRAID проверить только указанный диск +и игнорировать все данные четности. +.PP +Эта команда займет много времени, но если вы не чрезмерно осторожны, +вы можете ее пропустить. +.SS STEP 4 \-> Sync +Запустите команду \`sync\`, чтобы ресинхронизировать массив с новым диском. +.PP +.RS 4 +snapraid sync +.PD 0 +.PD +.RE +.PP +Если все восстановлено, эта команда выполняется немедленно. +.SH COMMANDS +SnapRAID предоставляет несколько простых команд, которые позволяют: +.PD 0 +.IP \(bu +Печатать статус массива \-> \`status\` +.IP \(bu +Управлять дисками \-> \`smart\`, \`probe\`, \`up\`, \`down\` +.IP \(bu +Сделать резервную копию/снимок \-> \`sync\` +.IP \(bu +Периодически проверять данные \-> \`scrub\` +.IP \(bu +Восстановить последнюю резервную копию/снимок \-> \`fix\`. +.PD +.PP +Команды должны быть написаны строчными буквами. +.SS status +Печатает сводку состояния дискового массива. +.PP +Она включает информацию о фрагментации четности, о том, насколько старые +блоки без проверки, и все записанные скрытые ошибки, +возникшие во время scrubbing. +.PP +Представленная информация относится к последнему времени, когда вы +запускали \`sync\`. Более поздние изменения не учитываются. +.PP +Если были обнаружены плохие блоки, перечисляются их номера. +Чтобы исправить их, вы можете использовать команду \`fix \-e\`. +.PP +Он также показывает график, представляющий последнее время, когда каждый блок +был проверен (\`scrubbed\`) или синхронизирован (\`synced\`). Проверенные блоки +обозначены символом \'*\', блоки, синхронизированные, но еще не проверенные, +символом \'o\'. +.PP +Ничего не изменяется. +.SS smart +Печатает отчет SMART всех дисков в системе. +.PP +Он включает оценку вероятности сбоя в следующем году, +позволяя планировать плановую замену дисков, которые показывают +подозрительные атрибуты. +.PP +Эта оценка вероятности получена путем корреляции атрибутов SMART +дисков с данными Backblaze, доступными по адресу: +.PP +.RS 4 +https://www.backblaze.com/hard\-drive\-test\-data.html +.PD 0 +.PD +.RE +.PP +Если SMART сообщает, что диск выходит из строя, для этого диска +выводится \`FAIL\` или \`PREFAIL\`, и SnapRAID возвращает ошибку. +В этом случае немедленная замена диска настоятельно рекомендуется. +.PP +Другие возможные строки статуса: +.RS 4 +.PD 0 +.HP 4 +.I logfail +В прошлом некоторые атрибуты были ниже +порогового значения. +.HP 4 +.I logerr +Журнал ошибок устройства содержит ошибки. +.HP 4 +.I selferr +Журнал самотестирования устройства содержит ошибки. +.PD +.RE +.PP +Если указана опция \-v, \-\-verbose, предоставляется более глубокий +статистический анализ. Этот анализ может помочь вам решить, нужно ли вам +больше или меньше четности. +.PP +Эта команда использует инструмент \`smartctl\` и эквивалентна запуску +\`smartctl \-a\` на всех устройствах. +.PP +Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать +пользовательскую команду, используя опцию \`smartctl\` в файле +конфигурации. +.PP +Ничего не изменяется. +.SS probe +Печатает состояние POWER всех дисков в системе. +.PP +\`Standby\` означает, что диск не вращается. \`Active\` означает, +что диск вращается. +.PP +Эта команда использует инструмент \`smartctl\` и эквивалентна запуску +\`smartctl \-n standby \-i\` на всех устройствах. +.PP +Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать +пользовательскую команду, используя опцию \`smartctl\` в файле +конфигурации. +.PP +Ничего не изменяется. +.SS up +Раскручивает все диски массива. +.PP +Вы можете раскрутить только определенные диски, используя опцию \-d, \-\-filter\-disk. +.PP +Раскручивание всех дисков одновременно требует много энергии. +Убедитесь, что ваш блок питания может это выдержать. +.PP +Ничего не изменяется. +.SS down +Останавливает вращение всех дисков массива. +.PP +Эта команда использует инструмент \`smartctl\` и эквивалентна запуску +\`smartctl \-s standby,now\` на всех устройствах. +.PP +Вы можете остановить вращение только определенных дисков, используя опцию \-d, \-\-filter\-disk. +.PP +Чтобы автоматически остановить вращение при ошибке, вы можете использовать опцию +\-s, \-\-spin\-down\-on\-error с любой другой командой, что эквивалентно +ручному запуску \`down\` при возникновении ошибки. +.PP +Ничего не изменяется. +.SS diff +Перечисляет все файлы, измененные с момента последнего \`sync\`, для которых +требуется пересчитать данные четности. +.PP +Эта команда не проверяет данные файла, а только метку времени файла, +размер и inode. +.PP +После перечисления всех измененных файлов представляется сводка изменений, +сгруппированных по: +.RS 4 +.PD 0 +.HP 4 +.I equal +Файлы, не измененные по сравнению с предыдущим состоянием. +.HP 4 +.I added +Добавленные файлы, которых не было раньше. +.HP 4 +.I removed +Удаленные файлы. +.HP 4 +.I updated +Файлы с другим размером или меткой времени, что означает, что они +были изменены. +.HP 4 +.I moved +Файлы, перемещенные в другой каталог на том же диске. +Они идентифицируются как имеющие то же имя, размер, метку времени +и inode, но другой каталог. +.HP 4 +.I copied +Файлы, скопированные на тот же или другой диск. Обратите внимание, что если +они действительно перемещены на другой диск, они также будут +учтены в \`removed\`. +Они идентифицируются как имеющие то же имя, размер и +метку времени. Если метка времени с точностью до доли секунды равна нулю, +полный путь должен совпадать, а не только имя. +.HP 4 +.I restored +Файлы с другим inode, но совпадающими именем, размером и меткой времени. +Обычно это файлы, восстановленные после удаления. +.PD +.RE +.PP +Если требуется \`sync\`, код возврата процесса равен 2, а не +по умолчанию 0. Код возврата 1 используется для общего условия ошибки. +.PP +Ничего не изменяется. +.SS sync +Обновляет информацию четности. Все измененные файлы +в дисковом массиве считываются, и соответствующие данные четности +обновляются. +.PP +Вы можете остановить этот процесс в любое время, нажав Ctrl+C, +не теряя уже проделанной работы. +При следующем запуске процесс \`sync\` возобновится с того места, +где был прерван. +.PP +Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, +соответствующие блоки помечаются как плохие. +.PP +Файлы идентифицируются по пути и/или inode и проверяются по +размеру и метке времени. +Если размер файла или метка времени отличаются, данные четности +пересчитываются для всего файла. +Если файл перемещен или переименован на том же диске, сохраняя +тот же inode, четность не пересчитывается. +Если файл перемещен на другой диск, четность пересчитывается, +но ранее вычисленная информация хэша сохраняется. +.PP +Файлы \`content\` и \`parity\` изменяются при необходимости. +Файлы в массиве НЕ изменяются. +.SS scrub +Проверяет массив, проверяя на наличие скрытых ошибок или ошибок ввода/вывода +на дисках данных и четности. +.PP +Каждый вызов проверяет примерно 8% массива, исключая +данные, уже проверенные за последние 10 дней. +Это означает, что проверка раз в неделю гарантирует, что каждый бит данных +проверяется хотя бы раз в три месяца. +.PP +Вы можете определить другой план или объем проверки, используя опцию \-p, \-\-plan, +которая принимает: +bad \- Проверить блоки, помеченные как плохие. +new \- Проверить только что синхронизированные блоки, которые еще не были проверены. +full \- Проверить все. +0\-100 \- Проверить указанный процент блоков. +.PP +Если вы указываете процентное значение, вы также можете использовать опцию \-o, \-\-older\-than, +чтобы определить, насколько старым должен быть блок. +Сначала проверяются самые старые блоки, обеспечивая оптимальную проверку. +Если вы хотите проверить только что синхронизированные блоки, которые еще не были проверены, +используйте опцию \`\-p new\`. +.PP +Чтобы получить подробности о статусе проверки, используйте команду \`status\`. +.PP +При обнаружении любой скрытой ошибки или ошибки ввода/вывода соответствующие блоки +помечаются как плохие в файле \`content\`. +Эти плохие блоки перечисляются в \`status\` и могут быть исправлены с помощью \`fix \-e\`. +После исправления при следующем scrub они будут перепроверены, и если +обнаружатся исправленными, плохая метка будет удалена. +Чтобы проверить только плохие блоки, вы можете использовать команду \`scrub \-p bad\`. +.PP +Рекомендуется запускать \`scrub\` только на синхронизированном массиве, чтобы избежать +сообщений об ошибках, вызванных несинхронизированными данными. Эти ошибки +распознаются как не являющиеся скрытыми ошибками, и блоки не помечаются +как плохие, но такие ошибки сообщаются в выводе команды. +.PP +Файл \`content\` изменяется для обновления времени последней проверки +для каждого блока и для пометки плохих блоков. +Файлы \`parity\` НЕ изменяются. +Файлы в массиве НЕ изменяются. +.SS fix +Исправляет все файлы и данные четности. +.PP +Все файлы и данные четности сравниваются с состоянием снимка, +сохраненным при последнем \`sync\`. +Если обнаружено различие, оно возвращается к сохраненному снимку. +.PP +ВНИМАНИЕ! Команда \`fix\` не различает ошибки и +преднамеренные изменения. Она безусловно возвращает состояние файла +к последнему \`sync\`. +.PP +Если не указана другая опция, обрабатывается весь массив. +Используйте опции фильтрации, чтобы выбрать подмножество файлов или дисков для работы. +.PP +Чтобы исправить только блоки, помеченные как плохие во время \`sync\` и \`scrub\`, +используйте опцию \-e, \-\-filter\-error. +В отличие от других опций фильтрации, эта применяет исправления только к файлам, +которые не были изменены с момента последнего \`sync\`. +.PP +SnapRAID переименовывает все файлы, которые не могут быть исправлены, добавляя +расширение \`.unrecoverable\`. +.PP +Перед исправлением сканируется весь массив, чтобы найти файлы, перемещенные +с момента последней операции \`sync\`. +Эти файлы идентифицируются по их метке времени, игнорируя их имя +и каталог, и используются в процессе восстановления при необходимости. +Если вы переместили некоторые из них за пределы массива, вы можете использовать опцию +\-i, \-\-import, чтобы указать дополнительные каталоги для сканирования. +.PP +Файлы идентифицируются только по пути, а не по inode. +.PP +Файл \`content\` НЕ изменяется. +Файлы \`parity\` изменяются при необходимости. +Файлы в массиве изменяются при необходимости. +.SS check +Проверяет все файлы и данные четности. +.PP +Он работает как \`fix\`, но только имитирует восстановление, и никакие изменения +не записываются в массив. +.PP +Эта команда в основном предназначена для ручной проверки, +например, после процесса восстановления или в других особых условиях. +Для периодических и запланированных проверок используйте \`scrub\`. +.PP +Если вы используете опцию \-a, \-\-audit\-only, проверяются только данные +файла, а данные четности игнорируются для +более быстрого выполнения. +.PP +Файлы идентифицируются только по пути, а не по inode. +.PP +Ничего не изменяется. +.SS list +Перечисляет все файлы, содержащиеся в массиве на момент +последнего \`sync\`. +.PP +С \-v или \-\-verbose также отображается время с точностью до доли секунды. +.PP +Ничего не изменяется. +.SS dup +Перечисляет все дублирующиеся файлы. Два файла считаются равными, если их +хэши совпадают. Данные файла не считываются; используются только +предварительно вычисленные хэши. +.PP +Ничего не изменяется. +.SS pool +Создает или обновляет виртуальное представление всех +файлов в вашем дисковом массиве в каталоге \`pooling\`. +.PP +Файлы не копируются, а связываются с помощью +символических ссылок. +.PP +При обновлении все существующие символические ссылки и пустые +подкаталоги удаляются и заменяются новым +представлением массива. Любые другие обычные файлы остаются на месте. +.PP +Ничего не изменяется за пределами каталога pool. +.SS devices +Печатает низкоуровневые устройства, используемые массивом. +.PP +Эта команда отображает ассоциации устройств в массиве +и в основном предназначена как интерфейс для скриптов. +.PP +Первые два столбца — это низкоуровневый идентификатор устройства и путь. +Следующие два столбца — это высокоуровневый идентификатор устройства и путь. +Последний столбец — это имя диска в массиве. +.PP +В большинстве случаев у вас есть одно низкоуровневое устройство для каждого диска в +массиве, но в некоторых более сложных конфигурациях у вас может быть несколько +низкоуровневых устройств, используемых одним диском в массиве. +.PP +Ничего не изменяется. +.SS touch +Устанавливает произвольную метку времени с точностью до доли секунды для всех файлов, +у которых она установлена в ноль. +.PP +Это улучшает способность SnapRAID распознавать перемещенные +и скопированные файлы, так как делает метку времени почти уникальной, +уменьшая возможные дубликаты. +.PP +Более конкретно, если метка времени с точностью до доли секунды не равна нулю, +перемещенный или скопированный файл идентифицируется как таковой, если он совпадает +по имени, размеру и метке времени. Если метка времени с точностью до доли секунды +равна нулю, он считается копией только в том случае, если полностью совпадают +полный путь, размер и метка времени. +.PP +Метка времени с точностью до секунды не изменяется, +поэтому все даты и время ваших файлов будут сохранены. +.SS rehash +Планирует перехэширование всего массива. +.PP +Эта команда изменяет используемый тип хэша, обычно при обновлении +с 32\-разрядной системы на 64\-разрядную, для переключения с +MurmurHash3 на более быстрый SpookyHash. +.PP +Если вы уже используете оптимальный хэш, эта команда +ничего не делает и информирует вас, что никакие действия не требуются. +.PP +Перехэширование не выполняется немедленно, а происходит +постепенно во время \`sync\` и \`scrub\`. +.PP +Вы можете проверить состояние перехэширования с помощью \`status\`. +.PP +Во время перехэширования SnapRAID сохраняет полную функциональность, +за единственным исключением, что \`dup\` не может обнаружить дублирующиеся +файлы, использующие другой хэш. +.SH OPTIONS +SnapRAID предоставляет следующие опции: +.TP +.B \-c, \-\-conf CONFIG +Выбирает файл конфигурации для использования. Если не указан, в Unix +используется файл \`/usr/local/etc/snapraid.conf\`, если он существует, +в противном случае \`/etc/snapraid.conf\`. +В Windows используется файл \`snapraid.conf\` в том же +каталоге, что и \`snapraid.exe\`. +.TP +.B \-f, \-\-filter PATTERN +Фильтрует файлы для обработки в \`check\` и \`fix\`. +Обрабатываются только файлы, соответствующие указанному шаблону. +Эту опцию можно использовать несколько раз. +Подробнее о спецификациях шаблонов см. в разделе PATTERN. +В Unix убедитесь, что символы глоббинга заключены в кавычки, если используются. +Эту опцию можно использовать только с \`check\` и \`fix\`. +Ее нельзя использовать с \`sync\` и \`scrub\`, так как они всегда +обрабатывают весь массив. +.TP +.B \-d, \-\-filter\-disk NAME +Фильтрует диски для обработки в \`check\`, \`fix\`, \`up\` и \`down\`. +Вы должны указать имя диска, определенное в файле конфигурации. +Вы также можете указать диски четности с именами: \`parity\`, \`2\-parity\`, +\`3\-parity\` и т. д., чтобы ограничить операции конкретным диском четности. +Если вы комбинируете несколько опций \-\-filter, \-\-filter\-disk и \-\-filter\-missing, +выбираются только файлы, соответствующие всем фильтрам. +Эту опцию можно использовать несколько раз. +Эту опцию можно использовать только с \`check\`, \`fix\`, \`up\` и \`down\`. +Ее нельзя использовать с \`sync\` и \`scrub\`, так как они всегда +обрабатывают весь массив. +.TP +.B \-m, \-\-filter\-missing +Фильтрует файлы для обработки в \`check\` и \`fix\`. +Обрабатываются только файлы, отсутствующие или удаленные из массива. +При использовании с \`fix\`, это действует как команда \`undelete\`. +Если вы комбинируете несколько опций \-\-filter, \-\-filter\-disk и \-\-filter\-missing, +выбираются только файлы, соответствующие всем фильтрам. +Эту опцию можно использовать только с \`check\` и \`fix\`. +Ее нельзя использовать с \`sync\` и \`scrub\`, так как они всегда +обрабатывают весь массив. +.TP +.B \-e, \-\-filter\-error +Обрабатывает файлы с ошибками в \`check\` и \`fix\`. +Он обрабатывает только файлы, блоки которых помечены скрытыми +ошибками или ошибками ввода/вывода во время \`sync\` и \`scrub\`, как +перечислено в \`status\`. +Эту опцию можно использовать только с \`check\` и \`fix\`. +.TP +.B \-p, \-\-plan PERC|bad|new|full +Выбирает план проверки (\`scrub\`). Если PERC — это числовое значение от 0 до 100, +оно интерпретируется как процент блоков для проверки. +Вместо процента вы можете указать план: +\`bad\` проверяет плохие блоки, \`new\` проверяет блоки, которые еще не были проверены, +и \`full\` проверяет все. +Эту опцию можно использовать только с \`scrub\`. +.TP +.B \-o, \-\-older\-than DAYS +Выбирает самую старую часть массива для обработки в \`scrub\`. +DAYS — это минимальный возраст в днях для блока, который будет проверен; +по умолчанию — 10. +Блоки, помеченные как плохие, всегда проверяются независимо от этой опции. +Эту опцию можно использовать только с \`scrub\`. +.TP +.B \-a, \-\-audit\-only +В \`check\`, проверяет хэш файлов без +проверки данных четности. +Если вы заинтересованы только в проверке данных файла, эта +опция может значительно ускорить процесс проверки. +Эту опцию можно использовать только с \`check\`. +.TP +.B \-h, \-\-pre\-hash +В \`sync\`, запускает предварительную фазу хэширования всех новых данных +для дополнительной проверки перед вычислением четности. +Обычно в \`sync\` предварительное хэширование не выполняется, и новые +данные хэшируются непосредственно перед вычислением четности, когда они +считываются в первый раз. +Этот процесс происходит, когда система находится под +тяжелой нагрузкой, со всеми вращающимися дисками и занятым процессором. +Это экстремальное условие для машины, и если у нее есть +скрытая аппаратная проблема, скрытые ошибки могут остаться незамеченными, +потому что данные еще не хэшированы. +Чтобы избежать этого риска, вы можете включить режим \`pre\-hash\`, чтобы +все данные считывались дважды для обеспечения их целостности. +Эта опция также проверяет файлы, перемещенные внутри массива, +чтобы убедиться, что операция перемещения прошла успешно, и, при необходимости, +позволяет запустить операцию исправления (\`fix\`) перед продолжением. +Эту опцию можно использовать только с \`sync\`. +.TP +.B \-i, \-\-import DIR +Импортирует из указанного каталога любые файлы, удаленные +из массива после последнего \`sync\`. +Если у вас все еще есть такие файлы, они могут использоваться \`check\` +и \`fix\` для улучшения процесса восстановления. +Файлы считываются, включая подкаталоги, и идентифицируются +независимо от их имени. +Эту опцию можно использовать только с \`check\` и \`fix\`. +.TP +.B \-s, \-\-spin\-down\-on\-error +При любой ошибке останавливает вращение всех управляемых дисков перед выходом с +ненулевым кодом состояния. Это предотвращает оставление дисков +активными и вращающимися после прерванной операции, +помогая избежать ненужного нагрева и энергопотребления. +Используйте эту опцию, чтобы гарантировать безопасную остановку дисков, +даже когда команда завершается неудачей. +.TP +.B \-w, \-\-bw\-limit RATE +Применяет глобальное ограничение пропускной способности для всех дисков. RATE — это +количество байтов в секунду. Вы можете указать множитель, +например K, M или G (например, \-\-bw\-limit 1G). +.TP +.B \-A, \-\-stats +Включает расширенный вид статуса, который показывает дополнительную информацию. +На экране отображаются два графика: +Первый график показывает количество буферизованных полос для каждого +диска, а также путь к файлу, к которому в данный момент осуществляется +доступ на этом диске. Обычно самый медленный диск не будет иметь +доступного буфера, что определяет максимально достижимую +пропускную способность. +Второй график показывает процент времени, потраченного на ожидание +за последние 100 секунд. Ожидается, что самый медленный диск +вызовет большую часть времени ожидания, в то время как другие диски должны +иметь мало или совсем не иметь времени ожидания, потому что они могут +использовать свои буферизованные полосы. +Этот график также показывает время, потраченное на ожидание +вычислений хэша и вычислений RAID. +Все вычисления выполняются параллельно с дисковыми операциями. +Следовательно, пока есть измеримое время ожидания для +хотя бы одного диска, это указывает на то, что ЦП достаточно быстр, чтобы +справляться с рабочей нагрузкой. +.TP +.B \-Z, \-\-force\-zero +Форсирует небезопасную операцию синхронизации файла с нулевым +размером, который ранее был ненулевым. +Если SnapRAID обнаруживает такое условие, он прекращает выполнение, +если вы не укажете эту опцию. +Это позволяет легко обнаружить, когда после сбоя системы +некоторые доступные файлы были усечены. +Это возможное условие в Linux с файловыми системами ext3/ext4. +Эту опцию можно использовать только с \`sync\`. +.TP +.B \-E, \-\-force\-empty +Форсирует небезопасную операцию синхронизации диска, на котором +отсутствуют все исходные файлы. +Если SnapRAID обнаруживает, что все файлы, изначально присутствующие +на диске, отсутствуют или перезаписаны, он прекращает выполнение, +если вы не укажете эту опцию. +Это позволяет легко обнаружить, когда файловая система данных не +смонтирована. +Эту опцию можно использовать только с \`sync\`. +.TP +.B \-U, \-\-force\-uuid +Форсирует небезопасную операцию синхронизации, проверки и исправления +с дисками, у которых изменился UUID. +Если SnapRAID обнаруживает, что у некоторых дисков изменился UUID, +он прекращает выполнение, если вы не укажете эту опцию. +Это позволяет обнаружить, когда ваши диски смонтированы в +неправильных точках монтирования. +Однако допускается однократное изменение UUID с +одиночной четностью, и больше с множественной четностью, потому что это +нормальный случай при замене дисков после восстановления. +Эту опцию можно использовать только с \`sync\`, \`check\` или +\`fix\`. +.TP +.B \-D, \-\-force\-device +Форсирует небезопасную операцию исправления с недоступными дисками +или с дисками на том же физическом устройстве. +Например, если вы потеряли два диска данных и у вас есть запасной диск для восстановления +только первого, вы можете игнорировать второй недоступный диск. +Или, если вы хотите восстановить диск в свободное место, оставшееся на +уже используемом диске, совместно использующем то же физическое устройство. +Эту опцию можно использовать только с \`fix\`. +.TP +.B \-N, \-\-force\-nocopy +В \`sync\`, \`check\` и \`fix\`, отключает эвристику обнаружения копирования. +Без этой опции SnapRAID предполагает, что файлы с одинаковыми +атрибутами, такими как имя, размер и метка времени, являются копиями с +одинаковыми данными. +Это позволяет идентифицировать скопированные или перемещенные файлы с одного диска +на другой и повторно использовать уже вычисленную информацию хэша +для обнаружения скрытых ошибок или восстановления отсутствующих файлов. +В некоторых редких случаях это поведение может привести к ложным срабатываниям +или замедлению процесса из\-за большого количества проверок хэша, и эта +опция позволяет решить такие проблемы. +Эту опцию можно использовать только с \`sync\`, \`check\` и \`fix\`. +.TP +.B \-F, \-\-force\-full +В \`sync\`, форсирует полный пересчет четности. +Эту опцию можно использовать, когда вы добавляете новый уровень четности или если +вы вернулись к старому файлу content, используя более свежие данные четности. +Вместо того чтобы воссоздавать четность с нуля, это позволяет +повторно использовать хэши, присутствующие в файле content, для проверки данных +и поддержания защиты данных во время процесса \`sync\` с использованием +существующих данных четности. +Эту опцию можно использовать только с \`sync\`. +.TP +.B \-R, \-\-force\-realloc +В \`sync\`, форсирует полное перераспределение файлов и перестроение четности. +Эту опцию можно использовать для полного перераспределения всех файлов, +удаления фрагментации, при этом повторно используя хэши, присутствующие в файле content, +для проверки данных. +Эту опцию можно использовать только с \`sync\`. +ВНИМАНИЕ! Эта опция предназначена только для экспертов, и +настоятельно не рекомендуется ее использовать. +У вас НЕТ защиты данных во время операции \`sync\`. +.TP +.B \-l, \-\-log FILE +Записывает подробный журнал в указанный файл. +Если эта опция не указана, непредвиденные ошибки выводятся +на экран, что потенциально может привести к чрезмерному выводу в случае +множества ошибок. Когда указана \-l, \-\-log, на +экран выводятся только фатальные ошибки, которые приводят к остановке +SnapRAID. +Если путь начинается с \'>>\', файл открывается +в режиме добавления. Вхождения \'%D\' и \'%T\' в имени +заменяются датой и временем в формате ГГГГММДД и +ЧЧММСС. В пакетных файлах Windows вы должны удвоить +символ \'%\', например, result\-%%D.log. Чтобы использовать \'>>\', вы должны +заключить имя в кавычки, например, \`\[dq]>>result.log\[dq]\`. +Для вывода журнала на стандартный вывод или стандартную ошибку, +вы можете использовать \`\[dq]>&1\[dq]\` и \`\[dq]>&2\[dq]\` соответственно. +Описание тегов журнала см. в файле snapraid_log.txt или man\-странице. +.TP +.B \-L, \-\-error\-limit NUMBER +Устанавливает новый лимит ошибок до остановки выполнения. +По умолчанию SnapRAID останавливается, если обнаруживает более 100 +ошибок ввода/вывода, что указывает на вероятный сбой диска. +Эта опция влияет на \`sync\` и \`scrub\`, которым разрешено +продолжать работу после первого набора дисковых ошибок, чтобы попытаться +завершить свои операции. +Однако \`check\` и \`fix\` всегда останавливаются при первой ошибке. +.TP +.B \-S, \-\-start BLKSTART +Начинает обработку с указанного +номера блока. Это может быть полезно для повторной попытки проверить +или исправить конкретные блоки в случае поврежденного диска. +Эта опция в основном предназначена для расширенного ручного восстановления. +.TP +.B \-B, \-\-count BLKCOUNT +Обрабатывает только указанное количество блоков. +Эта опция в основном предназначена для расширенного ручного восстановления. +.TP +.B \-C, \-\-gen\-conf CONTENT +Генерирует фиктивный файл конфигурации из существующего +файла content. +Файл конфигурации записывается на стандартный вывод +и не перезаписывает существующий. +Этот файл конфигурации также содержит информацию, +необходимую для восстановления точек монтирования дисков в случае, если вы +потеряете всю систему. +.TP +.B \-v, \-\-verbose +Печатает больше информации на экран. +Если указана один раз, печатает исключенные файлы +и дополнительную статистику. +Эта опция не влияет на файлы журнала. +.TP +.B \-q, \-\-quiet +Печатает меньше информации на экран. +Если указана один раз, удаляет индикатор выполнения; дважды, +текущие операции; трижды, информационные +сообщения; четырежды, сообщения о статусе. +Фатальные ошибки всегда выводятся на экран. +Эта опция не влияет на файлы журнала. +.TP +.B \-H, \-\-help +Печатает краткий экран справки. +.TP +.B \-V, \-\-version +Печатает версию программы. +.SH CONFIGURATION +SnapRAID требует файл конфигурации, чтобы знать, где находится ваш дисковый массив +и где хранить информацию четности. +.PP +В Unix используется файл \`/usr/local/etc/snapraid.conf\`, если он существует, +в противном случае \`/etc/snapraid.conf\`. +В Windows используется файл \`snapraid.conf\` в том же +каталоге, что и \`snapraid.exe\`. +.PP +Он должен содержать следующие опции (чувствительные к регистру): +.SS parity FILE [,FILE] ... +Определяет файлы для использования для хранения информации четности. +Четность обеспечивает защиту от одного сбоя диска, +подобно RAID5. +.PP +Вы можете указать несколько файлов, которые должны быть на разных дисках. +Когда файл больше не может расти, используется следующий. +Общее доступное пространство должно быть по крайней мере таким же большим, как самый большой диск данных в +массиве. +.PP +Вы можете добавить дополнительные файлы четности позже, но вы +не можете переупорядочить или удалить их. +.PP +Сохранение дисков четности зарезервированными для четности гарантирует, что +они не станут фрагментированными, улучшая производительность. +.PP +В Windows 256 МБ остается неиспользованным на каждом диске, чтобы избежать +предупреждения о полных дисках. +.PP +Эта опция является обязательной и может использоваться только один раз. +.SS (2,3,4,5,6)\-parity FILE [,FILE] ... +Определяет файлы для использования для хранения дополнительной информации четности. +.PP +Для каждого указанного уровня четности включается один дополнительный уровень защиты: +.PD 0 +.IP \(bu +2\-parity включает двойную четность RAID6. +.IP \(bu +3\-parity включает тройную четность. +.IP \(bu +4\-parity включает четверную четность. +.IP \(bu +5\-parity включает пятерную четность. +.IP \(bu +6\-parity включает шестерную четность. +.PD +.PP +Каждый уровень четности требует наличия всех предыдущих уровней четности. +.PP +Применяются те же соображения, что и для опции \'parity\'. +.PP +Эти опции являются необязательными и могут использоваться только один раз. +.SS z\-parity FILE [,FILE] ... +Определяет альтернативный файл и формат для хранения тройной четности. +.PP +Эта опция является альтернативой \'3\-parity\', в основном предназначенной для +слабых процессоров, таких как ARM или AMD Phenom, Athlon и Opteron, +которые не поддерживают набор инструкций SSSE3. В таких случаях она +обеспечивает лучшую производительность. +.PP +Этот формат похож на тот, который используется ZFS RAIDZ3, но быстрее. +Как и ZFS, он не работает за пределами тройной четности. +.PP +При использовании \'3\-parity\' вы будете предупреждены, если рекомендуется использовать +формат \'z\-parity\' для повышения производительности. +.PP +Возможно преобразование из одного формата в другой путем настройки +файла конфигурации с желаемым файлом z\-parity или 3\-parity +и использования \'fix\' для его воссоздания. +.SS content FILE +Определяет файл для использования для хранения списка и контрольных сумм всех +файлов, присутствующих в вашем дисковом массиве. +.PP +Он может быть размещен на диске, используемом для данных, четности, или +любом другом доступном диске. +Если вы используете диск данных, этот файл автоматически исключается +из процесса \`sync\`. +.PP +Эта опция является обязательной и может использоваться несколько раз для сохранения +нескольких копий одного и того же файла. +.PP +Вы должны хранить как минимум одну копию для каждого используемого диска четности +плюс одну. Использование дополнительных копий не повредит. +.SS data NAME DIR +Определяет имя и точку монтирования дисков данных в +массиве. NAME используется для идентификации диска и должно +быть уникальным. DIR — это точка монтирования диска в +файловой системе. +.PP +Вы можете изменять точку монтирования по мере необходимости, пока вы +сохраняете NAME фиксированным. +.PP +Вы должны использовать одну опцию для каждого диска данных в массиве. +.PP +Вы можете переименовать диск позже, изменив NAME непосредственно +в файле конфигурации, а затем запустив команду \'sync\'. +В случае переименования, ассоциация выполняется с использованием сохраненного +UUID дисков. +.SS nohidden +Исключает все скрытые файлы и каталоги. +В Unix скрытые файлы — это те, которые начинаются с \`.\`. +В Windows — это те, у которых есть скрытый атрибут. +.SS exclude/include PATTERN +Определяет шаблоны файлов или каталогов для исключения или включения +в процесс синхронизации. +Все шаблоны обрабатываются в указанном порядке. +.PP +Если первый совпадающий шаблон — это \`exclude\`, файл +исключается. Если это \`include\`, файл включается. +Если ни один шаблон не совпадает, файл исключается, если последний +указанный шаблон — это \`include\`, или включается, если последний шаблон +— это \`exclude\`. +.PP +Подробнее о спецификациях шаблонов см. в разделе PATTERN. +.PP +Эту опцию можно использовать несколько раз. +.SS blocksize SIZE_IN_KIBIBYTES +Определяет базовый размер блока в кибибайтах для четности. +Один кибибайт — это 1024 байта. +.PP +Размер блока по умолчанию — 256, что должно работать в большинстве случаев. +.PP +ВНИМАНИЕ! Эта опция предназначена только для экспертов, и +настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в +будущем, вам потребуется воссоздать всю четность! +.PP +Причина использовать другой размер блока — если у вас много маленьких +файлов, порядка миллионов. +.PP +Для каждого файла, даже если всего несколько байтов, выделяется целый блок четности, +и при большом количестве файлов это может привести к значительным неиспользуемым +пространствам четности. +Когда вы полностью заполните диск четности, вам не будет +разрешено добавлять больше файлов на диски данных. +Однако потерянная четность не накапливается на дисках данных. Потерянное пространство, +возникающее из\-за большого числа файлов на диске данных, ограничивает только +объем данных на этом диске данных, а не на других. +.PP +В качестве приближения вы можете предположить, что половина размера блока +теряется для каждого файла. Например, при 100 000 файлов и размере блока 256 КиБ +вы потеряете 12,8 ГБ четности, что может привести к +уменьшению доступного пространства на диске данных на 12,8 ГБ. +.PP +Вы можете проверить количество потерянного пространства на каждом диске с помощью \`status\`. +Это количество пространства, которое вы должны оставить свободным на дисках +данных или использовать для файлов, не включенных в массив. +Если это значение отрицательное, это означает, что вы близки к заполнению +четности, и оно представляет пространство, которое вы все еще можете потерять. +.PP +Чтобы избежать этой проблемы, вы можете использовать больший раздел для четности. +Например, если раздел четности на 12,8 ГБ больше, чем диски данных, +у вас есть достаточно дополнительного пространства для обработки до 100 000 +файлов на каждом диске данных без каких\-либо потерь пространства. +.PP +Хитрость для получения большего раздела четности в Linux — отформатировать его +командой: +.PP +.RS 4 +mkfs.ext4 \-m 0 \-T largefile4 DEVICE +.PD 0 +.PD +.RE +.PP +Это приводит к примерно 1,5% дополнительного пространства, приблизительно 60 ГБ для +диска 4 ТБ, что позволяет разместить около 460 000 файлов на каждом диске данных без +каких\-либо потерь пространства. +.SS hashsize SIZE_IN_BYTES +Определяет размер хэша в байтах для сохраненных блоков. +.PP +Размер хэша по умолчанию — 16 байт (128 бит), что должно работать +в большинстве случаев. +.PP +ВНИМАНИЕ! Эта опция предназначена только для экспертов, и +настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в +будущем, вам потребуется воссоздать всю четность! +.PP +Причина использовать другой размер хэша — если ваша система имеет +ограниченную память. Как правило, SnapRAID обычно требует +1 ГиБ ОЗУ на каждые 16 ТБ данных в массиве. +.PP +В частности, для хранения хэшей данных SnapRAID требует +приблизительно TS*(1+HS)/BS байт ОЗУ, +где TS — это общий размер в байтах вашего дискового массива, BS — +размер блока в байтах, и HS — размер хэша в байтах. +.PP +Например, при 8 дисках по 4 ТБ, размере блока 256 КиБ +(1 КиБ = 1024 байта) и размере хэша 16, вы получаете: +.PP +RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB +.PD 0 +.PD +.PP +Переключение на размер хэша 8, вы получаете: +.PP +RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB +.PD 0 +.PD +.PP +Переключение на размер блока 512, вы получаете: +.PP +RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB +.PD 0 +.PD +.PP +Переключение как на размер хэша 8, так и на размер блока 512, вы получаете: +.PP +RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB +.PD 0 +.PD +.SS autosave SIZE_IN_GIGABYTES +Автоматически сохраняет состояние при синхронизации или проверке после +обработки указанного количества ГБ. +Эта опция полезна, чтобы избежать перезапуска длительных команд \`sync\` +с нуля, если они были прерваны сбоем машины или любым другим событием. +.SS temp_limit TEMPERATURE_CELSIUS +Устанавливает максимально допустимую температуру диска в Цельсиях. Если указано, +SnapRAID периодически проверяет температуру всех дисков с помощью +инструмента smartctl. Текущие температуры дисков отображаются во время +работы SnapRAID. Если какой\-либо диск превышает этот лимит, все операции +останавливаются, и диски останавливают вращение (переходят в режим ожидания) на время, +определенное опцией \`temp_sleep\`. После периода ожидания операции +возобновляются, потенциально снова приостанавливаясь, если лимит температуры +достигается еще раз. +.PP +Во время работы SnapRAID также анализирует кривую нагрева каждого +диска и оценивает долгосрочную установившуюся температуру, которую они, +как ожидается, достигнут, если активность продолжится. Оценка выполняется +только после того, как температура диска увеличилась четыре раза, +что гарантирует наличие достаточного количества данных для установления +надежной тенденции. +Эта прогнозируемая установившаяся температура показывается в скобках рядом с +текущим значением и помогает оценить, достаточно ли +охлаждение системы. Эта оценочная температура предназначена только +для информации и не влияет на поведение SnapRAID. Действия программы +основываются исключительно на фактических измеренных температурах дисков. +.PP +Для выполнения этого анализа SnapRAID требуется эталон для температуры +системы. Сначала он пытается прочитать его из доступных аппаратных +датчиков. Если ни один системный датчик не может быть доступен, он использует +самую низкую температуру диска, измеренную в начале выполнения, в качестве +резервного эталона. +.PP +Обычно SnapRAID показывает только температуру самого горячего диска. +Чтобы отобразить температуру всех дисков, используйте опцию \-A или \-\-stats. +.SS temp_sleep TIME_IN_MINUTES +Устанавливает время ожидания, в минутах, когда достигается предел температуры. +В течение этого периода диски остаются остановленными. По умолчанию — 5 минут. +.SS pool DIR +Определяет каталог объединения (pooling), где создается виртуальное представление +дискового массива с помощью команды \`pool\`. +.PP +Каталог должен уже существовать. +.SS share UNC_DIR +Определяет путь UNC Windows, необходимый для удаленного доступа к дискам. +.PP +Если указана эта опция, символические ссылки, созданные в каталоге pool, +используют этот путь UNC для доступа к дискам. +Без этой опции сгенерированные символические ссылки используют только локальные пути, +что не позволяет предоставлять общий доступ к каталогу pool по сети. +.PP +Символические ссылки формируются с использованием указанного пути UNC, добавлением +имени диска, как указано в опции \`data\`, и, наконец, добавлением +каталога и имени файла. +.PP +Эта опция требуется только для Windows. +.SS smartctl DISK/PARITY OPTIONS... +Определяет пользовательские опции smartctl для получения атрибутов SMART для +каждого диска. Это может потребоваться для контроллеров RAID и некоторых USB\-дисков, +которые не могут быть обнаружены автоматически. Заполнитель %s заменяется +именем устройства, но он необязателен для фиксированных устройств, таких как +контроллеры RAID. +.PP +DISK — это то же имя диска, указанное в опции \`data\`. +PARITY — это одно из имен четности: \`parity\`, \`2\-parity\`, \`3\-parity\`, +\`4\-parity\`, \`5\-parity\`, \`6\-parity\` или \`z\-parity\`. +.PP +В указанных OPTIONS строка \`%s\` заменяется +именем устройства. Для контроллеров RAID устройство, +вероятно, фиксировано, и вам может не потребоваться использовать \`%s\`. +.PP +Возможные опции см. в документации smartmontools: +.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 +Например: +.PP +.RS 4 +smartctl parity \-d sat %s +.PD 0 +.PD +.RE +.SS smartignore DISK/PARITY ATTR [ATTR...] +Игнорирует указанный атрибут SMART при вычислении вероятности +сбоя диска. Эта опция полезна, если диск сообщает необычные или +вводящие в заблуждение значения для конкретного атрибута. +.PP +DISK — это то же имя диска, указанное в опции \`data\`. +PARITY — это одно из имен четности: \`parity\`, \`2\-parity\`, \`3\-parity\`, +\`4\-parity\`, \`5\-parity\`, \`6\-parity\` или \`z\-parity\`. +Специальное значение * может использоваться для игнорирования атрибута на всех дисках. +.PP +Например, чтобы игнорировать атрибут \`Current Pending Sector Count\` на +всех дисках: +.PP +.RS 4 +smartignore * 197 +.PD 0 +.PD +.RE +.PP +Чтобы игнорировать его только на первом диске четности: +.PP +.RS 4 +smartignore parity 197 +.PD 0 +.PD +.RE +.SS Examples +Пример типичной конфигурации для 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 +Пример типичной конфигурации для 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 PATTERN +Шаблоны используются для выбора подмножества файлов для исключения или включения +в процесс. +.PP +Существует четыре различных типа шаблонов: +.TP +.B FILE +Выбирает любой файл с именем FILE. Вы можете использовать любые символы +глоббинга, такие как * и ?, и классы символов, такие как [a\-z]. +Этот шаблон применяется только к файлам, а не к каталогам. +.TP +.B DIR/ +Выбирает любой каталог с именем DIR и все внутри. +Вы можете использовать любые символы глоббинга, такие как * и ?. +Этот шаблон применяется только к каталогам, а не к файлам. +.TP +.B /PATH/FILE +Выбирает точно указанный путь к файлу. Вы можете использовать любые +символы глоббинга, такие как * и ?, но они никогда не совпадают с +косой чертой каталога. +Этот шаблон применяется только к файлам, а не к каталогам. +.TP +.B /PATH/DIR/ +Выбирает точно указанный путь к каталогу и все внутри. +Вы можете использовать любые символы глоббинга, такие как * и ?, но +они никогда не совпадают с косой чертой каталога. +Этот шаблон применяется только к каталогам, а не к файлам. +.PP +Когда вы указываете абсолютный путь, начинающийся с /, он применяется к +корневому каталогу массива, а не к корневому каталогу локальной файловой системы. +.PP +В Windows вы можете использовать обратную косую черту \\ вместо прямой /. +Системные каталоги Windows, точки соединения, точки монтирования и другие +специальные каталоги Windows рассматриваются как файлы, что означает, что для их +исключения вы должны использовать правило файла, а не каталога. +.PP +Если имя файла содержит символы \'*\', \'?\', \'[\', +или \']\', вы должны экранировать их, чтобы избежать их интерпретации как +символов глоббинга. В Unix символом экранирования является \'\\\'; в Windows — \'^\'. +Когда шаблон находится в командной строке, вы должны удвоить символ +экранирования, чтобы избежать его интерпретации командной оболочкой. +.PP +В файле конфигурации вы можете использовать различные стратегии для фильтрации +файлов для обработки. +Самый простой подход — использовать только правила \`exclude\` для удаления всех +файлов и каталогов, которые вы не хотите обрабатывать. Например: +.PP +.RS 4 +# Исключает любой файл с именем \`*.unrecoverable\` +.PD 0 +.PP +.PD +exclude *.unrecoverable +.PD 0 +.PP +.PD +# Исключает корневой каталог \`/lost+found\` +.PD 0 +.PP +.PD +exclude /lost+found/ +.PD 0 +.PP +.PD +# Исключает любой подкаталог с именем \`tmp\` +.PD 0 +.PP +.PD +exclude tmp/ +.PD 0 +.PD +.RE +.PP +Противоположный подход — определить только файлы, которые вы хотите обрабатывать, используя +только правила \`include\`. Например: +.PP +.RS 4 +# Включает только некоторые каталоги +.PD 0 +.PP +.PD +include /movies/ +.PD 0 +.PP +.PD +include /musics/ +.PD 0 +.PP +.PD +include /pictures/ +.PD 0 +.PD +.RE +.PP +Конечный подход — смешивать правила \`exclude\` и \`include\`. В этом случае +порядок правил важен. Более ранние правила имеют +преимущество над более поздними. +Для упрощения вы можете сначала перечислить все правила \`exclude\`, а затем +все правила \`include\`. Например: +.PP +.RS 4 +# Исключает любой файл с именем \`*.unrecoverable\` +.PD 0 +.PP +.PD +exclude *.unrecoverable +.PD 0 +.PP +.PD +# Исключает любой подкаталог с именем \`tmp\` +.PD 0 +.PP +.PD +exclude tmp/ +.PD 0 +.PP +.PD +# Включает только некоторые каталоги +.PD 0 +.PP +.PD +include /movies/ +.PD 0 +.PP +.PD +include /musics/ +.PD 0 +.PP +.PD +include /pictures/ +.PD 0 +.PD +.RE +.PP +В командной строке, используя опцию \-f, вы можете использовать только шаблоны \`include\`. +Например: +.PP +.RS 4 +# Проверяет только файлы .mp3. +.PD 0 +.PP +.PD +# В Unix используйте кавычки, чтобы избежать расширения глоббинга оболочкой. +.PD 0 +.PP +.PD +snapraid \-f \[dq]*.mp3\[dq] check +.PD 0 +.PD +.RE +.PP +В Unix при использовании символов глоббинга в командной строке вы должны +заключить их в кавычки, чтобы предотвратить их расширение оболочкой. +.SH CONTENT +SnapRAID хранит список и контрольные суммы ваших файлов в файле content. +.PP +Это бинарный файл, который перечисляет все файлы, присутствующие в вашем дисковом массиве, +вместе со всеми контрольными суммами для проверки их целостности. +.PP +Этот файл считывается и записывается командами \`sync\` и \`scrub\` и +считывается командами \`fix\`, \`check\` и \`status\`. +.SH PARITY +SnapRAID хранит информацию четности вашего массива в файлах parity. +.PP +Это бинарные файлы, содержащие вычисленную четность всех +блоков, определенных в файле \`content\`. +.PP +Эти файлы считываются и записываются командами \`sync\` и \`fix\` и +только считываются командами \`scrub\` и \`check\`. +.SH ENCODING +SnapRAID в Unix игнорирует любое кодирование. Он считывает и хранит +имена файлов с тем же кодированием, которое используется файловой системой. +.PP +В Windows все имена, считанные из файловой системы, преобразуются и +обрабатываются в формате UTF\-8. +.PP +Чтобы имена файлов печатались правильно, вы должны установить консоль Windows +в режим UTF\-8 командой \`chcp 65001\` и использовать +шрифт TrueType, такой как \`Lucida Console\`, в качестве шрифта консоли. +Это влияет только на печатаемые имена файлов; если вы +перенаправляете вывод консоли в файл, результирующий файл всегда +в формате UTF\-8. +.SH COPYRIGHT +Этот файл защищен авторским правом (C) 2025 Andrea Mazzoleni +.SH SEE ALSO +snapraid_log(1), rsync(1) diff --git a/snapraid.1 b/man/snapraid.1 similarity index 100% rename from snapraid.1 rename to man/snapraid.1 diff --git a/snapraid_log.1 b/man/snapraid_log.1 similarity index 100% rename from snapraid_log.1 rename to man/snapraid_log.1 diff --git a/man/uk/snapraid.1 b/man/uk/snapraid.1 new file mode 100644 index 00000000..26387a62 --- /dev/null +++ b/man/uk/snapraid.1 @@ -0,0 +1,2105 @@ +.TH "SnapRAID Резервне копіювання для дискових масивів" 1 +.SH NAME +snapraid \- SnapRAID Резервне копіювання для дискових масивів +.SH Короткий опис +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 Опис +SnapRAID — це програма резервного копіювання, розроблена для +дискових масивів, яка зберігає інформацію парності для +відновлення даних у випадку відмови до шести дисків. +.PP +В першу чергу призначена для домашніх медіацентрів з великими +файлами, що рідко змінюються, SnapRAID пропонує кілька функцій: +.PD 0 +.IP \(bu +Ви можете використовувати диски, вже заповнені файлами, без +необхідності їх переформатування, отримуючи доступ до них +як зазвичай. +.IP \(bu +Усі ваші дані хешуються для забезпечення цілісності даних +та запобігання прихованому пошкодженню. +.IP \(bu +Коли кількість дисків, що відмовили, перевищує кількість +дисків парності, втрата даних обмежується дисками, що +постраждали; дані на інших дисках залишаються доступними. +.IP \(bu +Якщо ви випадково видалили файли на диску, можливе +відновлення. +.IP \(bu +Диски можуть мати різний розмір. +.IP \(bu +Ви можете додавати диски в будь\-який час. +.IP \(bu +SnapRAID не блокує ваші дані; ви можете припинити його +використання в будь\-який час без переформатування або +переміщення даних. +.IP \(bu +Для доступу до файлу потрібно розкрутити лише один диск, що +заощаджує електроенергію та зменшує шум. +.PD +.PP +Для отримання додаткової інформації відвідайте офіційний сайт +SnapRAID: +.PP +.RS 4 +https://www.snapraid.it/ +.PD 0 +.PD +.RE +.SH Обмеження +SnapRAID є гібридом між RAID та програмою резервного копіювання, +прагнучи поєднати найкращі переваги обох. Однак, він має деякі +обмеження, які слід врахувати перед його використанням. +.PP +Основне обмеження полягає в тому, що якщо диск виходить з ладу, +а ви нещодавно не виконували синхронізацію, ви можете не +змогти повністю відновити дані. +Конкретніше, ви можете втратити можливість відновлення даних +обсягом до розміру змінених або видалених файлів з моменту +останньої операції синхронізації. +Це відбувається, навіть якщо змінені або видалені файли не +знаходяться на диску, що вийшов з ладу. Ось чому SnapRAID +краще підходить для даних, які рідко змінюються. +.PP +З іншого боку, щойно додані файли не перешкоджають відновленню +вже існуючих файлів. Ви втратите лише нещодавно додані файли, +якщо вони знаходяться на диску, що вийшов з ладу. +.PP +Інші обмеження SnapRAID: +.PD 0 +.IP \(bu +З SnapRAID у вас все ще є окремі файлові системи для +кожного диска. З RAID ви отримуєте одну велику файлову +систему. +.IP \(bu +SnapRAID не використовує чергування (striping) даних. +З RAID ви отримуєте прискорення завдяки чергуванню. +.IP \(bu +SnapRAID не підтримує відновлення в реальному часі. +З RAID вам не потрібно припиняти роботу, коли диск +виходить з ладу. +.IP \(bu +SnapRAID може відновлювати дані лише з обмеженої кількості +дисків, що вийшли з ладу. З резервним копіюванням ви +можете відновити дані навіть після повної відмови +всього дискового масиву. +.IP \(bu +Зберігаються лише імена файлів, часові мітки, символічні +та жорсткі посилання. Права доступу, власність та +розширені атрибути не зберігаються. +.PD +.SH Початок роботи +Щоб використовувати SnapRAID, спершу потрібно вибрати один диск +у вашому дисковому масиві, щоб присвятити його інформації +\`парності\`. З одним диском для парності ви зможете відновити +дані після відмови одного диска, подібно до RAID5. +.PP +Якщо ви хочете відновити дані після більшої кількості +дисків, що відмовили, подібно до RAID6, ви повинні зарезервувати +додаткові диски для парності. Кожен додатковий диск парності +дозволяє відновити дані після відмови ще одного диска. +.PP +Як диски парності ви повинні вибрати найбільші диски в масиві, +оскільки інформація парності може зрости до розміру найбільшого +диска даних у масиві. +.PP +Ці диски будуть присвячені зберіганню файлів \`парності\`. Ви +не повинні зберігати на них свої дані. +.PP +Потім ви повинні визначити диски \`даних\`, які ви хочете +захистити за допомогою SnapRAID. Захист є більш ефективним, +якщо ці диски містять дані, що рідко змінюються. З цієї причини +краще НЕ включати диск Windows C:\\ або каталоги Unix /home, +/var та /tmp. +.PP +Список файлів зберігається у файлах \`content\` (вміст), які +зазвичай зберігаються на дисках даних, парності або завантажувальних +дисках. +Цей файл містить деталі вашої резервної копії, включаючи +всі контрольні суми для перевірки її цілісності. +Файл \`content\` зберігається в кількох копіях, і кожна копія +повинна бути на окремому диску, щоб гарантувати, що навіть у +разі відмови кількох дисків, принаймні одна копія буде доступна. +.PP +Наприклад, припустимо, вас цікавить лише один рівень захисту +парності, а ваші диски розташовані за адресами: +.PP +.RS 4 +/mnt/diskp <\- вибраний диск для парності +.PD 0 +.PP +.PD +/mnt/disk1 <\- перший диск для захисту +.PD 0 +.PP +.PD +/mnt/disk2 <\- другий диск для захисту +.PD 0 +.PP +.PD +/mnt/disk3 <\- третій диск для захисту +.PD 0 +.PD +.RE +.PP +Ви повинні створити конфігураційний файл /etc/snapraid.conf з +наступними опціями: +.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 +Якщо ви працюєте в Windows, ви повинні використовувати формат +шляху Windows, з літерами дисків та зворотними скісними рисками +замість прямих. +.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 +Якщо у вас багато дисків і закінчилися літери дисків, ви можете +монтувати диски безпосередньо у вкладені папки. Див: +.PP +.RS 4 +https://www.google.com/search?q=Windows+mount+point +.PD 0 +.PD +.RE +.PP +На цьому етапі ви готові запустити команду \`sync\` для побудови +інформації парності. +.PP +.RS 4 +snapraid sync +.PD 0 +.PD +.RE +.PP +Цей процес може зайняти кілька годин вперше, залежно від розміру +даних, які вже є на дисках. Якщо диски порожні, процес +відбувається миттєво. +.PP +Ви можете зупинити його в будь\-який час, натиснувши Ctrl+C, +і під час наступного запуску він відновить роботу з місця, +де був перерваний. +.PP +Коли ця команда завершиться, ваші дані БЕЗПЕЧНІ. +.PP +Тепер ви можете почати використовувати свій масив як вам подобається +і періодично оновлювати інформацію парності, запускаючи команду \`sync\`. +.SS Скрабування (Scrubbing) +Щоб періодично перевіряти дані та парність на наявність помилок, +ви можете запустити команду \`scrub\`. +.PP +.RS 4 +snapraid scrub +.PD 0 +.PD +.RE +.PP +Ця команда порівнює дані у вашому масиві з хешем, обчисленим +під час команди \`sync\`, для перевірки цілісності. +.PP +Кожен запуск команди перевіряє приблизно 8% масиву, виключаючи +дані, які вже були скрабовані протягом попередніх 10 днів. +Ви можете використовувати опцію \-p, \-\-plan, щоб вказати іншу +кількість, і опцію \-o, \-\-older\-than, щоб вказати інший вік +у днях. +Наприклад, щоб перевірити 5% масиву на блоки старші за 20 днів, +використовуйте: +.PP +.RS 4 +snapraid \-p 5 \-o 20 scrub +.PD 0 +.PD +.RE +.PP +Якщо під час процесу виявлено приховані помилки або помилки +введення/виведення, відповідні блоки позначаються як погані у +файлі \`content\` і перераховуються у команді \`status\`. +.PP +.RS 4 +snapraid status +.PD 0 +.PD +.RE +.PP +Щоб їх виправити, ви можете використовувати команду \`fix\`, +фільтруючи погані блоки за допомогою опції \-e, \-\-filter\-error: +.PP +.RS 4 +snapraid \-e fix +.PD 0 +.PD +.RE +.PP +Під час наступного \`scrub\` помилки зникнуть зі звіту \`status\`, +якщо вони справді виправлені. Щоб зробити це швидше, ви можете +використовувати \-p bad, щоб скрабувати лише блоки, позначені +як погані. +.PP +.RS 4 +snapraid \-p bad scrub +.PD 0 +.PD +.RE +.PP +Запуск \`scrub\` на несинхронізованому масиві може повідомити +про помилки, спричинені видаленими або зміненими файлами. +Ці помилки відображаються у виведенні \`scrub\`, але пов\'язані +блоки не позначаються як погані. +.SS Об\'єднання (Pooling) +Примітка: Функція об\'єднання, описана нижче, була замінена +інструментом mergefs, який тепер є рекомендованою опцією для +користувачів Linux у спільноті SnapRAID. Mergefs забезпечує +більш гнучкий та ефективний спосіб об\'єднання кількох дисків +в єдину уніфіковану точку монтування, дозволяючи безперешкодний +доступ до файлів у вашому масиві без використання символічних +посилань. Він добре інтегрується з SnapRAID для захисту +парності і зазвичай використовується в налаштуваннях, таких +як OpenMediaVault (OMV) або користувацьких конфігураціях NAS. +.PP +Щоб відобразити всі файли у вашому масиві в одному дереві +каталогів, ви можете ввімкнути функцію \`pooling\` (об\'єднання). +Вона створює віртуальне представлення всіх файлів у вашому +масиві лише для читання, використовуючи символічні посилання. +.PP +Ви можете налаштувати каталог \`pooling\` у конфігураційному +файлі за допомогою: +.PP +.RS 4 +pool /pool +.PD 0 +.PD +.RE +.PP +або, якщо ви працюєте в Windows, за допомогою: +.PP +.RS 4 +pool C:\\pool +.PD 0 +.PD +.RE +.PP +а потім запустити команду \`pool\` для створення або оновлення +віртуального представлення. +.PP +.RS 4 +snapraid pool +.PD 0 +.PD +.RE +.PP +Якщо ви використовуєте платформу Unix і хочете надати спільний +доступ до цього каталогу через мережу для машин Windows або +Unix, ви повинні додати наступні опції до вашого +/etc/samba/smb.conf: +.PP +.RS 4 +# У глобальному розділі smb.conf +.PD 0 +.PP +.PD +unix extensions = no +.PD 0 +.PD +.RE +.PP +.RS 4 +# У розділі спільного доступу 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 +У Windows спільний доступ до символічних посилань через мережу +вимагає від клієнтів віддаленого їх розпізнавання. Щоб +увімкнути це, окрім спільного доступу до каталогу pool, ви +також повинні надати спільний доступ до всіх дисків незалежно, +використовуючи імена дисків, визначені у конфігураційному +файлі, як точки спільного доступу. Ви також повинні вказати у +опції \`share\` конфігураційного файлу шлях Windows UNC, який +потрібен віддаленим клієнтам для доступу до цих спільних дисків. +.PP +Наприклад, працюючи з сервера з іменем \`darkstar\`, ви можете +використовувати опції: +.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 +і надати спільний доступ до наступних каталогів через мережу: +.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 +щоб дозволити віддаленим клієнтам отримати доступ до всіх файлів +за адресою \\\\darkstar\\pool. +.PP +Вам також може знадобитися налаштувати віддалені клієнти, щоб +увімкнути доступ до віддалених символічних посилань за допомогою +команди: +.PP +.RS 4 +fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 +.PD 0 +.PD +.RE +.SS Відновлення видалених файлів (Undeleting) +SnapRAID функціонує більше як програма резервного копіювання, +ніж система RAID, і його можна використовувати для відновлення +або повернення файлів до їх попереднього стану за допомогою +опції \-f, \-\-filter: +.PP +.RS 4 +snapraid fix \-f FILE +.PD 0 +.PD +.RE +.PP +або для каталогу: +.PP +.RS 4 +snapraid fix \-f DIR/ +.PD 0 +.PD +.RE +.PP +Ви також можете використовувати його для відновлення лише випадково +видалених файлів усередині каталогу за допомогою опції \-m, +\-\-filter\-missing, яка відновлює лише відсутні файли, +залишаючи всі інші недоторканими. +.PP +.RS 4 +snapraid fix \-m \-f DIR/ +.PD 0 +.PD +.RE +.PP +Або для відновлення всіх видалених файлів на всіх дисках за допомогою: +.PP +.RS 4 +snapraid fix \-m +.PD 0 +.PD +.RE +.SS Відновлення (Recovering) +Сталося найгірше, і ви втратили один або кілька дисків! +.PP +НЕ ПАНІКУЙТЕ! Ви зможете їх відновити! +.PP +Перше, що ви повинні зробити, це уникнути подальших змін у +вашому дисковому масиві. Вимкніть будь\-які віддалені +підключення до нього та будь\-які заплановані процеси, +включаючи будь\-яку заплановану нічну синхронізацію або +скрабування SnapRAID. +.PP +Потім виконайте наступні кроки. +.SS КРОК 1 \-> Переналаштування +Вам потрібен деякий простір для відновлення, в ідеалі на +додаткових запасних дисках, але зовнішній USB\-диск або +віддалений диск підійде. +.PP +Змініть конфігураційний файл SnapRAID, щоб опція \`data\` або +\`parity\` диска, що вийшов з ладу, вказувала на місце розташування +з достатньою кількістю вільного місця для відновлення файлів. +.PP +Наприклад, якщо диск \`d1\` вийшов з ладу, змініть з: +.PP +.RS 4 +data d1 /mnt/disk1/ +.PD 0 +.PD +.RE +.PP +на: +.PP +.RS 4 +data d1 /mnt/new_spare_disk/ +.PD 0 +.PD +.RE +.PP +Якщо диск, який потрібно відновити, є диском парності, оновіть +відповідну опцію \`parity\`. +Якщо у вас кілька дисків, що вийшли з ладу, оновіть усі їхні +конфігураційні опції. +.SS КРОК 2 \-> Виправлення (Fix) +Запустіть команду fix, зберігаючи журнал у зовнішньому файлі +за допомогою: +.PP +.RS 4 +snapraid \-d NAME \-l fix.log fix +.PD 0 +.PD +.RE +.PP +Де NAME — це ім\'я диска, наприклад \`d1\` у нашому попередньому +прикладі. +Якщо диск, який потрібно відновити, є диском парності, +використовуйте імена \`parity\`, \`2\-parity\`, тощо. +Якщо у вас кілька дисків, що вийшли з ладу, використовуйте +кілька опцій \-d, щоб вказати їх усі. +.PP +Ця команда займе багато часу. +.PP +Переконайтеся, що у вас є кілька гігабайт вільного місця для +зберігання файлу fix.log. +Запустіть її з диска з достатньою кількістю вільного місця. +.PP +Тепер ви відновили все, що можна відновити. Якщо деякі файли +частково або повністю неможливо відновити, вони будуть перейменовані +з додаванням розширення \`.unrecoverable\`. +.PP +Ви можете знайти детальний список усіх невідновлюваних блоків +у файлі fix.log, перевіривши всі рядки, що починаються з +\`unrecoverable:\`. +.PP +Якщо ви не задоволені відновленням, ви можете повторити його +стільки разів, скільки забажаєте. +.PP +Наприклад, якщо ви видалили файли з масиву після останньої +\`sync\`, це може призвести до того, що деякі файли не будуть +відновлені. +У цьому випадку ви можете повторити \`fix\`, використовуючи +опцію \-i, \-\-import, вказавши, де ці файли знаходяться зараз, +щоб знову включити їх у процес відновлення. +.PP +Якщо ви задоволені відновленням, ви можете продовжити, але +зауважте, що після синхронізації ви більше не зможете повторити +команду \`fix\`! +.SS КРОК 3 \-> Перевірка (Check) +Як обережну перевірку, ви можете тепер запустити команду +\`check\`, щоб переконатися, що на відновленому диску все +правильно. +.PP +.RS 4 +snapraid \-d NAME \-a check +.PD 0 +.PD +.RE +.PP +Де NAME — це ім\'я диска, наприклад \`d1\` у нашому попередньому +прикладі. +.PP +Опції \-d та \-a вказують SnapRAID перевіряти лише вказаний +диск та ігнорувати всі дані парності. +.PP +Ця команда займе багато часу, але якщо ви не надто обережні, +ви можете її пропустити. +.SS КРОК 4 \-> Синхронізація (Sync) +Запустіть команду \`sync\`, щоб повторно синхронізувати масив +з новим диском. +.PP +.RS 4 +snapraid sync +.PD 0 +.PD +.RE +.PP +Якщо все відновлено, ця команда виконується миттєво. +.SH Команди +SnapRAID надає кілька простих команд, які дозволяють: +.PD 0 +.IP \(bu +Вивести статус масиву \-> \`status\` +.IP \(bu +Керувати дисками \-> \`smart\`, \`probe\`, \`up\`, \`down\` +.IP \(bu +Створити резервну копію/знімок \-> \`sync\` +.IP \(bu +Періодично перевіряти дані \-> \`scrub\` +.IP \(bu +Відновити останню резервну копію/знімок \-> \`fix\`. +.PD +.PP +Команди повинні бути написані малими літерами. +.SS status +Виводить зведення стану дискового масиву. +.PP +Включає інформацію про фрагментацію парності, вік блоків без +перевірки та всі записані приховані помилки, виявлені під +час скрабування. +.PP +Представлена інформація стосується останнього часу, коли ви +запустили \`sync\`. Пізніші модифікації не враховуються. +.PP +Якщо виявлено погані блоки, перераховуються їхні номери блоків. +Щоб їх виправити, ви можете використовувати команду \`fix \-e\`. +.PP +Також показує графік, що представляє останній час, коли +кожен блок був скрабований або синхронізований. Скрабовані +блоки позначаються символом \'*\', блоки, синхронізовані, +але ще не скрабовані, \- \'o\'. +.PP +Нічого не змінюється. +.SS smart +Виводить звіт SMART усіх дисків у системі. +.PP +Включає оцінку ймовірності відмови протягом наступного року, +дозволяючи вам планувати планову заміну дисків, які +виявляють підозрілі атрибути. +.PP +Ця оцінка ймовірності отримана шляхом кореляції атрибутів +SMART дисків з даними Backblaze, доступними за адресою: +.PP +.RS 4 +https://www.backblaze.com/hard\-drive\-test\-data.html +.PD 0 +.PD +.RE +.PP +Якщо SMART повідомляє, що диск виходить з ладу, для цього +диска виводиться \`FAIL\` або \`PREFAIL\`, і SnapRAID повертає +помилку. У цьому випадку настійно рекомендується негайна +заміна диска. +.PP +Інші можливі рядки стану: +.RS 4 +.PD 0 +.HP 4 +.I logfail +У минулому деякі атрибути були нижчими за +поріг. +.HP 4 +.I logerr +Журнал помилок пристрою містить помилки. +.HP 4 +.I selferr +Журнал самотестування пристрою містить помилки. +.PD +.RE +.PP +Якщо вказано опцію \-v, \-\-verbose, надається глибший +статистичний аналіз. Цей аналіз може допомогти вам вирішити, +чи потрібна вам більша або менша парність. +.PP +Ця команда використовує інструмент \`smartctl\` і еквівалентна +запуску \`smartctl \-a\` на всіх пристроях. +.PP +Якщо ваші пристрої не виявляються автоматично правильно, ви +можете вказати користувацьку команду, використовуючи опцію +\`smartctl\` у конфігураційному файлі. +.PP +Нічого не змінюється. +.SS probe +Виводить стан ЖИВЛЕННЯ всіх дисків у системі. +.PP +\`Standby\` означає, що диск не обертається. \`Active\` означає, +що диск обертається. +.PP +Ця команда використовує інструмент \`smartctl\` і еквівалентна +запуску \`smartctl \-n standby \-i\` на всіх пристроях. +.PP +Якщо ваші пристрої не виявляються автоматично правильно, ви +можете вказати користувацьку команду, використовуючи опцію +\`smartctl\` у конфігураційному файлі. +.PP +Нічого не змінюється. +.SS up +Розкручує всі диски масиву. +.PP +Ви можете розкрутити лише певні диски, використовуючи +опцію \-d, \-\-filter\-disk. +.PP +Одночасне розкручування всіх дисків вимагає багато енергії. +Переконайтеся, що ваш блок живлення може це витримати. +.PP +Нічого не змінюється. +.SS down +Зупиняє всі диски масиву. +.PP +Ця команда використовує інструмент \`smartctl\` і еквівалентна +запуску \`smartctl \-s standby,now\` на всіх пристроях. +.PP +Ви можете зупинити лише певні диски, використовуючи +опцію \-d, \-\-filter\-disk. +.PP +Для автоматичної зупинки при помилці ви можете +використовувати опцію \-s, \-\-spin\-down\-on\-error з будь\-якою +іншою командою, що еквівалентно ручному запуску \`down\` +при виникненні помилки. +.PP +Нічого не змінюється. +.SS diff +Виводить список усіх файлів, змінених з моменту останньої +\`sync\`, для яких необхідно перерахувати дані парності. +.PP +Ця команда не перевіряє дані файлів, а лише часову мітку +файлу, розмір та inode. +.PP +Після перерахування всіх змінених файлів представляється +зведення змін, згруповане за: +.RS 4 +.PD 0 +.HP 4 +.I equal (рівні) +Файли, незмінені з попереднього стану. +.HP 4 +.I added (додані) +Файли, додані, яких не було раніше. +.HP 4 +.I removed (видалені) +Файли, видалені. +.HP 4 +.I updated (оновлені) +Файли з іншим розміром або часовою +міткою, що означає, що вони були змінені. +.HP 4 +.I moved (переміщені) +Файли, переміщені в інший каталог +на тому ж диску. Вони ідентифікуються за тим же +іменем, розміром, часовою міткою та inode, але іншим +каталогом. +.HP 4 +.I copied (скопійовані) +Файли, скопійовані на тому ж +або іншому диску. Зауважте, що якщо вони справді +переміщені на інший диск, вони також будуть враховані +як \`removed\`. +Вони ідентифікуються за тим же іменем, розміром +та часовою міткою. Якщо часова мітка з точністю +до долі секунди дорівнює нулю, повний шлях повинен +збігатися, а не лише ім\'я. +.HP 4 +.I restored (відновлені) +Файли з іншим inode, але +збігаються ім\'я, розмір та часова мітка. Це +зазвичай файли, відновлені після видалення. +.PD +.RE +.PP +Якщо потрібна \`sync\`, код повернення процесу дорівнює 2, +замість стандартного 0. Код повернення 1 використовується для +загальної умови помилки. +.PP +Нічого не змінюється. +.SS sync +Оновлює інформацію парності. Всі змінені файли у дисковому +масиві зчитуються, і відповідні дані парності оновлюються. +.PP +Ви можете зупинити цей процес у будь\-який час, натиснувши +Ctrl+C, не втрачаючи вже виконану роботу. +Під час наступного запуску процес \`sync\` відновить роботу +з місця, де був перерваний. +.PP +Якщо під час процесу виявлено приховані помилки або помилки +введення/виведення, відповідні блоки позначаються як погані. +.PP +Файли ідентифікуються за шляхом та/або inode та перевіряються +за розміром та часовою міткою. +Якщо розмір або часова мітка файлу відрізняються, дані +парності перераховуються для всього файлу. +Якщо файл переміщено або перейменовано на тому ж диску, +зберігаючи той самий inode, парність не перераховується. +Якщо файл переміщено на інший диск, парність перераховується, +але раніше обчислена інформація хешу зберігається. +.PP +Файли \`content\` та \`parity\` змінюються за потреби. +Файли в масиві НЕ змінюються. +.SS scrub +Скрабує масив, перевіряючи на наявність прихованих помилок +або помилок введення/виведення на дисках даних та парності. +.PP +Кожен виклик перевіряє приблизно 8% масиву, виключаючи +дані, які вже були скрабовані протягом останніх 10 днів. +Це означає, що скрабування раз на тиждень забезпечує +перевірку кожного біта даних принаймні раз на три місяці. +.PP +Ви можете визначити інший план скрабування або кількість +за допомогою опції \-p, \-\-plan, яка приймає: +bad \- Скрабувати блоки, позначені як погані. +new \- Скрабувати щойно синхронізовані блоки, які ще не були +.PP +.RS 4 +скрабовані. +.RE +.RS 0 +.PD 0 +.HP 4 +.I full +Скрабувати все. +.HP 4 +.I 0\-100 +Скрабувати вказаний відсоток блоків. +.PD +.RE +.PP +Якщо ви вказуєте відсоткове значення, ви також можете +використовувати опцію \-o, \-\-older\-than, щоб визначити, +яким має бути вік блоку. +Найстаріші блоки скрабуються першими, забезпечуючи оптимальну +перевірку. +Якщо ви хочете скрабувати лише щойно синхронізовані блоки, +які ще не були скрабовані, використовуйте опцію \`\-p new\`. +.PP +Щоб отримати деталі статусу скрабування, використовуйте команду +\`status\`. +.PP +Для будь\-якої знайденої прихованої помилки або помилки +введення/виведення відповідні блоки позначаються як погані +у файлі \`content\`. +Ці погані блоки перераховуються у \`status\` і можуть бути +виправлені за допомогою \`fix \-e\`. +Після виправлення, під час наступного скрабування, вони будуть +повторно перевірені, і якщо виявиться, що вони виправлені, +позначка \[dq]поганий\[dq] буде видалена. +Щоб скрабувати лише погані блоки, ви можете використовувати +команду \`scrub \-p bad\`. +.PP +Рекомендується запускати \`scrub\` лише на синхронізованому +масиві, щоб уникнути повідомлень про помилки, спричинені +несинхронізованими даними. Ці помилки розпізнаються як +не приховані помилки, і блоки не позначаються як погані, +але такі помилки повідомляються у виведенні команди. +.PP +Файл \`content\` змінюється для оновлення часу останньої перевірки +для кожного блоку та для позначення поганих блоків. +Файли \`parity\` НЕ змінюються. +Файли в масиві НЕ змінюються. +.SS fix +Виправляє всі файли та дані парності. +.PP +Усі файли та дані парності порівнюються зі станом знімка, +збереженим під час останньої \`sync\`. +Якщо знайдено різницю, вона повертається до збереженого знімка. +.PP +УВАГА! Команда \`fix\` не розрізняє помилки та навмисні +модифікації. Вона безумовно повертає стан файлу до останньої +\`sync\`. +.PP +Якщо не вказано жодної іншої опції, обробляється весь масив. +Використовуйте опції фільтра, щоб вибрати підмножину файлів +або дисків для роботи. +.PP +Щоб виправити лише блоки, позначені як погані під час \`sync\` +та \`scrub\`, використовуйте опцію \-e, \-\-filter\-error. +На відміну від інших опцій фільтра, ця застосовує виправлення +лише до файлів, які не змінилися з моменту останньої \`sync\`. +.PP +SnapRAID перейменовує всі файли, які не можуть бути виправлені, +додаючи розширення \`.unrecoverable\`. +.PP +Перед виправленням сканується весь масив, щоб знайти будь\-які +файли, переміщені з моменту останньої \`sync\`. +Ці файли ідентифікуються за їхньою часовою міткою, ігноруючи +їхнє ім\'я та каталог, і використовуються в процесі відновлення, +якщо це необхідно. +Якщо ви перемістили деякі з них за межі масиву, ви можете +використовувати опцію \-i, \-\-import, щоб вказати додаткові +каталоги для сканування. +.PP +Файли ідентифікуються лише за шляхом, а не за inode. +.PP +Файл \`content\` НЕ змінюється. +Файли \`parity\` змінюються за потреби. +Файли в масиві змінюються за потреби. +.SS check +Перевіряє всі файли та дані парності. +.PP +Працює як \`fix\`, але лише імітує відновлення, і жодні зміни +не записуються в масив. +.PP +Ця команда в першу чергу призначена для ручної перевірки, +наприклад, після процесу відновлення або в інших особливих +умовах. Для періодичних та запланованих перевірок використовуйте +\`scrub\`. +.PP +Якщо ви використовуєте опцію \-a, \-\-audit\-only, перевіряється +лише хеш файлів, а дані парності ігноруються для швидшого +запуску. +.PP +Файли ідентифікуються лише за шляхом, а не за inode. +.PP +Нічого не змінюється. +.SS list +Виводить список усіх файлів, що містяться в масиві на момент +останньої \`sync\`. +.PP +З \-v або \-\-verbose також показується час з точністю до +долі секунди. +.PP +Нічого не змінюється. +.SS dup +Виводить список усіх дублікатів файлів. Два файли вважаються +рівними, якщо їхні хеші збігаються. Дані файлів не +зчитуються; використовуються лише попередньо обчислені хеші. +.PP +Нічого не змінюється. +.SS pool +Створює або оновлює віртуальне представлення всіх файлів +у вашому дисковому масиві в каталозі \`pooling\`. +.PP +Файли не копіюються, а пов\'язуються за допомогою символічних +посилань. +.PP +Під час оновлення всі існуючі символічні посилання та порожні +підкаталоги видаляються та замінюються новим +представленням масиву. Будь\-які інші звичайні файли залишаються +на місці. +.PP +Нічого не змінюється за межами каталогу pool. +.SS devices +Виводить низькорівневі пристрої, які використовуються масивом. +.PP +Ця команда відображає асоціації пристроїв у масиві і в +основному призначена як інтерфейс для сценаріїв. +.PP +Перші два стовпці — це низькорівневий ідентифікатор пристрою +та шлях. +Наступні два стовпці — це високорівневий ідентифікатор пристрою +та шлях. +Останній стовпець — це ім\'я диска в масиві. +.PP +У більшості випадків у вас є один низькорівневий пристрій для +кожного диска в масиві, але в деяких складніших конфігураціях +у вас може бути кілька низькорівневих пристроїв, які використовуються +одним диском у масиві. +.PP +Нічого не змінюється. +.SS touch +Встановлює довільну часову мітку з точністю до долі секунди +для всіх файлів, у яких вона встановлена на нуль. +.PP +Це покращує здатність SnapRAID розпізнавати переміщені та +скопійовані файли, оскільки робить часову мітку майже +унікальною, зменшуючи можливі дублікати. +.PP +Зокрема, якщо часова мітка з точністю до долі секунди не +дорівнює нулю, переміщений або скопійований файл ідентифікується +як такий, якщо він збігається з іменем, розміром та часовою +міткою. Якщо часова мітка з точністю до долі секунди дорівнює +нулю, він вважається копією, лише якщо повний шлях, розмір та +часова мітка збігаються. +.PP +Часова мітка з точністю до секунди не змінюється, тому +всі дати та час ваших файлів будуть збережені. +.SS rehash +Планує повторне хешування всього масиву. +.PP +Ця команда змінює тип хешу, що використовується, як правило, +при оновленні з 32\-розрядної системи на 64\-розрядну, щоб +переключитися з MurmurHash3 на швидший SpookyHash. +.PP +Якщо ви вже використовуєте оптимальний хеш, ця команда +нічого не робить і повідомляє, що жодних дій не потрібно. +.PP +Повторне хешування не виконується негайно, а відбувається +поступово під час \`sync\` та \`scrub\`. +.PP +Ви можете перевірити стан повторного хешування за допомогою +\`status\`. +.PP +Під час повторного хешування SnapRAID зберігає повну +функціональність, за єдиним винятком, що \`dup\` не може +виявити дублікати файлів, використовуючи інший хеш. +.SH Опції +SnapRAID надає наступні опції: +.TP +.B \-c, \-\-conf CONFIG +Вибирає конфігураційний файл для використання. Якщо не +вказано, в Unix використовується файл \`/usr/local/etc/snapraid.conf\`, +якщо він існує, інакше \`/etc/snapraid.conf\`. +У Windows використовується файл \`snapraid.conf\` у тому +самому каталозі, що й \`snapraid.exe\`. +.TP +.B \-f, \-\-filter PATTERN +Фільтрує файли для обробки у \`check\` та \`fix\`. +Обробляються лише файли, що відповідають вказаному +шаблону. Цю опцію можна використовувати кілька разів. +Дивіться розділ PATTERN для отримання додаткової +інформації про специфікації шаблонів. +В Unix переконайтеся, що символи глоббінгу взяті +в лапки, якщо вони використовуються. +Цю опцію можна використовувати лише з \`check\` та \`fix\`. +Її не можна використовувати з \`sync\` та \`scrub\`, оскільки +вони завжди обробляють весь масив. +.TP +.B \-d, \-\-filter\-disk NAME +Фільтрує диски для обробки у \`check\`, \`fix\`, \`up\` та \`down\`. +Ви повинні вказати ім\'я диска, як визначено у +конфігураційному файлі. +Ви також можете вказати диски парності з іменами: +\`parity\`, \`2\-parity\`, \`3\-parity\`, тощо, щоб обмежити +операції певним диском парності. +Якщо ви поєднуєте кілька опцій \-\-filter, \-\-filter\-disk +та \-\-filter\-missing, вибираються лише файли, що +відповідають усім фільтрам. +Цю опцію можна використовувати кілька разів. +Цю опцію можна використовувати лише з \`check\`, \`fix\`, +\`up\` та \`down\`. +Її не можна використовувати з \`sync\` та \`scrub\`, оскільки +вони завжди обробляють весь масив. +.TP +.B \-m, \-\-filter\-missing +Фільтрує файли для обробки у \`check\` та \`fix\`. +Обробляються лише файли, що відсутні або видалені з +масиву. При використанні з \`fix\` це діє як команда +\`undelete\` (відновлення видалених файлів). +Якщо ви поєднуєте кілька опцій \-\-filter, \-\-filter\-disk +та \-\-filter\-missing, вибираються лише файли, що +відповідають усім фільтрам. +Цю опцію можна використовувати лише з \`check\` та \`fix\`. +Її не можна використовувати з \`sync\` та \`scrub\`, оскільки +вони завжди обробляють весь масив. +.TP +.B \-e, \-\-filter\-error +Обробляє файли з помилками у \`check\` та \`fix\`. +Обробляє лише файли, які мають блоки, позначені +прихованими помилками або помилками введення/виведення +під час \`sync\` та \`scrub\`, як зазначено у \`status\`. +Цю опцію можна використовувати лише з \`check\` та \`fix\`. +.TP +.B \-p, \-\-plan PERC|bad|new|full +Вибирає план скрабування. Якщо PERC є числовим +значенням від 0 до 100, воно інтерпретується як відсоток +блоків для скрабування. +Замість відсотка ви можете вказати план: \`bad\` +скрабує погані блоки, \`new\` скрабує блоки, які ще не +були скрабовані, і \`full\` скрабує все. +Цю опцію можна використовувати лише з \`scrub\`. +.TP +.B \-o, \-\-older\-than DAYS +Вибирає найстарішу частину масиву для обробки у \`scrub\`. +DAYS — це мінімальний вік у днях для блоку, який +повинен бути скрабований; за замовчуванням 10. +Блоки, позначені як погані, завжди скрабуються +незалежно від цієї опції. +Цю опцію можна використовувати лише з \`scrub\`. +.TP +.B \-a, \-\-audit\-only +У \`check\` перевіряє хеш файлів без перевірки даних +парності. Якщо вас цікавить лише перевірка даних файлів, +ця опція може значно прискорити процес перевірки. +Цю опцію можна використовувати лише з \`check\`. +.TP +.B \-h, \-\-pre\-hash +У \`sync\` запускає попередню фазу хешування всіх нових +даних для додаткової перевірки перед обчисленням +парності. Зазвичай у \`sync\` не виконується попереднє +хешування, а нові дані хешуються безпосередньо перед +обчисленням парності, коли вони зчитуються вперше. +Цей процес відбувається, коли система знаходиться під +великим навантаженням, усі диски обертаються та ЦП +зайнятий. Це екстремальна умова для машини, і якщо вона +має приховану апаратну проблему, приховані помилки +можуть залишитися невиявленими, оскільки дані ще не +були хешовані. +Щоб уникнути цього ризику, ви можете ввімкнути режим +\`pre\-hash\`, щоб усі дані були зчитані двічі для +забезпечення їх цілісності. +Ця опція також перевіряє файли, переміщені в межах +масиву, щоб переконатися, що операція переміщення була +успішною, і, якщо необхідно, дозволяє запустити операцію +виправлення перед продовженням. +Цю опцію можна використовувати лише з \`sync\`. +.TP +.B \-i, \-\-import DIR +Імпортує з вказаного каталогу будь\-які файли, видалені +з масиву після останньої \`sync\`. +Якщо у вас все ще є такі файли, вони можуть бути +використані \`check\` та \`fix\` для покращення процесу +відновлення. +Файли зчитуються, включаючи підкаталоги, та +ідентифікуються незалежно від їхнього імені. +Цю опцію можна використовувати лише з \`check\` та \`fix\`. +.TP +.B \-s, \-\-spin\-down\-on\-error +При будь\-якій помилці зупиняє всі керовані диски перед +завершенням з ненульовим кодом стану. Це запобігає +тому, щоб диски залишалися активними та оберталися +після перерваної операції, допомагаючи уникнути +зайвого нагрівання та споживання електроенергії. +Використовуйте цю опцію, щоб забезпечити безпечну +зупинку дисків, навіть коли команда завершується +помилкою. +.TP +.B \-w, \-\-bw\-limit RATE +Застосовує глобальне обмеження пропускної здатності +для всіх дисків. RATE — це кількість байтів на секунду. +Ви можете вказати множник, такий як K, M або G (наприклад, +\-\-bw\-limit 1G). +.TP +.B \-A, \-\-stats +Вмикає розширений перегляд стану, який показує +додаткову інформацію. +На екрані відображаються два графіки: +Перший графік показує кількість буферизованих смуг +(stripes) для кожного диска, разом зі шляхом до файлу, +до якого наразі здійснюється доступ на цьому диску. +Зазвичай найповільніший диск не матиме доступного +буфера, що визначає максимально досяжну пропускну +здатність. +Другий графік показує відсоток часу, витраченого на +очікування, за останні 100 секунд. Очікується, що +найповільніший диск спричинить більшу частину часу +очікування, тоді як інші диски повинні мати невеликий +час очікування або зовсім його не мати, оскільки +вони можуть використовувати свої буферизовані смуги. +Цей графік також показує час, витрачений на очікування +обчислення хешу та обчислень RAID. +Усі обчислення виконуються паралельно з операціями +диска. Тому, доки є вимірюваний час очікування +принаймні для одного диска, це вказує на те, що ЦП +достатньо швидкий, щоб справлятися з робочим навантаженням. +.TP +.B \-Z, \-\-force\-zero +Форсує небезпечну операцію синхронізації файлу з +нульовим розміром, який раніше був ненульовим. +Якщо SnapRAID виявляє таку умову, він припиняє +продовження, якщо ви не вкажете цю опцію. +Це дозволяє легко виявити, коли після збою системи +деякі доступні файли були обрізані. +Це можлива умова в Linux з файловими системами +ext3/ext4. +Цю опцію можна використовувати лише з \`sync\`. +.TP +.B \-E, \-\-force\-empty +Форсує небезпечну операцію синхронізації диска, на +якому відсутні всі оригінальні файли. +Якщо SnapRAID виявляє, що всі файли, які спочатку +були на диску, відсутні або перезаписані, він +припиняє продовження, якщо ви не вкажете цю опцію. +Це дозволяє легко виявити, коли файлова система +даних не змонтована. +Цю опцію можна використовувати лише з \`sync\`. +.TP +.B \-U, \-\-force\-uuid +Форсує небезпечну операцію синхронізації, перевірки +та виправлення з дисками, які змінили свій UUID. +Якщо SnapRAID виявляє, що деякі диски змінили UUID, +він припиняє продовження, якщо ви не вкажете цю опцію. +Це дозволяє виявити, коли ваші диски змонтовані +в неправильних точках монтування. +Однак, дозволено мати одну зміну UUID з однією парністю +і більше з множинною парністю, оскільки це нормальний +випадок при заміні дисків після відновлення. +Цю опцію можна використовувати лише з \`sync\`, \`check\` +або \`fix\`. +.TP +.B \-D, \-\-force\-device +Форсує небезпечну операцію виправлення з недоступними +дисками або з дисками на тому ж фізичному пристрої. +Наприклад, якщо ви втратили два диски даних і маєте +запасний диск для відновлення лише першого, ви можете +ігнорувати другий недоступний диск. +Або, якщо ви хочете відновити диск у вільному місці, +залишеному на вже використовуваному диску, що +використовує той самий фізичний пристрій. +Цю опцію можна використовувати лише з \`fix\`. +.TP +.B \-N, \-\-force\-nocopy +У \`sync\`, \`check\` та \`fix\` вимикає евристику +виявлення копій. Без цієї опції SnapRAID припускає, +що файли з однаковими атрибутами, такими як ім\'я, +розмір та часова мітка, є копіями з тими ж даними. +Це дозволяє ідентифікувати скопійовані або +переміщені файли з одного диска на інший і повторно +використовує вже обчислену інформацію хешу для +виявлення прихованих помилок або для відновлення +відсутніх файлів. +У деяких рідкісних випадках ця поведінка може +призвести до хибних спрацьовувань або повільного +процесу через багато перевірок хешу, і ця опція +дозволяє вирішити такі проблеми. +Цю опцію можна використовувати лише з \`sync\`, \`check\` +та \`fix\`. +.TP +.B \-F, \-\-force\-full +У \`sync\` форсує повне переобчислення парності. +Цю опцію можна використовувати, коли ви додаєте +новий рівень парності або якщо ви повернулися до +старого файлу вмісту, використовуючи більш +нові дані парності. +Замість створення парності з нуля, це дозволяє +повторно використовувати хеші, присутні у файлі +вмісту, для перевірки даних та підтримки захисту +даних під час процесу \`sync\`, використовуючи +існуючі дані парності. +Цю опцію можна використовувати лише з \`sync\`. +.TP +.B \-R, \-\-force\-realloc +У \`sync\` форсує повне перерозподілення файлів +та перебудову парності. +Цю опцію можна використовувати для повного +перерозподілу всіх файлів, усуваючи фрагментацію, +повторно використовуючи хеші, присутні у файлі +вмісту, для перевірки даних. +Цю опцію можна використовувати лише з \`sync\`. +УВАГА! Ця опція лише для експертів, і +настійно не рекомендується її використовувати. +Ви НЕ маєте захисту даних під час операції \`sync\`. +.TP +.B \-l, \-\-log FILE +Записує детальний журнал у вказаний файл. +Якщо ця опція не вказана, несподівані помилки +виводяться на екран, що потенційно призводить до +надмірного виведення у випадку багатьох помилок. +Коли вказано \-l, \-\-log, на екран виводяться лише +фатальні помилки, які спричиняють зупинку SnapRAID. +Якщо шлях починається з \'>>\', файл відкривається +у режимі доповнення. Входження \'%D\' та \'%T\' в +імені замінюються датою та часом у форматі YYYYMMDD +та HHMMSS. У пакетних файлах Windows ви повинні +подвоїти символ \'%\', наприклад, result\-%%D.log. +Щоб використовувати \'>>\', ви повинні взяти ім\'я +в лапки, наприклад, \`\[dq]>>result.log\[dq]\`. +Щоб вивести журнал на стандартний вивід або +стандартну помилку, ви можете використовувати +\`\[dq]>&1\[dq]\` та \`\[dq]>&2\[dq]\` відповідно. +Дивіться файл snapraid_log.txt або man\-сторінку +для описів тегів журналу. +.TP +.B \-L, \-\-error\-limit NUMBER +Встановлює новий ліміт помилок перед зупинкою +виконання. За замовчуванням SnapRAID зупиняється, +якщо зустрічає більше 100 помилок введення/виведення, +що вказує на ймовірну відмову диска. +Ця опція впливає на \`sync\` та \`scrub\`, яким +дозволено продовжувати після першого набору +помилок диска, щоб спробувати завершити +свої операції. Однак \`check\` та \`fix\` завжди +зупиняються при першій помилці. +.TP +.B \-S, \-\-start BLKSTART +Починає обробку з вказаного номера блоку. +Це може бути корисно для повторної спроби +перевірки або виправлення певних блоків у +випадку пошкодженого диска. +Ця опція в основному для розширеного ручного +відновлення. +.TP +.B \-B, \-\-count BLKCOUNT +Обробляє лише вказану кількість блоків. +Ця опція в основному для розширеного ручного +відновлення. +.TP +.B \-C, \-\-gen\-conf CONTENT +Генерує фіктивний конфігураційний файл з існуючого +файлу вмісту. +Конфігураційний файл записується на стандартний +вивід і не перезаписує існуючий. +Цей конфігураційний файл також містить інформацію, +необхідну для реконструкції точок монтування диска +у випадку втрати всієї системи. +.TP +.B \-v, \-\-verbose +Виводить більше інформації на екран. +Якщо вказано один раз, виводить виключені файли +та додаткову статистику. +Ця опція не впливає на файли журналу. +.TP +.B \-q, \-\-quiet +Виводить менше інформації на екран. +Якщо вказано один раз, видаляє індикатор прогресу; +двічі — поточні операції; тричі — інформаційні +повідомлення; чотири рази — повідомлення про +статус. Фатальні помилки завжди виводяться на +екран. Ця опція не впливає на файли журналу. +.TP +.B \-H, \-\-help +Виводить короткий довідковий екран. +.TP +.B \-V, \-\-version +Виводить версію програми. +.SH Конфігурація +SnapRAID вимагає конфігураційний файл, щоб знати, де +розташований ваш дисковий масив і де зберігати інформацію +парності. +.PP +В Unix використовується файл \`/usr/local/etc/snapraid.conf\`, +якщо він існує, інакше \`/etc/snapraid.conf\`. +У Windows використовується файл \`snapraid.conf\` у тому +самому каталозі, що й \`snapraid.exe\`. +.PP +Він повинен містити наступні опції (чутливі до регістру): +.SS parity FILE [,FILE] ... +Визначає файли, які потрібно використовувати для зберігання +інформації парності. Парність забезпечує захист від +відмови одного диска, подібно до RAID5. +.PP +Ви можете вказати кілька файлів, які повинні бути на +різних дисках. Коли файл більше не може зростати, +використовується наступний. +Загальний доступний простір повинен бути принаймні +таким же великим, як найбільший диск даних у масиві. +.PP +Ви можете додати додаткові файли парності пізніше, +але ви не можете їх переупорядковувати або видаляти. +.PP +Збереження дисків парності зарезервованими для парності +забезпечує, що вони не стають фрагментованими, покращуючи +продуктивність. +.PP +У Windows 256 МБ залишається невикористаними на кожному +диску, щоб уникнути попередження про повні диски. +.PP +Ця опція є обов\'язковою і може бути використана лише один раз. +.SS (2,3,4,5,6)\-parity FILE [,FILE] ... +Визначає файли, які потрібно використовувати для зберігання +додаткової інформації парності. +.PP +Для кожного вказаного рівня парності вмикається один +додатковий рівень захисту: +.PD 0 +.IP \(bu +2\-parity вмикає подвійну парність RAID6. +.IP \(bu +3\-parity вмикає потрійну парність. +.IP \(bu +4\-parity вмикає четверну парність. +.IP \(bu +5\-parity вмикає п\'ятерну парність. +.IP \(bu +6\-parity вмикає шестерну парність. +.PD +.PP +Кожен рівень парності вимагає наявності всіх попередніх +рівнів парності. +.PP +Застосовуються ті самі міркування, що й для опції \'parity\'. +.PP +Ці опції є необов\'язковими і можуть бути використані лише +один раз. +.SS z\-parity FILE [,FILE] ... +Визначає альтернативний файл та формат для зберігання +потрійної парності. +.PP +Ця опція є альтернативою \'3\-parity\', в першу чергу +призначена для ЦП низького класу, таких як ARM або +AMD Phenom, Athlon та Opteron, які не підтримують +набір інструкцій SSSE3. У таких випадках вона +забезпечує кращу продуктивність. +.PP +Цей формат схожий, але швидший, ніж той, що використовується +ZFS RAIDZ3. Як і ZFS, він не працює далі потрійної парності. +.PP +При використанні \'3\-parity\' ви будете попереджені, +якщо рекомендується використовувати формат \'z\-parity\' +для покращення продуктивності. +.PP +Можна конвертувати з одного формату в інший, налаштувавши +конфігураційний файл з бажаним файлом z\-parity або +3\-parity та використовуючи \'fix\' для його відтворення. +.SS content FILE +Визначає файл, який потрібно використовувати для зберігання +списку та контрольних сум усіх файлів, присутніх у +вашому дисковому масиві. +.PP +Він може бути розміщений на диску, що використовується для +даних, парності або будь\-якому іншому доступному диску. +Якщо ви використовуєте диск даних, цей файл автоматично +виключається з процесу \`sync\`. +.PP +Ця опція є обов\'язковою і може бути використана кілька +разів для збереження кількох копій одного і того ж +файлу. +.PP +Ви повинні зберігати принаймні одну копію для кожного +використаного диска парності плюс одну. Використання +додаткових копій не зашкодить. +.SS data NAME DIR +Визначає ім\'я та точку монтування дисків даних у +масиві. NAME використовується для ідентифікації диска +і має бути унікальним. DIR — це точка монтування +диска у файловій системі. +.PP +Ви можете змінювати точку монтування за потреби, +поки ви зберігаєте NAME фіксованим. +.PP +Ви повинні використовувати одну опцію для кожного +диска даних у масиві. +.PP +Ви можете перейменувати диск пізніше, змінивши NAME +безпосередньо у конфігураційному файлі, а потім +запустивши команду \'sync\'. У випадку перейменування +асоціація здійснюється за допомогою збереженого +UUID дисків. +.SS nohidden +Виключає всі приховані файли та каталоги. +В Unix приховані файли — це ті, що починаються з \`.\`. +У Windows це ті, що мають прихований атрибут. +.SS exclude/include PATTERN +Визначає шаблони файлів або каталогів для виключення +або включення у процес синхронізації. +Усі шаблони обробляються у вказаному порядку. +.PP +Якщо перший шаблон, який збігається, є \`exclude\` (виключити), +файл виключається. Якщо він є \`include\` (включити), +файл включається. +Якщо жоден шаблон не збігається, файл виключається, +якщо останній вказаний шаблон є \`include\`, або +включається, якщо останній вказаний шаблон є \`exclude\`. +.PP +Дивіться розділ PATTERN для отримання додаткової +інформації про специфікації шаблонів. +.PP +Цю опцію можна використовувати кілька разів. +.SS blocksize SIZE_IN_KIBIBYTES +Визначає основний розмір блоку в кібібайтах для парності. +Один кібібайт дорівнює 1024 байтам. +.PP +Розмір блоку за замовчуванням становить 256, що має +працювати для більшості випадків. +.PP +УВАГА! Ця опція лише для експертів, і настійно +не рекомендується змінювати це значення. Щоб змінити +це значення в майбутньому, вам потрібно буде +перестворити всю парність! +.PP +Причина використовувати інший розмір блоку полягає +в тому, якщо у вас є багато невеликих файлів, порядку +мільйонів. +.PP +Для кожного файлу, навіть якщо це лише кілька байтів, +виділяється цілий блок парності, і з багатьма файлами +це може призвести до значного невикористаного місця +парності. Коли ви повністю заповнюєте диск парності, +вам не дозволяється додавати більше файлів на диски +даних. Однак, витрачена парність не накопичується +між дисками даних. Витрачене місце внаслідок великої +кількості файлів на диску даних обмежує лише кількість +даних на цьому диску даних, а не на інших. +.PP +Як наближення, ви можете припустити, що половина +розміру блоку витрачається для кожного файлу. +Наприклад, зі 100 000 файлами та розміром блоку 256 КіБ +ви витратите 12,8 ГБ парності, що може призвести до +того, що на диску даних буде на 12,8 ГБ менше місця. +.PP +Ви можете перевірити кількість витраченого місця на +кожному диску за допомогою \`status\`. Це кількість +місця, яку ви повинні залишити вільною на дисках даних +або використовувати для файлів, не включених у масив. +Якщо це значення від\'ємне, це означає, що ви +наближаєтеся до заповнення парності, і воно +представляє місце, яке ви ще можете витратити. +.PP +Щоб уникнути цієї проблеми, ви можете використовувати +більший розділ для парності. Наприклад, якщо розділ +парності на 12,8 ГБ більший за диски даних, у вас є +достатньо додаткового місця для обробки до 100 000 +файлів на кожному диску даних без будь\-якого +витраченого місця. +.PP +Хитрість, щоб отримати більший розділ парності в +Linux, полягає в тому, щоб відформатувати його +командою: +.PP +.RS 4 +mkfs.ext4 \-m 0 \-T largefile4 DEVICE +.PD 0 +.PD +.RE +.PP +Це призводить до приблизно 1,5% додаткового місця, +приблизно 60 ГБ для диска 4 ТБ, що дозволяє +приблизно 460 000 файлів на кожному диску даних +без будь\-якого витраченого місця. +.SS hashsize SIZE_IN_BYTES +Визначає розмір хешу в байтах для збережених блоків. +.PP +Розмір хешу за замовчуванням становить 16 байтів +(128 біт), що має працювати для більшості випадків. +.PP +УВАГА! Ця опція лише для експертів, і настійно +не рекомендується змінювати це значення. Щоб змінити +це значення в майбутньому, вам потрібно буде +перестворити всю парність! +.PP +Причина використовувати інший розмір хешу полягає +в тому, якщо ваша система має обмежену пам\'ять. +Як правило, SnapRAID зазвичай вимагає 1 ГіБ ОЗП +на кожні 16 ТБ даних у масиві. +.PP +Зокрема, для зберігання хешів даних SnapRAID +вимагає приблизно $TS \\times (1+HS) / BS$ байтів +ОЗП, де TS — загальний розмір вашого дискового масиву +у байтах, BS — розмір блоку у байтах, а HS — +розмір хешу у байтах. +.PP +Наприклад, з 8 дисками по 4 ТБ, розміром блоку 256 КіБ +(1 КіБ = 1024 байта) та розміром хешу 16, ви отримуєте: +.PP +RAM = $(8 \\times 4 \\times 10^{12}) \\times (1+16) / (256 \\times 2^{10}) = 1.93$ ГіБ +.PD 0 +.PD +.PP +Перехід до розміру хешу 8, ви отримуєте: +.PP +RAM = $(8 \\times 4 \\times 10^{12}) \\times (1+8) / (256 \\times 2^{10}) = 1.02$ ГіБ +.PD 0 +.PD +.PP +Перехід до розміру блоку 512, ви отримуєте: +.PP +RAM = $(8 \\times 4 \\times 10^{12}) \\times (1+16) / (512 \\times 2^{10}) = 0.96$ ГіБ +.PD 0 +.PD +.PP +Перехід до розміру хешу 8 та розміру блоку 512, ви отримуєте: +.PP +RAM = $(8 \\times 4 \\times 10^{12}) \\times (1+8) / (512 \\times 2^{10}) = 0.51$ ГіБ +.PD 0 +.PD +.SS autosave SIZE_IN_GIGABYTES +Автоматично зберігає стан під час синхронізації або +скрабування після обробки вказаної кількості ГБ. +Ця опція корисна, щоб уникнути перезапуску довгих +команд \`sync\` з нуля, якщо вони були перервані +збоєм машини або будь\-якою іншою подією. +.SS temp_limit TEMPERATURE_CELSIUS +Встановлює максимальну дозволену температуру диска +в Цельсіях. Якщо вказано, SnapRAID періодично перевіряє +температуру всіх дисків за допомогою інструменту +smartctl. Поточні температури дисків відображаються +під час роботи SnapRAID. Якщо будь\-який диск перевищує +цей ліміт, усі операції зупиняються, і диски +зупиняються (переходять у режим очікування) на час, +визначений опцією \`temp_sleep\`. Після періоду +очікування операції відновлюються, потенційно +знову призупиняючись, якщо ліміт температури знову +досягнутий. +.PP +Під час роботи SnapRAID також аналізує криву +нагрівання кожного диска та оцінює довгострокову +стабільну температуру, якої вони, як очікується, +досягнуть, якщо активність продовжиться. +Оцінка виконується лише після того, як температура +диска підвищилася чотири рази, що гарантує наявність +достатньої кількості даних для встановлення +надійного тренду. Ця прогнозована стабільна +температура відображається в дужках поруч із +поточним значенням і допомагає оцінити, чи +достатнє охолодження системи. Ця оцінювана +температура є лише інформаційною і не впливає на +поведінку SnapRAID. Дії програми базуються +виключно на фактично виміряних температурах +дисків. +.PP +Для виконання цього аналізу SnapRAID потрібна +довідкова інформація про температуру системи. +Спочатку він намагається зчитати її з доступних +апаратних датчиків. Якщо до системного датчика +неможливо отримати доступ, він використовує +найнижчу температуру диска, виміряну на початку +запуску, як резервну довідкову інформацію. +.PP +Зазвичай SnapRAID показує лише температуру +найгарячішого диска. Щоб відобразити температуру +всіх дисків, використовуйте опцію \-A або \-\-stats. +.SS temp_sleep TIME_IN_MINUTES +Встановлює час очікування, у хвилинах, коли +досягнуто ліміту температури. Протягом цього +періоду диски залишаються зупиненими. +За замовчуванням 5 хвилин. +.SS pool DIR +Визначає каталог об\'єднання, де створюється +віртуальне представлення дискового масиву за +допомогою команди \`pool\`. +.PP +Каталог повинен вже існувати. +.SS share UNC_DIR +Визначає шлях Windows UNC, необхідний для +віддаленого доступу до дисків. +.PP +Якщо ця опція вказана, символічні посилання, +створені в каталозі pool, використовують цей +шлях UNC для доступу до дисків. +Без цієї опції згенеровані символічні посилання +використовують лише локальні шляхи, що не +дозволяє спільно використовувати каталог pool +через мережу. +.PP +Символічні посилання формуються за допомогою +вказаного шляху UNC, додаючи ім\'я диска, як +зазначено в опції \`data\`, і, нарешті, +додаючи каталог та ім\'я файлу. +.PP +Ця опція потрібна лише для Windows. +.SS smartctl DISK/PARITY OPTIONS... +Визначає користувацькі опції smartctl для +отримання атрибутів SMART для кожного диска. +Це може знадобитися для RAID\-контролерів та +деяких USB\-дисків, які не можуть бути +автоматично виявлені. Заповнювач %s +замінюється іменем пристрою, але він +необов\'язковий для фіксованих пристроїв, +таких як RAID\-контролери. +.PP +DISK — це те саме ім\'я диска, вказане в опції \`data\`. +PARITY — це одне з імен парності: \`parity\`, +\`2\-parity\`, \`3\-parity\`, \`4\-parity\`, \`5\-parity\`, +\`6\-parity\` або \`z\-parity\`. +.PP +У вказаних OPTIONS рядок \`%s\` замінюється +іменем пристрою. Для RAID\-контролерів пристрій +ймовірно фіксований, і вам може не знадобитися +використовувати \`%s\`. +.PP +Зверніться до документації smartmontools +для можливих опцій: +.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 +Наприклад: +.PP +.RS 4 +smartctl parity \-d sat %s +.PD 0 +.PD +.RE +.SS smartignore DISK/PARITY ATTR [ATTR...] +Ігнорує вказаний атрибут SMART при обчисленні +ймовірності відмови диска. Ця опція корисна, +якщо диск повідомляє незвичайні або +оманливі значення для певного атрибута. +.PP +DISK — це те саме ім\'я диска, вказане в опції \`data\`. +PARITY — це одне з імен парності: \`parity\`, +\`2\-parity\`, \`3\-parity\`, \`4\-parity\`, \`5\-parity\`, +\`6\-parity\` або \`z\-parity\`. +Спеціальне значення * можна використовувати +для ігнорування атрибута на всіх дисках. +.PP +Наприклад, щоб ігнорувати атрибут \`Current Pending Sector Count\` +на всіх дисках: +.PP +.RS 4 +smartignore * 197 +.PD 0 +.PD +.RE +.PP +Щоб ігнорувати його лише на першому диску парності: +.PP +.RS 4 +smartignore parity 197 +.PD 0 +.PD +.RE +.SS Приклади +Приклад типової конфігурації для 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 +Приклад типової конфігурації для 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 Шаблон (PATTERN) +Шаблони використовуються для вибору підмножини файлів +для виключення або включення в процес. +.PP +Існує чотири різні типи шаблонів: +.TP +.B FILE +Вибирає будь\-який файл з іменем FILE. Ви можете +використовувати будь\-які символи глоббінгу, +такі як * та ?, та класи символів, такі як [a\-z]. +Цей шаблон застосовується лише до файлів, а не +до каталогів. +.TP +.B DIR/ +Вибирає будь\-який каталог з іменем DIR та все +всередині. Ви можете використовувати будь\-які +символи глоббінгу, такі як * та ?. +Цей шаблон застосовується лише до каталогів, +а не до файлів. +.TP +.B /PATH/FILE +Вибирає точно вказаний шлях до файлу. Ви можете +використовувати будь\-які символи глоббінгу, такі +як * та ?, але вони ніколи не збігаються з +похилою рискою каталогу. +Цей шаблон застосовується лише до файлів, +а не до каталогів. +.TP +.B /PATH/DIR/ +Вибирає точно вказаний шлях до каталогу та все +всередині. Ви можете використовувати будь\-які +символи глоббінгу, такі як * та ?, але вони +ніколи не збігаються з похилою рискою каталогу. +Цей шаблон застосовується лише до каталогів, +а не до файлів. +.PP +Коли ви вказуєте абсолютний шлях, що починається +з /, він застосовується до кореневого каталогу +масиву, а не до кореневого каталогу локальної +файлової системи. +.PP +У Windows ви можете використовувати зворотну +скісну риску \\ замість прямої скісної риски /. +Системні каталоги Windows, з\'єднання, точки +монтування та інші спеціальні каталоги Windows +розглядаються як файли, що означає, що для +їх виключення ви повинні використовувати правило +файлу, а не правило каталогу. +.PP +Якщо ім\'я файлу містить символи \'*\', \'?\', \'[\', +або \']\', ви повинні екранувати їх, щоб уникнути +їх інтерпретації як символу глоббінгу. +В Unix символом екранування є \'\\\'; у Windows — \'^\'. +Коли шаблон знаходиться в командному рядку, +ви повинні подвоїти символ екранування, щоб +запобігти його інтерпретації командною оболонкою. +.PP +У конфігураційному файлі ви можете використовувати +різні стратегії для фільтрації файлів, які потрібно +обробити. +Найпростіший підхід — використовувати лише +правила \`exclude\` для видалення всіх файлів та +каталогів, які ви не хочете обробляти. +Наприклад: +.PP +.RS 4 +# Виключає будь\-який файл з іменем \`*.unrecoverable\` +.PD 0 +.PP +.PD +exclude *.unrecoverable +.PD 0 +.PP +.PD +# Виключає кореневий каталог \`/lost+found\` +.PD 0 +.PP +.PD +exclude /lost+found/ +.PD 0 +.PP +.PD +# Виключає будь\-який підкаталог з іменем \`tmp\` +.PD 0 +.PP +.PD +exclude tmp/ +.PD 0 +.PD +.RE +.PP +Протилежний підхід — визначити лише файли, +які ви хочете обробити, використовуючи лише +правила \`include\`. Наприклад: +.PP +.RS 4 +# Включає лише деякі каталоги +.PD 0 +.PP +.PD +include /movies/ +.PD 0 +.PP +.PD +include /musics/ +.PD 0 +.PP +.PD +include /pictures/ +.PD 0 +.PD +.RE +.PP +Останній підхід — змішувати правила \`exclude\` +та \`include\`. У цьому випадку порядок правил +важливий. Раніші правила мають пріоритет +над пізнішими. +Для спрощення ви можете спочатку перерахувати +всі правила \`exclude\`, а потім усі правила \`include\`. +Наприклад: +.PP +.RS 4 +# Виключає будь\-який файл з іменем \`*.unrecoverable\` +.PD 0 +.PP +.PD +exclude *.unrecoverable +.PD 0 +.PP +.PD +# Виключає будь\-який підкаталог з іменем \`tmp\` +.PD 0 +.PP +.PD +exclude tmp/ +.PD 0 +.PP +.PD +# Включає лише деякі каталоги +.PD 0 +.PP +.PD +include /movies/ +.PD 0 +.PP +.PD +include /musics/ +.PD 0 +.PP +.PD +include /pictures/ +.PD 0 +.PD +.RE +.PP +У командному рядку, використовуючи опцію \-f, +ви можете використовувати лише шаблони \`include\`. +Наприклад: +.PP +.RS 4 +# Перевіряє лише файли .mp3. +.PD 0 +.PP +.PD +# В Unix використовуйте лапки, щоб уникнути +.PD 0 +.PP +.PD +# розширення глоббінгу оболонкою. +.PD 0 +.PP +.PD +snapraid \-f \[dq]*.mp3\[dq] check +.PD 0 +.PD +.RE +.PP +В Unix, при використанні символів глоббінгу в +командному рядку, ви повинні взяти їх у лапки, +щоб запобігти їх розширенню оболонкою. +.SH Вміст (CONTENT) +SnapRAID зберігає список та контрольні суми +ваших файлів у файлі вмісту. +.PP +Це бінарний файл, який перераховує всі файли, +присутні у вашому дисковому масиві, разом з +усіма контрольними сумами для перевірки їх +цілісності. +.PP +Цей файл зчитується та записується командами +\`sync\` та \`scrub\` та зчитується командами \`fix\`, +\`check\` та \`status\`. +.SH Парність (PARITY) +SnapRAID зберігає інформацію парності вашого +масиву у файлах парності. +.PP +Це бінарні файли, що містять обчислену +парність усіх блоків, визначених у файлі +\`content\`. +.PP +Ці файли зчитуються та записуються командами +\`sync\` та \`fix\` і лише зчитуються командами +\`scrub\` та \`check\`. +.SH Кодування (ENCODING) +SnapRAID в Unix ігнорує будь\-яке кодування. +Він зчитує та зберігає імена файлів з +тим самим кодуванням, що використовується +файловою системою. +.PP +У Windows усі імена, зчитані з файлової +системи, конвертуються та обробляються +у форматі UTF\-8. +.PP +Щоб імена файлів відображалися правильно, +ви повинні встановити консоль Windows +у режим UTF\-8 за допомогою команди +\`chcp 65001\` та використовувати шрифт +TrueType, такий як \`Lucida Console\`, як +шрифт консолі. +Це впливає лише на надруковані імена +файлів; якщо ви перенаправляєте вивід +консолі у файл, отриманий файл завжди +буде у форматі UTF\-8. +.SH Авторське право (COPYRIGHT) +Цей файл захищений авторським правом (C) 2025 Andrea Mazzoleni +.SH Див. також (SEE ALSO) +snapraid_log(1), rsync(1) diff --git a/snapraid-de.txt b/snapraid-de.txt index 7a894647..f59b4ae4 100644 --- a/snapraid-de.txt +++ b/snapraid-de.txt @@ -1,6 +1,6 @@ - ========================================== + ========================================= SnapRAID Sicherung für Festplatten-Arrays - ========================================== + ========================================= 1 SYNOPSIS diff --git a/snapraid-fr.txt b/snapraid-fr.txt index 6991a35f..516d5fd2 100644 --- a/snapraid-fr.txt +++ b/snapraid-fr.txt @@ -98,7 +98,7 @@ Les autres limitations de SnapRAID sont : 4 DéMARRER -=========== +========== Pour utiliser SnapRAID, vous devez d'abord sélectionner un disque dans votre baie de disques pour le dédier aux informations de `parité`. @@ -340,7 +340,7 @@ lecteurs avec : snapraid fix -m 4.4 Récupération ------------------- +---------------- Le pire est arrivé, et vous avez perdu un ou plusieurs disques ! @@ -1379,7 +1379,7 @@ Cette option est utile pour éviter de redémarrer de longues commandes de la machine ou tout autre événement. 7.11 temp_limit TEMPÉRATURE_CELSIUS ------------------------------------- +----------------------------------- Définit la température maximale autorisée du disque en Celsius. Lorsqu'elle est spécifiée, SnapRAID vérifie périodiquement la @@ -1447,7 +1447,7 @@ et en ajoutant enfin le répertoire et le nom du fichier. Cette option est requise uniquement pour Windows. 7.15 smartctl DISQUE/PARITÉ OPTIONS... ---------------------------------------- +-------------------------------------- Définit les options smartctl personnalisées pour obtenir les attributs SMART de chaque disque. Cela peut être nécessaire pour les contrôleurs @@ -1474,7 +1474,7 @@ Par exemple : smartctl parity -d sat %s 7.16 smartignore DISQUE/PARITÉ ATTR [ATTR...] ----------------------------------------------- +--------------------------------------------- Ignore l'attribut SMART spécifié lors du calcul de la probabilité de défaillance du disque. Cette option est utile si un disque signale @@ -1646,7 +1646,7 @@ lu par les commandes `fix`, `check` et `status`. 10 PARITé (PARITY) -=================== +================== SnapRAID stocke les informations de parité de votre baie dans les fichiers de parité. diff --git a/snapraid-pt.d b/snapraid-pt.d new file mode 100644 index 00000000..341ac206 --- /dev/null +++ b/snapraid-pt.d @@ -0,0 +1,1482 @@ +Name{number} + snapraid - SnapRAID Backup para Arrays de Disco + +Sinopse + :snapraid [-c, --conf CONFIG] + : [-f, --filter PATTERN] [-d, --filter-disk NAME] + : [-m, --filter-missing] [-e, --filter-error] + : [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + : [-p, --plan PERC|bad|new|full] + : [-o, --older-than DAYS] [-l, --log FILE] + : [-s, --spin-down-on-error] [-w, --bw-limit RATE] + : [-Z, --force-zero] [-E, --force-empty] + : [-U, --force-uuid] [-D, --force-device] + : [-N, --force-nocopy] [-F, --force-full] + : [-R, --force-realloc] + : [-S, --start BLKSTART] [-B, --count BLKCOUNT] + : [-L, --error-limit NUMBER] + : [-A, --stats] + : [-v, --verbose] [-q, --quiet] + : status|smart|probe|up|down|diff|sync|scrub|fix|check + : |list|dup|pool|devices|touch|rehash + + :snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + +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. + + 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: + + * Você pode utilizar discos já preenchidos com arquivos sem a + necessidade de reformatá-los, acessando-os normalmente. + * Todos os seus dados são submetidos a hash para garantir a integridade + dos dados e prevenir corrupção silenciosa. + * 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. + * Se você acidentalmente excluir arquivos em um disco, a recuperação é + possível. + * Os discos podem ter tamanhos diferentes. + * Você pode adicionar discos a qualquer momento. + * O SnapRAID não prende seus dados; você pode parar de usá-lo + a qualquer momento sem reformatar ou mover dados. + * Para acessar um arquivo, apenas um único disco precisa girar (spin), + economizando energia e reduzindo o ruído. + + Para mais informações, visite o site oficial do SnapRAID: + + :https://www.snapraid.it/ + +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. + + 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. + + 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. + + Outras limitações do SnapRAID são: + + * 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. + * O SnapRAID não faz striping de dados. + Com o RAID, você obtém um aumento de velocidade com striping. + * O SnapRAID não suporta recuperação em tempo real. + Com o RAID, você não precisa parar de trabalhar quando um disco falha. + * 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. + * 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. + +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. + + 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. + + 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. + + Esses discos serão dedicados a armazenar os arquivos de `parity`. + Você não deve armazenar seus dados neles. + + 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. + + 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. + + Por exemplo, suponha que você esteja interessado em apenas um nível de + proteção de paridade, e seus discos estejam localizados em: + + :/mnt/diskp <- disco selecionado para paridade + :/mnt/disk1 <- primeiro disco a proteger + :/mnt/disk2 <- segundo disco a proteger + :/mnt/disk3 <- terceiro disco a proteger + + Você deve criar o arquivo de configuração /etc/snapraid.conf com + as seguintes opções: + + :parity /mnt/diskp/snapraid.parity + :content /var/snapraid/snapraid.content + :content /mnt/disk1/snapraid.content + :content /mnt/disk2/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + + Se você estiver no Windows, deve usar o formato de caminho do Windows, com + letras de unidade e barras invertidas em vez de barras. + + :parity E:\snapraid.parity + :content C:\snapraid\snapraid.content + :content F:\array\snapraid.content + :content G:\array\snapraid.content + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + + Se você tiver muitos discos e ficar sem letras de unidade, pode montar + discos diretamente em subpastas. Consulte: + + :https://www.google.com/search?q=Windows+mount+point + + Neste ponto, você está pronto para executar o comando `sync` para construir + as informações de paridade. + + :snapraid sync + + 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. + + Você pode pará-lo a qualquer momento pressionando Ctrl+C e, na próxima + execução, ele será retomado de onde foi interrompido. + + Quando este comando for concluído, seus dados estarão SEGUROS. + + Agora você pode começar a usar seu array como quiser e periodicamente + atualizar as informações de paridade executando o comando `sync`. + + Scrubbing + Para verificar periodicamente os dados e a paridade em busca de erros, + você pode executar o comando `scrub`. + + :snapraid scrub + + Este comando compara os dados em seu array com o hash calculado + durante o comando `sync` para verificar a integridade. + + 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: + + :snapraid -p 5 -o 20 scrub + + 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`. + + :snapraid status + + Para corrigi-los, você pode usar o comando `fix`, filtrando por blocos + ruins com a opção -e, --filter-error: + + :snapraid -e fix + + 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. + + :snapraid -p bad scrub + + 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. + + 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. + + 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. + + Você pode configurar o diretório de `pooling` no arquivo de configuração com: + + :pool /pool + + ou, se você estiver no Windows, com: + + :pool C:\pool + + e, em seguida, executar o comando `pool` para criar ou atualizar a + visualização virtual. + + :snapraid pool + + 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: + + :# Na seção global de smb.conf + :unix extensions = no + + :# Na seção de compartilhamento de smb.conf + :[pool] + :comment = Pool + :path = /pool + :read only = yes + :guest ok = yes + :wide links = yes + :follow symlinks = yes + + 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. + + Por exemplo, operando a partir de um servidor chamado `darkstar`, você + pode usar as opções: + + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + :pool C:\pool + :share \\darkstar + + e compartilhar os seguintes diretórios pela rede: + + :\\darkstar\pool -> C:\pool + :\\darkstar\d1 -> F:\array + :\\darkstar\d2 -> G:\array + :\\darkstar\d3 -> H:\array + + para permitir que clientes remotos acessem todos os arquivos em \\darkstar\pool. + + Você também pode precisar configurar clientes remotos para habilitar + o acesso a symlinks remotos com o comando: + + :fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + + 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: + + :snapraid fix -f FILE + + ou para um diretório: + + :snapraid fix -f DIR/ + + 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. + + :snapraid fix -m -f DIR/ + + Ou para recuperar todos os arquivos excluídos em todas as unidades com: + + :snapraid fix -m + + Recuperando + O pior aconteceu e você perdeu um ou mais discos! + + NÃO ENTRE EM PÂNICO! Você será capaz de recuperá-los! + + 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. + + Em seguida, prossiga com as seguintes etapas. + + 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. + + 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. + + Por exemplo, se o disco `d1` falhou, mude de: + + :data d1 /mnt/disk1/ + + para: + + :data d1 /mnt/new_spare_disk/ + + 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. + + PASSO 2 -> Corrigir + Execute o comando fix, armazenando o log em um arquivo externo com: + + :snapraid -d NAME -l fix.log fix + + 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. + + Este comando levará muito tempo. + + 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. + + 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`. + + 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:`. + + Se você não estiver satisfeito com a recuperação, pode tentar novamente + quantas vezes quiser. + + 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. + + 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! + + PASSO 3 -> Checar + Como uma verificação cautelosa, você pode agora executar um comando + `check` para garantir que tudo esteja correto no disco recuperado. + + :snapraid -d NAME -a check + + Onde NAME é o nome do disco, como `d1` em nosso exemplo anterior. + + As opções -d e -a dizem ao SnapRAID para verificar apenas o disco + especificado e ignorar todos os dados de paridade. + + Este comando levará muito tempo, mas se você não for excessivamente + cauteloso, pode pulá-lo. + + PASSO 4 -> Sincronizar + Execute o comando `sync` para ressincronizar o array com o novo disco. + + :snapraid sync + + Se tudo for recuperado, este comando é imediato. + +Comandos + SnapRAID fornece alguns comandos simples que permitem a você: + + * Imprimir o status do array -> `status` + * Controlar os discos -> `smart`, `probe`, `up`, `down` + * Fazer um backup/snapshot -> `sync` + * Verificar periodicamente os dados -> `scrub` + * Restaurar o último backup/snapshot -> `fix`. + + Os comandos devem ser escritos em letras minúsculas. + + status + Imprime um resumo do estado do array de discos. + + 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. + + As informações apresentadas referem-se à última vez que você + executou `sync`. Modificações posteriores não são levadas em conta. + + Se blocos ruins foram detectados, seus números de bloco são listados. + Para corrigi-los, você pode usar o comando `fix -e`. + + 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'. + + Nada é modificado. + + smart + Imprime um relatório SMART de todos os discos no sistema. + + 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. + + Esta estimativa de probabilidade é obtida correlacionando os atributos + SMART dos discos com os dados do Backblaze disponíveis em: + + :https://www.backblaze.com/hard-drive-test-data.html + + 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. + + Outras possíveis strings de status são: + logfail - No passado, alguns atributos estavam abaixo do + limite. + logerr - O log de erros do dispositivo contém erros. + selferr - O log de autoteste do dispositivo contém erros. + + 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. + + Este comando usa a ferramenta `smartctl` e é equivalente a executar + `smartctl -a` em todos os dispositivos. + + 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. + + Nada é modificado. + + probe + Imprime o estado de ENERGIA de todos os discos no sistema. + + `Standby` significa que o disco não está girando. `Active` significa + que o disco está girando. + + Este comando usa a ferramenta `smartctl` e é equivalente a executar + `smartctl -n standby -i` em todos os dispositivos. + + 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. + + Nada é modificado. + + up + Liga (spins up) todos os discos do array. + + Você pode ligar apenas discos específicos usando a opção -d, --filter-disk. + + Ligar todos os discos ao mesmo tempo requer muita energia. + Certifique-se de que sua fonte de alimentação pode suportar isso. + + Nada é modificado. + + down + Desliga (spins down) todos os discos do array. + + Este comando usa a ferramenta `smartctl` e é equivalente a executar + `smartctl -s standby,now` em todos os dispositivos. + + Você pode desligar apenas discos específicos usando a opção -d, --filter-disk. + + 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. + + Nada é modificado. + + diff + Lista todos os arquivos modificados desde o último `sync` que precisam ter + seus dados de paridade recalculados. + + Este comando não verifica os dados do arquivo, mas apenas o carimbo de + data/hora, tamanho e inode do arquivo. + + Após listar todos os arquivos alterados, um resumo das alterações é + apresentado, agrupado por: + equal - Arquivos inalterados de antes. + added - Arquivos adicionados que não estavam presentes antes. + removed - Arquivos removidos. + updated - Arquivos com tamanho ou carimbo de data/hora diferente, + o que significa que foram modificados. + 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. + 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. + 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. + + 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. + + Nada é modificado. + + 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. + + 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. + + Se erros silenciosos ou de entrada/saída forem encontrados durante o processo, + os blocos correspondentes são marcados como ruins. + + 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. + + Os arquivos `content` e `parity` são modificados se necessário. + Os arquivos no array NÃO são modificados. + + scrub + Examina (scrubs) o array, verificando se há erros silenciosos ou de + entrada/saída nos discos de dados e paridade. + + 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. + + 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. + + 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`. + + Para obter detalhes do status do scrub, use o comando `status`. + + 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`. + + É 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. + + 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. + + fix + Corrige todos os arquivos e os dados de paridade. + + 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. + + 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`. + + 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. + + 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`. + + O SnapRAID renomeia todos os arquivos que não podem ser corrigidos adicionando + a extensão `.unrecoverable`. + + 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. + + Os arquivos são identificados apenas por caminho, não por inode. + + 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. + + check + Verifica todos os arquivos e os dados de paridade. + + Funciona como `fix`, mas apenas simula uma recuperação e nenhuma alteração + é escrita no array. + + 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`. + + 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. + + Os arquivos são identificados apenas por caminho, não por inode. + + Nada é modificado. + + list + Lista todos os arquivos contidos no array no momento da + última `sync`. + + Com -v ou --verbose, o tempo sub-segundo também é mostrado. + + Nada é modificado. + + 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. + + Nada é modificado. + + pool + Cria ou atualiza uma visualização virtual de todos + os arquivos em seu array de discos no diretório `pooling`. + + Os arquivos não são copiados, mas ligados usando + links simbólicos. + + 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. + + Nada é modificado fora do diretório do pool. + + devices + Imprime os dispositivos de baixo nível usados pelo array. + + Este comando exibe as associações de dispositivos no array + e destina-se principalmente como uma interface de script. + + 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. + + 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. + + Nada é modificado. + + touch + Define um carimbo de data/hora sub-segundo arbitrário para todos os arquivos + que o têm definido como zero. + + 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. + + 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. + + 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. + + rehash + Agenda um novo hash de todo o array. + + 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. + + Se você já estiver usando o hash ideal, este comando + não faz nada e informa que nenhuma ação é necessária. + + O novo hash não é executado imediatamente, mas ocorre + progressivamente durante `sync` e `scrub`. + + Você pode verificar o estado do novo hash usando `status`. + + 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. + +Opções + SnapRAID fornece as seguintes opções: + + -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`. + + -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. + + -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. + + -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. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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. + + -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). + + -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. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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, `">>resultado.log"`. + Para enviar o log para a saída padrão ou erro padrão, + você pode usar `">&1"` e `">&2"`, respectivamente. + Consulte o arquivo snapraid_log.txt ou a página man para descrições + de tags de log. + + -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. + + -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. + + -B, --count BLKCOUNT + Processa apenas o número especificado de blocos. + Esta opção é principalmente para recuperação manual avançada. + + -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. + + -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. + + -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. + + -H, --help + Imprime uma tela de ajuda curta. + + -V, --version + Imprime a versão do programa. + +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. + + 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`. + + Deve conter as seguintes opções (sensível a maiúsculas/minúsculas): + + 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. + + 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. + + Você pode adicionar arquivos de paridade adicionais mais tarde, mas você + não pode reordenar ou removê-los. + + Manter os discos de paridade reservados para paridade garante que + eles não se fragmentem, melhorando o desempenho. + + No Windows, 256 MB são deixados sem uso em cada disco para evitar o + aviso sobre discos cheios. + + Esta opção é obrigatória e pode ser usada apenas uma vez. + + (2,3,4,5,6)-parity FILE [,FILE] ... + Define os arquivos a serem usados para armazenar informações de paridade extra. + + Para cada nível de paridade especificado, um nível adicional de proteção + é habilitado: + + * 2-parity habilita paridade dupla RAID6. + * 3-parity habilita paridade tripla. + * 4-parity habilita paridade quádrupla (quatro). + * 5-parity habilita paridade penta (cinco). + * 6-parity habilita paridade hexa (seis). + + Cada nível de paridade requer a presença de todos os níveis de paridade + anteriores. + + As mesmas considerações que para a opção 'parity' se aplicam. + + Estas opções são opcionais e podem ser usadas apenas uma vez. + + z-parity FILE [,FILE] ... + Define um arquivo e formato alternativo para armazenar paridade tripla. + + 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. + + 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. + + Ao usar '3-parity', você será avisado se for recomendado usar + o formato 'z-parity' para melhoria de desempenho. + + É 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. + + 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. + + 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`. + + Esta opção é obrigatória e pode ser usada várias vezes para salvar + múltiplas cópias do mesmo arquivo. + + Você deve armazenar pelo menos uma cópia para cada disco de paridade usado + mais um. Usar cópias adicionais não prejudica. + + 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. + + Você pode alterar o ponto de montagem conforme necessário, desde que + mantenha o NAME fixo. + + Você deve usar uma opção para cada disco de dados no array. + + 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. + + 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. + + 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. + + 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`. + + Consulte a seção PATTERN para obter mais detalhes sobre + especificações de padrão. + + Esta opção pode ser usada várias vezes. + + blocksize SIZE_IN_KIBIBYTES + Define o tamanho básico do bloco em kibibytes para a paridade. + Um kibibyte é 1024 bytes. + + O `blocksize` padrão é 256, o que deve funcionar para a maioria dos casos. + + 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! + + Uma razão para usar um `blocksize` diferente é se você tiver muitos arquivos + pequenos, na ordem de milhões. + + 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. + + 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. + + 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. + + 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. + + Um truque para obter uma partição de paridade maior no Linux é formatá-la + com o comando: + + :mkfs.ext4 -m 0 -T largefile4 DEVICE + + 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. + + hashsize SIZE_IN_BYTES + Define o tamanho do hash em bytes para os blocos salvos. + + O `hashsize` padrão é 16 bytes (128 bits), o que deve funcionar + para a maioria dos casos. + + 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! + + 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. + + 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. + + 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: + + :RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB + + Mudando para um tamanho de hash de 8, você obtém: + + :RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB + + Mudando para um tamanho de bloco de 512, você obtém: + + :RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB + + Mudando para um tamanho de hash de 8 e um tamanho de bloco de 512, você obtém: + + :RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + pool DIR + Define o diretório de pooling onde a visualização virtual do array + de discos é criada usando o comando `pool`. + + O diretório já deve existir. + + share UNC_DIR + Define o caminho UNC do Windows necessário para acessar os discos remotamente. + + 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. + + 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. + + Esta opção é necessária apenas para Windows. + + 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. + + 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`. + + 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`. + + Consulte a documentação do smartmontools para possíveis opções: + + :https://www.smartmontools.org/wiki/Supported_RAID-Controllers + :https://www.smartmontools.org/wiki/Supported_USB-Devices + + Por exemplo: + + :smartctl parity -d sat %s + + 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. + + 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. + + Por exemplo, para ignorar o atributo `Current Pending Sector Count` em + todos os discos: + + :smartignore * 197 + + Para ignorá-lo apenas no primeiro disco de paridade: + + :smartignore parity 197 + + Exemplos + Um exemplo de uma configuração típica para Unix é: + + :parity /mnt/diskp/snapraid.parity + :content /mnt/diskp/snapraid.content + :content /var/snapraid/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + :exclude /lost+found/ + :exclude /tmp/ + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/sg0 + :smartctl 2-parity -d areca,2/1 /dev/sg0 + + Um exemplo de uma configuração típica para Windows é: + + :parity E:\snapraid.parity + :content E:\snapraid.content + :content C:\snapraid\snapraid.content + :data d1 G:\array\ + :data d2 H:\array\ + :data d3 I:\array\ + :exclude Thumbs.db + :exclude \$RECYCLE.BIN + :exclude \System Volume Information + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/arcmsr0 + :smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + +Padrão (Pattern) + Padrões são usados para selecionar um subconjunto de arquivos a serem + excluídos ou incluídos no processo. + + Existem quatro tipos diferentes de padrões: + + =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. + + =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. + + =/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. + + =/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. + + 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. + + 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. + + 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. + + 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: + + :# Exclui qualquer arquivo chamado `*.unrecoverable` + :exclude *.unrecoverable + :# Exclui o diretório raiz `/lost+found` + :exclude /lost+found/ + :# Exclui qualquer subdiretório chamado `tmp` + :exclude tmp/ + + A abordagem oposta é definir apenas os arquivos que você deseja processar, + usando apenas regras `include`. Por exemplo: + + :# Inclui apenas alguns diretórios + :include /movies/ + :include /musics/ + :include /pictures/ + + 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: + + :# Exclui qualquer arquivo chamado `*.unrecoverable` + :exclude *.unrecoverable + :# Exclui qualquer subdiretório chamado `tmp` + :exclude tmp/ + :# Inclui apenas alguns diretórios + :include /movies/ + :include /musics/ + :include /pictures/ + + Na linha de comando, usando a opção -f, você pode usar apenas padrões `include`. + Por exemplo: + + :# Verifica apenas os arquivos .mp3. + :# No Unix, use aspas para evitar a expansão globbing pelo shell. + :snapraid -f "*.mp3" check + + No Unix, ao usar caracteres globbing na linha de comando, você deve + citá-los para evitar que o shell os expanda. + +Conteúdo (Content) + SnapRAID armazena a lista e os checksums de seus arquivos no arquivo content. + + É um arquivo binário que lista todos os arquivos presentes em seu array + de discos, juntamente com todos os checksums para verificar sua integridade. + + Este arquivo é lido e escrito pelos comandos `sync` e `scrub` e + lido pelos comandos `fix`, `check` e `status`. + +Paridade (Parity) + SnapRAID armazena as informações de paridade do seu array nos arquivos parity. + + Estes são arquivos binários contendo a paridade calculada de todos os + blocos definidos no arquivo `content`. + + Estes arquivos são lidos e escritos pelos comandos `sync` e `fix` e + apenas lidos pelos comandos `scrub` e `check`. + +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. + + No Windows, todos os nomes lidos do sistema de arquivos são convertidos + e processados no formato UTF-8. + + 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. + +Direitos Autorais (Copyright) + Este arquivo é Copyright (C) 2025 Andrea Mazzoleni + +Veja Também (See Also) + snapraid_log(1), rsync(1) diff --git a/snapraid-pt.txt b/snapraid-pt.txt new file mode 100644 index 00000000..6e78c801 --- /dev/null +++ b/snapraid-pt.txt @@ -0,0 +1,1596 @@ + ==================================== + SnapRAID Backup para Arrays de Disco + ==================================== + + +1 SINOPSE +========= + +snapraid [-c, --conf CONFIG] + [-f, --filter PATTERN] [-d, --filter-disk NAME] + [-m, --filter-missing] [-e, --filter-error] + [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + [-p, --plan PERC|bad|new|full] + [-o, --older-than DAYS] [-l, --log FILE] + [-s, --spin-down-on-error] [-w, --bw-limit RATE] + [-Z, --force-zero] [-E, --force-empty] + [-U, --force-uuid] [-D, --force-device] + [-N, --force-nocopy] [-F, --force-full] + [-R, --force-realloc] + [-S, --start BLKSTART] [-B, --count BLKCOUNT] + [-L, --error-limit NUMBER] + [-A, --stats] + [-v, --verbose] [-q, --quiet] + status|smart|probe|up|down|diff|sync|scrub|fix|check + |list|dup|pool|devices|touch|rehash + +snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + + +2 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. + +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: + +* Você pode utilizar discos já preenchidos com arquivos sem a + necessidade de reformatá-los, acessando-os normalmente. +* Todos os seus dados são submetidos a hash para garantir a integridade + dos dados e prevenir corrupção silenciosa. +* 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. +* Se você acidentalmente excluir arquivos em um disco, a recuperação é + possível. +* Os discos podem ter tamanhos diferentes. +* Você pode adicionar discos a qualquer momento. +* O SnapRAID não prende seus dados; você pode parar de usá-lo + a qualquer momento sem reformatar ou mover dados. +* Para acessar um arquivo, apenas um único disco precisa girar (spin), + economizando energia e reduzindo o ruído. + +Para mais informações, visite o site oficial do SnapRAID: + + https://www.snapraid.it/ + + +3 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. + +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. + +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. + +Outras limitações do SnapRAID são: + +* 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. +* O SnapRAID não faz striping de dados. + Com o RAID, você obtém um aumento de velocidade com striping. +* O SnapRAID não suporta recuperação em tempo real. + Com o RAID, você não precisa parar de trabalhar quando um disco falha. +* 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. +* 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. + + +4 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. + +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. + +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. + +Esses discos serão dedicados a armazenar os arquivos de `parity`. +Você não deve armazenar seus dados neles. + +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. + +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. + +Por exemplo, suponha que você esteja interessado em apenas um nível de +proteção de paridade, e seus discos estejam localizados em: + + /mnt/diskp <- disco selecionado para paridade + /mnt/disk1 <- primeiro disco a proteger + /mnt/disk2 <- segundo disco a proteger + /mnt/disk3 <- terceiro disco a proteger + +Você deve criar o arquivo de configuração /etc/snapraid.conf com +as seguintes opções: + + parity /mnt/diskp/snapraid.parity + content /var/snapraid/snapraid.content + content /mnt/disk1/snapraid.content + content /mnt/disk2/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + +Se você estiver no Windows, deve usar o formato de caminho do Windows, com +letras de unidade e barras invertidas em vez de barras. + + parity E:\snapraid.parity + content C:\snapraid\snapraid.content + content F:\array\snapraid.content + content G:\array\snapraid.content + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + +Se você tiver muitos discos e ficar sem letras de unidade, pode montar +discos diretamente em subpastas. Consulte: + + https://www.google.com/search?q=Windows+mount+point + +Neste ponto, você está pronto para executar o comando `sync` para construir +as informações de paridade. + + snapraid sync + +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. + +Você pode pará-lo a qualquer momento pressionando Ctrl+C e, na próxima +execução, ele será retomado de onde foi interrompido. + +Quando este comando for concluído, seus dados estarão SEGUROS. + +Agora você pode começar a usar seu array como quiser e periodicamente +atualizar as informações de paridade executando o comando `sync`. + +4.1 Scrubbing +------------- + +Para verificar periodicamente os dados e a paridade em busca de erros, +você pode executar o comando `scrub`. + + snapraid scrub + +Este comando compara os dados em seu array com o hash calculado +durante o comando `sync` para verificar a integridade. + +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: + + snapraid -p 5 -o 20 scrub + +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`. + + snapraid status + +Para corrigi-los, você pode usar o comando `fix`, filtrando por blocos +ruins com a opção -e, --filter-error: + + snapraid -e fix + +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. + + snapraid -p bad scrub + +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. + +4.2 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. + +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. + +Você pode configurar o diretório de `pooling` no arquivo de configuração com: + + pool /pool + +ou, se você estiver no Windows, com: + + pool C:\pool + +e, em seguida, executar o comando `pool` para criar ou atualizar a +visualização virtual. + + snapraid pool + +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: + + # Na seção global de smb.conf + unix extensions = no + + # Na seção de compartilhamento de smb.conf + [pool] + comment = Pool + path = /pool + read only = yes + guest ok = yes + wide links = yes + follow symlinks = yes + +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. + +Por exemplo, operando a partir de um servidor chamado `darkstar`, você +pode usar as opções: + + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + pool C:\pool + share \\darkstar + +e compartilhar os seguintes diretórios pela rede: + + \\darkstar\pool -> C:\pool + \\darkstar\d1 -> F:\array + \\darkstar\d2 -> G:\array + \\darkstar\d3 -> H:\array + +para permitir que clientes remotos acessem todos os arquivos em \\darkstar\pool. + +Você também pode precisar configurar clientes remotos para habilitar +o acesso a symlinks remotos com o comando: + + fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + +4.3 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: + + snapraid fix -f FILE + +ou para um diretório: + + snapraid fix -f DIR/ + +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. + + snapraid fix -m -f DIR/ + +Ou para recuperar todos os arquivos excluídos em todas as unidades com: + + snapraid fix -m + +4.4 Recuperando +--------------- + +O pior aconteceu e você perdeu um ou mais discos! + +NÃO ENTRE EM PÂNICO! Você será capaz de recuperá-los! + +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. + +Em seguida, prossiga com as seguintes etapas. + +---- 4.4.1 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. + +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. + +Por exemplo, se o disco `d1` falhou, mude de: + + data d1 /mnt/disk1/ + +para: + + data d1 /mnt/new_spare_disk/ + +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. + +---- 4.4.2 PASSO 2 -> Corrigir ---- +Execute o comando fix, armazenando o log em um arquivo externo com: + + snapraid -d NAME -l fix.log fix + +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. + +Este comando levará muito tempo. + +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. + +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`. + +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:`. + +Se você não estiver satisfeito com a recuperação, pode tentar novamente +quantas vezes quiser. + +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. + +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! + +---- 4.4.3 PASSO 3 -> Checar ---- +Como uma verificação cautelosa, você pode agora executar um comando +`check` para garantir que tudo esteja correto no disco recuperado. + + snapraid -d NAME -a check + +Onde NAME é o nome do disco, como `d1` em nosso exemplo anterior. + +As opções -d e -a dizem ao SnapRAID para verificar apenas o disco +especificado e ignorar todos os dados de paridade. + +Este comando levará muito tempo, mas se você não for excessivamente +cauteloso, pode pulá-lo. + +---- 4.4.4 PASSO 4 -> Sincronizar ---- +Execute o comando `sync` para ressincronizar o array com o novo disco. + + snapraid sync + +Se tudo for recuperado, este comando é imediato. + + +5 COMANDOS +========== + +SnapRAID fornece alguns comandos simples que permitem a você: + +* Imprimir o status do array -> `status` +* Controlar os discos -> `smart`, `probe`, `up`, `down` +* Fazer um backup/snapshot -> `sync` +* Verificar periodicamente os dados -> `scrub` +* Restaurar o último backup/snapshot -> `fix`. + +Os comandos devem ser escritos em letras minúsculas. + +5.1 status +---------- + +Imprime um resumo do estado do array de discos. + +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. + +As informações apresentadas referem-se à última vez que você +executou `sync`. Modificações posteriores não são levadas em conta. + +Se blocos ruins foram detectados, seus números de bloco são listados. +Para corrigi-los, você pode usar o comando `fix -e`. + +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'. + +Nada é modificado. + +5.2 smart +--------- + +Imprime um relatório SMART de todos os discos no sistema. + +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. + +Esta estimativa de probabilidade é obtida correlacionando os atributos +SMART dos discos com os dados do Backblaze disponíveis em: + + https://www.backblaze.com/hard-drive-test-data.html + +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. + +Outras possíveis strings de status são: + logfail - No passado, alguns atributos estavam abaixo do + limite. + logerr - O log de erros do dispositivo contém erros. + selferr - O log de autoteste do dispositivo contém erros. + +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. + +Este comando usa a ferramenta `smartctl` e é equivalente a executar +`smartctl -a` em todos os dispositivos. + +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. + +Nada é modificado. + +5.3 probe +--------- + +Imprime o estado de ENERGIA de todos os discos no sistema. + +`Standby` significa que o disco não está girando. `Active` significa +que o disco está girando. + +Este comando usa a ferramenta `smartctl` e é equivalente a executar +`smartctl -n standby -i` em todos os dispositivos. + +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. + +Nada é modificado. + +5.4 up +------ + +Liga (spins up) todos os discos do array. + +Você pode ligar apenas discos específicos usando a opção -d, --filter-disk. + +Ligar todos os discos ao mesmo tempo requer muita energia. +Certifique-se de que sua fonte de alimentação pode suportar isso. + +Nada é modificado. + +5.5 down +-------- + +Desliga (spins down) todos os discos do array. + +Este comando usa a ferramenta `smartctl` e é equivalente a executar +`smartctl -s standby,now` em todos os dispositivos. + +Você pode desligar apenas discos específicos usando a opção -d, --filter-disk. + +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. + +Nada é modificado. + +5.6 diff +-------- + +Lista todos os arquivos modificados desde o último `sync` que precisam ter +seus dados de paridade recalculados. + +Este comando não verifica os dados do arquivo, mas apenas o carimbo de +data/hora, tamanho e inode do arquivo. + +Após listar todos os arquivos alterados, um resumo das alterações é +apresentado, agrupado por: + equal - Arquivos inalterados de antes. + added - Arquivos adicionados que não estavam presentes antes. + removed - Arquivos removidos. + updated - Arquivos com tamanho ou carimbo de data/hora diferente, + o que significa que foram modificados. + 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. + 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. + 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. + +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. + +Nada é modificado. + +5.7 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. + +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. + +Se erros silenciosos ou de entrada/saída forem encontrados durante o processo, +os blocos correspondentes são marcados como ruins. + +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. + +Os arquivos `content` e `parity` são modificados se necessário. +Os arquivos no array NÃO são modificados. + +5.8 scrub +--------- + +Examina (scrubs) o array, verificando se há erros silenciosos ou de +entrada/saída nos discos de dados e paridade. + +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. + +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. + +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`. + +Para obter detalhes do status do scrub, use o comando `status`. + +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`. + +É 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. + +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. + +5.9 fix +------- + +Corrige todos os arquivos e os dados de paridade. + +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. + +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`. + +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. + +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`. + +O SnapRAID renomeia todos os arquivos que não podem ser corrigidos adicionando +a extensão `.unrecoverable`. + +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. + +Os arquivos são identificados apenas por caminho, não por inode. + +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. + +5.10 check +---------- + +Verifica todos os arquivos e os dados de paridade. + +Funciona como `fix`, mas apenas simula uma recuperação e nenhuma alteração +é escrita no array. + +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`. + +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. + +Os arquivos são identificados apenas por caminho, não por inode. + +Nada é modificado. + +5.11 list +--------- + +Lista todos os arquivos contidos no array no momento da +última `sync`. + +Com -v ou --verbose, o tempo sub-segundo também é mostrado. + +Nada é modificado. + +5.12 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. + +Nada é modificado. + +5.13 pool +--------- + +Cria ou atualiza uma visualização virtual de todos +os arquivos em seu array de discos no diretório `pooling`. + +Os arquivos não são copiados, mas ligados usando +links simbólicos. + +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. + +Nada é modificado fora do diretório do pool. + +5.14 devices +------------ + +Imprime os dispositivos de baixo nível usados pelo array. + +Este comando exibe as associações de dispositivos no array +e destina-se principalmente como uma interface de script. + +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. + +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. + +Nada é modificado. + +5.15 touch +---------- + +Define um carimbo de data/hora sub-segundo arbitrário para todos os arquivos +que o têm definido como zero. + +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. + +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. + +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. + +5.16 rehash +----------- + +Agenda um novo hash de todo o array. + +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. + +Se você já estiver usando o hash ideal, este comando +não faz nada e informa que nenhuma ação é necessária. + +O novo hash não é executado imediatamente, mas ocorre +progressivamente durante `sync` e `scrub`. + +Você pode verificar o estado do novo hash usando `status`. + +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. + + +6 OPçõES +======== + +SnapRAID fornece as seguintes opções: + + -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`. + + -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. + + -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. + + -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. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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. + + -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). + + -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. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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`. + + -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, `">>resultado.log"`. + Para enviar o log para a saída padrão ou erro padrão, + você pode usar `">&1"` e `">&2"`, respectivamente. + Consulte o arquivo snapraid_log.txt ou a página man para descrições + de tags de log. + + -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. + + -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. + + -B, --count BLKCOUNT + Processa apenas o número especificado de blocos. + Esta opção é principalmente para recuperação manual avançada. + + -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. + + -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. + + -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. + + -H, --help + Imprime uma tela de ajuda curta. + + -V, --version + Imprime a versão do programa. + + +7 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. + +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`. + +Deve conter as seguintes opções (sensível a maiúsculas/minúsculas): + +7.1 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. + +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. + +Você pode adicionar arquivos de paridade adicionais mais tarde, mas você +não pode reordenar ou removê-los. + +Manter os discos de paridade reservados para paridade garante que +eles não se fragmentem, melhorando o desempenho. + +No Windows, 256 MB são deixados sem uso em cada disco para evitar o +aviso sobre discos cheios. + +Esta opção é obrigatória e pode ser usada apenas uma vez. + +7.2 (2,3,4,5,6)-parity FILE [,FILE] ... +--------------------------------------- + +Define os arquivos a serem usados para armazenar informações de paridade extra. + +Para cada nível de paridade especificado, um nível adicional de proteção +é habilitado: + +* 2-parity habilita paridade dupla RAID6. +* 3-parity habilita paridade tripla. +* 4-parity habilita paridade quádrupla (quatro). +* 5-parity habilita paridade penta (cinco). +* 6-parity habilita paridade hexa (seis). + +Cada nível de paridade requer a presença de todos os níveis de paridade +anteriores. + +As mesmas considerações que para a opção 'parity' se aplicam. + +Estas opções são opcionais e podem ser usadas apenas uma vez. + +7.3 z-parity FILE [,FILE] ... +----------------------------- + +Define um arquivo e formato alternativo para armazenar paridade tripla. + +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. + +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. + +Ao usar '3-parity', você será avisado se for recomendado usar +o formato 'z-parity' para melhoria de desempenho. + +É 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. + +7.4 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. + +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`. + +Esta opção é obrigatória e pode ser usada várias vezes para salvar +múltiplas cópias do mesmo arquivo. + +Você deve armazenar pelo menos uma cópia para cada disco de paridade usado +mais um. Usar cópias adicionais não prejudica. + +7.5 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. + +Você pode alterar o ponto de montagem conforme necessário, desde que +mantenha o NAME fixo. + +Você deve usar uma opção para cada disco de dados no array. + +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. + +7.6 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. + +7.7 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. + +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`. + +Consulte a seção PATTERN para obter mais detalhes sobre +especificações de padrão. + +Esta opção pode ser usada várias vezes. + +7.8 blocksize SIZE_IN_KIBIBYTES +------------------------------- + +Define o tamanho básico do bloco em kibibytes para a paridade. +Um kibibyte é 1024 bytes. + +O `blocksize` padrão é 256, o que deve funcionar para a maioria dos casos. + +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! + +Uma razão para usar um `blocksize` diferente é se você tiver muitos arquivos +pequenos, na ordem de milhões. + +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. + +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. + +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. + +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. + +Um truque para obter uma partição de paridade maior no Linux é formatá-la +com o comando: + + mkfs.ext4 -m 0 -T largefile4 DEVICE + +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. + +7.9 hashsize SIZE_IN_BYTES +-------------------------- + +Define o tamanho do hash em bytes para os blocos salvos. + +O `hashsize` padrão é 16 bytes (128 bits), o que deve funcionar +para a maioria dos casos. + +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! + +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. + +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. + +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: + +RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB + +Mudando para um tamanho de hash de 8, você obtém: + +RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB + +Mudando para um tamanho de bloco de 512, você obtém: + +RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB + +Mudando para um tamanho de hash de 8 e um tamanho de bloco de 512, você obtém: + +RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB + +7.10 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. + +7.11 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. + +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. + +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. + +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. + +7.12 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. + +7.13 pool DIR +------------- + +Define o diretório de pooling onde a visualização virtual do array +de discos é criada usando o comando `pool`. + +O diretório já deve existir. + +7.14 share UNC_DIR +------------------ + +Define o caminho UNC do Windows necessário para acessar os discos remotamente. + +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. + +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. + +Esta opção é necessária apenas para Windows. + +7.15 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. + +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`. + +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`. + +Consulte a documentação do smartmontools para possíveis opções: + + https://www.smartmontools.org/wiki/Supported_RAID-Controllers + https://www.smartmontools.org/wiki/Supported_USB-Devices + +Por exemplo: + + smartctl parity -d sat %s + +7.16 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. + +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. + +Por exemplo, para ignorar o atributo `Current Pending Sector Count` em +todos os discos: + + smartignore * 197 + +Para ignorá-lo apenas no primeiro disco de paridade: + + smartignore parity 197 + +7.17 Exemplos +------------- + +Um exemplo de uma configuração típica para Unix é: + + parity /mnt/diskp/snapraid.parity + content /mnt/diskp/snapraid.content + content /var/snapraid/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + exclude /lost+found/ + exclude /tmp/ + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/sg0 + smartctl 2-parity -d areca,2/1 /dev/sg0 + +Um exemplo de uma configuração típica para Windows é: + + parity E:\snapraid.parity + content E:\snapraid.content + content C:\snapraid\snapraid.content + data d1 G:\array\ + data d2 H:\array\ + data d3 I:\array\ + exclude Thumbs.db + exclude \$RECYCLE.BIN + exclude \System Volume Information + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/arcmsr0 + smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + + +8 PADRãO (PATTERN) +================== + +Padrões são usados para selecionar um subconjunto de arquivos a serem +excluídos ou incluídos no processo. + +Existem quatro tipos diferentes de padrões: + + 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. + + 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. + + /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. + + /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. + +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. + +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. + +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. + +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: + + # Exclui qualquer arquivo chamado `*.unrecoverable` + exclude *.unrecoverable + # Exclui o diretório raiz `/lost+found` + exclude /lost+found/ + # Exclui qualquer subdiretório chamado `tmp` + exclude tmp/ + +A abordagem oposta é definir apenas os arquivos que você deseja processar, +usando apenas regras `include`. Por exemplo: + + # Inclui apenas alguns diretórios + include /movies/ + include /musics/ + include /pictures/ + +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: + + # Exclui qualquer arquivo chamado `*.unrecoverable` + exclude *.unrecoverable + # Exclui qualquer subdiretório chamado `tmp` + exclude tmp/ + # Inclui apenas alguns diretórios + include /movies/ + include /musics/ + include /pictures/ + +Na linha de comando, usando a opção -f, você pode usar apenas padrões `include`. +Por exemplo: + + # Verifica apenas os arquivos .mp3. + # No Unix, use aspas para evitar a expansão globbing pelo shell. + snapraid -f "*.mp3" check + +No Unix, ao usar caracteres globbing na linha de comando, você deve +citá-los para evitar que o shell os expanda. + + +9 CONTEúDO (CONTENT) +==================== + +SnapRAID armazena a lista e os checksums de seus arquivos no arquivo content. + +É um arquivo binário que lista todos os arquivos presentes em seu array +de discos, juntamente com todos os checksums para verificar sua integridade. + +Este arquivo é lido e escrito pelos comandos `sync` e `scrub` e +lido pelos comandos `fix`, `check` e `status`. + + +10 PARIDADE (PARITY) +==================== + +SnapRAID armazena as informações de paridade do seu array nos arquivos parity. + +Estes são arquivos binários contendo a paridade calculada de todos os +blocos definidos no arquivo `content`. + +Estes arquivos são lidos e escritos pelos comandos `sync` e `fix` e +apenas lidos pelos comandos `scrub` e `check`. + + +11 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. + +No Windows, todos os nomes lidos do sistema de arquivos são convertidos +e processados no formato UTF-8. + +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. + + +12 DIREITOS AUTORAIS (COPYRIGHT) +================================ + +Este arquivo é Copyright (C) 2025 Andrea Mazzoleni + + +13 VEJA TAMBéM (SEE ALSO) +========================= + +snapraid_log(1), rsync(1) diff --git a/snapraid-ro.txt b/snapraid-ro.txt index 5aab3086..8f780864 100644 --- a/snapraid-ro.txt +++ b/snapraid-ro.txt @@ -4,7 +4,7 @@ 1 SINTAXă -========== +========= snapraid [-c, --conf CONFIG] [-f, --filter PATTERN] [-d, --filter-disk NAME] @@ -59,7 +59,7 @@ Pentru mai multe informații, vă rugăm să vizitați site-ul oficial SnapRAID: 3 LIMITăRI -=========== +========== SnapRAID este un hibrid între un program RAID și unul de backup, care urmărește să combine cele mai bune beneficii ale ambelor. Cu toate acestea, are unele limitări pe care ar trebui @@ -93,7 +93,7 @@ Alte limitări ale SnapRAID sunt: 4 NOțIUNI DE BAZă -=================== +================= Pentru a utiliza SnapRAID, trebuie mai întâi să selectați un disc în matricea dvs. de discuri pentru a-l dedica informațiilor de `paritate`. Cu un singur disc pentru paritate, veți @@ -289,7 +289,7 @@ De asemenea, ar putea fi necesar să configurați clienții la distanță pentru fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 4.3 Undeleting (Anulare Ștergere) ----------------------------------- +--------------------------------- SnapRAID funcționează mai mult ca un program de backup decât un sistem RAID și poate fi folosit pentru a restaura sau anula ștergerea fișierelor la starea lor anterioară utilizând @@ -768,7 +768,7 @@ folosind un hash diferit. 6 OPțIUNI -========== +========= SnapRAID oferă următoarele opțiuni: @@ -1507,7 +1507,7 @@ să le citați pentru a împiedica shell-ul să le extindă. 9 CONțINUT (CONTENT) -===================== +==================== SnapRAID stochează lista și sumele de control (checksums) ale fișierelor dvs. în fișierul de conținut. @@ -1554,6 +1554,6 @@ Acest fișier este Copyright (C) 2025 Andrea Mazzoleni 13 VEZI șI (SEE ALSO) -====================== +===================== snapraid_log(1), rsync(1) diff --git a/snapraid-ru.d b/snapraid-ru.d new file mode 100644 index 00000000..7b16ffd3 --- /dev/null +++ b/snapraid-ru.d @@ -0,0 +1,1449 @@ +Name{number} + snapraid - Резервное копирование SnapRAID для дисковых массивов + +Synopsis + :snapraid [-c, --conf CONFIG] + : [-f, --filter PATTERN] [-d, --filter-disk NAME] + : [-m, --filter-missing] [-e, --filter-error] + : [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + : [-p, --plan PERC|bad|new|full] + : [-o, --older-than DAYS] [-l, --log FILE] + : [-s, --spin-down-on-error] [-w, --bw-limit RATE] + : [-Z, --force-zero] [-E, --force-empty] + : [-U, --force-uuid] [-D, --force-device] + : [-N, --force-nocopy] [-F, --force-full] + : [-R, --force-realloc] + : [-S, --start BLKSTART] [-B, --count BLKCOUNT] + : [-L, --error-limit NUMBER] + : [-A, --stats] + : [-v, --verbose] [-q, --quiet] + : status|smart|probe|up|down|diff|sync|scrub|fix|check + : |list|dup|pool|devices|touch|rehash + + :snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + +Description + SnapRAID — это программа резервного копирования, разработанная для дисковых массивов, + хранящая информацию четности для восстановления данных в случае сбоя + до шести дисков. + + В первую очередь предназначенная для домашних медиацентров с большими, + редко меняющимися файлами, SnapRAID предлагает несколько функций: + + * Вы можете использовать диски, уже заполненные файлами, без + необходимости их переформатирования, получая к ним доступ как обычно. + * Все ваши данные хэшируются для обеспечения целостности данных и + предотвращения скрытого повреждения. + * Когда число отказавших дисков превышает количество дисков четности, + потеря данных ограничивается затронутыми дисками; данные на + других дисках остаются доступными. + * Если вы случайно удалите файлы на диске, возможно их восстановление. + * Диски могут иметь разные размеры. + * Вы можете добавлять диски в любое время. + * SnapRAID не блокирует ваши данные; вы можете прекратить его использование + в любое время без переформатирования или перемещения данных. + * Для доступа к файлу должен раскручиваться только один диск, что экономит + энергию и снижает шум. + + Для получения дополнительной информации, пожалуйста, посетите официальный сайт SnapRAID: + + :https://www.snapraid.it/ + +Limitations + SnapRAID — это гибрид программы RAID и программы резервного копирования, + стремящийся объединить лучшие преимущества обеих. Однако у него есть + некоторые ограничения, которые следует учитывать перед использованием. + + Основное ограничение заключается в том, что если диск выходит из строя, а вы + недавно не выполняли синхронизацию, вы можете не восстановить данные полностью. + В частности, вы можете не восстановить данные в объеме, равном размеру + измененных или удаленных файлов с момента последней операции синхронизации. + Это происходит, даже если измененные или удаленные файлы не находятся + на отказавшем диске. Вот почему SnapRAID лучше подходит для + данных, которые редко меняются. + + С другой стороны, недавно добавленные файлы не препятствуют восстановлению уже + существующих файлов. Вы потеряете только недавно добавленные файлы, + если они находятся на отказавшем диске. + + Другие ограничения SnapRAID: + + * Со SnapRAID у вас все еще отдельные файловые системы для каждого диска. + С RAID вы получаете единую большую файловую систему. + * SnapRAID не выполняет чередование данных. + С RAID вы получаете прирост скорости благодаря чередованию. + * SnapRAID не поддерживает восстановление в реальном времени. + С RAID вам не нужно прекращать работу при сбое диска. + * SnapRAID может восстановить данные только при ограниченном числе сбоев дисков. + С резервным копированием вы можете восстановиться после полного + сбоя всего дискового массива. + * Сохраняются только имена файлов, метки времени, символические ссылки и жесткие ссылки. + Разрешения, права владения и расширенные атрибуты не сохраняются. + +Getting Started + Чтобы использовать SnapRAID, вам нужно сначала выбрать один диск в вашем дисковом массиве + для выделения под информацию `четности` (parity). С одним диском для четности, вы + сможете восстановиться после одного сбоя диска, подобно RAID5. + + Если вы хотите восстановиться после большего числа сбоев дисков, подобно RAID6, + вы должны зарезервировать дополнительные диски для четности. Каждый дополнительный диск + четности позволяет восстановиться после еще одного сбоя диска. + + В качестве дисков четности вы должны выбирать самые большие диски в массиве, + так как информация четности может вырасти до размера самого большого + диска данных в массиве. + + Эти диски будут выделены для хранения файлов `четности`. + Вы не должны хранить на них свои данные. + + Затем вы должны определить диски `данных`, которые вы хотите защитить + с помощью SnapRAID. Защита более эффективна, если эти диски + содержат данные, которые редко меняются. По этой причине лучше + НЕ включать диск Windows C:\ или каталоги Unix /home, /var и /tmp. + + Список файлов сохраняется в файлах `content`, обычно + хранящихся на дисках данных, четности или загрузочных дисках. + Этот файл содержит детали вашего резервного копирования, включая все + контрольные суммы для проверки его целостности. + Файл `content` хранится в нескольких копиях, и каждая копия должна + находиться на отдельном диске, чтобы гарантировать, что даже в случае + множественных сбоев дисков, хотя бы одна копия будет доступна. + + Например, предположим, что вы заинтересованы только в одном уровне защиты четности, + и ваши диски расположены по адресам: + + :/mnt/diskp <- выбранный диск для четности + :/mnt/disk1 <- первый диск для защиты + :/mnt/disk2 <- второй диск для защиты + :/mnt/disk3 <- третий диск для защиты + + Вы должны создать файл конфигурации /etc/snapraid.conf со + следующими опциями: + + :parity /mnt/diskp/snapraid.parity + :content /var/snapraid/snapraid.content + :content /mnt/disk1/snapraid.content + :content /mnt/disk2/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + + Если вы используете Windows, вам следует использовать формат пути Windows, + с буквами дисков и обратными слешами вместо прямых. + + :parity E:\snapraid.parity + :content C:\snapraid\snapraid.content + :content F:\array\snapraid.content + :content G:\array\snapraid.content + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + + Если у вас много дисков и заканчиваются буквы дисков, вы можете монтировать + диски непосредственно в подпапки. См.: + + :https://www.google.com/search?q=Windows+mount+point + + На этом этапе вы готовы запустить команду `sync` для создания + информации четности. + + :snapraid sync + + Этот процесс может занять несколько часов в первый раз, в зависимости от размера + данных, уже присутствующих на дисках. Если диски пустые, + процесс происходит немедленно. + + Вы можете остановить его в любое время, нажав Ctrl+C, и при следующем запуске он + возобновит работу с того места, где был прерван. + + Когда эта команда завершится, ваши данные ЗАЩИЩЕНЫ. + + Теперь вы можете начать использовать свой массив, как вам угодно, и периодически + обновлять информацию четности, запуская команду `sync`. + + Scrubbing + Для периодической проверки данных и четности на наличие ошибок, вы можете + запустить команду `scrub`. + + :snapraid scrub + + Эта команда сравнивает данные в вашем массиве с хэшем, вычисленным + во время команды `sync`, для проверки целостности. + + Каждый запуск команды проверяет примерно 8% массива, исключая данные, + уже проверенные за предыдущие 10 дней. + Вы можете использовать опцию -p, --plan, чтобы указать другое количество, + и опцию -o, --older-than, чтобы указать другой возраст в днях. + Например, для проверки 5% массива на наличие блоков старше 20 дней, используйте: + + :snapraid -p 5 -o 20 scrub + + Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, + соответствующие блоки помечаются как плохие в файле `content` + и перечисляются в команде `status`. + + :snapraid status + + Чтобы исправить их, вы можете использовать команду `fix`, фильтруя плохие блоки + с помощью опции -e, --filter-error: + + :snapraid -e fix + + При следующем `scrub` ошибки исчезнут из отчета `status`, + если они действительно исправлены. Чтобы ускорить процесс, вы можете использовать + -p bad для проверки только блоков, помеченных как плохие. + + :snapraid -p bad scrub + + Запуск `scrub` на несинхронизированном массиве может сообщить об ошибках, вызванных + удаленными или измененными файлами. Эти ошибки сообщаются в выводе `scrub`, + но соответствующие блоки не помечаются как плохие. + + Pooling + Примечание: Функция объединения (pooling), описанная ниже, была заменена инструментом + mergefs, который теперь является рекомендуемым вариантом для пользователей Linux + в сообществе SnapRAID. Mergefs предоставляет более гибкий и эффективный + способ объединения нескольких дисков в единую точку монтирования, + обеспечивая беспрепятственный доступ к файлам по всему массиву без + опоры на символические ссылки. Он хорошо интегрируется со SnapRAID для + защиты четности и обычно используется в установках, таких как OpenMediaVault (OMV) + или пользовательских конфигурациях NAS. + + Чтобы все файлы в вашем массиве отображались в одном дереве каталогов, + вы можете включить функцию `pooling`. Она создает виртуальное + представление всех файлов в вашем массиве только для чтения, используя + символические ссылки. + + Вы можете настроить каталог `pooling` в файле конфигурации с помощью: + + :pool /pool + + или, если вы используете Windows, с помощью: + + :pool C:\pool + + а затем запустить команду `pool` для создания или обновления виртуального представления. + + :snapraid pool + + Если вы используете платформу Unix и хотите предоставить общий доступ к этому каталогу + по сети как для машин Windows, так и для Unix, вы должны добавить + следующие опции в ваш /etc/samba/smb.conf: + + :# В глобальном разделе smb.conf + :unix extensions = no + + :# В разделе общего ресурса smb.conf + :[pool] + :comment = Pool + :path = /pool + :read only = yes + :guest ok = yes + :wide links = yes + :follow symlinks = yes + + В Windows совместное использование символических ссылок по сети требует, чтобы клиенты + разрешали их удаленно. Чтобы включить это, помимо предоставления общего доступа + к каталогу pool, вы также должны предоставить общий доступ ко всем дискам + независимо, используя имена дисков, определенные в файле конфигурации, в качестве + точек общего доступа. Вы также должны указать в опции `share` файла + конфигурации путь UNC Windows, который удаленные клиенты должны использовать + для доступа к этим общим дискам. + + Например, работая с сервера с именем `darkstar`, вы можете использовать + опции: + + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + :pool C:\pool + :share \\darkstar + + и предоставить общий доступ к следующим каталогам по сети: + + :\\darkstar\pool -> C:\pool + :\\darkstar\d1 -> F:\array + :\\darkstar\d2 -> G:\array + :\\darkstar\d3 -> H:\array + + чтобы разрешить удаленным клиентам доступ ко всем файлам по адресу \\darkstar\pool. + + Вам также может потребоваться настроить удаленные клиенты для включения доступа к + удаленным символическим ссылкам с помощью команды: + + :fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + + Undeleting + SnapRAID функционирует скорее как программа резервного копирования, чем как система RAID, + и может использоваться для восстановления или отмены удаления файлов до их + предыдущего состояния с помощью опции -f, --filter: + + :snapraid fix -f FILE + + или для каталога: + + :snapraid fix -f DIR/ + + Вы также можете использовать его для восстановления только случайно удаленных файлов внутри + каталога с помощью опции -m, --filter-missing, которая восстанавливает + только отсутствующие файлы, оставляя все остальные нетронутыми. + + :snapraid fix -m -f DIR/ + + Или для восстановления всех удаленных файлов на всех дисках с помощью: + + :snapraid fix -m + + Recovering + Случилось худшее, и вы потеряли один или несколько дисков! + + НЕ ПАНИКУЙТЕ! Вы сможете их восстановить! + + Первое, что вы должны сделать, это избегать дальнейших изменений в вашем дисковом массиве. + Отключите любые удаленные подключения к нему и любые запланированные процессы, + включая любое запланированное ночное sync или scrub SnapRAID. + + Затем приступайте к следующим шагам. + + STEP 1 -> Reconfigure + Вам нужно место для восстановления, в идеале на дополнительных + запасных дисках, но внешнего USB-диска или удаленного диска будет достаточно. + + Измените файл конфигурации SnapRAID, чтобы опция `data` или `parity` + отказавшего диска указывала на место с достаточным пустым + пространством для восстановления файлов. + + Например, если диск `d1` вышел из строя, измените с: + + :data d1 /mnt/disk1/ + + на: + + :data d1 /mnt/new_spare_disk/ + + Если восстанавливаемый диск является диском четности, обновите соответствующую опцию `parity`. + Если у вас несколько отказавших дисков, обновите все их опции конфигурации. + + STEP 2 -> Fix + Запустите команду fix, сохраняя журнал во внешнем файле с помощью: + + :snapraid -d NAME -l fix.log fix + + Где NAME — это имя диска, например `d1` в нашем предыдущем примере. + Если восстанавливаемый диск является диском четности, используйте имена `parity`, `2-parity` + и т. д. + Если у вас несколько отказавших дисков, используйте несколько опций -d, чтобы указать + их все. + + Эта команда займет много времени. + + Убедитесь, что у вас есть несколько гигабайт свободного места для хранения файла fix.log. + Запустите ее с диска с достаточным свободным местом. + + Теперь вы восстановили все, что можно было восстановить. Если некоторые файлы + частично или полностью невосстановимы, они будут переименованы с добавлением + расширения `.unrecoverable`. + + Вы можете найти подробный список всех невосстановимых блоков в файле fix.log, + проверяя все строки, начинающиеся с `unrecoverable:`. + + Если вы не удовлетворены восстановлением, вы можете повторять его столько + раз, сколько пожелаете. + + Например, если вы удалили файлы из массива после последнего + `sync`, это может привести к тому, что некоторые файлы не будут восстановлены. + В этом случае вы можете повторить `fix`, используя опцию -i, --import, + указав, где эти файлы находятся сейчас, чтобы снова включить их в + процесс восстановления. + + Если вы удовлетворены восстановлением, вы можете продолжить, + но учтите, что после синхронизации вы больше не сможете повторить команду `fix`! + + STEP 3 -> Check + В качестве осторожной проверки, вы можете теперь запустить команду `check`, чтобы убедиться, + что все в порядке на восстановленном диске. + + :snapraid -d NAME -a check + + Где NAME — это имя диска, например `d1` в нашем предыдущем примере. + + Опции -d и -a говорят SnapRAID проверить только указанный диск + и игнорировать все данные четности. + + Эта команда займет много времени, но если вы не чрезмерно осторожны, + вы можете ее пропустить. + + STEP 4 -> Sync + Запустите команду `sync`, чтобы ресинхронизировать массив с новым диском. + + :snapraid sync + + Если все восстановлено, эта команда выполняется немедленно. + +Commands + SnapRAID предоставляет несколько простых команд, которые позволяют: + + * Печатать статус массива -> `status` + * Управлять дисками -> `smart`, `probe`, `up`, `down` + * Сделать резервную копию/снимок -> `sync` + * Периодически проверять данные -> `scrub` + * Восстановить последнюю резервную копию/снимок -> `fix`. + + Команды должны быть написаны строчными буквами. + + status + Печатает сводку состояния дискового массива. + + Она включает информацию о фрагментации четности, о том, насколько старые + блоки без проверки, и все записанные скрытые ошибки, + возникшие во время scrubbing. + + Представленная информация относится к последнему времени, когда вы + запускали `sync`. Более поздние изменения не учитываются. + + Если были обнаружены плохие блоки, перечисляются их номера. + Чтобы исправить их, вы можете использовать команду `fix -e`. + + Он также показывает график, представляющий последнее время, когда каждый блок + был проверен (`scrubbed`) или синхронизирован (`synced`). Проверенные блоки + обозначены символом '*', блоки, синхронизированные, но еще не проверенные, + символом 'o'. + + Ничего не изменяется. + + smart + Печатает отчет SMART всех дисков в системе. + + Он включает оценку вероятности сбоя в следующем году, + позволяя планировать плановую замену дисков, которые показывают + подозрительные атрибуты. + + Эта оценка вероятности получена путем корреляции атрибутов SMART + дисков с данными Backblaze, доступными по адресу: + + :https://www.backblaze.com/hard-drive-test-data.html + + Если SMART сообщает, что диск выходит из строя, для этого диска + выводится `FAIL` или `PREFAIL`, и SnapRAID возвращает ошибку. + В этом случае немедленная замена диска настоятельно рекомендуется. + + Другие возможные строки статуса: + logfail - В прошлом некоторые атрибуты были ниже + порогового значения. + logerr - Журнал ошибок устройства содержит ошибки. + selferr - Журнал самотестирования устройства содержит ошибки. + + Если указана опция -v, --verbose, предоставляется более глубокий + статистический анализ. Этот анализ может помочь вам решить, нужно ли вам + больше или меньше четности. + + Эта команда использует инструмент `smartctl` и эквивалентна запуску + `smartctl -a` на всех устройствах. + + Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать + пользовательскую команду, используя опцию `smartctl` в файле + конфигурации. + + Ничего не изменяется. + + probe + Печатает состояние POWER всех дисков в системе. + + `Standby` означает, что диск не вращается. `Active` означает, + что диск вращается. + + Эта команда использует инструмент `smartctl` и эквивалентна запуску + `smartctl -n standby -i` на всех устройствах. + + Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать + пользовательскую команду, используя опцию `smartctl` в файле + конфигурации. + + Ничего не изменяется. + + up + Раскручивает все диски массива. + + Вы можете раскрутить только определенные диски, используя опцию -d, --filter-disk. + + Раскручивание всех дисков одновременно требует много энергии. + Убедитесь, что ваш блок питания может это выдержать. + + Ничего не изменяется. + + down + Останавливает вращение всех дисков массива. + + Эта команда использует инструмент `smartctl` и эквивалентна запуску + `smartctl -s standby,now` на всех устройствах. + + Вы можете остановить вращение только определенных дисков, используя опцию -d, --filter-disk. + + Чтобы автоматически остановить вращение при ошибке, вы можете использовать опцию + -s, --spin-down-on-error с любой другой командой, что эквивалентно + ручному запуску `down` при возникновении ошибки. + + Ничего не изменяется. + + diff + Перечисляет все файлы, измененные с момента последнего `sync`, для которых + требуется пересчитать данные четности. + + Эта команда не проверяет данные файла, а только метку времени файла, + размер и inode. + + После перечисления всех измененных файлов представляется сводка изменений, + сгруппированных по: + equal - Файлы, не измененные по сравнению с предыдущим состоянием. + added - Добавленные файлы, которых не было раньше. + removed - Удаленные файлы. + updated - Файлы с другим размером или меткой времени, что означает, что они + были изменены. + moved - Файлы, перемещенные в другой каталог на том же диске. + Они идентифицируются как имеющие то же имя, размер, метку времени + и inode, но другой каталог. + copied - Файлы, скопированные на тот же или другой диск. Обратите внимание, что если + они действительно перемещены на другой диск, они также будут + учтены в `removed`. + Они идентифицируются как имеющие то же имя, размер и + метку времени. Если метка времени с точностью до доли секунды равна нулю, + полный путь должен совпадать, а не только имя. + restored - Файлы с другим inode, но совпадающими именем, размером и меткой времени. + Обычно это файлы, восстановленные после удаления. + + Если требуется `sync`, код возврата процесса равен 2, а не + по умолчанию 0. Код возврата 1 используется для общего условия ошибки. + + Ничего не изменяется. + + sync + Обновляет информацию четности. Все измененные файлы + в дисковом массиве считываются, и соответствующие данные четности + обновляются. + + Вы можете остановить этот процесс в любое время, нажав Ctrl+C, + не теряя уже проделанной работы. + При следующем запуске процесс `sync` возобновится с того места, + где был прерван. + + Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, + соответствующие блоки помечаются как плохие. + + Файлы идентифицируются по пути и/или inode и проверяются по + размеру и метке времени. + Если размер файла или метка времени отличаются, данные четности + пересчитываются для всего файла. + Если файл перемещен или переименован на том же диске, сохраняя + тот же inode, четность не пересчитывается. + Если файл перемещен на другой диск, четность пересчитывается, + но ранее вычисленная информация хэша сохраняется. + + Файлы `content` и `parity` изменяются при необходимости. + Файлы в массиве НЕ изменяются. + + scrub + Проверяет массив, проверяя на наличие скрытых ошибок или ошибок ввода/вывода + на дисках данных и четности. + + Каждый вызов проверяет примерно 8% массива, исключая + данные, уже проверенные за последние 10 дней. + Это означает, что проверка раз в неделю гарантирует, что каждый бит данных + проверяется хотя бы раз в три месяца. + + Вы можете определить другой план или объем проверки, используя опцию -p, --plan, + которая принимает: + bad - Проверить блоки, помеченные как плохие. + new - Проверить только что синхронизированные блоки, которые еще не были проверены. + full - Проверить все. + 0-100 - Проверить указанный процент блоков. + + Если вы указываете процентное значение, вы также можете использовать опцию -o, --older-than, + чтобы определить, насколько старым должен быть блок. + Сначала проверяются самые старые блоки, обеспечивая оптимальную проверку. + Если вы хотите проверить только что синхронизированные блоки, которые еще не были проверены, + используйте опцию `-p new`. + + Чтобы получить подробности о статусе проверки, используйте команду `status`. + + При обнаружении любой скрытой ошибки или ошибки ввода/вывода соответствующие блоки + помечаются как плохие в файле `content`. + Эти плохие блоки перечисляются в `status` и могут быть исправлены с помощью `fix -e`. + После исправления при следующем scrub они будут перепроверены, и если + обнаружатся исправленными, плохая метка будет удалена. + Чтобы проверить только плохие блоки, вы можете использовать команду `scrub -p bad`. + + Рекомендуется запускать `scrub` только на синхронизированном массиве, чтобы избежать + сообщений об ошибках, вызванных несинхронизированными данными. Эти ошибки + распознаются как не являющиеся скрытыми ошибками, и блоки не помечаются + как плохие, но такие ошибки сообщаются в выводе команды. + + Файл `content` изменяется для обновления времени последней проверки + для каждого блока и для пометки плохих блоков. + Файлы `parity` НЕ изменяются. + Файлы в массиве НЕ изменяются. + + fix + Исправляет все файлы и данные четности. + + Все файлы и данные четности сравниваются с состоянием снимка, + сохраненным при последнем `sync`. + Если обнаружено различие, оно возвращается к сохраненному снимку. + + ВНИМАНИЕ! Команда `fix` не различает ошибки и + преднамеренные изменения. Она безусловно возвращает состояние файла + к последнему `sync`. + + Если не указана другая опция, обрабатывается весь массив. + Используйте опции фильтрации, чтобы выбрать подмножество файлов или дисков для работы. + + Чтобы исправить только блоки, помеченные как плохие во время `sync` и `scrub`, + используйте опцию -e, --filter-error. + В отличие от других опций фильтрации, эта применяет исправления только к файлам, + которые не были изменены с момента последнего `sync`. + + SnapRAID переименовывает все файлы, которые не могут быть исправлены, добавляя + расширение `.unrecoverable`. + + Перед исправлением сканируется весь массив, чтобы найти файлы, перемещенные + с момента последней операции `sync`. + Эти файлы идентифицируются по их метке времени, игнорируя их имя + и каталог, и используются в процессе восстановления при необходимости. + Если вы переместили некоторые из них за пределы массива, вы можете использовать опцию + -i, --import, чтобы указать дополнительные каталоги для сканирования. + + Файлы идентифицируются только по пути, а не по inode. + + Файл `content` НЕ изменяется. + Файлы `parity` изменяются при необходимости. + Файлы в массиве изменяются при необходимости. + + check + Проверяет все файлы и данные четности. + + Он работает как `fix`, но только имитирует восстановление, и никакие изменения + не записываются в массив. + + Эта команда в основном предназначена для ручной проверки, + например, после процесса восстановления или в других особых условиях. + Для периодических и запланированных проверок используйте `scrub`. + + Если вы используете опцию -a, --audit-only, проверяются только данные + файла, а данные четности игнорируются для + более быстрого выполнения. + + Файлы идентифицируются только по пути, а не по inode. + + Ничего не изменяется. + + list + Перечисляет все файлы, содержащиеся в массиве на момент + последнего `sync`. + + С -v или --verbose также отображается время с точностью до доли секунды. + + Ничего не изменяется. + + dup + Перечисляет все дублирующиеся файлы. Два файла считаются равными, если их + хэши совпадают. Данные файла не считываются; используются только + предварительно вычисленные хэши. + + Ничего не изменяется. + + pool + Создает или обновляет виртуальное представление всех + файлов в вашем дисковом массиве в каталоге `pooling`. + + Файлы не копируются, а связываются с помощью + символических ссылок. + + При обновлении все существующие символические ссылки и пустые + подкаталоги удаляются и заменяются новым + представлением массива. Любые другие обычные файлы остаются на месте. + + Ничего не изменяется за пределами каталога pool. + + devices + Печатает низкоуровневые устройства, используемые массивом. + + Эта команда отображает ассоциации устройств в массиве + и в основном предназначена как интерфейс для скриптов. + + Первые два столбца — это низкоуровневый идентификатор устройства и путь. + Следующие два столбца — это высокоуровневый идентификатор устройства и путь. + Последний столбец — это имя диска в массиве. + + В большинстве случаев у вас есть одно низкоуровневое устройство для каждого диска в + массиве, но в некоторых более сложных конфигурациях у вас может быть несколько + низкоуровневых устройств, используемых одним диском в массиве. + + Ничего не изменяется. + + touch + Устанавливает произвольную метку времени с точностью до доли секунды для всех файлов, + у которых она установлена в ноль. + + Это улучшает способность SnapRAID распознавать перемещенные + и скопированные файлы, так как делает метку времени почти уникальной, + уменьшая возможные дубликаты. + + Более конкретно, если метка времени с точностью до доли секунды не равна нулю, + перемещенный или скопированный файл идентифицируется как таковой, если он совпадает + по имени, размеру и метке времени. Если метка времени с точностью до доли секунды + равна нулю, он считается копией только в том случае, если полностью совпадают + полный путь, размер и метка времени. + + Метка времени с точностью до секунды не изменяется, + поэтому все даты и время ваших файлов будут сохранены. + + rehash + Планирует перехэширование всего массива. + + Эта команда изменяет используемый тип хэша, обычно при обновлении + с 32-разрядной системы на 64-разрядную, для переключения с + MurmurHash3 на более быстрый SpookyHash. + + Если вы уже используете оптимальный хэш, эта команда + ничего не делает и информирует вас, что никакие действия не требуются. + + Перехэширование не выполняется немедленно, а происходит + постепенно во время `sync` и `scrub`. + + Вы можете проверить состояние перехэширования с помощью `status`. + + Во время перехэширования SnapRAID сохраняет полную функциональность, + за единственным исключением, что `dup` не может обнаружить дублирующиеся + файлы, использующие другой хэш. + +Options + SnapRAID предоставляет следующие опции: + + -c, --conf CONFIG + Выбирает файл конфигурации для использования. Если не указан, в Unix + используется файл `/usr/local/etc/snapraid.conf`, если он существует, + в противном случае `/etc/snapraid.conf`. + В Windows используется файл `snapraid.conf` в том же + каталоге, что и `snapraid.exe`. + + -f, --filter PATTERN + Фильтрует файлы для обработки в `check` и `fix`. + Обрабатываются только файлы, соответствующие указанному шаблону. + Эту опцию можно использовать несколько раз. + Подробнее о спецификациях шаблонов см. в разделе PATTERN. + В Unix убедитесь, что символы глоббинга заключены в кавычки, если используются. + Эту опцию можно использовать только с `check` и `fix`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -d, --filter-disk NAME + Фильтрует диски для обработки в `check`, `fix`, `up` и `down`. + Вы должны указать имя диска, определенное в файле конфигурации. + Вы также можете указать диски четности с именами: `parity`, `2-parity`, + `3-parity` и т. д., чтобы ограничить операции конкретным диском четности. + Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing, + выбираются только файлы, соответствующие всем фильтрам. + Эту опцию можно использовать несколько раз. + Эту опцию можно использовать только с `check`, `fix`, `up` и `down`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -m, --filter-missing + Фильтрует файлы для обработки в `check` и `fix`. + Обрабатываются только файлы, отсутствующие или удаленные из массива. + При использовании с `fix`, это действует как команда `undelete`. + Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing, + выбираются только файлы, соответствующие всем фильтрам. + Эту опцию можно использовать только с `check` и `fix`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -e, --filter-error + Обрабатывает файлы с ошибками в `check` и `fix`. + Он обрабатывает только файлы, блоки которых помечены скрытыми + ошибками или ошибками ввода/вывода во время `sync` и `scrub`, как + перечислено в `status`. + Эту опцию можно использовать только с `check` и `fix`. + + -p, --plan PERC|bad|new|full + Выбирает план проверки (`scrub`). Если PERC — это числовое значение от 0 до 100, + оно интерпретируется как процент блоков для проверки. + Вместо процента вы можете указать план: + `bad` проверяет плохие блоки, `new` проверяет блоки, которые еще не были проверены, + и `full` проверяет все. + Эту опцию можно использовать только с `scrub`. + + -o, --older-than DAYS + Выбирает самую старую часть массива для обработки в `scrub`. + DAYS — это минимальный возраст в днях для блока, который будет проверен; + по умолчанию — 10. + Блоки, помеченные как плохие, всегда проверяются независимо от этой опции. + Эту опцию можно использовать только с `scrub`. + + -a, --audit-only + В `check`, проверяет хэш файлов без + проверки данных четности. + Если вы заинтересованы только в проверке данных файла, эта + опция может значительно ускорить процесс проверки. + Эту опцию можно использовать только с `check`. + + -h, --pre-hash + В `sync`, запускает предварительную фазу хэширования всех новых данных + для дополнительной проверки перед вычислением четности. + Обычно в `sync` предварительное хэширование не выполняется, и новые + данные хэшируются непосредственно перед вычислением четности, когда они + считываются в первый раз. + Этот процесс происходит, когда система находится под + тяжелой нагрузкой, со всеми вращающимися дисками и занятым процессором. + Это экстремальное условие для машины, и если у нее есть + скрытая аппаратная проблема, скрытые ошибки могут остаться незамеченными, + потому что данные еще не хэшированы. + Чтобы избежать этого риска, вы можете включить режим `pre-hash`, чтобы + все данные считывались дважды для обеспечения их целостности. + Эта опция также проверяет файлы, перемещенные внутри массива, + чтобы убедиться, что операция перемещения прошла успешно, и, при необходимости, + позволяет запустить операцию исправления (`fix`) перед продолжением. + Эту опцию можно использовать только с `sync`. + + -i, --import DIR + Импортирует из указанного каталога любые файлы, удаленные + из массива после последнего `sync`. + Если у вас все еще есть такие файлы, они могут использоваться `check` + и `fix` для улучшения процесса восстановления. + Файлы считываются, включая подкаталоги, и идентифицируются + независимо от их имени. + Эту опцию можно использовать только с `check` и `fix`. + + -s, --spin-down-on-error + При любой ошибке останавливает вращение всех управляемых дисков перед выходом с + ненулевым кодом состояния. Это предотвращает оставление дисков + активными и вращающимися после прерванной операции, + помогая избежать ненужного нагрева и энергопотребления. + Используйте эту опцию, чтобы гарантировать безопасную остановку дисков, + даже когда команда завершается неудачей. + + -w, --bw-limit RATE + Применяет глобальное ограничение пропускной способности для всех дисков. RATE — это + количество байтов в секунду. Вы можете указать множитель, + например K, M или G (например, --bw-limit 1G). + + -A, --stats + Включает расширенный вид статуса, который показывает дополнительную информацию. + На экране отображаются два графика: + Первый график показывает количество буферизованных полос для каждого + диска, а также путь к файлу, к которому в данный момент осуществляется + доступ на этом диске. Обычно самый медленный диск не будет иметь + доступного буфера, что определяет максимально достижимую + пропускную способность. + Второй график показывает процент времени, потраченного на ожидание + за последние 100 секунд. Ожидается, что самый медленный диск + вызовет большую часть времени ожидания, в то время как другие диски должны + иметь мало или совсем не иметь времени ожидания, потому что они могут + использовать свои буферизованные полосы. + Этот график также показывает время, потраченное на ожидание + вычислений хэша и вычислений RAID. + Все вычисления выполняются параллельно с дисковыми операциями. + Следовательно, пока есть измеримое время ожидания для + хотя бы одного диска, это указывает на то, что ЦП достаточно быстр, чтобы + справляться с рабочей нагрузкой. + + -Z, --force-zero + Форсирует небезопасную операцию синхронизации файла с нулевым + размером, который ранее был ненулевым. + Если SnapRAID обнаруживает такое условие, он прекращает выполнение, + если вы не укажете эту опцию. + Это позволяет легко обнаружить, когда после сбоя системы + некоторые доступные файлы были усечены. + Это возможное условие в Linux с файловыми системами ext3/ext4. + Эту опцию можно использовать только с `sync`. + + -E, --force-empty + Форсирует небезопасную операцию синхронизации диска, на котором + отсутствуют все исходные файлы. + Если SnapRAID обнаруживает, что все файлы, изначально присутствующие + на диске, отсутствуют или перезаписаны, он прекращает выполнение, + если вы не укажете эту опцию. + Это позволяет легко обнаружить, когда файловая система данных не + смонтирована. + Эту опцию можно использовать только с `sync`. + + -U, --force-uuid + Форсирует небезопасную операцию синхронизации, проверки и исправления + с дисками, у которых изменился UUID. + Если SnapRAID обнаруживает, что у некоторых дисков изменился UUID, + он прекращает выполнение, если вы не укажете эту опцию. + Это позволяет обнаружить, когда ваши диски смонтированы в + неправильных точках монтирования. + Однако допускается однократное изменение UUID с + одиночной четностью, и больше с множественной четностью, потому что это + нормальный случай при замене дисков после восстановления. + Эту опцию можно использовать только с `sync`, `check` или + `fix`. + + -D, --force-device + Форсирует небезопасную операцию исправления с недоступными дисками + или с дисками на том же физическом устройстве. + Например, если вы потеряли два диска данных и у вас есть запасной диск для восстановления + только первого, вы можете игнорировать второй недоступный диск. + Или, если вы хотите восстановить диск в свободное место, оставшееся на + уже используемом диске, совместно использующем то же физическое устройство. + Эту опцию можно использовать только с `fix`. + + -N, --force-nocopy + В `sync`, `check` и `fix`, отключает эвристику обнаружения копирования. + Без этой опции SnapRAID предполагает, что файлы с одинаковыми + атрибутами, такими как имя, размер и метка времени, являются копиями с + одинаковыми данными. + Это позволяет идентифицировать скопированные или перемещенные файлы с одного диска + на другой и повторно использовать уже вычисленную информацию хэша + для обнаружения скрытых ошибок или восстановления отсутствующих файлов. + В некоторых редких случаях это поведение может привести к ложным срабатываниям + или замедлению процесса из-за большого количества проверок хэша, и эта + опция позволяет решить такие проблемы. + Эту опцию можно использовать только с `sync`, `check` и `fix`. + + -F, --force-full + В `sync`, форсирует полный пересчет четности. + Эту опцию можно использовать, когда вы добавляете новый уровень четности или если + вы вернулись к старому файлу content, используя более свежие данные четности. + Вместо того чтобы воссоздавать четность с нуля, это позволяет + повторно использовать хэши, присутствующие в файле content, для проверки данных + и поддержания защиты данных во время процесса `sync` с использованием + существующих данных четности. + Эту опцию можно использовать только с `sync`. + + -R, --force-realloc + В `sync`, форсирует полное перераспределение файлов и перестроение четности. + Эту опцию можно использовать для полного перераспределения всех файлов, + удаления фрагментации, при этом повторно используя хэши, присутствующие в файле content, + для проверки данных. + Эту опцию можно использовать только с `sync`. + ВНИМАНИЕ! Эта опция предназначена только для экспертов, и + настоятельно не рекомендуется ее использовать. + У вас НЕТ защиты данных во время операции `sync`. + + -l, --log FILE + Записывает подробный журнал в указанный файл. + Если эта опция не указана, непредвиденные ошибки выводятся + на экран, что потенциально может привести к чрезмерному выводу в случае + множества ошибок. Когда указана -l, --log, на + экран выводятся только фатальные ошибки, которые приводят к остановке + SnapRAID. + Если путь начинается с '>>', файл открывается + в режиме добавления. Вхождения '%D' и '%T' в имени + заменяются датой и временем в формате ГГГГММДД и + ЧЧММСС. В пакетных файлах Windows вы должны удвоить + символ '%', например, result-%%D.log. Чтобы использовать '>>', вы должны + заключить имя в кавычки, например, `">>result.log"`. + Для вывода журнала на стандартный вывод или стандартную ошибку, + вы можете использовать `">&1"` и `">&2"` соответственно. + Описание тегов журнала см. в файле snapraid_log.txt или man-странице. + + -L, --error-limit NUMBER + Устанавливает новый лимит ошибок до остановки выполнения. + По умолчанию SnapRAID останавливается, если обнаруживает более 100 + ошибок ввода/вывода, что указывает на вероятный сбой диска. + Эта опция влияет на `sync` и `scrub`, которым разрешено + продолжать работу после первого набора дисковых ошибок, чтобы попытаться + завершить свои операции. + Однако `check` и `fix` всегда останавливаются при первой ошибке. + + -S, --start BLKSTART + Начинает обработку с указанного + номера блока. Это может быть полезно для повторной попытки проверить + или исправить конкретные блоки в случае поврежденного диска. + Эта опция в основном предназначена для расширенного ручного восстановления. + + -B, --count BLKCOUNT + Обрабатывает только указанное количество блоков. + Эта опция в основном предназначена для расширенного ручного восстановления. + + -C, --gen-conf CONTENT + Генерирует фиктивный файл конфигурации из существующего + файла content. + Файл конфигурации записывается на стандартный вывод + и не перезаписывает существующий. + Этот файл конфигурации также содержит информацию, + необходимую для восстановления точек монтирования дисков в случае, если вы + потеряете всю систему. + + -v, --verbose + Печатает больше информации на экран. + Если указана один раз, печатает исключенные файлы + и дополнительную статистику. + Эта опция не влияет на файлы журнала. + + -q, --quiet + Печатает меньше информации на экран. + Если указана один раз, удаляет индикатор выполнения; дважды, + текущие операции; трижды, информационные + сообщения; четырежды, сообщения о статусе. + Фатальные ошибки всегда выводятся на экран. + Эта опция не влияет на файлы журнала. + + -H, --help + Печатает краткий экран справки. + + -V, --version + Печатает версию программы. + +Configuration + SnapRAID требует файл конфигурации, чтобы знать, где находится ваш дисковый массив + и где хранить информацию четности. + + В Unix используется файл `/usr/local/etc/snapraid.conf`, если он существует, + в противном случае `/etc/snapraid.conf`. + В Windows используется файл `snapraid.conf` в том же + каталоге, что и `snapraid.exe`. + + Он должен содержать следующие опции (чувствительные к регистру): + + parity FILE [,FILE] ... + Определяет файлы для использования для хранения информации четности. + Четность обеспечивает защиту от одного сбоя диска, + подобно RAID5. + + Вы можете указать несколько файлов, которые должны быть на разных дисках. + Когда файл больше не может расти, используется следующий. + Общее доступное пространство должно быть по крайней мере таким же большим, как самый большой диск данных в + массиве. + + Вы можете добавить дополнительные файлы четности позже, но вы + не можете переупорядочить или удалить их. + + Сохранение дисков четности зарезервированными для четности гарантирует, что + они не станут фрагментированными, улучшая производительность. + + В Windows 256 МБ остается неиспользованным на каждом диске, чтобы избежать + предупреждения о полных дисках. + + Эта опция является обязательной и может использоваться только один раз. + + (2,3,4,5,6)-parity FILE [,FILE] ... + Определяет файлы для использования для хранения дополнительной информации четности. + + Для каждого указанного уровня четности включается один дополнительный уровень защиты: + + * 2-parity включает двойную четность RAID6. + * 3-parity включает тройную четность. + * 4-parity включает четверную четность. + * 5-parity включает пятерную четность. + * 6-parity включает шестерную четность. + + Каждый уровень четности требует наличия всех предыдущих уровней четности. + + Применяются те же соображения, что и для опции 'parity'. + + Эти опции являются необязательными и могут использоваться только один раз. + + z-parity FILE [,FILE] ... + Определяет альтернативный файл и формат для хранения тройной четности. + + Эта опция является альтернативой '3-parity', в основном предназначенной для + слабых процессоров, таких как ARM или AMD Phenom, Athlon и Opteron, + которые не поддерживают набор инструкций SSSE3. В таких случаях она + обеспечивает лучшую производительность. + + Этот формат похож на тот, который используется ZFS RAIDZ3, но быстрее. + Как и ZFS, он не работает за пределами тройной четности. + + При использовании '3-parity' вы будете предупреждены, если рекомендуется использовать + формат 'z-parity' для повышения производительности. + + Возможно преобразование из одного формата в другой путем настройки + файла конфигурации с желаемым файлом z-parity или 3-parity + и использования 'fix' для его воссоздания. + + content FILE + Определяет файл для использования для хранения списка и контрольных сумм всех + файлов, присутствующих в вашем дисковом массиве. + + Он может быть размещен на диске, используемом для данных, четности, или + любом другом доступном диске. + Если вы используете диск данных, этот файл автоматически исключается + из процесса `sync`. + + Эта опция является обязательной и может использоваться несколько раз для сохранения + нескольких копий одного и того же файла. + + Вы должны хранить как минимум одну копию для каждого используемого диска четности + плюс одну. Использование дополнительных копий не повредит. + + data NAME DIR + Определяет имя и точку монтирования дисков данных в + массиве. NAME используется для идентификации диска и должно + быть уникальным. DIR — это точка монтирования диска в + файловой системе. + + Вы можете изменять точку монтирования по мере необходимости, пока вы + сохраняете NAME фиксированным. + + Вы должны использовать одну опцию для каждого диска данных в массиве. + + Вы можете переименовать диск позже, изменив NAME непосредственно + в файле конфигурации, а затем запустив команду 'sync'. + В случае переименования, ассоциация выполняется с использованием сохраненного + UUID дисков. + + nohidden + Исключает все скрытые файлы и каталоги. + В Unix скрытые файлы — это те, которые начинаются с `.`. + В Windows — это те, у которых есть скрытый атрибут. + + exclude/include PATTERN + Определяет шаблоны файлов или каталогов для исключения или включения + в процесс синхронизации. + Все шаблоны обрабатываются в указанном порядке. + + Если первый совпадающий шаблон — это `exclude`, файл + исключается. Если это `include`, файл включается. + Если ни один шаблон не совпадает, файл исключается, если последний + указанный шаблон — это `include`, или включается, если последний шаблон + — это `exclude`. + + Подробнее о спецификациях шаблонов см. в разделе PATTERN. + + Эту опцию можно использовать несколько раз. + + blocksize SIZE_IN_KIBIBYTES + Определяет базовый размер блока в кибибайтах для четности. + Один кибибайт — это 1024 байта. + + Размер блока по умолчанию — 256, что должно работать в большинстве случаев. + + ВНИМАНИЕ! Эта опция предназначена только для экспертов, и + настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в + будущем, вам потребуется воссоздать всю четность! + + Причина использовать другой размер блока — если у вас много маленьких + файлов, порядка миллионов. + + Для каждого файла, даже если всего несколько байтов, выделяется целый блок четности, + и при большом количестве файлов это может привести к значительным неиспользуемым + пространствам четности. + Когда вы полностью заполните диск четности, вам не будет + разрешено добавлять больше файлов на диски данных. + Однако потерянная четность не накапливается на дисках данных. Потерянное пространство, + возникающее из-за большого числа файлов на диске данных, ограничивает только + объем данных на этом диске данных, а не на других. + + В качестве приближения вы можете предположить, что половина размера блока + теряется для каждого файла. Например, при 100 000 файлов и размере блока 256 КиБ + вы потеряете 12,8 ГБ четности, что может привести к + уменьшению доступного пространства на диске данных на 12,8 ГБ. + + Вы можете проверить количество потерянного пространства на каждом диске с помощью `status`. + Это количество пространства, которое вы должны оставить свободным на дисках + данных или использовать для файлов, не включенных в массив. + Если это значение отрицательное, это означает, что вы близки к заполнению + четности, и оно представляет пространство, которое вы все еще можете потерять. + + Чтобы избежать этой проблемы, вы можете использовать больший раздел для четности. + Например, если раздел четности на 12,8 ГБ больше, чем диски данных, + у вас есть достаточно дополнительного пространства для обработки до 100 000 + файлов на каждом диске данных без каких-либо потерь пространства. + + Хитрость для получения большего раздела четности в Linux — отформатировать его + командой: + + :mkfs.ext4 -m 0 -T largefile4 DEVICE + + Это приводит к примерно 1,5% дополнительного пространства, приблизительно 60 ГБ для + диска 4 ТБ, что позволяет разместить около 460 000 файлов на каждом диске данных без + каких-либо потерь пространства. + + hashsize SIZE_IN_BYTES + Определяет размер хэша в байтах для сохраненных блоков. + + Размер хэша по умолчанию — 16 байт (128 бит), что должно работать + в большинстве случаев. + + ВНИМАНИЕ! Эта опция предназначена только для экспертов, и + настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в + будущем, вам потребуется воссоздать всю четность! + + Причина использовать другой размер хэша — если ваша система имеет + ограниченную память. Как правило, SnapRAID обычно требует + 1 ГиБ ОЗУ на каждые 16 ТБ данных в массиве. + + В частности, для хранения хэшей данных SnapRAID требует + приблизительно TS*(1+HS)/BS байт ОЗУ, + где TS — это общий размер в байтах вашего дискового массива, BS — + размер блока в байтах, и HS — размер хэша в байтах. + + Например, при 8 дисках по 4 ТБ, размере блока 256 КиБ + (1 КиБ = 1024 байта) и размере хэша 16, вы получаете: + + :RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB + + Переключение на размер хэша 8, вы получаете: + + :RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB + + Переключение на размер блока 512, вы получаете: + + :RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB + + Переключение как на размер хэша 8, так и на размер блока 512, вы получаете: + + :RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB + + autosave SIZE_IN_GIGABYTES + Автоматически сохраняет состояние при синхронизации или проверке после + обработки указанного количества ГБ. + Эта опция полезна, чтобы избежать перезапуска длительных команд `sync` + с нуля, если они были прерваны сбоем машины или любым другим событием. + + temp_limit TEMPERATURE_CELSIUS + Устанавливает максимально допустимую температуру диска в Цельсиях. Если указано, + SnapRAID периодически проверяет температуру всех дисков с помощью + инструмента smartctl. Текущие температуры дисков отображаются во время + работы SnapRAID. Если какой-либо диск превышает этот лимит, все операции + останавливаются, и диски останавливают вращение (переходят в режим ожидания) на время, + определенное опцией `temp_sleep`. После периода ожидания операции + возобновляются, потенциально снова приостанавливаясь, если лимит температуры + достигается еще раз. + + Во время работы SnapRAID также анализирует кривую нагрева каждого + диска и оценивает долгосрочную установившуюся температуру, которую они, + как ожидается, достигнут, если активность продолжится. Оценка выполняется + только после того, как температура диска увеличилась четыре раза, + что гарантирует наличие достаточного количества данных для установления + надежной тенденции. + Эта прогнозируемая установившаяся температура показывается в скобках рядом с + текущим значением и помогает оценить, достаточно ли + охлаждение системы. Эта оценочная температура предназначена только + для информации и не влияет на поведение SnapRAID. Действия программы + основываются исключительно на фактических измеренных температурах дисков. + + Для выполнения этого анализа SnapRAID требуется эталон для температуры + системы. Сначала он пытается прочитать его из доступных аппаратных + датчиков. Если ни один системный датчик не может быть доступен, он использует + самую низкую температуру диска, измеренную в начале выполнения, в качестве + резервного эталона. + + Обычно SnapRAID показывает только температуру самого горячего диска. + Чтобы отобразить температуру всех дисков, используйте опцию -A или --stats. + + temp_sleep TIME_IN_MINUTES + Устанавливает время ожидания, в минутах, когда достигается предел температуры. + В течение этого периода диски остаются остановленными. По умолчанию — 5 минут. + + pool DIR + Определяет каталог объединения (pooling), где создается виртуальное представление + дискового массива с помощью команды `pool`. + + Каталог должен уже существовать. + + share UNC_DIR + Определяет путь UNC Windows, необходимый для удаленного доступа к дискам. + + Если указана эта опция, символические ссылки, созданные в каталоге pool, + используют этот путь UNC для доступа к дискам. + Без этой опции сгенерированные символические ссылки используют только локальные пути, + что не позволяет предоставлять общий доступ к каталогу pool по сети. + + Символические ссылки формируются с использованием указанного пути UNC, добавлением + имени диска, как указано в опции `data`, и, наконец, добавлением + каталога и имени файла. + + Эта опция требуется только для Windows. + + smartctl DISK/PARITY OPTIONS... + Определяет пользовательские опции smartctl для получения атрибутов SMART для + каждого диска. Это может потребоваться для контроллеров RAID и некоторых USB-дисков, + которые не могут быть обнаружены автоматически. Заполнитель %s заменяется + именем устройства, но он необязателен для фиксированных устройств, таких как + контроллеры RAID. + + DISK — это то же имя диска, указанное в опции `data`. + PARITY — это одно из имен четности: `parity`, `2-parity`, `3-parity`, + `4-parity`, `5-parity`, `6-parity` или `z-parity`. + + В указанных OPTIONS строка `%s` заменяется + именем устройства. Для контроллеров RAID устройство, + вероятно, фиксировано, и вам может не потребоваться использовать `%s`. + + Возможные опции см. в документации smartmontools: + + :https://www.smartmontools.org/wiki/Supported_RAID-Controllers + :https://www.smartmontools.org/wiki/Supported_USB-Devices + + Например: + + :smartctl parity -d sat %s + + smartignore DISK/PARITY ATTR [ATTR...] + Игнорирует указанный атрибут SMART при вычислении вероятности + сбоя диска. Эта опция полезна, если диск сообщает необычные или + вводящие в заблуждение значения для конкретного атрибута. + + DISK — это то же имя диска, указанное в опции `data`. + PARITY — это одно из имен четности: `parity`, `2-parity`, `3-parity`, + `4-parity`, `5-parity`, `6-parity` или `z-parity`. + Специальное значение * может использоваться для игнорирования атрибута на всех дисках. + + Например, чтобы игнорировать атрибут `Current Pending Sector Count` на + всех дисках: + + :smartignore * 197 + + Чтобы игнорировать его только на первом диске четности: + + :smartignore parity 197 + + Examples + Пример типичной конфигурации для Unix: + + :parity /mnt/diskp/snapraid.parity + :content /mnt/diskp/snapraid.content + :content /var/snapraid/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + :exclude /lost+found/ + :exclude /tmp/ + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/sg0 + :smartctl 2-parity -d areca,2/1 /dev/sg0 + + Пример типичной конфигурации для Windows: + + :parity E:\snapraid.parity + :content E:\snapraid.content + :content C:\snapraid\snapraid.content + :data d1 G:\array\ + :data d2 H:\array\ + :data d3 I:\array\ + :exclude Thumbs.db + :exclude \$RECYCLE.BIN + :exclude \System Volume Information + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/arcmsr0 + :smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + +Pattern + Шаблоны используются для выбора подмножества файлов для исключения или включения + в процесс. + + Существует четыре различных типа шаблонов: + + =FILE + Выбирает любой файл с именем FILE. Вы можете использовать любые символы + глоббинга, такие как * и ?, и классы символов, такие как [a-z]. + Этот шаблон применяется только к файлам, а не к каталогам. + + =DIR/ + Выбирает любой каталог с именем DIR и все внутри. + Вы можете использовать любые символы глоббинга, такие как * и ?. + Этот шаблон применяется только к каталогам, а не к файлам. + + =/PATH/FILE + Выбирает точно указанный путь к файлу. Вы можете использовать любые + символы глоббинга, такие как * и ?, но они никогда не совпадают с + косой чертой каталога. + Этот шаблон применяется только к файлам, а не к каталогам. + + =/PATH/DIR/ + Выбирает точно указанный путь к каталогу и все внутри. + Вы можете использовать любые символы глоббинга, такие как * и ?, но + они никогда не совпадают с косой чертой каталога. + Этот шаблон применяется только к каталогам, а не к файлам. + + Когда вы указываете абсолютный путь, начинающийся с /, он применяется к + корневому каталогу массива, а не к корневому каталогу локальной файловой системы. + + В Windows вы можете использовать обратную косую черту \ вместо прямой /. + Системные каталоги Windows, точки соединения, точки монтирования и другие + специальные каталоги Windows рассматриваются как файлы, что означает, что для их + исключения вы должны использовать правило файла, а не каталога. + + Если имя файла содержит символы '*', '?', '[', + или ']', вы должны экранировать их, чтобы избежать их интерпретации как + символов глоббинга. В Unix символом экранирования является '\'; в Windows — '^'. + Когда шаблон находится в командной строке, вы должны удвоить символ + экранирования, чтобы избежать его интерпретации командной оболочкой. + + В файле конфигурации вы можете использовать различные стратегии для фильтрации + файлов для обработки. + Самый простой подход — использовать только правила `exclude` для удаления всех + файлов и каталогов, которые вы не хотите обрабатывать. Например: + + :# Исключает любой файл с именем `*.unrecoverable` + :exclude *.unrecoverable + :# Исключает корневой каталог `/lost+found` + :exclude /lost+found/ + :# Исключает любой подкаталог с именем `tmp` + :exclude tmp/ + + Противоположный подход — определить только файлы, которые вы хотите обрабатывать, используя + только правила `include`. Например: + + :# Включает только некоторые каталоги + :include /movies/ + :include /musics/ + :include /pictures/ + + Конечный подход — смешивать правила `exclude` и `include`. В этом случае + порядок правил важен. Более ранние правила имеют + преимущество над более поздними. + Для упрощения вы можете сначала перечислить все правила `exclude`, а затем + все правила `include`. Например: + + :# Исключает любой файл с именем `*.unrecoverable` + :exclude *.unrecoverable + :# Исключает любой подкаталог с именем `tmp` + :exclude tmp/ + :# Включает только некоторые каталоги + :include /movies/ + :include /musics/ + :include /pictures/ + + В командной строке, используя опцию -f, вы можете использовать только шаблоны `include`. + Например: + + :# Проверяет только файлы .mp3. + :# В Unix используйте кавычки, чтобы избежать расширения глоббинга оболочкой. + :snapraid -f "*.mp3" check + + В Unix при использовании символов глоббинга в командной строке вы должны + заключить их в кавычки, чтобы предотвратить их расширение оболочкой. + +Content + SnapRAID хранит список и контрольные суммы ваших файлов в файле content. + + Это бинарный файл, который перечисляет все файлы, присутствующие в вашем дисковом массиве, + вместе со всеми контрольными суммами для проверки их целостности. + + Этот файл считывается и записывается командами `sync` и `scrub` и + считывается командами `fix`, `check` и `status`. + +Parity + SnapRAID хранит информацию четности вашего массива в файлах parity. + + Это бинарные файлы, содержащие вычисленную четность всех + блоков, определенных в файле `content`. + + Эти файлы считываются и записываются командами `sync` и `fix` и + только считываются командами `scrub` и `check`. + +Encoding + SnapRAID в Unix игнорирует любое кодирование. Он считывает и хранит + имена файлов с тем же кодированием, которое используется файловой системой. + + В Windows все имена, считанные из файловой системы, преобразуются и + обрабатываются в формате UTF-8. + + Чтобы имена файлов печатались правильно, вы должны установить консоль Windows + в режим UTF-8 командой `chcp 65001` и использовать + шрифт TrueType, такой как `Lucida Console`, в качестве шрифта консоли. + Это влияет только на печатаемые имена файлов; если вы + перенаправляете вывод консоли в файл, результирующий файл всегда + в формате UTF-8. + +Copyright + Этот файл защищен авторским правом (C) 2025 Andrea Mazzoleni + +See Also + snapraid_log(1), rsync(1) diff --git a/snapraid-ru.txt b/snapraid-ru.txt new file mode 100644 index 00000000..92b203c7 --- /dev/null +++ b/snapraid-ru.txt @@ -0,0 +1,1563 @@ + ==================================================== + Резервное копирование SnapRAID для дисковых массивов + ==================================================== + + +1 SYNOPSIS +========== + +snapraid [-c, --conf CONFIG] + [-f, --filter PATTERN] [-d, --filter-disk NAME] + [-m, --filter-missing] [-e, --filter-error] + [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + [-p, --plan PERC|bad|new|full] + [-o, --older-than DAYS] [-l, --log FILE] + [-s, --spin-down-on-error] [-w, --bw-limit RATE] + [-Z, --force-zero] [-E, --force-empty] + [-U, --force-uuid] [-D, --force-device] + [-N, --force-nocopy] [-F, --force-full] + [-R, --force-realloc] + [-S, --start BLKSTART] [-B, --count BLKCOUNT] + [-L, --error-limit NUMBER] + [-A, --stats] + [-v, --verbose] [-q, --quiet] + status|smart|probe|up|down|diff|sync|scrub|fix|check + |list|dup|pool|devices|touch|rehash + +snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + + +2 DESCRIPTION +============= + +SnapRAID — это программа резервного копирования, разработанная для дисковых массивов, +хранящая информацию четности для восстановления данных в случае сбоя +до шести дисков. + +В первую очередь предназначенная для домашних медиацентров с большими, +редко меняющимися файлами, SnapRAID предлагает несколько функций: + +* Вы можете использовать диски, уже заполненные файлами, без + необходимости их переформатирования, получая к ним доступ как обычно. +* Все ваши данные хэшируются для обеспечения целостности данных и + предотвращения скрытого повреждения. +* Когда число отказавших дисков превышает количество дисков четности, + потеря данных ограничивается затронутыми дисками; данные на + других дисках остаются доступными. +* Если вы случайно удалите файлы на диске, возможно их восстановление. +* Диски могут иметь разные размеры. +* Вы можете добавлять диски в любое время. +* SnapRAID не блокирует ваши данные; вы можете прекратить его использование + в любое время без переформатирования или перемещения данных. +* Для доступа к файлу должен раскручиваться только один диск, что экономит + энергию и снижает шум. + +Для получения дополнительной информации, пожалуйста, посетите официальный сайт SnapRAID: + + https://www.snapraid.it/ + + +3 LIMITATIONS +============= + +SnapRAID — это гибрид программы RAID и программы резервного копирования, +стремящийся объединить лучшие преимущества обеих. Однако у него есть +некоторые ограничения, которые следует учитывать перед использованием. + +Основное ограничение заключается в том, что если диск выходит из строя, а вы +недавно не выполняли синхронизацию, вы можете не восстановить данные полностью. +В частности, вы можете не восстановить данные в объеме, равном размеру +измененных или удаленных файлов с момента последней операции синхронизации. +Это происходит, даже если измененные или удаленные файлы не находятся +на отказавшем диске. Вот почему SnapRAID лучше подходит для +данных, которые редко меняются. + +С другой стороны, недавно добавленные файлы не препятствуют восстановлению уже +существующих файлов. Вы потеряете только недавно добавленные файлы, +если они находятся на отказавшем диске. + +Другие ограничения SnapRAID: + +* Со SnapRAID у вас все еще отдельные файловые системы для каждого диска. + С RAID вы получаете единую большую файловую систему. +* SnapRAID не выполняет чередование данных. + С RAID вы получаете прирост скорости благодаря чередованию. +* SnapRAID не поддерживает восстановление в реальном времени. + С RAID вам не нужно прекращать работу при сбое диска. +* SnapRAID может восстановить данные только при ограниченном числе сбоев дисков. + С резервным копированием вы можете восстановиться после полного + сбоя всего дискового массива. +* Сохраняются только имена файлов, метки времени, символические ссылки и жесткие ссылки. + Разрешения, права владения и расширенные атрибуты не сохраняются. + + +4 GETTING STARTED +================= + +Чтобы использовать SnapRAID, вам нужно сначала выбрать один диск в вашем дисковом массиве +для выделения под информацию `четности` (parity). С одним диском для четности, вы +сможете восстановиться после одного сбоя диска, подобно RAID5. + +Если вы хотите восстановиться после большего числа сбоев дисков, подобно RAID6, +вы должны зарезервировать дополнительные диски для четности. Каждый дополнительный диск +четности позволяет восстановиться после еще одного сбоя диска. + +В качестве дисков четности вы должны выбирать самые большие диски в массиве, +так как информация четности может вырасти до размера самого большого +диска данных в массиве. + +Эти диски будут выделены для хранения файлов `четности`. +Вы не должны хранить на них свои данные. + +Затем вы должны определить диски `данных`, которые вы хотите защитить +с помощью SnapRAID. Защита более эффективна, если эти диски +содержат данные, которые редко меняются. По этой причине лучше +НЕ включать диск Windows C:\ или каталоги Unix /home, /var и /tmp. + +Список файлов сохраняется в файлах `content`, обычно +хранящихся на дисках данных, четности или загрузочных дисках. +Этот файл содержит детали вашего резервного копирования, включая все +контрольные суммы для проверки его целостности. +Файл `content` хранится в нескольких копиях, и каждая копия должна +находиться на отдельном диске, чтобы гарантировать, что даже в случае +множественных сбоев дисков, хотя бы одна копия будет доступна. + +Например, предположим, что вы заинтересованы только в одном уровне защиты четности, +и ваши диски расположены по адресам: + + /mnt/diskp <- выбранный диск для четности + /mnt/disk1 <- первый диск для защиты + /mnt/disk2 <- второй диск для защиты + /mnt/disk3 <- третий диск для защиты + +Вы должны создать файл конфигурации /etc/snapraid.conf со +следующими опциями: + + parity /mnt/diskp/snapraid.parity + content /var/snapraid/snapraid.content + content /mnt/disk1/snapraid.content + content /mnt/disk2/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + +Если вы используете Windows, вам следует использовать формат пути Windows, +с буквами дисков и обратными слешами вместо прямых. + + parity E:\snapraid.parity + content C:\snapraid\snapraid.content + content F:\array\snapraid.content + content G:\array\snapraid.content + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + +Если у вас много дисков и заканчиваются буквы дисков, вы можете монтировать +диски непосредственно в подпапки. См.: + + https://www.google.com/search?q=Windows+mount+point + +На этом этапе вы готовы запустить команду `sync` для создания +информации четности. + + snapraid sync + +Этот процесс может занять несколько часов в первый раз, в зависимости от размера +данных, уже присутствующих на дисках. Если диски пустые, +процесс происходит немедленно. + +Вы можете остановить его в любое время, нажав Ctrl+C, и при следующем запуске он +возобновит работу с того места, где был прерван. + +Когда эта команда завершится, ваши данные ЗАЩИЩЕНЫ. + +Теперь вы можете начать использовать свой массив, как вам угодно, и периодически +обновлять информацию четности, запуская команду `sync`. + +4.1 Scrubbing +------------- + +Для периодической проверки данных и четности на наличие ошибок, вы можете +запустить команду `scrub`. + + snapraid scrub + +Эта команда сравнивает данные в вашем массиве с хэшем, вычисленным +во время команды `sync`, для проверки целостности. + +Каждый запуск команды проверяет примерно 8% массива, исключая данные, +уже проверенные за предыдущие 10 дней. +Вы можете использовать опцию -p, --plan, чтобы указать другое количество, +и опцию -o, --older-than, чтобы указать другой возраст в днях. +Например, для проверки 5% массива на наличие блоков старше 20 дней, используйте: + + snapraid -p 5 -o 20 scrub + +Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, +соответствующие блоки помечаются как плохие в файле `content` +и перечисляются в команде `status`. + + snapraid status + +Чтобы исправить их, вы можете использовать команду `fix`, фильтруя плохие блоки +с помощью опции -e, --filter-error: + + snapraid -e fix + +При следующем `scrub` ошибки исчезнут из отчета `status`, +если они действительно исправлены. Чтобы ускорить процесс, вы можете использовать +-p bad для проверки только блоков, помеченных как плохие. + + snapraid -p bad scrub + +Запуск `scrub` на несинхронизированном массиве может сообщить об ошибках, вызванных +удаленными или измененными файлами. Эти ошибки сообщаются в выводе `scrub`, +но соответствующие блоки не помечаются как плохие. + +4.2 Pooling +----------- + +Примечание: Функция объединения (pooling), описанная ниже, была заменена инструментом +mergefs, который теперь является рекомендуемым вариантом для пользователей Linux +в сообществе SnapRAID. Mergefs предоставляет более гибкий и эффективный +способ объединения нескольких дисков в единую точку монтирования, +обеспечивая беспрепятственный доступ к файлам по всему массиву без +опоры на символические ссылки. Он хорошо интегрируется со SnapRAID для +защиты четности и обычно используется в установках, таких как OpenMediaVault (OMV) +или пользовательских конфигурациях NAS. + +Чтобы все файлы в вашем массиве отображались в одном дереве каталогов, +вы можете включить функцию `pooling`. Она создает виртуальное +представление всех файлов в вашем массиве только для чтения, используя +символические ссылки. + +Вы можете настроить каталог `pooling` в файле конфигурации с помощью: + + pool /pool + +или, если вы используете Windows, с помощью: + + pool C:\pool + +а затем запустить команду `pool` для создания или обновления виртуального представления. + + snapraid pool + +Если вы используете платформу Unix и хотите предоставить общий доступ к этому каталогу +по сети как для машин Windows, так и для Unix, вы должны добавить +следующие опции в ваш /etc/samba/smb.conf: + + # В глобальном разделе smb.conf + unix extensions = no + + # В разделе общего ресурса smb.conf + [pool] + comment = Pool + path = /pool + read only = yes + guest ok = yes + wide links = yes + follow symlinks = yes + +В Windows совместное использование символических ссылок по сети требует, чтобы клиенты +разрешали их удаленно. Чтобы включить это, помимо предоставления общего доступа +к каталогу pool, вы также должны предоставить общий доступ ко всем дискам +независимо, используя имена дисков, определенные в файле конфигурации, в качестве +точек общего доступа. Вы также должны указать в опции `share` файла +конфигурации путь UNC Windows, который удаленные клиенты должны использовать +для доступа к этим общим дискам. + +Например, работая с сервера с именем `darkstar`, вы можете использовать +опции: + + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + pool C:\pool + share \\darkstar + +и предоставить общий доступ к следующим каталогам по сети: + + \\darkstar\pool -> C:\pool + \\darkstar\d1 -> F:\array + \\darkstar\d2 -> G:\array + \\darkstar\d3 -> H:\array + +чтобы разрешить удаленным клиентам доступ ко всем файлам по адресу \\darkstar\pool. + +Вам также может потребоваться настроить удаленные клиенты для включения доступа к +удаленным символическим ссылкам с помощью команды: + + fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + +4.3 Undeleting +-------------- + +SnapRAID функционирует скорее как программа резервного копирования, чем как система RAID, +и может использоваться для восстановления или отмены удаления файлов до их +предыдущего состояния с помощью опции -f, --filter: + + snapraid fix -f FILE + +или для каталога: + + snapraid fix -f DIR/ + +Вы также можете использовать его для восстановления только случайно удаленных файлов внутри +каталога с помощью опции -m, --filter-missing, которая восстанавливает +только отсутствующие файлы, оставляя все остальные нетронутыми. + + snapraid fix -m -f DIR/ + +Или для восстановления всех удаленных файлов на всех дисках с помощью: + + snapraid fix -m + +4.4 Recovering +-------------- + +Случилось худшее, и вы потеряли один или несколько дисков! + +НЕ ПАНИКУЙТЕ! Вы сможете их восстановить! + +Первое, что вы должны сделать, это избегать дальнейших изменений в вашем дисковом массиве. +Отключите любые удаленные подключения к нему и любые запланированные процессы, +включая любое запланированное ночное sync или scrub SnapRAID. + +Затем приступайте к следующим шагам. + +---- 4.4.1 STEP 1 -> Reconfigure ---- +Вам нужно место для восстановления, в идеале на дополнительных +запасных дисках, но внешнего USB-диска или удаленного диска будет достаточно. + +Измените файл конфигурации SnapRAID, чтобы опция `data` или `parity` +отказавшего диска указывала на место с достаточным пустым +пространством для восстановления файлов. + +Например, если диск `d1` вышел из строя, измените с: + + data d1 /mnt/disk1/ + +на: + + data d1 /mnt/new_spare_disk/ + +Если восстанавливаемый диск является диском четности, обновите соответствующую опцию `parity`. +Если у вас несколько отказавших дисков, обновите все их опции конфигурации. + +---- 4.4.2 STEP 2 -> Fix ---- +Запустите команду fix, сохраняя журнал во внешнем файле с помощью: + + snapraid -d NAME -l fix.log fix + +Где NAME — это имя диска, например `d1` в нашем предыдущем примере. +Если восстанавливаемый диск является диском четности, используйте имена `parity`, `2-parity` +и т. д. +Если у вас несколько отказавших дисков, используйте несколько опций -d, чтобы указать +их все. + +Эта команда займет много времени. + +Убедитесь, что у вас есть несколько гигабайт свободного места для хранения файла fix.log. +Запустите ее с диска с достаточным свободным местом. + +Теперь вы восстановили все, что можно было восстановить. Если некоторые файлы +частично или полностью невосстановимы, они будут переименованы с добавлением +расширения `.unrecoverable`. + +Вы можете найти подробный список всех невосстановимых блоков в файле fix.log, +проверяя все строки, начинающиеся с `unrecoverable:`. + +Если вы не удовлетворены восстановлением, вы можете повторять его столько +раз, сколько пожелаете. + +Например, если вы удалили файлы из массива после последнего +`sync`, это может привести к тому, что некоторые файлы не будут восстановлены. +В этом случае вы можете повторить `fix`, используя опцию -i, --import, +указав, где эти файлы находятся сейчас, чтобы снова включить их в +процесс восстановления. + +Если вы удовлетворены восстановлением, вы можете продолжить, +но учтите, что после синхронизации вы больше не сможете повторить команду `fix`! + +---- 4.4.3 STEP 3 -> Check ---- +В качестве осторожной проверки, вы можете теперь запустить команду `check`, чтобы убедиться, +что все в порядке на восстановленном диске. + + snapraid -d NAME -a check + +Где NAME — это имя диска, например `d1` в нашем предыдущем примере. + +Опции -d и -a говорят SnapRAID проверить только указанный диск +и игнорировать все данные четности. + +Эта команда займет много времени, но если вы не чрезмерно осторожны, +вы можете ее пропустить. + +---- 4.4.4 STEP 4 -> Sync ---- +Запустите команду `sync`, чтобы ресинхронизировать массив с новым диском. + + snapraid sync + +Если все восстановлено, эта команда выполняется немедленно. + + +5 COMMANDS +========== + +SnapRAID предоставляет несколько простых команд, которые позволяют: + +* Печатать статус массива -> `status` +* Управлять дисками -> `smart`, `probe`, `up`, `down` +* Сделать резервную копию/снимок -> `sync` +* Периодически проверять данные -> `scrub` +* Восстановить последнюю резервную копию/снимок -> `fix`. + +Команды должны быть написаны строчными буквами. + +5.1 status +---------- + +Печатает сводку состояния дискового массива. + +Она включает информацию о фрагментации четности, о том, насколько старые +блоки без проверки, и все записанные скрытые ошибки, +возникшие во время scrubbing. + +Представленная информация относится к последнему времени, когда вы +запускали `sync`. Более поздние изменения не учитываются. + +Если были обнаружены плохие блоки, перечисляются их номера. +Чтобы исправить их, вы можете использовать команду `fix -e`. + +Он также показывает график, представляющий последнее время, когда каждый блок +был проверен (`scrubbed`) или синхронизирован (`synced`). Проверенные блоки +обозначены символом '*', блоки, синхронизированные, но еще не проверенные, +символом 'o'. + +Ничего не изменяется. + +5.2 smart +--------- + +Печатает отчет SMART всех дисков в системе. + +Он включает оценку вероятности сбоя в следующем году, +позволяя планировать плановую замену дисков, которые показывают +подозрительные атрибуты. + +Эта оценка вероятности получена путем корреляции атрибутов SMART +дисков с данными Backblaze, доступными по адресу: + + https://www.backblaze.com/hard-drive-test-data.html + +Если SMART сообщает, что диск выходит из строя, для этого диска +выводится `FAIL` или `PREFAIL`, и SnapRAID возвращает ошибку. +В этом случае немедленная замена диска настоятельно рекомендуется. + +Другие возможные строки статуса: + logfail - В прошлом некоторые атрибуты были ниже + порогового значения. + logerr - Журнал ошибок устройства содержит ошибки. + selferr - Журнал самотестирования устройства содержит ошибки. + +Если указана опция -v, --verbose, предоставляется более глубокий +статистический анализ. Этот анализ может помочь вам решить, нужно ли вам +больше или меньше четности. + +Эта команда использует инструмент `smartctl` и эквивалентна запуску +`smartctl -a` на всех устройствах. + +Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать +пользовательскую команду, используя опцию `smartctl` в файле +конфигурации. + +Ничего не изменяется. + +5.3 probe +--------- + +Печатает состояние POWER всех дисков в системе. + +`Standby` означает, что диск не вращается. `Active` означает, +что диск вращается. + +Эта команда использует инструмент `smartctl` и эквивалентна запуску +`smartctl -n standby -i` на всех устройствах. + +Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать +пользовательскую команду, используя опцию `smartctl` в файле +конфигурации. + +Ничего не изменяется. + +5.4 up +------ + +Раскручивает все диски массива. + +Вы можете раскрутить только определенные диски, используя опцию -d, --filter-disk. + +Раскручивание всех дисков одновременно требует много энергии. +Убедитесь, что ваш блок питания может это выдержать. + +Ничего не изменяется. + +5.5 down +-------- + +Останавливает вращение всех дисков массива. + +Эта команда использует инструмент `smartctl` и эквивалентна запуску +`smartctl -s standby,now` на всех устройствах. + +Вы можете остановить вращение только определенных дисков, используя опцию -d, --filter-disk. + +Чтобы автоматически остановить вращение при ошибке, вы можете использовать опцию +-s, --spin-down-on-error с любой другой командой, что эквивалентно +ручному запуску `down` при возникновении ошибки. + +Ничего не изменяется. + +5.6 diff +-------- + +Перечисляет все файлы, измененные с момента последнего `sync`, для которых +требуется пересчитать данные четности. + +Эта команда не проверяет данные файла, а только метку времени файла, +размер и inode. + +После перечисления всех измененных файлов представляется сводка изменений, +сгруппированных по: + equal - Файлы, не измененные по сравнению с предыдущим состоянием. + added - Добавленные файлы, которых не было раньше. + removed - Удаленные файлы. + updated - Файлы с другим размером или меткой времени, что означает, что они + были изменены. + moved - Файлы, перемещенные в другой каталог на том же диске. + Они идентифицируются как имеющие то же имя, размер, метку времени + и inode, но другой каталог. + copied - Файлы, скопированные на тот же или другой диск. Обратите внимание, что если + они действительно перемещены на другой диск, они также будут + учтены в `removed`. + Они идентифицируются как имеющие то же имя, размер и + метку времени. Если метка времени с точностью до доли секунды равна нулю, + полный путь должен совпадать, а не только имя. + restored - Файлы с другим inode, но совпадающими именем, размером и меткой времени. + Обычно это файлы, восстановленные после удаления. + +Если требуется `sync`, код возврата процесса равен 2, а не +по умолчанию 0. Код возврата 1 используется для общего условия ошибки. + +Ничего не изменяется. + +5.7 sync +-------- + +Обновляет информацию четности. Все измененные файлы +в дисковом массиве считываются, и соответствующие данные четности +обновляются. + +Вы можете остановить этот процесс в любое время, нажав Ctrl+C, +не теряя уже проделанной работы. +При следующем запуске процесс `sync` возобновится с того места, +где был прерван. + +Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода, +соответствующие блоки помечаются как плохие. + +Файлы идентифицируются по пути и/или inode и проверяются по +размеру и метке времени. +Если размер файла или метка времени отличаются, данные четности +пересчитываются для всего файла. +Если файл перемещен или переименован на том же диске, сохраняя +тот же inode, четность не пересчитывается. +Если файл перемещен на другой диск, четность пересчитывается, +но ранее вычисленная информация хэша сохраняется. + +Файлы `content` и `parity` изменяются при необходимости. +Файлы в массиве НЕ изменяются. + +5.8 scrub +--------- + +Проверяет массив, проверяя на наличие скрытых ошибок или ошибок ввода/вывода +на дисках данных и четности. + +Каждый вызов проверяет примерно 8% массива, исключая +данные, уже проверенные за последние 10 дней. +Это означает, что проверка раз в неделю гарантирует, что каждый бит данных +проверяется хотя бы раз в три месяца. + +Вы можете определить другой план или объем проверки, используя опцию -p, --plan, +которая принимает: +bad - Проверить блоки, помеченные как плохие. +new - Проверить только что синхронизированные блоки, которые еще не были проверены. +full - Проверить все. +0-100 - Проверить указанный процент блоков. + +Если вы указываете процентное значение, вы также можете использовать опцию -o, --older-than, +чтобы определить, насколько старым должен быть блок. +Сначала проверяются самые старые блоки, обеспечивая оптимальную проверку. +Если вы хотите проверить только что синхронизированные блоки, которые еще не были проверены, +используйте опцию `-p new`. + +Чтобы получить подробности о статусе проверки, используйте команду `status`. + +При обнаружении любой скрытой ошибки или ошибки ввода/вывода соответствующие блоки +помечаются как плохие в файле `content`. +Эти плохие блоки перечисляются в `status` и могут быть исправлены с помощью `fix -e`. +После исправления при следующем scrub они будут перепроверены, и если +обнаружатся исправленными, плохая метка будет удалена. +Чтобы проверить только плохие блоки, вы можете использовать команду `scrub -p bad`. + +Рекомендуется запускать `scrub` только на синхронизированном массиве, чтобы избежать +сообщений об ошибках, вызванных несинхронизированными данными. Эти ошибки +распознаются как не являющиеся скрытыми ошибками, и блоки не помечаются +как плохие, но такие ошибки сообщаются в выводе команды. + +Файл `content` изменяется для обновления времени последней проверки +для каждого блока и для пометки плохих блоков. +Файлы `parity` НЕ изменяются. +Файлы в массиве НЕ изменяются. + +5.9 fix +------- + +Исправляет все файлы и данные четности. + +Все файлы и данные четности сравниваются с состоянием снимка, +сохраненным при последнем `sync`. +Если обнаружено различие, оно возвращается к сохраненному снимку. + +ВНИМАНИЕ! Команда `fix` не различает ошибки и +преднамеренные изменения. Она безусловно возвращает состояние файла +к последнему `sync`. + +Если не указана другая опция, обрабатывается весь массив. +Используйте опции фильтрации, чтобы выбрать подмножество файлов или дисков для работы. + +Чтобы исправить только блоки, помеченные как плохие во время `sync` и `scrub`, +используйте опцию -e, --filter-error. +В отличие от других опций фильтрации, эта применяет исправления только к файлам, +которые не были изменены с момента последнего `sync`. + +SnapRAID переименовывает все файлы, которые не могут быть исправлены, добавляя +расширение `.unrecoverable`. + +Перед исправлением сканируется весь массив, чтобы найти файлы, перемещенные +с момента последней операции `sync`. +Эти файлы идентифицируются по их метке времени, игнорируя их имя +и каталог, и используются в процессе восстановления при необходимости. +Если вы переместили некоторые из них за пределы массива, вы можете использовать опцию +-i, --import, чтобы указать дополнительные каталоги для сканирования. + +Файлы идентифицируются только по пути, а не по inode. + +Файл `content` НЕ изменяется. +Файлы `parity` изменяются при необходимости. +Файлы в массиве изменяются при необходимости. + +5.10 check +---------- + +Проверяет все файлы и данные четности. + +Он работает как `fix`, но только имитирует восстановление, и никакие изменения +не записываются в массив. + +Эта команда в основном предназначена для ручной проверки, +например, после процесса восстановления или в других особых условиях. +Для периодических и запланированных проверок используйте `scrub`. + +Если вы используете опцию -a, --audit-only, проверяются только данные +файла, а данные четности игнорируются для +более быстрого выполнения. + +Файлы идентифицируются только по пути, а не по inode. + +Ничего не изменяется. + +5.11 list +--------- + +Перечисляет все файлы, содержащиеся в массиве на момент +последнего `sync`. + +С -v или --verbose также отображается время с точностью до доли секунды. + +Ничего не изменяется. + +5.12 dup +-------- + +Перечисляет все дублирующиеся файлы. Два файла считаются равными, если их +хэши совпадают. Данные файла не считываются; используются только +предварительно вычисленные хэши. + +Ничего не изменяется. + +5.13 pool +--------- + +Создает или обновляет виртуальное представление всех +файлов в вашем дисковом массиве в каталоге `pooling`. + +Файлы не копируются, а связываются с помощью +символических ссылок. + +При обновлении все существующие символические ссылки и пустые +подкаталоги удаляются и заменяются новым +представлением массива. Любые другие обычные файлы остаются на месте. + +Ничего не изменяется за пределами каталога pool. + +5.14 devices +------------ + +Печатает низкоуровневые устройства, используемые массивом. + +Эта команда отображает ассоциации устройств в массиве +и в основном предназначена как интерфейс для скриптов. + +Первые два столбца — это низкоуровневый идентификатор устройства и путь. +Следующие два столбца — это высокоуровневый идентификатор устройства и путь. +Последний столбец — это имя диска в массиве. + +В большинстве случаев у вас есть одно низкоуровневое устройство для каждого диска в +массиве, но в некоторых более сложных конфигурациях у вас может быть несколько +низкоуровневых устройств, используемых одним диском в массиве. + +Ничего не изменяется. + +5.15 touch +---------- + +Устанавливает произвольную метку времени с точностью до доли секунды для всех файлов, +у которых она установлена в ноль. + +Это улучшает способность SnapRAID распознавать перемещенные +и скопированные файлы, так как делает метку времени почти уникальной, +уменьшая возможные дубликаты. + +Более конкретно, если метка времени с точностью до доли секунды не равна нулю, +перемещенный или скопированный файл идентифицируется как таковой, если он совпадает +по имени, размеру и метке времени. Если метка времени с точностью до доли секунды +равна нулю, он считается копией только в том случае, если полностью совпадают +полный путь, размер и метка времени. + +Метка времени с точностью до секунды не изменяется, +поэтому все даты и время ваших файлов будут сохранены. + +5.16 rehash +----------- + +Планирует перехэширование всего массива. + +Эта команда изменяет используемый тип хэша, обычно при обновлении +с 32-разрядной системы на 64-разрядную, для переключения с +MurmurHash3 на более быстрый SpookyHash. + +Если вы уже используете оптимальный хэш, эта команда +ничего не делает и информирует вас, что никакие действия не требуются. + +Перехэширование не выполняется немедленно, а происходит +постепенно во время `sync` и `scrub`. + +Вы можете проверить состояние перехэширования с помощью `status`. + +Во время перехэширования SnapRAID сохраняет полную функциональность, +за единственным исключением, что `dup` не может обнаружить дублирующиеся +файлы, использующие другой хэш. + + +6 OPTIONS +========= + +SnapRAID предоставляет следующие опции: + + -c, --conf CONFIG + Выбирает файл конфигурации для использования. Если не указан, в Unix + используется файл `/usr/local/etc/snapraid.conf`, если он существует, + в противном случае `/etc/snapraid.conf`. + В Windows используется файл `snapraid.conf` в том же + каталоге, что и `snapraid.exe`. + + -f, --filter PATTERN + Фильтрует файлы для обработки в `check` и `fix`. + Обрабатываются только файлы, соответствующие указанному шаблону. + Эту опцию можно использовать несколько раз. + Подробнее о спецификациях шаблонов см. в разделе PATTERN. + В Unix убедитесь, что символы глоббинга заключены в кавычки, если используются. + Эту опцию можно использовать только с `check` и `fix`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -d, --filter-disk NAME + Фильтрует диски для обработки в `check`, `fix`, `up` и `down`. + Вы должны указать имя диска, определенное в файле конфигурации. + Вы также можете указать диски четности с именами: `parity`, `2-parity`, + `3-parity` и т. д., чтобы ограничить операции конкретным диском четности. + Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing, + выбираются только файлы, соответствующие всем фильтрам. + Эту опцию можно использовать несколько раз. + Эту опцию можно использовать только с `check`, `fix`, `up` и `down`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -m, --filter-missing + Фильтрует файлы для обработки в `check` и `fix`. + Обрабатываются только файлы, отсутствующие или удаленные из массива. + При использовании с `fix`, это действует как команда `undelete`. + Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing, + выбираются только файлы, соответствующие всем фильтрам. + Эту опцию можно использовать только с `check` и `fix`. + Ее нельзя использовать с `sync` и `scrub`, так как они всегда + обрабатывают весь массив. + + -e, --filter-error + Обрабатывает файлы с ошибками в `check` и `fix`. + Он обрабатывает только файлы, блоки которых помечены скрытыми + ошибками или ошибками ввода/вывода во время `sync` и `scrub`, как + перечислено в `status`. + Эту опцию можно использовать только с `check` и `fix`. + + -p, --plan PERC|bad|new|full + Выбирает план проверки (`scrub`). Если PERC — это числовое значение от 0 до 100, + оно интерпретируется как процент блоков для проверки. + Вместо процента вы можете указать план: + `bad` проверяет плохие блоки, `new` проверяет блоки, которые еще не были проверены, + и `full` проверяет все. + Эту опцию можно использовать только с `scrub`. + + -o, --older-than DAYS + Выбирает самую старую часть массива для обработки в `scrub`. + DAYS — это минимальный возраст в днях для блока, который будет проверен; + по умолчанию — 10. + Блоки, помеченные как плохие, всегда проверяются независимо от этой опции. + Эту опцию можно использовать только с `scrub`. + + -a, --audit-only + В `check`, проверяет хэш файлов без + проверки данных четности. + Если вы заинтересованы только в проверке данных файла, эта + опция может значительно ускорить процесс проверки. + Эту опцию можно использовать только с `check`. + + -h, --pre-hash + В `sync`, запускает предварительную фазу хэширования всех новых данных + для дополнительной проверки перед вычислением четности. + Обычно в `sync` предварительное хэширование не выполняется, и новые + данные хэшируются непосредственно перед вычислением четности, когда они + считываются в первый раз. + Этот процесс происходит, когда система находится под + тяжелой нагрузкой, со всеми вращающимися дисками и занятым процессором. + Это экстремальное условие для машины, и если у нее есть + скрытая аппаратная проблема, скрытые ошибки могут остаться незамеченными, + потому что данные еще не хэшированы. + Чтобы избежать этого риска, вы можете включить режим `pre-hash`, чтобы + все данные считывались дважды для обеспечения их целостности. + Эта опция также проверяет файлы, перемещенные внутри массива, + чтобы убедиться, что операция перемещения прошла успешно, и, при необходимости, + позволяет запустить операцию исправления (`fix`) перед продолжением. + Эту опцию можно использовать только с `sync`. + + -i, --import DIR + Импортирует из указанного каталога любые файлы, удаленные + из массива после последнего `sync`. + Если у вас все еще есть такие файлы, они могут использоваться `check` + и `fix` для улучшения процесса восстановления. + Файлы считываются, включая подкаталоги, и идентифицируются + независимо от их имени. + Эту опцию можно использовать только с `check` и `fix`. + + -s, --spin-down-on-error + При любой ошибке останавливает вращение всех управляемых дисков перед выходом с + ненулевым кодом состояния. Это предотвращает оставление дисков + активными и вращающимися после прерванной операции, + помогая избежать ненужного нагрева и энергопотребления. + Используйте эту опцию, чтобы гарантировать безопасную остановку дисков, + даже когда команда завершается неудачей. + + -w, --bw-limit RATE + Применяет глобальное ограничение пропускной способности для всех дисков. RATE — это + количество байтов в секунду. Вы можете указать множитель, + например K, M или G (например, --bw-limit 1G). + + -A, --stats + Включает расширенный вид статуса, который показывает дополнительную информацию. + На экране отображаются два графика: + Первый график показывает количество буферизованных полос для каждого + диска, а также путь к файлу, к которому в данный момент осуществляется + доступ на этом диске. Обычно самый медленный диск не будет иметь + доступного буфера, что определяет максимально достижимую + пропускную способность. + Второй график показывает процент времени, потраченного на ожидание + за последние 100 секунд. Ожидается, что самый медленный диск + вызовет большую часть времени ожидания, в то время как другие диски должны + иметь мало или совсем не иметь времени ожидания, потому что они могут + использовать свои буферизованные полосы. + Этот график также показывает время, потраченное на ожидание + вычислений хэша и вычислений RAID. + Все вычисления выполняются параллельно с дисковыми операциями. + Следовательно, пока есть измеримое время ожидания для + хотя бы одного диска, это указывает на то, что ЦП достаточно быстр, чтобы + справляться с рабочей нагрузкой. + + -Z, --force-zero + Форсирует небезопасную операцию синхронизации файла с нулевым + размером, который ранее был ненулевым. + Если SnapRAID обнаруживает такое условие, он прекращает выполнение, + если вы не укажете эту опцию. + Это позволяет легко обнаружить, когда после сбоя системы + некоторые доступные файлы были усечены. + Это возможное условие в Linux с файловыми системами ext3/ext4. + Эту опцию можно использовать только с `sync`. + + -E, --force-empty + Форсирует небезопасную операцию синхронизации диска, на котором + отсутствуют все исходные файлы. + Если SnapRAID обнаруживает, что все файлы, изначально присутствующие + на диске, отсутствуют или перезаписаны, он прекращает выполнение, + если вы не укажете эту опцию. + Это позволяет легко обнаружить, когда файловая система данных не + смонтирована. + Эту опцию можно использовать только с `sync`. + + -U, --force-uuid + Форсирует небезопасную операцию синхронизации, проверки и исправления + с дисками, у которых изменился UUID. + Если SnapRAID обнаруживает, что у некоторых дисков изменился UUID, + он прекращает выполнение, если вы не укажете эту опцию. + Это позволяет обнаружить, когда ваши диски смонтированы в + неправильных точках монтирования. + Однако допускается однократное изменение UUID с + одиночной четностью, и больше с множественной четностью, потому что это + нормальный случай при замене дисков после восстановления. + Эту опцию можно использовать только с `sync`, `check` или + `fix`. + + -D, --force-device + Форсирует небезопасную операцию исправления с недоступными дисками + или с дисками на том же физическом устройстве. + Например, если вы потеряли два диска данных и у вас есть запасной диск для восстановления + только первого, вы можете игнорировать второй недоступный диск. + Или, если вы хотите восстановить диск в свободное место, оставшееся на + уже используемом диске, совместно использующем то же физическое устройство. + Эту опцию можно использовать только с `fix`. + + -N, --force-nocopy + В `sync`, `check` и `fix`, отключает эвристику обнаружения копирования. + Без этой опции SnapRAID предполагает, что файлы с одинаковыми + атрибутами, такими как имя, размер и метка времени, являются копиями с + одинаковыми данными. + Это позволяет идентифицировать скопированные или перемещенные файлы с одного диска + на другой и повторно использовать уже вычисленную информацию хэша + для обнаружения скрытых ошибок или восстановления отсутствующих файлов. + В некоторых редких случаях это поведение может привести к ложным срабатываниям + или замедлению процесса из-за большого количества проверок хэша, и эта + опция позволяет решить такие проблемы. + Эту опцию можно использовать только с `sync`, `check` и `fix`. + + -F, --force-full + В `sync`, форсирует полный пересчет четности. + Эту опцию можно использовать, когда вы добавляете новый уровень четности или если + вы вернулись к старому файлу content, используя более свежие данные четности. + Вместо того чтобы воссоздавать четность с нуля, это позволяет + повторно использовать хэши, присутствующие в файле content, для проверки данных + и поддержания защиты данных во время процесса `sync` с использованием + существующих данных четности. + Эту опцию можно использовать только с `sync`. + + -R, --force-realloc + В `sync`, форсирует полное перераспределение файлов и перестроение четности. + Эту опцию можно использовать для полного перераспределения всех файлов, + удаления фрагментации, при этом повторно используя хэши, присутствующие в файле content, + для проверки данных. + Эту опцию можно использовать только с `sync`. + ВНИМАНИЕ! Эта опция предназначена только для экспертов, и + настоятельно не рекомендуется ее использовать. + У вас НЕТ защиты данных во время операции `sync`. + + -l, --log FILE + Записывает подробный журнал в указанный файл. + Если эта опция не указана, непредвиденные ошибки выводятся + на экран, что потенциально может привести к чрезмерному выводу в случае + множества ошибок. Когда указана -l, --log, на + экран выводятся только фатальные ошибки, которые приводят к остановке + SnapRAID. + Если путь начинается с '>>', файл открывается + в режиме добавления. Вхождения '%D' и '%T' в имени + заменяются датой и временем в формате ГГГГММДД и + ЧЧММСС. В пакетных файлах Windows вы должны удвоить + символ '%', например, result-%%D.log. Чтобы использовать '>>', вы должны + заключить имя в кавычки, например, `">>result.log"`. + Для вывода журнала на стандартный вывод или стандартную ошибку, + вы можете использовать `">&1"` и `">&2"` соответственно. + Описание тегов журнала см. в файле snapraid_log.txt или man-странице. + + -L, --error-limit NUMBER + Устанавливает новый лимит ошибок до остановки выполнения. + По умолчанию SnapRAID останавливается, если обнаруживает более 100 + ошибок ввода/вывода, что указывает на вероятный сбой диска. + Эта опция влияет на `sync` и `scrub`, которым разрешено + продолжать работу после первого набора дисковых ошибок, чтобы попытаться + завершить свои операции. + Однако `check` и `fix` всегда останавливаются при первой ошибке. + + -S, --start BLKSTART + Начинает обработку с указанного + номера блока. Это может быть полезно для повторной попытки проверить + или исправить конкретные блоки в случае поврежденного диска. + Эта опция в основном предназначена для расширенного ручного восстановления. + + -B, --count BLKCOUNT + Обрабатывает только указанное количество блоков. + Эта опция в основном предназначена для расширенного ручного восстановления. + + -C, --gen-conf CONTENT + Генерирует фиктивный файл конфигурации из существующего + файла content. + Файл конфигурации записывается на стандартный вывод + и не перезаписывает существующий. + Этот файл конфигурации также содержит информацию, + необходимую для восстановления точек монтирования дисков в случае, если вы + потеряете всю систему. + + -v, --verbose + Печатает больше информации на экран. + Если указана один раз, печатает исключенные файлы + и дополнительную статистику. + Эта опция не влияет на файлы журнала. + + -q, --quiet + Печатает меньше информации на экран. + Если указана один раз, удаляет индикатор выполнения; дважды, + текущие операции; трижды, информационные + сообщения; четырежды, сообщения о статусе. + Фатальные ошибки всегда выводятся на экран. + Эта опция не влияет на файлы журнала. + + -H, --help + Печатает краткий экран справки. + + -V, --version + Печатает версию программы. + + +7 CONFIGURATION +=============== + +SnapRAID требует файл конфигурации, чтобы знать, где находится ваш дисковый массив +и где хранить информацию четности. + +В Unix используется файл `/usr/local/etc/snapraid.conf`, если он существует, +в противном случае `/etc/snapraid.conf`. +В Windows используется файл `snapraid.conf` в том же +каталоге, что и `snapraid.exe`. + +Он должен содержать следующие опции (чувствительные к регистру): + +7.1 parity FILE [,FILE] ... +--------------------------- + +Определяет файлы для использования для хранения информации четности. +Четность обеспечивает защиту от одного сбоя диска, +подобно RAID5. + +Вы можете указать несколько файлов, которые должны быть на разных дисках. +Когда файл больше не может расти, используется следующий. +Общее доступное пространство должно быть по крайней мере таким же большим, как самый большой диск данных в +массиве. + +Вы можете добавить дополнительные файлы четности позже, но вы +не можете переупорядочить или удалить их. + +Сохранение дисков четности зарезервированными для четности гарантирует, что +они не станут фрагментированными, улучшая производительность. + +В Windows 256 МБ остается неиспользованным на каждом диске, чтобы избежать +предупреждения о полных дисках. + +Эта опция является обязательной и может использоваться только один раз. + +7.2 (2,3,4,5,6)-parity FILE [,FILE] ... +--------------------------------------- + +Определяет файлы для использования для хранения дополнительной информации четности. + +Для каждого указанного уровня четности включается один дополнительный уровень защиты: + +* 2-parity включает двойную четность RAID6. +* 3-parity включает тройную четность. +* 4-parity включает четверную четность. +* 5-parity включает пятерную четность. +* 6-parity включает шестерную четность. + +Каждый уровень четности требует наличия всех предыдущих уровней четности. + +Применяются те же соображения, что и для опции 'parity'. + +Эти опции являются необязательными и могут использоваться только один раз. + +7.3 z-parity FILE [,FILE] ... +----------------------------- + +Определяет альтернативный файл и формат для хранения тройной четности. + +Эта опция является альтернативой '3-parity', в основном предназначенной для +слабых процессоров, таких как ARM или AMD Phenom, Athlon и Opteron, +которые не поддерживают набор инструкций SSSE3. В таких случаях она +обеспечивает лучшую производительность. + +Этот формат похож на тот, который используется ZFS RAIDZ3, но быстрее. +Как и ZFS, он не работает за пределами тройной четности. + +При использовании '3-parity' вы будете предупреждены, если рекомендуется использовать +формат 'z-parity' для повышения производительности. + +Возможно преобразование из одного формата в другой путем настройки +файла конфигурации с желаемым файлом z-parity или 3-parity +и использования 'fix' для его воссоздания. + +7.4 content FILE +---------------- + +Определяет файл для использования для хранения списка и контрольных сумм всех +файлов, присутствующих в вашем дисковом массиве. + +Он может быть размещен на диске, используемом для данных, четности, или +любом другом доступном диске. +Если вы используете диск данных, этот файл автоматически исключается +из процесса `sync`. + +Эта опция является обязательной и может использоваться несколько раз для сохранения +нескольких копий одного и того же файла. + +Вы должны хранить как минимум одну копию для каждого используемого диска четности +плюс одну. Использование дополнительных копий не повредит. + +7.5 data NAME DIR +----------------- + +Определяет имя и точку монтирования дисков данных в +массиве. NAME используется для идентификации диска и должно +быть уникальным. DIR — это точка монтирования диска в +файловой системе. + +Вы можете изменять точку монтирования по мере необходимости, пока вы +сохраняете NAME фиксированным. + +Вы должны использовать одну опцию для каждого диска данных в массиве. + +Вы можете переименовать диск позже, изменив NAME непосредственно +в файле конфигурации, а затем запустив команду 'sync'. +В случае переименования, ассоциация выполняется с использованием сохраненного +UUID дисков. + +7.6 nohidden +------------ + +Исключает все скрытые файлы и каталоги. +В Unix скрытые файлы — это те, которые начинаются с `.`. +В Windows — это те, у которых есть скрытый атрибут. + +7.7 exclude/include PATTERN +--------------------------- + +Определяет шаблоны файлов или каталогов для исключения или включения +в процесс синхронизации. +Все шаблоны обрабатываются в указанном порядке. + +Если первый совпадающий шаблон — это `exclude`, файл +исключается. Если это `include`, файл включается. +Если ни один шаблон не совпадает, файл исключается, если последний +указанный шаблон — это `include`, или включается, если последний шаблон +— это `exclude`. + +Подробнее о спецификациях шаблонов см. в разделе PATTERN. + +Эту опцию можно использовать несколько раз. + +7.8 blocksize SIZE_IN_KIBIBYTES +------------------------------- + +Определяет базовый размер блока в кибибайтах для четности. +Один кибибайт — это 1024 байта. + +Размер блока по умолчанию — 256, что должно работать в большинстве случаев. + +ВНИМАНИЕ! Эта опция предназначена только для экспертов, и +настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в +будущем, вам потребуется воссоздать всю четность! + +Причина использовать другой размер блока — если у вас много маленьких +файлов, порядка миллионов. + +Для каждого файла, даже если всего несколько байтов, выделяется целый блок четности, +и при большом количестве файлов это может привести к значительным неиспользуемым +пространствам четности. +Когда вы полностью заполните диск четности, вам не будет +разрешено добавлять больше файлов на диски данных. +Однако потерянная четность не накапливается на дисках данных. Потерянное пространство, +возникающее из-за большого числа файлов на диске данных, ограничивает только +объем данных на этом диске данных, а не на других. + +В качестве приближения вы можете предположить, что половина размера блока +теряется для каждого файла. Например, при 100 000 файлов и размере блока 256 КиБ +вы потеряете 12,8 ГБ четности, что может привести к +уменьшению доступного пространства на диске данных на 12,8 ГБ. + +Вы можете проверить количество потерянного пространства на каждом диске с помощью `status`. +Это количество пространства, которое вы должны оставить свободным на дисках +данных или использовать для файлов, не включенных в массив. +Если это значение отрицательное, это означает, что вы близки к заполнению +четности, и оно представляет пространство, которое вы все еще можете потерять. + +Чтобы избежать этой проблемы, вы можете использовать больший раздел для четности. +Например, если раздел четности на 12,8 ГБ больше, чем диски данных, +у вас есть достаточно дополнительного пространства для обработки до 100 000 +файлов на каждом диске данных без каких-либо потерь пространства. + +Хитрость для получения большего раздела четности в Linux — отформатировать его +командой: + + mkfs.ext4 -m 0 -T largefile4 DEVICE + +Это приводит к примерно 1,5% дополнительного пространства, приблизительно 60 ГБ для +диска 4 ТБ, что позволяет разместить около 460 000 файлов на каждом диске данных без +каких-либо потерь пространства. + +7.9 hashsize SIZE_IN_BYTES +-------------------------- + +Определяет размер хэша в байтах для сохраненных блоков. + +Размер хэша по умолчанию — 16 байт (128 бит), что должно работать +в большинстве случаев. + +ВНИМАНИЕ! Эта опция предназначена только для экспертов, и +настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в +будущем, вам потребуется воссоздать всю четность! + +Причина использовать другой размер хэша — если ваша система имеет +ограниченную память. Как правило, SnapRAID обычно требует +1 ГиБ ОЗУ на каждые 16 ТБ данных в массиве. + +В частности, для хранения хэшей данных SnapRAID требует +приблизительно TS*(1+HS)/BS байт ОЗУ, +где TS — это общий размер в байтах вашего дискового массива, BS — +размер блока в байтах, и HS — размер хэша в байтах. + +Например, при 8 дисках по 4 ТБ, размере блока 256 КиБ +(1 КиБ = 1024 байта) и размере хэша 16, вы получаете: + +RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB + +Переключение на размер хэша 8, вы получаете: + +RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB + +Переключение на размер блока 512, вы получаете: + +RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB + +Переключение как на размер хэша 8, так и на размер блока 512, вы получаете: + +RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB + +7.10 autosave SIZE_IN_GIGABYTES +------------------------------- + +Автоматически сохраняет состояние при синхронизации или проверке после +обработки указанного количества ГБ. +Эта опция полезна, чтобы избежать перезапуска длительных команд `sync` +с нуля, если они были прерваны сбоем машины или любым другим событием. + +7.11 temp_limit TEMPERATURE_CELSIUS +----------------------------------- + +Устанавливает максимально допустимую температуру диска в Цельсиях. Если указано, +SnapRAID периодически проверяет температуру всех дисков с помощью +инструмента smartctl. Текущие температуры дисков отображаются во время +работы SnapRAID. Если какой-либо диск превышает этот лимит, все операции +останавливаются, и диски останавливают вращение (переходят в режим ожидания) на время, +определенное опцией `temp_sleep`. После периода ожидания операции +возобновляются, потенциально снова приостанавливаясь, если лимит температуры +достигается еще раз. + +Во время работы SnapRAID также анализирует кривую нагрева каждого +диска и оценивает долгосрочную установившуюся температуру, которую они, +как ожидается, достигнут, если активность продолжится. Оценка выполняется +только после того, как температура диска увеличилась четыре раза, +что гарантирует наличие достаточного количества данных для установления +надежной тенденции. +Эта прогнозируемая установившаяся температура показывается в скобках рядом с +текущим значением и помогает оценить, достаточно ли +охлаждение системы. Эта оценочная температура предназначена только +для информации и не влияет на поведение SnapRAID. Действия программы +основываются исключительно на фактических измеренных температурах дисков. + +Для выполнения этого анализа SnapRAID требуется эталон для температуры +системы. Сначала он пытается прочитать его из доступных аппаратных +датчиков. Если ни один системный датчик не может быть доступен, он использует +самую низкую температуру диска, измеренную в начале выполнения, в качестве +резервного эталона. + +Обычно SnapRAID показывает только температуру самого горячего диска. +Чтобы отобразить температуру всех дисков, используйте опцию -A или --stats. + +7.12 temp_sleep TIME_IN_MINUTES +------------------------------- + +Устанавливает время ожидания, в минутах, когда достигается предел температуры. +В течение этого периода диски остаются остановленными. По умолчанию — 5 минут. + +7.13 pool DIR +------------- + +Определяет каталог объединения (pooling), где создается виртуальное представление +дискового массива с помощью команды `pool`. + +Каталог должен уже существовать. + +7.14 share UNC_DIR +------------------ + +Определяет путь UNC Windows, необходимый для удаленного доступа к дискам. + +Если указана эта опция, символические ссылки, созданные в каталоге pool, +используют этот путь UNC для доступа к дискам. +Без этой опции сгенерированные символические ссылки используют только локальные пути, +что не позволяет предоставлять общий доступ к каталогу pool по сети. + +Символические ссылки формируются с использованием указанного пути UNC, добавлением +имени диска, как указано в опции `data`, и, наконец, добавлением +каталога и имени файла. + +Эта опция требуется только для Windows. + +7.15 smartctl DISK/PARITY OPTIONS... +------------------------------------ + +Определяет пользовательские опции smartctl для получения атрибутов SMART для +каждого диска. Это может потребоваться для контроллеров RAID и некоторых USB-дисков, +которые не могут быть обнаружены автоматически. Заполнитель %s заменяется +именем устройства, но он необязателен для фиксированных устройств, таких как +контроллеры RAID. + +DISK — это то же имя диска, указанное в опции `data`. +PARITY — это одно из имен четности: `parity`, `2-parity`, `3-parity`, +`4-parity`, `5-parity`, `6-parity` или `z-parity`. + +В указанных OPTIONS строка `%s` заменяется +именем устройства. Для контроллеров RAID устройство, +вероятно, фиксировано, и вам может не потребоваться использовать `%s`. + +Возможные опции см. в документации smartmontools: + + https://www.smartmontools.org/wiki/Supported_RAID-Controllers + https://www.smartmontools.org/wiki/Supported_USB-Devices + +Например: + + smartctl parity -d sat %s + +7.16 smartignore DISK/PARITY ATTR [ATTR...] +------------------------------------------- + +Игнорирует указанный атрибут SMART при вычислении вероятности +сбоя диска. Эта опция полезна, если диск сообщает необычные или +вводящие в заблуждение значения для конкретного атрибута. + +DISK — это то же имя диска, указанное в опции `data`. +PARITY — это одно из имен четности: `parity`, `2-parity`, `3-parity`, +`4-parity`, `5-parity`, `6-parity` или `z-parity`. +Специальное значение * может использоваться для игнорирования атрибута на всех дисках. + +Например, чтобы игнорировать атрибут `Current Pending Sector Count` на +всех дисках: + + smartignore * 197 + +Чтобы игнорировать его только на первом диске четности: + + smartignore parity 197 + +7.17 Examples +------------- + +Пример типичной конфигурации для Unix: + + parity /mnt/diskp/snapraid.parity + content /mnt/diskp/snapraid.content + content /var/snapraid/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + exclude /lost+found/ + exclude /tmp/ + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/sg0 + smartctl 2-parity -d areca,2/1 /dev/sg0 + +Пример типичной конфигурации для Windows: + + parity E:\snapraid.parity + content E:\snapraid.content + content C:\snapraid\snapraid.content + data d1 G:\array\ + data d2 H:\array\ + data d3 I:\array\ + exclude Thumbs.db + exclude \$RECYCLE.BIN + exclude \System Volume Information + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/arcmsr0 + smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + + +8 PATTERN +========= + +Шаблоны используются для выбора подмножества файлов для исключения или включения +в процесс. + +Существует четыре различных типа шаблонов: + + FILE + Выбирает любой файл с именем FILE. Вы можете использовать любые символы + глоббинга, такие как * и ?, и классы символов, такие как [a-z]. + Этот шаблон применяется только к файлам, а не к каталогам. + + DIR/ + Выбирает любой каталог с именем DIR и все внутри. + Вы можете использовать любые символы глоббинга, такие как * и ?. + Этот шаблон применяется только к каталогам, а не к файлам. + + /PATH/FILE + Выбирает точно указанный путь к файлу. Вы можете использовать любые + символы глоббинга, такие как * и ?, но они никогда не совпадают с + косой чертой каталога. + Этот шаблон применяется только к файлам, а не к каталогам. + + /PATH/DIR/ + Выбирает точно указанный путь к каталогу и все внутри. + Вы можете использовать любые символы глоббинга, такие как * и ?, но + они никогда не совпадают с косой чертой каталога. + Этот шаблон применяется только к каталогам, а не к файлам. + +Когда вы указываете абсолютный путь, начинающийся с /, он применяется к +корневому каталогу массива, а не к корневому каталогу локальной файловой системы. + +В Windows вы можете использовать обратную косую черту \ вместо прямой /. +Системные каталоги Windows, точки соединения, точки монтирования и другие +специальные каталоги Windows рассматриваются как файлы, что означает, что для их +исключения вы должны использовать правило файла, а не каталога. + +Если имя файла содержит символы '*', '?', '[', +или ']', вы должны экранировать их, чтобы избежать их интерпретации как +символов глоббинга. В Unix символом экранирования является '\'; в Windows — '^'. +Когда шаблон находится в командной строке, вы должны удвоить символ +экранирования, чтобы избежать его интерпретации командной оболочкой. + +В файле конфигурации вы можете использовать различные стратегии для фильтрации +файлов для обработки. +Самый простой подход — использовать только правила `exclude` для удаления всех +файлов и каталогов, которые вы не хотите обрабатывать. Например: + + # Исключает любой файл с именем `*.unrecoverable` + exclude *.unrecoverable + # Исключает корневой каталог `/lost+found` + exclude /lost+found/ + # Исключает любой подкаталог с именем `tmp` + exclude tmp/ + +Противоположный подход — определить только файлы, которые вы хотите обрабатывать, используя +только правила `include`. Например: + + # Включает только некоторые каталоги + include /movies/ + include /musics/ + include /pictures/ + +Конечный подход — смешивать правила `exclude` и `include`. В этом случае +порядок правил важен. Более ранние правила имеют +преимущество над более поздними. +Для упрощения вы можете сначала перечислить все правила `exclude`, а затем +все правила `include`. Например: + + # Исключает любой файл с именем `*.unrecoverable` + exclude *.unrecoverable + # Исключает любой подкаталог с именем `tmp` + exclude tmp/ + # Включает только некоторые каталоги + include /movies/ + include /musics/ + include /pictures/ + +В командной строке, используя опцию -f, вы можете использовать только шаблоны `include`. +Например: + + # Проверяет только файлы .mp3. + # В Unix используйте кавычки, чтобы избежать расширения глоббинга оболочкой. + snapraid -f "*.mp3" check + +В Unix при использовании символов глоббинга в командной строке вы должны +заключить их в кавычки, чтобы предотвратить их расширение оболочкой. + + +9 CONTENT +========= + +SnapRAID хранит список и контрольные суммы ваших файлов в файле content. + +Это бинарный файл, который перечисляет все файлы, присутствующие в вашем дисковом массиве, +вместе со всеми контрольными суммами для проверки их целостности. + +Этот файл считывается и записывается командами `sync` и `scrub` и +считывается командами `fix`, `check` и `status`. + + +10 PARITY +========= + +SnapRAID хранит информацию четности вашего массива в файлах parity. + +Это бинарные файлы, содержащие вычисленную четность всех +блоков, определенных в файле `content`. + +Эти файлы считываются и записываются командами `sync` и `fix` и +только считываются командами `scrub` и `check`. + + +11 ENCODING +=========== + +SnapRAID в Unix игнорирует любое кодирование. Он считывает и хранит +имена файлов с тем же кодированием, которое используется файловой системой. + +В Windows все имена, считанные из файловой системы, преобразуются и +обрабатываются в формате UTF-8. + +Чтобы имена файлов печатались правильно, вы должны установить консоль Windows +в режим UTF-8 командой `chcp 65001` и использовать +шрифт TrueType, такой как `Lucida Console`, в качестве шрифта консоли. +Это влияет только на печатаемые имена файлов; если вы +перенаправляете вывод консоли в файл, результирующий файл всегда +в формате UTF-8. + + +12 COPYRIGHT +============ + +Этот файл защищен авторским правом (C) 2025 Andrea Mazzoleni + + +13 SEE ALSO +=========== + +snapraid_log(1), rsync(1) diff --git a/snapraid-uk.d b/snapraid-uk.d new file mode 100644 index 00000000..7ee1f977 --- /dev/null +++ b/snapraid-uk.d @@ -0,0 +1,1656 @@ +Name{number} + snapraid - SnapRAID Резервне копіювання для дискових масивів + +Короткий опис + :snapraid [-c, --conf CONFIG] + : [-f, --filter PATTERN] [-d, --filter-disk NAME] + : [-m, --filter-missing] [-e, --filter-error] + : [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + : [-p, --plan PERC|bad|new|full] + : [-o, --older-than DAYS] [-l, --log FILE] + : [-s, --spin-down-on-error] [-w, --bw-limit RATE] + : [-Z, --force-zero] [-E, --force-empty] + : [-U, --force-uuid] [-D, --force-device] + : [-N, --force-nocopy] [-F, --force-full] + : [-R, --force-realloc] + : [-S, --start BLKSTART] [-B, --count BLKCOUNT] + : [-L, --error-limit NUMBER] + : [-A, --stats] + : [-v, --verbose] [-q, --quiet] + : status|smart|probe|up|down|diff|sync|scrub|fix|check + : |list|dup|pool|devices|touch|rehash + + :snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + +Опис + SnapRAID — це програма резервного копіювання, розроблена для + дискових масивів, яка зберігає інформацію парності для + відновлення даних у випадку відмови до шести дисків. + + В першу чергу призначена для домашніх медіацентрів з великими + файлами, що рідко змінюються, SnapRAID пропонує кілька функцій: + + * Ви можете використовувати диски, вже заповнені файлами, без + необхідності їх переформатування, отримуючи доступ до них + як зазвичай. + * Усі ваші дані хешуються для забезпечення цілісності даних + та запобігання прихованому пошкодженню. + * Коли кількість дисків, що відмовили, перевищує кількість + дисків парності, втрата даних обмежується дисками, що + постраждали; дані на інших дисках залишаються доступними. + * Якщо ви випадково видалили файли на диску, можливе + відновлення. + * Диски можуть мати різний розмір. + * Ви можете додавати диски в будь-який час. + * SnapRAID не блокує ваші дані; ви можете припинити його + використання в будь-який час без переформатування або + переміщення даних. + * Для доступу до файлу потрібно розкрутити лише один диск, що + заощаджує електроенергію та зменшує шум. + + Для отримання додаткової інформації відвідайте офіційний сайт + SnapRAID: + + :https://www.snapraid.it/ + +Обмеження + SnapRAID є гібридом між RAID та програмою резервного копіювання, + прагнучи поєднати найкращі переваги обох. Однак, він має деякі + обмеження, які слід врахувати перед його використанням. + + Основне обмеження полягає в тому, що якщо диск виходить з ладу, + а ви нещодавно не виконували синхронізацію, ви можете не + змогти повністю відновити дані. + Конкретніше, ви можете втратити можливість відновлення даних + обсягом до розміру змінених або видалених файлів з моменту + останньої операції синхронізації. + Це відбувається, навіть якщо змінені або видалені файли не + знаходяться на диску, що вийшов з ладу. Ось чому SnapRAID + краще підходить для даних, які рідко змінюються. + + З іншого боку, щойно додані файли не перешкоджають відновленню + вже існуючих файлів. Ви втратите лише нещодавно додані файли, + якщо вони знаходяться на диску, що вийшов з ладу. + + Інші обмеження SnapRAID: + + * З SnapRAID у вас все ще є окремі файлові системи для + кожного диска. З RAID ви отримуєте одну велику файлову + систему. + * SnapRAID не використовує чергування (striping) даних. + З RAID ви отримуєте прискорення завдяки чергуванню. + * SnapRAID не підтримує відновлення в реальному часі. + З RAID вам не потрібно припиняти роботу, коли диск + виходить з ладу. + * SnapRAID може відновлювати дані лише з обмеженої кількості + дисків, що вийшли з ладу. З резервним копіюванням ви + можете відновити дані навіть після повної відмови + всього дискового масиву. + * Зберігаються лише імена файлів, часові мітки, символічні + та жорсткі посилання. Права доступу, власність та + розширені атрибути не зберігаються. + +Початок роботи + Щоб використовувати SnapRAID, спершу потрібно вибрати один диск + у вашому дисковому масиві, щоб присвятити його інформації + `парності`. З одним диском для парності ви зможете відновити + дані після відмови одного диска, подібно до RAID5. + + Якщо ви хочете відновити дані після більшої кількості + дисків, що відмовили, подібно до RAID6, ви повинні зарезервувати + додаткові диски для парності. Кожен додатковий диск парності + дозволяє відновити дані після відмови ще одного диска. + + Як диски парності ви повинні вибрати найбільші диски в масиві, + оскільки інформація парності може зрости до розміру найбільшого + диска даних у масиві. + + Ці диски будуть присвячені зберіганню файлів `парності`. Ви + не повинні зберігати на них свої дані. + + Потім ви повинні визначити диски `даних`, які ви хочете + захистити за допомогою SnapRAID. Захист є більш ефективним, + якщо ці диски містять дані, що рідко змінюються. З цієї причини + краще НЕ включати диск Windows C:\ або каталоги Unix /home, + /var та /tmp. + + Список файлів зберігається у файлах `content` (вміст), які + зазвичай зберігаються на дисках даних, парності або завантажувальних + дисках. + Цей файл містить деталі вашої резервної копії, включаючи + всі контрольні суми для перевірки її цілісності. + Файл `content` зберігається в кількох копіях, і кожна копія + повинна бути на окремому диску, щоб гарантувати, що навіть у + разі відмови кількох дисків, принаймні одна копія буде доступна. + + Наприклад, припустимо, вас цікавить лише один рівень захисту + парності, а ваші диски розташовані за адресами: + + :/mnt/diskp <- вибраний диск для парності + :/mnt/disk1 <- перший диск для захисту + :/mnt/disk2 <- другий диск для захисту + :/mnt/disk3 <- третій диск для захисту + + Ви повинні створити конфігураційний файл /etc/snapraid.conf з + наступними опціями: + + :parity /mnt/diskp/snapraid.parity + :content /var/snapraid/snapraid.content + :content /mnt/disk1/snapraid.content + :content /mnt/disk2/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + + Якщо ви працюєте в Windows, ви повинні використовувати формат + шляху Windows, з літерами дисків та зворотними скісними рисками + замість прямих. + + :parity E:\snapraid.parity + :content C:\snapraid\snapraid.content + :content F:\array\snapraid.content + :content G:\array\snapraid.content + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + + Якщо у вас багато дисків і закінчилися літери дисків, ви можете + монтувати диски безпосередньо у вкладені папки. Див: + + :https://www.google.com/search?q=Windows+mount+point + + На цьому етапі ви готові запустити команду `sync` для побудови + інформації парності. + + :snapraid sync + + Цей процес може зайняти кілька годин вперше, залежно від розміру + даних, які вже є на дисках. Якщо диски порожні, процес + відбувається миттєво. + + Ви можете зупинити його в будь-який час, натиснувши Ctrl+C, + і під час наступного запуску він відновить роботу з місця, + де був перерваний. + + Коли ця команда завершиться, ваші дані БЕЗПЕЧНІ. + + Тепер ви можете почати використовувати свій масив як вам подобається + і періодично оновлювати інформацію парності, запускаючи команду `sync`. + + Скрабування (Scrubbing) + Щоб періодично перевіряти дані та парність на наявність помилок, + ви можете запустити команду `scrub`. + + :snapraid scrub + + Ця команда порівнює дані у вашому масиві з хешем, обчисленим + під час команди `sync`, для перевірки цілісності. + + Кожен запуск команди перевіряє приблизно 8% масиву, виключаючи + дані, які вже були скрабовані протягом попередніх 10 днів. + Ви можете використовувати опцію -p, --plan, щоб вказати іншу + кількість, і опцію -o, --older-than, щоб вказати інший вік + у днях. + Наприклад, щоб перевірити 5% масиву на блоки старші за 20 днів, + використовуйте: + + :snapraid -p 5 -o 20 scrub + + Якщо під час процесу виявлено приховані помилки або помилки + введення/виведення, відповідні блоки позначаються як погані у + файлі `content` і перераховуються у команді `status`. + + :snapraid status + + Щоб їх виправити, ви можете використовувати команду `fix`, + фільтруючи погані блоки за допомогою опції -e, --filter-error: + + :snapraid -e fix + + Під час наступного `scrub` помилки зникнуть зі звіту `status`, + якщо вони справді виправлені. Щоб зробити це швидше, ви можете + використовувати -p bad, щоб скрабувати лише блоки, позначені + як погані. + + :snapraid -p bad scrub + + Запуск `scrub` на несинхронізованому масиві може повідомити + про помилки, спричинені видаленими або зміненими файлами. + Ці помилки відображаються у виведенні `scrub`, але пов'язані + блоки не позначаються як погані. + + Об'єднання (Pooling) + Примітка: Функція об'єднання, описана нижче, була замінена + інструментом mergefs, який тепер є рекомендованою опцією для + користувачів Linux у спільноті SnapRAID. Mergefs забезпечує + більш гнучкий та ефективний спосіб об'єднання кількох дисків + в єдину уніфіковану точку монтування, дозволяючи безперешкодний + доступ до файлів у вашому масиві без використання символічних + посилань. Він добре інтегрується з SnapRAID для захисту + парності і зазвичай використовується в налаштуваннях, таких + як OpenMediaVault (OMV) або користувацьких конфігураціях NAS. + + Щоб відобразити всі файли у вашому масиві в одному дереві + каталогів, ви можете ввімкнути функцію `pooling` (об'єднання). + Вона створює віртуальне представлення всіх файлів у вашому + масиві лише для читання, використовуючи символічні посилання. + + Ви можете налаштувати каталог `pooling` у конфігураційному + файлі за допомогою: + + :pool /pool + + або, якщо ви працюєте в Windows, за допомогою: + + :pool C:\pool + + а потім запустити команду `pool` для створення або оновлення + віртуального представлення. + + :snapraid pool + + Якщо ви використовуєте платформу Unix і хочете надати спільний + доступ до цього каталогу через мережу для машин Windows або + Unix, ви повинні додати наступні опції до вашого + /etc/samba/smb.conf: + + :# У глобальному розділі smb.conf + :unix extensions = no + + :# У розділі спільного доступу smb.conf + :[pool] + :comment = Pool + :path = /pool + :read only = yes + :guest ok = yes + :wide links = yes + :follow symlinks = yes + + У Windows спільний доступ до символічних посилань через мережу + вимагає від клієнтів віддаленого їх розпізнавання. Щоб + увімкнути це, окрім спільного доступу до каталогу pool, ви + також повинні надати спільний доступ до всіх дисків незалежно, + використовуючи імена дисків, визначені у конфігураційному + файлі, як точки спільного доступу. Ви також повинні вказати у + опції `share` конфігураційного файлу шлях Windows UNC, який + потрібен віддаленим клієнтам для доступу до цих спільних дисків. + + Наприклад, працюючи з сервера з іменем `darkstar`, ви можете + використовувати опції: + + :data d1 F:\array\ + :data d2 G:\array\ + :data d3 H:\array\ + :pool C:\pool + :share \\darkstar + + і надати спільний доступ до наступних каталогів через мережу: + + :\\darkstar\pool -> C:\pool + :\\darkstar\d1 -> F:\array + :\\darkstar\d2 -> G:\array + :\\darkstar\d3 -> H:\array + + щоб дозволити віддаленим клієнтам отримати доступ до всіх файлів + за адресою \\darkstar\pool. + + Вам також може знадобитися налаштувати віддалені клієнти, щоб + увімкнути доступ до віддалених символічних посилань за допомогою + команди: + + :fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + + Відновлення видалених файлів (Undeleting) + SnapRAID функціонує більше як програма резервного копіювання, + ніж система RAID, і його можна використовувати для відновлення + або повернення файлів до їх попереднього стану за допомогою + опції -f, --filter: + + :snapraid fix -f FILE + + або для каталогу: + + :snapraid fix -f DIR/ + + Ви також можете використовувати його для відновлення лише випадково + видалених файлів усередині каталогу за допомогою опції -m, + --filter-missing, яка відновлює лише відсутні файли, + залишаючи всі інші недоторканими. + + :snapraid fix -m -f DIR/ + + Або для відновлення всіх видалених файлів на всіх дисках за допомогою: + + :snapraid fix -m + + Відновлення (Recovering) + Сталося найгірше, і ви втратили один або кілька дисків! + + НЕ ПАНІКУЙТЕ! Ви зможете їх відновити! + + Перше, що ви повинні зробити, це уникнути подальших змін у + вашому дисковому масиві. Вимкніть будь-які віддалені + підключення до нього та будь-які заплановані процеси, + включаючи будь-яку заплановану нічну синхронізацію або + скрабування SnapRAID. + + Потім виконайте наступні кроки. + + КРОК 1 -> Переналаштування + Вам потрібен деякий простір для відновлення, в ідеалі на + додаткових запасних дисках, але зовнішній USB-диск або + віддалений диск підійде. + + Змініть конфігураційний файл SnapRAID, щоб опція `data` або + `parity` диска, що вийшов з ладу, вказувала на місце розташування + з достатньою кількістю вільного місця для відновлення файлів. + + Наприклад, якщо диск `d1` вийшов з ладу, змініть з: + + :data d1 /mnt/disk1/ + + на: + + :data d1 /mnt/new_spare_disk/ + + Якщо диск, який потрібно відновити, є диском парності, оновіть + відповідну опцію `parity`. + Якщо у вас кілька дисків, що вийшли з ладу, оновіть усі їхні + конфігураційні опції. + + КРОК 2 -> Виправлення (Fix) + Запустіть команду fix, зберігаючи журнал у зовнішньому файлі + за допомогою: + + :snapraid -d NAME -l fix.log fix + + Де NAME — це ім'я диска, наприклад `d1` у нашому попередньому + прикладі. + Якщо диск, який потрібно відновити, є диском парності, + використовуйте імена `parity`, `2-parity`, тощо. + Якщо у вас кілька дисків, що вийшли з ладу, використовуйте + кілька опцій -d, щоб вказати їх усі. + + Ця команда займе багато часу. + + Переконайтеся, що у вас є кілька гігабайт вільного місця для + зберігання файлу fix.log. + Запустіть її з диска з достатньою кількістю вільного місця. + + Тепер ви відновили все, що можна відновити. Якщо деякі файли + частково або повністю неможливо відновити, вони будуть перейменовані + з додаванням розширення `.unrecoverable`. + + Ви можете знайти детальний список усіх невідновлюваних блоків + у файлі fix.log, перевіривши всі рядки, що починаються з + `unrecoverable:`. + + Якщо ви не задоволені відновленням, ви можете повторити його + стільки разів, скільки забажаєте. + + Наприклад, якщо ви видалили файли з масиву після останньої + `sync`, це може призвести до того, що деякі файли не будуть + відновлені. + У цьому випадку ви можете повторити `fix`, використовуючи + опцію -i, --import, вказавши, де ці файли знаходяться зараз, + щоб знову включити їх у процес відновлення. + + Якщо ви задоволені відновленням, ви можете продовжити, але + зауважте, що після синхронізації ви більше не зможете повторити + команду `fix`! + + КРОК 3 -> Перевірка (Check) + Як обережну перевірку, ви можете тепер запустити команду + `check`, щоб переконатися, що на відновленому диску все + правильно. + + :snapraid -d NAME -a check + + Де NAME — це ім'я диска, наприклад `d1` у нашому попередньому + прикладі. + + Опції -d та -a вказують SnapRAID перевіряти лише вказаний + диск та ігнорувати всі дані парності. + + Ця команда займе багато часу, але якщо ви не надто обережні, + ви можете її пропустити. + + КРОК 4 -> Синхронізація (Sync) + Запустіть команду `sync`, щоб повторно синхронізувати масив + з новим диском. + + :snapraid sync + + Якщо все відновлено, ця команда виконується миттєво. + +Команди + SnapRAID надає кілька простих команд, які дозволяють: + + * Вивести статус масиву -> `status` + * Керувати дисками -> `smart`, `probe`, `up`, `down` + * Створити резервну копію/знімок -> `sync` + * Періодично перевіряти дані -> `scrub` + * Відновити останню резервну копію/знімок -> `fix`. + + Команди повинні бути написані малими літерами. + + status + Виводить зведення стану дискового масиву. + + Включає інформацію про фрагментацію парності, вік блоків без + перевірки та всі записані приховані помилки, виявлені під + час скрабування. + + Представлена інформація стосується останнього часу, коли ви + запустили `sync`. Пізніші модифікації не враховуються. + + Якщо виявлено погані блоки, перераховуються їхні номери блоків. + Щоб їх виправити, ви можете використовувати команду `fix -e`. + + Також показує графік, що представляє останній час, коли + кожен блок був скрабований або синхронізований. Скрабовані + блоки позначаються символом '*', блоки, синхронізовані, + але ще не скрабовані, - 'o'. + + Нічого не змінюється. + + smart + Виводить звіт SMART усіх дисків у системі. + + Включає оцінку ймовірності відмови протягом наступного року, + дозволяючи вам планувати планову заміну дисків, які + виявляють підозрілі атрибути. + + Ця оцінка ймовірності отримана шляхом кореляції атрибутів + SMART дисків з даними Backblaze, доступними за адресою: + + :https://www.backblaze.com/hard-drive-test-data.html + + Якщо SMART повідомляє, що диск виходить з ладу, для цього + диска виводиться `FAIL` або `PREFAIL`, і SnapRAID повертає + помилку. У цьому випадку настійно рекомендується негайна + заміна диска. + + Інші можливі рядки стану: + logfail - У минулому деякі атрибути були нижчими за + поріг. + logerr - Журнал помилок пристрою містить помилки. + selferr - Журнал самотестування пристрою містить помилки. + + Якщо вказано опцію -v, --verbose, надається глибший + статистичний аналіз. Цей аналіз може допомогти вам вирішити, + чи потрібна вам більша або менша парність. + + Ця команда використовує інструмент `smartctl` і еквівалентна + запуску `smartctl -a` на всіх пристроях. + + Якщо ваші пристрої не виявляються автоматично правильно, ви + можете вказати користувацьку команду, використовуючи опцію + `smartctl` у конфігураційному файлі. + + Нічого не змінюється. + + probe + Виводить стан ЖИВЛЕННЯ всіх дисків у системі. + + `Standby` означає, що диск не обертається. `Active` означає, + що диск обертається. + + Ця команда використовує інструмент `smartctl` і еквівалентна + запуску `smartctl -n standby -i` на всіх пристроях. + + Якщо ваші пристрої не виявляються автоматично правильно, ви + можете вказати користувацьку команду, використовуючи опцію + `smartctl` у конфігураційному файлі. + + Нічого не змінюється. + + up + Розкручує всі диски масиву. + + Ви можете розкрутити лише певні диски, використовуючи + опцію -d, --filter-disk. + + Одночасне розкручування всіх дисків вимагає багато енергії. + Переконайтеся, що ваш блок живлення може це витримати. + + Нічого не змінюється. + + down + Зупиняє всі диски масиву. + + Ця команда використовує інструмент `smartctl` і еквівалентна + запуску `smartctl -s standby,now` на всіх пристроях. + + Ви можете зупинити лише певні диски, використовуючи + опцію -d, --filter-disk. + + Для автоматичної зупинки при помилці ви можете + використовувати опцію -s, --spin-down-on-error з будь-якою + іншою командою, що еквівалентно ручному запуску `down` + при виникненні помилки. + + Нічого не змінюється. + + diff + Виводить список усіх файлів, змінених з моменту останньої + `sync`, для яких необхідно перерахувати дані парності. + + Ця команда не перевіряє дані файлів, а лише часову мітку + файлу, розмір та inode. + + Після перерахування всіх змінених файлів представляється + зведення змін, згруповане за: + equal (рівні) - Файли, незмінені з попереднього стану. + added (додані) - Файли, додані, яких не було раніше. + removed (видалені) - Файли, видалені. + updated (оновлені) - Файли з іншим розміром або часовою + міткою, що означає, що вони були змінені. + moved (переміщені) - Файли, переміщені в інший каталог + на тому ж диску. Вони ідентифікуються за тим же + іменем, розміром, часовою міткою та inode, але іншим + каталогом. + copied (скопійовані) - Файли, скопійовані на тому ж + або іншому диску. Зауважте, що якщо вони справді + переміщені на інший диск, вони також будуть враховані + як `removed`. + Вони ідентифікуються за тим же іменем, розміром + та часовою міткою. Якщо часова мітка з точністю + до долі секунди дорівнює нулю, повний шлях повинен + збігатися, а не лише ім'я. + restored (відновлені) - Файли з іншим inode, але + збігаються ім'я, розмір та часова мітка. Це + зазвичай файли, відновлені після видалення. + + Якщо потрібна `sync`, код повернення процесу дорівнює 2, + замість стандартного 0. Код повернення 1 використовується для + загальної умови помилки. + + Нічого не змінюється. + + sync + Оновлює інформацію парності. Всі змінені файли у дисковому + масиві зчитуються, і відповідні дані парності оновлюються. + + Ви можете зупинити цей процес у будь-який час, натиснувши + Ctrl+C, не втрачаючи вже виконану роботу. + Під час наступного запуску процес `sync` відновить роботу + з місця, де був перерваний. + + Якщо під час процесу виявлено приховані помилки або помилки + введення/виведення, відповідні блоки позначаються як погані. + + Файли ідентифікуються за шляхом та/або inode та перевіряються + за розміром та часовою міткою. + Якщо розмір або часова мітка файлу відрізняються, дані + парності перераховуються для всього файлу. + Якщо файл переміщено або перейменовано на тому ж диску, + зберігаючи той самий inode, парність не перераховується. + Якщо файл переміщено на інший диск, парність перераховується, + але раніше обчислена інформація хешу зберігається. + + Файли `content` та `parity` змінюються за потреби. + Файли в масиві НЕ змінюються. + + scrub + Скрабує масив, перевіряючи на наявність прихованих помилок + або помилок введення/виведення на дисках даних та парності. + + Кожен виклик перевіряє приблизно 8% масиву, виключаючи + дані, які вже були скрабовані протягом останніх 10 днів. + Це означає, що скрабування раз на тиждень забезпечує + перевірку кожного біта даних принаймні раз на три місяці. + + Ви можете визначити інший план скрабування або кількість + за допомогою опції -p, --plan, яка приймає: + bad - Скрабувати блоки, позначені як погані. + new - Скрабувати щойно синхронізовані блоки, які ще не були + скрабовані. + full - Скрабувати все. + 0-100 - Скрабувати вказаний відсоток блоків. + + Якщо ви вказуєте відсоткове значення, ви також можете + використовувати опцію -o, --older-than, щоб визначити, + яким має бути вік блоку. + Найстаріші блоки скрабуються першими, забезпечуючи оптимальну + перевірку. + Якщо ви хочете скрабувати лише щойно синхронізовані блоки, + які ще не були скрабовані, використовуйте опцію `-p new`. + + Щоб отримати деталі статусу скрабування, використовуйте команду + `status`. + + Для будь-якої знайденої прихованої помилки або помилки + введення/виведення відповідні блоки позначаються як погані + у файлі `content`. + Ці погані блоки перераховуються у `status` і можуть бути + виправлені за допомогою `fix -e`. + Після виправлення, під час наступного скрабування, вони будуть + повторно перевірені, і якщо виявиться, що вони виправлені, + позначка "поганий" буде видалена. + Щоб скрабувати лише погані блоки, ви можете використовувати + команду `scrub -p bad`. + + Рекомендується запускати `scrub` лише на синхронізованому + масиві, щоб уникнути повідомлень про помилки, спричинені + несинхронізованими даними. Ці помилки розпізнаються як + не приховані помилки, і блоки не позначаються як погані, + але такі помилки повідомляються у виведенні команди. + + Файл `content` змінюється для оновлення часу останньої перевірки + для кожного блоку та для позначення поганих блоків. + Файли `parity` НЕ змінюються. + Файли в масиві НЕ змінюються. + + fix + Виправляє всі файли та дані парності. + + Усі файли та дані парності порівнюються зі станом знімка, + збереженим під час останньої `sync`. + Якщо знайдено різницю, вона повертається до збереженого знімка. + + УВАГА! Команда `fix` не розрізняє помилки та навмисні + модифікації. Вона безумовно повертає стан файлу до останньої + `sync`. + + Якщо не вказано жодної іншої опції, обробляється весь масив. + Використовуйте опції фільтра, щоб вибрати підмножину файлів + або дисків для роботи. + + Щоб виправити лише блоки, позначені як погані під час `sync` + та `scrub`, використовуйте опцію -e, --filter-error. + На відміну від інших опцій фільтра, ця застосовує виправлення + лише до файлів, які не змінилися з моменту останньої `sync`. + + SnapRAID перейменовує всі файли, які не можуть бути виправлені, + додаючи розширення `.unrecoverable`. + + Перед виправленням сканується весь масив, щоб знайти будь-які + файли, переміщені з моменту останньої `sync`. + Ці файли ідентифікуються за їхньою часовою міткою, ігноруючи + їхнє ім'я та каталог, і використовуються в процесі відновлення, + якщо це необхідно. + Якщо ви перемістили деякі з них за межі масиву, ви можете + використовувати опцію -i, --import, щоб вказати додаткові + каталоги для сканування. + + Файли ідентифікуються лише за шляхом, а не за inode. + + Файл `content` НЕ змінюється. + Файли `parity` змінюються за потреби. + Файли в масиві змінюються за потреби. + + check + Перевіряє всі файли та дані парності. + + Працює як `fix`, але лише імітує відновлення, і жодні зміни + не записуються в масив. + + Ця команда в першу чергу призначена для ручної перевірки, + наприклад, після процесу відновлення або в інших особливих + умовах. Для періодичних та запланованих перевірок використовуйте + `scrub`. + + Якщо ви використовуєте опцію -a, --audit-only, перевіряється + лише хеш файлів, а дані парності ігноруються для швидшого + запуску. + + Файли ідентифікуються лише за шляхом, а не за inode. + + Нічого не змінюється. + + list + Виводить список усіх файлів, що містяться в масиві на момент + останньої `sync`. + + З -v або --verbose також показується час з точністю до + долі секунди. + + Нічого не змінюється. + + dup + Виводить список усіх дублікатів файлів. Два файли вважаються + рівними, якщо їхні хеші збігаються. Дані файлів не + зчитуються; використовуються лише попередньо обчислені хеші. + + Нічого не змінюється. + + pool + Створює або оновлює віртуальне представлення всіх файлів + у вашому дисковому масиві в каталозі `pooling`. + + Файли не копіюються, а пов'язуються за допомогою символічних + посилань. + + Під час оновлення всі існуючі символічні посилання та порожні + підкаталоги видаляються та замінюються новим + представленням масиву. Будь-які інші звичайні файли залишаються + на місці. + + Нічого не змінюється за межами каталогу pool. + + devices + Виводить низькорівневі пристрої, які використовуються масивом. + + Ця команда відображає асоціації пристроїв у масиві і в + основному призначена як інтерфейс для сценаріїв. + + Перші два стовпці — це низькорівневий ідентифікатор пристрою + та шлях. + Наступні два стовпці — це високорівневий ідентифікатор пристрою + та шлях. + Останній стовпець — це ім'я диска в масиві. + + У більшості випадків у вас є один низькорівневий пристрій для + кожного диска в масиві, але в деяких складніших конфігураціях + у вас може бути кілька низькорівневих пристроїв, які використовуються + одним диском у масиві. + + Нічого не змінюється. + + touch + Встановлює довільну часову мітку з точністю до долі секунди + для всіх файлів, у яких вона встановлена на нуль. + + Це покращує здатність SnapRAID розпізнавати переміщені та + скопійовані файли, оскільки робить часову мітку майже + унікальною, зменшуючи можливі дублікати. + + Зокрема, якщо часова мітка з точністю до долі секунди не + дорівнює нулю, переміщений або скопійований файл ідентифікується + як такий, якщо він збігається з іменем, розміром та часовою + міткою. Якщо часова мітка з точністю до долі секунди дорівнює + нулю, він вважається копією, лише якщо повний шлях, розмір та + часова мітка збігаються. + + Часова мітка з точністю до секунди не змінюється, тому + всі дати та час ваших файлів будуть збережені. + + rehash + Планує повторне хешування всього масиву. + + Ця команда змінює тип хешу, що використовується, як правило, + при оновленні з 32-розрядної системи на 64-розрядну, щоб + переключитися з MurmurHash3 на швидший SpookyHash. + + Якщо ви вже використовуєте оптимальний хеш, ця команда + нічого не робить і повідомляє, що жодних дій не потрібно. + + Повторне хешування не виконується негайно, а відбувається + поступово під час `sync` та `scrub`. + + Ви можете перевірити стан повторного хешування за допомогою + `status`. + + Під час повторного хешування SnapRAID зберігає повну + функціональність, за єдиним винятком, що `dup` не може + виявити дублікати файлів, використовуючи інший хеш. + +Опції + SnapRAID надає наступні опції: + + -c, --conf CONFIG + Вибирає конфігураційний файл для використання. Якщо не + вказано, в Unix використовується файл `/usr/local/etc/snapraid.conf`, + якщо він існує, інакше `/etc/snapraid.conf`. + У Windows використовується файл `snapraid.conf` у тому + самому каталозі, що й `snapraid.exe`. + + -f, --filter PATTERN + Фільтрує файли для обробки у `check` та `fix`. + Обробляються лише файли, що відповідають вказаному + шаблону. Цю опцію можна використовувати кілька разів. + Дивіться розділ PATTERN для отримання додаткової + інформації про специфікації шаблонів. + В Unix переконайтеся, що символи глоббінгу взяті + в лапки, якщо вони використовуються. + Цю опцію можна використовувати лише з `check` та `fix`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -d, --filter-disk NAME + Фільтрує диски для обробки у `check`, `fix`, `up` та `down`. + Ви повинні вказати ім'я диска, як визначено у + конфігураційному файлі. + Ви також можете вказати диски парності з іменами: + `parity`, `2-parity`, `3-parity`, тощо, щоб обмежити + операції певним диском парності. + Якщо ви поєднуєте кілька опцій --filter, --filter-disk + та --filter-missing, вибираються лише файли, що + відповідають усім фільтрам. + Цю опцію можна використовувати кілька разів. + Цю опцію можна використовувати лише з `check`, `fix`, + `up` та `down`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -m, --filter-missing + Фільтрує файли для обробки у `check` та `fix`. + Обробляються лише файли, що відсутні або видалені з + масиву. При використанні з `fix` це діє як команда + `undelete` (відновлення видалених файлів). + Якщо ви поєднуєте кілька опцій --filter, --filter-disk + та --filter-missing, вибираються лише файли, що + відповідають усім фільтрам. + Цю опцію можна використовувати лише з `check` та `fix`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -e, --filter-error + Обробляє файли з помилками у `check` та `fix`. + Обробляє лише файли, які мають блоки, позначені + прихованими помилками або помилками введення/виведення + під час `sync` та `scrub`, як зазначено у `status`. + Цю опцію можна використовувати лише з `check` та `fix`. + + -p, --plan PERC|bad|new|full + Вибирає план скрабування. Якщо PERC є числовим + значенням від 0 до 100, воно інтерпретується як відсоток + блоків для скрабування. + Замість відсотка ви можете вказати план: `bad` + скрабує погані блоки, `new` скрабує блоки, які ще не + були скрабовані, і `full` скрабує все. + Цю опцію можна використовувати лише з `scrub`. + + -o, --older-than DAYS + Вибирає найстарішу частину масиву для обробки у `scrub`. + DAYS — це мінімальний вік у днях для блоку, який + повинен бути скрабований; за замовчуванням 10. + Блоки, позначені як погані, завжди скрабуються + незалежно від цієї опції. + Цю опцію можна використовувати лише з `scrub`. + + -a, --audit-only + У `check` перевіряє хеш файлів без перевірки даних + парності. Якщо вас цікавить лише перевірка даних файлів, + ця опція може значно прискорити процес перевірки. + Цю опцію можна використовувати лише з `check`. + + -h, --pre-hash + У `sync` запускає попередню фазу хешування всіх нових + даних для додаткової перевірки перед обчисленням + парності. Зазвичай у `sync` не виконується попереднє + хешування, а нові дані хешуються безпосередньо перед + обчисленням парності, коли вони зчитуються вперше. + Цей процес відбувається, коли система знаходиться під + великим навантаженням, усі диски обертаються та ЦП + зайнятий. Це екстремальна умова для машини, і якщо вона + має приховану апаратну проблему, приховані помилки + можуть залишитися невиявленими, оскільки дані ще не + були хешовані. + Щоб уникнути цього ризику, ви можете ввімкнути режим + `pre-hash`, щоб усі дані були зчитані двічі для + забезпечення їх цілісності. + Ця опція також перевіряє файли, переміщені в межах + масиву, щоб переконатися, що операція переміщення була + успішною, і, якщо необхідно, дозволяє запустити операцію + виправлення перед продовженням. + Цю опцію можна використовувати лише з `sync`. + + -i, --import DIR + Імпортує з вказаного каталогу будь-які файли, видалені + з масиву після останньої `sync`. + Якщо у вас все ще є такі файли, вони можуть бути + використані `check` та `fix` для покращення процесу + відновлення. + Файли зчитуються, включаючи підкаталоги, та + ідентифікуються незалежно від їхнього імені. + Цю опцію можна використовувати лише з `check` та `fix`. + + -s, --spin-down-on-error + При будь-якій помилці зупиняє всі керовані диски перед + завершенням з ненульовим кодом стану. Це запобігає + тому, щоб диски залишалися активними та оберталися + після перерваної операції, допомагаючи уникнути + зайвого нагрівання та споживання електроенергії. + Використовуйте цю опцію, щоб забезпечити безпечну + зупинку дисків, навіть коли команда завершується + помилкою. + + -w, --bw-limit RATE + Застосовує глобальне обмеження пропускної здатності + для всіх дисків. RATE — це кількість байтів на секунду. + Ви можете вказати множник, такий як K, M або G (наприклад, + --bw-limit 1G). + + -A, --stats + Вмикає розширений перегляд стану, який показує + додаткову інформацію. + На екрані відображаються два графіки: + Перший графік показує кількість буферизованих смуг + (stripes) для кожного диска, разом зі шляхом до файлу, + до якого наразі здійснюється доступ на цьому диску. + Зазвичай найповільніший диск не матиме доступного + буфера, що визначає максимально досяжну пропускну + здатність. + Другий графік показує відсоток часу, витраченого на + очікування, за останні 100 секунд. Очікується, що + найповільніший диск спричинить більшу частину часу + очікування, тоді як інші диски повинні мати невеликий + час очікування або зовсім його не мати, оскільки + вони можуть використовувати свої буферизовані смуги. + Цей графік також показує час, витрачений на очікування + обчислення хешу та обчислень RAID. + Усі обчислення виконуються паралельно з операціями + диска. Тому, доки є вимірюваний час очікування + принаймні для одного диска, це вказує на те, що ЦП + достатньо швидкий, щоб справлятися з робочим навантаженням. + + -Z, --force-zero + Форсує небезпечну операцію синхронізації файлу з + нульовим розміром, який раніше був ненульовим. + Якщо SnapRAID виявляє таку умову, він припиняє + продовження, якщо ви не вкажете цю опцію. + Це дозволяє легко виявити, коли після збою системи + деякі доступні файли були обрізані. + Це можлива умова в Linux з файловими системами + ext3/ext4. + Цю опцію можна використовувати лише з `sync`. + + -E, --force-empty + Форсує небезпечну операцію синхронізації диска, на + якому відсутні всі оригінальні файли. + Якщо SnapRAID виявляє, що всі файли, які спочатку + були на диску, відсутні або перезаписані, він + припиняє продовження, якщо ви не вкажете цю опцію. + Це дозволяє легко виявити, коли файлова система + даних не змонтована. + Цю опцію можна використовувати лише з `sync`. + + -U, --force-uuid + Форсує небезпечну операцію синхронізації, перевірки + та виправлення з дисками, які змінили свій UUID. + Якщо SnapRAID виявляє, що деякі диски змінили UUID, + він припиняє продовження, якщо ви не вкажете цю опцію. + Це дозволяє виявити, коли ваші диски змонтовані + в неправильних точках монтування. + Однак, дозволено мати одну зміну UUID з однією парністю + і більше з множинною парністю, оскільки це нормальний + випадок при заміні дисків після відновлення. + Цю опцію можна використовувати лише з `sync`, `check` + або `fix`. + + -D, --force-device + Форсує небезпечну операцію виправлення з недоступними + дисками або з дисками на тому ж фізичному пристрої. + Наприклад, якщо ви втратили два диски даних і маєте + запасний диск для відновлення лише першого, ви можете + ігнорувати другий недоступний диск. + Або, якщо ви хочете відновити диск у вільному місці, + залишеному на вже використовуваному диску, що + використовує той самий фізичний пристрій. + Цю опцію можна використовувати лише з `fix`. + + -N, --force-nocopy + У `sync`, `check` та `fix` вимикає евристику + виявлення копій. Без цієї опції SnapRAID припускає, + що файли з однаковими атрибутами, такими як ім'я, + розмір та часова мітка, є копіями з тими ж даними. + Це дозволяє ідентифікувати скопійовані або + переміщені файли з одного диска на інший і повторно + використовує вже обчислену інформацію хешу для + виявлення прихованих помилок або для відновлення + відсутніх файлів. + У деяких рідкісних випадках ця поведінка може + призвести до хибних спрацьовувань або повільного + процесу через багато перевірок хешу, і ця опція + дозволяє вирішити такі проблеми. + Цю опцію можна використовувати лише з `sync`, `check` + та `fix`. + + -F, --force-full + У `sync` форсує повне переобчислення парності. + Цю опцію можна використовувати, коли ви додаєте + новий рівень парності або якщо ви повернулися до + старого файлу вмісту, використовуючи більш + нові дані парності. + Замість створення парності з нуля, це дозволяє + повторно використовувати хеші, присутні у файлі + вмісту, для перевірки даних та підтримки захисту + даних під час процесу `sync`, використовуючи + існуючі дані парності. + Цю опцію можна використовувати лише з `sync`. + + -R, --force-realloc + У `sync` форсує повне перерозподілення файлів + та перебудову парності. + Цю опцію можна використовувати для повного + перерозподілу всіх файлів, усуваючи фрагментацію, + повторно використовуючи хеші, присутні у файлі + вмісту, для перевірки даних. + Цю опцію можна використовувати лише з `sync`. + УВАГА! Ця опція лише для експертів, і + настійно не рекомендується її використовувати. + Ви НЕ маєте захисту даних під час операції `sync`. + + -l, --log FILE + Записує детальний журнал у вказаний файл. + Якщо ця опція не вказана, несподівані помилки + виводяться на екран, що потенційно призводить до + надмірного виведення у випадку багатьох помилок. + Коли вказано -l, --log, на екран виводяться лише + фатальні помилки, які спричиняють зупинку SnapRAID. + Якщо шлях починається з '>>', файл відкривається + у режимі доповнення. Входження '%D' та '%T' в + імені замінюються датою та часом у форматі YYYYMMDD + та HHMMSS. У пакетних файлах Windows ви повинні + подвоїти символ '%', наприклад, result-%%D.log. + Щоб використовувати '>>', ви повинні взяти ім'я + в лапки, наприклад, `">>result.log"`. + Щоб вивести журнал на стандартний вивід або + стандартну помилку, ви можете використовувати + `">&1"` та `">&2"` відповідно. + Дивіться файл snapraid_log.txt або man-сторінку + для описів тегів журналу. + + -L, --error-limit NUMBER + Встановлює новий ліміт помилок перед зупинкою + виконання. За замовчуванням SnapRAID зупиняється, + якщо зустрічає більше 100 помилок введення/виведення, + що вказує на ймовірну відмову диска. + Ця опція впливає на `sync` та `scrub`, яким + дозволено продовжувати після першого набору + помилок диска, щоб спробувати завершити + свої операції. Однак `check` та `fix` завжди + зупиняються при першій помилці. + + -S, --start BLKSTART + Починає обробку з вказаного номера блоку. + Це може бути корисно для повторної спроби + перевірки або виправлення певних блоків у + випадку пошкодженого диска. + Ця опція в основному для розширеного ручного + відновлення. + + -B, --count BLKCOUNT + Обробляє лише вказану кількість блоків. + Ця опція в основному для розширеного ручного + відновлення. + + -C, --gen-conf CONTENT + Генерує фіктивний конфігураційний файл з існуючого + файлу вмісту. + Конфігураційний файл записується на стандартний + вивід і не перезаписує існуючий. + Цей конфігураційний файл також містить інформацію, + необхідну для реконструкції точок монтування диска + у випадку втрати всієї системи. + + -v, --verbose + Виводить більше інформації на екран. + Якщо вказано один раз, виводить виключені файли + та додаткову статистику. + Ця опція не впливає на файли журналу. + + -q, --quiet + Виводить менше інформації на екран. + Якщо вказано один раз, видаляє індикатор прогресу; + двічі — поточні операції; тричі — інформаційні + повідомлення; чотири рази — повідомлення про + статус. Фатальні помилки завжди виводяться на + екран. Ця опція не впливає на файли журналу. + + -H, --help + Виводить короткий довідковий екран. + + -V, --version + Виводить версію програми. + +Конфігурація + SnapRAID вимагає конфігураційний файл, щоб знати, де + розташований ваш дисковий масив і де зберігати інформацію + парності. + + В Unix використовується файл `/usr/local/etc/snapraid.conf`, + якщо він існує, інакше `/etc/snapraid.conf`. + У Windows використовується файл `snapraid.conf` у тому + самому каталозі, що й `snapraid.exe`. + + Він повинен містити наступні опції (чутливі до регістру): + + parity FILE [,FILE] ... + Визначає файли, які потрібно використовувати для зберігання + інформації парності. Парність забезпечує захист від + відмови одного диска, подібно до RAID5. + + Ви можете вказати кілька файлів, які повинні бути на + різних дисках. Коли файл більше не може зростати, + використовується наступний. + Загальний доступний простір повинен бути принаймні + таким же великим, як найбільший диск даних у масиві. + + Ви можете додати додаткові файли парності пізніше, + але ви не можете їх переупорядковувати або видаляти. + + Збереження дисків парності зарезервованими для парності + забезпечує, що вони не стають фрагментованими, покращуючи + продуктивність. + + У Windows 256 МБ залишається невикористаними на кожному + диску, щоб уникнути попередження про повні диски. + + Ця опція є обов'язковою і може бути використана лише один раз. + + (2,3,4,5,6)-parity FILE [,FILE] ... + Визначає файли, які потрібно використовувати для зберігання + додаткової інформації парності. + + Для кожного вказаного рівня парності вмикається один + додатковий рівень захисту: + + * 2-parity вмикає подвійну парність RAID6. + * 3-parity вмикає потрійну парність. + * 4-parity вмикає четверну парність. + * 5-parity вмикає п'ятерну парність. + * 6-parity вмикає шестерну парність. + + Кожен рівень парності вимагає наявності всіх попередніх + рівнів парності. + + Застосовуються ті самі міркування, що й для опції 'parity'. + + Ці опції є необов'язковими і можуть бути використані лише + один раз. + + z-parity FILE [,FILE] ... + Визначає альтернативний файл та формат для зберігання + потрійної парності. + + Ця опція є альтернативою '3-parity', в першу чергу + призначена для ЦП низького класу, таких як ARM або + AMD Phenom, Athlon та Opteron, які не підтримують + набір інструкцій SSSE3. У таких випадках вона + забезпечує кращу продуктивність. + + Цей формат схожий, але швидший, ніж той, що використовується + ZFS RAIDZ3. Як і ZFS, він не працює далі потрійної парності. + + При використанні '3-parity' ви будете попереджені, + якщо рекомендується використовувати формат 'z-parity' + для покращення продуктивності. + + Можна конвертувати з одного формату в інший, налаштувавши + конфігураційний файл з бажаним файлом z-parity або + 3-parity та використовуючи 'fix' для його відтворення. + + content FILE + Визначає файл, який потрібно використовувати для зберігання + списку та контрольних сум усіх файлів, присутніх у + вашому дисковому масиві. + + Він може бути розміщений на диску, що використовується для + даних, парності або будь-якому іншому доступному диску. + Якщо ви використовуєте диск даних, цей файл автоматично + виключається з процесу `sync`. + + Ця опція є обов'язковою і може бути використана кілька + разів для збереження кількох копій одного і того ж + файлу. + + Ви повинні зберігати принаймні одну копію для кожного + використаного диска парності плюс одну. Використання + додаткових копій не зашкодить. + + data NAME DIR + Визначає ім'я та точку монтування дисків даних у + масиві. NAME використовується для ідентифікації диска + і має бути унікальним. DIR — це точка монтування + диска у файловій системі. + + Ви можете змінювати точку монтування за потреби, + поки ви зберігаєте NAME фіксованим. + + Ви повинні використовувати одну опцію для кожного + диска даних у масиві. + + Ви можете перейменувати диск пізніше, змінивши NAME + безпосередньо у конфігураційному файлі, а потім + запустивши команду 'sync'. У випадку перейменування + асоціація здійснюється за допомогою збереженого + UUID дисків. + + nohidden + Виключає всі приховані файли та каталоги. + В Unix приховані файли — це ті, що починаються з `.`. + У Windows це ті, що мають прихований атрибут. + + exclude/include PATTERN + Визначає шаблони файлів або каталогів для виключення + або включення у процес синхронізації. + Усі шаблони обробляються у вказаному порядку. + + Якщо перший шаблон, який збігається, є `exclude` (виключити), + файл виключається. Якщо він є `include` (включити), + файл включається. + Якщо жоден шаблон не збігається, файл виключається, + якщо останній вказаний шаблон є `include`, або + включається, якщо останній вказаний шаблон є `exclude`. + + Дивіться розділ PATTERN для отримання додаткової + інформації про специфікації шаблонів. + + Цю опцію можна використовувати кілька разів. + + blocksize SIZE_IN_KIBIBYTES + Визначає основний розмір блоку в кібібайтах для парності. + Один кібібайт дорівнює 1024 байтам. + + Розмір блоку за замовчуванням становить 256, що має + працювати для більшості випадків. + + УВАГА! Ця опція лише для експертів, і настійно + не рекомендується змінювати це значення. Щоб змінити + це значення в майбутньому, вам потрібно буде + перестворити всю парність! + + Причина використовувати інший розмір блоку полягає + в тому, якщо у вас є багато невеликих файлів, порядку + мільйонів. + + Для кожного файлу, навіть якщо це лише кілька байтів, + виділяється цілий блок парності, і з багатьма файлами + це може призвести до значного невикористаного місця + парності. Коли ви повністю заповнюєте диск парності, + вам не дозволяється додавати більше файлів на диски + даних. Однак, витрачена парність не накопичується + між дисками даних. Витрачене місце внаслідок великої + кількості файлів на диску даних обмежує лише кількість + даних на цьому диску даних, а не на інших. + + Як наближення, ви можете припустити, що половина + розміру блоку витрачається для кожного файлу. + Наприклад, зі 100 000 файлами та розміром блоку 256 КіБ + ви витратите 12,8 ГБ парності, що може призвести до + того, що на диску даних буде на 12,8 ГБ менше місця. + + Ви можете перевірити кількість витраченого місця на + кожному диску за допомогою `status`. Це кількість + місця, яку ви повинні залишити вільною на дисках даних + або використовувати для файлів, не включених у масив. + Якщо це значення від'ємне, це означає, що ви + наближаєтеся до заповнення парності, і воно + представляє місце, яке ви ще можете витратити. + + Щоб уникнути цієї проблеми, ви можете використовувати + більший розділ для парності. Наприклад, якщо розділ + парності на 12,8 ГБ більший за диски даних, у вас є + достатньо додаткового місця для обробки до 100 000 + файлів на кожному диску даних без будь-якого + витраченого місця. + + Хитрість, щоб отримати більший розділ парності в + Linux, полягає в тому, щоб відформатувати його + командою: + + :mkfs.ext4 -m 0 -T largefile4 DEVICE + + Це призводить до приблизно 1,5% додаткового місця, + приблизно 60 ГБ для диска 4 ТБ, що дозволяє + приблизно 460 000 файлів на кожному диску даних + без будь-якого витраченого місця. + + hashsize SIZE_IN_BYTES + Визначає розмір хешу в байтах для збережених блоків. + + Розмір хешу за замовчуванням становить 16 байтів + (128 біт), що має працювати для більшості випадків. + + УВАГА! Ця опція лише для експертів, і настійно + не рекомендується змінювати це значення. Щоб змінити + це значення в майбутньому, вам потрібно буде + перестворити всю парність! + + Причина використовувати інший розмір хешу полягає + в тому, якщо ваша система має обмежену пам'ять. + Як правило, SnapRAID зазвичай вимагає 1 ГіБ ОЗП + на кожні 16 ТБ даних у масиві. + + Зокрема, для зберігання хешів даних SnapRAID + вимагає приблизно $TS \times (1+HS) / BS$ байтів + ОЗП, де TS — загальний розмір вашого дискового масиву + у байтах, BS — розмір блоку у байтах, а HS — + розмір хешу у байтах. + + Наприклад, з 8 дисками по 4 ТБ, розміром блоку 256 КіБ + (1 КіБ = 1024 байта) та розміром хешу 16, ви отримуєте: + + :RAM = $(8 \times 4 \times 10^{12}) \times (1+16) / (256 \times 2^{10}) = 1.93$ ГіБ + + Перехід до розміру хешу 8, ви отримуєте: + + :RAM = $(8 \times 4 \times 10^{12}) \times (1+8) / (256 \times 2^{10}) = 1.02$ ГіБ + + Перехід до розміру блоку 512, ви отримуєте: + + :RAM = $(8 \times 4 \times 10^{12}) \times (1+16) / (512 \times 2^{10}) = 0.96$ ГіБ + + Перехід до розміру хешу 8 та розміру блоку 512, ви отримуєте: + + :RAM = $(8 \times 4 \times 10^{12}) \times (1+8) / (512 \times 2^{10}) = 0.51$ ГіБ + + autosave SIZE_IN_GIGABYTES + Автоматично зберігає стан під час синхронізації або + скрабування після обробки вказаної кількості ГБ. + Ця опція корисна, щоб уникнути перезапуску довгих + команд `sync` з нуля, якщо вони були перервані + збоєм машини або будь-якою іншою подією. + + temp_limit TEMPERATURE_CELSIUS + Встановлює максимальну дозволену температуру диска + в Цельсіях. Якщо вказано, SnapRAID періодично перевіряє + температуру всіх дисків за допомогою інструменту + smartctl. Поточні температури дисків відображаються + під час роботи SnapRAID. Якщо будь-який диск перевищує + цей ліміт, усі операції зупиняються, і диски + зупиняються (переходять у режим очікування) на час, + визначений опцією `temp_sleep`. Після періоду + очікування операції відновлюються, потенційно + знову призупиняючись, якщо ліміт температури знову + досягнутий. + + Під час роботи SnapRAID також аналізує криву + нагрівання кожного диска та оцінює довгострокову + стабільну температуру, якої вони, як очікується, + досягнуть, якщо активність продовжиться. + Оцінка виконується лише після того, як температура + диска підвищилася чотири рази, що гарантує наявність + достатньої кількості даних для встановлення + надійного тренду. Ця прогнозована стабільна + температура відображається в дужках поруч із + поточним значенням і допомагає оцінити, чи + достатнє охолодження системи. Ця оцінювана + температура є лише інформаційною і не впливає на + поведінку SnapRAID. Дії програми базуються + виключно на фактично виміряних температурах + дисків. + + Для виконання цього аналізу SnapRAID потрібна + довідкова інформація про температуру системи. + Спочатку він намагається зчитати її з доступних + апаратних датчиків. Якщо до системного датчика + неможливо отримати доступ, він використовує + найнижчу температуру диска, виміряну на початку + запуску, як резервну довідкову інформацію. + + Зазвичай SnapRAID показує лише температуру + найгарячішого диска. Щоб відобразити температуру + всіх дисків, використовуйте опцію -A або --stats. + + temp_sleep TIME_IN_MINUTES + Встановлює час очікування, у хвилинах, коли + досягнуто ліміту температури. Протягом цього + періоду диски залишаються зупиненими. + За замовчуванням 5 хвилин. + + pool DIR + Визначає каталог об'єднання, де створюється + віртуальне представлення дискового масиву за + допомогою команди `pool`. + + Каталог повинен вже існувати. + + share UNC_DIR + Визначає шлях Windows UNC, необхідний для + віддаленого доступу до дисків. + + Якщо ця опція вказана, символічні посилання, + створені в каталозі pool, використовують цей + шлях UNC для доступу до дисків. + Без цієї опції згенеровані символічні посилання + використовують лише локальні шляхи, що не + дозволяє спільно використовувати каталог pool + через мережу. + + Символічні посилання формуються за допомогою + вказаного шляху UNC, додаючи ім'я диска, як + зазначено в опції `data`, і, нарешті, + додаючи каталог та ім'я файлу. + + Ця опція потрібна лише для Windows. + + smartctl DISK/PARITY OPTIONS... + Визначає користувацькі опції smartctl для + отримання атрибутів SMART для кожного диска. + Це може знадобитися для RAID-контролерів та + деяких USB-дисків, які не можуть бути + автоматично виявлені. Заповнювач %s + замінюється іменем пристрою, але він + необов'язковий для фіксованих пристроїв, + таких як RAID-контролери. + + DISK — це те саме ім'я диска, вказане в опції `data`. + PARITY — це одне з імен парності: `parity`, + `2-parity`, `3-parity`, `4-parity`, `5-parity`, + `6-parity` або `z-parity`. + + У вказаних OPTIONS рядок `%s` замінюється + іменем пристрою. Для RAID-контролерів пристрій + ймовірно фіксований, і вам може не знадобитися + використовувати `%s`. + + Зверніться до документації smartmontools + для можливих опцій: + + :https://www.smartmontools.org/wiki/Supported_RAID-Controllers + :https://www.smartmontools.org/wiki/Supported_USB-Devices + + Наприклад: + + :smartctl parity -d sat %s + + smartignore DISK/PARITY ATTR [ATTR...] + Ігнорує вказаний атрибут SMART при обчисленні + ймовірності відмови диска. Ця опція корисна, + якщо диск повідомляє незвичайні або + оманливі значення для певного атрибута. + + DISK — це те саме ім'я диска, вказане в опції `data`. + PARITY — це одне з імен парності: `parity`, + `2-parity`, `3-parity`, `4-parity`, `5-parity`, + `6-parity` або `z-parity`. + Спеціальне значення * можна використовувати + для ігнорування атрибута на всіх дисках. + + Наприклад, щоб ігнорувати атрибут `Current Pending Sector Count` + на всіх дисках: + + :smartignore * 197 + + Щоб ігнорувати його лише на першому диску парності: + + :smartignore parity 197 + + Приклади + Приклад типової конфігурації для Unix: + + :parity /mnt/diskp/snapraid.parity + :content /mnt/diskp/snapraid.content + :content /var/snapraid/snapraid.content + :data d1 /mnt/disk1/ + :data d2 /mnt/disk2/ + :data d3 /mnt/disk3/ + :exclude /lost+found/ + :exclude /tmp/ + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/sg0 + :smartctl 2-parity -d areca,2/1 /dev/sg0 + + Приклад типової конфігурації для Windows: + + :parity E:\snapraid.parity + :content E:\snapraid.content + :content C:\snapraid\snapraid.content + :data d1 G:\array\ + :data d2 H:\array\ + :data d3 I:\array\ + :exclude Thumbs.db + :exclude \$RECYCLE.BIN + :exclude \System Volume Information + :smartctl d1 -d sat %s + :smartctl d2 -d usbjmicron %s + :smartctl parity -d areca,1/1 /dev/arcmsr0 + :smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + +Шаблон (Pattern) + Шаблони використовуються для вибору підмножини файлів + для виключення або включення в процес. + + Існує чотири різні типи шаблонів: + + =FILE + Вибирає будь-який файл з іменем FILE. Ви можете + використовувати будь-які символи глоббінгу, + такі як * та ?, та класи символів, такі як [a-z]. + Цей шаблон застосовується лише до файлів, а не + до каталогів. + + =DIR/ + Вибирає будь-який каталог з іменем DIR та все + всередині. Ви можете використовувати будь-які + символи глоббінгу, такі як * та ?. + Цей шаблон застосовується лише до каталогів, + а не до файлів. + + =/PATH/FILE + Вибирає точно вказаний шлях до файлу. Ви можете + використовувати будь-які символи глоббінгу, такі + як * та ?, але вони ніколи не збігаються з + похилою рискою каталогу. + Цей шаблон застосовується лише до файлів, + а не до каталогів. + + =/PATH/DIR/ + Вибирає точно вказаний шлях до каталогу та все + всередині. Ви можете використовувати будь-які + символи глоббінгу, такі як * та ?, але вони + ніколи не збігаються з похилою рискою каталогу. + Цей шаблон застосовується лише до каталогів, + а не до файлів. + + Коли ви вказуєте абсолютний шлях, що починається + з /, він застосовується до кореневого каталогу + масиву, а не до кореневого каталогу локальної + файлової системи. + + У Windows ви можете використовувати зворотну + скісну риску \ замість прямої скісної риски /. + Системні каталоги Windows, з'єднання, точки + монтування та інші спеціальні каталоги Windows + розглядаються як файли, що означає, що для + їх виключення ви повинні використовувати правило + файлу, а не правило каталогу. + + Якщо ім'я файлу містить символи '*', '?', '[', + або ']', ви повинні екранувати їх, щоб уникнути + їх інтерпретації як символу глоббінгу. + В Unix символом екранування є '\'; у Windows — '^'. + Коли шаблон знаходиться в командному рядку, + ви повинні подвоїти символ екранування, щоб + запобігти його інтерпретації командною оболонкою. + + У конфігураційному файлі ви можете використовувати + різні стратегії для фільтрації файлів, які потрібно + обробити. + Найпростіший підхід — використовувати лише + правила `exclude` для видалення всіх файлів та + каталогів, які ви не хочете обробляти. + Наприклад: + + :# Виключає будь-який файл з іменем `*.unrecoverable` + :exclude *.unrecoverable + :# Виключає кореневий каталог `/lost+found` + :exclude /lost+found/ + :# Виключає будь-який підкаталог з іменем `tmp` + :exclude tmp/ + + Протилежний підхід — визначити лише файли, + які ви хочете обробити, використовуючи лише + правила `include`. Наприклад: + + :# Включає лише деякі каталоги + :include /movies/ + :include /musics/ + :include /pictures/ + + Останній підхід — змішувати правила `exclude` + та `include`. У цьому випадку порядок правил + важливий. Раніші правила мають пріоритет + над пізнішими. + Для спрощення ви можете спочатку перерахувати + всі правила `exclude`, а потім усі правила `include`. + Наприклад: + + :# Виключає будь-який файл з іменем `*.unrecoverable` + :exclude *.unrecoverable + :# Виключає будь-який підкаталог з іменем `tmp` + :exclude tmp/ + :# Включає лише деякі каталоги + :include /movies/ + :include /musics/ + :include /pictures/ + + У командному рядку, використовуючи опцію -f, + ви можете використовувати лише шаблони `include`. + Наприклад: + + :# Перевіряє лише файли .mp3. + :# В Unix використовуйте лапки, щоб уникнути + :# розширення глоббінгу оболонкою. + :snapraid -f "*.mp3" check + + В Unix, при використанні символів глоббінгу в + командному рядку, ви повинні взяти їх у лапки, + щоб запобігти їх розширенню оболонкою. + +Вміст (Content) + SnapRAID зберігає список та контрольні суми + ваших файлів у файлі вмісту. + + Це бінарний файл, який перераховує всі файли, + присутні у вашому дисковому масиві, разом з + усіма контрольними сумами для перевірки їх + цілісності. + + Цей файл зчитується та записується командами + `sync` та `scrub` та зчитується командами `fix`, + `check` та `status`. + +Парність (Parity) + SnapRAID зберігає інформацію парності вашого + масиву у файлах парності. + + Це бінарні файли, що містять обчислену + парність усіх блоків, визначених у файлі + `content`. + + Ці файли зчитуються та записуються командами + `sync` та `fix` і лише зчитуються командами + `scrub` та `check`. + +Кодування (Encoding) + SnapRAID в Unix ігнорує будь-яке кодування. + Він зчитує та зберігає імена файлів з + тим самим кодуванням, що використовується + файловою системою. + + У Windows усі імена, зчитані з файлової + системи, конвертуються та обробляються + у форматі UTF-8. + + Щоб імена файлів відображалися правильно, + ви повинні встановити консоль Windows + у режим UTF-8 за допомогою команди + `chcp 65001` та використовувати шрифт + TrueType, такий як `Lucida Console`, як + шрифт консолі. + Це впливає лише на надруковані імена + файлів; якщо ви перенаправляєте вивід + консолі у файл, отриманий файл завжди + буде у форматі UTF-8. + +Авторське право (Copyright) + Цей файл захищений авторським правом (C) 2025 Andrea Mazzoleni + +Див. також (See Also) + snapraid_log(1), rsync(1) diff --git a/snapraid-uk.txt b/snapraid-uk.txt new file mode 100644 index 00000000..e4f4a6eb --- /dev/null +++ b/snapraid-uk.txt @@ -0,0 +1,1770 @@ + ================================================= + SnapRAID Резервне копіювання для дискових масивів + ================================================= + + +1 Короткий опис +=============== + +snapraid [-c, --conf CONFIG] + [-f, --filter PATTERN] [-d, --filter-disk NAME] + [-m, --filter-missing] [-e, --filter-error] + [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR] + [-p, --plan PERC|bad|new|full] + [-o, --older-than DAYS] [-l, --log FILE] + [-s, --spin-down-on-error] [-w, --bw-limit RATE] + [-Z, --force-zero] [-E, --force-empty] + [-U, --force-uuid] [-D, --force-device] + [-N, --force-nocopy] [-F, --force-full] + [-R, --force-realloc] + [-S, --start BLKSTART] [-B, --count BLKCOUNT] + [-L, --error-limit NUMBER] + [-A, --stats] + [-v, --verbose] [-q, --quiet] + status|smart|probe|up|down|diff|sync|scrub|fix|check + |list|dup|pool|devices|touch|rehash + +snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT] + + +2 Опис +====== + +SnapRAID — це програма резервного копіювання, розроблена для +дискових масивів, яка зберігає інформацію парності для +відновлення даних у випадку відмови до шести дисків. + +В першу чергу призначена для домашніх медіацентрів з великими +файлами, що рідко змінюються, SnapRAID пропонує кілька функцій: + +* Ви можете використовувати диски, вже заповнені файлами, без + необхідності їх переформатування, отримуючи доступ до них + як зазвичай. +* Усі ваші дані хешуються для забезпечення цілісності даних + та запобігання прихованому пошкодженню. +* Коли кількість дисків, що відмовили, перевищує кількість + дисків парності, втрата даних обмежується дисками, що + постраждали; дані на інших дисках залишаються доступними. +* Якщо ви випадково видалили файли на диску, можливе + відновлення. +* Диски можуть мати різний розмір. +* Ви можете додавати диски в будь-який час. +* SnapRAID не блокує ваші дані; ви можете припинити його + використання в будь-який час без переформатування або + переміщення даних. +* Для доступу до файлу потрібно розкрутити лише один диск, що + заощаджує електроенергію та зменшує шум. + +Для отримання додаткової інформації відвідайте офіційний сайт +SnapRAID: + + https://www.snapraid.it/ + + +3 Обмеження +=========== + +SnapRAID є гібридом між RAID та програмою резервного копіювання, +прагнучи поєднати найкращі переваги обох. Однак, він має деякі +обмеження, які слід врахувати перед його використанням. + +Основне обмеження полягає в тому, що якщо диск виходить з ладу, +а ви нещодавно не виконували синхронізацію, ви можете не +змогти повністю відновити дані. +Конкретніше, ви можете втратити можливість відновлення даних +обсягом до розміру змінених або видалених файлів з моменту +останньої операції синхронізації. +Це відбувається, навіть якщо змінені або видалені файли не +знаходяться на диску, що вийшов з ладу. Ось чому SnapRAID +краще підходить для даних, які рідко змінюються. + +З іншого боку, щойно додані файли не перешкоджають відновленню +вже існуючих файлів. Ви втратите лише нещодавно додані файли, +якщо вони знаходяться на диску, що вийшов з ладу. + +Інші обмеження SnapRAID: + +* З SnapRAID у вас все ще є окремі файлові системи для + кожного диска. З RAID ви отримуєте одну велику файлову + систему. +* SnapRAID не використовує чергування (striping) даних. + З RAID ви отримуєте прискорення завдяки чергуванню. +* SnapRAID не підтримує відновлення в реальному часі. + З RAID вам не потрібно припиняти роботу, коли диск + виходить з ладу. +* SnapRAID може відновлювати дані лише з обмеженої кількості + дисків, що вийшли з ладу. З резервним копіюванням ви + можете відновити дані навіть після повної відмови + всього дискового масиву. +* Зберігаються лише імена файлів, часові мітки, символічні + та жорсткі посилання. Права доступу, власність та + розширені атрибути не зберігаються. + + +4 Початок роботи +================ + +Щоб використовувати SnapRAID, спершу потрібно вибрати один диск +у вашому дисковому масиві, щоб присвятити його інформації +`парності`. З одним диском для парності ви зможете відновити +дані після відмови одного диска, подібно до RAID5. + +Якщо ви хочете відновити дані після більшої кількості +дисків, що відмовили, подібно до RAID6, ви повинні зарезервувати +додаткові диски для парності. Кожен додатковий диск парності +дозволяє відновити дані після відмови ще одного диска. + +Як диски парності ви повинні вибрати найбільші диски в масиві, +оскільки інформація парності може зрости до розміру найбільшого +диска даних у масиві. + +Ці диски будуть присвячені зберіганню файлів `парності`. Ви +не повинні зберігати на них свої дані. + +Потім ви повинні визначити диски `даних`, які ви хочете +захистити за допомогою SnapRAID. Захист є більш ефективним, +якщо ці диски містять дані, що рідко змінюються. З цієї причини +краще НЕ включати диск Windows C:\ або каталоги Unix /home, +/var та /tmp. + +Список файлів зберігається у файлах `content` (вміст), які +зазвичай зберігаються на дисках даних, парності або завантажувальних +дисках. +Цей файл містить деталі вашої резервної копії, включаючи +всі контрольні суми для перевірки її цілісності. +Файл `content` зберігається в кількох копіях, і кожна копія +повинна бути на окремому диску, щоб гарантувати, що навіть у +разі відмови кількох дисків, принаймні одна копія буде доступна. + +Наприклад, припустимо, вас цікавить лише один рівень захисту +парності, а ваші диски розташовані за адресами: + + /mnt/diskp <- вибраний диск для парності + /mnt/disk1 <- перший диск для захисту + /mnt/disk2 <- другий диск для захисту + /mnt/disk3 <- третій диск для захисту + +Ви повинні створити конфігураційний файл /etc/snapraid.conf з +наступними опціями: + + parity /mnt/diskp/snapraid.parity + content /var/snapraid/snapraid.content + content /mnt/disk1/snapraid.content + content /mnt/disk2/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + +Якщо ви працюєте в Windows, ви повинні використовувати формат +шляху Windows, з літерами дисків та зворотними скісними рисками +замість прямих. + + parity E:\snapraid.parity + content C:\snapraid\snapraid.content + content F:\array\snapraid.content + content G:\array\snapraid.content + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + +Якщо у вас багато дисків і закінчилися літери дисків, ви можете +монтувати диски безпосередньо у вкладені папки. Див: + + https://www.google.com/search?q=Windows+mount+point + +На цьому етапі ви готові запустити команду `sync` для побудови +інформації парності. + + snapraid sync + +Цей процес може зайняти кілька годин вперше, залежно від розміру +даних, які вже є на дисках. Якщо диски порожні, процес +відбувається миттєво. + +Ви можете зупинити його в будь-який час, натиснувши Ctrl+C, +і під час наступного запуску він відновить роботу з місця, +де був перерваний. + +Коли ця команда завершиться, ваші дані БЕЗПЕЧНІ. + +Тепер ви можете почати використовувати свій масив як вам подобається +і періодично оновлювати інформацію парності, запускаючи команду `sync`. + +4.1 Скрабування (Scrubbing) +--------------------------- + +Щоб періодично перевіряти дані та парність на наявність помилок, +ви можете запустити команду `scrub`. + + snapraid scrub + +Ця команда порівнює дані у вашому масиві з хешем, обчисленим +під час команди `sync`, для перевірки цілісності. + +Кожен запуск команди перевіряє приблизно 8% масиву, виключаючи +дані, які вже були скрабовані протягом попередніх 10 днів. +Ви можете використовувати опцію -p, --plan, щоб вказати іншу +кількість, і опцію -o, --older-than, щоб вказати інший вік +у днях. +Наприклад, щоб перевірити 5% масиву на блоки старші за 20 днів, +використовуйте: + + snapraid -p 5 -o 20 scrub + +Якщо під час процесу виявлено приховані помилки або помилки +введення/виведення, відповідні блоки позначаються як погані у +файлі `content` і перераховуються у команді `status`. + + snapraid status + +Щоб їх виправити, ви можете використовувати команду `fix`, +фільтруючи погані блоки за допомогою опції -e, --filter-error: + + snapraid -e fix + +Під час наступного `scrub` помилки зникнуть зі звіту `status`, +якщо вони справді виправлені. Щоб зробити це швидше, ви можете +використовувати -p bad, щоб скрабувати лише блоки, позначені +як погані. + + snapraid -p bad scrub + +Запуск `scrub` на несинхронізованому масиві може повідомити +про помилки, спричинені видаленими або зміненими файлами. +Ці помилки відображаються у виведенні `scrub`, але пов'язані +блоки не позначаються як погані. + +4.2 Об'єднання (Pooling) +------------------------ + +Примітка: Функція об'єднання, описана нижче, була замінена +інструментом mergefs, який тепер є рекомендованою опцією для +користувачів Linux у спільноті SnapRAID. Mergefs забезпечує +більш гнучкий та ефективний спосіб об'єднання кількох дисків +в єдину уніфіковану точку монтування, дозволяючи безперешкодний +доступ до файлів у вашому масиві без використання символічних +посилань. Він добре інтегрується з SnapRAID для захисту +парності і зазвичай використовується в налаштуваннях, таких +як OpenMediaVault (OMV) або користувацьких конфігураціях NAS. + +Щоб відобразити всі файли у вашому масиві в одному дереві +каталогів, ви можете ввімкнути функцію `pooling` (об'єднання). +Вона створює віртуальне представлення всіх файлів у вашому +масиві лише для читання, використовуючи символічні посилання. + +Ви можете налаштувати каталог `pooling` у конфігураційному +файлі за допомогою: + + pool /pool + +або, якщо ви працюєте в Windows, за допомогою: + + pool C:\pool + +а потім запустити команду `pool` для створення або оновлення +віртуального представлення. + + snapraid pool + +Якщо ви використовуєте платформу Unix і хочете надати спільний +доступ до цього каталогу через мережу для машин Windows або +Unix, ви повинні додати наступні опції до вашого +/etc/samba/smb.conf: + + # У глобальному розділі smb.conf + unix extensions = no + + # У розділі спільного доступу smb.conf + [pool] + comment = Pool + path = /pool + read only = yes + guest ok = yes + wide links = yes + follow symlinks = yes + +У Windows спільний доступ до символічних посилань через мережу +вимагає від клієнтів віддаленого їх розпізнавання. Щоб +увімкнути це, окрім спільного доступу до каталогу pool, ви +також повинні надати спільний доступ до всіх дисків незалежно, +використовуючи імена дисків, визначені у конфігураційному +файлі, як точки спільного доступу. Ви також повинні вказати у +опції `share` конфігураційного файлу шлях Windows UNC, який +потрібен віддаленим клієнтам для доступу до цих спільних дисків. + +Наприклад, працюючи з сервера з іменем `darkstar`, ви можете +використовувати опції: + + data d1 F:\array\ + data d2 G:\array\ + data d3 H:\array\ + pool C:\pool + share \\darkstar + +і надати спільний доступ до наступних каталогів через мережу: + + \\darkstar\pool -> C:\pool + \\darkstar\d1 -> F:\array + \\darkstar\d2 -> G:\array + \\darkstar\d3 -> H:\array + +щоб дозволити віддаленим клієнтам отримати доступ до всіх файлів +за адресою \\darkstar\pool. + +Вам також може знадобитися налаштувати віддалені клієнти, щоб +увімкнути доступ до віддалених символічних посилань за допомогою +команди: + + fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 + +4.3 Відновлення видалених файлів (Undeleting) +--------------------------------------------- + +SnapRAID функціонує більше як програма резервного копіювання, +ніж система RAID, і його можна використовувати для відновлення +або повернення файлів до їх попереднього стану за допомогою +опції -f, --filter: + + snapraid fix -f FILE + +або для каталогу: + + snapraid fix -f DIR/ + +Ви також можете використовувати його для відновлення лише випадково +видалених файлів усередині каталогу за допомогою опції -m, +--filter-missing, яка відновлює лише відсутні файли, +залишаючи всі інші недоторканими. + + snapraid fix -m -f DIR/ + +Або для відновлення всіх видалених файлів на всіх дисках за допомогою: + + snapraid fix -m + +4.4 Відновлення (Recovering) +---------------------------- + +Сталося найгірше, і ви втратили один або кілька дисків! + +НЕ ПАНІКУЙТЕ! Ви зможете їх відновити! + +Перше, що ви повинні зробити, це уникнути подальших змін у +вашому дисковому масиві. Вимкніть будь-які віддалені +підключення до нього та будь-які заплановані процеси, +включаючи будь-яку заплановану нічну синхронізацію або +скрабування SnapRAID. + +Потім виконайте наступні кроки. + +---- 4.4.1 КРОК 1 -> Переналаштування ---- +Вам потрібен деякий простір для відновлення, в ідеалі на +додаткових запасних дисках, але зовнішній USB-диск або +віддалений диск підійде. + +Змініть конфігураційний файл SnapRAID, щоб опція `data` або +`parity` диска, що вийшов з ладу, вказувала на місце розташування +з достатньою кількістю вільного місця для відновлення файлів. + +Наприклад, якщо диск `d1` вийшов з ладу, змініть з: + + data d1 /mnt/disk1/ + +на: + + data d1 /mnt/new_spare_disk/ + +Якщо диск, який потрібно відновити, є диском парності, оновіть +відповідну опцію `parity`. +Якщо у вас кілька дисків, що вийшли з ладу, оновіть усі їхні +конфігураційні опції. + +---- 4.4.2 КРОК 2 -> Виправлення (Fix) ---- +Запустіть команду fix, зберігаючи журнал у зовнішньому файлі +за допомогою: + + snapraid -d NAME -l fix.log fix + +Де NAME — це ім'я диска, наприклад `d1` у нашому попередньому +прикладі. +Якщо диск, який потрібно відновити, є диском парності, +використовуйте імена `parity`, `2-parity`, тощо. +Якщо у вас кілька дисків, що вийшли з ладу, використовуйте +кілька опцій -d, щоб вказати їх усі. + +Ця команда займе багато часу. + +Переконайтеся, що у вас є кілька гігабайт вільного місця для +зберігання файлу fix.log. +Запустіть її з диска з достатньою кількістю вільного місця. + +Тепер ви відновили все, що можна відновити. Якщо деякі файли +частково або повністю неможливо відновити, вони будуть перейменовані +з додаванням розширення `.unrecoverable`. + +Ви можете знайти детальний список усіх невідновлюваних блоків +у файлі fix.log, перевіривши всі рядки, що починаються з +`unrecoverable:`. + +Якщо ви не задоволені відновленням, ви можете повторити його +стільки разів, скільки забажаєте. + +Наприклад, якщо ви видалили файли з масиву після останньої +`sync`, це може призвести до того, що деякі файли не будуть +відновлені. +У цьому випадку ви можете повторити `fix`, використовуючи +опцію -i, --import, вказавши, де ці файли знаходяться зараз, +щоб знову включити їх у процес відновлення. + +Якщо ви задоволені відновленням, ви можете продовжити, але +зауважте, що після синхронізації ви більше не зможете повторити +команду `fix`! + +---- 4.4.3 КРОК 3 -> Перевірка (Check) ---- +Як обережну перевірку, ви можете тепер запустити команду +`check`, щоб переконатися, що на відновленому диску все +правильно. + + snapraid -d NAME -a check + +Де NAME — це ім'я диска, наприклад `d1` у нашому попередньому +прикладі. + +Опції -d та -a вказують SnapRAID перевіряти лише вказаний +диск та ігнорувати всі дані парності. + +Ця команда займе багато часу, але якщо ви не надто обережні, +ви можете її пропустити. + +---- 4.4.4 КРОК 4 -> Синхронізація (Sync) ---- +Запустіть команду `sync`, щоб повторно синхронізувати масив +з новим диском. + + snapraid sync + +Якщо все відновлено, ця команда виконується миттєво. + + +5 Команди +========= + +SnapRAID надає кілька простих команд, які дозволяють: + +* Вивести статус масиву -> `status` +* Керувати дисками -> `smart`, `probe`, `up`, `down` +* Створити резервну копію/знімок -> `sync` +* Періодично перевіряти дані -> `scrub` +* Відновити останню резервну копію/знімок -> `fix`. + +Команди повинні бути написані малими літерами. + +5.1 status +---------- + +Виводить зведення стану дискового масиву. + +Включає інформацію про фрагментацію парності, вік блоків без +перевірки та всі записані приховані помилки, виявлені під +час скрабування. + +Представлена інформація стосується останнього часу, коли ви +запустили `sync`. Пізніші модифікації не враховуються. + +Якщо виявлено погані блоки, перераховуються їхні номери блоків. +Щоб їх виправити, ви можете використовувати команду `fix -e`. + +Також показує графік, що представляє останній час, коли +кожен блок був скрабований або синхронізований. Скрабовані +блоки позначаються символом '*', блоки, синхронізовані, +але ще не скрабовані, - 'o'. + +Нічого не змінюється. + +5.2 smart +--------- + +Виводить звіт SMART усіх дисків у системі. + +Включає оцінку ймовірності відмови протягом наступного року, +дозволяючи вам планувати планову заміну дисків, які +виявляють підозрілі атрибути. + +Ця оцінка ймовірності отримана шляхом кореляції атрибутів +SMART дисків з даними Backblaze, доступними за адресою: + + https://www.backblaze.com/hard-drive-test-data.html + +Якщо SMART повідомляє, що диск виходить з ладу, для цього +диска виводиться `FAIL` або `PREFAIL`, і SnapRAID повертає +помилку. У цьому випадку настійно рекомендується негайна +заміна диска. + +Інші можливі рядки стану: + logfail - У минулому деякі атрибути були нижчими за + поріг. + logerr - Журнал помилок пристрою містить помилки. + selferr - Журнал самотестування пристрою містить помилки. + +Якщо вказано опцію -v, --verbose, надається глибший +статистичний аналіз. Цей аналіз може допомогти вам вирішити, +чи потрібна вам більша або менша парність. + +Ця команда використовує інструмент `smartctl` і еквівалентна +запуску `smartctl -a` на всіх пристроях. + +Якщо ваші пристрої не виявляються автоматично правильно, ви +можете вказати користувацьку команду, використовуючи опцію +`smartctl` у конфігураційному файлі. + +Нічого не змінюється. + +5.3 probe +--------- + +Виводить стан ЖИВЛЕННЯ всіх дисків у системі. + +`Standby` означає, що диск не обертається. `Active` означає, +що диск обертається. + +Ця команда використовує інструмент `smartctl` і еквівалентна +запуску `smartctl -n standby -i` на всіх пристроях. + +Якщо ваші пристрої не виявляються автоматично правильно, ви +можете вказати користувацьку команду, використовуючи опцію +`smartctl` у конфігураційному файлі. + +Нічого не змінюється. + +5.4 up +------ + +Розкручує всі диски масиву. + +Ви можете розкрутити лише певні диски, використовуючи +опцію -d, --filter-disk. + +Одночасне розкручування всіх дисків вимагає багато енергії. +Переконайтеся, що ваш блок живлення може це витримати. + +Нічого не змінюється. + +5.5 down +-------- + +Зупиняє всі диски масиву. + +Ця команда використовує інструмент `smartctl` і еквівалентна +запуску `smartctl -s standby,now` на всіх пристроях. + +Ви можете зупинити лише певні диски, використовуючи +опцію -d, --filter-disk. + +Для автоматичної зупинки при помилці ви можете +використовувати опцію -s, --spin-down-on-error з будь-якою +іншою командою, що еквівалентно ручному запуску `down` +при виникненні помилки. + +Нічого не змінюється. + +5.6 diff +-------- + +Виводить список усіх файлів, змінених з моменту останньої +`sync`, для яких необхідно перерахувати дані парності. + +Ця команда не перевіряє дані файлів, а лише часову мітку +файлу, розмір та inode. + +Після перерахування всіх змінених файлів представляється +зведення змін, згруповане за: + equal (рівні) - Файли, незмінені з попереднього стану. + added (додані) - Файли, додані, яких не було раніше. + removed (видалені) - Файли, видалені. + updated (оновлені) - Файли з іншим розміром або часовою + міткою, що означає, що вони були змінені. + moved (переміщені) - Файли, переміщені в інший каталог + на тому ж диску. Вони ідентифікуються за тим же + іменем, розміром, часовою міткою та inode, але іншим + каталогом. + copied (скопійовані) - Файли, скопійовані на тому ж + або іншому диску. Зауважте, що якщо вони справді + переміщені на інший диск, вони також будуть враховані + як `removed`. + Вони ідентифікуються за тим же іменем, розміром + та часовою міткою. Якщо часова мітка з точністю + до долі секунди дорівнює нулю, повний шлях повинен + збігатися, а не лише ім'я. + restored (відновлені) - Файли з іншим inode, але + збігаються ім'я, розмір та часова мітка. Це + зазвичай файли, відновлені після видалення. + +Якщо потрібна `sync`, код повернення процесу дорівнює 2, +замість стандартного 0. Код повернення 1 використовується для +загальної умови помилки. + +Нічого не змінюється. + +5.7 sync +-------- + +Оновлює інформацію парності. Всі змінені файли у дисковому +масиві зчитуються, і відповідні дані парності оновлюються. + +Ви можете зупинити цей процес у будь-який час, натиснувши +Ctrl+C, не втрачаючи вже виконану роботу. +Під час наступного запуску процес `sync` відновить роботу +з місця, де був перерваний. + +Якщо під час процесу виявлено приховані помилки або помилки +введення/виведення, відповідні блоки позначаються як погані. + +Файли ідентифікуються за шляхом та/або inode та перевіряються +за розміром та часовою міткою. +Якщо розмір або часова мітка файлу відрізняються, дані +парності перераховуються для всього файлу. +Якщо файл переміщено або перейменовано на тому ж диску, +зберігаючи той самий inode, парність не перераховується. +Якщо файл переміщено на інший диск, парність перераховується, +але раніше обчислена інформація хешу зберігається. + +Файли `content` та `parity` змінюються за потреби. +Файли в масиві НЕ змінюються. + +5.8 scrub +--------- + +Скрабує масив, перевіряючи на наявність прихованих помилок +або помилок введення/виведення на дисках даних та парності. + +Кожен виклик перевіряє приблизно 8% масиву, виключаючи +дані, які вже були скрабовані протягом останніх 10 днів. +Це означає, що скрабування раз на тиждень забезпечує +перевірку кожного біта даних принаймні раз на три місяці. + +Ви можете визначити інший план скрабування або кількість +за допомогою опції -p, --plan, яка приймає: +bad - Скрабувати блоки, позначені як погані. +new - Скрабувати щойно синхронізовані блоки, які ще не були + скрабовані. +full - Скрабувати все. +0-100 - Скрабувати вказаний відсоток блоків. + +Якщо ви вказуєте відсоткове значення, ви також можете +використовувати опцію -o, --older-than, щоб визначити, +яким має бути вік блоку. +Найстаріші блоки скрабуються першими, забезпечуючи оптимальну +перевірку. +Якщо ви хочете скрабувати лише щойно синхронізовані блоки, +які ще не були скрабовані, використовуйте опцію `-p new`. + +Щоб отримати деталі статусу скрабування, використовуйте команду +`status`. + +Для будь-якої знайденої прихованої помилки або помилки +введення/виведення відповідні блоки позначаються як погані +у файлі `content`. +Ці погані блоки перераховуються у `status` і можуть бути +виправлені за допомогою `fix -e`. +Після виправлення, під час наступного скрабування, вони будуть +повторно перевірені, і якщо виявиться, що вони виправлені, +позначка "поганий" буде видалена. +Щоб скрабувати лише погані блоки, ви можете використовувати +команду `scrub -p bad`. + +Рекомендується запускати `scrub` лише на синхронізованому +масиві, щоб уникнути повідомлень про помилки, спричинені +несинхронізованими даними. Ці помилки розпізнаються як +не приховані помилки, і блоки не позначаються як погані, +але такі помилки повідомляються у виведенні команди. + +Файл `content` змінюється для оновлення часу останньої перевірки +для кожного блоку та для позначення поганих блоків. +Файли `parity` НЕ змінюються. +Файли в масиві НЕ змінюються. + +5.9 fix +------- + +Виправляє всі файли та дані парності. + +Усі файли та дані парності порівнюються зі станом знімка, +збереженим під час останньої `sync`. +Якщо знайдено різницю, вона повертається до збереженого знімка. + +УВАГА! Команда `fix` не розрізняє помилки та навмисні +модифікації. Вона безумовно повертає стан файлу до останньої +`sync`. + +Якщо не вказано жодної іншої опції, обробляється весь масив. +Використовуйте опції фільтра, щоб вибрати підмножину файлів +або дисків для роботи. + +Щоб виправити лише блоки, позначені як погані під час `sync` +та `scrub`, використовуйте опцію -e, --filter-error. +На відміну від інших опцій фільтра, ця застосовує виправлення +лише до файлів, які не змінилися з моменту останньої `sync`. + +SnapRAID перейменовує всі файли, які не можуть бути виправлені, +додаючи розширення `.unrecoverable`. + +Перед виправленням сканується весь масив, щоб знайти будь-які +файли, переміщені з моменту останньої `sync`. +Ці файли ідентифікуються за їхньою часовою міткою, ігноруючи +їхнє ім'я та каталог, і використовуються в процесі відновлення, +якщо це необхідно. +Якщо ви перемістили деякі з них за межі масиву, ви можете +використовувати опцію -i, --import, щоб вказати додаткові +каталоги для сканування. + +Файли ідентифікуються лише за шляхом, а не за inode. + +Файл `content` НЕ змінюється. +Файли `parity` змінюються за потреби. +Файли в масиві змінюються за потреби. + +5.10 check +---------- + +Перевіряє всі файли та дані парності. + +Працює як `fix`, але лише імітує відновлення, і жодні зміни +не записуються в масив. + +Ця команда в першу чергу призначена для ручної перевірки, +наприклад, після процесу відновлення або в інших особливих +умовах. Для періодичних та запланованих перевірок використовуйте +`scrub`. + +Якщо ви використовуєте опцію -a, --audit-only, перевіряється +лише хеш файлів, а дані парності ігноруються для швидшого +запуску. + +Файли ідентифікуються лише за шляхом, а не за inode. + +Нічого не змінюється. + +5.11 list +--------- + +Виводить список усіх файлів, що містяться в масиві на момент +останньої `sync`. + +З -v або --verbose також показується час з точністю до +долі секунди. + +Нічого не змінюється. + +5.12 dup +-------- + +Виводить список усіх дублікатів файлів. Два файли вважаються +рівними, якщо їхні хеші збігаються. Дані файлів не +зчитуються; використовуються лише попередньо обчислені хеші. + +Нічого не змінюється. + +5.13 pool +--------- + +Створює або оновлює віртуальне представлення всіх файлів +у вашому дисковому масиві в каталозі `pooling`. + +Файли не копіюються, а пов'язуються за допомогою символічних +посилань. + +Під час оновлення всі існуючі символічні посилання та порожні +підкаталоги видаляються та замінюються новим +представленням масиву. Будь-які інші звичайні файли залишаються +на місці. + +Нічого не змінюється за межами каталогу pool. + +5.14 devices +------------ + +Виводить низькорівневі пристрої, які використовуються масивом. + +Ця команда відображає асоціації пристроїв у масиві і в +основному призначена як інтерфейс для сценаріїв. + +Перші два стовпці — це низькорівневий ідентифікатор пристрою +та шлях. +Наступні два стовпці — це високорівневий ідентифікатор пристрою +та шлях. +Останній стовпець — це ім'я диска в масиві. + +У більшості випадків у вас є один низькорівневий пристрій для +кожного диска в масиві, але в деяких складніших конфігураціях +у вас може бути кілька низькорівневих пристроїв, які використовуються +одним диском у масиві. + +Нічого не змінюється. + +5.15 touch +---------- + +Встановлює довільну часову мітку з точністю до долі секунди +для всіх файлів, у яких вона встановлена на нуль. + +Це покращує здатність SnapRAID розпізнавати переміщені та +скопійовані файли, оскільки робить часову мітку майже +унікальною, зменшуючи можливі дублікати. + +Зокрема, якщо часова мітка з точністю до долі секунди не +дорівнює нулю, переміщений або скопійований файл ідентифікується +як такий, якщо він збігається з іменем, розміром та часовою +міткою. Якщо часова мітка з точністю до долі секунди дорівнює +нулю, він вважається копією, лише якщо повний шлях, розмір та +часова мітка збігаються. + +Часова мітка з точністю до секунди не змінюється, тому +всі дати та час ваших файлів будуть збережені. + +5.16 rehash +----------- + +Планує повторне хешування всього масиву. + +Ця команда змінює тип хешу, що використовується, як правило, +при оновленні з 32-розрядної системи на 64-розрядну, щоб +переключитися з MurmurHash3 на швидший SpookyHash. + +Якщо ви вже використовуєте оптимальний хеш, ця команда +нічого не робить і повідомляє, що жодних дій не потрібно. + +Повторне хешування не виконується негайно, а відбувається +поступово під час `sync` та `scrub`. + +Ви можете перевірити стан повторного хешування за допомогою +`status`. + +Під час повторного хешування SnapRAID зберігає повну +функціональність, за єдиним винятком, що `dup` не може +виявити дублікати файлів, використовуючи інший хеш. + + +6 Опції +======= + +SnapRAID надає наступні опції: + + -c, --conf CONFIG + Вибирає конфігураційний файл для використання. Якщо не + вказано, в Unix використовується файл `/usr/local/etc/snapraid.conf`, + якщо він існує, інакше `/etc/snapraid.conf`. + У Windows використовується файл `snapraid.conf` у тому + самому каталозі, що й `snapraid.exe`. + + -f, --filter PATTERN + Фільтрує файли для обробки у `check` та `fix`. + Обробляються лише файли, що відповідають вказаному + шаблону. Цю опцію можна використовувати кілька разів. + Дивіться розділ PATTERN для отримання додаткової + інформації про специфікації шаблонів. + В Unix переконайтеся, що символи глоббінгу взяті + в лапки, якщо вони використовуються. + Цю опцію можна використовувати лише з `check` та `fix`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -d, --filter-disk NAME + Фільтрує диски для обробки у `check`, `fix`, `up` та `down`. + Ви повинні вказати ім'я диска, як визначено у + конфігураційному файлі. + Ви також можете вказати диски парності з іменами: + `parity`, `2-parity`, `3-parity`, тощо, щоб обмежити + операції певним диском парності. + Якщо ви поєднуєте кілька опцій --filter, --filter-disk + та --filter-missing, вибираються лише файли, що + відповідають усім фільтрам. + Цю опцію можна використовувати кілька разів. + Цю опцію можна використовувати лише з `check`, `fix`, + `up` та `down`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -m, --filter-missing + Фільтрує файли для обробки у `check` та `fix`. + Обробляються лише файли, що відсутні або видалені з + масиву. При використанні з `fix` це діє як команда + `undelete` (відновлення видалених файлів). + Якщо ви поєднуєте кілька опцій --filter, --filter-disk + та --filter-missing, вибираються лише файли, що + відповідають усім фільтрам. + Цю опцію можна використовувати лише з `check` та `fix`. + Її не можна використовувати з `sync` та `scrub`, оскільки + вони завжди обробляють весь масив. + + -e, --filter-error + Обробляє файли з помилками у `check` та `fix`. + Обробляє лише файли, які мають блоки, позначені + прихованими помилками або помилками введення/виведення + під час `sync` та `scrub`, як зазначено у `status`. + Цю опцію можна використовувати лише з `check` та `fix`. + + -p, --plan PERC|bad|new|full + Вибирає план скрабування. Якщо PERC є числовим + значенням від 0 до 100, воно інтерпретується як відсоток + блоків для скрабування. + Замість відсотка ви можете вказати план: `bad` + скрабує погані блоки, `new` скрабує блоки, які ще не + були скрабовані, і `full` скрабує все. + Цю опцію можна використовувати лише з `scrub`. + + -o, --older-than DAYS + Вибирає найстарішу частину масиву для обробки у `scrub`. + DAYS — це мінімальний вік у днях для блоку, який + повинен бути скрабований; за замовчуванням 10. + Блоки, позначені як погані, завжди скрабуються + незалежно від цієї опції. + Цю опцію можна використовувати лише з `scrub`. + + -a, --audit-only + У `check` перевіряє хеш файлів без перевірки даних + парності. Якщо вас цікавить лише перевірка даних файлів, + ця опція може значно прискорити процес перевірки. + Цю опцію можна використовувати лише з `check`. + + -h, --pre-hash + У `sync` запускає попередню фазу хешування всіх нових + даних для додаткової перевірки перед обчисленням + парності. Зазвичай у `sync` не виконується попереднє + хешування, а нові дані хешуються безпосередньо перед + обчисленням парності, коли вони зчитуються вперше. + Цей процес відбувається, коли система знаходиться під + великим навантаженням, усі диски обертаються та ЦП + зайнятий. Це екстремальна умова для машини, і якщо вона + має приховану апаратну проблему, приховані помилки + можуть залишитися невиявленими, оскільки дані ще не + були хешовані. + Щоб уникнути цього ризику, ви можете ввімкнути режим + `pre-hash`, щоб усі дані були зчитані двічі для + забезпечення їх цілісності. + Ця опція також перевіряє файли, переміщені в межах + масиву, щоб переконатися, що операція переміщення була + успішною, і, якщо необхідно, дозволяє запустити операцію + виправлення перед продовженням. + Цю опцію можна використовувати лише з `sync`. + + -i, --import DIR + Імпортує з вказаного каталогу будь-які файли, видалені + з масиву після останньої `sync`. + Якщо у вас все ще є такі файли, вони можуть бути + використані `check` та `fix` для покращення процесу + відновлення. + Файли зчитуються, включаючи підкаталоги, та + ідентифікуються незалежно від їхнього імені. + Цю опцію можна використовувати лише з `check` та `fix`. + + -s, --spin-down-on-error + При будь-якій помилці зупиняє всі керовані диски перед + завершенням з ненульовим кодом стану. Це запобігає + тому, щоб диски залишалися активними та оберталися + після перерваної операції, допомагаючи уникнути + зайвого нагрівання та споживання електроенергії. + Використовуйте цю опцію, щоб забезпечити безпечну + зупинку дисків, навіть коли команда завершується + помилкою. + + -w, --bw-limit RATE + Застосовує глобальне обмеження пропускної здатності + для всіх дисків. RATE — це кількість байтів на секунду. + Ви можете вказати множник, такий як K, M або G (наприклад, + --bw-limit 1G). + + -A, --stats + Вмикає розширений перегляд стану, який показує + додаткову інформацію. + На екрані відображаються два графіки: + Перший графік показує кількість буферизованих смуг + (stripes) для кожного диска, разом зі шляхом до файлу, + до якого наразі здійснюється доступ на цьому диску. + Зазвичай найповільніший диск не матиме доступного + буфера, що визначає максимально досяжну пропускну + здатність. + Другий графік показує відсоток часу, витраченого на + очікування, за останні 100 секунд. Очікується, що + найповільніший диск спричинить більшу частину часу + очікування, тоді як інші диски повинні мати невеликий + час очікування або зовсім його не мати, оскільки + вони можуть використовувати свої буферизовані смуги. + Цей графік також показує час, витрачений на очікування + обчислення хешу та обчислень RAID. + Усі обчислення виконуються паралельно з операціями + диска. Тому, доки є вимірюваний час очікування + принаймні для одного диска, це вказує на те, що ЦП + достатньо швидкий, щоб справлятися з робочим навантаженням. + + -Z, --force-zero + Форсує небезпечну операцію синхронізації файлу з + нульовим розміром, який раніше був ненульовим. + Якщо SnapRAID виявляє таку умову, він припиняє + продовження, якщо ви не вкажете цю опцію. + Це дозволяє легко виявити, коли після збою системи + деякі доступні файли були обрізані. + Це можлива умова в Linux з файловими системами + ext3/ext4. + Цю опцію можна використовувати лише з `sync`. + + -E, --force-empty + Форсує небезпечну операцію синхронізації диска, на + якому відсутні всі оригінальні файли. + Якщо SnapRAID виявляє, що всі файли, які спочатку + були на диску, відсутні або перезаписані, він + припиняє продовження, якщо ви не вкажете цю опцію. + Це дозволяє легко виявити, коли файлова система + даних не змонтована. + Цю опцію можна використовувати лише з `sync`. + + -U, --force-uuid + Форсує небезпечну операцію синхронізації, перевірки + та виправлення з дисками, які змінили свій UUID. + Якщо SnapRAID виявляє, що деякі диски змінили UUID, + він припиняє продовження, якщо ви не вкажете цю опцію. + Це дозволяє виявити, коли ваші диски змонтовані + в неправильних точках монтування. + Однак, дозволено мати одну зміну UUID з однією парністю + і більше з множинною парністю, оскільки це нормальний + випадок при заміні дисків після відновлення. + Цю опцію можна використовувати лише з `sync`, `check` + або `fix`. + + -D, --force-device + Форсує небезпечну операцію виправлення з недоступними + дисками або з дисками на тому ж фізичному пристрої. + Наприклад, якщо ви втратили два диски даних і маєте + запасний диск для відновлення лише першого, ви можете + ігнорувати другий недоступний диск. + Або, якщо ви хочете відновити диск у вільному місці, + залишеному на вже використовуваному диску, що + використовує той самий фізичний пристрій. + Цю опцію можна використовувати лише з `fix`. + + -N, --force-nocopy + У `sync`, `check` та `fix` вимикає евристику + виявлення копій. Без цієї опції SnapRAID припускає, + що файли з однаковими атрибутами, такими як ім'я, + розмір та часова мітка, є копіями з тими ж даними. + Це дозволяє ідентифікувати скопійовані або + переміщені файли з одного диска на інший і повторно + використовує вже обчислену інформацію хешу для + виявлення прихованих помилок або для відновлення + відсутніх файлів. + У деяких рідкісних випадках ця поведінка може + призвести до хибних спрацьовувань або повільного + процесу через багато перевірок хешу, і ця опція + дозволяє вирішити такі проблеми. + Цю опцію можна використовувати лише з `sync`, `check` + та `fix`. + + -F, --force-full + У `sync` форсує повне переобчислення парності. + Цю опцію можна використовувати, коли ви додаєте + новий рівень парності або якщо ви повернулися до + старого файлу вмісту, використовуючи більш + нові дані парності. + Замість створення парності з нуля, це дозволяє + повторно використовувати хеші, присутні у файлі + вмісту, для перевірки даних та підтримки захисту + даних під час процесу `sync`, використовуючи + існуючі дані парності. + Цю опцію можна використовувати лише з `sync`. + + -R, --force-realloc + У `sync` форсує повне перерозподілення файлів + та перебудову парності. + Цю опцію можна використовувати для повного + перерозподілу всіх файлів, усуваючи фрагментацію, + повторно використовуючи хеші, присутні у файлі + вмісту, для перевірки даних. + Цю опцію можна використовувати лише з `sync`. + УВАГА! Ця опція лише для експертів, і + настійно не рекомендується її використовувати. + Ви НЕ маєте захисту даних під час операції `sync`. + + -l, --log FILE + Записує детальний журнал у вказаний файл. + Якщо ця опція не вказана, несподівані помилки + виводяться на екран, що потенційно призводить до + надмірного виведення у випадку багатьох помилок. + Коли вказано -l, --log, на екран виводяться лише + фатальні помилки, які спричиняють зупинку SnapRAID. + Якщо шлях починається з '>>', файл відкривається + у режимі доповнення. Входження '%D' та '%T' в + імені замінюються датою та часом у форматі YYYYMMDD + та HHMMSS. У пакетних файлах Windows ви повинні + подвоїти символ '%', наприклад, result-%%D.log. + Щоб використовувати '>>', ви повинні взяти ім'я + в лапки, наприклад, `">>result.log"`. + Щоб вивести журнал на стандартний вивід або + стандартну помилку, ви можете використовувати + `">&1"` та `">&2"` відповідно. + Дивіться файл snapraid_log.txt або man-сторінку + для описів тегів журналу. + + -L, --error-limit NUMBER + Встановлює новий ліміт помилок перед зупинкою + виконання. За замовчуванням SnapRAID зупиняється, + якщо зустрічає більше 100 помилок введення/виведення, + що вказує на ймовірну відмову диска. + Ця опція впливає на `sync` та `scrub`, яким + дозволено продовжувати після першого набору + помилок диска, щоб спробувати завершити + свої операції. Однак `check` та `fix` завжди + зупиняються при першій помилці. + + -S, --start BLKSTART + Починає обробку з вказаного номера блоку. + Це може бути корисно для повторної спроби + перевірки або виправлення певних блоків у + випадку пошкодженого диска. + Ця опція в основному для розширеного ручного + відновлення. + + -B, --count BLKCOUNT + Обробляє лише вказану кількість блоків. + Ця опція в основному для розширеного ручного + відновлення. + + -C, --gen-conf CONTENT + Генерує фіктивний конфігураційний файл з існуючого + файлу вмісту. + Конфігураційний файл записується на стандартний + вивід і не перезаписує існуючий. + Цей конфігураційний файл також містить інформацію, + необхідну для реконструкції точок монтування диска + у випадку втрати всієї системи. + + -v, --verbose + Виводить більше інформації на екран. + Якщо вказано один раз, виводить виключені файли + та додаткову статистику. + Ця опція не впливає на файли журналу. + + -q, --quiet + Виводить менше інформації на екран. + Якщо вказано один раз, видаляє індикатор прогресу; + двічі — поточні операції; тричі — інформаційні + повідомлення; чотири рази — повідомлення про + статус. Фатальні помилки завжди виводяться на + екран. Ця опція не впливає на файли журналу. + + -H, --help + Виводить короткий довідковий екран. + + -V, --version + Виводить версію програми. + + +7 Конфігурація +============== + +SnapRAID вимагає конфігураційний файл, щоб знати, де +розташований ваш дисковий масив і де зберігати інформацію +парності. + +В Unix використовується файл `/usr/local/etc/snapraid.conf`, +якщо він існує, інакше `/etc/snapraid.conf`. +У Windows використовується файл `snapraid.conf` у тому +самому каталозі, що й `snapraid.exe`. + +Він повинен містити наступні опції (чутливі до регістру): + +7.1 parity FILE [,FILE] ... +--------------------------- + +Визначає файли, які потрібно використовувати для зберігання +інформації парності. Парність забезпечує захист від +відмови одного диска, подібно до RAID5. + +Ви можете вказати кілька файлів, які повинні бути на +різних дисках. Коли файл більше не може зростати, +використовується наступний. +Загальний доступний простір повинен бути принаймні +таким же великим, як найбільший диск даних у масиві. + +Ви можете додати додаткові файли парності пізніше, +але ви не можете їх переупорядковувати або видаляти. + +Збереження дисків парності зарезервованими для парності +забезпечує, що вони не стають фрагментованими, покращуючи +продуктивність. + +У Windows 256 МБ залишається невикористаними на кожному +диску, щоб уникнути попередження про повні диски. + +Ця опція є обов'язковою і може бути використана лише один раз. + +7.2 (2,3,4,5,6)-parity FILE [,FILE] ... +--------------------------------------- + +Визначає файли, які потрібно використовувати для зберігання +додаткової інформації парності. + +Для кожного вказаного рівня парності вмикається один +додатковий рівень захисту: + +* 2-parity вмикає подвійну парність RAID6. +* 3-parity вмикає потрійну парність. +* 4-parity вмикає четверну парність. +* 5-parity вмикає п'ятерну парність. +* 6-parity вмикає шестерну парність. + +Кожен рівень парності вимагає наявності всіх попередніх +рівнів парності. + +Застосовуються ті самі міркування, що й для опції 'parity'. + +Ці опції є необов'язковими і можуть бути використані лише +один раз. + +7.3 z-parity FILE [,FILE] ... +----------------------------- + +Визначає альтернативний файл та формат для зберігання +потрійної парності. + +Ця опція є альтернативою '3-parity', в першу чергу +призначена для ЦП низького класу, таких як ARM або +AMD Phenom, Athlon та Opteron, які не підтримують +набір інструкцій SSSE3. У таких випадках вона +забезпечує кращу продуктивність. + +Цей формат схожий, але швидший, ніж той, що використовується +ZFS RAIDZ3. Як і ZFS, він не працює далі потрійної парності. + +При використанні '3-parity' ви будете попереджені, +якщо рекомендується використовувати формат 'z-parity' +для покращення продуктивності. + +Можна конвертувати з одного формату в інший, налаштувавши +конфігураційний файл з бажаним файлом z-parity або +3-parity та використовуючи 'fix' для його відтворення. + +7.4 content FILE +---------------- + +Визначає файл, який потрібно використовувати для зберігання +списку та контрольних сум усіх файлів, присутніх у +вашому дисковому масиві. + +Він може бути розміщений на диску, що використовується для +даних, парності або будь-якому іншому доступному диску. +Якщо ви використовуєте диск даних, цей файл автоматично +виключається з процесу `sync`. + +Ця опція є обов'язковою і може бути використана кілька +разів для збереження кількох копій одного і того ж +файлу. + +Ви повинні зберігати принаймні одну копію для кожного +використаного диска парності плюс одну. Використання +додаткових копій не зашкодить. + +7.5 data NAME DIR +----------------- + +Визначає ім'я та точку монтування дисків даних у +масиві. NAME використовується для ідентифікації диска +і має бути унікальним. DIR — це точка монтування +диска у файловій системі. + +Ви можете змінювати точку монтування за потреби, +поки ви зберігаєте NAME фіксованим. + +Ви повинні використовувати одну опцію для кожного +диска даних у масиві. + +Ви можете перейменувати диск пізніше, змінивши NAME +безпосередньо у конфігураційному файлі, а потім +запустивши команду 'sync'. У випадку перейменування +асоціація здійснюється за допомогою збереженого +UUID дисків. + +7.6 nohidden +------------ + +Виключає всі приховані файли та каталоги. +В Unix приховані файли — це ті, що починаються з `.`. +У Windows це ті, що мають прихований атрибут. + +7.7 exclude/include PATTERN +--------------------------- + +Визначає шаблони файлів або каталогів для виключення +або включення у процес синхронізації. +Усі шаблони обробляються у вказаному порядку. + +Якщо перший шаблон, який збігається, є `exclude` (виключити), +файл виключається. Якщо він є `include` (включити), +файл включається. +Якщо жоден шаблон не збігається, файл виключається, +якщо останній вказаний шаблон є `include`, або +включається, якщо останній вказаний шаблон є `exclude`. + +Дивіться розділ PATTERN для отримання додаткової +інформації про специфікації шаблонів. + +Цю опцію можна використовувати кілька разів. + +7.8 blocksize SIZE_IN_KIBIBYTES +------------------------------- + +Визначає основний розмір блоку в кібібайтах для парності. +Один кібібайт дорівнює 1024 байтам. + +Розмір блоку за замовчуванням становить 256, що має +працювати для більшості випадків. + +УВАГА! Ця опція лише для експертів, і настійно +не рекомендується змінювати це значення. Щоб змінити +це значення в майбутньому, вам потрібно буде +перестворити всю парність! + +Причина використовувати інший розмір блоку полягає +в тому, якщо у вас є багато невеликих файлів, порядку +мільйонів. + +Для кожного файлу, навіть якщо це лише кілька байтів, +виділяється цілий блок парності, і з багатьма файлами +це може призвести до значного невикористаного місця +парності. Коли ви повністю заповнюєте диск парності, +вам не дозволяється додавати більше файлів на диски +даних. Однак, витрачена парність не накопичується +між дисками даних. Витрачене місце внаслідок великої +кількості файлів на диску даних обмежує лише кількість +даних на цьому диску даних, а не на інших. + +Як наближення, ви можете припустити, що половина +розміру блоку витрачається для кожного файлу. +Наприклад, зі 100 000 файлами та розміром блоку 256 КіБ +ви витратите 12,8 ГБ парності, що може призвести до +того, що на диску даних буде на 12,8 ГБ менше місця. + +Ви можете перевірити кількість витраченого місця на +кожному диску за допомогою `status`. Це кількість +місця, яку ви повинні залишити вільною на дисках даних +або використовувати для файлів, не включених у масив. +Якщо це значення від'ємне, це означає, що ви +наближаєтеся до заповнення парності, і воно +представляє місце, яке ви ще можете витратити. + +Щоб уникнути цієї проблеми, ви можете використовувати +більший розділ для парності. Наприклад, якщо розділ +парності на 12,8 ГБ більший за диски даних, у вас є +достатньо додаткового місця для обробки до 100 000 +файлів на кожному диску даних без будь-якого +витраченого місця. + +Хитрість, щоб отримати більший розділ парності в +Linux, полягає в тому, щоб відформатувати його +командою: + + mkfs.ext4 -m 0 -T largefile4 DEVICE + +Це призводить до приблизно 1,5% додаткового місця, +приблизно 60 ГБ для диска 4 ТБ, що дозволяє +приблизно 460 000 файлів на кожному диску даних +без будь-якого витраченого місця. + +7.9 hashsize SIZE_IN_BYTES +-------------------------- + +Визначає розмір хешу в байтах для збережених блоків. + +Розмір хешу за замовчуванням становить 16 байтів +(128 біт), що має працювати для більшості випадків. + +УВАГА! Ця опція лише для експертів, і настійно +не рекомендується змінювати це значення. Щоб змінити +це значення в майбутньому, вам потрібно буде +перестворити всю парність! + +Причина використовувати інший розмір хешу полягає +в тому, якщо ваша система має обмежену пам'ять. +Як правило, SnapRAID зазвичай вимагає 1 ГіБ ОЗП +на кожні 16 ТБ даних у масиві. + +Зокрема, для зберігання хешів даних SnapRAID +вимагає приблизно $TS \times (1+HS) / BS$ байтів +ОЗП, де TS — загальний розмір вашого дискового масиву +у байтах, BS — розмір блоку у байтах, а HS — +розмір хешу у байтах. + +Наприклад, з 8 дисками по 4 ТБ, розміром блоку 256 КіБ +(1 КіБ = 1024 байта) та розміром хешу 16, ви отримуєте: + +RAM = $(8 \times 4 \times 10^{12}) \times (1+16) / (256 \times 2^{10}) = 1.93$ ГіБ + +Перехід до розміру хешу 8, ви отримуєте: + +RAM = $(8 \times 4 \times 10^{12}) \times (1+8) / (256 \times 2^{10}) = 1.02$ ГіБ + +Перехід до розміру блоку 512, ви отримуєте: + +RAM = $(8 \times 4 \times 10^{12}) \times (1+16) / (512 \times 2^{10}) = 0.96$ ГіБ + +Перехід до розміру хешу 8 та розміру блоку 512, ви отримуєте: + +RAM = $(8 \times 4 \times 10^{12}) \times (1+8) / (512 \times 2^{10}) = 0.51$ ГіБ + +7.10 autosave SIZE_IN_GIGABYTES +------------------------------- + +Автоматично зберігає стан під час синхронізації або +скрабування після обробки вказаної кількості ГБ. +Ця опція корисна, щоб уникнути перезапуску довгих +команд `sync` з нуля, якщо вони були перервані +збоєм машини або будь-якою іншою подією. + +7.11 temp_limit TEMPERATURE_CELSIUS +----------------------------------- + +Встановлює максимальну дозволену температуру диска +в Цельсіях. Якщо вказано, SnapRAID періодично перевіряє +температуру всіх дисків за допомогою інструменту +smartctl. Поточні температури дисків відображаються +під час роботи SnapRAID. Якщо будь-який диск перевищує +цей ліміт, усі операції зупиняються, і диски +зупиняються (переходять у режим очікування) на час, +визначений опцією `temp_sleep`. Після періоду +очікування операції відновлюються, потенційно +знову призупиняючись, якщо ліміт температури знову +досягнутий. + +Під час роботи SnapRAID також аналізує криву +нагрівання кожного диска та оцінює довгострокову +стабільну температуру, якої вони, як очікується, +досягнуть, якщо активність продовжиться. +Оцінка виконується лише після того, як температура +диска підвищилася чотири рази, що гарантує наявність +достатньої кількості даних для встановлення +надійного тренду. Ця прогнозована стабільна +температура відображається в дужках поруч із +поточним значенням і допомагає оцінити, чи +достатнє охолодження системи. Ця оцінювана +температура є лише інформаційною і не впливає на +поведінку SnapRAID. Дії програми базуються +виключно на фактично виміряних температурах +дисків. + +Для виконання цього аналізу SnapRAID потрібна +довідкова інформація про температуру системи. +Спочатку він намагається зчитати її з доступних +апаратних датчиків. Якщо до системного датчика +неможливо отримати доступ, він використовує +найнижчу температуру диска, виміряну на початку +запуску, як резервну довідкову інформацію. + +Зазвичай SnapRAID показує лише температуру +найгарячішого диска. Щоб відобразити температуру +всіх дисків, використовуйте опцію -A або --stats. + +7.12 temp_sleep TIME_IN_MINUTES +------------------------------- + +Встановлює час очікування, у хвилинах, коли +досягнуто ліміту температури. Протягом цього +періоду диски залишаються зупиненими. +За замовчуванням 5 хвилин. + +7.13 pool DIR +------------- + +Визначає каталог об'єднання, де створюється +віртуальне представлення дискового масиву за +допомогою команди `pool`. + +Каталог повинен вже існувати. + +7.14 share UNC_DIR +------------------ + +Визначає шлях Windows UNC, необхідний для +віддаленого доступу до дисків. + +Якщо ця опція вказана, символічні посилання, +створені в каталозі pool, використовують цей +шлях UNC для доступу до дисків. +Без цієї опції згенеровані символічні посилання +використовують лише локальні шляхи, що не +дозволяє спільно використовувати каталог pool +через мережу. + +Символічні посилання формуються за допомогою +вказаного шляху UNC, додаючи ім'я диска, як +зазначено в опції `data`, і, нарешті, +додаючи каталог та ім'я файлу. + +Ця опція потрібна лише для Windows. + +7.15 smartctl DISK/PARITY OPTIONS... +------------------------------------ + +Визначає користувацькі опції smartctl для +отримання атрибутів SMART для кожного диска. +Це може знадобитися для RAID-контролерів та +деяких USB-дисків, які не можуть бути +автоматично виявлені. Заповнювач %s +замінюється іменем пристрою, але він +необов'язковий для фіксованих пристроїв, +таких як RAID-контролери. + +DISK — це те саме ім'я диска, вказане в опції `data`. +PARITY — це одне з імен парності: `parity`, +`2-parity`, `3-parity`, `4-parity`, `5-parity`, +`6-parity` або `z-parity`. + +У вказаних OPTIONS рядок `%s` замінюється +іменем пристрою. Для RAID-контролерів пристрій +ймовірно фіксований, і вам може не знадобитися +використовувати `%s`. + +Зверніться до документації smartmontools +для можливих опцій: + + https://www.smartmontools.org/wiki/Supported_RAID-Controllers + https://www.smartmontools.org/wiki/Supported_USB-Devices + +Наприклад: + + smartctl parity -d sat %s + +7.16 smartignore DISK/PARITY ATTR [ATTR...] +------------------------------------------- + +Ігнорує вказаний атрибут SMART при обчисленні +ймовірності відмови диска. Ця опція корисна, +якщо диск повідомляє незвичайні або +оманливі значення для певного атрибута. + +DISK — це те саме ім'я диска, вказане в опції `data`. +PARITY — це одне з імен парності: `parity`, +`2-parity`, `3-parity`, `4-parity`, `5-parity`, +`6-parity` або `z-parity`. +Спеціальне значення * можна використовувати +для ігнорування атрибута на всіх дисках. + +Наприклад, щоб ігнорувати атрибут `Current Pending Sector Count` +на всіх дисках: + + smartignore * 197 + +Щоб ігнорувати його лише на першому диску парності: + + smartignore parity 197 + +7.17 Приклади +------------- + +Приклад типової конфігурації для Unix: + + parity /mnt/diskp/snapraid.parity + content /mnt/diskp/snapraid.content + content /var/snapraid/snapraid.content + data d1 /mnt/disk1/ + data d2 /mnt/disk2/ + data d3 /mnt/disk3/ + exclude /lost+found/ + exclude /tmp/ + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/sg0 + smartctl 2-parity -d areca,2/1 /dev/sg0 + +Приклад типової конфігурації для Windows: + + parity E:\snapraid.parity + content E:\snapraid.content + content C:\snapraid\snapraid.content + data d1 G:\array\ + data d2 H:\array\ + data d3 I:\array\ + exclude Thumbs.db + exclude \$RECYCLE.BIN + exclude \System Volume Information + smartctl d1 -d sat %s + smartctl d2 -d usbjmicron %s + smartctl parity -d areca,1/1 /dev/arcmsr0 + smartctl 2-parity -d areca,2/1 /dev/arcmsr0 + + +8 Шаблон (PATTERN) +================== + +Шаблони використовуються для вибору підмножини файлів +для виключення або включення в процес. + +Існує чотири різні типи шаблонів: + + FILE + Вибирає будь-який файл з іменем FILE. Ви можете + використовувати будь-які символи глоббінгу, + такі як * та ?, та класи символів, такі як [a-z]. + Цей шаблон застосовується лише до файлів, а не + до каталогів. + + DIR/ + Вибирає будь-який каталог з іменем DIR та все + всередині. Ви можете використовувати будь-які + символи глоббінгу, такі як * та ?. + Цей шаблон застосовується лише до каталогів, + а не до файлів. + + /PATH/FILE + Вибирає точно вказаний шлях до файлу. Ви можете + використовувати будь-які символи глоббінгу, такі + як * та ?, але вони ніколи не збігаються з + похилою рискою каталогу. + Цей шаблон застосовується лише до файлів, + а не до каталогів. + + /PATH/DIR/ + Вибирає точно вказаний шлях до каталогу та все + всередині. Ви можете використовувати будь-які + символи глоббінгу, такі як * та ?, але вони + ніколи не збігаються з похилою рискою каталогу. + Цей шаблон застосовується лише до каталогів, + а не до файлів. + +Коли ви вказуєте абсолютний шлях, що починається +з /, він застосовується до кореневого каталогу +масиву, а не до кореневого каталогу локальної +файлової системи. + +У Windows ви можете використовувати зворотну +скісну риску \ замість прямої скісної риски /. +Системні каталоги Windows, з'єднання, точки +монтування та інші спеціальні каталоги Windows +розглядаються як файли, що означає, що для +їх виключення ви повинні використовувати правило +файлу, а не правило каталогу. + +Якщо ім'я файлу містить символи '*', '?', '[', +або ']', ви повинні екранувати їх, щоб уникнути +їх інтерпретації як символу глоббінгу. +В Unix символом екранування є '\'; у Windows — '^'. +Коли шаблон знаходиться в командному рядку, +ви повинні подвоїти символ екранування, щоб +запобігти його інтерпретації командною оболонкою. + +У конфігураційному файлі ви можете використовувати +різні стратегії для фільтрації файлів, які потрібно +обробити. +Найпростіший підхід — використовувати лише +правила `exclude` для видалення всіх файлів та +каталогів, які ви не хочете обробляти. +Наприклад: + + # Виключає будь-який файл з іменем `*.unrecoverable` + exclude *.unrecoverable + # Виключає кореневий каталог `/lost+found` + exclude /lost+found/ + # Виключає будь-який підкаталог з іменем `tmp` + exclude tmp/ + +Протилежний підхід — визначити лише файли, +які ви хочете обробити, використовуючи лише +правила `include`. Наприклад: + + # Включає лише деякі каталоги + include /movies/ + include /musics/ + include /pictures/ + +Останній підхід — змішувати правила `exclude` +та `include`. У цьому випадку порядок правил +важливий. Раніші правила мають пріоритет +над пізнішими. +Для спрощення ви можете спочатку перерахувати +всі правила `exclude`, а потім усі правила `include`. +Наприклад: + + # Виключає будь-який файл з іменем `*.unrecoverable` + exclude *.unrecoverable + # Виключає будь-який підкаталог з іменем `tmp` + exclude tmp/ + # Включає лише деякі каталоги + include /movies/ + include /musics/ + include /pictures/ + +У командному рядку, використовуючи опцію -f, +ви можете використовувати лише шаблони `include`. +Наприклад: + + # Перевіряє лише файли .mp3. + # В Unix використовуйте лапки, щоб уникнути + # розширення глоббінгу оболонкою. + snapraid -f "*.mp3" check + +В Unix, при використанні символів глоббінгу в +командному рядку, ви повинні взяти їх у лапки, +щоб запобігти їх розширенню оболонкою. + + +9 Вміст (CONTENT) +================= + +SnapRAID зберігає список та контрольні суми +ваших файлів у файлі вмісту. + +Це бінарний файл, який перераховує всі файли, +присутні у вашому дисковому масиві, разом з +усіма контрольними сумами для перевірки їх +цілісності. + +Цей файл зчитується та записується командами +`sync` та `scrub` та зчитується командами `fix`, +`check` та `status`. + + +10 Парність (PARITY) +==================== + +SnapRAID зберігає інформацію парності вашого +масиву у файлах парності. + +Це бінарні файли, що містять обчислену +парність усіх блоків, визначених у файлі +`content`. + +Ці файли зчитуються та записуються командами +`sync` та `fix` і лише зчитуються командами +`scrub` та `check`. + + +11 Кодування (ENCODING) +======================= + +SnapRAID в Unix ігнорує будь-яке кодування. +Він зчитує та зберігає імена файлів з +тим самим кодуванням, що використовується +файловою системою. + +У Windows усі імена, зчитані з файлової +системи, конвертуються та обробляються +у форматі UTF-8. + +Щоб імена файлів відображалися правильно, +ви повинні встановити консоль Windows +у режим UTF-8 за допомогою команди +`chcp 65001` та використовувати шрифт +TrueType, такий як `Lucida Console`, як +шрифт консолі. +Це впливає лише на надруковані імена +файлів; якщо ви перенаправляєте вивід +консолі у файл, отриманий файл завжди +буде у форматі UTF-8. + + +12 Авторське право (COPYRIGHT) +============================== + +Цей файл захищений авторським правом (C) 2025 Andrea Mazzoleni + + +13 Див. також (SEE ALSO) +======================== + +snapraid_log(1), rsync(1)