2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-03-16 23:43:14 +01:00
|
|
|
|
.PD
|
|
|
|
|
|
[\-t, \-\-tail]
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-03-16 23:43:14 +01:00
|
|
|
|
[\-R, \-\-force\-realloc] [\-W, \-\-force\-realloc\-tail]
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-02-25 14:48:54 +01:00
|
|
|
|
|list|dup|pool|devices|touch|rehash|locate
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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), описанная ниже, была заменена инструментом
|
2026-02-19 18:35:36 +01:00
|
|
|
|
mergerfs, который теперь является рекомендуемым вариантом для пользователей Linux
|
2025-12-13 19:34:07 +01:00
|
|
|
|
в сообществе 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\`). Проверенные блоки
|
2026-02-14 11:07:51 +01:00
|
|
|
|
обозначены символом \`*\`, блоки, синхронизированные, но еще не проверенные,
|
|
|
|
|
|
символом \`o\`.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-03-16 23:43:14 +01:00
|
|
|
|
файлы, скопированные на тот же или другой диск, где
|
|
|
|
|
|
исходный файл все еще существует.
|
|
|
|
|
|
Они идентифицируются по совпадению имени, размера и метки
|
|
|
|
|
|
времени.
|
|
|
|
|
|
Если дробная часть метки времени равна нулю, для идентификации
|
|
|
|
|
|
должен совпадать полный путь, а не только имя.
|
|
|
|
|
|
.HP 4
|
|
|
|
|
|
.I relocated
|
|
|
|
|
|
файлы, перемещенные на тот же или другой диск, где
|
|
|
|
|
|
оригинал исчез.
|
|
|
|
|
|
Они идентифицируются по совпадению имени, размера и метки
|
|
|
|
|
|
времени.
|
|
|
|
|
|
Если дробная часть метки времени равна нулю, для идентификации
|
|
|
|
|
|
должен совпадать полный путь.
|
|
|
|
|
|
В отличие от файлов \'moved\' на том же диске, перемещенные файлы
|
|
|
|
|
|
имеют другой inode.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.HP 4
|
|
|
|
|
|
.I restored
|
2026-03-16 23:43:14 +01:00
|
|
|
|
файлы с другим inode, но совпадающим каталогом,
|
|
|
|
|
|
именем, размером и меткой времени.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
Обычно это файлы, восстановленные после удаления.
|
|
|
|
|
|
.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\` не может обнаружить дублирующиеся
|
|
|
|
|
|
файлы, использующие другой хэш.
|
2026-02-25 14:48:54 +01:00
|
|
|
|
.SS locate
|
|
|
|
|
|
Находит файлы, хранящиеся на дисках четности. Для каждого найденного файла
|
|
|
|
|
|
выводится его расположение внутри файла четности и количество занимаемых
|
|
|
|
|
|
им фрагментов.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вы можете использовать параметр \-t, \-\-tail, чтобы ограничить операцию файлами,
|
|
|
|
|
|
занимающими указанную хвостовую часть четности.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Если вы хотите перераспределить эти файлы, вы можете использовать параметр
|
|
|
|
|
|
\-W, \-\-force\-realloc\-tail.
|
|
|
|
|
|
Имейте в виду, что такие файлы не будут защищены четностью во время процесса
|
|
|
|
|
|
перераспределения.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-02-25 14:48:54 +01:00
|
|
|
|
.B \-t, \-\-tail РАЗМЕР
|
|
|
|
|
|
Ограничивает список файлов теми, которые используют не более
|
|
|
|
|
|
указанного размера хвоста дисков четности.
|
|
|
|
|
|
Можно использовать множители, такие как K, M, G или T (например, \-\-tail 1G).
|
|
|
|
|
|
Этот параметр действителен только при использовании вместе с
|
|
|
|
|
|
командой \`locate\`.
|
|
|
|
|
|
.TP
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-02-25 14:48:54 +01:00
|
|
|
|
.B \-W, \-\-force\-realloc\-tail РАЗМЕР
|
|
|
|
|
|
Работает как \-R, \-\-force\-realloc, но ограничивается указанной хвостовой
|
|
|
|
|
|
частью (последние РАЗМЕР байт) каждого файла четности.
|
|
|
|
|
|
Принудительно перераспределяет (перемещает) любые фрагменты/блоки файлов,
|
|
|
|
|
|
хранящиеся в данный момент в этой хвостовой части, позволяя разместить
|
|
|
|
|
|
их в любом месте файла(ов) четности, где есть свободное место
|
|
|
|
|
|
(включая существующие пустоты).
|
|
|
|
|
|
Основная цель этого параметра — уменьшить занимаемый на диске
|
|
|
|
|
|
размер файла четности.
|
|
|
|
|
|
Если перераспределение успешно очистит всю хвостовую часть
|
|
|
|
|
|
(в ней не останется блоков), файл четности будет обрезан, высвобождая
|
|
|
|
|
|
неиспользуемое хвостовое пространство.
|
|
|
|
|
|
Можно использовать множители, такие как K, M, G или T (например,
|
|
|
|
|
|
\-\-force\-realloc\-tail 1G).
|
|
|
|
|
|
Вы можете использовать locate \-t, \-\-tail, чтобы заранее узнать
|
|
|
|
|
|
затронутые файлы.
|
|
|
|
|
|
ВНИМАНИЕ!
|
|
|
|
|
|
Этот параметр предназначен только для экспертов, и его настоятельно
|
|
|
|
|
|
не рекомендуется использовать.
|
|
|
|
|
|
Во время операции \`sync\` защита данных для затронутых файлов
|
|
|
|
|
|
ОТСУТСТВУЕТ.
|
|
|
|
|
|
.TP
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.B \-l, \-\-log FILE
|
|
|
|
|
|
Записывает подробный журнал в указанный файл.
|
|
|
|
|
|
Если эта опция не указана, непредвиденные ошибки выводятся
|
|
|
|
|
|
на экран, что потенциально может привести к чрезмерному выводу в случае
|
|
|
|
|
|
множества ошибок. Когда указана \-l, \-\-log, на
|
|
|
|
|
|
экран выводятся только фатальные ошибки, которые приводят к остановке
|
|
|
|
|
|
SnapRAID.
|
2026-02-14 11:07:51 +01:00
|
|
|
|
Если путь начинается с \`>>\`, файл открывается
|
|
|
|
|
|
в режиме добавления. Вхождения \`%D\` и \`%T\` в имени
|
2025-12-13 19:34:07 +01:00
|
|
|
|
заменяются датой и временем в формате ГГГГММДД и
|
|
|
|
|
|
ЧЧММСС. В пакетных файлах Windows вы должны удвоить
|
2026-02-14 11:07:51 +01:00
|
|
|
|
символ \`%\`, например, result\-%%D.log. Чтобы использовать \`>>\`, вы должны
|
2025-12-13 19:34:07 +01:00
|
|
|
|
заключить имя в кавычки, например, \`\[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
|
2026-02-14 11:07:51 +01:00
|
|
|
|
Применяются те же соображения, что и для опции \`parity\`.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.PP
|
|
|
|
|
|
Эти опции являются необязательными и могут использоваться только один раз.
|
|
|
|
|
|
.SS z\-parity FILE [,FILE] ...
|
|
|
|
|
|
Определяет альтернативный файл и формат для хранения тройной четности.
|
|
|
|
|
|
.PP
|
2026-02-14 11:07:51 +01:00
|
|
|
|
Эта опция является альтернативой \`3\-parity\`, в основном предназначенной для
|
2025-12-13 19:34:07 +01:00
|
|
|
|
слабых процессоров, таких как ARM или AMD Phenom, Athlon и Opteron,
|
|
|
|
|
|
которые не поддерживают набор инструкций SSSE3. В таких случаях она
|
|
|
|
|
|
обеспечивает лучшую производительность.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Этот формат похож на тот, который используется ZFS RAIDZ3, но быстрее.
|
|
|
|
|
|
Как и ZFS, он не работает за пределами тройной четности.
|
|
|
|
|
|
.PP
|
2026-02-14 11:07:51 +01:00
|
|
|
|
При использовании \`3\-parity\` вы будете предупреждены, если рекомендуется использовать
|
|
|
|
|
|
формат \`z\-parity\` для повышения производительности.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.PP
|
|
|
|
|
|
Возможно преобразование из одного формата в другой путем настройки
|
|
|
|
|
|
файла конфигурации с желаемым файлом z\-parity или 3\-parity
|
2026-02-14 11:07:51 +01:00
|
|
|
|
и использования \`fix\` для его воссоздания.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.SS content FILE
|
|
|
|
|
|
Определяет файл для использования для хранения списка и контрольных сумм всех
|
|
|
|
|
|
файлов, присутствующих в вашем дисковом массиве.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Он может быть размещен на диске, используемом для данных, четности, или
|
|
|
|
|
|
любом другом доступном диске.
|
|
|
|
|
|
Если вы используете диск данных, этот файл автоматически исключается
|
|
|
|
|
|
из процесса \`sync\`.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Эта опция является обязательной и может использоваться несколько раз для сохранения
|
|
|
|
|
|
нескольких копий одного и того же файла.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вы должны хранить как минимум одну копию для каждого используемого диска четности
|
|
|
|
|
|
плюс одну. Использование дополнительных копий не повредит.
|
|
|
|
|
|
.SS data NAME DIR
|
|
|
|
|
|
Определяет имя и точку монтирования дисков данных в
|
|
|
|
|
|
массиве. NAME используется для идентификации диска и должно
|
|
|
|
|
|
быть уникальным. DIR — это точка монтирования диска в
|
|
|
|
|
|
файловой системе.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вы можете изменять точку монтирования по мере необходимости, пока вы
|
|
|
|
|
|
сохраняете NAME фиксированным.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вы должны использовать одну опцию для каждого диска данных в массиве.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вы можете переименовать диск позже, изменив NAME непосредственно
|
2026-02-14 11:07:51 +01:00
|
|
|
|
в файле конфигурации, а затем запустив команду \`sync\`.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
В случае переименования, ассоциация выполняется с использованием сохраненного
|
|
|
|
|
|
UUID дисков.
|
2026-03-16 23:43:14 +01:00
|
|
|
|
.SS extra NAME DIR
|
|
|
|
|
|
Определяет имя и точку монтирования дополнительных дисков для
|
|
|
|
|
|
мониторинга с помощью команд \`smart\` и \`probe\`.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Это полезно для мониторинга дисков, которые не являются частью
|
|
|
|
|
|
массива, но необходимы для функционирования системы, таких как
|
|
|
|
|
|
загрузочный диск.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Обратите внимание, что такие диски не затрагиваются командами \`up\` и
|
|
|
|
|
|
\`down\`, так как предполагается, что они всегда вращаются.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-01-10 16:57:04 +01:00
|
|
|
|
Шаблоны обеспечивают гибкий способ фильтрации файлов для включения или
|
|
|
|
|
|
исключения. Используя символы подстановки (globbing), вы можете определить правила,
|
|
|
|
|
|
которые соответствуют конкретным именам файлов или целым структурам каталогов без
|
|
|
|
|
|
ручного перечисления каждого пути.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Вопросительный знак \`?\` соответствует любому одиночному символу, кроме
|
|
|
|
|
|
разделителя каталогов. Это делает его полезным для сопоставления имен файлов с
|
|
|
|
|
|
переменными символами, при этом шаблон ограничивается одним уровнем каталога.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Одиночная звездочка \`*\` соответствует любой последовательности символов, но, как и
|
|
|
|
|
|
вопросительный знак, она никогда не пересекает границы каталогов. Она останавливается на
|
|
|
|
|
|
прямой косой черте, что делает ее подходящей для сопоставления внутри одного
|
|
|
|
|
|
компонента пути. Это стандартное поведение подстановочных знаков, знакомое
|
|
|
|
|
|
по оболочке (shell).
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Двойная звездочка \`**\` более мощная, она соответствует любой последовательности
|
|
|
|
|
|
символов, включая разделители каталогов. Это позволяет шаблонам соответствовать
|
|
|
|
|
|
нескольким уровням каталогов. Когда \`**\` появляется непосредственно в
|
|
|
|
|
|
шаблоне, она может соответствовать нулю или более символам, включая косые черты между
|
|
|
|
|
|
окружающим буквальным текстом.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Наиболее важным использованием \`**\` является специальная форма \`/**/\`. Она соответствует
|
|
|
|
|
|
нулю или более полным уровням каталогов, что позволяет сопоставлять файлы
|
|
|
|
|
|
на любой глубине в дереве каталогов, не зная точной структуры пути.
|
|
|
|
|
|
Например, шаблон \`src/**/main.js\` соответствует \`src/main.js\` (пропуск
|
|
|
|
|
|
ноля каталогов), \`src/ui/main.js\` (пропуск одного каталога) и
|
|
|
|
|
|
\`src/ui/components/main.js\` (пропуск двух каталогов).
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Классы символов с использованием квадратных скобок \`[]\` соответствуют одному символу из
|
|
|
|
|
|
заданного набора или диапазона. Как и другие односимвольные шаблоны, они
|
|
|
|
|
|
не соответствуют разделителям каталогов. Классы поддерживают диапазоны и отрицание с
|
|
|
|
|
|
использованием восклицательного знака.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Фундаментальное различие, которое следует помнить, заключается в том, что \`*\`, \`?\` и классы
|
|
|
|
|
|
символов соблюдают границы каталогов и соответствуют только внутри одного
|
|
|
|
|
|
компонента пути, в то время как \`**\` — единственный шаблон, который может соответствовать
|
|
|
|
|
|
через разделители каталогов.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.PP
|
|
|
|
|
|
Существует четыре различных типа шаблонов:
|
|
|
|
|
|
.TP
|
|
|
|
|
|
.B FILE
|
2026-01-10 16:57:04 +01:00
|
|
|
|
Выбирает любой файл с именем FILE.
|
|
|
|
|
|
Этот шаблон применяется только к файлам, но не к директориям.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.TP
|
|
|
|
|
|
.B DIR/
|
2026-01-10 16:57:04 +01:00
|
|
|
|
Выбирает любую директорию с именем DIR и все, что находится внутри нее.
|
|
|
|
|
|
Этот шаблон применяется только к директориям, но не к файлам.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.TP
|
|
|
|
|
|
.B /PATH/FILE
|
2026-01-10 16:57:04 +01:00
|
|
|
|
Выбирает точно указанный путь к файлу. Этот шаблон применяется
|
|
|
|
|
|
только к файлам, но не к директориям.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.TP
|
|
|
|
|
|
.B /PATH/DIR/
|
2026-01-10 16:57:04 +01:00
|
|
|
|
Выбирает точно указанный путь к директории и все, что находится
|
|
|
|
|
|
внутри нее. Этот шаблон применяется только к директориям, но не к файлам.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.PP
|
|
|
|
|
|
Когда вы указываете абсолютный путь, начинающийся с /, он применяется к
|
|
|
|
|
|
корневому каталогу массива, а не к корневому каталогу локальной файловой системы.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
В Windows вы можете использовать обратную косую черту \\ вместо прямой /.
|
|
|
|
|
|
Системные каталоги Windows, точки соединения, точки монтирования и другие
|
|
|
|
|
|
специальные каталоги Windows рассматриваются как файлы, что означает, что для их
|
|
|
|
|
|
исключения вы должны использовать правило файла, а не каталога.
|
|
|
|
|
|
.PP
|
2026-02-14 11:07:51 +01:00
|
|
|
|
Если имя файла содержит символы \`*\`, \`?\`, \`[\`,
|
|
|
|
|
|
или \`]\`, вы должны экранировать их, чтобы избежать их интерпретации как
|
|
|
|
|
|
символов глоббинга. В Unix символом экранирования является \`\\\`; в Windows — \`^\`.
|
2025-12-13 19:34:07 +01:00
|
|
|
|
Когда шаблон находится в командной строке, вы должны удвоить символ
|
|
|
|
|
|
экранирования, чтобы избежать его интерпретации командной оболочкой.
|
|
|
|
|
|
.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 при использовании символов глоббинга в командной строке вы должны
|
|
|
|
|
|
заключить их в кавычки, чтобы предотвратить их расширение оболочкой.
|
2026-01-10 16:30:35 +01:00
|
|
|
|
.SH IGNORE FILE
|
|
|
|
|
|
В дополнение к глобальным правилам в файле конфигурации, вы можете
|
|
|
|
|
|
размещать файлы \`.snapraidignore\` в любом каталоге внутри массива для
|
|
|
|
|
|
определения децентрализованных правил исключения.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Правила, определенные в \`.snapraidignore\`, применяются после правил в
|
|
|
|
|
|
конфигурационном файле. Это означает, что они имеют более высокий приоритет
|
|
|
|
|
|
и могут использоваться для исключения файлов, которые ранее были включены
|
|
|
|
|
|
глобальной конфигурацией. Фактически, если локальное правило совпадает, файл
|
|
|
|
|
|
исключается независимо от глобальных настроек включения.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Логика шаблонов в \`.snapraidignore\` повторяет глобальную конфигурацию, но
|
|
|
|
|
|
привязывает шаблоны к каталогу, в котором находится файл:
|
|
|
|
|
|
.TP
|
|
|
|
|
|
.B FILE
|
|
|
|
|
|
Выбирает любой файл с именем FILE в этом каталоге или ниже.
|
|
|
|
|
|
Здесь действуют те же правила подстановки, что и в глобальном шаблоне.
|
|
|
|
|
|
.TP
|
|
|
|
|
|
.B DIR/
|
|
|
|
|
|
Выбирает любой каталог с именем DIR и все его содержимое,
|
|
|
|
|
|
находящееся в этом каталоге или ниже.
|
|
|
|
|
|
.TP
|
|
|
|
|
|
.B /PATH/FILE
|
|
|
|
|
|
Выбирает точно указанный файл относительно местоположения
|
|
|
|
|
|
файла \`.snapraidignore\`.
|
|
|
|
|
|
.TP
|
|
|
|
|
|
.B /PATH/DIR/
|
|
|
|
|
|
Выбирает точно указанный каталог и все его содержимое
|
|
|
|
|
|
относительно местоположения файла \`.snapraidignore\`.
|
|
|
|
|
|
.PP
|
|
|
|
|
|
В отличие от глобальной конфигурации, файлы \`.snapraidignore\` поддерживают
|
|
|
|
|
|
только правила исключения; вы не можете использовать шаблоны \`include\` или отрицание (!).
|
|
|
|
|
|
.PP
|
|
|
|
|
|
Например, если у вас есть \`.snapraidignore\` в \`/mnt/disk1/projects/\`:
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.RS 4
|
|
|
|
|
|
# Исключает ТОЛЬКО /mnt/disk1/projects/output.bin
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.PD
|
|
|
|
|
|
/output.bin
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.PD
|
2026-02-14 11:07:51 +01:00
|
|
|
|
# Исключает любой каталог с именем \`build\` внутри projects/
|
2026-01-10 16:30:35 +01:00
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.PD
|
|
|
|
|
|
build/
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.PD
|
|
|
|
|
|
# Исключает любой .tmp файл внутри projects/ или его подпапок
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PP
|
|
|
|
|
|
.PD
|
|
|
|
|
|
*.tmp
|
|
|
|
|
|
.PD 0
|
|
|
|
|
|
.PD
|
|
|
|
|
|
.RE
|
2025-12-13 19:34:07 +01:00
|
|
|
|
.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
|
2026-01-26 16:46:02 +01:00
|
|
|
|
snapraid_log(1), snapraidd(1)
|