mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
2064 lines
87 KiB
HTML
2064 lines
87 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="/beta/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/beta/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/beta/favicon-16x16.png">
|
|
<link rel="manifest" href="/beta/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 to program do tworzenia kopii zapasowych przeznaczony
|
|
dla macierzy dyskowych, przechowujący informacje parzystości
|
|
do odzyskiwania danych w przypadku awarii do sześciu dysków.
|
|
</p><p>Przeznaczony głównie dla domowych centrów multimedialnych z dużymi,
|
|
rzadko zmieniającymi się plikami, SnapRAID oferuje kilka funkcji:
|
|
</p><ul>
|
|
<li>
|
|
Możesz używać dysków już wypełnionych plikami bez
|
|
konieczności ich ponownego formatowania, uzyskując do nich dostęp jak zwykle.
|
|
</li>
|
|
<li>
|
|
Wszystkie Twoje dane są haszowane, aby zapewnić integralność danych i zapobiec
|
|
cichej korupcji.
|
|
</li>
|
|
<li>
|
|
Gdy liczba uszkodzonych dysków przekracza liczbę parzystości,
|
|
utrata danych ogranicza się do dotkniętych dysków; dane na
|
|
innych dyskach pozostają dostępne.
|
|
</li>
|
|
<li>
|
|
Jeśli przypadkowo usuniesz pliki na dysku, możliwe jest ich odzyskanie.
|
|
</li>
|
|
<li>
|
|
Dyski mogą mieć różne rozmiary.
|
|
</li>
|
|
<li>
|
|
Możesz dodawać dyski w dowolnym momencie.
|
|
</li>
|
|
<li>
|
|
SnapRAID nie blokuje Twoich danych; możesz przestać go używać
|
|
w dowolnym momencie bez ponownego formatowania ani przenoszenia danych.
|
|
</li>
|
|
<li>
|
|
Aby uzyskać dostęp do pliku, wystarczy, że zakręci się tylko jeden dysk,
|
|
co oszczędza energię i zmniejsza hałas.
|
|
</li>
|
|
</ul>
|
|
<p>Więcej informacji można znaleźć na oficjalnej stronie 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 to hybryda programu RAID i programu do tworzenia kopii zapasowych,
|
|
której celem jest połączenie najlepszych zalet obu. Ma jednak pewne
|
|
ograniczenia, które należy wziąć pod uwagę przed jego użyciem.
|
|
</p><p>Głównym ograniczeniem jest to, że jeśli dysk ulegnie awarii, a Ty nie wykonałeś
|
|
niedawno synchronizacji, możesz nie być w stanie w pełni odzyskać danych.
|
|
Dokładniej, możesz nie być w stanie odzyskać danych o wielkości
|
|
zmienionych lub usuniętych plików od czasu ostatniej operacji synchronizacji.
|
|
Dzieje się tak, nawet jeśli zmienione lub usunięte pliki nie znajdują się na
|
|
uszkodzonym dysku. Dlatego SnapRAID jest lepiej dostosowany do
|
|
danych, które rzadko się zmieniają.
|
|
</p><p>Z drugiej strony, nowo dodane pliki nie uniemożliwiają odzyskania już
|
|
istniejących plików. Stracisz tylko ostatnio dodane pliki, jeśli
|
|
znajdują się one na uszkodzonym dysku.
|
|
</p><p>Inne ograniczenia SnapRAID to:
|
|
</p><ul>
|
|
<li>
|
|
W SnapRAID nadal masz oddzielne systemy plików dla każdego dysku.
|
|
W RAID otrzymujesz jeden duży system plików.
|
|
</li>
|
|
<li>
|
|
SnapRAID nie rozdziela danych.
|
|
W RAID uzyskujesz wzrost prędkości dzięki rozdzielaniu.
|
|
</li>
|
|
<li>
|
|
SnapRAID nie obsługuje odzyskiwania w czasie rzeczywistym.
|
|
W RAID nie musisz przerywać pracy, gdy dysk ulegnie awarii.
|
|
</li>
|
|
<li>
|
|
SnapRAID może odzyskać dane tylko z ograniczonej liczby awarii dysków.
|
|
W przypadku kopii zapasowej możesz odzyskać dane po całkowitej
|
|
awarii całej macierzy dysków.
|
|
</li>
|
|
<li>
|
|
Zapisywane są tylko nazwy plików, znaczniki czasu, dowiązania symboliczne
|
|
i dowiązania twarde.
|
|
Uprawnienia, właścicielstwo i rozszerzone atrybuty nie są zapisywane.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec4" class="manual-title-level-1">
|
|
Getting Started
|
|
</h1>
|
|
<p>Aby użyć SnapRAID, musisz najpierw wybrać jeden dysk w swojej macierzy
|
|
dysków, który zostanie przeznaczony na informacje o <b>parzystości</b>. Z jednym dyskiem
|
|
na parzystość będziesz w stanie odzyskać dane po awarii pojedynczego dysku,
|
|
podobnie jak w RAID5.
|
|
</p><p>Jeśli chcesz odzyskać dane po większej liczbie awarii dysków, podobnie jak
|
|
w RAID6, musisz zarezerwować dodatkowe dyski na parzystość. Każdy dodatkowy
|
|
dysk parzystości umożliwia odzyskanie danych po jeszcze jednej awarii dysku.
|
|
</p><p>Jako dyski parzystości musisz wybrać największe dyski w macierzy,
|
|
ponieważ informacje o parzystości mogą urosnąć do rozmiaru największego
|
|
dysku danych w macierzy.
|
|
</p><p>Dyski te będą przeznaczone do przechowywania plików <b>parzystości</b>.
|
|
Nie powinieneś na nich przechowywać swoich danych.
|
|
</p><p>Następnie musisz zdefiniować dyski <b>danych</b>, które chcesz chronić
|
|
za pomocą SnapRAID. Ochrona jest bardziej skuteczna, jeśli te dyski
|
|
zawierają dane, które rzadko się zmieniają. Z tego powodu lepiej jest
|
|
NIE włączać dysku C:\ w systemie Windows ani katalogów /home, /var i /tmp
|
|
w systemie Unix.
|
|
</p><p>Lista plików jest zapisywana w plikach <b>zawartości</b>, zwykle
|
|
przechowywanych na dyskach danych, parzystości lub rozruchowych.
|
|
Plik ten zawiera szczegóły Twojej kopii zapasowej, w tym wszystkie
|
|
sumy kontrolne w celu weryfikacji jej integralności.
|
|
Plik <b>zawartości</b> jest przechowywany w wielu kopiach, a każda kopia musi
|
|
znajdować się na innym dysku, aby zapewnić, że nawet w przypadku wielu
|
|
awarii dysków, przynajmniej jedna kopia jest dostępna.
|
|
</p><p>Na przykład, załóżmy, że interesuje Cię tylko jeden poziom parzystości
|
|
i Twoje dyski znajdują się w:
|
|
</p><pre>
|
|
/mnt/diskp <- wybrany dysk dla parzystości
|
|
/mnt/disk1 <- pierwszy dysk do ochrony
|
|
/mnt/disk2 <- drugi dysk do ochrony
|
|
/mnt/disk3 <- trzeci dysk do ochrony
|
|
</pre>
|
|
<p>Musisz utworzyć plik konfiguracyjny /etc/snapraid.conf z
|
|
następującymi opcjami:
|
|
</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>Jeśli używasz systemu Windows, powinieneś użyć formatu ścieżek Windows,
|
|
z literami dysków i ukośnikami odwrotnymi zamiast ukośników:
|
|
</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>Jeśli masz wiele dysków i zabrakło Ci liter dysków, możesz zamontować
|
|
dyski bezpośrednio w podfolderach. Zobacz:
|
|
</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>W tym momencie jesteś gotowy do uruchomienia polecenia <b>sync</b>, aby zbudować
|
|
informacje o parzystości.
|
|
</p><pre>
|
|
snapraid sync
|
|
</pre>
|
|
<p>Ten proces może zająć kilka godzin za pierwszym razem, w zależności od rozmiaru
|
|
danych już obecnych na dyskach. Jeśli dyski są puste,
|
|
proces jest natychmiastowy.
|
|
</p><p>Możesz go zatrzymać w dowolnym momencie, naciskając Ctrl+C, a przy następnym
|
|
uruchomieniu wznowi się w miejscu, w którym został przerwany.
|
|
</p><p>Kiedy to polecenie się zakończy, Twoje dane są BEZPIECZNE.
|
|
</p><p>Teraz możesz zacząć używać swojej macierzy, jak chcesz, i okresowo
|
|
aktualizować informacje o parzystości, uruchamiając polecenie <b>sync</b>.
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec4-1" class="manual-title-level-2">
|
|
Scrubbing
|
|
</h2>
|
|
<p>Aby okresowo sprawdzać dane i parzystość pod kątem błędów, możesz
|
|
uruchomić polecenie <b>scrub</b>.
|
|
</p><pre>
|
|
snapraid scrub
|
|
</pre>
|
|
<p>To polecenie porównuje dane w Twojej macierzy z haszem obliczonym
|
|
podczas polecenia <b>sync</b>, aby zweryfikować integralność.
|
|
</p><p>Każde uruchomienie polecenia sprawdza około 8% macierzy, z wyłączeniem danych
|
|
już sprawdzonych w ciągu poprzednich 10 dni.
|
|
Możesz użyć opcji -p, --plan, aby określić inną ilość,
|
|
oraz opcji -o, --older-than, aby określić inny wiek w dniach.
|
|
Na przykład, aby sprawdzić 5% macierzy dla bloków starszych niż 20 dni, użyj:
|
|
</p><pre>
|
|
snapraid -p 5 -o 20 scrub
|
|
</pre>
|
|
<p>Jeśli podczas procesu zostaną znalezione ciche błędy lub błędy wejścia/wyjścia,
|
|
odpowiednie bloki zostaną oznaczone jako złe w pliku <b>content</b>
|
|
i wymienione w poleceniu <b>status</b>.
|
|
</p><pre>
|
|
snapraid status
|
|
</pre>
|
|
<p>Aby je naprawić, możesz użyć polecenia <b>fix</b>, filtrując złe bloki
|
|
za pomocą opcji -e, --filter-error:
|
|
</p><pre>
|
|
snapraid -e fix
|
|
</pre>
|
|
<p>Przy następnym <b>scrub</b>, błędy znikną z raportu <b>status</b>,
|
|
jeśli zostały faktycznie naprawione. Aby przyspieszyć, możesz użyć -p bad, aby
|
|
sprawdzić tylko bloki oznaczone jako złe.
|
|
</p><pre>
|
|
snapraid -p bad scrub
|
|
</pre>
|
|
<p>Uruchomienie <b>scrub</b> na niezsynchronizowanej macierzy może zgłosić błędy
|
|
spowodowane usuniętymi lub zmodyfikowanymi plikami. Błędy te są zgłaszane
|
|
w wyniku <b>scrub</b>, ale powiązane bloki nie są oznaczane jako złe.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec4-2" class="manual-title-level-2">
|
|
Pooling
|
|
</h2>
|
|
<p>Uwaga: Funkcja łączenia w pulę opisana poniżej została zastąpiona przez
|
|
narzędzie mergerfs, które jest obecnie zalecaną opcją dla użytkowników Linuksa
|
|
w społeczności SnapRAID. Mergefs zapewnia bardziej elastyczny i wydajny
|
|
sposób łączenia wielu dysków w jeden ujednolicony punkt montowania,
|
|
umożliwiając bezproblemowy dostęp do plików w całej macierzy bez polegania
|
|
na dowiązaniach symbolicznych. Dobrze integruje się z SnapRAID w celu ochrony
|
|
parzystości i jest powszechnie używane w konfiguracjach takich jak
|
|
OpenMediaVault (OMV) lub niestandardowe konfiguracje NAS.
|
|
</p><p>Aby wszystkie pliki w Twojej macierzy były widoczne w tym samym drzewie katalogów,
|
|
możesz włączyć funkcję <b>pooling</b>. Tworzy ona wirtualny, tylko do odczytu,
|
|
widok wszystkich plików w Twojej macierzy za pomocą dowiązań symbolicznych.
|
|
</p><p>Katalog <b>pooling</b> możesz skonfigurować w pliku konfiguracyjnym za pomocą:
|
|
</p><pre>
|
|
pool /pool
|
|
</pre>
|
|
<p>lub, jeśli używasz systemu Windows, za pomocą:
|
|
</p><pre>
|
|
pool C:\pool
|
|
</pre>
|
|
<p>a następnie uruchom polecenie <b>pool</b>, aby utworzyć lub zaktualizować wirtualny widok.
|
|
</p><pre>
|
|
snapraid pool
|
|
</pre>
|
|
<p>Jeśli używasz platformy Unix i chcesz udostępnić ten katalog
|
|
przez sieć maszynom Windows lub Unix, powinieneś dodać
|
|
następujące opcje do swojego /etc/samba/smb.conf:
|
|
</p><pre>
|
|
# W sekcji globalnej smb.conf
|
|
unix extensions = no
|
|
</pre>
|
|
<pre>
|
|
# W sekcji udziału smb.conf
|
|
[pool]
|
|
comment = Pula
|
|
path = /pool
|
|
read only = yes
|
|
guest ok = yes
|
|
wide links = yes
|
|
follow symlinks = yes
|
|
</pre>
|
|
<p>W systemie Windows udostępnianie dowiązań symbolicznych przez sieć wymaga od klientów
|
|
zdalnego ich rozwiązywania. Aby to umożliwić, oprócz udostępnienia katalogu puli,
|
|
musisz również udostępnić wszystkie dyski niezależnie, używając nazw dysków
|
|
zdefiniowanych w pliku konfiguracyjnym jako punkty udostępniania. Musisz również
|
|
określić w opcji <b>share</b> w pliku konfiguracyjnym ścieżkę UNC Windows,
|
|
której klienci zdalni muszą użyć, aby uzyskać dostęp do tych udostępnionych dysków.
|
|
</p><p>Na przykład, działając z serwera o nazwie <b>darkstar</b>, możesz użyć
|
|
opcji:
|
|
</p><pre>
|
|
data d1 F:\array\
|
|
data d2 G:\array\
|
|
data d3 H:\array\
|
|
pool C:\pool
|
|
share \\darkstar
|
|
</pre>
|
|
<p>i udostępnić w sieci następujące katalogi:
|
|
</p><pre>
|
|
\\darkstar\pool -> C:\pool
|
|
\\darkstar\d1 -> F:\array
|
|
\\darkstar\d2 -> G:\array
|
|
\\darkstar\d3 -> H:\array
|
|
</pre>
|
|
<p>aby umożliwić zdalnym klientom dostęp do wszystkich plików pod adresem \\darkstar\pool.
|
|
</p><p>Możesz również potrzebować skonfigurować klientów zdalnych, aby umożliwić dostęp
|
|
do zdalnych dowiązań symbolicznych za pomocą polecenia:
|
|
</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 działa bardziej jak program do tworzenia kopii zapasowych niż system RAID
|
|
i może być użyty do przywrócenia lub odzyskania usuniętych plików do ich poprzedniego
|
|
stanu za pomocą opcji -f, --filter:
|
|
</p><pre>
|
|
snapraid fix -f FILE
|
|
</pre>
|
|
<p>lub dla katalogu:
|
|
</p><pre>
|
|
snapraid fix -f DIR/
|
|
</pre>
|
|
<p>Możesz go również użyć do odzyskania tylko przypadkowo usuniętych plików wewnątrz
|
|
katalogu za pomocą opcji -m, --filter-missing, która przywraca
|
|
tylko brakujące pliki, pozostawiając wszystkie inne nienaruszone.
|
|
</p><pre>
|
|
snapraid fix -m -f DIR/
|
|
</pre>
|
|
<p>Lub aby odzyskać wszystkie usunięte pliki na wszystkich dyskach za pomocą:
|
|
</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>Najgorsze się wydarzyło i straciłeś jeden lub więcej dysków!
|
|
</p><p>NIE PANIKUJ! Będziesz w stanie je odzyskać!
|
|
</p><p>Pierwszą rzeczą, którą musisz zrobić, to unikać dalszych zmian w Twojej macierzy dysków.
|
|
Wyłącz wszelkie zdalne połączenia z nią i wszelkie zaplanowane procesy, w tym
|
|
jakąkolwiek zaplanowaną nocną synchronizację lub scrub SnapRAID.
|
|
</p><p>Następnie postępuj zgodnie z poniższymi krokami.
|
|
</p><div class="manual-section-level-3">
|
|
<h3 id="sec4-4-1" class="manual-title-level-3">
|
|
KROK 1 -> Ponowna konfiguracja
|
|
</h3>
|
|
<p>Potrzebujesz trochę miejsca do odzyskania, najlepiej na dodatkowych
|
|
zapasowych dyskach, ale wystarczy zewnętrzny dysk USB lub dysk zdalny.
|
|
</p><p>Zmodyfikuj plik konfiguracyjny SnapRAID, aby opcja <b>data</b> lub <b>parity</b>
|
|
uszkodzonego dysku wskazywała na lokalizację z wystarczającą ilością pustego
|
|
miejsca do odzyskania plików.
|
|
</p><p>Na przykład, jeśli dysk <b>d1</b> uległ awarii, zmień z:
|
|
</p><pre>
|
|
data d1 /mnt/disk1/
|
|
</pre>
|
|
<p>na:
|
|
</p><pre>
|
|
data d1 /mnt/new_spare_disk/
|
|
</pre>
|
|
<p>Jeśli dysk do odzyskania jest dyskiem parzystości, zaktualizuj odpowiednią
|
|
opcję <b>parity</b>.
|
|
Jeśli masz wiele uszkodzonych dysków, zaktualizuj wszystkie ich opcje konfiguracyjne.
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-2" class="manual-title-level-3">
|
|
KROK 2 -> Naprawa
|
|
</h3>
|
|
<p>Uruchom polecenie fix, zapisując log w pliku zewnętrznym za pomocą:
|
|
</p><pre>
|
|
snapraid -d NAME -l fix.log fix
|
|
</pre>
|
|
<p>Gdzie NAME to nazwa dysku, taka jak <b>d1</b> w naszym poprzednim przykładzie.
|
|
Jeśli dysk do odzyskania jest dyskiem parzystości, użyj nazw <b>parity</b>, <b>2-parity</b>,
|
|
itp.
|
|
Jeśli masz wiele uszkodzonych dysków, użyj wielu opcji -d, aby określić
|
|
wszystkie z nich.
|
|
</p><p>To polecenie zajmie dużo czasu.
|
|
</p><p>Upewnij się, że masz kilka gigabajtów wolnego miejsca na zapisanie pliku fix.log.
|
|
Uruchom je z dysku z wystarczającą ilością wolnego miejsca.
|
|
</p><p>Teraz odzyskałeś wszystko, co jest możliwe do odzyskania. Jeśli niektóre pliki
|
|
są częściowo lub całkowicie nie do odzyskania, zostaną one przemianowane
|
|
poprzez dodanie rozszerzenia <b>.unrecoverable</b>.
|
|
</p><p>Szczegółową listę wszystkich nie do odzyskania bloków znajdziesz w pliku fix.log,
|
|
sprawdzając wszystkie linie zaczynające się od <b>unrecoverable:</b>.
|
|
</p><p>Jeśli nie jesteś zadowolony z odzyskiwania, możesz spróbować ponownie
|
|
tyle razy, ile chcesz.
|
|
</p><p>Na przykład, jeśli usunąłeś pliki z macierzy po ostatniej
|
|
<b>sync</b>, może to spowodować, że niektóre pliki nie zostaną odzyskane.
|
|
W tym przypadku możesz ponowić próbę <b>fix</b> za pomocą opcji -i, --import,
|
|
określając, gdzie te pliki znajdują się teraz, aby włączyć je ponownie
|
|
do procesu odzyskiwania.
|
|
</p><p>Jeśli jesteś zadowolony z odzyskiwania, możesz kontynuować,
|
|
ale pamiętaj, że po synchronizacji nie możesz już ponowić próby polecenia <b>fix</b>!
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-3" class="manual-title-level-3">
|
|
KROK 3 -> Sprawdzenie
|
|
</h3>
|
|
<p>Jako ostrożne sprawdzenie, możesz teraz uruchomić polecenie <b>check</b>, aby upewnić się, że
|
|
wszystko jest poprawne na odzyskanym dysku.
|
|
</p><pre>
|
|
snapraid -d NAME -a check
|
|
</pre>
|
|
<p>Gdzie NAME to nazwa dysku, taka jak <b>d1</b> w naszym poprzednim przykładzie.
|
|
</p><p>Opcje -d i -a mówią SnapRAID, aby sprawdził tylko określony dysk
|
|
i zignorował wszystkie dane parzystości.
|
|
</p><p>To polecenie zajmie dużo czasu, ale jeśli nie jesteś zbyt ostrożny,
|
|
możesz je pominąć.
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-4" class="manual-title-level-3">
|
|
KROK 4 -> Synchronizacja
|
|
</h3>
|
|
<p>Uruchom polecenie <b>sync</b>, aby ponownie zsynchronizować macierz z nowym dyskiem.
|
|
</p><pre>
|
|
snapraid sync
|
|
</pre>
|
|
<p>Jeśli wszystko zostanie odzyskane, to polecenie jest natychmiastowe.
|
|
</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec5" class="manual-title-level-1">
|
|
Commands
|
|
</h1>
|
|
<p>SnapRAID udostępnia kilka prostych poleceń, które pozwalają na:
|
|
</p><ul>
|
|
<li>
|
|
Wyświetlenie statusu macierzy -> <b>status</b>
|
|
</li>
|
|
<li>
|
|
Kontrolę dysków -> <b>smart</b>, <b>probe</b>, <b>up</b>, <b>down</b>
|
|
</li>
|
|
<li>
|
|
Wykonanie kopii zapasowej/migawki -> <b>sync</b>
|
|
</li>
|
|
<li>
|
|
Okresowe sprawdzanie danych -> <b>scrub</b>
|
|
</li>
|
|
<li>
|
|
Przywrócenie ostatniej kopii zapasowej/migawki -> <b>fix</b>.
|
|
</li>
|
|
</ul>
|
|
<p>Polecenia muszą być zapisane małymi literami.
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec5-1" class="manual-title-level-2">
|
|
status
|
|
</h2>
|
|
<p>Wyświetla podsumowanie stanu macierzy dysków.
|
|
</p><p>Zawiera informacje o fragmentacji parzystości, jak stare
|
|
są bloki bez sprawdzenia i wszystkie zarejestrowane ciche
|
|
błędy napotkane podczas scrubbingu.
|
|
</p><p>Prezentowane informacje odnoszą się do ostatniego momentu, w którym
|
|
uruchomiłeś <b>sync</b>. Późniejsze modyfikacje nie są brane pod uwagę.
|
|
</p><p>Jeśli wykryto złe bloki, ich numery bloków są wymienione.
|
|
Aby je naprawić, możesz użyć polecenia <b>fix -e</b>.
|
|
</p><p>Pokazuje również wykres reprezentujący ostatni raz, kiedy każdy blok
|
|
został sprawdzony lub zsynchronizowany. Sprawdzone bloki są pokazane
|
|
za pomocą <b>*</b>, bloki zsynchronizowane, ale jeszcze niesprawdzone, za pomocą <b>o</b>.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-2" class="manual-title-level-2">
|
|
smart
|
|
</h2>
|
|
<p>Wyświetla raport SMART wszystkich dysków w systemie.
|
|
</p><p>Zawiera oszacowanie prawdopodobieństwa awarii w następnym
|
|
roku, co pozwala zaplanować wymianę konserwacyjną dysków, które wykazują
|
|
podejrzane atrybuty.
|
|
</p><p>To oszacowanie prawdopodobieństwa uzyskuje się poprzez skorelowanie atrybutów SMART
|
|
dysków z danymi Backblaze dostępnymi pod adresem:
|
|
</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>Jeśli SMART zgłosi, że dysk ulega awarii, dla tego dysku
|
|
wyświetlane jest <b>FAIL</b> lub <b>PREFAIL</b>, a SnapRAID zwraca błąd.
|
|
W takim przypadku natychmiastowa wymiana dysku jest wysoce zalecana.
|
|
</p><p>Inne możliwe ciągi statusu to:
|
|
</p><div class="manual-tag-list">
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
logfail
|
|
</div><div class="manual-tag-description">
|
|
W przeszłości niektóre atrybuty były niższe niż
|
|
próg.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
logerr
|
|
</div><div class="manual-tag-description">
|
|
Dziennik błędów urządzenia zawiera błędy.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
selferr
|
|
</div><div class="manual-tag-description">
|
|
Dziennik autotestu urządzenia zawiera błędy.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>Jeśli określono opcję -v, --verbose, dostarczana jest głębsza analiza
|
|
statystyczna. Ta analiza może pomóc Ci zdecydować, czy potrzebujesz
|
|
więcej czy mniej parzystości.
|
|
</p><p>To polecenie używa narzędzia <b>smartctl</b> i jest równoważne
|
|
uruchomieniu <b>smartctl -a</b> na wszystkich urządzeniach.
|
|
</p><p>Jeśli Twoje urządzenia nie zostaną poprawnie wykryte automatycznie, możesz określić
|
|
niestandardowe polecenie za pomocą opcji <b>smartctl</b> w pliku konfiguracyjnym.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-3" class="manual-title-level-2">
|
|
probe
|
|
</h2>
|
|
<p>Wyświetla stan ZASILANIA wszystkich dysków w systemie.
|
|
</p><p><b>Standby</b> oznacza, że dysk się nie kręci. <b>Active</b> oznacza,
|
|
że dysk się kręci.
|
|
</p><p>To polecenie używa narzędzia <b>smartctl</b> i jest równoważne
|
|
uruchomieniu <b>smartctl -n standby -i</b> na wszystkich urządzeniach.
|
|
</p><p>Jeśli Twoje urządzenia nie zostaną poprawnie wykryte automatycznie, możesz określić
|
|
niestandardowe polecenie za pomocą opcji <b>smartctl</b> w pliku konfiguracyjnym.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-4" class="manual-title-level-2">
|
|
up
|
|
</h2>
|
|
<p>Rozpędza wszystkie dyski macierzy.
|
|
</p><p>Możesz rozpędzić tylko określone dyski za pomocą opcji -d, --filter-disk.
|
|
</p><p>Rozpędzanie wszystkich dysków w tym samym czasie wymaga dużo energii.
|
|
Upewnij się, że Twój zasilacz jest w stanie to wytrzymać.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-5" class="manual-title-level-2">
|
|
down
|
|
</h2>
|
|
<p>Zatrzymuje wszystkie dyski macierzy.
|
|
</p><p>To polecenie używa narzędzia <b>smartctl</b> i jest równoważne
|
|
uruchomieniu <b>smartctl -s standby,now</b> na wszystkich urządzeniach.
|
|
</p><p>Możesz zatrzymać tylko określone dyski za pomocą opcji -d, --filter-disk.
|
|
</p><p>Aby automatycznie zatrzymać dyski w przypadku błędu, możesz użyć
|
|
opcji -s, --spin-down-on-error z dowolnym innym poleceniem, co jest
|
|
równoważne ręcznemu uruchomieniu <b>down</b>, gdy wystąpi błąd.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-6" class="manual-title-level-2">
|
|
diff
|
|
</h2>
|
|
<p>Wyświetla listę wszystkich plików zmodyfikowanych od ostatniej <b>sync</b>, które
|
|
wymagają ponownego obliczenia danych parzystości.
|
|
</p><p>To polecenie nie sprawdza danych pliku, a jedynie znacznik czasu pliku,
|
|
rozmiar i inode.
|
|
</p><p>Po wyświetleniu listy wszystkich zmienionych plików, prezentowane jest
|
|
podsumowanie zmian, pogrupowane według:
|
|
</p><div class="manual-tag-list">
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
equal
|
|
</div><div class="manual-tag-description">
|
|
Pliki niezmienione od wcześniej.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
added
|
|
</div><div class="manual-tag-description">
|
|
Pliki dodane, których wcześniej nie było.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
removed
|
|
</div><div class="manual-tag-description">
|
|
Pliki usunięte.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
updated
|
|
</div><div class="manual-tag-description">
|
|
Pliki o innym rozmiarze lub znaczniku czasu, co oznacza, że
|
|
zostały zmodyfikowane.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
moved
|
|
</div><div class="manual-tag-description">
|
|
Pliki przeniesione do innego katalogu na tym samym dysku.
|
|
Są one identyfikowane przez tę samą nazwę, rozmiar, znacznik czasu
|
|
i inode, ale inny katalog.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
copied
|
|
</div><div class="manual-tag-description">
|
|
Pliki skopiowane na ten sam lub inny dysk, gdzie
|
|
oryginalny plik nadal istnieje.
|
|
Są one identyfikowane przez posiadanie tej samej nazwy, rozmiaru
|
|
i znacznika czasu.
|
|
Jeśli podsekundowy znacznik czasu wynosi zero, pełna ścieżka
|
|
musi być zgodna, aby plik został zidentyfikowany, a nie
|
|
tylko nazwa.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
relocated
|
|
</div><div class="manual-tag-description">
|
|
Pliki przeniesione na ten sam lub inny dysk, gdzie
|
|
oryginał zniknął.
|
|
Są one identyfikowane przez posiadanie tej samej nazwy, rozmiaru
|
|
i znacznika czasu.
|
|
Jeśli podsekundowy znacznik czasu wynosi zero, pełna ścieżka
|
|
musi być zgodna, aby plik został zidentyfikowany.
|
|
W przeciwieństwie do plików 'moved' na tym samym dysku, pliki
|
|
relokowane mają inny i-węzeł.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
restored
|
|
</div><div class="manual-tag-description">
|
|
Pliki o innym i-węźle, ale pasującym katalogu,
|
|
nazwie, rozmiarze i znaczniku czasu.
|
|
Są to zazwyczaj pliki przywrócone po ich usunięciu.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>Jeśli wymagana jest <b>sync</b>, kod powrotu procesu wynosi 2, zamiast
|
|
domyślnego 0. Kod powrotu 1 jest używany dla ogólnego stanu błędu.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-7" class="manual-title-level-2">
|
|
sync
|
|
</h2>
|
|
<p>Aktualizuje informacje o parzystości. Wszystkie zmodyfikowane pliki
|
|
w macierzy dysków są odczytywane, a odpowiednie dane parzystości
|
|
są aktualizowane.
|
|
</p><p>Możesz zatrzymać ten proces w dowolnym momencie, naciskając Ctrl+C,
|
|
bez utraty już wykonanej pracy.
|
|
Przy następnym uruchomieniu proces <b>sync</b> wznowi się w miejscu, w którym
|
|
został przerwany.
|
|
</p><p>Jeśli podczas procesu zostaną znalezione ciche błędy lub błędy wejścia/wyjścia,
|
|
odpowiednie bloki zostaną oznaczone jako złe.
|
|
</p><p>Pliki są identyfikowane po ścieżce i/lub inode i sprawdzane
|
|
po rozmiarze i znaczniku czasu.
|
|
Jeśli rozmiar pliku lub znacznik czasu się różni, dane parzystości
|
|
są ponownie obliczane dla całego pliku.
|
|
Jeśli plik zostanie przeniesiony lub zmieniony na tym samym dysku, zachowując ten sam inode,
|
|
parzystość nie jest ponownie obliczana.
|
|
Jeśli plik zostanie przeniesiony na inny dysk, parzystość jest ponownie obliczana,
|
|
ale wcześniej obliczone informacje o haszu są zachowywane.
|
|
</p><p>Pliki <b>content</b> i <b>parity</b> są modyfikowane w razie potrzeby.
|
|
Pliki w macierzy NIE są modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-8" class="manual-title-level-2">
|
|
scrub
|
|
</h2>
|
|
<p>Sprawdza macierz, szukając cichych błędów lub błędów wejścia/wyjścia w danych
|
|
i dyskach parzystości.
|
|
</p><p>Każde wywołanie sprawdza około 8% macierzy, z wyłączeniem
|
|
danych już sprawdzonych w ciągu ostatnich 10 dni.
|
|
Oznacza to, że sprawdzanie raz w tygodniu zapewnia sprawdzenie każdego bitu danych
|
|
przynajmniej raz na trzy miesiące.
|
|
</p><p>Możesz zdefiniować inny plan sprawdzania lub ilość za pomocą opcji -p, --plan,
|
|
która akceptuje:
|
|
bad - Sprawdza bloki oznaczone jako złe.
|
|
new - Sprawdza bloki właśnie zsynchronizowane, jeszcze niesprawdzone.
|
|
full - Sprawdza wszystko.
|
|
0-100 - Sprawdza określony procent bloków.
|
|
</p><p>Jeśli określisz wartość procentową, możesz również użyć opcji -o, --older-than,
|
|
aby zdefiniować, jak stary powinien być blok.
|
|
Najpierw sprawdzane są najstarsze bloki, co zapewnia optymalne sprawdzenie.
|
|
Jeśli chcesz sprawdzić tylko bloki właśnie zsynchronizowane, jeszcze niesprawdzone,
|
|
użyj opcji <b>-p new</b>.
|
|
</p><p>Aby uzyskać szczegóły statusu sprawdzania, użyj polecenia <b>status</b>.
|
|
</p><p>Dla każdego znalezionego cichego błędu lub błędu wejścia/wyjścia, odpowiednie bloki
|
|
są oznaczane jako złe w pliku <b>content</b>.
|
|
Te złe bloki są wymienione w <b>status</b> i mogą zostać naprawione za pomocą <b>fix -e</b>.
|
|
Po naprawie, przy następnym sprawdzeniu, zostaną one ponownie sprawdzone, a jeśli okaże się,
|
|
że zostały poprawione, oznaczenie złego zostanie usunięte.
|
|
Aby sprawdzić tylko złe bloki, możesz użyć polecenia <b>scrub -p bad</b>.
|
|
</p><p>Zaleca się uruchamianie <b>scrub</b> tylko na zsynchronizowanej macierzy, aby uniknąć
|
|
zgłaszania błędów spowodowanych przez niezsynchronizowane dane. Błędy te są rozpoznawane
|
|
jako nie będące cichymi błędami, a bloki nie są oznaczane jako złe,
|
|
ale takie błędy są zgłaszane w wyniku polecenia.
|
|
</p><p>Plik <b>content</b> jest modyfikowany w celu zaktualizowania czasu ostatniego sprawdzenia
|
|
dla każdego bloku i oznaczenia złych bloków.
|
|
Pliki <b>parity</b> NIE są modyfikowane.
|
|
Pliki w macierzy NIE są modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-9" class="manual-title-level-2">
|
|
fix
|
|
</h2>
|
|
<p>Naprawia wszystkie pliki i dane parzystości.
|
|
</p><p>Wszystkie pliki i dane parzystości są porównywane ze stanem migawki
|
|
zapisanym w ostatniej <b>sync</b>.
|
|
Jeśli zostanie znaleziona różnica, jest ona przywracana do zapisanego stanu migawki.
|
|
</p><p>OSTRZEŻENIE! Polecenie <b>fix</b> nie rozróżnia błędów od
|
|
celowych modyfikacji. Bezwarunkowo przywraca stan pliku
|
|
do ostatniej <b>sync</b>.
|
|
</p><p>Jeśli nie określono żadnej innej opcji, przetwarzana jest cała macierz.
|
|
Użyj opcji filtra, aby wybrać podzbiór plików lub dysków do operacji.
|
|
</p><p>Aby naprawić tylko bloki oznaczone jako złe podczas <b>sync</b> i <b>scrub</b>,
|
|
użyj opcji -e, --filter-error.
|
|
W przeciwieństwie do innych opcji filtra, ta stosuje poprawki tylko do plików, które są
|
|
niezmienione od ostatniej <b>sync</b>.
|
|
</p><p>SnapRAID zmienia nazwy wszystkich plików, których nie można naprawić, dodając
|
|
rozszerzenie <b>.unrecoverable</b>.
|
|
</p><p>Przed naprawą, cała macierz jest skanowana w celu znalezienia wszelkich plików przeniesionych
|
|
od ostatniej operacji <b>sync</b>.
|
|
Pliki te są identyfikowane na podstawie ich znacznika czasu, ignorując ich nazwę
|
|
i katalog, i są używane w procesie odzyskiwania, jeśli to konieczne.
|
|
Jeśli przeniosłeś niektóre z nich poza macierz, możesz użyć opcji -i, --import,
|
|
aby określić dodatkowe katalogi do skanowania.
|
|
</p><p>Pliki są identyfikowane tylko po ścieżce, a nie po inode.
|
|
</p><p>Plik <b>content</b> NIE jest modyfikowany.
|
|
Pliki <b>parity</b> są modyfikowane w razie potrzeby.
|
|
Pliki w macierzy są modyfikowane w razie potrzeby.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-10" class="manual-title-level-2">
|
|
check
|
|
</h2>
|
|
<p>Weryfikuje wszystkie pliki i dane parzystości.
|
|
</p><p>Działa jak <b>fix</b>, ale tylko symuluje odzyskiwanie i żadne zmiany
|
|
nie są zapisywane w macierzy.
|
|
</p><p>To polecenie jest przeznaczone głównie do ręcznej weryfikacji,
|
|
takiej jak po procesie odzyskiwania lub w innych specjalnych warunkach.
|
|
Do okresowych i zaplanowanych sprawdzeń użyj <b>scrub</b>.
|
|
</p><p>Jeśli użyjesz opcji -a, --audit-only, sprawdzane są tylko
|
|
dane pliku, a dane parzystości są ignorowane, co zapewnia
|
|
szybsze działanie.
|
|
</p><p>Pliki są identyfikowane tylko po ścieżce, a nie po inode.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-11" class="manual-title-level-2">
|
|
list
|
|
</h2>
|
|
<p>Wyświetla listę wszystkich plików zawartych w macierzy w momencie
|
|
ostatniej <b>sync</b>.
|
|
</p><p>Z -v lub --verbose, wyświetlany jest również czas z dokładnością do podsekundy.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-12" class="manual-title-level-2">
|
|
dup
|
|
</h2>
|
|
<p>Wyświetla listę wszystkich zduplikowanych plików. Dwa pliki są uważane za równe, jeśli ich
|
|
hasze pasują. Dane pliku nie są odczytywane; używane są tylko
|
|
wcześniej obliczone hasze.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-13" class="manual-title-level-2">
|
|
pool
|
|
</h2>
|
|
<p>Tworzy lub aktualizuje wirtualny widok wszystkich
|
|
plików w Twojej macierzy dysków w katalogu <b>pooling</b>.
|
|
</p><p>Pliki nie są kopiowane, ale linkowane za pomocą
|
|
dowiązań symbolicznych.
|
|
</p><p>Podczas aktualizacji, wszystkie istniejące dowiązania symboliczne i puste
|
|
podkatalogi są usuwane i zastępowane nowym
|
|
widokiem macierzy. Wszelkie inne zwykłe pliki pozostają na swoim miejscu.
|
|
</p><p>Nic nie jest modyfikowane poza katalogiem puli.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-14" class="manual-title-level-2">
|
|
devices
|
|
</h2>
|
|
<p>Wyświetla urządzenia niskiego poziomu używane przez macierz.
|
|
</p><p>To polecenie wyświetla skojarzenia urządzeń w macierzy
|
|
i jest przeznaczone głównie jako interfejs skryptowy.
|
|
</p><p>Pierwsze dwie kolumny to identyfikator i ścieżka urządzenia niskiego poziomu.
|
|
Następne dwie kolumny to identyfikator i ścieżka urządzenia wysokiego poziomu.
|
|
Ostatnia kolumna to nazwa dysku w macierzy.
|
|
</p><p>W większości przypadków masz jedno urządzenie niskiego poziomu dla każdego dysku w
|
|
macierzy, ale w niektórych bardziej złożonych konfiguracjach możesz mieć wiele
|
|
urządzeń niskiego poziomu używanych przez pojedynczy dysk w macierzy.
|
|
</p><p>Nic nie jest modyfikowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-15" class="manual-title-level-2">
|
|
touch
|
|
</h2>
|
|
<p>Ustawia arbitralny znacznik czasu z dokładnością do podsekundy dla wszystkich plików,
|
|
które mają go ustawiony na zero.
|
|
</p><p>Poprawia to zdolność SnapRAID do rozpoznawania przeniesionych
|
|
i skopiowanych plików, ponieważ sprawia, że znacznik czasu jest prawie unikalny,
|
|
redukując możliwe duplikaty.
|
|
</p><p>Dokładniej, jeśli znacznik czasu z dokładnością do podsekundy nie jest zerowy,
|
|
przeniesiony lub skopiowany plik jest identyfikowany jako taki, jeśli pasuje do
|
|
nazwy, rozmiaru i znacznika czasu. Jeśli znacznik czasu z dokładnością do podsekundy
|
|
jest zerowy, jest uważany za kopię tylko wtedy, gdy pasują pełna ścieżka,
|
|
rozmiar i znacznik czasu.
|
|
</p><p>Znacznik czasu z dokładnością do sekundy nie jest modyfikowany,
|
|
więc wszystkie daty i czasy Twoich plików zostaną zachowane.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-16" class="manual-title-level-2">
|
|
rehash
|
|
</h2>
|
|
<p>Planuje ponowne haszowanie całej macierzy.
|
|
</p><p>To polecenie zmienia używany rodzaj hasza, zazwyczaj podczas aktualizacji
|
|
z systemu 32-bitowego na 64-bitowy, aby przełączyć się z
|
|
MurmurHash3 na szybszy SpookyHash.
|
|
</p><p>Jeśli używasz już optymalnego hasza, to polecenie
|
|
nic nie robi i informuje Cię, że nie jest potrzebne żadne działanie.
|
|
</p><p>Ponowne haszowanie nie jest wykonywane natychmiast, ale odbywa się
|
|
stopniowo podczas <b>sync</b> i <b>scrub</b>.
|
|
</p><p>Możesz sprawdzić stan ponownego haszowania za pomocą <b>status</b>.
|
|
</p><p>Podczas ponownego haszowania SnapRAID zachowuje pełną funkcjonalność,
|
|
z jedynym wyjątkiem, że <b>dup</b> nie może wykryć zduplikowanych
|
|
plików używających innego hasza.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-17" class="manual-title-level-2">
|
|
locate
|
|
</h2>
|
|
<p>Lokalizuje pliki zapisane na dyskach parzystości. Dla każdego dopasowanego pliku
|
|
wypisuje jego lokalizację w pliku parzystości oraz liczbę zajmowanych przez
|
|
niego fragmentów.
|
|
</p><p>Możesz użyć opcji -t, --tail, aby ograniczyć operację do plików zajmujących
|
|
określoną końcową część parzystości.
|
|
</p><p>Jeśli chcesz dokonać realokacji tych plików, możesz użyć opcji
|
|
-W, --force-realloc-tail.
|
|
Pamiętaj, że takie pliki nie będą chronione przez parzystość podczas procesu
|
|
realokacji.
|
|
</p></div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec6" class="manual-title-level-1">
|
|
Options
|
|
</h1>
|
|
<p>SnapRAID udostępnia następujące opcje:
|
|
</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">
|
|
Wybiera plik konfiguracyjny do użycia. Jeśli nie określono, w systemie Unix
|
|
używa pliku <b>/usr/local/etc/snapraid.conf</b>, jeśli istnieje,
|
|
w przeciwnym razie <b>/etc/snapraid.conf</b>.
|
|
W systemie Windows używa pliku <b>snapraid.conf</b> w tym samym
|
|
katalogu co <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">
|
|
Filtruje pliki do przetworzenia w <b>check</b> i <b>fix</b>.
|
|
Przetwarzane są tylko pliki pasujące do określonego wzorca.
|
|
Ta opcja może być używana wielokrotnie.
|
|
Zobacz sekcję PATTERN, aby uzyskać więcej szczegółów na temat
|
|
specyfikacji wzorców.
|
|
W systemie Unix upewnij się, że znaki globbing są cytowane, jeśli są używane.
|
|
Ta opcja może być używana tylko z <b>check</b> i <b>fix</b>.
|
|
Nie może być używana z <b>sync</b> i <b>scrub</b>, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
</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">
|
|
Filtruje dyski do przetworzenia w <b>check</b>, <b>fix</b>, <b>up</b> i <b>down</b>.
|
|
Musisz określić nazwę dysku zdefiniowaną w pliku konfiguracyjnym.
|
|
Możesz również określić dyski parzystości za pomocą nazw: <b>parity</b>, <b>2-parity</b>,
|
|
<b>3-parity</b>, itp., aby ograniczyć operacje do określonego dysku parzystości.
|
|
Jeśli połączysz wiele opcji --filter, --filter-disk i --filter-missing,
|
|
wybrane zostaną tylko pliki pasujące do wszystkich filtrów.
|
|
Ta opcja może być używana wielokrotnie.
|
|
Ta opcja może być używana tylko z <b>check</b>, <b>fix</b>, <b>up</b> i <b>down</b>.
|
|
Nie może być używana z <b>sync</b> i <b>scrub</b>, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
</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">
|
|
Filtruje pliki do przetworzenia w <b>check</b> i <b>fix</b>.
|
|
Przetwarzane są tylko pliki brakujące lub usunięte z macierzy.
|
|
Użyte z <b>fix</b>, działa to jako polecenie <b>undelete</b>.
|
|
Jeśli połączysz wiele opcji --filter, --filter-disk i --filter-missing,
|
|
wybrane zostaną tylko pliki pasujące do wszystkich filtrów.
|
|
Ta opcja może być używana tylko z <b>check</b> i <b>fix</b>.
|
|
Nie może być używana z <b>sync</b> i <b>scrub</b>, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
</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">
|
|
Przetwarza pliki z błędami w <b>check</b> i <b>fix</b>.
|
|
Przetwarza tylko pliki, które mają bloki oznaczone cichymi
|
|
błędami lub błędami wejścia/wyjścia podczas <b>sync</b> i <b>scrub</b>, jak wymieniono w <b>status</b>.
|
|
Ta opcja może być używana tylko z <b>check</b> i <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">
|
|
Wybiera plan sprawdzania. Jeśli PERC jest wartością numeryczną od 0 do 100,
|
|
jest interpretowany jako procent bloków do sprawdzenia.
|
|
Zamiast wartości procentowej możesz określić plan:
|
|
<b>bad</b> sprawdza złe bloki, <b>new</b> sprawdza bloki jeszcze niesprawdzone,
|
|
a <b>full</b> sprawdza wszystko.
|
|
Ta opcja może być używana tylko z <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">
|
|
Wybiera najstarszą część macierzy do przetworzenia w <b>scrub</b>.
|
|
DAYS to minimalny wiek w dniach dla bloku, który ma być sprawdzony;
|
|
domyślnie jest to 10.
|
|
Bloki oznaczone jako złe są zawsze sprawdzane niezależnie od tej opcji.
|
|
Ta opcja może być używana tylko z <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">
|
|
W <b>check</b>, weryfikuje hasz plików bez
|
|
sprawdzania danych parzystości.
|
|
Jeśli interesuje Cię tylko sprawdzenie danych pliku, ta
|
|
opcja może znacznie przyspieszyć proces sprawdzania.
|
|
Ta opcja może być używana tylko z <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">
|
|
W <b>sync</b>, uruchamia wstępną fazę haszowania wszystkich nowych danych
|
|
w celu dodatkowej weryfikacji przed obliczeniem parzystości.
|
|
Zazwyczaj w <b>sync</b> nie jest wykonywane wstępne haszowanie, a nowe
|
|
dane są haszowane tuż przed obliczeniem parzystości, gdy są odczytywane
|
|
po raz pierwszy.
|
|
Ten proces zachodzi, gdy system jest pod
|
|
dużym obciążeniem, wszystkie dyski się kręcą, a CPU jest zajęte.
|
|
Jest to ekstremalny warunek dla maszyny, a jeśli ma
|
|
ukryty problem sprzętowy, ciche błędy mogą pozostać niewykryte,
|
|
ponieważ dane nie są jeszcze haszowane.
|
|
Aby uniknąć tego ryzyka, możesz włączyć tryb <b>pre-hash</b>, aby
|
|
wszystkie dane były odczytywane dwukrotnie w celu zapewnienia ich integralności.
|
|
Ta opcja weryfikuje również pliki przeniesione wewnątrz macierzy,
|
|
aby upewnić się, że operacja przeniesienia zakończyła się pomyślnie, i, jeśli to konieczne,
|
|
umożliwia uruchomienie operacji fix przed kontynuowaniem.
|
|
Ta opcja może być używana tylko z <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">
|
|
Importuje z określonego katalogu wszelkie pliki usunięte
|
|
z macierzy po ostatniej <b>sync</b>.
|
|
Jeśli nadal masz takie pliki, mogą być użyte przez <b>check</b>
|
|
i <b>fix</b>, aby poprawić proces odzyskiwania.
|
|
Pliki są odczytywane, w tym w podkatalogach, i są
|
|
identyfikowane niezależnie od ich nazwy.
|
|
Ta opcja może być używana tylko z <b>check</b> i <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">
|
|
W przypadku każdego błędu, zatrzymuje wszystkie zarządzane dyski przed wyjściem
|
|
z niezerowym kodem statusu. Zapobiega to pozostawaniu dysków
|
|
aktywnymi i kręcącymi się po przerwanej operacji,
|
|
pomagając uniknąć niepotrzebnego gromadzenia się ciepła i zużycia
|
|
energii. Użyj tej opcji, aby upewnić się, że dyski są bezpiecznie
|
|
zatrzymane, nawet gdy polecenie zakończy się niepowodzeniem.
|
|
</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">
|
|
Stosuje globalne ograniczenie przepustowości dla wszystkich dysków. RATE to
|
|
liczba bajtów na sekundę. Możesz określić mnożnik,
|
|
taki jak K, M lub G (np. --bw-limit 1G).
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-t, --tail ROZMIAR
|
|
</div><div class="manual-option-description">
|
|
Ogranicza listę plików do tych, które nie używają więcej niż określony
|
|
końcowy rozmiar dysków parzystości.
|
|
Możesz użyć mnożników takich jak K, M, G lub T (np. --tail 1G).
|
|
Opcja ta jest ważna tylko wtedy, gdy jest używana wraz z poleceniem
|
|
<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">
|
|
Włącza rozszerzony widok statusu, który pokazuje dodatkowe informacje.
|
|
Ekran wyświetla dwa wykresy:
|
|
Pierwszy wykres pokazuje liczbę buforowanych pasków dla każdego
|
|
dysku, wraz ze ścieżką pliku, do którego aktualnie uzyskuje się dostęp
|
|
na tym dysku. Zazwyczaj najwolniejszy dysk nie będzie miał dostępnego
|
|
bufora, co determinuje maksymalną osiągalną przepustowość.
|
|
Drugi wykres pokazuje procent czasu spędzonego na czekaniu
|
|
w ciągu ostatnich 100 sekund. Oczekuje się, że najwolniejszy dysk
|
|
spowoduje większość czasu oczekiwania, podczas gdy inne dyski powinny mieć
|
|
niewielki lub żaden czas oczekiwania, ponieważ mogą używać swoich buforowanych pasków.
|
|
Ten wykres pokazuje również czas spędzony na czekaniu na obliczenia
|
|
hasza i obliczenia RAID.
|
|
Wszystkie obliczenia są wykonywane równolegle z operacjami dyskowymi.
|
|
Dlatego, dopóki istnieje mierzalny czas oczekiwania dla
|
|
przynajmniej jednego dysku, oznacza to, że CPU jest wystarczająco szybkie, aby
|
|
nadążyć za obciążeniem.
|
|
</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">
|
|
Wymusza niebezpieczną operację synchronizacji pliku o zerowym
|
|
rozmiarze, który wcześniej był niezerowy.
|
|
Jeśli SnapRAID wykryje taki stan, zatrzymuje przetwarzanie,
|
|
chyba że określisz tę opcję.
|
|
Pozwala to łatwo wykryć, kiedy po awarii systemu
|
|
niektóre dostępne pliki zostały obcięte.
|
|
Jest to możliwy stan w systemie Linux z systemami plików ext3/ext4.
|
|
Ta opcja może być używana tylko z <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">
|
|
Wymusza niebezpieczną operację synchronizacji dysku z brakującymi
|
|
wszystkimi oryginalnymi plikami.
|
|
Jeśli SnapRAID wykryje, że brakuje wszystkich plików pierwotnie obecnych
|
|
na dysku lub zostały przepisane, zatrzymuje przetwarzanie,
|
|
chyba że określisz tę opcję.
|
|
Pozwala to łatwo wykryć, kiedy system plików danych nie jest
|
|
zamontowany.
|
|
Ta opcja może być używana tylko z <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">
|
|
Wymusza niebezpieczną operację synchronizacji, sprawdzania i naprawiania
|
|
z dyskami, które zmieniły swój UUID.
|
|
Jeśli SnapRAID wykryje, że niektóre dyski zmieniły UUID,
|
|
zatrzymuje przetwarzanie, chyba że określisz tę opcję.
|
|
Pozwala to wykryć, kiedy Twoje dyski są zamontowane w
|
|
niewłaściwych punktach montowania.
|
|
Dozwolona jest jednak pojedyncza zmiana UUID z
|
|
pojedynczą parzystością i więcej z wielokrotną parzystością, ponieważ jest to
|
|
normalny przypadek podczas wymiany dysków po odzyskaniu.
|
|
Ta opcja może być używana tylko z <b>sync</b>, <b>check</b> lub
|
|
<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">
|
|
Wymusza niebezpieczną operację naprawiania z niedostępnymi dyskami
|
|
lub z dyskami na tym samym urządzeniu fizycznym.
|
|
Na przykład, jeśli straciłeś dwa dyski danych i masz zapasowy dysk do odzyskania
|
|
tylko pierwszego, możesz zignorować drugi niedostępny dysk.
|
|
Lub, jeśli chcesz odzyskać dysk w wolnym miejscu pozostawionym na
|
|
już używanym dysku, współdzielącym to samo urządzenie fizyczne.
|
|
Ta opcja może być używana tylko z <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">
|
|
W <b>sync</b>, <b>check</b> i <b>fix</b>, wyłącza heurystykę wykrywania kopii.
|
|
Bez tej opcji SnapRAID zakłada, że pliki o tych samych
|
|
atrybutach, takich jak nazwa, rozmiar i znacznik czasu, są kopiami z tymi
|
|
samymi danymi.
|
|
Pozwala to na identyfikację skopiowanych lub przeniesionych plików z jednego dysku
|
|
na inny i ponowne wykorzystanie już obliczonych informacji o haszu
|
|
w celu wykrycia cichych błędów lub odzyskania brakujących plików.
|
|
W niektórych rzadkich przypadkach to zachowanie może prowadzić do fałszywych alarmów
|
|
lub spowolnienia procesu z powodu wielu weryfikacji hasza, a ta
|
|
opcja pozwala rozwiązać takie problemy.
|
|
Ta opcja może być używana tylko z <b>sync</b>, <b>check</b> i <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">
|
|
W <b>sync</b>, wymusza pełne ponowne obliczenie parzystości.
|
|
Ta opcja może być używana, gdy dodajesz nowy poziom parzystości lub jeśli
|
|
powróciłeś do starego pliku zawartości, używając nowszych danych parzystości.
|
|
Zamiast ponownego tworzenia parzystości od podstaw, pozwala to
|
|
na ponowne wykorzystanie haszy obecnych w pliku zawartości do walidacji danych
|
|
i utrzymania ochrony danych podczas procesu <b>sync</b> za pomocą
|
|
istniejących danych parzystości.
|
|
Ta opcja może być używana tylko z <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">
|
|
W <b>sync</b>, wymusza pełną realokację plików i przebudowę parzystości.
|
|
Ta opcja może być używana do całkowitej realokacji wszystkich plików,
|
|
usuwając fragmentację, jednocześnie ponownie wykorzystując hasze obecne w pliku zawartości
|
|
do walidacji danych.
|
|
Ta opcja może być używana tylko z <b>sync</b>.
|
|
OSTRZEŻENIE! Ta opcja jest tylko dla ekspertów i jest wysoce
|
|
zalecane, aby jej nie używać.
|
|
NIE MASZ ochrony danych podczas operacji <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 ROZMIAR
|
|
</div><div class="manual-option-description">
|
|
Działa jak -R, --force-realloc, ale ogranicza się do określonej części
|
|
końcowej (ostatnie ROZMIAR bajtów) każdego pliku parzystości.
|
|
Wymusza realokację (przeniesienie) wszelkich fragmentów/bloków plików
|
|
obecnie przechowywanych w tej sekcji końcowej, pozwalając na ich
|
|
umieszczenie w dowolnym miejscu w pliku (plikach) parzystości, gdzie
|
|
dostępne jest wolne miejsce (w tym w istniejących lukach).
|
|
Głównym celem tej opcji jest zmniejszenie rozmiaru pliku parzystości
|
|
na dysku.
|
|
Jeśli realokacja pomyślnie wyczyści całą sekcję końcową (nie pozostaną
|
|
żadne bloki korzystające z niej), plik parzystości zostanie przycięty,
|
|
odzyskując nieużywane miejsce na końcu.
|
|
Możesz użyć mnożników takich jak K, M, G lub T (np.
|
|
--force-realloc-tail 1G).
|
|
Możesz użyć locate -t, --tail, aby wcześniej poznać pliki, których
|
|
będzie to dotyczyć.
|
|
OSTRZEŻENIE!
|
|
Ta opcja jest przeznaczona wyłącznie dla ekspertów i zdecydowanie
|
|
zaleca się jej nie używać.
|
|
Podczas operacji <b>sync</b> pliki, których to dotyczy, NIE mają ochrony
|
|
danych.
|
|
</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">
|
|
Zapisuje szczegółowy log do określonego pliku.
|
|
Jeśli ta opcja nie jest określona, nieoczekiwane błędy są drukowane
|
|
na ekranie, potencjalnie prowadząc do nadmiernego wyjścia w przypadku
|
|
wielu błędów. Gdy -l, --log jest określone, tylko
|
|
krytyczne błędy, które powodują zatrzymanie SnapRAID, są drukowane
|
|
na ekranie.
|
|
Jeśli ścieżka zaczyna się od <b>>></b>, plik jest otwierany
|
|
w trybie dołączania. Wystąpienia <b>%D</b> i <b>%T</b> w nazwie są
|
|
zastępowane datą i czasem w formacie RRRRMMDD i
|
|
GGMMSS. W plikach wsadowych Windows musisz podwoić
|
|
znak <b>%</b>, np. result-%%D.log. Aby użyć <b>>></b>, musisz
|
|
ujęć nazwę w cudzysłów, np. <b>">>result.log"</b>.
|
|
Aby wyprowadzić log do standardowego wyjścia lub standardowego błędu,
|
|
możesz użyć odpowiednio <b>">&1"</b> i <b>">&2"</b>.
|
|
Opisy tagów logu znajdziesz w pliku snapraid_log.txt lub na stronie podręcznika.
|
|
</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">
|
|
Ustawia nowy limit błędów przed zatrzymaniem wykonania.
|
|
Domyślnie SnapRAID zatrzymuje się, jeśli napotka więcej niż 100
|
|
błędów wejścia/wyjścia, co wskazuje, że dysk prawdopodobnie ulega awarii.
|
|
Ta opcja dotyczy <b>sync</b> i <b>scrub</b>, które mogą
|
|
kontynuować po pierwszym zestawie błędów dysku, aby spróbować
|
|
ukończyć swoje operacje.
|
|
Jednak <b>check</b> i <b>fix</b> zawsze zatrzymują się przy pierwszym błędzie.
|
|
</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">
|
|
Zaczyna przetwarzanie od określonego
|
|
numeru bloku. Może to być przydatne do ponownej próby sprawdzenia
|
|
lub naprawy określonych bloków w przypadku uszkodzonego dysku.
|
|
Ta opcja jest przeznaczona głównie do zaawansowanego ręcznego odzyskiwania.
|
|
</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">
|
|
Przetwarza tylko określoną liczbę bloków.
|
|
Ta opcja jest przeznaczona głównie do zaawansowanego ręcznego odzyskiwania.
|
|
</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">
|
|
Generuje atrapę pliku konfiguracyjnego z istniejącego
|
|
pliku zawartości.
|
|
Plik konfiguracyjny jest zapisywany na standardowe wyjście
|
|
i nie nadpisuje istniejącego.
|
|
Ten plik konfiguracyjny zawiera również informacje
|
|
potrzebne do rekonstrukcji punktów montowania dysków na wypadek
|
|
utraty całego systemu.
|
|
</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">
|
|
Wyświetla więcej informacji na ekranie.
|
|
Jeśli określono raz, drukuje wykluczone pliki
|
|
i dodatkowe statystyki.
|
|
Ta opcja nie ma wpływu na pliki logów.
|
|
</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">
|
|
Wyświetla mniej informacji na ekranie.
|
|
Jeśli określono raz, usuwa pasek postępu; dwa razy,
|
|
bieżące operacje; trzy razy, komunikaty informacyjne; cztery razy,
|
|
komunikaty statusu.
|
|
Krytyczne błędy są zawsze drukowane na ekranie.
|
|
Ta opcja nie ma wpływu na pliki logów.
|
|
</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">
|
|
Wyświetla krótki ekran pomocy.
|
|
</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">
|
|
Wyświetla wersję programu.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec7" class="manual-title-level-1">
|
|
Configuration
|
|
</h1>
|
|
<p>SnapRAID wymaga pliku konfiguracyjnego, aby wiedzieć, gdzie znajduje się Twoja macierz
|
|
dysków i gdzie przechowywać informacje o parzystości.
|
|
</p><p>W systemie Unix używa pliku <b>/usr/local/etc/snapraid.conf</b>, jeśli istnieje,
|
|
w przeciwnym razie <b>/etc/snapraid.conf</b>.
|
|
W systemie Windows używa pliku <b>snapraid.conf</b> w tym samym
|
|
katalogu co <b>snapraid.exe</b>.
|
|
</p><p>Musi zawierać następujące opcje (uwzględniające wielkość liter):
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec7-1" class="manual-title-level-2">
|
|
parity FILE [,FILE] ...
|
|
</h2>
|
|
<p>Definiuje pliki do użycia do przechowywania informacji o parzystości.
|
|
Parzystość umożliwia ochronę przed awarią pojedynczego dysku,
|
|
podobnie jak w RAID5.
|
|
</p><p>Możesz określić wiele plików, które muszą znajdować się na różnych dyskach.
|
|
Gdy plik nie może już rosnąć, używany jest następny.
|
|
Całkowita dostępna przestrzeń musi być co najmniej tak duża jak największy dysk danych w
|
|
macierzy.
|
|
</p><p>Możesz dodać dodatkowe pliki parzystości później, ale nie możesz
|
|
ich zmieniać kolejności ani usuwać.
|
|
</p><p>Trzymanie dysków parzystości zarezerwowanych dla parzystości zapewnia, że
|
|
nie ulegną fragmentacji, co poprawia wydajność.
|
|
</p><p>W systemie Windows 256 MB jest pozostawione niewykorzystane na każdym dysku, aby uniknąć
|
|
ostrzeżenia o pełnych dyskach.
|
|
</p><p>Ta opcja jest obowiązkowa i może być używana tylko raz.
|
|
</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>Definiuje pliki do użycia do przechowywania dodatkowych informacji o parzystości.
|
|
</p><p>Dla każdego określonego poziomu parzystości włączany jest jeden dodatkowy
|
|
poziom ochrony:
|
|
</p><ul>
|
|
<li>
|
|
2-parity włącza podwójną parzystość RAID6.
|
|
</li>
|
|
<li>
|
|
3-parity włącza potrójną parzystość.
|
|
</li>
|
|
<li>
|
|
4-parity włącza poczwórną (cztery) parzystość.
|
|
</li>
|
|
<li>
|
|
5-parity włącza pięciokrotną (pięć) parzystość.
|
|
</li>
|
|
<li>
|
|
6-parity włącza sześciokrotną (sześć) parzystość.
|
|
</li>
|
|
</ul>
|
|
<p>Każdy poziom parzystości wymaga obecności wszystkich poprzednich poziomów parzystości.
|
|
</p><p>Obowiązują te same uwagi, co dla opcji <b>parity</b>.
|
|
</p><p>Te opcje są opcjonalne i mogą być używane tylko raz.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-3" class="manual-title-level-2">
|
|
z-parity FILE [,FILE] ...
|
|
</h2>
|
|
<p>Definiuje alternatywny plik i format do przechowywania potrójnej parzystości.
|
|
</p><p>Ta opcja jest alternatywą dla <b>3-parity</b>, przeznaczoną głównie dla
|
|
procesorów niskiej klasy, takich jak ARM lub AMD Phenom, Athlon i Opteron,
|
|
które nie obsługują zestawu instrukcji SSSE3. W takich przypadkach zapewnia
|
|
lepszą wydajność.
|
|
</p><p>Ten format jest podobny, ale szybszy niż ten używany przez ZFS RAIDZ3.
|
|
Podobnie jak ZFS, nie działa powyżej potrójnej parzystości.
|
|
</p><p>Podczas używania <b>3-parity</b> zostaniesz ostrzeżony, jeśli zaleca się użycie
|
|
formatu <b>z-parity</b> w celu poprawy wydajności.
|
|
</p><p>Możliwa jest konwersja z jednego formatu na inny poprzez dostosowanie
|
|
pliku konfiguracyjnego z pożądanym plikiem z-parity lub 3-parity
|
|
i użycie <b>fix</b> do jego ponownego utworzenia.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-4" class="manual-title-level-2">
|
|
content FILE
|
|
</h2>
|
|
<p>Definiuje plik do użycia do przechowywania listy i sum kontrolnych wszystkich
|
|
plików obecnych w Twojej macierzy dysków.
|
|
</p><p>Może być umieszczony na dysku używanym do danych, parzystości lub
|
|
każdym innym dostępnym dysku.
|
|
Jeśli użyjesz dysku danych, ten plik jest automatycznie wykluczony
|
|
z procesu <b>sync</b>.
|
|
</p><p>Ta opcja jest obowiązkowa i może być używana wielokrotnie do zapisania
|
|
wielu kopii tego samego pliku.
|
|
</p><p>Musisz przechowywać co najmniej jedną kopię dla każdego używanego dysku parzystości
|
|
plus jeden. Używanie dodatkowych kopii nie szkodzi.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-5" class="manual-title-level-2">
|
|
data NAME DIR
|
|
</h2>
|
|
<p>Definiuje nazwę i punkt montowania dysków danych w
|
|
macierzy. NAME służy do identyfikacji dysku i musi
|
|
być unikalna. DIR to punkt montowania dysku w
|
|
systemie plików.
|
|
</p><p>Możesz zmieniać punkt montowania w razie potrzeby, o ile
|
|
zachowasz stałą nazwę NAME.
|
|
</p><p>Powinieneś użyć jednej opcji dla każdego dysku danych w macierzy.
|
|
</p><p>Możesz później zmienić nazwę dysku, zmieniając bezpośrednio nazwę NAME
|
|
w pliku konfiguracyjnym, a następnie uruchamiając polecenie <b>sync</b>.
|
|
W przypadku zmiany nazwy, skojarzenie odbywa się za pomocą zapisanego
|
|
UUID dysków.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-6" class="manual-title-level-2">
|
|
extra NAME DIR
|
|
</h2>
|
|
<p>Definiuje nazwę i punkt montowania dodatkowych dysków do
|
|
monitorowania za pomocą poleceń <b>smart</b> oraz <b>probe</b>.
|
|
</p><p>Jest to przydatne do monitorowania dysków, które nie są częścią
|
|
macierzy, ale są wymagane do funkcjonowania systemu, takich jak
|
|
dysk rozruchowy.
|
|
</p><p>Należy zauważyć, że polecenia <b>up</b> i <b>down</b> nie mają wpływu na takie
|
|
dyski, ponieważ oczekuje się, że będą one zawsze w ruchu.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-7" class="manual-title-level-2">
|
|
nohidden
|
|
</h2>
|
|
<p>Wyklucza wszystkie ukryte pliki i katalogi.
|
|
W systemie Unix ukryte pliki to te zaczynające się od <b>.</b>.
|
|
W systemie Windows są to te z atrybutem ukrycia.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-8" class="manual-title-level-2">
|
|
exclude/include PATTERN
|
|
</h2>
|
|
<p>Definiuje wzorce plików lub katalogów do wykluczenia lub włączenia
|
|
do procesu synchronizacji.
|
|
Wszystkie wzorce są przetwarzane w określonej kolejności.
|
|
</p><p>Jeśli pierwszy pasujący wzorzec jest <b>exclude</b>, plik
|
|
jest wykluczony. Jeśli jest to <b>include</b>, plik jest włączony.
|
|
Jeśli żaden wzorzec nie pasuje, plik jest wykluczony, jeśli ostatni określony
|
|
wzorzec to <b>include</b>, lub włączony, jeśli ostatni określony wzorzec to <b>exclude</b>.
|
|
</p><p>Zobacz sekcję PATTERN, aby uzyskać więcej szczegółów na temat specyfikacji
|
|
wzorców.
|
|
</p><p>Ta opcja może być używana wielokrotnie.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-9" class="manual-title-level-2">
|
|
blocksize SIZE_IN_KIBIBYTES
|
|
</h2>
|
|
<p>Definiuje podstawowy rozmiar bloku w kibibajtach dla parzystości.
|
|
Jeden kibibajt to 1024 bajty.
|
|
</p><p>Domyślny rozmiar bloku to 256, co powinno działać w większości przypadków.
|
|
</p><p>OSTRZEŻENIE! Ta opcja jest tylko dla ekspertów i jest wysoce
|
|
zalecane, aby nie zmieniać tej wartości. Aby zmienić tę wartość w przyszłości,
|
|
będziesz musiał ponownie utworzyć całą parzystość!
|
|
</p><p>Powodem użycia innego rozmiaru bloku jest posiadanie wielu małych
|
|
plików, rzędu milionów.
|
|
</p><p>Dla każdego pliku, nawet jeśli ma tylko kilka bajtów, alokowany jest cały blok parzystości,
|
|
a przy wielu plikach może to skutkować znaczną nieużywaną przestrzenią parzystości.
|
|
Kiedy całkowicie wypełnisz dysk parzystości, nie możesz
|
|
dodawać więcej plików do dysków danych.
|
|
Jednak marnowana parzystość nie gromadzi się na dyskach danych. Marnowane miejsce
|
|
wynikające z dużej liczby plików na dysku danych ogranicza tylko
|
|
ilość danych na tym dysku danych, a nie na innych.
|
|
</p><p>Jako przybliżenie, możesz założyć, że połowa rozmiaru bloku jest
|
|
marnowana dla każdego pliku. Na przykład, z 100 000 plików i rozmiarem bloku 256 KiB,
|
|
zmarnujesz 12,8 GB parzystości, co może skutkować
|
|
12,8 GB mniejszą dostępną przestrzenią na dysku danych.
|
|
</p><p>Możesz sprawdzić ilość zmarnowanego miejsca na każdym dysku za pomocą <b>status</b>.
|
|
Jest to ilość miejsca, którą musisz pozostawić wolną na dyskach danych
|
|
lub użyć dla plików nie włączonych do macierzy.
|
|
Jeśli ta wartość jest ujemna, oznacza to, że jesteś blisko wypełnienia
|
|
parzystości i reprezentuje to przestrzeń, którą nadal możesz zmarnować.
|
|
</p><p>Aby uniknąć tego problemu, możesz użyć większej partycji dla parzystości.
|
|
Na przykład, jeśli partycja parzystości jest o 12,8 GB większa niż dyski danych,
|
|
masz wystarczająco dużo dodatkowego miejsca, aby obsłużyć do 100 000
|
|
plików na każdym dysku danych bez marnowania miejsca.
|
|
</p><p>Sztuczką, aby uzyskać większą partycję parzystości w systemie Linux, jest sformatowanie jej
|
|
za pomocą polecenia:
|
|
</p><pre>
|
|
mkfs.ext4 -m 0 -T largefile4 DEVICE
|
|
</pre>
|
|
<p>Daje to około 1,5% dodatkowego miejsca, około 60 GB dla
|
|
dysku 4 TB, co pozwala na około 460 000 plików na każdym dysku danych bez
|
|
marnowania miejsca.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-10" class="manual-title-level-2">
|
|
hashsize SIZE_IN_BYTES
|
|
</h2>
|
|
<p>Definiuje rozmiar hasza w bajtach dla zapisanych bloków.
|
|
</p><p>Domyślny rozmiar hasza to 16 bajtów (128 bitów), co powinno działać
|
|
w większości przypadków.
|
|
</p><p>OSTRZEŻENIE! Ta opcja jest tylko dla ekspertów i jest wysoce
|
|
zalecane, aby nie zmieniać tej wartości. Aby zmienić tę wartość w przyszłości,
|
|
będziesz musiał ponownie utworzyć całą parzystość!
|
|
</p><p>Powodem użycia innego rozmiaru hasza jest to, że Twój system ma
|
|
ograniczoną pamięć. Z reguły, SnapRAID zwykle wymaga
|
|
1 GiB pamięci RAM na każde 16 TB danych w macierzy.
|
|
</p><p>Konkretnie, aby przechowywać hasze danych, SnapRAID wymaga
|
|
około TS*(1+HS)/BS bajtów pamięci RAM,
|
|
gdzie TS to całkowity rozmiar w bajtach Twojej macierzy dysków, BS to
|
|
rozmiar bloku w bajtach, a HS to rozmiar hasza w bajtach.
|
|
</p><p>Na przykład, z 8 dyskami po 4 TB, rozmiarem bloku 256 KiB
|
|
(1 KiB = 1024 bajty) i rozmiarem hasza 16, otrzymujesz:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1,93 GiB
|
|
</pre>
|
|
<p>Przełączając się na rozmiar hasza 8, otrzymujesz:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1,02 GiB
|
|
</pre>
|
|
<p>Przełączając się na rozmiar bloku 512, otrzymujesz:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0,96 GiB
|
|
</pre>
|
|
<p>Przełączając się zarówno na rozmiar hasza 8, jak i rozmiar bloku 512, otrzymujesz:
|
|
</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>Automatycznie zapisuje stan podczas synchronizacji lub sprawdzania po przetworzeniu
|
|
określonej ilości GB.
|
|
Ta opcja jest przydatna, aby uniknąć ponownego uruchamiania długich poleceń <b>sync</b>
|
|
od zera, jeśli zostaną przerwane przez awarię maszyny lub inne zdarzenie.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-12" class="manual-title-level-2">
|
|
temp_limit TEMPERATURE_CELSIUS
|
|
</h2>
|
|
<p>Ustawia maksymalną dozwoloną temperaturę dysku w stopniach Celsjusza. Po określeniu,
|
|
SnapRAID okresowo sprawdza temperaturę wszystkich dysków za pomocą
|
|
narzędzia smartctl. Aktualne temperatury dysków są wyświetlane podczas
|
|
działania SnapRAID. Jeśli którykolwiek dysk przekroczy ten limit, wszystkie operacje
|
|
zostają zatrzymane, a dyski są zatrzymywane (przechodzą w stan gotowości) na czas
|
|
zdefiniowany przez opcję <b>temp_sleep</b>. Po okresie uśpienia, operacje
|
|
są wznawiane, potencjalnie ponownie zatrzymując się, jeśli limit temperatury
|
|
zostanie ponownie osiągnięty.
|
|
</p><p>Podczas działania SnapRAID analizuje również krzywą nagrzewania każdego
|
|
dysku i szacuje długoterminową stałą temperaturę, którą mają
|
|
osiągnąć, jeśli aktywność będzie kontynuowana. Oszacowanie jest wykonywane tylko po
|
|
czterokrotnym wzroście temperatury dysku, co zapewnia, że
|
|
dostępnych jest wystarczająco dużo punktów danych do ustalenia wiarygodnego trendu.
|
|
Ta przewidywana stała temperatura jest pokazywana w nawiasach obok
|
|
aktualnej wartości i pomaga ocenić, czy chłodzenie systemu jest
|
|
odpowiednie. Ta szacowana temperatura ma charakter wyłącznie informacyjny
|
|
i nie ma wpływu na zachowanie SnapRAID. Działania programu
|
|
opierają się wyłącznie na faktycznie zmierzonych temperaturach dysków.
|
|
</p><p>Aby wykonać tę analizę, SnapRAID potrzebuje odniesienia dla temperatury systemu.
|
|
Najpierw próbuje odczytać ją z dostępnych czujników sprzętowych.
|
|
Jeśli nie można uzyskać dostępu do żadnego czujnika systemu, jako awaryjne odniesienie
|
|
wykorzystuje najniższą temperaturę dysku zmierzoną na początku uruchomienia.
|
|
</p><p>Normalnie SnapRAID pokazuje tylko temperaturę najgorętszego dysku.
|
|
Aby wyświetlić temperaturę wszystkich dysków, użyj opcji -A lub --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>Ustawia czas gotowości, w minutach, po osiągnięciu limitu temperatury.
|
|
W tym okresie dyski pozostają zatrzymane. Domyślnie jest to 5 minut.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-14" class="manual-title-level-2">
|
|
pool DIR
|
|
</h2>
|
|
<p>Definiuje katalog puli, w którym tworzony jest wirtualny widok macierzy
|
|
dysków za pomocą polecenia <b>pool</b>.
|
|
</p><p>Katalog musi już istnieć.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-15" class="manual-title-level-2">
|
|
share UNC_DIR
|
|
</h2>
|
|
<p>Definiuje ścieżkę UNC Windows wymaganą do zdalnego dostępu do dysków.
|
|
</p><p>Jeśli ta opcja jest określona, dowiązania symboliczne utworzone w katalogu puli
|
|
używają tej ścieżki UNC do dostępu do dysków.
|
|
Bez tej opcji generowane dowiązania symboliczne używają tylko ścieżek lokalnych,
|
|
co nie pozwala na udostępnianie katalogu puli w sieci.
|
|
</p><p>Dowiązania symboliczne są tworzone przy użyciu określonej ścieżki UNC,
|
|
dodając nazwę dysku określoną w opcji <b>data</b>, a na końcu dodając
|
|
katalog i nazwę pliku.
|
|
</p><p>Ta opcja jest wymagana tylko dla systemu Windows.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-16" class="manual-title-level-2">
|
|
smartctl DISK/PARITY OPTIONS...
|
|
</h2>
|
|
<p>Definiuje niestandardowe opcje smartctl do uzyskania atrybutów SMART dla
|
|
każdego dysku. Może to być wymagane dla kontrolerów RAID i niektórych dysków USB,
|
|
których nie można wykryć automatycznie. Symbol zastępczy %s jest zastępowany
|
|
nazwą urządzenia, ale jest opcjonalny dla stałych urządzeń, takich jak kontrolery RAID.
|
|
</p><p>DISK to ta sama nazwa dysku określona w opcji <b>data</b>.
|
|
PARITY to jedna z nazw parzystości: <b>parity</b>, <b>2-parity</b>, <b>3-parity</b>,
|
|
<b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> lub <b>z-parity</b>.
|
|
</p><p>W określonych OPCJACH ciąg <b>%s</b> jest zastępowany
|
|
nazwą urządzenia. W przypadku kontrolerów RAID, urządzenie jest
|
|
prawdopodobnie stałe i może nie być konieczne użycie <b>%s</b>.
|
|
</p><p>Zapoznaj się z dokumentacją smartmontools, aby uzyskać możliwe opcje:
|
|
</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>Na przykład:
|
|
</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>Ignoruje określony atrybut SMART podczas obliczania prawdopodobieństwa
|
|
awarii dysku. Ta opcja jest przydatna, jeśli dysk zgłasza nietypowe lub
|
|
wprowadzające w błąd wartości dla określonego atrybutu.
|
|
</p><p>DISK to ta sama nazwa dysku określona w opcji <b>data</b>.
|
|
PARITY to jedna z nazw parzystości: <b>parity</b>, <b>2-parity</b>, <b>3-parity</b>,
|
|
<b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> lub <b>z-parity</b>.
|
|
Specjalna wartość * może być użyta do zignorowania atrybutu na wszystkich dyskach.
|
|
</p><p>Na przykład, aby zignorować atrybut <b>Current Pending Sector Count</b> na
|
|
wszystkich dyskach:
|
|
</p><pre>
|
|
smartignore * 197
|
|
</pre>
|
|
<p>Aby zignorować go tylko na pierwszym dysku parzystości:
|
|
</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>Przykład typowej konfiguracji dla systemu 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>Przykład typowej konfiguracji dla systemu 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>Wzorce zapewniają elastyczny sposób filtrowania plików do uwzględnienia lub
|
|
wykluczenia. Używając znaków globbingowych, można zdefiniować reguły, które
|
|
pasują do określonych nazw plików lub całych struktur katalogów bez
|
|
ręcznego wymieniania każdej ścieżki.
|
|
</p><p>Znak zapytania <b>?</b> dopasowuje dowolny pojedynczy znak z wyjątkiem
|
|
separatora katalogów. Dzięki temu jest przydatny do dopasowywania nazw plików ze
|
|
zmiennymi znakami, przy jednoczesnym ograniczeniu wzorca do jednego poziomu katalogu.
|
|
</p><p>Pojedyncza gwiazdka <b>*</b> dopasowuje dowolną sekwencję znaków, ale podobnie jak
|
|
znak zapytania, nigdy nie przekracza granic katalogów. Zatrzymuje się na
|
|
ukośniku, co czyni ją odpowiednią do dopasowywania w obrębie jednego
|
|
składnika ścieżki. Jest to standardowe zachowanie symboli wieloznacznych znane
|
|
z globbingu powłoki (shell).
|
|
</p><p>Podwójna gwiazdka <b>**</b> jest potężniejsza, dopasowuje dowolną sekwencję
|
|
znaków, w tym separatory katalogów. Pozwala to wzorcom dopasowywać się
|
|
na wielu poziomach katalogów. Gdy <b>**</b> pojawia się bezpośrednio wewnątrz
|
|
wzorca, może dopasować zero lub więcej znaków, w tym ukośniki między
|
|
otaczającym tekstem dosłownym.
|
|
</p><p>Najważniejszym zastosowaniem <b>**</b> jest specjalna forma <b>/**/</b>. Dopasowuje ona
|
|
zero lub więcej pełnych poziomów katalogów, umożliwiając dopasowanie plików
|
|
na dowolnej głębokości w drzewie katalogów bez znajomości dokładnej struktury ścieżki.
|
|
Na przykład wzorzec <b>src/**/main.js</b> pasuje do <b>src/main.js</b> (pomijając
|
|
zero katalogów), <b>src/ui/main.js</b> (pomijając jeden katalog) oraz
|
|
<b>src/ui/components/main.js</b> (pomijając dwa katalogi).
|
|
</p><p>Klasy znaków używające nawiasów kwadratowych <b>[]</b> dopasowują pojedynczy znak z
|
|
określonego zestawu lub zakresu. Podobnie jak inne wzorce pojedynczych znaków,
|
|
nie pasują one do separatorów katalogów. Klasy obsługują zakresy i negację za pomocą
|
|
wykrzyknika.
|
|
</p><p>Podstawową różnicą, o której należy pamiętać, jest to, że <b>*</b>, <b>?</b> i klasy znaków
|
|
wszystkie respektują granice katalogów i dopasowują się tylko w obrębie jednego
|
|
składnika ścieżki, podczas gdy <b>**</b> jest jedynym wzorcem, który może dopasowywać się poprzez
|
|
separatory katalogów.
|
|
</p><p>Istnieją cztery różne typy wzorców:
|
|
</p><div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
FILE
|
|
</div><div class="manual-option-description">
|
|
Wybiera dowolny plik o nazwie FILE.
|
|
Ten wzorzec dotyczy tylko plików, a nie katalogów.
|
|
</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">
|
|
Wybiera dowolny katalog o nazwie DIR i wszystko, co się w nim znajduje.
|
|
Ten wzorzec dotyczy tylko katalogów, a nie plików.
|
|
</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">
|
|
Wybiera dokładnie określoną ścieżkę pliku. Ten wzorzec dotyczy
|
|
tylko plików, a nie katalogów.
|
|
</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">
|
|
Wybiera dokładnie określoną ścieżkę katalogu i wszystko, co się w nim
|
|
znajduje. Ten wzorzec dotyczy tylko katalogów, a nie plików.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>Gdy określisz ścieżkę bezwzględną zaczynającą się od /, jest ona stosowana w
|
|
katalogu głównym macierzy, a nie w katalogu głównym lokalnego systemu plików.
|
|
</p><p>W systemie Windows możesz użyć ukośnika odwrotnego \ zamiast ukośnika /.
|
|
Katalogi systemowe Windows, połączenia, punkty montowania i inne
|
|
specjalne katalogi Windows są traktowane jako pliki, co oznacza, że aby je
|
|
wykluczyć, musisz użyć reguły pliku, a nie katalogu.
|
|
</p><p>Jeśli nazwa pliku zawiera znak <b>*</b>, <b>?</b>, <b>[</b>,
|
|
lub <b>]</b>, musisz go uciec, aby uniknąć interpretacji jako
|
|
znaku globbing. W systemie Unix znakiem ucieczki jest <b>\</b>; w systemie Windows jest to <b>^</b>.
|
|
Gdy wzorzec znajduje się w wierszu poleceń, musisz podwoić znak ucieczki,
|
|
aby uniknąć interpretacji przez powłokę poleceń.
|
|
</p><p>W pliku konfiguracyjnym możesz użyć różnych strategii do filtrowania
|
|
plików do przetworzenia.
|
|
Najprostszym podejściem jest użycie tylko reguł <b>exclude</b>, aby usunąć wszystkie
|
|
pliki i katalogi, których nie chcesz przetwarzać. Na przykład:
|
|
</p><pre>
|
|
# Wyklucza dowolny plik o nazwie <b>*.unrecoverable</b>
|
|
exclude *.unrecoverable
|
|
# Wyklucza katalog główny <b>/lost+found</b>
|
|
exclude /lost+found/
|
|
# Wyklucza dowolny podkatalog o nazwie <b>tmp</b>
|
|
exclude tmp/
|
|
</pre>
|
|
<p>Odwrotnym podejściem jest zdefiniowanie tylko plików, które chcesz przetwarzać,
|
|
używając tylko reguł <b>include</b>. Na przykład:
|
|
</p><pre>
|
|
# Włącza tylko niektóre katalogi
|
|
include /movies/
|
|
include /musics/
|
|
include /pictures/
|
|
</pre>
|
|
<p>Ostatecznym podejściem jest mieszanie reguł <b>exclude</b> i <b>include</b>. W tym przypadku
|
|
kolejność reguł jest ważna. Wcześniejsze reguły mają
|
|
pierwszeństwo przed późniejszymi.
|
|
Aby uprościć, możesz najpierw wymienić wszystkie reguły <b>exclude</b>, a następnie
|
|
wszystkie reguły <b>include</b>. Na przykład:
|
|
</p><pre>
|
|
# Wyklucza dowolny plik o nazwie <b>*.unrecoverable</b>
|
|
exclude *.unrecoverable
|
|
# Wyklucza dowolny podkatalog o nazwie <b>tmp</b>
|
|
exclude tmp/
|
|
# Włącza tylko niektóre katalogi
|
|
include /movies/
|
|
include /musics/
|
|
include /pictures/
|
|
</pre>
|
|
<p>W wierszu poleceń, używając opcji -f, możesz użyć tylko wzorców <b>include</b>.
|
|
Na przykład:
|
|
</p><pre>
|
|
# Sprawdza tylko pliki .mp3.
|
|
# W systemie Unix użyj cudzysłowów, aby uniknąć rozszerzenia globbing przez powłokę.
|
|
snapraid -f "*.mp3" check
|
|
</pre>
|
|
<p>W systemie Unix, używając znaków globbing w wierszu poleceń, musisz
|
|
je cytować, aby zapobiec ich rozszerzeniu przez powłokę.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec9" class="manual-title-level-1">
|
|
Ignore File
|
|
</h1>
|
|
<p>Oprócz reguł globalnych w pliku konfiguracyjnym, możesz umieścić pliki
|
|
<b>.snapraidignore</b> w dowolnym katalogu w macierzy, aby zdefiniować
|
|
zdecentralizowane reguły wykluczania.
|
|
</p><p>Reguły zdefiniowane w <b>.snapraidignore</b> są stosowane po regułach w pliku
|
|
konfiguracyjnym. Oznacza to, że mają one wyższy priorytet i mogą być używane
|
|
do wykluczania plików, które zostały wcześniej uwzględnione przez konfigurację
|
|
globalną. Skutecznie, jeśli reguła lokalna pasuje, plik jest wykluczany bez
|
|
względu na globalne ustawienia uwzględniania.
|
|
</p><p>Logika wzorców w <b>.snapraidignore</b> odzwierciedla konfigurację globalną, ale
|
|
zakotwicza wzorce w katalogu, w którym znajduje się plik:
|
|
</p><div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
FILE
|
|
</div><div class="manual-option-description">
|
|
Wybiera dowolny plik o nazwie FILE w tym katalogu lub poniżej.
|
|
Podlega to tym samym zasadom dopasowywania (globbing) co wzorzec globalny.
|
|
</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">
|
|
Wybiera dowolny katalog o nazwie DIR i wszystko w jego wnętrzu,
|
|
znajdujący się w tym katalogu lub poniżej.
|
|
</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">
|
|
Wybiera dokładnie określony plik względem lokalizacji
|
|
pliku <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">
|
|
Wybiera dokładnie określony katalog i wszystko w jego wnętrzu,
|
|
względem lokalizacji pliku <b>.snapraidignore</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>W przeciwieństwie do konfiguracji globalnej, pliki <b>.snapraidignore</b> obsługują
|
|
tylko reguły wykluczania; nie można używać wzorców <b>include</b> ani negacji (!).
|
|
</p><p>Na przykład, jeśli masz <b>.snapraidignore</b> w <b>/mnt/disk1/projects/</b>:
|
|
</p><pre>
|
|
# Wyklucza TYLKO /mnt/disk1/projects/output.bin
|
|
/output.bin
|
|
# Wyklucza każdy katalog o nazwie <b>build</b> wewnątrz projects/
|
|
build/
|
|
# Wyklucza każdy plik .tmp wewnątrz projects/ lub jego podfolderach
|
|
*.tmp
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec10" class="manual-title-level-1">
|
|
Content
|
|
</h1>
|
|
<p>SnapRAID przechowuje listę i sumy kontrolne Twoich plików w pliku zawartości.
|
|
</p><p>Jest to plik binarny, który zawiera listę wszystkich plików obecnych w Twojej macierzy dysków,
|
|
wraz ze wszystkimi sumami kontrolnymi w celu weryfikacji ich integralności.
|
|
</p><p>Ten plik jest odczytywany i zapisywany przez polecenia <b>sync</b> i <b>scrub</b>
|
|
oraz odczytywany przez polecenia <b>fix</b>, <b>check</b> i <b>status</b>.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec11" class="manual-title-level-1">
|
|
Parity
|
|
</h1>
|
|
<p>SnapRAID przechowuje informacje o parzystości Twojej macierzy w plikach
|
|
parzystości.
|
|
</p><p>Są to pliki binarne zawierające obliczoną parzystość wszystkich
|
|
bloków zdefiniowanych w pliku <b>content</b>.
|
|
</p><p>Pliki te są odczytywane i zapisywane przez polecenia <b>sync</b> i <b>fix</b>
|
|
oraz tylko odczytywane przez polecenia <b>scrub</b> i <b>check</b>.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec12" class="manual-title-level-1">
|
|
Encoding
|
|
</h1>
|
|
<p>SnapRAID w systemie Unix ignoruje wszelkie kodowanie. Odczytuje i przechowuje
|
|
nazwy plików z tym samym kodowaniem używanym przez system plików.
|
|
</p><p>W systemie Windows wszystkie nazwy odczytane z systemu plików są konwertowane i
|
|
przetwarzane w formacie UTF-8.
|
|
</p><p>Aby nazwy plików były poprawnie drukowane, musisz ustawić konsolę Windows
|
|
na tryb UTF-8 za pomocą polecenia <b>chcp 65001</b> i użyć
|
|
czcionki TrueType, takiej jak <b>Lucida Console</b>, jako czcionki konsoli.
|
|
Dotyczy to tylko drukowanych nazw plików; jeśli
|
|
przekierujesz wyjście konsoli do pliku, wynikowy plik jest zawsze
|
|
w formacie 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">
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
|
|
|