mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
2075 lines
128 KiB
HTML
2075 lines
128 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="description" content="A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures">
|
||
<meta name="keywords" content="snapraid snapshot raid backup disk array redundancy parity">
|
||
<title>SnapRAID CLI Manual</title>
|
||
<link rel="stylesheet" href="style.css">
|
||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||
<link rel="manifest" href="/site.webmanifest">
|
||
<script src="script.js"></script>
|
||
|
||
<!-- Google Analytics 4 -->
|
||
<!-- Google tag (gtag.js) -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-W1Z5FKHYQ4"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'G-W1Z5FKHYQ4');
|
||
</script>
|
||
|
||
<!-- Google Universal Analytics -->
|
||
<script type="text/javascript">
|
||
|
||
var _gaq = _gaq || [];
|
||
_gaq.push(['_setAccount', 'UA-21967501-1']);
|
||
_gaq.push(['_trackPageview']);
|
||
|
||
(function() {
|
||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||
})();
|
||
</script>
|
||
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<div class="container nav-container">
|
||
<a href="index" class="logo">
|
||
<img src="android-chrome-192x192.png" width="32" height="32"/>
|
||
SnapRAID
|
||
</a>
|
||
<nav>
|
||
<input type="checkbox" id="menu-toggle">
|
||
<label for="menu-toggle" class="menu-icon"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label>
|
||
<ul>
|
||
<li><a href="index" >Home</a></li>
|
||
<li><a href="ui" >UI & Daemon</a></li>
|
||
<li><a href="howitworks" >How it Works</a></li>
|
||
<li><a href="design" >Design</a></li>
|
||
<li><a href="compare" >Compare</a></li>
|
||
<li><a href="manual" class="active">Manual</a></li>
|
||
<li><a href="faq" >FAQ</a></li>
|
||
<li><a href="support" >Support</a></li>
|
||
<li><a href="download" class="nav-cta">Download</a></li>
|
||
<li>
|
||
<button class="theme-toggle" aria-label="Toggle theme">
|
||
<svg class="sun-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
|
||
<svg class="moon-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>
|
||
</button>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</header>
|
||
|
||
|
||
<div class="container manual-layout">
|
||
|
||
<aside class="manual-sidebar">
|
||
|
||
<h4>Components</h4>
|
||
<select id="manual-selector" style="width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;">
|
||
<option value="manual">Command Line</option>
|
||
<option value="manual-daemon">Daemon</option>
|
||
<option value="manual-log">Log</option>
|
||
</select>
|
||
|
||
<h4>Languages</h4>
|
||
<select id="language-selector" style="width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;">
|
||
<option value="manual">English</option>
|
||
<option value="manual-de">German</option>
|
||
<option value="manual-es">Spanish</option>
|
||
<option value="manual-fr">French</option>
|
||
<option value="manual-it">Italian</option>
|
||
<option value="manual-ja">Japanse</option>
|
||
<option value="manual-ko">Korean</option>
|
||
<option value="manual-pl">Polish</option>
|
||
<option value="manual-pt">Portuguese</option>
|
||
<option value="manual-ro">Romanian</option>
|
||
<option value="manual-ru">Russian</option>
|
||
<option value="manual-sv">Swedish</option>
|
||
<option value="manual-uk">Ukranian</option>
|
||
<option value="manual-zh">Simplified Chinese</option>.
|
||
|
||
</select>
|
||
|
||
<h4>Contents</h4>
|
||
<ul id="manual-toc-list">
|
||
<!-- Populated by JavaScript -->
|
||
</ul>
|
||
</aside>
|
||
|
||
|
||
<main id="manual-container">
|
||
|
||
<div class="manual-doc">
|
||
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec1" class="manual-title-level-1">
|
||
Synopsis
|
||
</h1>
|
||
<pre>
|
||
snapraid [-c, --conf CONFIG]
|
||
[-f, --filter PATTERN] [-d, --filter-disk NAME]
|
||
[-m, --filter-missing] [-e, --filter-error]
|
||
[-a, --audit-only] [-h, --pre-hash] [-i, --import DIR]
|
||
[-p, --plan PERC|bad|new|full]
|
||
[-o, --older-than DAYS] [-l, --log FILE]
|
||
[-s, --spin-down-on-error] [-w, --bw-limit RATE]
|
||
[-t, --tail]
|
||
[-Z, --force-zero] [-E, --force-empty]
|
||
[-U, --force-uuid] [-D, --force-device]
|
||
[-N, --force-nocopy] [-F, --force-full]
|
||
[-R, --force-realloc] [-W, --force-realloc-tail]
|
||
[-S, --start BLKSTART] [-B, --count BLKCOUNT]
|
||
[-L, --error-limit NUMBER]
|
||
[-A, --stats]
|
||
[-v, --verbose] [-q, --quiet]
|
||
status|smart|probe|up|down|diff|sync|scrub|fix|check
|
||
|list|dup|pool|devices|touch|rehash|locate
|
||
</pre>
|
||
<pre>
|
||
snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT]
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec2" class="manual-title-level-1">
|
||
Description
|
||
</h1>
|
||
<p>SnapRAID — это программа резервного копирования, разработанная для дисковых массивов,
|
||
хранящая информацию четности для восстановления данных в случае сбоя
|
||
до шести дисков.
|
||
</p><p>В первую очередь предназначенная для домашних медиацентров с большими,
|
||
редко меняющимися файлами, SnapRAID предлагает несколько функций:
|
||
</p><ul>
|
||
<li>
|
||
Вы можете использовать диски, уже заполненные файлами, без
|
||
необходимости их переформатирования, получая к ним доступ как обычно.
|
||
</li>
|
||
<li>
|
||
Все ваши данные хэшируются для обеспечения целостности данных и
|
||
предотвращения скрытого повреждения.
|
||
</li>
|
||
<li>
|
||
Когда число отказавших дисков превышает количество дисков четности,
|
||
потеря данных ограничивается затронутыми дисками; данные на
|
||
других дисках остаются доступными.
|
||
</li>
|
||
<li>
|
||
Если вы случайно удалите файлы на диске, возможно их восстановление.
|
||
</li>
|
||
<li>
|
||
Диски могут иметь разные размеры.
|
||
</li>
|
||
<li>
|
||
Вы можете добавлять диски в любое время.
|
||
</li>
|
||
<li>
|
||
SnapRAID не блокирует ваши данные; вы можете прекратить его использование
|
||
в любое время без переформатирования или перемещения данных.
|
||
</li>
|
||
<li>
|
||
Для доступа к файлу должен раскручиваться только один диск, что экономит
|
||
энергию и снижает шум.
|
||
</li>
|
||
</ul>
|
||
<p>Для получения дополнительной информации, пожалуйста, посетите официальный сайт SnapRAID:
|
||
</p><pre>
|
||
<a href="https://www.snapraid.it/">https://www.snapraid.it/</a>
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec3" class="manual-title-level-1">
|
||
Limitations
|
||
</h1>
|
||
<p>SnapRAID — это гибрид программы RAID и программы резервного копирования,
|
||
стремящийся объединить лучшие преимущества обеих. Однако у него есть
|
||
некоторые ограничения, которые следует учитывать перед использованием.
|
||
</p><p>Основное ограничение заключается в том, что если диск выходит из строя, а вы
|
||
недавно не выполняли синхронизацию, вы можете не восстановить данные полностью.
|
||
В частности, вы можете не восстановить данные в объеме, равном размеру
|
||
измененных или удаленных файлов с момента последней операции синхронизации.
|
||
Это происходит, даже если измененные или удаленные файлы не находятся
|
||
на отказавшем диске. Вот почему SnapRAID лучше подходит для
|
||
данных, которые редко меняются.
|
||
</p><p>С другой стороны, недавно добавленные файлы не препятствуют восстановлению уже
|
||
существующих файлов. Вы потеряете только недавно добавленные файлы,
|
||
если они находятся на отказавшем диске.
|
||
</p><p>Другие ограничения SnapRAID:
|
||
</p><ul>
|
||
<li>
|
||
Со SnapRAID у вас все еще отдельные файловые системы для каждого диска.
|
||
С RAID вы получаете единую большую файловую систему.
|
||
</li>
|
||
<li>
|
||
SnapRAID не выполняет чередование данных.
|
||
С RAID вы получаете прирост скорости благодаря чередованию.
|
||
</li>
|
||
<li>
|
||
SnapRAID не поддерживает восстановление в реальном времени.
|
||
С RAID вам не нужно прекращать работу при сбое диска.
|
||
</li>
|
||
<li>
|
||
SnapRAID может восстановить данные только при ограниченном числе сбоев дисков.
|
||
С резервным копированием вы можете восстановиться после полного
|
||
сбоя всего дискового массива.
|
||
</li>
|
||
<li>
|
||
Сохраняются только имена файлов, метки времени, символические ссылки и жесткие ссылки.
|
||
Разрешения, права владения и расширенные атрибуты не сохраняются.
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec4" class="manual-title-level-1">
|
||
Getting Started
|
||
</h1>
|
||
<p>Чтобы использовать SnapRAID, вам нужно сначала выбрать один диск в вашем дисковом массиве
|
||
для выделения под информацию <b>четности</b> (parity). С одним диском для четности, вы
|
||
сможете восстановиться после одного сбоя диска, подобно RAID5.
|
||
</p><p>Если вы хотите восстановиться после большего числа сбоев дисков, подобно RAID6,
|
||
вы должны зарезервировать дополнительные диски для четности. Каждый дополнительный диск
|
||
четности позволяет восстановиться после еще одного сбоя диска.
|
||
</p><p>В качестве дисков четности вы должны выбирать самые большие диски в массиве,
|
||
так как информация четности может вырасти до размера самого большого
|
||
диска данных в массиве.
|
||
</p><p>Эти диски будут выделены для хранения файлов <b>четности</b>.
|
||
Вы не должны хранить на них свои данные.
|
||
</p><p>Затем вы должны определить диски <b>данных</b>, которые вы хотите защитить
|
||
с помощью SnapRAID. Защита более эффективна, если эти диски
|
||
содержат данные, которые редко меняются. По этой причине лучше
|
||
НЕ включать диск Windows C:\ или каталоги Unix /home, /var и /tmp.
|
||
</p><p>Список файлов сохраняется в файлах <b>content</b>, обычно
|
||
хранящихся на дисках данных, четности или загрузочных дисках.
|
||
Этот файл содержит детали вашего резервного копирования, включая все
|
||
контрольные суммы для проверки его целостности.
|
||
Файл <b>content</b> хранится в нескольких копиях, и каждая копия должна
|
||
находиться на отдельном диске, чтобы гарантировать, что даже в случае
|
||
множественных сбоев дисков, хотя бы одна копия будет доступна.
|
||
</p><p>Например, предположим, что вы заинтересованы только в одном уровне защиты четности,
|
||
и ваши диски расположены по адресам:
|
||
</p><pre>
|
||
/mnt/diskp <- выбранный диск для четности
|
||
/mnt/disk1 <- первый диск для защиты
|
||
/mnt/disk2 <- второй диск для защиты
|
||
/mnt/disk3 <- третий диск для защиты
|
||
</pre>
|
||
<p>Вы должны создать файл конфигурации /etc/snapraid.conf со
|
||
следующими опциями:
|
||
</p><pre>
|
||
parity /mnt/diskp/snapraid.parity
|
||
content /var/snapraid/snapraid.content
|
||
content /mnt/disk1/snapraid.content
|
||
content /mnt/disk2/snapraid.content
|
||
data d1 /mnt/disk1/
|
||
data d2 /mnt/disk2/
|
||
data d3 /mnt/disk3/
|
||
</pre>
|
||
<p>Если вы используете Windows, вам следует использовать формат пути Windows,
|
||
с буквами дисков и обратными слешами вместо прямых.
|
||
</p><pre>
|
||
parity E:\snapraid.parity
|
||
content C:\snapraid\snapraid.content
|
||
content F:\array\snapraid.content
|
||
content G:\array\snapraid.content
|
||
data d1 F:\array\
|
||
data d2 G:\array\
|
||
data d3 H:\array\
|
||
</pre>
|
||
<p>Если у вас много дисков и заканчиваются буквы дисков, вы можете монтировать
|
||
диски непосредственно в подпапки. См.:
|
||
</p><pre>
|
||
<a href="https://www.google.com/search?q=Windows+mount+point">https://www.google.com/search?q=Windows+mount+point</a>
|
||
</pre>
|
||
<p>На этом этапе вы готовы запустить команду <b>sync</b> для создания
|
||
информации четности.
|
||
</p><pre>
|
||
snapraid sync
|
||
</pre>
|
||
<p>Этот процесс может занять несколько часов в первый раз, в зависимости от размера
|
||
данных, уже присутствующих на дисках. Если диски пустые,
|
||
процесс происходит немедленно.
|
||
</p><p>Вы можете остановить его в любое время, нажав Ctrl+C, и при следующем запуске он
|
||
возобновит работу с того места, где был прерван.
|
||
</p><p>Когда эта команда завершится, ваши данные ЗАЩИЩЕНЫ.
|
||
</p><p>Теперь вы можете начать использовать свой массив, как вам угодно, и периодически
|
||
обновлять информацию четности, запуская команду <b>sync</b>.
|
||
</p><div class="manual-section-level-2">
|
||
<h2 id="sec4-1" class="manual-title-level-2">
|
||
Scrubbing
|
||
</h2>
|
||
<p>Для периодической проверки данных и четности на наличие ошибок, вы можете
|
||
запустить команду <b>scrub</b>.
|
||
</p><pre>
|
||
snapraid scrub
|
||
</pre>
|
||
<p>Эта команда сравнивает данные в вашем массиве с хэшем, вычисленным
|
||
во время команды <b>sync</b>, для проверки целостности.
|
||
</p><p>Каждый запуск команды проверяет примерно 8% массива, исключая данные,
|
||
уже проверенные за предыдущие 10 дней.
|
||
Вы можете использовать опцию -p, --plan, чтобы указать другое количество,
|
||
и опцию -o, --older-than, чтобы указать другой возраст в днях.
|
||
Например, для проверки 5% массива на наличие блоков старше 20 дней, используйте:
|
||
</p><pre>
|
||
snapraid -p 5 -o 20 scrub
|
||
</pre>
|
||
<p>Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода,
|
||
соответствующие блоки помечаются как плохие в файле <b>content</b>
|
||
и перечисляются в команде <b>status</b>.
|
||
</p><pre>
|
||
snapraid status
|
||
</pre>
|
||
<p>Чтобы исправить их, вы можете использовать команду <b>fix</b>, фильтруя плохие блоки
|
||
с помощью опции -e, --filter-error:
|
||
</p><pre>
|
||
snapraid -e fix
|
||
</pre>
|
||
<p>При следующем <b>scrub</b> ошибки исчезнут из отчета <b>status</b>,
|
||
если они действительно исправлены. Чтобы ускорить процесс, вы можете использовать
|
||
-p bad для проверки только блоков, помеченных как плохие.
|
||
</p><pre>
|
||
snapraid -p bad scrub
|
||
</pre>
|
||
<p>Запуск <b>scrub</b> на несинхронизированном массиве может сообщить об ошибках, вызванных
|
||
удаленными или измененными файлами. Эти ошибки сообщаются в выводе <b>scrub</b>,
|
||
но соответствующие блоки не помечаются как плохие.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec4-2" class="manual-title-level-2">
|
||
Pooling
|
||
</h2>
|
||
<p>Примечание: Функция объединения (pooling), описанная ниже, была заменена инструментом
|
||
mergerfs, который теперь является рекомендуемым вариантом для пользователей Linux
|
||
в сообществе SnapRAID. Mergefs предоставляет более гибкий и эффективный
|
||
способ объединения нескольких дисков в единую точку монтирования,
|
||
обеспечивая беспрепятственный доступ к файлам по всему массиву без
|
||
опоры на символические ссылки. Он хорошо интегрируется со SnapRAID для
|
||
защиты четности и обычно используется в установках, таких как OpenMediaVault (OMV)
|
||
или пользовательских конфигурациях NAS.
|
||
</p><p>Чтобы все файлы в вашем массиве отображались в одном дереве каталогов,
|
||
вы можете включить функцию <b>pooling</b>. Она создает виртуальное
|
||
представление всех файлов в вашем массиве только для чтения, используя
|
||
символические ссылки.
|
||
</p><p>Вы можете настроить каталог <b>pooling</b> в файле конфигурации с помощью:
|
||
</p><pre>
|
||
pool /pool
|
||
</pre>
|
||
<p>или, если вы используете Windows, с помощью:
|
||
</p><pre>
|
||
pool C:\pool
|
||
</pre>
|
||
<p>а затем запустить команду <b>pool</b> для создания или обновления виртуального представления.
|
||
</p><pre>
|
||
snapraid pool
|
||
</pre>
|
||
<p>Если вы используете платформу Unix и хотите предоставить общий доступ к этому каталогу
|
||
по сети как для машин Windows, так и для Unix, вы должны добавить
|
||
следующие опции в ваш /etc/samba/smb.conf:
|
||
</p><pre>
|
||
# В глобальном разделе smb.conf
|
||
unix extensions = no
|
||
</pre>
|
||
<pre>
|
||
# В разделе общего ресурса smb.conf
|
||
[pool]
|
||
comment = Pool
|
||
path = /pool
|
||
read only = yes
|
||
guest ok = yes
|
||
wide links = yes
|
||
follow symlinks = yes
|
||
</pre>
|
||
<p>В Windows совместное использование символических ссылок по сети требует, чтобы клиенты
|
||
разрешали их удаленно. Чтобы включить это, помимо предоставления общего доступа
|
||
к каталогу pool, вы также должны предоставить общий доступ ко всем дискам
|
||
независимо, используя имена дисков, определенные в файле конфигурации, в качестве
|
||
точек общего доступа. Вы также должны указать в опции <b>share</b> файла
|
||
конфигурации путь UNC Windows, который удаленные клиенты должны использовать
|
||
для доступа к этим общим дискам.
|
||
</p><p>Например, работая с сервера с именем <b>darkstar</b>, вы можете использовать
|
||
опции:
|
||
</p><pre>
|
||
data d1 F:\array\
|
||
data d2 G:\array\
|
||
data d3 H:\array\
|
||
pool C:\pool
|
||
share \\darkstar
|
||
</pre>
|
||
<p>и предоставить общий доступ к следующим каталогам по сети:
|
||
</p><pre>
|
||
\\darkstar\pool -> C:\pool
|
||
\\darkstar\d1 -> F:\array
|
||
\\darkstar\d2 -> G:\array
|
||
\\darkstar\d3 -> H:\array
|
||
</pre>
|
||
<p>чтобы разрешить удаленным клиентам доступ ко всем файлам по адресу \\darkstar\pool.
|
||
</p><p>Вам также может потребоваться настроить удаленные клиенты для включения доступа к
|
||
удаленным символическим ссылкам с помощью команды:
|
||
</p><pre>
|
||
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec4-3" class="manual-title-level-2">
|
||
Undeleting
|
||
</h2>
|
||
<p>SnapRAID функционирует скорее как программа резервного копирования, чем как система RAID,
|
||
и может использоваться для восстановления или отмены удаления файлов до их
|
||
предыдущего состояния с помощью опции -f, --filter:
|
||
</p><pre>
|
||
snapraid fix -f FILE
|
||
</pre>
|
||
<p>или для каталога:
|
||
</p><pre>
|
||
snapraid fix -f DIR/
|
||
</pre>
|
||
<p>Вы также можете использовать его для восстановления только случайно удаленных файлов внутри
|
||
каталога с помощью опции -m, --filter-missing, которая восстанавливает
|
||
только отсутствующие файлы, оставляя все остальные нетронутыми.
|
||
</p><pre>
|
||
snapraid fix -m -f DIR/
|
||
</pre>
|
||
<p>Или для восстановления всех удаленных файлов на всех дисках с помощью:
|
||
</p><pre>
|
||
snapraid fix -m
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec4-4" class="manual-title-level-2">
|
||
Recovering
|
||
</h2>
|
||
<p>Случилось худшее, и вы потеряли один или несколько дисков!
|
||
</p><p>НЕ ПАНИКУЙТЕ! Вы сможете их восстановить!
|
||
</p><p>Первое, что вы должны сделать, это избегать дальнейших изменений в вашем дисковом массиве.
|
||
Отключите любые удаленные подключения к нему и любые запланированные процессы,
|
||
включая любое запланированное ночное sync или scrub SnapRAID.
|
||
</p><p>Затем приступайте к следующим шагам.
|
||
</p><div class="manual-section-level-3">
|
||
<h3 id="sec4-4-1" class="manual-title-level-3">
|
||
STEP 1 -> Reconfigure
|
||
</h3>
|
||
<p>Вам нужно место для восстановления, в идеале на дополнительных
|
||
запасных дисках, но внешнего USB-диска или удаленного диска будет достаточно.
|
||
</p><p>Измените файл конфигурации SnapRAID, чтобы опция <b>data</b> или <b>parity</b>
|
||
отказавшего диска указывала на место с достаточным пустым
|
||
пространством для восстановления файлов.
|
||
</p><p>Например, если диск <b>d1</b> вышел из строя, измените с:
|
||
</p><pre>
|
||
data d1 /mnt/disk1/
|
||
</pre>
|
||
<p>на:
|
||
</p><pre>
|
||
data d1 /mnt/new_spare_disk/
|
||
</pre>
|
||
<p>Если восстанавливаемый диск является диском четности, обновите соответствующую опцию <b>parity</b>.
|
||
Если у вас несколько отказавших дисков, обновите все их опции конфигурации.
|
||
</p></div>
|
||
<div class="manual-section-level-3">
|
||
<h3 id="sec4-4-2" class="manual-title-level-3">
|
||
STEP 2 -> Fix
|
||
</h3>
|
||
<p>Запустите команду fix, сохраняя журнал во внешнем файле с помощью:
|
||
</p><pre>
|
||
snapraid -d NAME -l fix.log fix
|
||
</pre>
|
||
<p>Где NAME — это имя диска, например <b>d1</b> в нашем предыдущем примере.
|
||
Если восстанавливаемый диск является диском четности, используйте имена <b>parity</b>, <b>2-parity</b>
|
||
и т. д.
|
||
Если у вас несколько отказавших дисков, используйте несколько опций -d, чтобы указать
|
||
их все.
|
||
</p><p>Эта команда займет много времени.
|
||
</p><p>Убедитесь, что у вас есть несколько гигабайт свободного места для хранения файла fix.log.
|
||
Запустите ее с диска с достаточным свободным местом.
|
||
</p><p>Теперь вы восстановили все, что можно было восстановить. Если некоторые файлы
|
||
частично или полностью невосстановимы, они будут переименованы с добавлением
|
||
расширения <b>.unrecoverable</b>.
|
||
</p><p>Вы можете найти подробный список всех невосстановимых блоков в файле fix.log,
|
||
проверяя все строки, начинающиеся с <b>unrecoverable:</b>.
|
||
</p><p>Если вы не удовлетворены восстановлением, вы можете повторять его столько
|
||
раз, сколько пожелаете.
|
||
</p><p>Например, если вы удалили файлы из массива после последнего
|
||
<b>sync</b>, это может привести к тому, что некоторые файлы не будут восстановлены.
|
||
В этом случае вы можете повторить <b>fix</b>, используя опцию -i, --import,
|
||
указав, где эти файлы находятся сейчас, чтобы снова включить их в
|
||
процесс восстановления.
|
||
</p><p>Если вы удовлетворены восстановлением, вы можете продолжить,
|
||
но учтите, что после синхронизации вы больше не сможете повторить команду <b>fix</b>!
|
||
</p></div>
|
||
<div class="manual-section-level-3">
|
||
<h3 id="sec4-4-3" class="manual-title-level-3">
|
||
STEP 3 -> Check
|
||
</h3>
|
||
<p>В качестве осторожной проверки, вы можете теперь запустить команду <b>check</b>, чтобы убедиться,
|
||
что все в порядке на восстановленном диске.
|
||
</p><pre>
|
||
snapraid -d NAME -a check
|
||
</pre>
|
||
<p>Где NAME — это имя диска, например <b>d1</b> в нашем предыдущем примере.
|
||
</p><p>Опции -d и -a говорят SnapRAID проверить только указанный диск
|
||
и игнорировать все данные четности.
|
||
</p><p>Эта команда займет много времени, но если вы не чрезмерно осторожны,
|
||
вы можете ее пропустить.
|
||
</p></div>
|
||
<div class="manual-section-level-3">
|
||
<h3 id="sec4-4-4" class="manual-title-level-3">
|
||
STEP 4 -> Sync
|
||
</h3>
|
||
<p>Запустите команду <b>sync</b>, чтобы ресинхронизировать массив с новым диском.
|
||
</p><pre>
|
||
snapraid sync
|
||
</pre>
|
||
<p>Если все восстановлено, эта команда выполняется немедленно.
|
||
</p></div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec5" class="manual-title-level-1">
|
||
Commands
|
||
</h1>
|
||
<p>SnapRAID предоставляет несколько простых команд, которые позволяют:
|
||
</p><ul>
|
||
<li>
|
||
Печатать статус массива -> <b>status</b>
|
||
</li>
|
||
<li>
|
||
Управлять дисками -> <b>smart</b>, <b>probe</b>, <b>up</b>, <b>down</b>
|
||
</li>
|
||
<li>
|
||
Сделать резервную копию/снимок -> <b>sync</b>
|
||
</li>
|
||
<li>
|
||
Периодически проверять данные -> <b>scrub</b>
|
||
</li>
|
||
<li>
|
||
Восстановить последнюю резервную копию/снимок -> <b>fix</b>.
|
||
</li>
|
||
</ul>
|
||
<p>Команды должны быть написаны строчными буквами.
|
||
</p><div class="manual-section-level-2">
|
||
<h2 id="sec5-1" class="manual-title-level-2">
|
||
status
|
||
</h2>
|
||
<p>Печатает сводку состояния дискового массива.
|
||
</p><p>Она включает информацию о фрагментации четности, о том, насколько старые
|
||
блоки без проверки, и все записанные скрытые ошибки,
|
||
возникшие во время scrubbing.
|
||
</p><p>Представленная информация относится к последнему времени, когда вы
|
||
запускали <b>sync</b>. Более поздние изменения не учитываются.
|
||
</p><p>Если были обнаружены плохие блоки, перечисляются их номера.
|
||
Чтобы исправить их, вы можете использовать команду <b>fix -e</b>.
|
||
</p><p>Он также показывает график, представляющий последнее время, когда каждый блок
|
||
был проверен (<b>scrubbed</b>) или синхронизирован (<b>synced</b>). Проверенные блоки
|
||
обозначены символом <b>*</b>, блоки, синхронизированные, но еще не проверенные,
|
||
символом <b>o</b>.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-2" class="manual-title-level-2">
|
||
smart
|
||
</h2>
|
||
<p>Печатает отчет SMART всех дисков в системе.
|
||
</p><p>Он включает оценку вероятности сбоя в следующем году,
|
||
позволяя планировать плановую замену дисков, которые показывают
|
||
подозрительные атрибуты.
|
||
</p><p>Эта оценка вероятности получена путем корреляции атрибутов SMART
|
||
дисков с данными Backblaze, доступными по адресу:
|
||
</p><pre>
|
||
<a href="https://www.backblaze.com/hard-drive-test-data.html">https://www.backblaze.com/hard-drive-test-data.html</a>
|
||
</pre>
|
||
<p>Если SMART сообщает, что диск выходит из строя, для этого диска
|
||
выводится <b>FAIL</b> или <b>PREFAIL</b>, и SnapRAID возвращает ошибку.
|
||
В этом случае немедленная замена диска настоятельно рекомендуется.
|
||
</p><p>Другие возможные строки статуса:
|
||
</p><div class="manual-tag-list">
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
logfail
|
||
</div><div class="manual-tag-description">
|
||
В прошлом некоторые атрибуты были ниже
|
||
порогового значения.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
logerr
|
||
</div><div class="manual-tag-description">
|
||
Журнал ошибок устройства содержит ошибки.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
selferr
|
||
</div><div class="manual-tag-description">
|
||
Журнал самотестирования устройства содержит ошибки.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>Если указана опция -v, --verbose, предоставляется более глубокий
|
||
статистический анализ. Этот анализ может помочь вам решить, нужно ли вам
|
||
больше или меньше четности.
|
||
</p><p>Эта команда использует инструмент <b>smartctl</b> и эквивалентна запуску
|
||
<b>smartctl -a</b> на всех устройствах.
|
||
</p><p>Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать
|
||
пользовательскую команду, используя опцию <b>smartctl</b> в файле
|
||
конфигурации.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-3" class="manual-title-level-2">
|
||
probe
|
||
</h2>
|
||
<p>Печатает состояние POWER всех дисков в системе.
|
||
</p><p><b>Standby</b> означает, что диск не вращается. <b>Active</b> означает,
|
||
что диск вращается.
|
||
</p><p>Эта команда использует инструмент <b>smartctl</b> и эквивалентна запуску
|
||
<b>smartctl -n standby -i</b> на всех устройствах.
|
||
</p><p>Если ваши устройства не обнаруживаются автоматически правильно, вы можете указать
|
||
пользовательскую команду, используя опцию <b>smartctl</b> в файле
|
||
конфигурации.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-4" class="manual-title-level-2">
|
||
up
|
||
</h2>
|
||
<p>Раскручивает все диски массива.
|
||
</p><p>Вы можете раскрутить только определенные диски, используя опцию -d, --filter-disk.
|
||
</p><p>Раскручивание всех дисков одновременно требует много энергии.
|
||
Убедитесь, что ваш блок питания может это выдержать.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-5" class="manual-title-level-2">
|
||
down
|
||
</h2>
|
||
<p>Останавливает вращение всех дисков массива.
|
||
</p><p>Эта команда использует инструмент <b>smartctl</b> и эквивалентна запуску
|
||
<b>smartctl -s standby,now</b> на всех устройствах.
|
||
</p><p>Вы можете остановить вращение только определенных дисков, используя опцию -d, --filter-disk.
|
||
</p><p>Чтобы автоматически остановить вращение при ошибке, вы можете использовать опцию
|
||
-s, --spin-down-on-error с любой другой командой, что эквивалентно
|
||
ручному запуску <b>down</b> при возникновении ошибки.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-6" class="manual-title-level-2">
|
||
diff
|
||
</h2>
|
||
<p>Перечисляет все файлы, измененные с момента последнего <b>sync</b>, для которых
|
||
требуется пересчитать данные четности.
|
||
</p><p>Эта команда не проверяет данные файла, а только метку времени файла,
|
||
размер и inode.
|
||
</p><p>После перечисления всех измененных файлов представляется сводка изменений,
|
||
сгруппированных по:
|
||
</p><div class="manual-tag-list">
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
equal
|
||
</div><div class="manual-tag-description">
|
||
Файлы, не измененные по сравнению с предыдущим состоянием.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
added
|
||
</div><div class="manual-tag-description">
|
||
Добавленные файлы, которых не было раньше.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
removed
|
||
</div><div class="manual-tag-description">
|
||
Удаленные файлы.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
updated
|
||
</div><div class="manual-tag-description">
|
||
Файлы с другим размером или меткой времени, что означает, что они
|
||
были изменены.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
moved
|
||
</div><div class="manual-tag-description">
|
||
Файлы, перемещенные в другой каталог на том же диске.
|
||
Они идентифицируются как имеющие то же имя, размер, метку времени
|
||
и inode, но другой каталог.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
copied
|
||
</div><div class="manual-tag-description">
|
||
файлы, скопированные на тот же или другой диск, где
|
||
исходный файл все еще существует.
|
||
Они идентифицируются по совпадению имени, размера и метки
|
||
времени.
|
||
Если дробная часть метки времени равна нулю, для идентификации
|
||
должен совпадать полный путь, а не только имя.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
relocated
|
||
</div><div class="manual-tag-description">
|
||
файлы, перемещенные на тот же или другой диск, где
|
||
оригинал исчез.
|
||
Они идентифицируются по совпадению имени, размера и метки
|
||
времени.
|
||
Если дробная часть метки времени равна нулю, для идентификации
|
||
должен совпадать полный путь.
|
||
В отличие от файлов 'moved' на том же диске, перемещенные файлы
|
||
имеют другой inode.
|
||
</div>
|
||
</div>
|
||
<div class="manual-tag-entry">
|
||
<div class="manual-tag-name">
|
||
restored
|
||
</div><div class="manual-tag-description">
|
||
файлы с другим inode, но совпадающим каталогом,
|
||
именем, размером и меткой времени.
|
||
Обычно это файлы, восстановленные после удаления.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>Если требуется <b>sync</b>, код возврата процесса равен 2, а не
|
||
по умолчанию 0. Код возврата 1 используется для общего условия ошибки.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-7" class="manual-title-level-2">
|
||
sync
|
||
</h2>
|
||
<p>Обновляет информацию четности. Все измененные файлы
|
||
в дисковом массиве считываются, и соответствующие данные четности
|
||
обновляются.
|
||
</p><p>Вы можете остановить этот процесс в любое время, нажав Ctrl+C,
|
||
не теряя уже проделанной работы.
|
||
При следующем запуске процесс <b>sync</b> возобновится с того места,
|
||
где был прерван.
|
||
</p><p>Если во время процесса обнаруживаются скрытые ошибки или ошибки ввода/вывода,
|
||
соответствующие блоки помечаются как плохие.
|
||
</p><p>Файлы идентифицируются по пути и/или inode и проверяются по
|
||
размеру и метке времени.
|
||
Если размер файла или метка времени отличаются, данные четности
|
||
пересчитываются для всего файла.
|
||
Если файл перемещен или переименован на том же диске, сохраняя
|
||
тот же inode, четность не пересчитывается.
|
||
Если файл перемещен на другой диск, четность пересчитывается,
|
||
но ранее вычисленная информация хэша сохраняется.
|
||
</p><p>Файлы <b>content</b> и <b>parity</b> изменяются при необходимости.
|
||
Файлы в массиве НЕ изменяются.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-8" class="manual-title-level-2">
|
||
scrub
|
||
</h2>
|
||
<p>Проверяет массив, проверяя на наличие скрытых ошибок или ошибок ввода/вывода
|
||
на дисках данных и четности.
|
||
</p><p>Каждый вызов проверяет примерно 8% массива, исключая
|
||
данные, уже проверенные за последние 10 дней.
|
||
Это означает, что проверка раз в неделю гарантирует, что каждый бит данных
|
||
проверяется хотя бы раз в три месяца.
|
||
</p><p>Вы можете определить другой план или объем проверки, используя опцию -p, --plan,
|
||
которая принимает:
|
||
bad - Проверить блоки, помеченные как плохие.
|
||
new - Проверить только что синхронизированные блоки, которые еще не были проверены.
|
||
full - Проверить все.
|
||
0-100 - Проверить указанный процент блоков.
|
||
</p><p>Если вы указываете процентное значение, вы также можете использовать опцию -o, --older-than,
|
||
чтобы определить, насколько старым должен быть блок.
|
||
Сначала проверяются самые старые блоки, обеспечивая оптимальную проверку.
|
||
Если вы хотите проверить только что синхронизированные блоки, которые еще не были проверены,
|
||
используйте опцию <b>-p new</b>.
|
||
</p><p>Чтобы получить подробности о статусе проверки, используйте команду <b>status</b>.
|
||
</p><p>При обнаружении любой скрытой ошибки или ошибки ввода/вывода соответствующие блоки
|
||
помечаются как плохие в файле <b>content</b>.
|
||
Эти плохие блоки перечисляются в <b>status</b> и могут быть исправлены с помощью <b>fix -e</b>.
|
||
После исправления при следующем scrub они будут перепроверены, и если
|
||
обнаружатся исправленными, плохая метка будет удалена.
|
||
Чтобы проверить только плохие блоки, вы можете использовать команду <b>scrub -p bad</b>.
|
||
</p><p>Рекомендуется запускать <b>scrub</b> только на синхронизированном массиве, чтобы избежать
|
||
сообщений об ошибках, вызванных несинхронизированными данными. Эти ошибки
|
||
распознаются как не являющиеся скрытыми ошибками, и блоки не помечаются
|
||
как плохие, но такие ошибки сообщаются в выводе команды.
|
||
</p><p>Файл <b>content</b> изменяется для обновления времени последней проверки
|
||
для каждого блока и для пометки плохих блоков.
|
||
Файлы <b>parity</b> НЕ изменяются.
|
||
Файлы в массиве НЕ изменяются.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-9" class="manual-title-level-2">
|
||
fix
|
||
</h2>
|
||
<p>Исправляет все файлы и данные четности.
|
||
</p><p>Все файлы и данные четности сравниваются с состоянием снимка,
|
||
сохраненным при последнем <b>sync</b>.
|
||
Если обнаружено различие, оно возвращается к сохраненному снимку.
|
||
</p><p>ВНИМАНИЕ! Команда <b>fix</b> не различает ошибки и
|
||
преднамеренные изменения. Она безусловно возвращает состояние файла
|
||
к последнему <b>sync</b>.
|
||
</p><p>Если не указана другая опция, обрабатывается весь массив.
|
||
Используйте опции фильтрации, чтобы выбрать подмножество файлов или дисков для работы.
|
||
</p><p>Чтобы исправить только блоки, помеченные как плохие во время <b>sync</b> и <b>scrub</b>,
|
||
используйте опцию -e, --filter-error.
|
||
В отличие от других опций фильтрации, эта применяет исправления только к файлам,
|
||
которые не были изменены с момента последнего <b>sync</b>.
|
||
</p><p>SnapRAID переименовывает все файлы, которые не могут быть исправлены, добавляя
|
||
расширение <b>.unrecoverable</b>.
|
||
</p><p>Перед исправлением сканируется весь массив, чтобы найти файлы, перемещенные
|
||
с момента последней операции <b>sync</b>.
|
||
Эти файлы идентифицируются по их метке времени, игнорируя их имя
|
||
и каталог, и используются в процессе восстановления при необходимости.
|
||
Если вы переместили некоторые из них за пределы массива, вы можете использовать опцию
|
||
-i, --import, чтобы указать дополнительные каталоги для сканирования.
|
||
</p><p>Файлы идентифицируются только по пути, а не по inode.
|
||
</p><p>Файл <b>content</b> НЕ изменяется.
|
||
Файлы <b>parity</b> изменяются при необходимости.
|
||
Файлы в массиве изменяются при необходимости.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-10" class="manual-title-level-2">
|
||
check
|
||
</h2>
|
||
<p>Проверяет все файлы и данные четности.
|
||
</p><p>Он работает как <b>fix</b>, но только имитирует восстановление, и никакие изменения
|
||
не записываются в массив.
|
||
</p><p>Эта команда в основном предназначена для ручной проверки,
|
||
например, после процесса восстановления или в других особых условиях.
|
||
Для периодических и запланированных проверок используйте <b>scrub</b>.
|
||
</p><p>Если вы используете опцию -a, --audit-only, проверяются только данные
|
||
файла, а данные четности игнорируются для
|
||
более быстрого выполнения.
|
||
</p><p>Файлы идентифицируются только по пути, а не по inode.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-11" class="manual-title-level-2">
|
||
list
|
||
</h2>
|
||
<p>Перечисляет все файлы, содержащиеся в массиве на момент
|
||
последнего <b>sync</b>.
|
||
</p><p>С -v или --verbose также отображается время с точностью до доли секунды.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-12" class="manual-title-level-2">
|
||
dup
|
||
</h2>
|
||
<p>Перечисляет все дублирующиеся файлы. Два файла считаются равными, если их
|
||
хэши совпадают. Данные файла не считываются; используются только
|
||
предварительно вычисленные хэши.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-13" class="manual-title-level-2">
|
||
pool
|
||
</h2>
|
||
<p>Создает или обновляет виртуальное представление всех
|
||
файлов в вашем дисковом массиве в каталоге <b>pooling</b>.
|
||
</p><p>Файлы не копируются, а связываются с помощью
|
||
символических ссылок.
|
||
</p><p>При обновлении все существующие символические ссылки и пустые
|
||
подкаталоги удаляются и заменяются новым
|
||
представлением массива. Любые другие обычные файлы остаются на месте.
|
||
</p><p>Ничего не изменяется за пределами каталога pool.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-14" class="manual-title-level-2">
|
||
devices
|
||
</h2>
|
||
<p>Печатает низкоуровневые устройства, используемые массивом.
|
||
</p><p>Эта команда отображает ассоциации устройств в массиве
|
||
и в основном предназначена как интерфейс для скриптов.
|
||
</p><p>Первые два столбца — это низкоуровневый идентификатор устройства и путь.
|
||
Следующие два столбца — это высокоуровневый идентификатор устройства и путь.
|
||
Последний столбец — это имя диска в массиве.
|
||
</p><p>В большинстве случаев у вас есть одно низкоуровневое устройство для каждого диска в
|
||
массиве, но в некоторых более сложных конфигурациях у вас может быть несколько
|
||
низкоуровневых устройств, используемых одним диском в массиве.
|
||
</p><p>Ничего не изменяется.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-15" class="manual-title-level-2">
|
||
touch
|
||
</h2>
|
||
<p>Устанавливает произвольную метку времени с точностью до доли секунды для всех файлов,
|
||
у которых она установлена в ноль.
|
||
</p><p>Это улучшает способность SnapRAID распознавать перемещенные
|
||
и скопированные файлы, так как делает метку времени почти уникальной,
|
||
уменьшая возможные дубликаты.
|
||
</p><p>Более конкретно, если метка времени с точностью до доли секунды не равна нулю,
|
||
перемещенный или скопированный файл идентифицируется как таковой, если он совпадает
|
||
по имени, размеру и метке времени. Если метка времени с точностью до доли секунды
|
||
равна нулю, он считается копией только в том случае, если полностью совпадают
|
||
полный путь, размер и метка времени.
|
||
</p><p>Метка времени с точностью до секунды не изменяется,
|
||
поэтому все даты и время ваших файлов будут сохранены.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-16" class="manual-title-level-2">
|
||
rehash
|
||
</h2>
|
||
<p>Планирует перехэширование всего массива.
|
||
</p><p>Эта команда изменяет используемый тип хэша, обычно при обновлении
|
||
с 32-разрядной системы на 64-разрядную, для переключения с
|
||
MurmurHash3 на более быстрый SpookyHash.
|
||
</p><p>Если вы уже используете оптимальный хэш, эта команда
|
||
ничего не делает и информирует вас, что никакие действия не требуются.
|
||
</p><p>Перехэширование не выполняется немедленно, а происходит
|
||
постепенно во время <b>sync</b> и <b>scrub</b>.
|
||
</p><p>Вы можете проверить состояние перехэширования с помощью <b>status</b>.
|
||
</p><p>Во время перехэширования SnapRAID сохраняет полную функциональность,
|
||
за единственным исключением, что <b>dup</b> не может обнаружить дублирующиеся
|
||
файлы, использующие другой хэш.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec5-17" class="manual-title-level-2">
|
||
locate
|
||
</h2>
|
||
<p>Находит файлы, хранящиеся на дисках четности. Для каждого найденного файла
|
||
выводится его расположение внутри файла четности и количество занимаемых
|
||
им фрагментов.
|
||
</p><p>Вы можете использовать параметр -t, --tail, чтобы ограничить операцию файлами,
|
||
занимающими указанную хвостовую часть четности.
|
||
</p><p>Если вы хотите перераспределить эти файлы, вы можете использовать параметр
|
||
-W, --force-realloc-tail.
|
||
Имейте в виду, что такие файлы не будут защищены четностью во время процесса
|
||
перераспределения.
|
||
</p></div>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec6" class="manual-title-level-1">
|
||
Options
|
||
</h1>
|
||
<p>SnapRAID предоставляет следующие опции:
|
||
</p><div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-c, --conf CONFIG
|
||
</div><div class="manual-option-description">
|
||
Выбирает файл конфигурации для использования. Если не указан, в Unix
|
||
используется файл <b>/usr/local/etc/snapraid.conf</b>, если он существует,
|
||
в противном случае <b>/etc/snapraid.conf</b>.
|
||
В Windows используется файл <b>snapraid.conf</b> в том же
|
||
каталоге, что и <b>snapraid.exe</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-f, --filter PATTERN
|
||
</div><div class="manual-option-description">
|
||
Фильтрует файлы для обработки в <b>check</b> и <b>fix</b>.
|
||
Обрабатываются только файлы, соответствующие указанному шаблону.
|
||
Эту опцию можно использовать несколько раз.
|
||
Подробнее о спецификациях шаблонов см. в разделе PATTERN.
|
||
В Unix убедитесь, что символы глоббинга заключены в кавычки, если используются.
|
||
Эту опцию можно использовать только с <b>check</b> и <b>fix</b>.
|
||
Ее нельзя использовать с <b>sync</b> и <b>scrub</b>, так как они всегда
|
||
обрабатывают весь массив.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-d, --filter-disk NAME
|
||
</div><div class="manual-option-description">
|
||
Фильтрует диски для обработки в <b>check</b>, <b>fix</b>, <b>up</b> и <b>down</b>.
|
||
Вы должны указать имя диска, определенное в файле конфигурации.
|
||
Вы также можете указать диски четности с именами: <b>parity</b>, <b>2-parity</b>,
|
||
<b>3-parity</b> и т. д., чтобы ограничить операции конкретным диском четности.
|
||
Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing,
|
||
выбираются только файлы, соответствующие всем фильтрам.
|
||
Эту опцию можно использовать несколько раз.
|
||
Эту опцию можно использовать только с <b>check</b>, <b>fix</b>, <b>up</b> и <b>down</b>.
|
||
Ее нельзя использовать с <b>sync</b> и <b>scrub</b>, так как они всегда
|
||
обрабатывают весь массив.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-m, --filter-missing
|
||
</div><div class="manual-option-description">
|
||
Фильтрует файлы для обработки в <b>check</b> и <b>fix</b>.
|
||
Обрабатываются только файлы, отсутствующие или удаленные из массива.
|
||
При использовании с <b>fix</b>, это действует как команда <b>undelete</b>.
|
||
Если вы комбинируете несколько опций --filter, --filter-disk и --filter-missing,
|
||
выбираются только файлы, соответствующие всем фильтрам.
|
||
Эту опцию можно использовать только с <b>check</b> и <b>fix</b>.
|
||
Ее нельзя использовать с <b>sync</b> и <b>scrub</b>, так как они всегда
|
||
обрабатывают весь массив.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-e, --filter-error
|
||
</div><div class="manual-option-description">
|
||
Обрабатывает файлы с ошибками в <b>check</b> и <b>fix</b>.
|
||
Он обрабатывает только файлы, блоки которых помечены скрытыми
|
||
ошибками или ошибками ввода/вывода во время <b>sync</b> и <b>scrub</b>, как
|
||
перечислено в <b>status</b>.
|
||
Эту опцию можно использовать только с <b>check</b> и <b>fix</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-p, --plan PERC|bad|new|full
|
||
</div><div class="manual-option-description">
|
||
Выбирает план проверки (<b>scrub</b>). Если PERC — это числовое значение от 0 до 100,
|
||
оно интерпретируется как процент блоков для проверки.
|
||
Вместо процента вы можете указать план:
|
||
<b>bad</b> проверяет плохие блоки, <b>new</b> проверяет блоки, которые еще не были проверены,
|
||
и <b>full</b> проверяет все.
|
||
Эту опцию можно использовать только с <b>scrub</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-o, --older-than DAYS
|
||
</div><div class="manual-option-description">
|
||
Выбирает самую старую часть массива для обработки в <b>scrub</b>.
|
||
DAYS — это минимальный возраст в днях для блока, который будет проверен;
|
||
по умолчанию — 10.
|
||
Блоки, помеченные как плохие, всегда проверяются независимо от этой опции.
|
||
Эту опцию можно использовать только с <b>scrub</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-a, --audit-only
|
||
</div><div class="manual-option-description">
|
||
В <b>check</b>, проверяет хэш файлов без
|
||
проверки данных четности.
|
||
Если вы заинтересованы только в проверке данных файла, эта
|
||
опция может значительно ускорить процесс проверки.
|
||
Эту опцию можно использовать только с <b>check</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-h, --pre-hash
|
||
</div><div class="manual-option-description">
|
||
В <b>sync</b>, запускает предварительную фазу хэширования всех новых данных
|
||
для дополнительной проверки перед вычислением четности.
|
||
Обычно в <b>sync</b> предварительное хэширование не выполняется, и новые
|
||
данные хэшируются непосредственно перед вычислением четности, когда они
|
||
считываются в первый раз.
|
||
Этот процесс происходит, когда система находится под
|
||
тяжелой нагрузкой, со всеми вращающимися дисками и занятым процессором.
|
||
Это экстремальное условие для машины, и если у нее есть
|
||
скрытая аппаратная проблема, скрытые ошибки могут остаться незамеченными,
|
||
потому что данные еще не хэшированы.
|
||
Чтобы избежать этого риска, вы можете включить режим <b>pre-hash</b>, чтобы
|
||
все данные считывались дважды для обеспечения их целостности.
|
||
Эта опция также проверяет файлы, перемещенные внутри массива,
|
||
чтобы убедиться, что операция перемещения прошла успешно, и, при необходимости,
|
||
позволяет запустить операцию исправления (<b>fix</b>) перед продолжением.
|
||
Эту опцию можно использовать только с <b>sync</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-i, --import DIR
|
||
</div><div class="manual-option-description">
|
||
Импортирует из указанного каталога любые файлы, удаленные
|
||
из массива после последнего <b>sync</b>.
|
||
Если у вас все еще есть такие файлы, они могут использоваться <b>check</b>
|
||
и <b>fix</b> для улучшения процесса восстановления.
|
||
Файлы считываются, включая подкаталоги, и идентифицируются
|
||
независимо от их имени.
|
||
Эту опцию можно использовать только с <b>check</b> и <b>fix</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-s, --spin-down-on-error
|
||
</div><div class="manual-option-description">
|
||
При любой ошибке останавливает вращение всех управляемых дисков перед выходом с
|
||
ненулевым кодом состояния. Это предотвращает оставление дисков
|
||
активными и вращающимися после прерванной операции,
|
||
помогая избежать ненужного нагрева и энергопотребления.
|
||
Используйте эту опцию, чтобы гарантировать безопасную остановку дисков,
|
||
даже когда команда завершается неудачей.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-w, --bw-limit RATE
|
||
</div><div class="manual-option-description">
|
||
Применяет глобальное ограничение пропускной способности для всех дисков. RATE — это
|
||
количество байтов в секунду. Вы можете указать множитель,
|
||
например K, M или G (например, --bw-limit 1G).
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-t, --tail РАЗМЕР
|
||
</div><div class="manual-option-description">
|
||
Ограничивает список файлов теми, которые используют не более
|
||
указанного размера хвоста дисков четности.
|
||
Можно использовать множители, такие как K, M, G или T (например, --tail 1G).
|
||
Этот параметр действителен только при использовании вместе с
|
||
командой <b>locate</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-A, --stats
|
||
</div><div class="manual-option-description">
|
||
Включает расширенный вид статуса, который показывает дополнительную информацию.
|
||
На экране отображаются два графика:
|
||
Первый график показывает количество буферизованных полос для каждого
|
||
диска, а также путь к файлу, к которому в данный момент осуществляется
|
||
доступ на этом диске. Обычно самый медленный диск не будет иметь
|
||
доступного буфера, что определяет максимально достижимую
|
||
пропускную способность.
|
||
Второй график показывает процент времени, потраченного на ожидание
|
||
за последние 100 секунд. Ожидается, что самый медленный диск
|
||
вызовет большую часть времени ожидания, в то время как другие диски должны
|
||
иметь мало или совсем не иметь времени ожидания, потому что они могут
|
||
использовать свои буферизованные полосы.
|
||
Этот график также показывает время, потраченное на ожидание
|
||
вычислений хэша и вычислений RAID.
|
||
Все вычисления выполняются параллельно с дисковыми операциями.
|
||
Следовательно, пока есть измеримое время ожидания для
|
||
хотя бы одного диска, это указывает на то, что ЦП достаточно быстр, чтобы
|
||
справляться с рабочей нагрузкой.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-Z, --force-zero
|
||
</div><div class="manual-option-description">
|
||
Форсирует небезопасную операцию синхронизации файла с нулевым
|
||
размером, который ранее был ненулевым.
|
||
Если SnapRAID обнаруживает такое условие, он прекращает выполнение,
|
||
если вы не укажете эту опцию.
|
||
Это позволяет легко обнаружить, когда после сбоя системы
|
||
некоторые доступные файлы были усечены.
|
||
Это возможное условие в Linux с файловыми системами ext3/ext4.
|
||
Эту опцию можно использовать только с <b>sync</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-E, --force-empty
|
||
</div><div class="manual-option-description">
|
||
Форсирует небезопасную операцию синхронизации диска, на котором
|
||
отсутствуют все исходные файлы.
|
||
Если SnapRAID обнаруживает, что все файлы, изначально присутствующие
|
||
на диске, отсутствуют или перезаписаны, он прекращает выполнение,
|
||
если вы не укажете эту опцию.
|
||
Это позволяет легко обнаружить, когда файловая система данных не
|
||
смонтирована.
|
||
Эту опцию можно использовать только с <b>sync</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-U, --force-uuid
|
||
</div><div class="manual-option-description">
|
||
Форсирует небезопасную операцию синхронизации, проверки и исправления
|
||
с дисками, у которых изменился UUID.
|
||
Если SnapRAID обнаруживает, что у некоторых дисков изменился UUID,
|
||
он прекращает выполнение, если вы не укажете эту опцию.
|
||
Это позволяет обнаружить, когда ваши диски смонтированы в
|
||
неправильных точках монтирования.
|
||
Однако допускается однократное изменение UUID с
|
||
одиночной четностью, и больше с множественной четностью, потому что это
|
||
нормальный случай при замене дисков после восстановления.
|
||
Эту опцию можно использовать только с <b>sync</b>, <b>check</b> или
|
||
<b>fix</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-D, --force-device
|
||
</div><div class="manual-option-description">
|
||
Форсирует небезопасную операцию исправления с недоступными дисками
|
||
или с дисками на том же физическом устройстве.
|
||
Например, если вы потеряли два диска данных и у вас есть запасной диск для восстановления
|
||
только первого, вы можете игнорировать второй недоступный диск.
|
||
Или, если вы хотите восстановить диск в свободное место, оставшееся на
|
||
уже используемом диске, совместно использующем то же физическое устройство.
|
||
Эту опцию можно использовать только с <b>fix</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-N, --force-nocopy
|
||
</div><div class="manual-option-description">
|
||
В <b>sync</b>, <b>check</b> и <b>fix</b>, отключает эвристику обнаружения копирования.
|
||
Без этой опции SnapRAID предполагает, что файлы с одинаковыми
|
||
атрибутами, такими как имя, размер и метка времени, являются копиями с
|
||
одинаковыми данными.
|
||
Это позволяет идентифицировать скопированные или перемещенные файлы с одного диска
|
||
на другой и повторно использовать уже вычисленную информацию хэша
|
||
для обнаружения скрытых ошибок или восстановления отсутствующих файлов.
|
||
В некоторых редких случаях это поведение может привести к ложным срабатываниям
|
||
или замедлению процесса из-за большого количества проверок хэша, и эта
|
||
опция позволяет решить такие проблемы.
|
||
Эту опцию можно использовать только с <b>sync</b>, <b>check</b> и <b>fix</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-F, --force-full
|
||
</div><div class="manual-option-description">
|
||
В <b>sync</b>, форсирует полный пересчет четности.
|
||
Эту опцию можно использовать, когда вы добавляете новый уровень четности или если
|
||
вы вернулись к старому файлу content, используя более свежие данные четности.
|
||
Вместо того чтобы воссоздавать четность с нуля, это позволяет
|
||
повторно использовать хэши, присутствующие в файле content, для проверки данных
|
||
и поддержания защиты данных во время процесса <b>sync</b> с использованием
|
||
существующих данных четности.
|
||
Эту опцию можно использовать только с <b>sync</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-R, --force-realloc
|
||
</div><div class="manual-option-description">
|
||
В <b>sync</b>, форсирует полное перераспределение файлов и перестроение четности.
|
||
Эту опцию можно использовать для полного перераспределения всех файлов,
|
||
удаления фрагментации, при этом повторно используя хэши, присутствующие в файле content,
|
||
для проверки данных.
|
||
Эту опцию можно использовать только с <b>sync</b>.
|
||
ВНИМАНИЕ! Эта опция предназначена только для экспертов, и
|
||
настоятельно не рекомендуется ее использовать.
|
||
У вас НЕТ защиты данных во время операции <b>sync</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-W, --force-realloc-tail РАЗМЕР
|
||
</div><div class="manual-option-description">
|
||
Работает как -R, --force-realloc, но ограничивается указанной хвостовой
|
||
частью (последние РАЗМЕР байт) каждого файла четности.
|
||
Принудительно перераспределяет (перемещает) любые фрагменты/блоки файлов,
|
||
хранящиеся в данный момент в этой хвостовой части, позволяя разместить
|
||
их в любом месте файла(ов) четности, где есть свободное место
|
||
(включая существующие пустоты).
|
||
Основная цель этого параметра — уменьшить занимаемый на диске
|
||
размер файла четности.
|
||
Если перераспределение успешно очистит всю хвостовую часть
|
||
(в ней не останется блоков), файл четности будет обрезан, высвобождая
|
||
неиспользуемое хвостовое пространство.
|
||
Можно использовать множители, такие как K, M, G или T (например,
|
||
--force-realloc-tail 1G).
|
||
Вы можете использовать locate -t, --tail, чтобы заранее узнать
|
||
затронутые файлы.
|
||
ВНИМАНИЕ!
|
||
Этот параметр предназначен только для экспертов, и его настоятельно
|
||
не рекомендуется использовать.
|
||
Во время операции <b>sync</b> защита данных для затронутых файлов
|
||
ОТСУТСТВУЕТ.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-l, --log FILE
|
||
</div><div class="manual-option-description">
|
||
Записывает подробный журнал в указанный файл.
|
||
Если эта опция не указана, непредвиденные ошибки выводятся
|
||
на экран, что потенциально может привести к чрезмерному выводу в случае
|
||
множества ошибок. Когда указана -l, --log, на
|
||
экран выводятся только фатальные ошибки, которые приводят к остановке
|
||
SnapRAID.
|
||
Если путь начинается с <b>>></b>, файл открывается
|
||
в режиме добавления. Вхождения <b>%D</b> и <b>%T</b> в имени
|
||
заменяются датой и временем в формате ГГГГММДД и
|
||
ЧЧММСС. В пакетных файлах Windows вы должны удвоить
|
||
символ <b>%</b>, например, result-%%D.log. Чтобы использовать <b>>></b>, вы должны
|
||
заключить имя в кавычки, например, <b>">>result.log"</b>.
|
||
Для вывода журнала на стандартный вывод или стандартную ошибку,
|
||
вы можете использовать <b>">&1"</b> и <b>">&2"</b> соответственно.
|
||
Описание тегов журнала см. в файле snapraid_log.txt или man-странице.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-L, --error-limit NUMBER
|
||
</div><div class="manual-option-description">
|
||
Устанавливает новый лимит ошибок до остановки выполнения.
|
||
По умолчанию SnapRAID останавливается, если обнаруживает более 100
|
||
ошибок ввода/вывода, что указывает на вероятный сбой диска.
|
||
Эта опция влияет на <b>sync</b> и <b>scrub</b>, которым разрешено
|
||
продолжать работу после первого набора дисковых ошибок, чтобы попытаться
|
||
завершить свои операции.
|
||
Однако <b>check</b> и <b>fix</b> всегда останавливаются при первой ошибке.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-S, --start BLKSTART
|
||
</div><div class="manual-option-description">
|
||
Начинает обработку с указанного
|
||
номера блока. Это может быть полезно для повторной попытки проверить
|
||
или исправить конкретные блоки в случае поврежденного диска.
|
||
Эта опция в основном предназначена для расширенного ручного восстановления.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-B, --count BLKCOUNT
|
||
</div><div class="manual-option-description">
|
||
Обрабатывает только указанное количество блоков.
|
||
Эта опция в основном предназначена для расширенного ручного восстановления.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-C, --gen-conf CONTENT
|
||
</div><div class="manual-option-description">
|
||
Генерирует фиктивный файл конфигурации из существующего
|
||
файла content.
|
||
Файл конфигурации записывается на стандартный вывод
|
||
и не перезаписывает существующий.
|
||
Этот файл конфигурации также содержит информацию,
|
||
необходимую для восстановления точек монтирования дисков в случае, если вы
|
||
потеряете всю систему.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-v, --verbose
|
||
</div><div class="manual-option-description">
|
||
Печатает больше информации на экран.
|
||
Если указана один раз, печатает исключенные файлы
|
||
и дополнительную статистику.
|
||
Эта опция не влияет на файлы журнала.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-q, --quiet
|
||
</div><div class="manual-option-description">
|
||
Печатает меньше информации на экран.
|
||
Если указана один раз, удаляет индикатор выполнения; дважды,
|
||
текущие операции; трижды, информационные
|
||
сообщения; четырежды, сообщения о статусе.
|
||
Фатальные ошибки всегда выводятся на экран.
|
||
Эта опция не влияет на файлы журнала.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-H, --help
|
||
</div><div class="manual-option-description">
|
||
Печатает краткий экран справки.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
-V, --version
|
||
</div><div class="manual-option-description">
|
||
Печатает версию программы.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec7" class="manual-title-level-1">
|
||
Configuration
|
||
</h1>
|
||
<p>SnapRAID требует файл конфигурации, чтобы знать, где находится ваш дисковый массив
|
||
и где хранить информацию четности.
|
||
</p><p>В Unix используется файл <b>/usr/local/etc/snapraid.conf</b>, если он существует,
|
||
в противном случае <b>/etc/snapraid.conf</b>.
|
||
В Windows используется файл <b>snapraid.conf</b> в том же
|
||
каталоге, что и <b>snapraid.exe</b>.
|
||
</p><p>Он должен содержать следующие опции (чувствительные к регистру):
|
||
</p><div class="manual-section-level-2">
|
||
<h2 id="sec7-1" class="manual-title-level-2">
|
||
parity FILE [,FILE] ...
|
||
</h2>
|
||
<p>Определяет файлы для использования для хранения информации четности.
|
||
Четность обеспечивает защиту от одного сбоя диска,
|
||
подобно RAID5.
|
||
</p><p>Вы можете указать несколько файлов, которые должны быть на разных дисках.
|
||
Когда файл больше не может расти, используется следующий.
|
||
Общее доступное пространство должно быть по крайней мере таким же большим, как самый большой диск данных в
|
||
массиве.
|
||
</p><p>Вы можете добавить дополнительные файлы четности позже, но вы
|
||
не можете переупорядочить или удалить их.
|
||
</p><p>Сохранение дисков четности зарезервированными для четности гарантирует, что
|
||
они не станут фрагментированными, улучшая производительность.
|
||
</p><p>В Windows 256 МБ остается неиспользованным на каждом диске, чтобы избежать
|
||
предупреждения о полных дисках.
|
||
</p><p>Эта опция является обязательной и может использоваться только один раз.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-2" class="manual-title-level-2">
|
||
(2,3,4,5,6)-parity FILE [,FILE] ...
|
||
</h2>
|
||
<p>Определяет файлы для использования для хранения дополнительной информации четности.
|
||
</p><p>Для каждого указанного уровня четности включается один дополнительный уровень защиты:
|
||
</p><ul>
|
||
<li>
|
||
2-parity включает двойную четность RAID6.
|
||
</li>
|
||
<li>
|
||
3-parity включает тройную четность.
|
||
</li>
|
||
<li>
|
||
4-parity включает четверную четность.
|
||
</li>
|
||
<li>
|
||
5-parity включает пятерную четность.
|
||
</li>
|
||
<li>
|
||
6-parity включает шестерную четность.
|
||
</li>
|
||
</ul>
|
||
<p>Каждый уровень четности требует наличия всех предыдущих уровней четности.
|
||
</p><p>Применяются те же соображения, что и для опции <b>parity</b>.
|
||
</p><p>Эти опции являются необязательными и могут использоваться только один раз.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-3" class="manual-title-level-2">
|
||
z-parity FILE [,FILE] ...
|
||
</h2>
|
||
<p>Определяет альтернативный файл и формат для хранения тройной четности.
|
||
</p><p>Эта опция является альтернативой <b>3-parity</b>, в основном предназначенной для
|
||
слабых процессоров, таких как ARM или AMD Phenom, Athlon и Opteron,
|
||
которые не поддерживают набор инструкций SSSE3. В таких случаях она
|
||
обеспечивает лучшую производительность.
|
||
</p><p>Этот формат похож на тот, который используется ZFS RAIDZ3, но быстрее.
|
||
Как и ZFS, он не работает за пределами тройной четности.
|
||
</p><p>При использовании <b>3-parity</b> вы будете предупреждены, если рекомендуется использовать
|
||
формат <b>z-parity</b> для повышения производительности.
|
||
</p><p>Возможно преобразование из одного формата в другой путем настройки
|
||
файла конфигурации с желаемым файлом z-parity или 3-parity
|
||
и использования <b>fix</b> для его воссоздания.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-4" class="manual-title-level-2">
|
||
content FILE
|
||
</h2>
|
||
<p>Определяет файл для использования для хранения списка и контрольных сумм всех
|
||
файлов, присутствующих в вашем дисковом массиве.
|
||
</p><p>Он может быть размещен на диске, используемом для данных, четности, или
|
||
любом другом доступном диске.
|
||
Если вы используете диск данных, этот файл автоматически исключается
|
||
из процесса <b>sync</b>.
|
||
</p><p>Эта опция является обязательной и может использоваться несколько раз для сохранения
|
||
нескольких копий одного и того же файла.
|
||
</p><p>Вы должны хранить как минимум одну копию для каждого используемого диска четности
|
||
плюс одну. Использование дополнительных копий не повредит.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-5" class="manual-title-level-2">
|
||
data NAME DIR
|
||
</h2>
|
||
<p>Определяет имя и точку монтирования дисков данных в
|
||
массиве. NAME используется для идентификации диска и должно
|
||
быть уникальным. DIR — это точка монтирования диска в
|
||
файловой системе.
|
||
</p><p>Вы можете изменять точку монтирования по мере необходимости, пока вы
|
||
сохраняете NAME фиксированным.
|
||
</p><p>Вы должны использовать одну опцию для каждого диска данных в массиве.
|
||
</p><p>Вы можете переименовать диск позже, изменив NAME непосредственно
|
||
в файле конфигурации, а затем запустив команду <b>sync</b>.
|
||
В случае переименования, ассоциация выполняется с использованием сохраненного
|
||
UUID дисков.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-6" class="manual-title-level-2">
|
||
extra NAME DIR
|
||
</h2>
|
||
<p>Определяет имя и точку монтирования дополнительных дисков для
|
||
мониторинга с помощью команд <b>smart</b> и <b>probe</b>.
|
||
</p><p>Это полезно для мониторинга дисков, которые не являются частью
|
||
массива, но необходимы для функционирования системы, таких как
|
||
загрузочный диск.
|
||
</p><p>Обратите внимание, что такие диски не затрагиваются командами <b>up</b> и
|
||
<b>down</b>, так как предполагается, что они всегда вращаются.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-7" class="manual-title-level-2">
|
||
nohidden
|
||
</h2>
|
||
<p>Исключает все скрытые файлы и каталоги.
|
||
В Unix скрытые файлы — это те, которые начинаются с <b>.</b>.
|
||
В Windows — это те, у которых есть скрытый атрибут.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-8" class="manual-title-level-2">
|
||
exclude/include PATTERN
|
||
</h2>
|
||
<p>Определяет шаблоны файлов или каталогов для исключения или включения
|
||
в процесс синхронизации.
|
||
Все шаблоны обрабатываются в указанном порядке.
|
||
</p><p>Если первый совпадающий шаблон — это <b>exclude</b>, файл
|
||
исключается. Если это <b>include</b>, файл включается.
|
||
Если ни один шаблон не совпадает, файл исключается, если последний
|
||
указанный шаблон — это <b>include</b>, или включается, если последний шаблон
|
||
— это <b>exclude</b>.
|
||
</p><p>Подробнее о спецификациях шаблонов см. в разделе PATTERN.
|
||
</p><p>Эту опцию можно использовать несколько раз.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-9" class="manual-title-level-2">
|
||
blocksize SIZE_IN_KIBIBYTES
|
||
</h2>
|
||
<p>Определяет базовый размер блока в кибибайтах для четности.
|
||
Один кибибайт — это 1024 байта.
|
||
</p><p>Размер блока по умолчанию — 256, что должно работать в большинстве случаев.
|
||
</p><p>ВНИМАНИЕ! Эта опция предназначена только для экспертов, и
|
||
настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в
|
||
будущем, вам потребуется воссоздать всю четность!
|
||
</p><p>Причина использовать другой размер блока — если у вас много маленьких
|
||
файлов, порядка миллионов.
|
||
</p><p>Для каждого файла, даже если всего несколько байтов, выделяется целый блок четности,
|
||
и при большом количестве файлов это может привести к значительным неиспользуемым
|
||
пространствам четности.
|
||
Когда вы полностью заполните диск четности, вам не будет
|
||
разрешено добавлять больше файлов на диски данных.
|
||
Однако потерянная четность не накапливается на дисках данных. Потерянное пространство,
|
||
возникающее из-за большого числа файлов на диске данных, ограничивает только
|
||
объем данных на этом диске данных, а не на других.
|
||
</p><p>В качестве приближения вы можете предположить, что половина размера блока
|
||
теряется для каждого файла. Например, при 100 000 файлов и размере блока 256 КиБ
|
||
вы потеряете 12,8 ГБ четности, что может привести к
|
||
уменьшению доступного пространства на диске данных на 12,8 ГБ.
|
||
</p><p>Вы можете проверить количество потерянного пространства на каждом диске с помощью <b>status</b>.
|
||
Это количество пространства, которое вы должны оставить свободным на дисках
|
||
данных или использовать для файлов, не включенных в массив.
|
||
Если это значение отрицательное, это означает, что вы близки к заполнению
|
||
четности, и оно представляет пространство, которое вы все еще можете потерять.
|
||
</p><p>Чтобы избежать этой проблемы, вы можете использовать больший раздел для четности.
|
||
Например, если раздел четности на 12,8 ГБ больше, чем диски данных,
|
||
у вас есть достаточно дополнительного пространства для обработки до 100 000
|
||
файлов на каждом диске данных без каких-либо потерь пространства.
|
||
</p><p>Хитрость для получения большего раздела четности в Linux — отформатировать его
|
||
командой:
|
||
</p><pre>
|
||
mkfs.ext4 -m 0 -T largefile4 DEVICE
|
||
</pre>
|
||
<p>Это приводит к примерно 1,5% дополнительного пространства, приблизительно 60 ГБ для
|
||
диска 4 ТБ, что позволяет разместить около 460 000 файлов на каждом диске данных без
|
||
каких-либо потерь пространства.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-10" class="manual-title-level-2">
|
||
hashsize SIZE_IN_BYTES
|
||
</h2>
|
||
<p>Определяет размер хэша в байтах для сохраненных блоков.
|
||
</p><p>Размер хэша по умолчанию — 16 байт (128 бит), что должно работать
|
||
в большинстве случаев.
|
||
</p><p>ВНИМАНИЕ! Эта опция предназначена только для экспертов, и
|
||
настоятельно не рекомендуется изменять это значение. Чтобы изменить это значение в
|
||
будущем, вам потребуется воссоздать всю четность!
|
||
</p><p>Причина использовать другой размер хэша — если ваша система имеет
|
||
ограниченную память. Как правило, SnapRAID обычно требует
|
||
1 ГиБ ОЗУ на каждые 16 ТБ данных в массиве.
|
||
</p><p>В частности, для хранения хэшей данных SnapRAID требует
|
||
приблизительно TS*(1+HS)/BS байт ОЗУ,
|
||
где TS — это общий размер в байтах вашего дискового массива, BS —
|
||
размер блока в байтах, и HS — размер хэша в байтах.
|
||
</p><p>Например, при 8 дисках по 4 ТБ, размере блока 256 КиБ
|
||
(1 КиБ = 1024 байта) и размере хэша 16, вы получаете:
|
||
</p><pre>
|
||
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB
|
||
</pre>
|
||
<p>Переключение на размер хэша 8, вы получаете:
|
||
</p><pre>
|
||
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB
|
||
</pre>
|
||
<p>Переключение на размер блока 512, вы получаете:
|
||
</p><pre>
|
||
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB
|
||
</pre>
|
||
<p>Переключение как на размер хэша 8, так и на размер блока 512, вы получаете:
|
||
</p><pre>
|
||
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-11" class="manual-title-level-2">
|
||
autosave SIZE_IN_GIGABYTES
|
||
</h2>
|
||
<p>Автоматически сохраняет состояние при синхронизации или проверке после
|
||
обработки указанного количества ГБ.
|
||
Эта опция полезна, чтобы избежать перезапуска длительных команд <b>sync</b>
|
||
с нуля, если они были прерваны сбоем машины или любым другим событием.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-12" class="manual-title-level-2">
|
||
temp_limit TEMPERATURE_CELSIUS
|
||
</h2>
|
||
<p>Устанавливает максимально допустимую температуру диска в Цельсиях. Если указано,
|
||
SnapRAID периодически проверяет температуру всех дисков с помощью
|
||
инструмента smartctl. Текущие температуры дисков отображаются во время
|
||
работы SnapRAID. Если какой-либо диск превышает этот лимит, все операции
|
||
останавливаются, и диски останавливают вращение (переходят в режим ожидания) на время,
|
||
определенное опцией <b>temp_sleep</b>. После периода ожидания операции
|
||
возобновляются, потенциально снова приостанавливаясь, если лимит температуры
|
||
достигается еще раз.
|
||
</p><p>Во время работы SnapRAID также анализирует кривую нагрева каждого
|
||
диска и оценивает долгосрочную установившуюся температуру, которую они,
|
||
как ожидается, достигнут, если активность продолжится. Оценка выполняется
|
||
только после того, как температура диска увеличилась четыре раза,
|
||
что гарантирует наличие достаточного количества данных для установления
|
||
надежной тенденции.
|
||
Эта прогнозируемая установившаяся температура показывается в скобках рядом с
|
||
текущим значением и помогает оценить, достаточно ли
|
||
охлаждение системы. Эта оценочная температура предназначена только
|
||
для информации и не влияет на поведение SnapRAID. Действия программы
|
||
основываются исключительно на фактических измеренных температурах дисков.
|
||
</p><p>Для выполнения этого анализа SnapRAID требуется эталон для температуры
|
||
системы. Сначала он пытается прочитать его из доступных аппаратных
|
||
датчиков. Если ни один системный датчик не может быть доступен, он использует
|
||
самую низкую температуру диска, измеренную в начале выполнения, в качестве
|
||
резервного эталона.
|
||
</p><p>Обычно SnapRAID показывает только температуру самого горячего диска.
|
||
Чтобы отобразить температуру всех дисков, используйте опцию -A или --stats.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-13" class="manual-title-level-2">
|
||
temp_sleep TIME_IN_MINUTES
|
||
</h2>
|
||
<p>Устанавливает время ожидания, в минутах, когда достигается предел температуры.
|
||
В течение этого периода диски остаются остановленными. По умолчанию — 5 минут.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-14" class="manual-title-level-2">
|
||
pool DIR
|
||
</h2>
|
||
<p>Определяет каталог объединения (pooling), где создается виртуальное представление
|
||
дискового массива с помощью команды <b>pool</b>.
|
||
</p><p>Каталог должен уже существовать.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-15" class="manual-title-level-2">
|
||
share UNC_DIR
|
||
</h2>
|
||
<p>Определяет путь UNC Windows, необходимый для удаленного доступа к дискам.
|
||
</p><p>Если указана эта опция, символические ссылки, созданные в каталоге pool,
|
||
используют этот путь UNC для доступа к дискам.
|
||
Без этой опции сгенерированные символические ссылки используют только локальные пути,
|
||
что не позволяет предоставлять общий доступ к каталогу pool по сети.
|
||
</p><p>Символические ссылки формируются с использованием указанного пути UNC, добавлением
|
||
имени диска, как указано в опции <b>data</b>, и, наконец, добавлением
|
||
каталога и имени файла.
|
||
</p><p>Эта опция требуется только для Windows.
|
||
</p></div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-16" class="manual-title-level-2">
|
||
smartctl DISK/PARITY OPTIONS...
|
||
</h2>
|
||
<p>Определяет пользовательские опции smartctl для получения атрибутов SMART для
|
||
каждого диска. Это может потребоваться для контроллеров RAID и некоторых USB-дисков,
|
||
которые не могут быть обнаружены автоматически. Заполнитель %s заменяется
|
||
именем устройства, но он необязателен для фиксированных устройств, таких как
|
||
контроллеры RAID.
|
||
</p><p>DISK — это то же имя диска, указанное в опции <b>data</b>.
|
||
PARITY — это одно из имен четности: <b>parity</b>, <b>2-parity</b>, <b>3-parity</b>,
|
||
<b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> или <b>z-parity</b>.
|
||
</p><p>В указанных OPTIONS строка <b>%s</b> заменяется
|
||
именем устройства. Для контроллеров RAID устройство,
|
||
вероятно, фиксировано, и вам может не потребоваться использовать <b>%s</b>.
|
||
</p><p>Возможные опции см. в документации smartmontools:
|
||
</p><pre>
|
||
<a href="https://www.smartmontools.org/wiki/Supported_RAID-Controllers">https://www.smartmontools.org/wiki/Supported_RAID-Controllers</a>
|
||
<a href="https://www.smartmontools.org/wiki/Supported_USB-Devices">https://www.smartmontools.org/wiki/Supported_USB-Devices</a>
|
||
</pre>
|
||
<p>Например:
|
||
</p><pre>
|
||
smartctl parity -d sat %s
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-17" class="manual-title-level-2">
|
||
smartignore DISK/PARITY ATTR [ATTR...]
|
||
</h2>
|
||
<p>Игнорирует указанный атрибут SMART при вычислении вероятности
|
||
сбоя диска. Эта опция полезна, если диск сообщает необычные или
|
||
вводящие в заблуждение значения для конкретного атрибута.
|
||
</p><p>DISK — это то же имя диска, указанное в опции <b>data</b>.
|
||
PARITY — это одно из имен четности: <b>parity</b>, <b>2-parity</b>, <b>3-parity</b>,
|
||
<b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> или <b>z-parity</b>.
|
||
Специальное значение * может использоваться для игнорирования атрибута на всех дисках.
|
||
</p><p>Например, чтобы игнорировать атрибут <b>Current Pending Sector Count</b> на
|
||
всех дисках:
|
||
</p><pre>
|
||
smartignore * 197
|
||
</pre>
|
||
<p>Чтобы игнорировать его только на первом диске четности:
|
||
</p><pre>
|
||
smartignore parity 197
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-2">
|
||
<h2 id="sec7-18" class="manual-title-level-2">
|
||
Examples
|
||
</h2>
|
||
<p>Пример типичной конфигурации для Unix:
|
||
</p><pre>
|
||
parity /mnt/diskp/snapraid.parity
|
||
content /mnt/diskp/snapraid.content
|
||
content /var/snapraid/snapraid.content
|
||
data d1 /mnt/disk1/
|
||
data d2 /mnt/disk2/
|
||
data d3 /mnt/disk3/
|
||
exclude /lost+found/
|
||
exclude /tmp/
|
||
smartctl d1 -d sat %s
|
||
smartctl d2 -d usbjmicron %s
|
||
smartctl parity -d areca,1/1 /dev/sg0
|
||
smartctl 2-parity -d areca,2/1 /dev/sg0
|
||
</pre>
|
||
<p>Пример типичной конфигурации для Windows:
|
||
</p><pre>
|
||
parity E:\snapraid.parity
|
||
content E:\snapraid.content
|
||
content C:\snapraid\snapraid.content
|
||
data d1 G:\array\
|
||
data d2 H:\array\
|
||
data d3 I:\array\
|
||
exclude Thumbs.db
|
||
exclude \$RECYCLE.BIN
|
||
exclude \System Volume Information
|
||
smartctl d1 -d sat %s
|
||
smartctl d2 -d usbjmicron %s
|
||
smartctl parity -d areca,1/1 /dev/arcmsr0
|
||
smartctl 2-parity -d areca,2/1 /dev/arcmsr0
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec8" class="manual-title-level-1">
|
||
Pattern
|
||
</h1>
|
||
<p>Шаблоны обеспечивают гибкий способ фильтрации файлов для включения или
|
||
исключения. Используя символы подстановки (globbing), вы можете определить правила,
|
||
которые соответствуют конкретным именам файлов или целым структурам каталогов без
|
||
ручного перечисления каждого пути.
|
||
</p><p>Вопросительный знак <b>?</b> соответствует любому одиночному символу, кроме
|
||
разделителя каталогов. Это делает его полезным для сопоставления имен файлов с
|
||
переменными символами, при этом шаблон ограничивается одним уровнем каталога.
|
||
</p><p>Одиночная звездочка <b>*</b> соответствует любой последовательности символов, но, как и
|
||
вопросительный знак, она никогда не пересекает границы каталогов. Она останавливается на
|
||
прямой косой черте, что делает ее подходящей для сопоставления внутри одного
|
||
компонента пути. Это стандартное поведение подстановочных знаков, знакомое
|
||
по оболочке (shell).
|
||
</p><p>Двойная звездочка <b>**</b> более мощная, она соответствует любой последовательности
|
||
символов, включая разделители каталогов. Это позволяет шаблонам соответствовать
|
||
нескольким уровням каталогов. Когда <b>**</b> появляется непосредственно в
|
||
шаблоне, она может соответствовать нулю или более символам, включая косые черты между
|
||
окружающим буквальным текстом.
|
||
</p><p>Наиболее важным использованием <b>**</b> является специальная форма <b>/**/</b>. Она соответствует
|
||
нулю или более полным уровням каталогов, что позволяет сопоставлять файлы
|
||
на любой глубине в дереве каталогов, не зная точной структуры пути.
|
||
Например, шаблон <b>src/**/main.js</b> соответствует <b>src/main.js</b> (пропуск
|
||
ноля каталогов), <b>src/ui/main.js</b> (пропуск одного каталога) и
|
||
<b>src/ui/components/main.js</b> (пропуск двух каталогов).
|
||
</p><p>Классы символов с использованием квадратных скобок <b>[]</b> соответствуют одному символу из
|
||
заданного набора или диапазона. Как и другие односимвольные шаблоны, они
|
||
не соответствуют разделителям каталогов. Классы поддерживают диапазоны и отрицание с
|
||
использованием восклицательного знака.
|
||
</p><p>Фундаментальное различие, которое следует помнить, заключается в том, что <b>*</b>, <b>?</b> и классы
|
||
символов соблюдают границы каталогов и соответствуют только внутри одного
|
||
компонента пути, в то время как <b>**</b> — единственный шаблон, который может соответствовать
|
||
через разделители каталогов.
|
||
</p><p>Существует четыре различных типа шаблонов:
|
||
</p><div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
FILE
|
||
</div><div class="manual-option-description">
|
||
Выбирает любой файл с именем FILE.
|
||
Этот шаблон применяется только к файлам, но не к директориям.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
DIR/
|
||
</div><div class="manual-option-description">
|
||
Выбирает любую директорию с именем DIR и все, что находится внутри нее.
|
||
Этот шаблон применяется только к директориям, но не к файлам.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
/PATH/FILE
|
||
</div><div class="manual-option-description">
|
||
Выбирает точно указанный путь к файлу. Этот шаблон применяется
|
||
только к файлам, но не к директориям.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
/PATH/DIR/
|
||
</div><div class="manual-option-description">
|
||
Выбирает точно указанный путь к директории и все, что находится
|
||
внутри нее. Этот шаблон применяется только к директориям, но не к файлам.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>Когда вы указываете абсолютный путь, начинающийся с /, он применяется к
|
||
корневому каталогу массива, а не к корневому каталогу локальной файловой системы.
|
||
</p><p>В Windows вы можете использовать обратную косую черту \ вместо прямой /.
|
||
Системные каталоги Windows, точки соединения, точки монтирования и другие
|
||
специальные каталоги Windows рассматриваются как файлы, что означает, что для их
|
||
исключения вы должны использовать правило файла, а не каталога.
|
||
</p><p>Если имя файла содержит символы <b>*</b>, <b>?</b>, <b>[</b>,
|
||
или <b>]</b>, вы должны экранировать их, чтобы избежать их интерпретации как
|
||
символов глоббинга. В Unix символом экранирования является <b>\</b>; в Windows — <b>^</b>.
|
||
Когда шаблон находится в командной строке, вы должны удвоить символ
|
||
экранирования, чтобы избежать его интерпретации командной оболочкой.
|
||
</p><p>В файле конфигурации вы можете использовать различные стратегии для фильтрации
|
||
файлов для обработки.
|
||
Самый простой подход — использовать только правила <b>exclude</b> для удаления всех
|
||
файлов и каталогов, которые вы не хотите обрабатывать. Например:
|
||
</p><pre>
|
||
# Исключает любой файл с именем <b>*.unrecoverable</b>
|
||
exclude *.unrecoverable
|
||
# Исключает корневой каталог <b>/lost+found</b>
|
||
exclude /lost+found/
|
||
# Исключает любой подкаталог с именем <b>tmp</b>
|
||
exclude tmp/
|
||
</pre>
|
||
<p>Противоположный подход — определить только файлы, которые вы хотите обрабатывать, используя
|
||
только правила <b>include</b>. Например:
|
||
</p><pre>
|
||
# Включает только некоторые каталоги
|
||
include /movies/
|
||
include /musics/
|
||
include /pictures/
|
||
</pre>
|
||
<p>Конечный подход — смешивать правила <b>exclude</b> и <b>include</b>. В этом случае
|
||
порядок правил важен. Более ранние правила имеют
|
||
преимущество над более поздними.
|
||
Для упрощения вы можете сначала перечислить все правила <b>exclude</b>, а затем
|
||
все правила <b>include</b>. Например:
|
||
</p><pre>
|
||
# Исключает любой файл с именем <b>*.unrecoverable</b>
|
||
exclude *.unrecoverable
|
||
# Исключает любой подкаталог с именем <b>tmp</b>
|
||
exclude tmp/
|
||
# Включает только некоторые каталоги
|
||
include /movies/
|
||
include /musics/
|
||
include /pictures/
|
||
</pre>
|
||
<p>В командной строке, используя опцию -f, вы можете использовать только шаблоны <b>include</b>.
|
||
Например:
|
||
</p><pre>
|
||
# Проверяет только файлы .mp3.
|
||
# В Unix используйте кавычки, чтобы избежать расширения глоббинга оболочкой.
|
||
snapraid -f "*.mp3" check
|
||
</pre>
|
||
<p>В Unix при использовании символов глоббинга в командной строке вы должны
|
||
заключить их в кавычки, чтобы предотвратить их расширение оболочкой.
|
||
</p></div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec9" class="manual-title-level-1">
|
||
Ignore File
|
||
</h1>
|
||
<p>В дополнение к глобальным правилам в файле конфигурации, вы можете
|
||
размещать файлы <b>.snapraidignore</b> в любом каталоге внутри массива для
|
||
определения децентрализованных правил исключения.
|
||
</p><p>Правила, определенные в <b>.snapraidignore</b>, применяются после правил в
|
||
конфигурационном файле. Это означает, что они имеют более высокий приоритет
|
||
и могут использоваться для исключения файлов, которые ранее были включены
|
||
глобальной конфигурацией. Фактически, если локальное правило совпадает, файл
|
||
исключается независимо от глобальных настроек включения.
|
||
</p><p>Логика шаблонов в <b>.snapraidignore</b> повторяет глобальную конфигурацию, но
|
||
привязывает шаблоны к каталогу, в котором находится файл:
|
||
</p><div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
FILE
|
||
</div><div class="manual-option-description">
|
||
Выбирает любой файл с именем FILE в этом каталоге или ниже.
|
||
Здесь действуют те же правила подстановки, что и в глобальном шаблоне.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
DIR/
|
||
</div><div class="manual-option-description">
|
||
Выбирает любой каталог с именем DIR и все его содержимое,
|
||
находящееся в этом каталоге или ниже.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
/PATH/FILE
|
||
</div><div class="manual-option-description">
|
||
Выбирает точно указанный файл относительно местоположения
|
||
файла <b>.snapraidignore</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="manual-option-list">
|
||
<div class="manual-option-entry">
|
||
<div class="manual-option-name">
|
||
/PATH/DIR/
|
||
</div><div class="manual-option-description">
|
||
Выбирает точно указанный каталог и все его содержимое
|
||
относительно местоположения файла <b>.snapraidignore</b>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>В отличие от глобальной конфигурации, файлы <b>.snapraidignore</b> поддерживают
|
||
только правила исключения; вы не можете использовать шаблоны <b>include</b> или отрицание (!).
|
||
</p><p>Например, если у вас есть <b>.snapraidignore</b> в <b>/mnt/disk1/projects/</b>:
|
||
</p><pre>
|
||
# Исключает ТОЛЬКО /mnt/disk1/projects/output.bin
|
||
/output.bin
|
||
# Исключает любой каталог с именем <b>build</b> внутри projects/
|
||
build/
|
||
# Исключает любой .tmp файл внутри projects/ или его подпапок
|
||
*.tmp
|
||
</pre>
|
||
</div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec10" class="manual-title-level-1">
|
||
Content
|
||
</h1>
|
||
<p>SnapRAID хранит список и контрольные суммы ваших файлов в файле content.
|
||
</p><p>Это бинарный файл, который перечисляет все файлы, присутствующие в вашем дисковом массиве,
|
||
вместе со всеми контрольными суммами для проверки их целостности.
|
||
</p><p>Этот файл считывается и записывается командами <b>sync</b> и <b>scrub</b> и
|
||
считывается командами <b>fix</b>, <b>check</b> и <b>status</b>.
|
||
</p></div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec11" class="manual-title-level-1">
|
||
Parity
|
||
</h1>
|
||
<p>SnapRAID хранит информацию четности вашего массива в файлах parity.
|
||
</p><p>Это бинарные файлы, содержащие вычисленную четность всех
|
||
блоков, определенных в файле <b>content</b>.
|
||
</p><p>Эти файлы считываются и записываются командами <b>sync</b> и <b>fix</b> и
|
||
только считываются командами <b>scrub</b> и <b>check</b>.
|
||
</p></div>
|
||
<div class="manual-section-level-1">
|
||
<h1 id="sec12" class="manual-title-level-1">
|
||
Encoding
|
||
</h1>
|
||
<p>SnapRAID в Unix игнорирует любое кодирование. Он считывает и хранит
|
||
имена файлов с тем же кодированием, которое используется файловой системой.
|
||
</p><p>В Windows все имена, считанные из файловой системы, преобразуются и
|
||
обрабатываются в формате UTF-8.
|
||
</p><p>Чтобы имена файлов печатались правильно, вы должны установить консоль Windows
|
||
в режим UTF-8 командой <b>chcp 65001</b> и использовать
|
||
шрифт TrueType, такой как <b>Lucida Console</b>, в качестве шрифта консоли.
|
||
Это влияет только на печатаемые имена файлов; если вы
|
||
перенаправляете вывод консоли в файл, результирующий файл всегда
|
||
в формате UTF-8.
|
||
</p></div>
|
||
|
||
|
||
</div>
|
||
</main>
|
||
</div>
|
||
|
||
<!-- Footer -->
|
||
<footer>
|
||
<div class="container footer-content">
|
||
<div class="footer-col">
|
||
<div class="logo">
|
||
<img src="android-chrome-192x192.png" width="32" height="32"/>
|
||
SnapRAID
|
||
</div>
|
||
<p>Copyright © 2026 Andrea Mazzoleni</p>
|
||
<p class="license">Distributed under GPL v3 License</p>
|
||
</div>
|
||
<div class="footer-col">
|
||
<h4>Links</h4>
|
||
<ul class="footer-list">
|
||
<li><a href="https://github.com/amadvance/snapraid/">GitHub SnapRAID CLI</a></li>
|
||
<li><a href="https://github.com/amadvance/snapraid-daemon/">GitHub SnapRAID Daemon</a></li>
|
||
<li><a href="https://www.reddit.com/r/Snapraid/">Reddit</a></li>
|
||
<li><a href="https://sourceforge.net/p/snapraid/">SourceForge</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html>
|
||
|
||
|