mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 02:49:02 -04:00
2668 lines
139 KiB
Groff
2668 lines
139 KiB
Groff
.TH "SnapRAID Резервне копіювання для дискових масивів" 1
|
||
.SH NAME
|
||
snapraid \- SnapRAID Резервне копіювання для дискових масивів
|
||
.SH Короткий опис (SYNOPSIS)
|
||
snapraid [\-c, \-\-conf CONFIG]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-f, \-\-filter PATTERN] [\-d, \-\-filter\-disk NAME]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-m, \-\-filter\-missing] [\-e, \-\-filter\-error]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-a, \-\-audit\-only] [\-h, \-\-pre\-hash] [\-i, \-\-import DIR]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-p, \-\-plan PERC|bad|new|full]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-o, \-\-older\-than DAYS] [\-l, \-\-log FILE]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-s, \-\-spin\-down\-on\-error] [\-w, \-\-bw\-limit RATE]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-t, \-\-tail]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-Z, \-\-force\-zero] [\-E, \-\-force\-empty]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-U, \-\-force\-uuid] [\-D, \-\-force\-device]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-N, \-\-force\-nocopy] [\-F, \-\-force\-full]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-R, \-\-force\-realloc] [\-W, \-\-force\-realloc\-tail]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-S, \-\-start BLKSTART] [\-B, \-\-count BLKCOUNT]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-L, \-\-error\-limit NUMBER]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-A, \-\-stats]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[\-v, \-\-verbose] [\-q, \-\-quiet]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
status|smart|probe|up|down|diff|sync|scrub|fix|check
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
|list|dup|pool|devices|touch|rehash|locate
|
||
.PD 0
|
||
.PD
|
||
.PP
|
||
snapraid [\-V, \-\-version] [\-H, \-\-help] [\-C, \-\-gen\-conf CONTENT]
|
||
.PD 0
|
||
.PD
|
||
.SH Опис (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
|
||
Головне обмеження полягає в тому, що у разі збою диска ви можете відновити дані лише до
|
||
стану останньої операції синхронізації (\`sync\`). Будь\-які дані, додані або змінені
|
||
з моменту останньої синхронізації, які розташовані на пошкодженому диску, будуть втрачені.
|
||
.PP
|
||
Відповідно, SnapRAID насамперед підходить для даних, які рідко змінюються.
|
||
.PP
|
||
Для даних, які вже існували на момент останньої синхронізації, надійність відновлення залежить
|
||
від того, чи використовується опція знімка (\`snapshot\`):
|
||
.PD 0
|
||
.IP \(bu
|
||
За наявності підтримки знімків (доступно на Btrfs, ZFS, Bcachefs та NTFS),
|
||
SnapRAID може автоматично підтримувати незалежну заморожену копію
|
||
кожної підтримуваної файлової системи даних.
|
||
Це гарантує, що навіть якщо ви зміните або видалите файли у вашій живій файловій системі
|
||
під час або після синхронізації, процес відновлення залишиться узгодженим і надійним.
|
||
.PD
|
||
.PD 0
|
||
.IP \(bu
|
||
Без підтримки знімків видалення або зміна файлів після \`sync\`
|
||
може запобігти повному відновленню інших дисків, що зазнали збою. Це відбувається
|
||
тому, що парність більше не відповідає зміненим файлам, навіть якщо
|
||
ці файли знаходяться не на пошкодженому диску. З іншого боку, щойно додані
|
||
файли не перешкоджають відновленню вже існуючих файлів.
|
||
.PD
|
||
.PP
|
||
Інші обмеження SnapRAID:
|
||
.PD 0
|
||
.IP \(bu
|
||
З SnapRAID у вас все ще є окремі файлові системи для
|
||
кожного диска. З RAID ви отримуєте одну велику файлову
|
||
систему.
|
||
.IP \(bu
|
||
SnapRAID не використовує чергування (striping) даних.
|
||
З RAID ви отримуєте прискорення завдяки чергуванню.
|
||
.IP \(bu
|
||
SnapRAID не підтримує відновлення в реальному часі.
|
||
З RAID вам не потрібно припиняти роботу, коли диск
|
||
виходить з ладу.
|
||
.IP \(bu
|
||
SnapRAID може відновлювати дані лише з обмеженої кількості
|
||
дисків, що вийшли з ладу. З резервним копіюванням ви
|
||
можете відновити дані навіть після повної відмови
|
||
всього дискового масиву.
|
||
.IP \(bu
|
||
Зберігаються лише імена файлів, часові мітки, символічні
|
||
та жорсткі посилання. Права доступу, власники та
|
||
розширені атрибути не зберігаються.
|
||
.PD
|
||
.SH Початок роботи (GETTING STARTED)
|
||
Щоб використовувати SnapRAID, спершу потрібно вибрати один диск
|
||
у вашому дисковому масиві, щоб присвятити його інформації
|
||
\`парності\`. З одним диском для парності ви зможете відновити
|
||
дані після відмови одного диска, подібно до RAID5.
|
||
.PP
|
||
Якщо ви хочете відновити дані після більшої кількості
|
||
дисків, що відмовили, подібно до RAID6, ви повинні зарезервувати
|
||
додаткові диски для парності. Кожен додатковий диск парності
|
||
дозволяє відновити дані після відмови ще одного диска.
|
||
.PP
|
||
Як диски парності ви повинні вибрати найбільші диски в масиві,
|
||
оскільки інформація парності може зрости до розміру найбільшого
|
||
диска даних у масиві.
|
||
.PP
|
||
Ці диски будуть присвячені зберіганню файлів \`парності\`. Ви
|
||
не повинні зберігати на них свої дані.
|
||
.PP
|
||
Потім ви повинні визначити диски \`даних\`, які ви хочете
|
||
захистити за допомогою SnapRAID. Захист є більш ефективним,
|
||
якщо ці диски містять дані, що рідко змінюються. З цієї причини
|
||
краще НЕ включати диск Windows C:\\ або каталоги Unix /home,
|
||
/var та /tmp.
|
||
.PP
|
||
Список файлів зберігається у файлах \`content\` (вміст), які
|
||
зазвичай зберігаються на дисках даних, парності або завантажувальних
|
||
дисках.
|
||
Цей файл містить деталі вашої резервної копії, включаючи
|
||
всі контрольні суми для перевірки її цілісності.
|
||
Файл \`content\` зберігається в кількох копіях, і кожна копія
|
||
повинна бути на окремому диску, щоб гарантувати, що навіть у
|
||
разі відмови кількох дисків, принаймні одна копія буде доступна.
|
||
.PP
|
||
Наприклад, припустимо, вас цікавить лише один рівень захисту
|
||
парності, а ваші диски розташовані за адресами:
|
||
.PP
|
||
.RS 4
|
||
/mnt/diskp <\- вибраний диск для парності
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
/mnt/disk1 <\- перший диск для захисту
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
/mnt/disk2 <\- другий диск для захисту
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
/mnt/disk3 <\- третій диск для захисту
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Ви повинні створити конфігураційний файл /etc/snapraid.conf з
|
||
наступними опціями:
|
||
.PP
|
||
.RS 4
|
||
parity /mnt/diskp/snapraid.parity
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content /var/snapraid/snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content /mnt/disk1/snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content /mnt/disk2/snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d1 /mnt/disk1/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d2 /mnt/disk2/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d3 /mnt/disk3/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо ви працюєте в Windows, ви повинні використовувати формат
|
||
шляху Windows, з літерами дисків та зворотними скісними рисками
|
||
замість прямих.
|
||
.PP
|
||
.RS 4
|
||
parity E:\\snapraid.parity
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content C:\\snapraid\\snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content F:\\array\\snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content G:\\array\\snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d1 F:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d2 G:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d3 H:\\array\\
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо у вас багато дисків і закінчилися літери дисків, ви можете
|
||
монтувати диски безпосередньо у вкладені папки. Див:
|
||
.PP
|
||
.RS 4
|
||
https://www.google.com/search?q=Windows+mount+point
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
На цьому етапі ви готові запустити команду \`sync\` для побудови
|
||
інформації парності.
|
||
.PP
|
||
.RS 4
|
||
snapraid sync
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Цей процес може зайняти кілька годин вперше, залежно від розміру
|
||
даних, які вже є на дисках. Якщо диски порожні, процес
|
||
відбувається миттєво.
|
||
.PP
|
||
Ви можете зупинити його в будь\-який час, натиснувши Ctrl+C,
|
||
і під час наступного запуску він відновить роботу з місця,
|
||
де був перерваний.
|
||
.PP
|
||
Коли ця команда завершиться, ваші дані БЕЗПЕЧНІ.
|
||
.PP
|
||
Тепер ви можете почати використовувати свій масив як вам подобається
|
||
і періодично оновлювати інформацію парності, запускаючи команду \`sync\`.
|
||
.SS Скрабування (Scrubbing)
|
||
Щоб періодично перевіряти дані та парність на наявність помилок,
|
||
ви можете запустити команду \`scrub\`.
|
||
.PP
|
||
.RS 4
|
||
snapraid scrub
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Ця команда порівнює дані у вашому масиві з хешем, обчисленим
|
||
під час команди \`sync\`, для перевірки цілісності.
|
||
.PP
|
||
Кожен запуск команди перевіряє приблизно 8% масиву, виключаючи
|
||
дані, які вже були скрабовані протягом попередніх 10 днів.
|
||
Ви можете використовувати опцію \-p, \-\-plan, щоб вказати іншу
|
||
кількість, і опцію \-o, \-\-older\-than, щоб вказати інший вік
|
||
у днях.
|
||
Наприклад, щоб перевірити 5% масиву на блоки старші за 20 днів,
|
||
використовуйте:
|
||
.PP
|
||
.RS 4
|
||
snapraid \-p 5 \-o 20 scrub
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо під час процесу виявлено приховані помилки або помилки
|
||
введення/виведення, відповідні блоки позначаються як погані у
|
||
файлі \`content\` і перераховуються у команді \`status\`.
|
||
.PP
|
||
.RS 4
|
||
snapraid status
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Щоб їх виправити, ви можете використовувати команду \`fix\`,
|
||
фільтруючи погані блоки за допомогою опції \-e, \-\-filter\-error:
|
||
.PP
|
||
.RS 4
|
||
snapraid \-e fix
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Під час наступного \`scrub\` помилки зникнуть зі звіту \`status\`,
|
||
якщо вони справді виправлені. Щоб зробити це швидше, ви можете
|
||
використовувати \-p bad, щоб скрабувати лише блоки, позначені
|
||
як погані.
|
||
.PP
|
||
.RS 4
|
||
snapraid \-p bad scrub
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Запуск \`scrub\` на несинхронізованому масиві може повідомити
|
||
про помилки, спричинені видаленими або зміненими файлами.
|
||
Ці помилки відображаються у виведенні \`scrub\`, але пов\'язані
|
||
блоки не позначаються як погані.
|
||
.SS Об\'єднання (Pooling)
|
||
Примітка: Функція об\'єднання, описана нижче, була замінена
|
||
інструментом mergerfs, який тепер є рекомендованою опцією для
|
||
користувачів Linux у спільноті SnapRAID. Mergerfs забезпечує
|
||
більш гнучкий та ефективний спосіб об\'єднання кількох дисків
|
||
в єдину уніфіковану точку монтування, дозволяючи безперешкодний
|
||
доступ до файлів у вашому масиві без використання символічних
|
||
посилань. Він добре інтегрується з SnapRAID для захисту
|
||
парності і зазвичай використовується в налаштуваннях, таких
|
||
як OpenMediaVault (OMV) або користувацьких конфігураціях NAS.
|
||
.PP
|
||
Щоб відобразити всі файли у вашому масиві в одному дереві
|
||
каталогів, ви можете ввімкнути функцію \`pooling\` (об\'єднання).
|
||
Вона створює віртуальне представлення всіх файлів у вашому
|
||
масиві лише для читання, використовуючи символічні посилання.
|
||
.PP
|
||
Ви можете налаштувати каталог \`pooling\` у конфігураційному
|
||
файлі за допомогою:
|
||
.PP
|
||
.RS 4
|
||
pool /pool
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
або, якщо ви працюєте в Windows, за допомогою:
|
||
.PP
|
||
.RS 4
|
||
pool C:\\pool
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
а потім запустити команду \`pool\` для створення або оновлення
|
||
віртуального представлення.
|
||
.PP
|
||
.RS 4
|
||
snapraid pool
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо ви використовуєте платформу Unix і хочете надати спільний
|
||
доступ до цього каталогу через мережу для машин Windows або
|
||
Unix, ви повинні додати наступні опції до вашого
|
||
/etc/samba/smb.conf:
|
||
.PP
|
||
.RS 4
|
||
# У глобальному розділі smb.conf
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
unix extensions = no
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
.RS 4
|
||
# У розділі спільного доступу smb.conf
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
[pool]
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
comment = Pool
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
path = /pool
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
read only = yes
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
guest ok = yes
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
wide links = yes
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
follow symlinks = yes
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
У Windows спільний доступ до символічних посилань через мережу
|
||
вимагає від клієнтів віддаленого їх розпізнавання. Щоб
|
||
увімкнути це, окрім спільного доступу до каталогу pool, ви
|
||
також повинні надати спільний доступ до всіх дисків незалежно,
|
||
використовуючи імена дисків, визначені у конфігураційному
|
||
файлі, як точки спільного доступу. Ви також повинні вказати у
|
||
опції \`share\` конфігураційного файлу шлях Windows UNC, який
|
||
потрібен віддаленим клієнтам для доступу до цих спільних дисків.
|
||
.PP
|
||
Наприклад, працюючи з сервера з іменем \`darkstar\`, ви можете
|
||
використовувати опції:
|
||
.PP
|
||
.RS 4
|
||
data d1 F:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d2 G:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d3 H:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
pool C:\\pool
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
share \\\\darkstar
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
і надати спільний доступ до наступних каталогів через мережу:
|
||
.PP
|
||
.RS 4
|
||
\\\\darkstar\\pool \-> C:\\pool
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
\\\\darkstar\\d1 \-> F:\\array
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
\\\\darkstar\\d2 \-> G:\\array
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
\\\\darkstar\\d3 \-> H:\\array
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
щоб дозволити віддаленим клієнтам отримати доступ до всіх файлів
|
||
за адресою \\\\darkstar\\pool.
|
||
.PP
|
||
Вам також може знадобитися налаштувати віддалені клієнти, щоб
|
||
увімкнути доступ до віддалених символічних посилань за допомогою
|
||
команди:
|
||
.PP
|
||
.RS 4
|
||
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SS Відновлення видалених файлів (Undeleting)
|
||
SnapRAID функціонує більше як програма резервного копіювання,
|
||
ніж система RAID, і його можна використовувати для відновлення
|
||
або повернення файлів до їх попереднього стану за допомогою
|
||
опції \-f, \-\-filter:
|
||
.PP
|
||
.RS 4
|
||
snapraid fix \-f FILE
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
або для каталогу:
|
||
.PP
|
||
.RS 4
|
||
snapraid fix \-f DIR/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Ви також можете використовувати його для відновлення лише випадково
|
||
видалених файлів усередині каталогу за допомогою опції \-m,
|
||
\-\-filter\-missing, яка відновлює лише відсутні файли,
|
||
залишаючи всі інші недоторканими.
|
||
.PP
|
||
.RS 4
|
||
snapraid fix \-m \-f DIR/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Або для відновлення всіх видалених файлів на всіх дисках за допомогою:
|
||
.PP
|
||
.RS 4
|
||
snapraid fix \-m
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SS Відновлення (Recovering)
|
||
Сталося найгірше, і ви втратили один або кілька дисків!
|
||
.PP
|
||
НЕ ПАНІКУЙТЕ! Ви зможете їх відновити!
|
||
.PP
|
||
Перше, що ви повинні зробити, це уникнути подальших змін у
|
||
вашому дисковому масиві. Вимкніть будь\-які віддалені
|
||
підключення до нього та будь\-які заплановані процеси,
|
||
включаючи будь\-яку заплановану нічну синхронізацію або
|
||
скрабування SnapRAID.
|
||
.PP
|
||
Потім виконайте наступні кроки.
|
||
.SS КРОК 1 \-> Переналаштування
|
||
Вам потрібен деякий простір для відновлення, в ідеалі на
|
||
додаткових запасних дисках, але зовнішній USB\-диск або
|
||
віддалений диск підійде.
|
||
.PP
|
||
Змініть конфігураційний файл SnapRAID, щоб опція \`data\` або
|
||
\`parity\` диска, що вийшов з ладу, вказувала на місце розташування
|
||
з достатньою кількістю вільного місця для відновлення файлів.
|
||
.PP
|
||
Наприклад, якщо диск \`d1\` вийшов з ладу, змініть з:
|
||
.PP
|
||
.RS 4
|
||
data d1 /mnt/disk1/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
на:
|
||
.PP
|
||
.RS 4
|
||
data d1 /mnt/new_spare_disk/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо диск, який потрібно відновити, є диском парності, оновіть
|
||
відповідну опцію \`parity\`.
|
||
Якщо у вас кілька дисків, що вийшли з ладу, оновіть усі їхні
|
||
конфігураційні опції.
|
||
.SS КРОК 2 \-> Виправлення (Fix)
|
||
Запустіть команду fix, зберігаючи журнал у зовнішньому файлі
|
||
за допомогою:
|
||
.PP
|
||
.RS 4
|
||
snapraid \-d NAME \-l fix.log fix
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Де NAME — це ім\'я диска, наприклад \`d1\` у нашому попередньому
|
||
прикладі.
|
||
Якщо диск, який потрібно відновити, є диском парності,
|
||
використовуйте імена \`parity\`, \`2\-parity\`, тощо.
|
||
Якщо у вас кілька дисків, що вийшли з ладу, використовуйте
|
||
кілька опцій \-d, щоб вказати їх усі.
|
||
.PP
|
||
Ця команда займе багато часу.
|
||
.PP
|
||
Переконайтеся, що у вас є кілька гігабайт вільного місця для
|
||
зберігання файлу fix.log.
|
||
Запустіть її з диска з достатньою кількістю вільного місця.
|
||
.PP
|
||
Тепер ви відновили все, що можна відновити. Якщо деякі файли
|
||
частково або повністю неможливо відновити, вони будуть перейменовані
|
||
з додаванням розширення \`.unrecoverable\`.
|
||
.PP
|
||
Ви можете знайти детальний список усіх невідновлюваних блоків
|
||
у файлі fix.log, перевіривши всі рядки, що починаються з
|
||
\`unrecoverable:\`.
|
||
.PP
|
||
Якщо ви не задоволені відновленням, ви можете повторити його
|
||
стільки разів, скільки забажаєте.
|
||
.PP
|
||
Наприклад, якщо ви видалили файли з масиву після останньої
|
||
\`sync\`, це може призвести до того, що деякі файли не будуть
|
||
відновлені.
|
||
У цьому випадку ви можете повторити \`fix\`, використовуючи
|
||
опцію \-i, \-\-import, вказавши, де ці файли знаходяться зараз,
|
||
щоб знову включити їх у процес відновлення.
|
||
.PP
|
||
Якщо ви задоволені відновленням, ви можете продовжити, але
|
||
зауважте, що після синхронізації ви більше не зможете повторити
|
||
команду \`fix\`!
|
||
.SS КРОК 3 \-> Перевірка (Check)
|
||
Як обережну перевірку, ви можете тепер запустити команду
|
||
\`check\`, щоб переконатися, що на відновленому диску все
|
||
правильно.
|
||
.PP
|
||
.RS 4
|
||
snapraid \-d NAME \-a check
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Де NAME — це ім\'я диска, наприклад \`d1\` у нашому попередньому
|
||
прикладі.
|
||
.PP
|
||
Опції \-d та \-a вказують SnapRAID перевіряти лише вказаний
|
||
диск та ігнорувати всі дані парності.
|
||
.PP
|
||
Ця команда займе багато часу, але якщо ви не надто обережні,
|
||
ви можете її пропустити.
|
||
.SS КРОК 4 \-> Синхронізація (Sync)
|
||
Запустіть команду \`sync\`, щоб повторно синхронізувати масив
|
||
з новим диском.
|
||
.PP
|
||
.RS 4
|
||
snapraid sync
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо все відновлено, ця команда виконується миттєво.
|
||
.SH Команди (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
|
||
Включає інформацію про фрагментацію парності, вік блоків без
|
||
перевірки та всі записані приховані помилки, виявлені під
|
||
час скрабування.
|
||
.PP
|
||
Представлена інформація стосується останнього часу, коли ви
|
||
запустили \`sync\`. Пізніші модифікації не враховуються.
|
||
.PP
|
||
Якщо виявлено погані блоки, перераховуються їхні номери блоків.
|
||
Щоб їх виправити, ви можете використовувати команду \`fix \-e\`.
|
||
.PP
|
||
Також показує графік, що представляє останній час, коли
|
||
кожен блок був скрабований або синхронізований. Скрабовані
|
||
блоки позначаються символом \`*\`, блоки, синхронізовані,
|
||
але ще не скрабовані, \- \`o\`.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS smart
|
||
Виводить звіт SMART усіх дисків у системі.
|
||
.PP
|
||
Включає оцінку ймовірності відмови протягом наступного року,
|
||
дозволяючи вам планувати своєчасну заміну дисків, які
|
||
виявляють підозрілі атрибути.
|
||
.PP
|
||
Ця оцінка ймовірності отримана шляхом кореляції атрибутів
|
||
SMART дисків з даними Backblaze, доступними за адресою:
|
||
.PP
|
||
.RS 4
|
||
https://www.backblaze.com/hard\-drive\-test\-data.html
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо SMART повідомляє, що диск виходить з ладу, для цього
|
||
диска виводиться \`FAIL\` або \`PREFAIL\`, і SnapRAID повертає
|
||
помилку. У цьому випадку наполегливо рекомендується негайна
|
||
заміна диска.
|
||
.PP
|
||
Інші можливі рядки стану:
|
||
.RS 4
|
||
.PD 0
|
||
.HP 4
|
||
.I logfail
|
||
У минулому деякі атрибути були нижчими за
|
||
поріг.
|
||
.HP 4
|
||
.I logerr
|
||
Журнал помилок пристрою містить помилки.
|
||
.HP 4
|
||
.I selferr
|
||
Журнал самотестування пристрою містить помилки.
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо вказано опцію \-v, \-\-verbose, надається глибший
|
||
статистичний аналіз. Цей аналіз може допомогти вам вирішити,
|
||
чи потрібна вам більша або менша парність.
|
||
.PP
|
||
Ця команда використовує інструмент \`smartctl\` і еквівалентна
|
||
запуску \`smartctl \-a\` на всіх пристроях.
|
||
.PP
|
||
Якщо ваші пристрої не виявляються автоматично правильно, ви
|
||
можете вказати користувацьку команду, використовуючи опцію
|
||
\`smartctl\` у конфігураційному файлі.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS probe
|
||
Виводить стан ЖИВЛЕННЯ всіх дисків у системі.
|
||
.PP
|
||
\`Standby\` означає, що диск не обертається. \`Active\` означає,
|
||
що диск обертається.
|
||
.PP
|
||
Ця команда використовує інструмент \`smartctl\` і еквівалентна
|
||
запуску \`smartctl \-n standby \-i\` на всіх пристроях.
|
||
.PP
|
||
Якщо ваші пристрої не виявляються автоматично правильно, ви
|
||
можете вказати користувацьку команду, використовуючи опцію
|
||
\`smartctl\` у конфігураційному файлі.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS up
|
||
Розкручує всі диски масиву.
|
||
.PP
|
||
Ви можете розкрутити лише певні диски, використовуючи
|
||
опцію \-d, \-\-filter\-disk.
|
||
.PP
|
||
Одночасне розкручування всіх дисків вимагає багато енергії.
|
||
Переконайтеся, що ваш блок живлення може це витримати.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS down
|
||
Зупиняє всі диски масиву.
|
||
.PP
|
||
Ця команда використовує інструмент \`smartctl\` і еквівалентна
|
||
запуску \`smartctl \-s standby,now\` на всіх пристроях.
|
||
.PP
|
||
Ви можете зупинити лише певні диски, використовуючи
|
||
опцію \-d, \-\-filter\-disk.
|
||
.PP
|
||
Для автоматичної зупинки при помилці ви можете
|
||
використовувати опцію \-s, \-\-spin\-down\-on\-error з будь\-якою
|
||
іншою командою, що еквівалентно ручному запуску \`down\`
|
||
при виникненні помилки.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS diff
|
||
Виводить список усіх файлів, змінених з моменту останньої
|
||
\`sync\`, для яких необхідно перерахувати дані парності.
|
||
.PP
|
||
Ця команда не перевіряє дані файлів, а лише часову мітку
|
||
файлу, розмір та inode.
|
||
.PP
|
||
Після перерахування всіх змінених файлів представляється
|
||
зведення змін, згруповане за:
|
||
.RS 4
|
||
.PD 0
|
||
.HP 4
|
||
.I equal (рівні)
|
||
Файли, незмінені з попереднього стану.
|
||
.HP 4
|
||
.I added (додані)
|
||
Файли, додані, яких не було раніше.
|
||
.HP 4
|
||
.I removed (видалені)
|
||
Файли, видалені.
|
||
.HP 4
|
||
.I updated (оновлені)
|
||
Файли з іншим розміром або часовою
|
||
міткою, що означає, що вони були змінені.
|
||
.HP 4
|
||
.I moved (переміщені)
|
||
Файли, переміщені або перейменовані на тому ж
|
||
диску зі збереженням того ж inode. Вони ідентифікуються за
|
||
тим самим inode, розміром і міткою часу, але іншим шляхом.
|
||
Назва файлу також може відрізнятися.
|
||
.HP 4
|
||
.I copied (скопійовані)
|
||
Файли, скопійовані на той самий або інший диск, де
|
||
оригінальний файл все ще існує.
|
||
Вони ідентифікуються за однаковою назвою, розміром та міткою
|
||
часу.
|
||
Якщо мітка часу з точністю до часток секунди дорівнює нулю, для
|
||
ідентифікації має збігатися повний шлях, а не лише назва.
|
||
.HP 4
|
||
.I relocated (перерозміщені)
|
||
Файли, переміщені в інший каталог або на
|
||
інший диск, де оригінальний файл зник, а inode не зберігся.
|
||
Вони ідентифікуються за однаковою назвою, розміром та міткою часу.
|
||
Якщо мітка часу з точністю до часток секунди дорівнює нулю, для
|
||
ідентифікації має збігатися повний шлях. На відміну від файлів
|
||
\'moved\', перерозміщені файли вимагають, щоб назва файлу залишалася
|
||
незмінною.
|
||
.HP 4
|
||
.I restored (відновлені)
|
||
Файли з іншим inode, але зі збігом каталогу, назви,
|
||
розміру та мітки часу.
|
||
Зазвичай це файли, відновлені після видалення.
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо потрібна \`sync\`, код повернення процесу дорівнює 2,
|
||
замість стандартного 0. Код повернення 1 використовується для
|
||
загальної умови помилки.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS sync
|
||
Оновлює інформацію парності. Всі змінені файли у дисковому
|
||
масиві зчитуються, і відповідні дані парності оновлюються.
|
||
.PP
|
||
Ви можете зупинити цей процес у будь\-який час, натиснувши
|
||
Ctrl+C, не втрачаючи вже виконану роботу.
|
||
Під час наступного запуску процес \`sync\` відновить роботу
|
||
з місця, де був перерваний.
|
||
.PP
|
||
Якщо під час процесу виявлено приховані помилки або помилки
|
||
введення/виведення, відповідні блоки позначаються як погані.
|
||
.PP
|
||
Файли ідентифікуються за шляхом та/або inode та перевіряються
|
||
за розміром та часовою міткою.
|
||
Якщо розмір або часова мітка файлу відрізняються, дані
|
||
парності перераховуються для всього файлу.
|
||
Якщо файл переміщено або перейменовано на тому ж диску,
|
||
зберігаючи той самий inode, парність не перераховується.
|
||
Якщо файл переміщено на інший диск, парність перераховується,
|
||
але раніше обчислена інформація хешу зберігається.
|
||
.PP
|
||
Файли \`content\` та \`parity\` змінюються за потреби.
|
||
Файли в масиві НЕ змінюються.
|
||
.SS scrub
|
||
Скрабує масив, перевіряючи на наявність прихованих помилок
|
||
або помилок введення/виведення на дисках даних та парності.
|
||
.PP
|
||
Кожен виклик перевіряє приблизно 8% масиву, виключаючи
|
||
дані, які вже були скрабовані протягом останніх 10 днів.
|
||
Це означає, що скрабування раз на тиждень забезпечує
|
||
перевірку кожного біта даних принаймні раз на три місяці.
|
||
.PP
|
||
Ви можете визначити інший план скрабування або кількість
|
||
за допомогою опції \-p, \-\-plan, яка приймає:
|
||
bad \- Скрабувати блоки, позначені як погані.
|
||
new \- Скрабувати щойно синхронізовані блоки, які ще не були
|
||
.PP
|
||
.RS 4
|
||
скрабовані.
|
||
.RE
|
||
.RS 0
|
||
.PD 0
|
||
.HP 4
|
||
.I full
|
||
Скрабувати все.
|
||
.HP 4
|
||
.I 0\-100
|
||
Скрабувати вказаний відсоток блоків.
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Якщо ви вказуєте відсоткове значення, ви також можете
|
||
використовувати опцію \-o, \-\-older\-than, щоб визначити,
|
||
яким має бути вік блоку.
|
||
Найстаріші блоки скрабуються першими, забезпечуючи оптимальну
|
||
перевірку.
|
||
Якщо ви хочете скрабувати лише щойно синхронізовані блоки,
|
||
які ще не були скрабовані, використовуйте опцію \`\-p new\`.
|
||
.PP
|
||
Щоб отримати деталі статусу скрабування, використовуйте команду
|
||
\`status\`.
|
||
.PP
|
||
Для будь\-якої знайденої прихованої помилки або помилки
|
||
введення/виведення відповідні блоки позначаються як погані
|
||
у файлі \`content\`.
|
||
Ці погані блоки перераховуються у \`status\` і можуть бути
|
||
виправлені за допомогою \`fix \-e\`.
|
||
Після виправлення, під час наступного скрабування, вони будуть
|
||
повторно перевірені, і якщо виявиться, що вони виправлені,
|
||
позначка \[dq]поганий\[dq] буде видалена.
|
||
Щоб скрабувати лише погані блоки, ви можете використовувати
|
||
команду \`scrub \-p bad\`.
|
||
.PP
|
||
Рекомендується запускати \`scrub\` лише на синхронізованому
|
||
масиві, щоб уникнути повідомлень про помилки, спричинені
|
||
несинхронізованими даними. Ці помилки розпізнаються як
|
||
не приховані помилки, і блоки не позначаються як погані,
|
||
але такі помилки повідомляються у виведенні команди.
|
||
.PP
|
||
Файл \`content\` змінюється для оновлення часу останньої перевірки
|
||
для кожного блоку та для позначення поганих блоків.
|
||
Файли \`parity\` НЕ змінюються.
|
||
Файли в масиві НЕ змінюються.
|
||
.SS fix
|
||
Відновлює всі файли та дані парності.
|
||
.PP
|
||
Усі файли та дані парності порівнюються зі станом, збереженим під час
|
||
останньої синхронізації \`sync\`. Якщо виявлено відмінність, стан повертається до збереженого.
|
||
.PP
|
||
УВАГА!
|
||
Команда \`fix\` не робить різниці між помилками та навмисними змінами.
|
||
Вона безумовно повертає стан файлів до моменту останньої синхронізації \`sync\`.
|
||
.PP
|
||
Якщо не вказано жодної іншої опції, обробляється весь масив.
|
||
Використовуйте опції фільтра, щоб вибрати підмножину файлів
|
||
або дисків для роботи.
|
||
.PP
|
||
Щоб виправити лише блоки, позначені як погані під час \`sync\`
|
||
та \`scrub\`, використовуйте опцію \-e, \-\-filter\-error.
|
||
На відміну від інших опцій фільтра, ця застосовує виправлення
|
||
лише до файлів, які не змінилися з моменту останньої \`sync\`.
|
||
.PP
|
||
SnapRAID перейменовує всі файли, які не можуть бути виправлені,
|
||
додаючи розширення \`.unrecoverable\`.
|
||
.PP
|
||
Перед виправленням сканується весь масив, щоб знайти будь\-які
|
||
файли, переміщені з моменту останньої \`sync\`.
|
||
Ці файли ідентифікуються за їхньою часовою міткою, ігноруючи
|
||
їхнє ім\'я та каталог, і використовуються в процесі відновлення,
|
||
якщо це необхідно.
|
||
Якщо ви перемістили деякі з них за межі масиву, ви можете
|
||
використовувати опцію \-i, \-\-import, щоб вказати додаткові
|
||
каталоги для сканування.
|
||
.PP
|
||
Файли ідентифікуються лише за шляхом, а не за inode.
|
||
.PP
|
||
Файл \`content\` НЕ змінюється.
|
||
Файли \`parity\` змінюються за потреби.
|
||
Файли в масиві змінюються за потреби.
|
||
.SS check
|
||
Перевіряє всі файли та дані парності.
|
||
.PP
|
||
Працює як \`fix\`, але лише імітує відновлення, і жодні зміни
|
||
не записуються в масив.
|
||
.PP
|
||
Ця команда насамперед призначена для ручної перевірки,
|
||
наприклад, після процесу відновлення або в інших особливих
|
||
умовах. Для періодичних та запланованих перевірок використовуйте
|
||
\`scrub\`.
|
||
.PP
|
||
Якщо ви використовуєте опцію \-a, \-\-audit\-only, перевіряється
|
||
лише хеш файлів, а дані парності ігноруються для швидшого
|
||
запуску.
|
||
.PP
|
||
Файли ідентифікуються лише за шляхом, а не за inode.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS list
|
||
Виводить список усіх файлів, що містяться в масиві на момент
|
||
останньої \`sync\`.
|
||
.PP
|
||
З \-v або \-\-verbose також показується час з точністю до
|
||
часток секунди.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS dup
|
||
Виводить список усіх дублікатів файлів. Два файли вважаються
|
||
рівними, якщо їхні хеші збігаються. Дані файлів не
|
||
зчитуються; використовуються лише попередньо обчислені хеші.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS pool
|
||
Створює або оновлює віртуальне представлення всіх файлів
|
||
у вашому дисковому масиві в каталозі \`pooling\`.
|
||
.PP
|
||
Файли не копіюються, а пов\'язуються за допомогою символічних
|
||
посилань.
|
||
.PP
|
||
Під час оновлення всі існуючі символічні посилання та порожні
|
||
підкаталоги видаляються та замінюються новим
|
||
представленням масиву. Будь\-які інші звичайні файли залишаються
|
||
на місці.
|
||
.PP
|
||
Нічого не змінюється за межами каталогу pool.
|
||
.SS devices
|
||
Виводить низькорівневі пристрої, які використовуються масивом.
|
||
.PP
|
||
Ця команда відображає асоціації пристроїв у масиві і в
|
||
основному призначена як інтерфейс для сценаріїв.
|
||
.PP
|
||
Перші два стовпці — це низькорівневий ідентифікатор пристрою
|
||
та шлях.
|
||
Наступні два стовпці — це високорівневий ідентифікатор пристрою
|
||
та шлях.
|
||
Останній стовпець — це ім\'я диска в масиві.
|
||
.PP
|
||
У більшості випадків у вас є один низькорівневий пристрій для
|
||
кожного диска в масиві, але в деяких складніших конфігураціях
|
||
у вас може бути кілька низькорівневих пристроїв, які використовуються
|
||
одним диском у масиві.
|
||
.PP
|
||
Нічого не змінюється.
|
||
.SS touch
|
||
Встановлює довільну часову мітку з точністю до часток секунди
|
||
для всіх файлів, у яких вона встановлена на нуль.
|
||
.PP
|
||
Це покращує здатність SnapRAID розпізнавати переміщені та
|
||
скопійовані файли, оскільки робить часову мітку майже
|
||
унікальною, зменшуючи можливі дублікати.
|
||
.PP
|
||
Зокрема, якщо часова мітка з точністю до часток секунди не
|
||
дорівнює нулю, переміщений або скопійований файл ідентифікується
|
||
як такий, якщо він збігається з іменем, розміром та часовою
|
||
міткою. Якщо часова мітка з точністю до часток секунди дорівнює
|
||
нулю, він вважається копією, лише якщо повний шлях, розмір та
|
||
часова мітка збігаються.
|
||
.PP
|
||
Часова мітка з точністю до секунди не змінюється, тому
|
||
всі дати та час ваших файлів будуть збережені.
|
||
.SS rehash
|
||
Планує повторне хешування всього масиву.
|
||
.PP
|
||
Ця команда змінює тип хешу, що використовується, як правило,
|
||
при оновленні з 32\-розрядної системи на 64\-розрядну, щоб
|
||
переключитися з MurmurHash3 на швидший SpookyHash.
|
||
.PP
|
||
Якщо ви вже використовуєте оптимальний хеш, ця команда
|
||
нічого не робить і повідомляє, що жодних дій не потрібно.
|
||
.PP
|
||
Повторне хешування не виконується негайно, а відбувається
|
||
поступово під час \`sync\` та \`scrub\`.
|
||
.PP
|
||
Ви можете перевірити стан повторного хешування за допомогою
|
||
\`status\`.
|
||
.PP
|
||
Під час повторного хешування SnapRAID зберігає повну
|
||
функціональність, за єдиним винятком, що \`dup\` не може
|
||
виявити дублікати файлів, використовуючи інший хеш.
|
||
.SS locate
|
||
Знаходить файли, що зберігаються на дисках парності. Для кожного знайденого
|
||
файлу виводиться його розташування всередині файлу парності та кількість
|
||
фрагментів, які він займає.
|
||
.PP
|
||
Ви можете використовувати параметр \-t, \-\-tail, щоб обмежити операцію файлами,
|
||
що займають зазначену кінцеву частину (хвіст) парності.
|
||
.PP
|
||
Якщо ви хочете перерозподілити ці файли, ви можете скористатися параметром
|
||
\-W, \-\-force\-realloc\-tail.
|
||
Майте на увазі, що такі файли не будуть захищені парністю під час процесу
|
||
перерозподілу.
|
||
.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
|
||
Вибирає план скрабування. Якщо PERC є числовим
|
||
значенням від 0 до 100, воно інтерпретується як відсоток
|
||
блоків для скрабування.
|
||
Замість відсотка ви можете вказати план: \`bad\`
|
||
скрабує погані блоки, \`new\` скрабує блоки, які ще не
|
||
були скрабовані, і \`full\` скрабує все.
|
||
Цю опцію можна використовувати лише з \`scrub\`.
|
||
.TP
|
||
.B \-o, \-\-older\-than DAYS
|
||
Вибирає найстарішу частину масиву для обробки у \`scrub\`.
|
||
DAYS — це мінімальний вік у днях для блоку, який
|
||
повинен бути скрабований; за замовчуванням 10.
|
||
Блоки, позначені як погані, завжди скрабуються
|
||
незалежно від цієї опції.
|
||
Цю опцію можна використовувати лише з \`scrub\`.
|
||
.TP
|
||
.B \-a, \-\-audit\-only
|
||
У \`check\` перевіряє хеш файлів без перевірки даних
|
||
парності. Якщо вас цікавить лише перевірка даних файлів,
|
||
ця опція може значно прискорити процес перевірки.
|
||
Цю опцію можна використовувати лише з \`check\`.
|
||
.TP
|
||
.B \-h, \-\-pre\-hash
|
||
У \`sync\` запускає попередню фазу хешування всіх нових
|
||
даних для додаткової перевірки перед обчисленням
|
||
парності. Зазвичай у \`sync\` не виконується попереднє
|
||
хешування, а нові дані хешуються безпосередньо перед
|
||
обчисленням парності, коли вони зчитуються вперше.
|
||
Цей процес відбувається, коли система знаходиться під
|
||
великим навантаженням, усі диски обертаються та ЦП
|
||
зайнятий. Це екстремальна умова для машини, і якщо вона
|
||
має приховану апаратну проблему, приховані помилки
|
||
можуть залишитися невиявленими, оскільки дані ще не
|
||
були хешовані.
|
||
Щоб уникнути цього ризику, ви можете ввімкнути режим
|
||
\`pre\-hash\`, щоб усі дані були зчитані двічі для
|
||
забезпечення їх цілісності.
|
||
Ця опція також перевіряє файли, переміщені в межах
|
||
масиву, щоб переконатися, що операція переміщення була
|
||
успішною, і, якщо необхідно, дозволяє запустити операцію
|
||
виправлення перед продовженням.
|
||
Цю опцію можна використовувати лише з \`sync\`.
|
||
.TP
|
||
.B \-i, \-\-import DIR
|
||
Імпортує з вказаного каталогу будь\-які файли, видалені
|
||
з масиву після останньої \`sync\`.
|
||
Якщо у вас все ще є такі файли, вони можуть бути
|
||
використані \`check\` та \`fix\` для покращення процесу
|
||
відновлення.
|
||
Файли зчитуються, включаючи підкаталоги, та
|
||
ідентифікуються незалежно від їхнього імені.
|
||
Цю опцію можна використовувати лише з \`check\` та \`fix\`.
|
||
.TP
|
||
.B \-s, \-\-spin\-down\-on\-error
|
||
При будь\-якій помилці зупиняє всі керовані диски перед
|
||
завершенням з ненульовим кодом стану. Це запобігає
|
||
тому, щоб диски залишалися активними та оберталися
|
||
після перерваної операції, допомагаючи уникнути
|
||
зайвого нагрівання та споживання електроенергії.
|
||
Використовуйте цю опцію, щоб забезпечити безпечну
|
||
зупинку дисків, навіть коли команда завершується
|
||
помилкою.
|
||
.TP
|
||
.B \-w, \-\-bw\-limit RATE
|
||
Застосовує глобальне обмеження пропускної здатності
|
||
для всіх дисків. RATE — це кількість байтів на секунду.
|
||
Ви можете вказати множник, такий як K, M або G (наприклад,
|
||
\-\-bw\-limit 1G).
|
||
.TP
|
||
.B \-t, \-\-tail SIZE
|
||
Обмежує список файлів тими, що використовують не більше зазначеного
|
||
розміру хвоста дисків парності.
|
||
Можна використовувати множники, такі як K, M, G або T (наприклад, \-\-tail 1G).
|
||
Цей параметр дійсний лише при використанні разом із командою \`locate\`.
|
||
.TP
|
||
.B \-A, \-\-stats
|
||
Вмикає розширений перегляд стану, який показує
|
||
додаткову інформацію.
|
||
На екрані відображаються два графіки:
|
||
Перший графік показує кількість буферизованих смуг
|
||
(stripes) для кожного диска, разом зі шляхом до файлу,
|
||
до якого наразі здійснюється доступ на цьому диску.
|
||
Зазвичай найповільніший диск не матиме доступного
|
||
буфера, що визначає максимально досяжну пропускну
|
||
здатність.
|
||
Другий графік показує відсоток часу, витраченого на
|
||
очікування, за останні 100 секунд. Очікується, що
|
||
найповільніший диск спричинить більшу частину часу
|
||
очікування, тоді як інші диски повинні мати невеликий
|
||
час очікування або зовсім його не мати, оскільки
|
||
вони можуть використовувати свої буферизовані смуги.
|
||
Цей графік також показує час, витрачений на очікування
|
||
обчислення хешу та обчислень RAID.
|
||
Усі обчислення виконуються паралельно з операціями
|
||
диска. Тому, доки є вимірюваний час очікування
|
||
принаймні для одного диска, це вказує на те, що ЦП
|
||
достатньо швидкий, щоб справлятися з робочим навантаженням.
|
||
.TP
|
||
.B \-Z, \-\-force\-zero
|
||
Форсує небезпечну операцію синхронізації файлу з
|
||
нульовим розміром, який раніше був ненульовим.
|
||
Якщо SnapRAID виявляє таку умову, він припиняє
|
||
продовження, якщо ви не вкажете цю опцію.
|
||
Це дозволяє легко виявити, коли після збою системи
|
||
деякі доступні файли були обрізані.
|
||
Це можлива умова в Linux з файловими системами
|
||
ext3/ext4.
|
||
Цю опцію можна використовувати лише з \`sync\`.
|
||
.TP
|
||
.B \-E, \-\-force\-empty
|
||
Форсує небезпечну операцію синхронізації диска, на
|
||
якому відсутні всі оригінальні файли.
|
||
Якщо SnapRAID виявляє, що всі файли, які спочатку
|
||
були на диску, відсутні або перезаписані, він
|
||
припиняє продовження, якщо ви не вкажете цю опцію.
|
||
Це дозволяє легко виявити, коли файлова система
|
||
даних не змонтована.
|
||
Цю опцію можна використовувати лише з \`sync\`.
|
||
.TP
|
||
.B \-U, \-\-force\-uuid
|
||
Форсує небезпечну операцію синхронізації, перевірки
|
||
та виправлення з дисками, які змінили свій UUID.
|
||
Якщо SnapRAID виявляє, що деякі диски змінили UUID,
|
||
він припиняє продовження, якщо ви не вкажете цю опцію.
|
||
Це дозволяє виявити, коли ваші диски змонтовані
|
||
в неправильних точках монтування.
|
||
Однак, дозволено мати одну зміну UUID з однією парністю
|
||
і більше з множинною парністю, оскільки це нормальний
|
||
випадок при заміні дисків після відновлення.
|
||
Цю опцію можна використовувати лише з \`sync\`, \`check\`
|
||
або \`fix\`.
|
||
.TP
|
||
.B \-D, \-\-force\-device
|
||
Форсує небезпечну операцію виправлення з недоступними
|
||
дисками або з дисками на тому ж фізичному пристрої.
|
||
Наприклад, якщо ви втратили два диски даних і маєте
|
||
запасний диск для відновлення лише першого, ви можете
|
||
ігнорувати другий недоступний диск.
|
||
Або, якщо ви хочете відновити диск у вільному місці,
|
||
залишеному на вже використовуваному диску, що
|
||
використовує той самий фізичний пристрій.
|
||
Цю опцію можна використовувати лише з \`fix\`.
|
||
.TP
|
||
.B \-N, \-\-force\-nocopy
|
||
У \`sync\`, \`check\` та \`fix\` вимикає евристику
|
||
виявлення копій. Без цієї опції SnapRAID припускає,
|
||
що файли з однаковими атрибутами, такими як ім\'я,
|
||
розмір та часова мітка, є копіями з тими ж даними.
|
||
Це дозволяє ідентифікувати скопійовані або
|
||
переміщені файли з одного диска на інший і повторно
|
||
використовує вже обчислену інформацію хешу для
|
||
виявлення прихованих помилок або для відновлення
|
||
відсутніх файлів.
|
||
У деяких рідкісних випадках ця поведінка може
|
||
призвести до хибних спрацьовувань або повільного
|
||
процесу через багато перевірок хешу, і ця опція
|
||
дозволяє вирішити такі проблеми.
|
||
Цю опцію можна використовувати лише з \`sync\`, \`check\`
|
||
та \`fix\`.
|
||
.TP
|
||
.B \-F, \-\-force\-full
|
||
У \`sync\` форсує повне переобчислення парності.
|
||
Цю опцію можна використовувати, коли ви додаєте
|
||
новий рівень парності або якщо ви повернулися до
|
||
старого файлу вмісту, використовуючи більш
|
||
нові дані парності.
|
||
Замість створення парності з нуля, це дозволяє
|
||
повторно використовувати хеші, присутні у файлі
|
||
вмісту, для перевірки даних та підтримки захисту
|
||
даних під час процесу \`sync\`, використовуючи
|
||
існуючі дані парності.
|
||
Цю опцію можна використовувати лише з \`sync\`.
|
||
.TP
|
||
.B \-R, \-\-force\-realloc
|
||
У \`sync\` форсує повне перерозподілення файлів
|
||
та перебудову парності.
|
||
Цю опцію можна використовувати для повного
|
||
перерозподілу всіх файлів, усуваючи фрагментацію,
|
||
повторно використовуючи хеші, присутні у файлі
|
||
вмісту, для перевірки даних.
|
||
Цю опцію можна використовувати лише з \`sync\`.
|
||
УВАГА! Ця опція лише для експертів, і
|
||
наполегливо не рекомендується її використовувати.
|
||
Ви НЕ маєте захисту даних під час операції \`sync\`.
|
||
.TP
|
||
.B \-W, \-\-force\-realloc\-tail SIZE
|
||
Працює як \-R, \-\-force\-realloc, але обмежується вказаною кінцевою
|
||
частиною (останні SIZE\-байт) кожного файлу парності.
|
||
Примусово перерозподіляє (переміщує) будь\-які фрагменти/блоки файлів,
|
||
що наразі зберігаються в цій кінцевій секції, дозволяючи розмістити
|
||
їх будь\-де у файлі(ах) парності, де є вільне місце (включно з
|
||
наявними пустотами).
|
||
Основна мета цього параметра — зменшити розмір файлу парності на диску.
|
||
Якщо перерозподіл успішно очистить всю кінцеву секцію (у ній не
|
||
залишиться блоків), файл парності буде обрізаний, вивільняючи
|
||
невикористаний простір хвоста.
|
||
Можна використовувати множники, такі як K, M, G або T (наприклад,
|
||
\-\-force\-realloc\-tail 1G).
|
||
Ви можете використовувати locate \-t, \-\-tail, щоб заздалегідь дізнатися
|
||
про зачеплені файли.
|
||
УВАГА!
|
||
Цей параметр призначений лише для експертів, і його наполегливо
|
||
не рекомендується використовувати.
|
||
Під час операції \`sync\` захист даних для зачеплених файлів ВІДСУТНІЙ.
|
||
.TP
|
||
.B \-l, \-\-log FILE
|
||
Записує детальний журнал у вказаний файл.
|
||
Якщо ця опція не вказана, несподівані помилки
|
||
виводяться на екран, що потенційно призводить до
|
||
надмірного виведення у випадку багатьох помилок.
|
||
Коли вказано \-l, \-\-log, на екран виводяться лише
|
||
фатальні помилки, які спричиняють зупинку SnapRAID.
|
||
Якщо шлях починається з \`>>\`, файл відкривається
|
||
у режимі доповнення. Входження \`%D\` та \`%T\` в
|
||
імені замінюються датою та часом у форматі YYYYMMDD
|
||
та HHMMSS. У пакетних файлах Windows ви повинні
|
||
подвоїти символ \`%\`, наприклад, result\-%%D.log.
|
||
Щоб використовувати \`>>\`, ви повинні взяти ім\'я
|
||
в лапки, наприклад, \`\[dq]>>result.log\[dq]\`.
|
||
Щоб вивести журнал на стандартний вивід або
|
||
стандартну помилку, ви можете використовувати
|
||
\`\[dq]>&1\[dq]\` та \`\[dq]>&2\[dq]\` відповідно.
|
||
Дивіться файл snapraid_log.txt або man\-сторінку
|
||
для описів тегів журналу.
|
||
.TP
|
||
.B \-L, \-\-error\-limit NUMBER
|
||
Встановлює новий ліміт помилок перед зупинкою
|
||
виконання. За замовчуванням SnapRAID зупиняється,
|
||
якщо зустрічає більше 100 помилок введення/виведення,
|
||
що вказує на ймовірну відмову диска.
|
||
Ця опція впливає на \`sync\` та \`scrub\`, яким
|
||
дозволено продовжувати після першого набору
|
||
помилок диска, щоб спробувати завершити
|
||
свої операції. Однак \`check\` та \`fix\` завжди
|
||
зупиняються при першій помилці.
|
||
.TP
|
||
.B \-S, \-\-start BLKSTART
|
||
Починає обробку з вказаного номера блоку.
|
||
Це може бути корисно для повторної спроби
|
||
перевірки або виправлення певних блоків у
|
||
випадку пошкодженого диска.
|
||
Ця опція в основному для розширеного ручного
|
||
відновлення і підтримується лише \`check\` та \`fix\`.
|
||
.TP
|
||
.B \-B, \-\-count BLKCOUNT
|
||
Обробляє лише вказану кількість блоків.
|
||
Ця опція в основному для розширеного ручного
|
||
відновлення і підтримується лише \`check\` та \`fix\`.
|
||
.TP
|
||
.B \-C, \-\-gen\-conf CONTENT
|
||
Генерує фіктивний конфігураційний файл з існуючого
|
||
файлу вмісту.
|
||
Конфігураційний файл записується на стандартний
|
||
вивід і не перезаписує існуючий.
|
||
Цей конфігураційний файл також містить інформацію,
|
||
необхідну для реконструкції точок монтування диска
|
||
у випадку втрати всієї системи.
|
||
.TP
|
||
.B \-v, \-\-verbose
|
||
Виводить більше інформації на екран.
|
||
Якщо вказано один раз, виводить виключені файли
|
||
та додаткову статистику.
|
||
Ця опція не впливає на файли журналу.
|
||
.TP
|
||
.B \-q, \-\-quiet
|
||
Виводить менше інформації на екран.
|
||
Якщо вказано один раз, видаляє індикатор прогресу;
|
||
двічі — поточні операції; тричі — інформаційні
|
||
повідомлення; чотири рази — повідомлення про
|
||
статус. Фатальні помилки завжди виводяться на
|
||
екран. Ця опція не впливає на файли журналу.
|
||
.TP
|
||
.B \-H, \-\-help
|
||
Виводить короткий довідковий екран.
|
||
.TP
|
||
.B \-V, \-\-version
|
||
Виводить версію програми.
|
||
.SH Конфігурація (CONFIGURATION)
|
||
SnapRAID вимагає конфігураційний файл, щоб знати, де
|
||
розташований ваш дисковий масив і де зберігати інформацію
|
||
парності.
|
||
.PP
|
||
В Unix використовується файл \`/usr/local/etc/snapraid.conf\`,
|
||
якщо він існує, інакше \`/etc/snapraid.conf\`.
|
||
У Windows використовується файл \`snapraid.conf\` у тому
|
||
самому каталозі, що й \`snapraid.exe\`.
|
||
.PP
|
||
Він повинен містити наступні опції (чутливі до регістру):
|
||
.SS parity FILE [,FILE] ...
|
||
Визначає файли, які потрібно використовувати для зберігання
|
||
інформації парності. Парність забезпечує захист від
|
||
відмови одного диска, подібно до RAID5.
|
||
.PP
|
||
Ви можете вказати кілька файлів, які повинні бути на
|
||
різних дисках. Коли файл більше не може зростати,
|
||
використовується наступний.
|
||
Загальний доступний простір повинен бути принаймні
|
||
таким же великим, як найбільший диск даних у масиві.
|
||
.PP
|
||
Ви можете додати додаткові файли парності пізніше,
|
||
але ви не можете їх переупорядковувати або видаляти.
|
||
.PP
|
||
Збереження дисків парності зарезервованими для парності
|
||
забезпечує, що вони не стають фрагментованими, покращуючи
|
||
продуктивність.
|
||
.PP
|
||
У Windows 256 МБ залишається невикористаними на кожному
|
||
диску, щоб уникнути попередження про повні диски.
|
||
.PP
|
||
Ця опція є обов\'язковою і може бути використана лише один раз.
|
||
.SS (2,3,4,5,6)\-parity FILE [,FILE] ...
|
||
Визначає файли, які потрібно використовувати для зберігання
|
||
додаткової інформації парності.
|
||
.PP
|
||
Для кожного вказаного рівня парності вмикається один
|
||
додатковий рівень захисту:
|
||
.PD 0
|
||
.IP \(bu
|
||
2\-parity вмикає подвійну парність RAID6.
|
||
.IP \(bu
|
||
3\-parity вмикає потрійну парність.
|
||
.IP \(bu
|
||
4\-parity вмикає четверну парність.
|
||
.IP \(bu
|
||
5\-parity вмикає п\'ятерну парність.
|
||
.IP \(bu
|
||
6\-parity вмикає шестерну парність.
|
||
.PD
|
||
.PP
|
||
Кожен рівень парності вимагає наявності всіх попередніх
|
||
рівнів парності.
|
||
.PP
|
||
Застосовуються ті самі міркування, що й для опції \`parity\`.
|
||
.PP
|
||
Ці опції є необов\'язковими і можуть бути використані лише
|
||
один раз.
|
||
.SS z\-parity FILE [,FILE] ...
|
||
Визначає альтернативний файл та формат для зберігання
|
||
потрійної парності.
|
||
.PP
|
||
Ця опція є альтернативою \`3\-parity\`, насамперед
|
||
призначена для малопотужних ЦП, таких як ARM або
|
||
AMD Phenom, Athlon та Opteron, які не підтримують
|
||
набір інструкцій SSSE3. У таких випадках вона
|
||
забезпечує кращу продуктивність.
|
||
.PP
|
||
Цей формат схожий, але швидший, ніж той, що використовується
|
||
ZFS RAIDZ3. Як і ZFS, він не працює далі потрійної парності.
|
||
.PP
|
||
При використанні \`3\-parity\` ви будете попереджені,
|
||
якщо рекомендується використовувати формат \`z\-parity\`
|
||
для покращення продуктивності.
|
||
.PP
|
||
Можна конвертувати з одного формату в інший, налаштувавши
|
||
конфігураційний файл з бажаним файлом z\-parity або
|
||
3\-parity та використовуючи \`fix\` для його відтворення.
|
||
.SS content FILE
|
||
Визначає файл, який потрібно використовувати для зберігання
|
||
списку та контрольних сум усіх файлів, присутніх у
|
||
вашому дисковому масиві.
|
||
.PP
|
||
Він може бути розміщений на диску, що використовується для
|
||
даних, парності або будь\-якому іншому доступному диску.
|
||
Якщо ви використовуєте диск даних, цей файл автоматично
|
||
виключається з процесу \`sync\`.
|
||
.PP
|
||
Ця опція є обов\'язковою і може бути використана кілька
|
||
разів для збереження кількох копій одного і того ж
|
||
файлу.
|
||
.PP
|
||
Ви повинні зберігати принаймні одну копію для кожного
|
||
використаного диска парності плюс одну. Використання
|
||
додаткових копій не зашкодить.
|
||
.SS data NAME DIR
|
||
Визначає ім\'я та точку монтування дисків даних у
|
||
масиві. NAME використовується для ідентифікації диска
|
||
і має бути унікальним. DIR — це точка монтування
|
||
диска у файловій системі.
|
||
.PP
|
||
Ви можете змінювати точку монтування за потреби,
|
||
поки ви зберігаєте NAME фіксованим.
|
||
.PP
|
||
Однак налаштований шлях повинен постійно вказувати на ті самі
|
||
базові дані. Якщо шлях містить символічні посилання,
|
||
їхні цілі повинні залишатися стабільними. Перенаправлення
|
||
таких посилань для зміни каталогу даних на льоту не підтримується.
|
||
.PP
|
||
Ви повинні використовувати одну опцію для кожного
|
||
диска даних у масиві.
|
||
.PP
|
||
Ви можете перейменувати диск пізніше, змінивши NAME
|
||
безпосередньо у конфігураційному файлі, а потім
|
||
запустивши команду \`sync\`. У випадку перейменування
|
||
асоціація здійснюється за допомогою збереженого
|
||
UUID дисків.
|
||
.SS extra NAME DIR
|
||
Визначає назву та точку монтування додаткових дисків для
|
||
моніторингу за допомогою команд \`smart\` та \`probe\`.
|
||
.PP
|
||
Це корисно для моніторингу дисків, які не є частиною масиву, але
|
||
необхідні для функціонування системи, наприклад, завантажувального
|
||
диска.
|
||
.PP
|
||
Зверніть увагу, що на такі диски не впливають команди \`up\` та \`down\`,
|
||
оскільки очікується, що вони завжди обертаються.
|
||
.SS snapshot
|
||
Включає використання знімків файлової системи для команд \`sync\`, \`scrub\`,
|
||
\`check\` та \`fix\`.
|
||
.PP
|
||
Якщо увімкнено, SnapRAID створює знімок лише для читання кожної підтримуваної
|
||
файлової системи даних на початку операції \'sync\'. Це забезпечує стабільний зріз
|
||
кожної файлової системи, запобігаючи зміні даних, що використовуються для обчислення
|
||
парності, подальшими модифікаціями.
|
||
.PP
|
||
Це значно покращує відновлення: якщо файл видаляється з живої файлової системи,
|
||
він залишається збереженим у знімку. Це запобігає «порушенню» парності
|
||
для цього блоку, гарантуючи, що ви все одно зможете успішно відновити дані,
|
||
якщо інший диск зазнає збою.
|
||
.PP
|
||
Ця опція застосовується виключно до дисків із даними, відформатованих у файлових
|
||
системах Btrfs, Bcachefs або ZFS у Linux та NTFS у Windows.
|
||
Диски парності або диски з даними, що використовують інші файлові системи, завжди використовуватимуть
|
||
живу версію файлової системи.
|
||
.PP
|
||
Створення та видалення знімків вимагають прав адміністратора.
|
||
Переконайтеся, що SnapRAID запущено з необхідними привілеями (наприклад, sudo), коли
|
||
увімкнено цю опцію.
|
||
.PP
|
||
Детальне пояснення життєвого циклу знімків див. у розділі SNAPSHOTS.
|
||
.SS nohidden
|
||
Виключає всі приховані файли та каталоги.
|
||
В Unix приховані файли — це ті, що починаються з \`.\`.
|
||
У Windows це ті, що мають прихований атрибут.
|
||
.SS exclude/include PATTERN
|
||
Визначає шаблони файлів або каталогів для виключення
|
||
або включення у процес синхронізації.
|
||
Усі шаблони обробляються у вказаному порядку.
|
||
.PP
|
||
Якщо перший шаблон, який збігається, є \`exclude\` (виключити),
|
||
файл виключається. Якщо він є \`include\` (включити),
|
||
файл включається.
|
||
Якщо жоден шаблон не збігається, файл виключається,
|
||
якщо останній вказаний шаблон є \`include\`, або
|
||
включається, якщо останній вказаний шаблон є \`exclude\`.
|
||
.PP
|
||
Зверніть увагу, що фільтрація відбувається ієрархічно під час
|
||
обходу каталогів. Якщо каталог відповідає правилу \`exclude\`, весь
|
||
каталог пропускається (відсікається), і будь\-які правила \`include\`
|
||
для файлів або підкаталогів у ньому не оцінюватимуться.
|
||
.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 ГіБ
|
||
.PD 0
|
||
.PD
|
||
.PP
|
||
Перехід до розміру хешу 8, ви отримуєте:
|
||
.PP
|
||
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 ГіБ
|
||
.PD 0
|
||
.PD
|
||
.PP
|
||
Перехід до розміру блоку 512, ви отримуєте:
|
||
.PP
|
||
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 ГіБ
|
||
.PD 0
|
||
.PD
|
||
.PP
|
||
Перехід до розміру хешу 8 та розміру блоку 512, ви отримуєте:
|
||
.PP
|
||
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 ГіБ
|
||
.PD 0
|
||
.PD
|
||
.SS autosave SIZE_IN_GIGABYTES
|
||
Автоматично зберігає стан під час синхронізації або
|
||
скрабування після обробки вказаної кількості ГБ.
|
||
Ця опція корисна, щоб уникнути перезапуску довгих
|
||
команд \`sync\` з нуля, якщо вони були перервані
|
||
збоєм машини або будь\-якою іншою подією.
|
||
.SS temp_limit TEMPERATURE_CELSIUS
|
||
Встановлює максимальну дозволену температуру диска
|
||
в Цельсіях. Якщо вказано, SnapRAID періодично перевіряє
|
||
температуру всіх дисків за допомогою інструменту
|
||
smartctl. Поточні температури дисків відображаються
|
||
під час роботи SnapRAID. Якщо будь\-який диск перевищує
|
||
цей ліміт, усі операції зупиняються, і диски
|
||
зупиняються (переходять у режим очікування) на час,
|
||
визначений опцією \`temp_sleep\`. Після періоду
|
||
очікування операції відновлюються, потенційно
|
||
знову призупиняючись, якщо ліміт температури знову
|
||
досягнутий.
|
||
.PP
|
||
Під час роботи SnapRAID також аналізує криву
|
||
нагрівання кожного диска та оцінює довгострокову
|
||
стабільну температуру, якої вони, як очікується,
|
||
досягнуть, якщо активність продовжиться.
|
||
Оцінка виконується лише після того, як температура
|
||
диска підвищилася чотири рази, що гарантує наявність
|
||
достатньої кількості даних для встановлення
|
||
надійного тренду. Ця прогнозована стабільна
|
||
температура відображається в дужках поруч із
|
||
поточним значенням і допомагає оцінити, чи
|
||
достатнє охолодження системи. Ця оцінювана
|
||
температура є лише інформаційною і не впливає на
|
||
поведінку SnapRAID. Дії програми базуються
|
||
виключно на фактично виміряних температурах
|
||
дисків.
|
||
.PP
|
||
Для виконання цього аналізу SnapRAID потрібне
|
||
опорне значення температури системи.
|
||
Спочатку він намагається зчитати її з доступних
|
||
апаратних датчиків. Якщо до системного датчика
|
||
неможливо отримати доступ, він використовує
|
||
найнижчу температуру диска, виміряну на початку
|
||
запуску, як резервне опорне значення.
|
||
.PP
|
||
Зазвичай SnapRAID показує лише температуру
|
||
найгарячішого диска. Щоб відобразити температуру
|
||
всіх дисків, використовуйте опцію \-A або \-\-stats.
|
||
.SS temp_sleep TIME_IN_MINUTES
|
||
Встановлює час очікування, у хвилинах, коли
|
||
досягнуто ліміту температури. Протягом цього
|
||
періоду диски залишаються зупиненими.
|
||
За замовчуванням 5 хвилин.
|
||
.SS pool DIR
|
||
Визначає каталог об\'єднання, де створюється
|
||
віртуальне представлення дискового масиву за
|
||
допомогою команди \`pool\`.
|
||
.PP
|
||
Каталог повинен вже існувати.
|
||
.SS share UNC_DIR
|
||
Визначає шлях Windows UNC, необхідний для
|
||
віддаленого доступу до дисків.
|
||
.PP
|
||
Якщо ця опція вказана, символічні посилання,
|
||
створені в каталозі pool, використовують цей
|
||
шлях UNC для доступу до дисків.
|
||
Без цієї опції згенеровані символічні посилання
|
||
використовують лише локальні шляхи, що не
|
||
дозволяє спільно використовувати каталог pool
|
||
через мережу.
|
||
.PP
|
||
Символічні посилання формуються за допомогою
|
||
вказаного шляху UNC, додаючи ім\'я диска, як
|
||
зазначено в опції \`data\`, і, нарешті,
|
||
додаючи каталог та ім\'я файлу.
|
||
.PP
|
||
Ця опція потрібна лише для Windows.
|
||
.SS smartctl DISK/PARITY OPTIONS...
|
||
Визначає користувацькі опції smartctl для
|
||
отримання атрибутів SMART для кожного диска.
|
||
Це може знадобитися для RAID\-контролерів та
|
||
деяких USB\-дисків, які не можуть бути
|
||
автоматично виявлені. Заповнювач %s
|
||
замінюється іменем пристрою, але він
|
||
необов\'язковий для фіксованих пристроїв,
|
||
таких як RAID\-контролери.
|
||
.PP
|
||
DISK — це те саме ім\'я диска, вказане в опції \`data\`.
|
||
PARITY — це одне з імен парності: \`parity\`,
|
||
\`2\-parity\`, \`3\-parity\`, \`4\-parity\`, \`5\-parity\`,
|
||
\`6\-parity\` або \`z\-parity\`.
|
||
.PP
|
||
У вказаних OPTIONS рядок \`%s\` замінюється
|
||
іменем пристрою. Для RAID\-контролерів пристрій
|
||
ймовірно фіксований, і вам може не знадобитися
|
||
використовувати \`%s\`.
|
||
.PP
|
||
Ви також можете вказати користувацький рядок параметрів інформації за допомогою
|
||
тега \`[info: ...]\`, щоб замінити параметр за замовчуванням \`\-a\`.
|
||
.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 d1 [info: \-H \-i \-c \-A] \-d sat %s
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl parity \-d sat %s
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SS smartignore DISK/PARITY ATTR [ATTR...]
|
||
Ігнорує вказаний атрибут SMART при обчисленні
|
||
ймовірності відмови диска. Ця опція корисна,
|
||
якщо диск повідомляє незвичайні або
|
||
оманливі значення для певного атрибута.
|
||
.PP
|
||
DISK — це те саме ім\'я диска, вказане в опції \`data\`.
|
||
PARITY — це одне з імен парності: \`parity\`,
|
||
\`2\-parity\`, \`3\-parity\`, \`4\-parity\`, \`5\-parity\`,
|
||
\`6\-parity\` або \`z\-parity\`.
|
||
Спеціальне значення * можна використовувати
|
||
для ігнорування атрибута на всіх дисках.
|
||
.PP
|
||
Можна вказати кілька атрибутів, розділених пробілами.
|
||
Кожен атрибут може бути вказаний як число від 1 до 255 або як регістронезалежне
|
||
ім\'я (наприклад, \`Current_Pending_Sector\`).
|
||
.PP
|
||
Наприклад, щоб ігнорувати атрибути \`Current Pending Sector Count\` та
|
||
\`Reallocated Sectors Count\` на всіх дисках за їхнім номером або ім\'ям:
|
||
.PP
|
||
.RS 4
|
||
smartignore * 197 5
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartignore * Current_Pending_Sector Reallocated_Sector_Ct
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Щоб ігнорувати їх лише на першому диску парності:
|
||
.PP
|
||
.RS 4
|
||
smartignore parity 197 5
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SS Приклади
|
||
Приклад типової конфігурації для Unix:
|
||
.PP
|
||
.RS 4
|
||
parity /mnt/diskp/snapraid.parity
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content /mnt/diskp/snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content /var/snapraid/snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d1 /mnt/disk1/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d2 /mnt/disk2/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d3 /mnt/disk3/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude /lost+found/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude /tmp/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl d2 \-d usbjmicron %s
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl parity \-d areca,1/1 /dev/sg0
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl 2\-parity \-d areca,2/1 /dev/sg0
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Приклад типової конфігурації для Windows:
|
||
.PP
|
||
.RS 4
|
||
parity E:\\snapraid.parity
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content E:\\snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
content C:\\snapraid\\snapraid.content
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d1 G:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d2 H:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
data d3 I:\\array\\
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude Thumbs.db
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude \\$RECYCLE.BIN
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude \\System Volume Information
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl d2 \-d usbjmicron %s
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl parity \-d areca,1/1 /dev/arcmsr0
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
smartctl 2\-parity \-d areca,2/1 /dev/arcmsr0
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SH Знімки (SNAPSHOTS)
|
||
Якщо в конфігурації увімкнено опцію знімків, SnapRAID використовує знімки
|
||
файлової системи для збереження стабільності даних, що зчитуються під час
|
||
операції, навіть якщо файли в живих файлових системах згодом змінюються
|
||
або видаляються.
|
||
.PP
|
||
Керування знімками відбувається повністю автоматично та прозоро.
|
||
Ви можете продовжувати використовувати SnapRAID точно так само, як і раніше, отримуючи
|
||
додатковий захист, що забезпечується знімками, які повністю обробляються у
|
||
фоновому режимі.
|
||
.PP
|
||
Це дає дві основні переваги:
|
||
.PP
|
||
Узгодженість — Файли, змінені в живій файловій системі під час тривалого
|
||
.PP
|
||
.RS 4
|
||
процесу sync або scrub, не викликатимуть невідповідності парності або переривання
|
||
операцій, оскільки кожна файлова система зі знімком залишається незмінною
|
||
протягом усієї операції.
|
||
.RE
|
||
.PP
|
||
Відновлення — Якщо файл оновлюється або видаляється з живої файлової системи,
|
||
.PP
|
||
.RS 4
|
||
він залишається збереженим у знімку. Якщо збій диска станеться
|
||
до запуску наступної синхронізації sync, SnapRAID використає дані, збережені
|
||
в знімку, для реконструкції диска, що зазнав збою.
|
||
.RE
|
||
.PP
|
||
.RS 4
|
||
У разі збою диска під час активного процесу sync,
|
||
SnapRAID також може автоматично читати як зі знімка попереднього
|
||
обчислення парності, так і з поточного.
|
||
Це максимізує ймовірність повного відновлення, надаючи
|
||
доступ до точних блоків даних, необхідних для вирішення рівнянь парності,
|
||
навіть якщо ці блоки були змінені або видалені між синхронізаціями.
|
||
.RE
|
||
.PP
|
||
.RS 4
|
||
Без знімків оновлений або видалений файл на справному диску
|
||
призводить до відсутності блоків даних, які можуть знадобитися для
|
||
відновлення інших дисків, що зазнали збою.
|
||
.RE
|
||
.PP
|
||
Знімки створюються лише для дисків із даними і лише в тому випадку, якщо базова
|
||
файлова система підтримує цю функціональність. Диски парності завжди використовують
|
||
живу файлову систему.
|
||
.PP
|
||
Наразі це підтримується на Btrfs, Bcachefs та ZFS в Linux
|
||
і на NTFS у Windows.
|
||
.PP
|
||
Ви можете комбінувати диски з даними з різними файловими системами. Тільки ті з них,
|
||
які підтримують знімки, використовуватимуть їх, тоді як інші диски продовжуватимуть
|
||
працювати безпосередньо з живою файловою системою.
|
||
.PP
|
||
Створення та видалення знімків вимагають прав адміністратора.
|
||
Переконайтеся, що SnapRAID запущено з необхідними привілеями (наприклад, sudo),
|
||
коли знімки увімкнено.
|
||
.SS Поведінка команд із знімками
|
||
Команди \`sync\` та \`scrub\` використовують знімки для дисків із даними, чиї
|
||
файлові системи їх підтримують. На диску зі знімком команда бачить стабільний
|
||
образ файлової системи, не зачеплений одночасними змінами в живій файловій
|
||
системі.
|
||
Під час \`sync\` новий знімок створюється незалежно для кожної підтримуваної
|
||
файлової системи даних. Ці знімки сукупно надають дані, що використовуються
|
||
для обчислення парності.
|
||
Навпаки, команда \`scrub\` використовує останній знімок, створений під час
|
||
найостаннішої синхронізації, щоб підтримувати надійну точку відліку,
|
||
яка відповідає існуючій парності.
|
||
.PP
|
||
Для команд \`check\` та \`fix\` використання останнього знімка
|
||
залежить від того, чи націлені конкретні диски за допомогою опції
|
||
\-d, \-\-filter\-disk.
|
||
.PP
|
||
Диск, явно вибраний за допомогою \-d («ціль» операції),
|
||
завжди використовує живу файлову систему. Для \`fix\` це дозволяє відновити
|
||
дані на активну заміну диска. Для \`check\` це дозволяє симулювати
|
||
операцію \`fix\` за тих самих умов.
|
||
.PP
|
||
Доступ до всіх інших дисків із даними («довідкових» дисків) здійснюватиметься через
|
||
їхні знімки. Це гарантує, що навіть якщо ви змінюєте файли
|
||
на своїх справних дисках під час відновлення, SnapRAID
|
||
має стабільну, замороженну точку відліку для вирішення рівнянь парності.
|
||
.PP
|
||
Якщо опція \-d не надана, SnapRAID припускає, що операція застосовується
|
||
до всього масиву; у цьому випадку \`check\` та \`fix\` використовуватимуть виключно
|
||
живі файлові системи.
|
||
.PP
|
||
Усі інші команди працюють виключно з живою файловою системою.
|
||
.SH Життєвий цикл знімків (SNAPSHOTS LIFECYCLE)
|
||
SnapRAID керує трьома конкретними знімками, \`stable\`, \`pending\` та \`scan\`,
|
||
всередині прихованого каталогу в корінному каталозі кожного підтому даних.
|
||
У Btrfs, Bcachefs та NTFS використовується каталог \`.snapraid/\`,
|
||
у ZFS — стандартний \`.zfs/snapshot/\`.
|
||
.PP
|
||
Знімок \`stable\` представляє стан останньої успішно
|
||
завершеної синхронізації \`sync\`, що містить точні дані, використані для
|
||
обчислення поточної парності. Він служить основним джерелом даних
|
||
для команд \`scrub\`, \`check\` та \`fix\`.
|
||
.PP
|
||
Знімок \`scan\` — це тимчасовий образ, що створюється на початку
|
||
\`sync\` для забезпечення замороженого стану для сканування та обчислення парності.
|
||
Після сканування та збереження нового стану вмісту він замінює попередній
|
||
знімок \`pending\`.
|
||
.PP
|
||
Знімок \`pending\` — це образ, використовуваний перерваною синхронізацією \`sync\`.
|
||
Після успішного завершення операції попередній знімок \`stable\`
|
||
видаляється, а знімок \`pending\` підвищується в статусі, щоб
|
||
зайняти його місце в якості нового стабільного орієнтира.
|
||
.PP
|
||
Якщо процес \`sync\` переривається, знімок \`pending\` зберігається.
|
||
Наступні команди \`scrub\`, \`check\` та \`fix\` використовуватимуть цей
|
||
очікуваний знімок, оскільки він відповідає стану файлової системи, записаному в
|
||
файлі .content, навіть якщо парність синхронізована лише частково.
|
||
.PP
|
||
У разі переривання \`sync\` команди \`check\` та \`fix\`
|
||
також читають дані зі знімка \`stable\` для вилучення блоків даних
|
||
із файлів, які були оновлені або видалені під час синхронізації.
|
||
Це можливо тому, що файл .content зберігає метадані для
|
||
усіх змінених або видалених файлів протягом усього процесу sync.
|
||
Ця історична інформація очищається лише після успішного завершення sync
|
||
і збереження фінальної версії файлу .content.
|
||
.PP
|
||
Якщо \`sync\` перезапускається після переривання, існуючий
|
||
очікуваний (pending) знімок видаляється, і створюється новий для
|
||
фіксації поточного стану живої файлової системи.
|
||
Однак, якщо \`sync\` було перервано, уникайте зміни, видалення,
|
||
заміни або переміщення файлів, доки наступний \`sync\` не завершиться
|
||
успішно. Парність все ще може містити блоки, обчислені на основі знімка,
|
||
використаного перерваною синхронізацією. Пізніша синхронізація може
|
||
замінити цей знімок, зробивши проміжні версії файлів недоступними для
|
||
відновлення.
|
||
.SH Шаблон (PATTERN)
|
||
Шаблони забезпечують гнучкий спосіб фільтрації файлів для включення або
|
||
виключення. Використовуючи символи підстановки (globbing), ви можете визначити правила, які
|
||
відповідають конкретним іменам файлів або цілим структурам каталогів без
|
||
ручного перерахування кожного шляху.
|
||
.PP
|
||
Знак питання \`?\` відповідає будь\-якому одному символу, крім роздільника
|
||
каталогів. Це робить його корисним для зіставлення імен файлів із змінними
|
||
символами, при цьому шаблон обмежується одним рівнем каталогу.
|
||
.PP
|
||
Одинарна зірочка \`*\` відповідає будь\-якій послідовності символів, але, як і
|
||
знак питання, вона ніколи не перетинає межі каталогів. Вона зупиняється на
|
||
прямій косій рисці, що робить її придатною для зіставлення всередині одного
|
||
компонента шляху. Це стандартна поведінка підстановочних знаків, знайома
|
||
з командної оболонки (shell globbing).
|
||
.PP
|
||
Символ підстановки подвійна зірочка \`**\` зіставляється через роздільники
|
||
каталогів лише тоді, коли він прилягає до роздільника каталогів (перед ним або
|
||
після нього стоїть скісна риска). У цій формі він відповідає нулю або більше
|
||
символам на кількох рівнях каталогів. Наприклад, \`foo/**/bar\` відповідає
|
||
\`foo/bar\`, \`foo/a/bar\` та \`foo/a/b/bar\`; \`**/build\` відповідає \`build\` та
|
||
\`foo/bar/build\`; а \`src/**.js\` відповідає \`src/main.js\` та
|
||
\`src/ui/components/main.js\`.
|
||
Окрема форма \`/**/\` не приймається як повний шаблон.
|
||
.PP
|
||
Коли \`**\` не прилягає до скісної риски, він поводиться як \`*\` і не відповідає
|
||
роздільникам каталогів. Наприклад, \`**.jpg\` відповідає \`photo.jpg\` у поточному
|
||
каталозі, але не відповідає \`dir/photo.jpg\`. Для цієї мети використовуйте
|
||
\`**/*.jpg\`.
|
||
.PP
|
||
Класи символів із використанням квадратних дужок \`[]\` відповідають одному символу з
|
||
визначеного набору або діапазону. Як і інші односимвольні шаблони, вони
|
||
не відповідають роздільникам каталогів. Класи підтримують діапазони та заперечення за допомогою
|
||
знака оклику.
|
||
.PP
|
||
Фундаментальна відмінність, яку слід пам\'ятати, полягає в тому, що \`*\`, \`?\` та класи символів
|
||
усі дотримуються меж каталогів і відповідають лише в межах одного компонента
|
||
шляху, тоді як \`**\` може відповідати через роздільники каталогів лише тоді,
|
||
коли прилягає до скісної риски.
|
||
.PP
|
||
Існує чотири різні типи шаблонів:
|
||
.TP
|
||
.B FILE
|
||
Вибирає будь\-який файл з ім\'ям FILE.
|
||
Цей шаблон застосовується тільки до файлів, а не до каталогів.
|
||
.TP
|
||
.B DIR/
|
||
Вибирає будь\-який каталог з ім\'ям DIR і все, що знаходиться всередині.
|
||
Цей шаблон застосовується тільки до каталогів, а не до файлів.
|
||
.TP
|
||
.B /PATH/FILE
|
||
Вибирає точно вказаний шлях до файлу. Цей шаблон застосовується
|
||
тільки до файлів, а не до каталогів.
|
||
.TP
|
||
.B /PATH/DIR/
|
||
Вибирає точно вказаний шлях до каталогу і все, що знаходиться
|
||
всередині. Цей шаблон застосовується тільки до каталогів, а не до файлів.
|
||
.PP
|
||
Коли ви вказуєте абсолютний шлях, що починається
|
||
з /, він застосовується до кореневого каталогу
|
||
масиву, а не до кореневого каталогу локальної
|
||
файлової системи.
|
||
.PP
|
||
У Windows ви можете використовувати зворотну
|
||
скісну риску \\ замість прямої скісної риски /.
|
||
Системні каталоги Windows, з\'єднання, точки
|
||
монтування та інші спеціальні каталоги Windows
|
||
розглядаються як файли, що означає, що для
|
||
їх виключення ви повинні використовувати правило
|
||
файлу, а не правило каталогу.
|
||
.PP
|
||
Якщо ім\'я файлу містить символи \`*\`, \`?\`, \`[\`,
|
||
або \`]\`, ви повинні екранувати їх, щоб уникнути
|
||
їх інтерпретації як символу глобінгу.
|
||
В Unix символом екранування є \`\\\`; у Windows — \`^\`.
|
||
Коли шаблон знаходиться в командному рядку,
|
||
ви повинні подвоїти символ екранування, щоб
|
||
запобігти його інтерпретації командною оболонкою.
|
||
.PP
|
||
У конфігураційному файлі ви можете використовувати
|
||
різні стратегії для фільтрації файлів, які потрібно
|
||
обробити.
|
||
Найпростіший підхід — використовувати лише
|
||
правила \`exclude\` для видалення всіх файлів та
|
||
каталогів, які ви не хочете обробляти.
|
||
Наприклад:
|
||
.PP
|
||
.RS 4
|
||
# Виключає будь\-який файл з іменем \`*.unrecoverable\`
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude *.unrecoverable
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# Виключає кореневий каталог \`/lost+found\`
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude /lost+found/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# Виключає будь\-який підкаталог з іменем \`tmp\`
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude tmp/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Протилежний підхід — визначити лише файли,
|
||
які ви хочете обробити, використовуючи лише
|
||
правила \`include\`. Наприклад:
|
||
.PP
|
||
.RS 4
|
||
# Включає лише деякі каталоги
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /movies/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /musics/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /pictures/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Останній підхід — змішувати правила \`exclude\`
|
||
та \`include\`. У цьому випадку порядок правил
|
||
важливий. Раніші правила мають пріоритет
|
||
над пізнішими.
|
||
Для спрощення ви можете спочатку перерахувати
|
||
всі правила \`exclude\`, а потім усі правила \`include\`.
|
||
Наприклад:
|
||
.PP
|
||
.RS 4
|
||
# Виключає будь\-який файл з іменем \`*.unrecoverable\`
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude *.unrecoverable
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# Виключає будь\-який підкаталог з іменем \`tmp\`
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude tmp/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# Включає лише деякі каталоги
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /movies/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /musics/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /pictures/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Зверніть увагу, що виключення каталогу (за допомогою DIR/ або /ШЛЯХ/DIR/)
|
||
запобігає входу SnapRAID у цей каталог та його скануванню. Відповідно,
|
||
неможливо повторно включити файл або підкаталог, розташований усередині
|
||
виключеного батьківського каталогу, оскільки сканер ніколи не переходить у нього.
|
||
.PP
|
||
Наприклад, наступна конфігурація НЕ включить \`file.dat\`, оскільки
|
||
\`/keep/\` відсікається до того, як \`file.dat\` буде перевірено:
|
||
.PP
|
||
.RS 4
|
||
# НЕ працює як очікується: /keep/ повністю пропускається
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /keep/file.dat
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude /keep/
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Щоб виключити файли всередині каталогу, зберігши конкретні файли,
|
||
виключайте шаблон файлів усередині каталогу замість виключення самого каталогу:
|
||
.PP
|
||
.RS 4
|
||
# Працює: /keep/ сканується, але інші файли всередині виключаються
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
include /keep/file.dat
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
exclude /keep/*
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
У командному рядку, використовуючи опцію \-f,
|
||
ви можете використовувати лише шаблони \`include\`.
|
||
Наприклад:
|
||
.PP
|
||
.RS 4
|
||
# Перевіряє лише файли .mp3.
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# В Unix використовуйте лапки, щоб уникнути
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# розширення глобінгу оболонкою.
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
snapraid \-f \[dq]*.mp3\[dq] check
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.PP
|
||
В Unix, при використанні символів глобінгу в
|
||
командному рядку, ви повинні взяти їх у лапки,
|
||
щоб запобігти їх розширенню оболонкою.
|
||
.SH Ігнорування файлів (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
|
||
# Виключає будь\-який каталог із назвою \`build\` всередині projects/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
build/
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
# Виключає будь\-який .tmp файл всередині projects/ або його підпапок
|
||
.PD 0
|
||
.PP
|
||
.PD
|
||
*.tmp
|
||
.PD 0
|
||
.PD
|
||
.RE
|
||
.SH Вміст (CONTENT)
|
||
SnapRAID зберігає список та контрольні суми
|
||
ваших файлів у файлі вмісту.
|
||
.PP
|
||
Це бінарний файл, який перераховує всі файли,
|
||
присутні у вашому дисковому масиві, разом з
|
||
усіма контрольними сумами для перевірки їх
|
||
цілісності.
|
||
.PP
|
||
Файл вмісту зчитується та записується командами \`sync\`, \`scrub\`,
|
||
\`touch\` та \`rehash\`. Він зчитується командами \`status\`, \`diff\`,
|
||
\`check\`, \`fix\`, \`list\`, \`dup\`, \`locate\` та \`pool\`, і повністю
|
||
ігнорується командами \`smart\`, \`probe\`, \`up\`, \`down\` та \`devices\`.
|
||
.SH Парність (PARITY)
|
||
SnapRAID зберігає інформацію парності вашого
|
||
масиву у файлах парності.
|
||
.PP
|
||
Це бінарні файли, що містять обчислену
|
||
парність усіх блоків, визначених у файлі
|
||
\`content\`.
|
||
.PP
|
||
Ці файли зчитуються та записуються командами
|
||
\`sync\` та \`fix\` і лише зчитуються командами
|
||
\`scrub\` та \`check\`.
|
||
.SH Кодування (ENCODING)
|
||
SnapRAID в Unix ігнорує будь\-яке кодування.
|
||
Він зчитує та зберігає імена файлів з
|
||
тим самим кодуванням, що використовується
|
||
файловою системою.
|
||
.PP
|
||
У Windows усі імена, зчитані з файлової
|
||
системи, конвертуються та обробляються
|
||
у форматі UTF\-8.
|
||
.PP
|
||
Щоб імена файлів відображалися правильно,
|
||
ви повинні встановити консоль Windows
|
||
у режим UTF\-8 за допомогою команди
|
||
\`chcp 65001\` та використовувати шрифт
|
||
TrueType, такий як \`Lucida Console\`, як
|
||
шрифт консолі.
|
||
Це впливає лише на надруковані імена
|
||
файлів; якщо ви перенаправляєте вивід
|
||
консолі у файл, отриманий файл завжди
|
||
буде у форматі UTF\-8.
|
||
.SH Код завершення (EXIT CODE)
|
||
SnapRAID завершує роботу з такими кодами помилок:
|
||
.RS 0
|
||
.PD 0
|
||
.HP 4
|
||
.I 0
|
||
Все в порядку.
|
||
.HP 4
|
||
.I 1
|
||
Команда виявила помилки.
|
||
.HP 4
|
||
.I 2
|
||
Команда \`diff\` визначила, що все в порядку, але потрібен \`sync\`.
|
||
.HP 4
|
||
.I 3
|
||
Команда дискового пристрою (\`probe\`, \`smart\`, \`devices\`, \`up\`,
|
||
\`down\`) завершена, але принаймні одна файлова система працює
|
||
у деградованому режимі з відсутніми пристроями.
|
||
.PD
|
||
.RE
|
||
.SH Відомі проблеми (KNOWN ISSUES)
|
||
.SS Межі файлової системи
|
||
SnapRAID не перетинає межі файлових систем, точок монтування або підтомів
|
||
під час сканування диска даних. Коли виявляється така межа, SnapRAID
|
||
повідомляє ПОПЕРЕДЖЕННЯ і не виконує сканування за її межами.
|
||
.PP
|
||
Файли, розташовані за такими межами, не включаються до диска даних і
|
||
повинні бути налаштовані окремо, якщо їх потрібно захистити.
|
||
.SS Точки монтування зі знімками файлової системи
|
||
Коли знімки файлової системи увімкнено, вкладені точки монтування та
|
||
bind\-монтування всередині диска даних не підтримуються.
|
||
.PP
|
||
Точки монтування є частиною простору імен монтування працюючої системи і
|
||
не зберігаються у знімках файлової системи. Отже, під час сканування знімка
|
||
каталог, прихований точкою монтування в активній файловій системі, може
|
||
стати видимим.
|
||
.PP
|
||
Не розміщуйте вкладені точки монтування або bind\-монтування всередині дисків
|
||
даних, коли ввімкнено знімки файлової системи.
|
||
.SS Кілька конфігурацій зі знімками файлової системи
|
||
Підтримка знімків не може безпечно спільно використовуватися кількома
|
||
незалежними конфігураціями SnapRAID, які використовують один і той самий
|
||
простір імен знімків файлової системи.
|
||
.PP
|
||
У Btrfs та Bcachefs лише одна конфігурація SnapRAID з увімкненою підтримкою
|
||
знімків може використовувати каталоги даних у межах одного підтому. У ZFS
|
||
це ж обмеження стосується датасету, а в NTFS — тому.
|
||
.PP
|
||
Кілька конфігурацій, які спільно використовують один і той самий простір
|
||
імен знімків, використовують однакові знімки \`stable\`, \`pending\` та \`scan\`.
|
||
Запуск однієї конфігурації може замінити або видалити знімки відновлення,
|
||
необхідні для іншої.
|
||
.SS Модифікації файлів на місці без зміни позначок часу
|
||
SnapRAID виявляє модифікації файлів шляхом порівняння розмірів файлів та
|
||
позначок часу модифікації (mtime).
|
||
.PP
|
||
Якщо програма змінює файл на місці без зміни його розміру або оновлення
|
||
позначки часу модифікації, \[dq]diff\[dq] та \[dq]sync\[dq] не виявлять, що файл змінився,
|
||
і його парність не буде оновлено.
|
||
.PP
|
||
Щоб гарантувати, що SnapRAID розпізнає такі зміни, оновіть позначку часу
|
||
модифікації файлу (наприклад, за допомогою утиліти \[dq]touch\[dq]). В іншому
|
||
випадку різниця буде виявлена лише як невідповідність хешу під час
|
||
наступного \[dq]scrub\[dq] або \[dq]check\[dq].
|
||
.SS Зіставлення регістру символів non\-ASCII у Windows
|
||
SnapRAID використовує стандартне, передбачуване кодування UTF\-8 на всіх
|
||
платформах, обмежуючи нечутливе до регістру зіставлення символами ASCII.
|
||
.PP
|
||
Файлові системи Windows страждають від застарілого архітектурного рішення,
|
||
що нав\'язує нечутливість до регістру для імен файлів Unicode за допомогою
|
||
довільних, залежних від системи таблиць перетворення. Як наслідок, Windows
|
||
приховує реальність файлової системи, обробляючи абсолютно різні
|
||
послідовності байтів Unicode так, ніби це один і той самий файл.
|
||
.PP
|
||
Наприклад, \`À.txt\` та \`à.txt\` є різними іменами Unicode, але Windows нелогічно
|
||
вважає їх ідентичними, тоді як SnapRAID зберігає їхню справжню відмінність.
|
||
.PP
|
||
Це обмеження спричинене непослідовною обробкою імен файлів Unicode у Windows
|
||
та її наполегливим використанням псевдонімів без урахування регістру. Щоб
|
||
запобігти розбіжностям через зведення регістру у Windows, завжди вказуйте
|
||
точний регістр для будь\-яких символів non\-ASCII у шляхах конфігурації та
|
||
фільтрах.
|
||
.SS Відновлення з частковим fix
|
||
Коли \`fix\` обмежено за допомогою \`\-S, \-\-start\` або \`\-B, \-\-count\`,
|
||
SnapRAID працює лише з вибраними блоками і не виконує фіналізацію
|
||
на рівні файлів або переміщення в карантин.
|
||
.PP
|
||
Якщо в результаті відновлення отримано дані найкращої спроби (best\-effort),
|
||
щодо яких не можна довести відповідність поточному вмісту, такі блоки все
|
||
одно можуть бути записані під звичайним ім\'ям файлу. Невизначеність, пов\'язана
|
||
з цими відновленими блоками, не зберігається після завершення команди.
|
||
.PP
|
||
Як наслідок, наступний \`fix\` сприйматиме ці доступні для читання блоки як дійсні
|
||
дані файлу і не намагатиметься відновити їх знову. Це може призвести до того,
|
||
що подальше відновлення повідомить про успіх, залишивши у файлі неповні або
|
||
застарілі дані.
|
||
.PP
|
||
Параметри \`\-S\` та \`\-B\` призначені лише для розширеного ручного відновлення,
|
||
зазвичай після збою звичайного \`fix\`. Якщо частковий \`fix\` повідомляє про
|
||
невідновлювані дані, видаліть або перейменуйте уражені файли перед спробою
|
||
повторного відновлення або перевірте їхній вміст вручну.
|
||
.SS Жорсткі посилання NTFS та виключені шляхи
|
||
У файловій системі NTFS записи каталогів кешують розмір файлу та часові
|
||
позначки незалежно для кожного жорсткого посилання. Коли файл змінюється
|
||
через одне посилання, записи каталогів інших посилань, що вказують на
|
||
той самий файл, можуть зберігати застарілі метадані, доки до них не
|
||
буде здійснено доступ.
|
||
.PP
|
||
SnapRAID автоматично виявляє та нормалізує цей стан щоразу, коли під
|
||
час сканування виявляється щонайменше два жорстких посилання на один
|
||
і той самий файл. Однак, якщо сканується лише одне жорстке посилання,
|
||
тоді як інші виключені фільтрами або знаходяться за межами шляху диска
|
||
даних, SnapRAID не може виявити колізію inode і покладається на
|
||
кешовані метадані єдиного видимого посилання.
|
||
.PP
|
||
Отже, зміни, внесені через виключене або зовнішнє жорстке посилання,
|
||
можуть залишитися непоміченими для SnapRAID, доки метадані включеного
|
||
посилання не будуть оновлені операційною системою (наприклад, коли до
|
||
файлу звертаються або відкривають його за цим шляхом).
|
||
.PP
|
||
Щоб уникнути цього обмеження, не змінюйте захищені файли через жорсткі
|
||
посилання, виключені зі SnapRAID, або переконайтеся, що всі жорсткі
|
||
посилання на файл включені до сканування, щоб SnapRAID міг їх нормалізувати.
|
||
.SS Відновлення після перерваного sync з кількома парностями
|
||
У масиві з кількома дисками парності перерваний \`sync\` може залишити
|
||
рівні парності тимчасово розсинхронізованими між собою. Наприклад,
|
||
парність 1 вже може містити оновлені дані, тоді як парність 2 все ще
|
||
містить старі дані.
|
||
.PP
|
||
Під час виконання \`check\` або \`fix\` SnapRAID випробовує різні комбінації
|
||
парностей і перевіряє відновлені дані за відомими хешами блоків
|
||
(що охоплюють блок цілком, зазвичай 256 КіБ).
|
||
.PP
|
||
Якщо SnapRAID намагається виконати відновлення, використовуючи
|
||
неузгоджену суміш старої та нової парності, лінійні рівняння RAID
|
||
дадуть неправильні дані. Щоб така недійсна комбінація була помилково
|
||
прийнята, рівняння мали б випадково відновити хоча б один повний блок
|
||
розміром 256 КіБ настільки ідеально, щоб його хеш збігся, тоді як інші
|
||
несинхронізовані блоки в тій самій смузі будуть відновлені з помилковими
|
||
даними.
|
||
.PP
|
||
Цей сценарій не залежить від колізії хешів; навпаки, самі рівняння
|
||
змішаної парності мали б випадково відтворити точний вихідний вміст
|
||
256\-КіБ блоку. Хоча це математично можливо для спеціально підготовлених
|
||
або сильно повторюваних даних, на реальних даних це практично неможливо.
|
||
.PP
|
||
Якщо всі диски справні, завершення перерваного \`sync\` перед внесенням
|
||
подальших змін усуває цю неоднозначність. Якщо диск вийшов з ладу і
|
||
потрібне відновлення, уникайте змін на дисках даних перед запуском
|
||
\`check\` або \`fix\`.
|
||
.SS Зарезервовані імена файлів і каталогів
|
||
SnapRAID резервує деякі імена файлів, каталогів і знімків для своїх
|
||
внутрішніх операцій. Не використовуйте ці імена для даних користувача:
|
||
.RS 0
|
||
.PD 0
|
||
.HP 4
|
||
.I .snapraidignore
|
||
Локальний файл правил виключення.
|
||
.HP 4
|
||
.I .snapraid
|
||
Каталог\-контейнер знімків.
|
||
.HP 4
|
||
.I snapraid\-*
|
||
Імена знімків ZFS, керованих SnapRAID.
|
||
.HP 4
|
||
.I *.unrecoverable
|
||
Пошкоджені файли, поміщені в карантин під час
|
||
відновлення.
|
||
.HP 4
|
||
.I CONTENT.tmp
|
||
Тимчасовий файл для оновлень файлу content.
|
||
.HP 4
|
||
.I CONTENT.lock
|
||
Файл блокування файлу content.
|
||
.HP 4
|
||
.I PARITY.spaceholder
|
||
Тимчасовий файл резервування місця під час виділення
|
||
парності у Windows.
|
||
.PD
|
||
.RE
|
||
.PP
|
||
Використання цих імен для непов\'язаних даних може призвести до того, що
|
||
файли або знімки будуть проігноровані, помилково сприйняті як метадані,
|
||
перезаписані, перейменовані або видалені.
|
||
.PP
|
||
У Windows усі варіанти регістру також зарезервовані, навіть у каталогах
|
||
NTFS, налаштованих з урахуванням регістру (наприклад, .SNAPRAIDIGNORE,
|
||
.SnapRaid, CONTENT.TMP та CONTENT.Lock).
|
||
.SH Переклад (TRANSLATION)
|
||
Цей документ є автоматичним перекладом англійського посібника.
|
||
Зверніться до англійського посібника для отримання офіційної версії.
|
||
.SH Авторське право (COPYRIGHT)
|
||
Цей файл захищений авторським правом (C) 2026 Andrea Mazzoleni
|
||
.SH Див. також (SEE ALSO)
|
||
snapraid_log(1), snapraidd(1), rsync(1)
|