mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 02:49:02 -04:00
2200 lines
77 KiB
Groff
2200 lines
77 KiB
Groff
.TH "Kopia zapasowa SnapRAID dla macierzy dyskowych" 1
|
|
.SH NAME
|
|
snapraid \- Kopia zapasowa SnapRAID dla macierzy dyskowych
|
|
.SH SKłADNIA (SYNOPSIS)
|
|
snapraid [\-c, \-\-conf CONFIG]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-f, \-\-filter PATTERN] [\-d, \-\-filter\-disk NAME]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-m, \-\-filter\-missing] [\-e, \-\-filter\-error]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-a, \-\-audit\-only] [\-h, \-\-pre\-hash] [\-i, \-\-import DIR]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-p, \-\-plan PERC|bad|new|full]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-o, \-\-older\-than DAYS] [\-l, \-\-log FILE]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-s, \-\-spin\-down\-on\-error] [\-w, \-\-bw\-limit RATE]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-t, \-\-tail]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-Z, \-\-force\-zero] [\-E, \-\-force\-empty]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-U, \-\-force\-uuid] [\-D, \-\-force\-device]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-N, \-\-force\-nocopy] [\-F, \-\-force\-full]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-R, \-\-force\-realloc] [\-W, \-\-force\-realloc\-tail]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-S, \-\-start BLKSTART] [\-B, \-\-count BLKCOUNT]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-L, \-\-error\-limit NUMBER]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-A, \-\-stats]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-v, \-\-verbose] [\-q, \-\-quiet]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
status|smart|probe|up|down|diff|sync|scrub|fix|check
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
|list|dup|pool|devices|touch|rehash|locate
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
snapraid [\-V, \-\-version] [\-H, \-\-help] [\-C, \-\-gen\-conf CONTENT]
|
|
.PD 0
|
|
.PD
|
|
.SH OPIS (DESCRIPTION)
|
|
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.
|
|
.PP
|
|
Przeznaczony głównie dla domowych centrów multimedialnych z dużymi,
|
|
rzadko zmieniającymi się plikami, SnapRAID oferuje kilka funkcji:
|
|
.PD 0
|
|
.IP \(bu
|
|
Możesz używać dysków już wypełnionych plikami bez
|
|
konieczności ich ponownego formatowania, uzyskując do nich dostęp jak zwykle.
|
|
.IP \(bu
|
|
Wszystkie Twoje dane są haszowane, aby zapewnić integralność danych i zapobiec
|
|
cichej korupcji.
|
|
.IP \(bu
|
|
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.
|
|
.IP \(bu
|
|
Jeśli przypadkowo usuniesz pliki na dysku, możliwe jest ich odzyskanie.
|
|
.IP \(bu
|
|
Dyski mogą mieć różne rozmiary.
|
|
.IP \(bu
|
|
Możesz dodawać dyski w dowolnym momencie.
|
|
.IP \(bu
|
|
SnapRAID nie blokuje Twoich danych; możesz przestać go używać
|
|
w dowolnym momencie bez ponownego formatowania ani przenoszenia danych.
|
|
.IP \(bu
|
|
Aby uzyskać dostęp do pliku, wystarczy, że zakręci się tylko jeden dysk,
|
|
co oszczędza energię i zmniejsza hałas.
|
|
.PD
|
|
.PP
|
|
Więcej informacji można znaleźć na oficjalnej stronie SnapRAID:
|
|
.PP
|
|
.RS 4
|
|
https://www.snapraid.it/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH OGRANICZENIA (LIMITATIONS)
|
|
SnapRAID jest hybrydą pomiędzy RAID a programem do tworzenia kopii zapasowych, mającą na celu połączenie
|
|
najlepszych zalet obu tych rozwiązań. Posiada jednak pewne ograniczenia, które należy
|
|
wziąć pod uwagę przed jego użyciem.
|
|
.PP
|
|
Głównym ograniczeniem jest to, że w przypadku awarii dysku można odzyskać dane tylko do
|
|
stanu z momentu ostatniej operacji \`sync\` (synchronizacji). Wszelkie dane dodane lub modyfikacje dokonane
|
|
od ostatniej synchronizacji, które znajdują się na uszkodzonym dysku, zostaną utracone.
|
|
.PP
|
|
W związku z tym SnapRAID nadaje się głównie do danych, które rzadko się zmieniają.
|
|
.PP
|
|
W przypadku danych, które już istniały podczas ostatniej synchronizacji, niezawodność odzyskiwania zależy
|
|
od tego, czy użyto opcji \`snapshot\` (migawki):
|
|
.PD 0
|
|
.IP \(bu
|
|
Z obsługą migawek (dostępną w systemach plików Btrfs, ZFS, Bcachefs i NTFS),
|
|
SnapRAID może automatycznie utrzymywać zamrożony stan dysków z danymi.
|
|
Zapewnia to, że nawet jeśli zmodyfikujesz lub usuniesz pliki w aktywnym systemie plików
|
|
w trakcie lub po synchronizacji, proces odzyskiwania pozostanie spójny i niezawodny.
|
|
.PD
|
|
.PD 0
|
|
.IP \(bu
|
|
Bez obsługi migawek, usunięcie lub zmiana plików po operacji \`sync\`
|
|
może uniemożliwić pełne odzyskanie danych z innych uszkodzonych dysków. Dzieje się tak,
|
|
ponieważ parzystość nie odpowiada już zmodyfikowanym plikom, nawet jeśli
|
|
pliki te nie znajdują się na uszkodzonym dysku. Z drugiej strony, nowo dodane
|
|
pliki nie uniemożliwiają odzyskania już istniejących plików.
|
|
.PD
|
|
.PP
|
|
Inne ograniczenia SnapRAID to:
|
|
.PD 0
|
|
.IP \(bu
|
|
W SnapRAID nadal masz oddzielne systemy plików dla każdego dysku.
|
|
W RAID otrzymujesz jeden duży system plików.
|
|
.IP \(bu
|
|
SnapRAID nie rozdziela danych.
|
|
W RAID uzyskujesz wzrost prędkości dzięki rozdzielaniu.
|
|
.IP \(bu
|
|
SnapRAID nie obsługuje odzyskiwania w czasie rzeczywistym.
|
|
W RAID nie musisz przerywać pracy, gdy dysk ulegnie awarii.
|
|
.IP \(bu
|
|
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.
|
|
.IP \(bu
|
|
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.
|
|
.PD
|
|
.SH PIERWSZE KROKI (GETTING STARTED)
|
|
Aby użyć SnapRAID, musisz najpierw wybrać jeden dysk w swojej macierzy
|
|
dysków, który zostanie przeznaczony na informacje o \`parzystości\`. Z jednym dyskiem
|
|
na parzystość będziesz w stanie odzyskać dane po awarii pojedynczego dysku,
|
|
podobnie jak w RAID5.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Dyski te będą przeznaczone do przechowywania plików \`parzystości\`.
|
|
Nie powinieneś na nich przechowywać swoich danych.
|
|
.PP
|
|
Następnie musisz zdefiniować dyski \`danych\`, 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.
|
|
.PP
|
|
Lista plików jest zapisywana w plikach \`zawartości\`, 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 \`zawartości\` 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.
|
|
.PP
|
|
Na przykład, załóżmy, że interesuje Cię tylko jeden poziom parzystości
|
|
i Twoje dyski znajdują się w:
|
|
.PP
|
|
.RS 4
|
|
/mnt/diskp <\- wybrany dysk dla parzystości
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk1 <\- pierwszy dysk do ochrony
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk2 <\- drugi dysk do ochrony
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk3 <\- trzeci dysk do ochrony
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Musisz utworzyć plik konfiguracyjny /etc/snapraid.conf z
|
|
następującymi opcjami:
|
|
.PP
|
|
.RS 4
|
|
parity /mnt/diskp/snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /var/snapraid/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/disk1/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/disk2/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 /mnt/disk2/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 /mnt/disk3/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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:
|
|
.PP
|
|
.RS 4
|
|
parity E:\\snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content C:\\snapraid\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content F:\\array\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content G:\\array\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 F:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 H:\\array\\
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Jeśli masz wiele dysków i zabrakło Ci liter dysków, możesz zamontować
|
|
dyski bezpośrednio w podfolderach. Zobacz:
|
|
.PP
|
|
.RS 4
|
|
https://www.google.com/search?q=Windows+mount+point
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
W tym momencie jesteś gotowy do uruchomienia polecenia \`sync\`, aby zbudować
|
|
informacje o parzystości.
|
|
.PP
|
|
.RS 4
|
|
snapraid sync
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Kiedy to polecenie się zakończy, Twoje dane są BEZPIECZNE.
|
|
.PP
|
|
Teraz możesz zacząć używać swojej macierzy, jak chcesz, i okresowo
|
|
aktualizować informacje o parzystości, uruchamiając polecenie \`sync\`.
|
|
.SS Scrubbing (Scrubbing)
|
|
Aby okresowo sprawdzać dane i parzystość pod kątem błędów, możesz
|
|
uruchomić polecenie \`scrub\`.
|
|
.PP
|
|
.RS 4
|
|
snapraid scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
To polecenie porównuje dane w Twojej macierzy z haszem obliczonym
|
|
podczas polecenia \`sync\`, aby zweryfikować integralność.
|
|
.PP
|
|
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:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-p 5 \-o 20 scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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 \`content\`
|
|
i wymienione w poleceniu \`status\`.
|
|
.PP
|
|
.RS 4
|
|
snapraid status
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Aby je naprawić, możesz użyć polecenia \`fix\`, filtrując złe bloki
|
|
za pomocą opcji \-e, \-\-filter\-error:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-e fix
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Przy następnym \`scrub\`, błędy znikną z raportu \`status\`,
|
|
jeśli zostały faktycznie naprawione. Aby przyspieszyć, możesz użyć \-p bad, aby
|
|
sprawdzić tylko bloki oznaczone jako złe.
|
|
.PP
|
|
.RS 4
|
|
snapraid \-p bad scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Uruchomienie \`scrub\` na niezsynchronizowanej macierzy może zgłosić błędy
|
|
spowodowane usuniętymi lub zmodyfikowanymi plikami. Błędy te są zgłaszane
|
|
w wyniku \`scrub\`, ale powiązane bloki nie są oznaczane jako złe.
|
|
.SS Pooling (Pooling)
|
|
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.
|
|
.PP
|
|
Aby wszystkie pliki w Twojej macierzy były widoczne w tym samym drzewie katalogów,
|
|
możesz włączyć funkcję \`pooling\`. Tworzy ona wirtualny, tylko do odczytu,
|
|
widok wszystkich plików w Twojej macierzy za pomocą dowiązań symbolicznych.
|
|
.PP
|
|
Katalog \`pooling\` możesz skonfigurować w pliku konfiguracyjnym za pomocą:
|
|
.PP
|
|
.RS 4
|
|
pool /pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
lub, jeśli używasz systemu Windows, za pomocą:
|
|
.PP
|
|
.RS 4
|
|
pool C:\\pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
a następnie uruchom polecenie \`pool\`, aby utworzyć lub zaktualizować wirtualny widok.
|
|
.PP
|
|
.RS 4
|
|
snapraid pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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:
|
|
.PP
|
|
.RS 4
|
|
# W sekcji globalnej smb.conf
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
unix extensions = no
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
.RS 4
|
|
# W sekcji udziału smb.conf
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[pool]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
comment = Pula
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
path = /pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
read only = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
guest ok = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
wide links = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
follow symlinks = yes
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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 \`share\` w pliku konfiguracyjnym ścieżkę UNC Windows,
|
|
której klienci zdalni muszą użyć, aby uzyskać dostęp do tych udostępnionych dysków.
|
|
.PP
|
|
Na przykład, działając z serwera o nazwie \`darkstar\`, możesz użyć
|
|
opcji:
|
|
.PP
|
|
.RS 4
|
|
data d1 F:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 H:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
pool C:\\pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
share \\\\darkstar
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
i udostępnić w sieci następujące katalogi:
|
|
.PP
|
|
.RS 4
|
|
\\\\darkstar\\pool \-> C:\\pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d1 \-> F:\\array
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d2 \-> G:\\array
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d3 \-> H:\\array
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
aby umożliwić zdalnym klientom dostęp do wszystkich plików pod adresem \\\\darkstar\\pool.
|
|
.PP
|
|
Możesz również potrzebować skonfigurować klientów zdalnych, aby umożliwić dostęp
|
|
do zdalnych dowiązań symbolicznych za pomocą polecenia:
|
|
.PP
|
|
.RS 4
|
|
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Cofanie usuwania (Undeleting)
|
|
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:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-f FILE
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
lub dla katalogu:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-f DIR/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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.
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-m \-f DIR/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Lub aby odzyskać wszystkie usunięte pliki na wszystkich dyskach za pomocą:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-m
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Odzyskiwanie (Recovering)
|
|
Najgorsze się wydarzyło i straciłeś jeden lub więcej dysków!
|
|
.PP
|
|
NIE PANIKUJ! Będziesz w stanie je odzyskać!
|
|
.PP
|
|
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.
|
|
.PP
|
|
Następnie postępuj zgodnie z poniższymi krokami.
|
|
.SS KROK 1 \-> Ponowna konfiguracja
|
|
Potrzebujesz trochę miejsca do odzyskania, najlepiej na dodatkowych
|
|
zapasowych dyskach, ale wystarczy zewnętrzny dysk USB lub dysk zdalny.
|
|
.PP
|
|
Zmodyfikuj plik konfiguracyjny SnapRAID, aby opcja \`data\` lub \`parity\`
|
|
uszkodzonego dysku wskazywała na lokalizację z wystarczającą ilością pustego
|
|
miejsca do odzyskania plików.
|
|
.PP
|
|
Na przykład, jeśli dysk \`d1\` uległ awarii, zmień z:
|
|
.PP
|
|
.RS 4
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
na:
|
|
.PP
|
|
.RS 4
|
|
data d1 /mnt/new_spare_disk/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Jeśli dysk do odzyskania jest dyskiem parzystości, zaktualizuj odpowiednią
|
|
opcję \`parity\`.
|
|
Jeśli masz wiele uszkodzonych dysków, zaktualizuj wszystkie ich opcje konfiguracyjne.
|
|
.SS KROK 2 \-> Naprawa
|
|
Uruchom polecenie fix, zapisując log w pliku zewnętrznym za pomocą:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-d NAME \-l fix.log fix
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Gdzie NAME to nazwa dysku, taka jak \`d1\` w naszym poprzednim przykładzie.
|
|
Jeśli dysk do odzyskania jest dyskiem parzystości, użyj nazw \`parity\`, \`2\-parity\`,
|
|
itp.
|
|
Jeśli masz wiele uszkodzonych dysków, użyj wielu opcji \-d, aby określić
|
|
wszystkie z nich.
|
|
.PP
|
|
To polecenie zajmie dużo czasu.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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 \`.unrecoverable\`.
|
|
.PP
|
|
Szczegółową listę wszystkich nie do odzyskania bloków znajdziesz w pliku fix.log,
|
|
sprawdzając wszystkie linie zaczynające się od \`unrecoverable:\`.
|
|
.PP
|
|
Jeśli nie jesteś zadowolony z odzyskiwania, możesz spróbować ponownie
|
|
tyle razy, ile chcesz.
|
|
.PP
|
|
Na przykład, jeśli usunąłeś pliki z macierzy po ostatniej
|
|
\`sync\`, może to spowodować, że niektóre pliki nie zostaną odzyskane.
|
|
W tym przypadku możesz ponowić próbę \`fix\` za pomocą opcji \-i, \-\-import,
|
|
określając, gdzie te pliki znajdują się teraz, aby włączyć je ponownie
|
|
do procesu odzyskiwania.
|
|
.PP
|
|
Jeśli jesteś zadowolony z odzyskiwania, możesz kontynuować,
|
|
ale pamiętaj, że po synchronizacji nie możesz już ponowić próby polecenia \`fix\`!
|
|
.SS KROK 3 \-> Sprawdzenie
|
|
Jako ostrożne sprawdzenie, możesz teraz uruchomić polecenie \`check\`, aby upewnić się, że
|
|
wszystko jest poprawne na odzyskanym dysku.
|
|
.PP
|
|
.RS 4
|
|
snapraid \-d NAME \-a check
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Gdzie NAME to nazwa dysku, taka jak \`d1\` w naszym poprzednim przykładzie.
|
|
.PP
|
|
Opcje \-d i \-a mówią SnapRAID, aby sprawdził tylko określony dysk
|
|
i zignorował wszystkie dane parzystości.
|
|
.PP
|
|
To polecenie zajmie dużo czasu, ale jeśli nie jesteś zbyt ostrożny,
|
|
możesz je pominąć.
|
|
.SS KROK 4 \-> Synchronizacja
|
|
Uruchom polecenie \`sync\`, aby ponownie zsynchronizować macierz z nowym dyskiem.
|
|
.PP
|
|
.RS 4
|
|
snapraid sync
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Jeśli wszystko zostanie odzyskane, to polecenie jest natychmiastowe.
|
|
.SH POLECENIA (COMMANDS)
|
|
SnapRAID udostępnia kilka prostych poleceń, które pozwalają na:
|
|
.PD 0
|
|
.IP \(bu
|
|
Wyświetlenie stanu macierzy \-> \`status\`
|
|
.IP \(bu
|
|
Kontrolę dysków \-> \`smart\`, \`probe\`, \`up\`, \`down\`
|
|
.IP \(bu
|
|
Utworzenie punktu kopii zapasowej/przywracania \-> \`sync\`
|
|
.IP \(bu
|
|
Okresowe sprawdzanie danych \-> \`scrub\`
|
|
.IP \(bu
|
|
Przywrócenie ostatniego punktu kopii zapasowej/przywracania \-> \`fix\`.
|
|
.PD
|
|
.PP
|
|
Polecenia muszą być wpisywane małymi literami.
|
|
.SS status
|
|
Wyświetla podsumowanie stanu macierzy dysków.
|
|
.PP
|
|
Zawiera informacje o fragmentacji parzystości, jak stare
|
|
są bloki bez sprawdzenia i wszystkie zarejestrowane ciche
|
|
błędy napotkane podczas scrubbingu.
|
|
.PP
|
|
Prezentowane informacje odnoszą się do ostatniego momentu, w którym
|
|
uruchomiłeś \`sync\`. Późniejsze modyfikacje nie są brane pod uwagę.
|
|
.PP
|
|
Jeśli wykryto złe bloki, ich numery bloków są wymienione.
|
|
Aby je naprawić, możesz użyć polecenia \`fix \-e\`.
|
|
.PP
|
|
Pokazuje również wykres reprezentujący ostatni raz, kiedy każdy blok
|
|
został sprawdzony lub zsynchronizowany. Sprawdzone bloki są pokazane
|
|
za pomocą \`*\`, bloki zsynchronizowane, ale jeszcze niesprawdzone, za pomocą \`o\`.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS smart
|
|
Wyświetla raport SMART wszystkich dysków w systemie.
|
|
.PP
|
|
Zawiera oszacowanie prawdopodobieństwa awarii w następnym
|
|
roku, co pozwala zaplanować wymianę konserwacyjną dysków, które wykazują
|
|
podejrzane atrybuty.
|
|
.PP
|
|
To oszacowanie prawdopodobieństwa uzyskuje się poprzez skorelowanie atrybutów SMART
|
|
dysków z danymi Backblaze dostępnymi pod adresem:
|
|
.PP
|
|
.RS 4
|
|
https://www.backblaze.com/hard\-drive\-test\-data.html
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Jeśli SMART zgłosi, że dysk ulega awarii, dla tego dysku
|
|
wyświetlane jest \`FAIL\` lub \`PREFAIL\`, a SnapRAID zwraca błąd.
|
|
W takim przypadku natychmiastowa wymiana dysku jest wysoce zalecana.
|
|
.PP
|
|
Inne możliwe ciągi statusu to:
|
|
.RS 4
|
|
.PD 0
|
|
.HP 4
|
|
.I logfail
|
|
W przeszłości niektóre atrybuty były niższe niż
|
|
próg.
|
|
.HP 4
|
|
.I logerr
|
|
Dziennik błędów urządzenia zawiera błędy.
|
|
.HP 4
|
|
.I selferr
|
|
Dziennik autotestu urządzenia zawiera błędy.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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.
|
|
.PP
|
|
To polecenie używa narzędzia \`smartctl\` i jest równoważne
|
|
uruchomieniu \`smartctl \-a\` na wszystkich urządzeniach.
|
|
.PP
|
|
Jeśli Twoje urządzenia nie zostaną poprawnie wykryte automatycznie, możesz określić
|
|
niestandardowe polecenie za pomocą opcji \`smartctl\` w pliku konfiguracyjnym.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS probe
|
|
Wyświetla stan ZASILANIA wszystkich dysków w systemie.
|
|
.PP
|
|
\`Standby\` oznacza, że dysk się nie kręci. \`Active\` oznacza,
|
|
że dysk się kręci.
|
|
.PP
|
|
To polecenie używa narzędzia \`smartctl\` i jest równoważne
|
|
uruchomieniu \`smartctl \-n standby \-i\` na wszystkich urządzeniach.
|
|
.PP
|
|
Jeśli Twoje urządzenia nie zostaną poprawnie wykryte automatycznie, możesz określić
|
|
niestandardowe polecenie za pomocą opcji \`smartctl\` w pliku konfiguracyjnym.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS up
|
|
Rozpędza wszystkie dyski macierzy.
|
|
.PP
|
|
Możesz rozpędzić tylko określone dyski za pomocą opcji \-d, \-\-filter\-disk.
|
|
.PP
|
|
Rozpędzanie wszystkich dysków w tym samym czasie wymaga dużo energii.
|
|
Upewnij się, że Twój zasilacz jest w stanie to wytrzymać.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS down
|
|
Zatrzymuje wszystkie dyski macierzy.
|
|
.PP
|
|
To polecenie używa narzędzia \`smartctl\` i jest równoważne
|
|
uruchomieniu \`smartctl \-s standby,now\` na wszystkich urządzeniach.
|
|
.PP
|
|
Możesz zatrzymać tylko określone dyski za pomocą opcji \-d, \-\-filter\-disk.
|
|
.PP
|
|
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 \`down\`, gdy wystąpi błąd.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS diff
|
|
Wyświetla listę wszystkich plików zmodyfikowanych od ostatniej \`sync\`, które
|
|
wymagają ponownego obliczenia danych parzystości.
|
|
.PP
|
|
To polecenie nie sprawdza danych pliku, a jedynie znacznik czasu pliku,
|
|
rozmiar i inode.
|
|
.PP
|
|
Po wyświetleniu listy wszystkich zmienionych plików, prezentowane jest
|
|
podsumowanie zmian, pogrupowane według:
|
|
.RS 4
|
|
.PD 0
|
|
.HP 4
|
|
.I equal
|
|
Pliki niezmienione od wcześniej.
|
|
.HP 4
|
|
.I added
|
|
Pliki dodane, których wcześniej nie było.
|
|
.HP 4
|
|
.I removed
|
|
Pliki usunięte.
|
|
.HP 4
|
|
.I updated
|
|
Pliki o innym rozmiarze lub znaczniku czasu, co oznacza, że
|
|
zostały zmodyfikowane.
|
|
.HP 4
|
|
.I moved
|
|
Pliki przeniesione do innego katalogu na tym samym dysku.
|
|
Są one identyfikowane przez tę samą nazwę, rozmiar, znacznik czasu
|
|
i inode, ale inny katalog.
|
|
.HP 4
|
|
.I copied
|
|
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.
|
|
.HP 4
|
|
.I relocated
|
|
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ł.
|
|
.HP 4
|
|
.I restored
|
|
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.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Jeśli wymagana jest \`sync\`, kod powrotu procesu wynosi 2, zamiast
|
|
domyślnego 0. Kod powrotu 1 jest używany dla ogólnego stanu błędu.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS sync
|
|
Aktualizuje informacje o parzystości. Wszystkie zmodyfikowane pliki
|
|
w macierzy dysków są odczytywane, a odpowiednie dane parzystości
|
|
są aktualizowane.
|
|
.PP
|
|
Możesz zatrzymać ten proces w dowolnym momencie, naciskając Ctrl+C,
|
|
bez utraty już wykonanej pracy.
|
|
Przy następnym uruchomieniu proces \`sync\` wznowi się w miejscu, w którym
|
|
został przerwany.
|
|
.PP
|
|
Jeśli podczas procesu zostaną znalezione ciche błędy lub błędy wejścia/wyjścia,
|
|
odpowiednie bloki zostaną oznaczone jako złe.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Pliki \`content\` i \`parity\` są modyfikowane w razie potrzeby.
|
|
Pliki w macierzy NIE są modyfikowane.
|
|
.SS scrub
|
|
Sprawdza macierz, szukając cichych błędów lub błędów wejścia/wyjścia w danych
|
|
i dyskach parzystości.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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 \`\-p new\`.
|
|
.PP
|
|
Aby uzyskać szczegóły statusu sprawdzania, użyj polecenia \`status\`.
|
|
.PP
|
|
Dla każdego znalezionego cichego błędu lub błędu wejścia/wyjścia, odpowiednie bloki
|
|
są oznaczane jako złe w pliku \`content\`.
|
|
Te złe bloki są wymienione w \`status\` i mogą zostać naprawione za pomocą \`fix \-e\`.
|
|
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 \`scrub \-p bad\`.
|
|
.PP
|
|
Zaleca się uruchamianie \`scrub\` 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.
|
|
.PP
|
|
Plik \`content\` jest modyfikowany w celu zaktualizowania czasu ostatniego sprawdzenia
|
|
dla każdego bloku i oznaczenia złych bloków.
|
|
Pliki \`parity\` NIE są modyfikowane.
|
|
Pliki w macierzy NIE są modyfikowane.
|
|
.SS fix
|
|
Naprawia wszystkie pliki oraz dane parzystości.
|
|
.PP
|
|
Wszystkie pliki i dane parzystości są porównywane ze stanem zapisanym podczas
|
|
ostatniej operacji \`sync\`. W przypadku znalezienia różnicy, następuje przywrócenie stanu zapisanego.
|
|
.PP
|
|
UWAGA!
|
|
Polecenie \`fix\` nie odróżnia błędów od celowych modyfikacji.
|
|
Bezwzględnie przywraca stan plików do momentu ostatniej operacji \`sync\`.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Aby naprawić tylko bloki oznaczone jako złe podczas \`sync\` i \`scrub\`,
|
|
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 \`sync\`.
|
|
.PP
|
|
SnapRAID zmienia nazwy wszystkich plików, których nie można naprawić, dodając
|
|
rozszerzenie \`.unrecoverable\`.
|
|
.PP
|
|
Przed naprawą, cała macierz jest skanowana w celu znalezienia wszelkich plików przeniesionych
|
|
od ostatniej operacji \`sync\`.
|
|
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.
|
|
.PP
|
|
Pliki są identyfikowane tylko po ścieżce, a nie po inode.
|
|
.PP
|
|
Plik \`content\` NIE jest modyfikowany.
|
|
Pliki \`parity\` są modyfikowane w razie potrzeby.
|
|
Pliki w macierzy są modyfikowane w razie potrzeby.
|
|
.SS check
|
|
Weryfikuje wszystkie pliki i dane parzystości.
|
|
.PP
|
|
Działa jak \`fix\`, ale tylko symuluje odzyskiwanie i żadne zmiany
|
|
nie są zapisywane w macierzy.
|
|
.PP
|
|
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 \`scrub\`.
|
|
.PP
|
|
Jeśli użyjesz opcji \-a, \-\-audit\-only, sprawdzane są tylko
|
|
dane pliku, a dane parzystości są ignorowane, co zapewnia
|
|
szybsze działanie.
|
|
.PP
|
|
Pliki są identyfikowane tylko po ścieżce, a nie po inode.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS list
|
|
Wyświetla listę wszystkich plików zawartych w macierzy w momencie
|
|
ostatniej \`sync\`.
|
|
.PP
|
|
Z \-v lub \-\-verbose, wyświetlany jest również czas z dokładnością do podsekundy.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS dup
|
|
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.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS pool
|
|
Tworzy lub aktualizuje wirtualny widok wszystkich
|
|
plików w Twojej macierzy dysków w katalogu \`pooling\`.
|
|
.PP
|
|
Pliki nie są kopiowane, ale linkowane za pomocą
|
|
dowiązań symbolicznych.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Nic nie jest modyfikowane poza katalogiem puli.
|
|
.SS devices
|
|
Wyświetla urządzenia niskiego poziomu używane przez macierz.
|
|
.PP
|
|
To polecenie wyświetla skojarzenia urządzeń w macierzy
|
|
i jest przeznaczone głównie jako interfejs skryptowy.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Nic nie jest modyfikowane.
|
|
.SS touch
|
|
Ustawia arbitralny znacznik czasu z dokładnością do podsekundy dla wszystkich plików,
|
|
które mają go ustawiony na zero.
|
|
.PP
|
|
Poprawia to zdolność SnapRAID do rozpoznawania przeniesionych
|
|
i skopiowanych plików, ponieważ sprawia, że znacznik czasu jest prawie unikalny,
|
|
redukując możliwe duplikaty.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Znacznik czasu z dokładnością do sekundy nie jest modyfikowany,
|
|
więc wszystkie daty i czasy Twoich plików zostaną zachowane.
|
|
.SS rehash
|
|
Planuje ponowne haszowanie całej macierzy.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Jeśli używasz już optymalnego hasza, to polecenie
|
|
nic nie robi i informuje Cię, że nie jest potrzebne żadne działanie.
|
|
.PP
|
|
Ponowne haszowanie nie jest wykonywane natychmiast, ale odbywa się
|
|
stopniowo podczas \`sync\` i \`scrub\`.
|
|
.PP
|
|
Możesz sprawdzić stan ponownego haszowania za pomocą \`status\`.
|
|
.PP
|
|
Podczas ponownego haszowania SnapRAID zachowuje pełną funkcjonalność,
|
|
z jedynym wyjątkiem, że \`dup\` nie może wykryć zduplikowanych
|
|
plików używających innego hasza.
|
|
.SS locate
|
|
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.
|
|
.PP
|
|
Możesz użyć opcji \-t, \-\-tail, aby ograniczyć operację do plików zajmujących
|
|
określoną końcową część parzystości.
|
|
.PP
|
|
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.
|
|
.SH OPCJE (OPTIONS)
|
|
SnapRAID udostępnia następujące opcje:
|
|
.TP
|
|
.B \-c, \-\-conf CONFIG
|
|
Wybiera plik konfiguracyjny do użycia. Jeśli nie określono, w systemie Unix
|
|
używa pliku \`/usr/local/etc/snapraid.conf\`, jeśli istnieje,
|
|
w przeciwnym razie \`/etc/snapraid.conf\`.
|
|
W systemie Windows używa pliku \`snapraid.conf\` w tym samym
|
|
katalogu co \`snapraid.exe\`.
|
|
.TP
|
|
.B \-f, \-\-filter PATTERN
|
|
Filtruje pliki do przetworzenia w \`check\` i \`fix\`.
|
|
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 \`check\` i \`fix\`.
|
|
Nie może być używana z \`sync\` i \`scrub\`, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
.TP
|
|
.B \-d, \-\-filter\-disk NAME
|
|
Filtruje dyski do przetworzenia w \`check\`, \`fix\`, \`up\` i \`down\`.
|
|
Musisz określić nazwę dysku zdefiniowaną w pliku konfiguracyjnym.
|
|
Możesz również określić dyski parzystości za pomocą nazw: \`parity\`, \`2\-parity\`,
|
|
\`3\-parity\`, 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 \`check\`, \`fix\`, \`up\` i \`down\`.
|
|
Nie może być używana z \`sync\` i \`scrub\`, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
.TP
|
|
.B \-m, \-\-filter\-missing
|
|
Filtruje pliki do przetworzenia w \`check\` i \`fix\`.
|
|
Przetwarzane są tylko pliki brakujące lub usunięte z macierzy.
|
|
Użyte z \`fix\`, działa to jako polecenie \`undelete\`.
|
|
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 \`check\` i \`fix\`.
|
|
Nie może być używana z \`sync\` i \`scrub\`, ponieważ zawsze
|
|
przetwarzają całą macierz.
|
|
.TP
|
|
.B \-e, \-\-filter\-error
|
|
Przetwarza pliki z błędami w \`check\` i \`fix\`.
|
|
Przetwarza tylko pliki, które mają bloki oznaczone cichymi
|
|
błędami lub błędami wejścia/wyjścia podczas \`sync\` i \`scrub\`, jak wymieniono w \`status\`.
|
|
Ta opcja może być używana tylko z \`check\` i \`fix\`.
|
|
.TP
|
|
.B \-p, \-\-plan PERC|bad|new|full
|
|
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:
|
|
\`bad\` sprawdza złe bloki, \`new\` sprawdza bloki jeszcze niesprawdzone,
|
|
a \`full\` sprawdza wszystko.
|
|
Ta opcja może być używana tylko z \`scrub\`.
|
|
.TP
|
|
.B \-o, \-\-older\-than DAYS
|
|
Wybiera najstarszą część macierzy do przetworzenia w \`scrub\`.
|
|
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 \`scrub\`.
|
|
.TP
|
|
.B \-a, \-\-audit\-only
|
|
W \`check\`, 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 \`check\`.
|
|
.TP
|
|
.B \-h, \-\-pre\-hash
|
|
W \`sync\`, uruchamia wstępną fazę haszowania wszystkich nowych danych
|
|
w celu dodatkowej weryfikacji przed obliczeniem parzystości.
|
|
Zazwyczaj w \`sync\` 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 \`pre\-hash\`, 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 \`sync\`.
|
|
.TP
|
|
.B \-i, \-\-import DIR
|
|
Importuje z określonego katalogu wszelkie pliki usunięte
|
|
z macierzy po ostatniej \`sync\`.
|
|
Jeśli nadal masz takie pliki, mogą być użyte przez \`check\`
|
|
i \`fix\`, 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 \`check\` i \`fix\`.
|
|
.TP
|
|
.B \-s, \-\-spin\-down\-on\-error
|
|
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.
|
|
.TP
|
|
.B \-w, \-\-bw\-limit RATE
|
|
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).
|
|
.TP
|
|
.B \-t, \-\-tail ROZMIAR
|
|
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
|
|
\`locate\`.
|
|
.TP
|
|
.B \-A, \-\-stats
|
|
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.
|
|
.TP
|
|
.B \-Z, \-\-force\-zero
|
|
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 \`sync\`.
|
|
.TP
|
|
.B \-E, \-\-force\-empty
|
|
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 \`sync\`.
|
|
.TP
|
|
.B \-U, \-\-force\-uuid
|
|
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 \`sync\`, \`check\` lub
|
|
\`fix\`.
|
|
.TP
|
|
.B \-D, \-\-force\-device
|
|
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 \`fix\`.
|
|
.TP
|
|
.B \-N, \-\-force\-nocopy
|
|
W \`sync\`, \`check\` i \`fix\`, 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 \`sync\`, \`check\` i \`fix\`.
|
|
.TP
|
|
.B \-F, \-\-force\-full
|
|
W \`sync\`, 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 \`sync\` za pomocą
|
|
istniejących danych parzystości.
|
|
Ta opcja może być używana tylko z \`sync\`.
|
|
.TP
|
|
.B \-R, \-\-force\-realloc
|
|
W \`sync\`, 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 \`sync\`.
|
|
OSTRZEŻENIE! Ta opcja jest tylko dla ekspertów i jest wysoce
|
|
zalecane, aby jej nie używać.
|
|
NIE MASZ ochrony danych podczas operacji \`sync\`.
|
|
.TP
|
|
.B \-W, \-\-force\-realloc\-tail ROZMIAR
|
|
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 \`sync\` pliki, których to dotyczy, NIE mają ochrony
|
|
danych.
|
|
.TP
|
|
.B \-l, \-\-log FILE
|
|
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 \`>>\`, plik jest otwierany
|
|
w trybie dołączania. Wystąpienia \`%D\` i \`%T\` w nazwie są
|
|
zastępowane datą i czasem w formacie RRRRMMDD i
|
|
GGMMSS. W plikach wsadowych Windows musisz podwoić
|
|
znak \`%\`, np. result\-%%D.log. Aby użyć \`>>\`, musisz
|
|
ujęć nazwę w cudzysłów, np. \`\[dq]>>result.log\[dq]\`.
|
|
Aby wyprowadzić log do standardowego wyjścia lub standardowego błędu,
|
|
możesz użyć odpowiednio \`\[dq]>&1\[dq]\` i \`\[dq]>&2\[dq]\`.
|
|
Opisy tagów logu znajdziesz w pliku snapraid_log.txt lub na stronie podręcznika.
|
|
.TP
|
|
.B \-L, \-\-error\-limit NUMBER
|
|
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 \`sync\` i \`scrub\`, które mogą
|
|
kontynuować po pierwszym zestawie błędów dysku, aby spróbować
|
|
ukończyć swoje operacje.
|
|
Jednak \`check\` i \`fix\` zawsze zatrzymują się przy pierwszym błędzie.
|
|
.TP
|
|
.B \-S, \-\-start BLKSTART
|
|
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.
|
|
.TP
|
|
.B \-B, \-\-count BLKCOUNT
|
|
Przetwarza tylko określoną liczbę bloków.
|
|
Ta opcja jest przeznaczona głównie do zaawansowanego ręcznego odzyskiwania.
|
|
.TP
|
|
.B \-C, \-\-gen\-conf CONTENT
|
|
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.
|
|
.TP
|
|
.B \-v, \-\-verbose
|
|
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.
|
|
.TP
|
|
.B \-q, \-\-quiet
|
|
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.
|
|
.TP
|
|
.B \-H, \-\-help
|
|
Wyświetla krótki ekran pomocy.
|
|
.TP
|
|
.B \-V, \-\-version
|
|
Wyświetla wersję programu.
|
|
.SH KONFIGURACJA (CONFIGURATION)
|
|
SnapRAID wymaga pliku konfiguracyjnego, aby wiedzieć, gdzie znajduje się Twoja macierz
|
|
dysków i gdzie przechowywać informacje o parzystości.
|
|
.PP
|
|
W systemie Unix używa pliku \`/usr/local/etc/snapraid.conf\`, jeśli istnieje,
|
|
w przeciwnym razie \`/etc/snapraid.conf\`.
|
|
W systemie Windows używa pliku \`snapraid.conf\` w tym samym
|
|
katalogu co \`snapraid.exe\`.
|
|
.PP
|
|
Musi zawierać następujące opcje (uwzględniające wielkość liter):
|
|
.SS parity FILE [,FILE] ...
|
|
Definiuje pliki do użycia do przechowywania informacji o parzystości.
|
|
Parzystość umożliwia ochronę przed awarią pojedynczego dysku,
|
|
podobnie jak w RAID5.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Możesz dodać dodatkowe pliki parzystości później, ale nie możesz
|
|
ich zmieniać kolejności ani usuwać.
|
|
.PP
|
|
Trzymanie dysków parzystości zarezerwowanych dla parzystości zapewnia, że
|
|
nie ulegną fragmentacji, co poprawia wydajność.
|
|
.PP
|
|
W systemie Windows 256 MB jest pozostawione niewykorzystane na każdym dysku, aby uniknąć
|
|
ostrzeżenia o pełnych dyskach.
|
|
.PP
|
|
Ta opcja jest obowiązkowa i może być używana tylko raz.
|
|
.SS (2,3,4,5,6)\-parity FILE [,FILE] ...
|
|
Definiuje pliki do użycia do przechowywania dodatkowych informacji o parzystości.
|
|
.PP
|
|
Dla każdego określonego poziomu parzystości włączany jest jeden dodatkowy
|
|
poziom ochrony:
|
|
.PD 0
|
|
.IP \(bu
|
|
2\-parity włącza podwójną parzystość RAID6.
|
|
.IP \(bu
|
|
3\-parity włącza potrójną parzystość.
|
|
.IP \(bu
|
|
4\-parity włącza poczwórną (cztery) parzystość.
|
|
.IP \(bu
|
|
5\-parity włącza pięciokrotną (pięć) parzystość.
|
|
.IP \(bu
|
|
6\-parity włącza sześciokrotną (sześć) parzystość.
|
|
.PD
|
|
.PP
|
|
Każdy poziom parzystości wymaga obecności wszystkich poprzednich poziomów parzystości.
|
|
.PP
|
|
Obowiązują te same uwagi, co dla opcji \`parity\`.
|
|
.PP
|
|
Te opcje są opcjonalne i mogą być używane tylko raz.
|
|
.SS z\-parity FILE [,FILE] ...
|
|
Definiuje alternatywny plik i format do przechowywania potrójnej parzystości.
|
|
.PP
|
|
Ta opcja jest alternatywą dla \`3\-parity\`, 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ść.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Podczas używania \`3\-parity\` zostaniesz ostrzeżony, jeśli zaleca się użycie
|
|
formatu \`z\-parity\` w celu poprawy wydajności.
|
|
.PP
|
|
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 \`fix\` do jego ponownego utworzenia.
|
|
.SS content FILE
|
|
Definiuje plik do użycia do przechowywania listy i sum kontrolnych wszystkich
|
|
plików obecnych w Twojej macierzy dysków.
|
|
.PP
|
|
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 \`sync\`.
|
|
.PP
|
|
Ta opcja jest obowiązkowa i może być używana wielokrotnie do zapisania
|
|
wielu kopii tego samego pliku.
|
|
.PP
|
|
Musisz przechowywać co najmniej jedną kopię dla każdego używanego dysku parzystości
|
|
plus jeden. Używanie dodatkowych kopii nie szkodzi.
|
|
.SS data NAME DIR
|
|
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.
|
|
.PP
|
|
Możesz zmieniać punkt montowania w razie potrzeby, o ile
|
|
zachowasz stałą nazwę NAME.
|
|
.PP
|
|
Powinieneś użyć jednej opcji dla każdego dysku danych w macierzy.
|
|
.PP
|
|
Możesz później zmienić nazwę dysku, zmieniając bezpośrednio nazwę NAME
|
|
w pliku konfiguracyjnym, a następnie uruchamiając polecenie \`sync\`.
|
|
W przypadku zmiany nazwy, skojarzenie odbywa się za pomocą zapisanego
|
|
UUID dysków.
|
|
.SS extra NAME DIR
|
|
Definiuje nazwę i punkt montowania dodatkowych dysków do
|
|
monitorowania za pomocą poleceń \`smart\` oraz \`probe\`.
|
|
.PP
|
|
Jest to przydatne do monitorowania dysków, które nie są częścią
|
|
macierzy, ale są wymagane do funkcjonowania systemu, takich jak
|
|
dysk rozruchowy.
|
|
.PP
|
|
Należy zauważyć, że polecenia \`up\` i \`down\` nie mają wpływu na takie
|
|
dyski, ponieważ oczekuje się, że będą one zawsze w ruchu.
|
|
.SS snapshot
|
|
Włącza używanie migawek systemu plików dla poleceń \`sync\`, \`scrub\`,
|
|
\`check\` oraz \`fix\`.
|
|
.PP
|
|
Po włączeniu, SnapRAID tworzy migawkę danych w trybie tylko do odczytu na
|
|
początku operacji \'sync\'. Zapewnia to spójny obraz plików z danego momentu,
|
|
zapobiegając błędom wywołanym przez jednoczesne modyfikacje plików.
|
|
.PP
|
|
To znacznie usprawnia odzyskiwanie danych: jeśli plik zostanie usunięty z aktywnego systemu
|
|
plików, pozostaje zachowany w migawce. Zapobiega to sytuacji, w której parzystość staje się \[dq]uszkodzona\[dq]
|
|
dla tego bloku, zapewniając możliwość pomyślnego odzyskania danych,
|
|
jeśli ulegnie awarii inny dysk.
|
|
.PP
|
|
Opcja ta dotyczy wyłącznie dysków z danymi sformatowanych w systemach plików
|
|
Btrfs, Bcachefs lub ZFS w systemie Linux oraz NTFS w systemie Windows.
|
|
Dyski parzystości lub dyski z danymi korzystające z innych systemów plików będą zawsze używać
|
|
aktywnej wersji systemu plików.
|
|
.PP
|
|
Tworzenie i usuwanie migawek wymaga uprawnień administratora.
|
|
Upewnij się, że SnapRAID jest uruchamiany z wymaganymi uprawnieniami (np. sudo), gdy
|
|
opcja ta jest włączona.
|
|
.PP
|
|
Szczegółowe wyjaśnienie cyklu życia migawek znajduje się w sekcji SNAPSHOTS.
|
|
.SS nohidden
|
|
Wyklucza wszystkie ukryte pliki i katalogi.
|
|
W systemie Unix ukryte pliki to te zaczynające się od \`.\`.
|
|
W systemie Windows są to te z atrybutem ukrycia.
|
|
.SS exclude/include PATTERN
|
|
Definiuje wzorce plików lub katalogów do wykluczenia lub włączenia
|
|
do procesu synchronizacji.
|
|
Wszystkie wzorce są przetwarzane w określonej kolejności.
|
|
.PP
|
|
Jeśli pierwszy pasujący wzorzec jest \`exclude\`, plik
|
|
jest wykluczony. Jeśli jest to \`include\`, plik jest włączony.
|
|
Jeśli żaden wzorzec nie pasuje, plik jest wykluczony, jeśli ostatni określony
|
|
wzorzec to \`include\`, lub włączony, jeśli ostatni określony wzorzec to \`exclude\`.
|
|
.PP
|
|
Zobacz sekcję PATTERN, aby uzyskać więcej szczegółów na temat specyfikacji
|
|
wzorców.
|
|
.PP
|
|
Ta opcja może być używana wielokrotnie.
|
|
.SS blocksize SIZE_IN_KIBIBYTES
|
|
Definiuje podstawowy rozmiar bloku w kibibajtach dla parzystości.
|
|
Jeden kibibajt to 1024 bajty.
|
|
.PP
|
|
Domyślny rozmiar bloku to 256, co powinno działać w większości przypadków.
|
|
.PP
|
|
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ść!
|
|
.PP
|
|
Powodem użycia innego rozmiaru bloku jest posiadanie wielu małych
|
|
plików, rzędu milionów.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Możesz sprawdzić ilość zmarnowanego miejsca na każdym dysku za pomocą \`status\`.
|
|
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ć.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Sztuczką, aby uzyskać większą partycję parzystości w systemie Linux, jest sformatowanie jej
|
|
za pomocą polecenia:
|
|
.PP
|
|
.RS 4
|
|
mkfs.ext4 \-m 0 \-T largefile4 DEVICE
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
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.
|
|
.SS hashsize SIZE_IN_BYTES
|
|
Definiuje rozmiar hasza w bajtach dla zapisanych bloków.
|
|
.PP
|
|
Domyślny rozmiar hasza to 16 bajtów (128 bitów), co powinno działać
|
|
w większości przypadków.
|
|
.PP
|
|
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ść!
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Na przykład, z 8 dyskami po 4 TB, rozmiarem bloku 256 KiB
|
|
(1 KiB = 1024 bajty) i rozmiarem hasza 16, otrzymujesz:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1,93 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Przełączając się na rozmiar hasza 8, otrzymujesz:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1,02 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Przełączając się na rozmiar bloku 512, otrzymujesz:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0,96 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Przełączając się zarówno na rozmiar hasza 8, jak i rozmiar bloku 512, otrzymujesz:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0,51 GiB
|
|
.PD 0
|
|
.PD
|
|
.SS autosave SIZE_IN_GIGABYTES
|
|
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ń \`sync\`
|
|
od zera, jeśli zostaną przerwane przez awarię maszyny lub inne zdarzenie.
|
|
.SS temp_limit TEMPERATURE_CELSIUS
|
|
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ę \`temp_sleep\`. Po okresie uśpienia, operacje
|
|
są wznawiane, potencjalnie ponownie zatrzymując się, jeśli limit temperatury
|
|
zostanie ponownie osiągnięty.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Normalnie SnapRAID pokazuje tylko temperaturę najgorętszego dysku.
|
|
Aby wyświetlić temperaturę wszystkich dysków, użyj opcji \-A lub \-\-stats.
|
|
.SS temp_sleep TIME_IN_MINUTES
|
|
Ustawia czas gotowości, w minutach, po osiągnięciu limitu temperatury.
|
|
W tym okresie dyski pozostają zatrzymane. Domyślnie jest to 5 minut.
|
|
.SS pool DIR
|
|
Definiuje katalog puli, w którym tworzony jest wirtualny widok macierzy
|
|
dysków za pomocą polecenia \`pool\`.
|
|
.PP
|
|
Katalog musi już istnieć.
|
|
.SS share UNC_DIR
|
|
Definiuje ścieżkę UNC Windows wymaganą do zdalnego dostępu do dysków.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Dowiązania symboliczne są tworzone przy użyciu określonej ścieżki UNC,
|
|
dodając nazwę dysku określoną w opcji \`data\`, a na końcu dodając
|
|
katalog i nazwę pliku.
|
|
.PP
|
|
Ta opcja jest wymagana tylko dla systemu Windows.
|
|
.SS smartctl DISK/PARITY OPTIONS...
|
|
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.
|
|
.PP
|
|
DISK to ta sama nazwa dysku określona w opcji \`data\`.
|
|
PARITY to jedna z nazw parzystości: \`parity\`, \`2\-parity\`, \`3\-parity\`,
|
|
\`4\-parity\`, \`5\-parity\`, \`6\-parity\` lub \`z\-parity\`.
|
|
.PP
|
|
W określonych OPCJACH ciąg \`%s\` 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 \`%s\`.
|
|
.PP
|
|
Możesz również określić niestandardowy ciąg opcji informacyjnych za pomocą
|
|
znacznika \`[info: ...]\`, aby zastąpić domyślną opcję \`\-a\`.
|
|
.PP
|
|
Zapoznaj się z dokumentacją smartmontools, aby uzyskać możliwe opcje:
|
|
.PP
|
|
.RS 4
|
|
https://www.smartmontools.org/wiki/Supported_RAID\-Controllers
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
https://www.smartmontools.org/wiki/Supported_USB\-Devices
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Na przykład:
|
|
.PP
|
|
.RS 4
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d sat %s
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS smartignore DISK/PARITY ATTR [ATTR...]
|
|
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.
|
|
.PP
|
|
DISK to ta sama nazwa dysku określona w opcji \`data\`.
|
|
PARITY to jedna z nazw parzystości: \`parity\`, \`2\-parity\`, \`3\-parity\`,
|
|
\`4\-parity\`, \`5\-parity\`, \`6\-parity\` lub \`z\-parity\`.
|
|
Specjalna wartość * może być użyta do zignorowania atrybutu na wszystkich dyskach.
|
|
.PP
|
|
Na przykład, aby zignorować atrybut \`Current Pending Sector Count\` na
|
|
wszystkich dyskach:
|
|
.PP
|
|
.RS 4
|
|
smartignore * 197
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Aby zignorować go tylko na pierwszym dysku parzystości:
|
|
.PP
|
|
.RS 4
|
|
smartignore parity 197
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Examples
|
|
Przykład typowej konfiguracji dla systemu Unix:
|
|
.PP
|
|
.RS 4
|
|
parity /mnt/diskp/snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/diskp/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /var/snapraid/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 /mnt/disk2/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 /mnt/disk3/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /lost+found/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /tmp/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d2 \-d usbjmicron %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d areca,1/1 /dev/sg0
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl 2\-parity \-d areca,2/1 /dev/sg0
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Przykład typowej konfiguracji dla systemu Windows:
|
|
.PP
|
|
.RS 4
|
|
parity E:\\snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content E:\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content C:\\snapraid\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 H:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 I:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude Thumbs.db
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude \\$RECYCLE.BIN
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude \\System Volume Information
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d2 \-d usbjmicron %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d areca,1/1 /dev/arcmsr0
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl 2\-parity \-d areca,2/1 /dev/arcmsr0
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH MIGAWKI (SNAPSHOTS)
|
|
Jeśli opcja snapshot jest włączona w konfiguracji, SnapRAID
|
|
wykorzystuje funkcjonalność migawek systemu plików w celu zapewnienia operacji atomowych
|
|
i spójnych.
|
|
.PP
|
|
Zarządzanie migawkami jest całkowicie automatyczne i przejrzyste.
|
|
Możesz nadal używać SnapRAID dokładnie tak jak dotychczas, z dodatkową
|
|
ochroną zapewnianą przez migawki, która jest realizowana w całości w
|
|
tle.
|
|
.PP
|
|
Zapewnia to dwie główne korzyści:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I Spójność
|
|
Pliki zmodyfikowane w aktywnym systemie plików podczas długotrwałej
|
|
operacji sync lub scrub nie spowodują niezgodności parzystości ani przerwania
|
|
operacji, ponieważ SnapRAID widzi zamrożony obraz z danego momentu.
|
|
.HP 4
|
|
.I Odzyskiwanie
|
|
Jeśli plik zostanie zaktualizowany lub usunięty z aktywnego systemu plików,
|
|
pozostaje zachowany w migawce. Jeśli awaria dysku nastąpi
|
|
przed uruchomieniem kolejnej operacji sync, SnapRAID użyje danych zachowanych
|
|
w migawce do odbudowania uszkodzonego dysku.
|
|
.PD
|
|
.PP
|
|
.RS 4
|
|
.PD 0
|
|
W przypadku awarii dysku podczas aktywnego procesu sync,
|
|
SnapRAID jest również w stanie automatycznie czytać zarówno z migawki
|
|
poprzedniego obliczenia parzystości, jak i z bieżącej.
|
|
Maksymalizuje to prawdopodobieństwo pełnego odzyskania danych poprzez
|
|
zapewnienie dostępu do dokładnych bloków danych wymaganych do rozwiązania
|
|
równań parzystości, nawet jeśli bloki te zostały zmodyfikowane
|
|
lub usunięte pomiędzy operacjami sync.
|
|
.PD
|
|
.PP
|
|
.PD 0
|
|
Bez migawek, zaktualizowany lub usunięty plik na sprawnym dysku
|
|
skutkuje brakiem bloków danych, które mogą być wymagane do
|
|
naprawy innych uszkodzonych dysków.
|
|
.PD
|
|
.RE
|
|
.RE
|
|
.PP
|
|
Migawki są tworzone tylko dla dysków z danymi i tylko wtedy, gdy bazowy
|
|
system plików obsługuje tę funkcjonalność. Dyski parzystości zawsze używają
|
|
aktywnego systemu plików.
|
|
Obecnie jest to obsługiwane w systemach Btrfs, Bcachefs i ZFS w systemie Linux
|
|
oraz NTFS w systemie Windows.
|
|
.PP
|
|
Można mieszać dyski z danymi o różnych systemach plików. Tylko te, które
|
|
obsługują migawki, będą z nich korzystać, podczas gdy inne dyski będą nadal
|
|
działać bezpośrednio na aktywnym systemie plików.
|
|
.PP
|
|
Tworzenie i usuwanie migawek wymaga uprawnień administratora.
|
|
Upewnij się, że SnapRAID jest uruchamiany z wymaganymi uprawnieniami (np. sudo),
|
|
gdy migawki są włączone.
|
|
.SS Zachowanie poleceń przy użyciu migawek
|
|
Polecenia \`sync\` oraz \`scrub\` działają wyłącznie na migawkach,
|
|
aby zapewnić, że wszystkie operacje na danych są wykonywane na spójnym,
|
|
zamrożonym stanie. Poprzez wykorzystanie tych migawek, SnapRAID zapobiega niezgodnościom
|
|
parzystości, które w przeciwnym razie zostałyby wywołane przez jednoczesne modyfikacje plików w aktywnym systemie plików.
|
|
Podczas operacji \`sync\` polecenie używa nowej migawki utworzonej na
|
|
początku procesu, aby uchwycić bieżący stan do obliczenia parzystości.
|
|
W przeciwieństwie do tego, polecenie \`scrub\` wykorzystuje ostatnią migawkę, tę
|
|
utworzoną podczas najnowszej synchronizacji, aby utrzymać wiarygodny punkt odniesienia
|
|
odpowiadający istniejącej parzystości.
|
|
.PP
|
|
W przypadku poleceń \`check\` oraz \`fix\`, użycie ostatniej migawki
|
|
zależy od tego, czy konkretne dyski są wskazywane za pomocą opcji
|
|
\-d, \-\-filter\-disk.
|
|
.PP
|
|
Dysk jawnie wybrany za pomocą opcji \-d (\[dq]cel\[dq] operacji)
|
|
zawsze używa aktywnego systemu plików. Dla \`fix\` pozwala to na przywrócenie
|
|
danych na aktywny dysk zamienny. Dla \`check\` pozwala to na symulację
|
|
operacji \`fix\` w tych samych warunkach.
|
|
.PP
|
|
Wszystkie inne dyski z danymi (dyski \[dq]referencyjne\[dq]) będą dostępne za pośrednictwem
|
|
swoich migawek. Zapewnia to, że nawet jeśli modyfikujesz pliki
|
|
na sprawnych dyskach podczas trwania odzyskiwania danych, SnapRAID
|
|
posiada stabilny, zamrożony punkt odniesienia do rozwiązania równań parzystości.
|
|
.PP
|
|
Jeśli nie podano opcji \-d, SnapRAID zakłada, że operacja dotyczy
|
|
całej macierzy. W takim przypadku \`check\` oraz \`fix\` będą używać wyłącznie
|
|
aktywnych systemów plików.
|
|
.PP
|
|
Wszystkie inne polecenia działają wyłącznie na aktywnym systemie plików.
|
|
.SH CYKL żYCIA MIGAWEK (SNAPSHOTS LIFECYCLE)
|
|
SnapRAID zarządza dwoma określonymi migawkami, \`stable\` (stabilną) oraz \`pending\` (oczekującą),
|
|
w ukrytym katalogu w katalogu głównym każdego podwolumenu danych.
|
|
W systemach Btrfs, Bcachefs i NTFS używany jest katalog \`.snapraid/\`,
|
|
w systemie ZFS standardowy \`.zfs/snapshot/\`.
|
|
.PP
|
|
Migawka \`stable\` reprezentuje stan ostatniej
|
|
pomyślnie zakończonej operacji \`sync\`, zawierając dokładne dane użyte do
|
|
obliczenia bieżącej parzystości. Służy ona jako główne źródło danych
|
|
dla poleceń \`scrub\`, \`check\` i \`fix\`.
|
|
.PP
|
|
Migawka \`pending\` to tymczasowy obraz tworzony na początku
|
|
operacji \`sync\` w celu zapewnienia zamrożonego stanu do obliczenia parzystości.
|
|
Po pomyślnym zakończeniu operacji poprzednia migawka \`stable\`
|
|
jest usuwana, a migawka \`pending\` zostaje podniesiona do rangi
|
|
nowej stabilnej referencji.
|
|
.PP
|
|
Jeśli operacja \`sync\` zostanie przerwana, migawka \`pending\` zostaje zachowana.
|
|
Kolejne polecenia \`scrub\`, \`check\` i \`fix\` będą używać tej oczekującej migawki,
|
|
ponieważ odpowiada ona stanowi systemu plików zapisanemu w pliku .content,
|
|
nawet jeśli parzystość jest zsynchronizowana tylko częściowo.
|
|
.PP
|
|
W przypadku przerwania operacji \`sync\`, polecenia \`check\` i \`fix\`
|
|
odczytują dane również z migawki \`stable\`, aby pobrać bloki danych
|
|
z plików, które zostały zaktualizowane lub usunięte podczas synchronizacji.
|
|
Jest to możliwe, ponieważ plik .content zachowuje metadane dla
|
|
wszystkich zmodyfikowanych lub usuniętych plików przez cały proces sync.
|
|
Te informacje historyczne są czyszczone dopiero po pomyślnym zakończeniu operacji sync
|
|
i zapisaniu ostatecznej wersji pliku .content.
|
|
.PP
|
|
Jeśli operacja \`sync\` zostanie zrestartowana po przerwaniu, istniejąca
|
|
oczekująca (pending) migawka jest usuwana, a tworzona jest nowa, aby
|
|
uchwycić bieżący stan aktywnego systemu plików.
|
|
.SH WZORCE (PATTERN)
|
|
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.
|
|
.PP
|
|
Znak zapytania \`?\` 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.
|
|
.PP
|
|
Pojedyncza gwiazdka \`*\` 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).
|
|
.PP
|
|
Podwójna gwiazdka \`**\` jest potężniejsza, dopasowuje dowolną sekwencję
|
|
znaków, w tym separatory katalogów. Pozwala to wzorcom dopasowywać się
|
|
na wielu poziomach katalogów. Gdy \`**\` 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.
|
|
.PP
|
|
Najważniejszym zastosowaniem \`**\` jest specjalna forma \`/**/\`. 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 \`src/**/main.js\` pasuje do \`src/main.js\` (pomijając
|
|
zero katalogów), \`src/ui/main.js\` (pomijając jeden katalog) oraz
|
|
\`src/ui/components/main.js\` (pomijając dwa katalogi).
|
|
.PP
|
|
Klasy znaków używające nawiasów kwadratowych \`[]\` 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.
|
|
.PP
|
|
Podstawową różnicą, o której należy pamiętać, jest to, że \`*\`, \`?\` i klasy znaków
|
|
wszystkie respektują granice katalogów i dopasowują się tylko w obrębie jednego
|
|
składnika ścieżki, podczas gdy \`**\` jest jedynym wzorcem, który może dopasowywać się poprzez
|
|
separatory katalogów.
|
|
.PP
|
|
Istnieją cztery różne typy wzorców:
|
|
.TP
|
|
.B FILE
|
|
Wybiera dowolny plik o nazwie FILE.
|
|
Ten wzorzec dotyczy tylko plików, a nie katalogów.
|
|
.TP
|
|
.B DIR/
|
|
Wybiera dowolny katalog o nazwie DIR i wszystko, co się w nim znajduje.
|
|
Ten wzorzec dotyczy tylko katalogów, a nie plików.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Wybiera dokładnie określoną ścieżkę pliku. Ten wzorzec dotyczy
|
|
tylko plików, a nie katalogów.
|
|
.TP
|
|
.B /PATH/DIR/
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Jeśli nazwa pliku zawiera znak \`*\`, \`?\`, \`[\`,
|
|
lub \`]\`, musisz go uciec, aby uniknąć interpretacji jako
|
|
znaku globbing. W systemie Unix znakiem ucieczki jest \`\\\`; w systemie Windows jest to \`^\`.
|
|
Gdy wzorzec znajduje się w wierszu poleceń, musisz podwoić znak ucieczki,
|
|
aby uniknąć interpretacji przez powłokę poleceń.
|
|
.PP
|
|
W pliku konfiguracyjnym możesz użyć różnych strategii do filtrowania
|
|
plików do przetworzenia.
|
|
Najprostszym podejściem jest użycie tylko reguł \`exclude\`, aby usunąć wszystkie
|
|
pliki i katalogi, których nie chcesz przetwarzać. Na przykład:
|
|
.PP
|
|
.RS 4
|
|
# Wyklucza dowolny plik o nazwie \`*.unrecoverable\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude *.unrecoverable
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Wyklucza katalog główny \`/lost+found\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /lost+found/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Wyklucza dowolny podkatalog o nazwie \`tmp\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude tmp/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Odwrotnym podejściem jest zdefiniowanie tylko plików, które chcesz przetwarzać,
|
|
używając tylko reguł \`include\`. Na przykład:
|
|
.PP
|
|
.RS 4
|
|
# Włącza tylko niektóre katalogi
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /movies/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /musics/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /pictures/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Ostatecznym podejściem jest mieszanie reguł \`exclude\` i \`include\`. 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 \`exclude\`, a następnie
|
|
wszystkie reguły \`include\`. Na przykład:
|
|
.PP
|
|
.RS 4
|
|
# Wyklucza dowolny plik o nazwie \`*.unrecoverable\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude *.unrecoverable
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Wyklucza dowolny podkatalog o nazwie \`tmp\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude tmp/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Włącza tylko niektóre katalogi
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /movies/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /musics/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /pictures/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
W wierszu poleceń, używając opcji \-f, możesz użyć tylko wzorców \`include\`.
|
|
Na przykład:
|
|
.PP
|
|
.RS 4
|
|
# Sprawdza tylko pliki .mp3.
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# W systemie Unix użyj cudzysłowów, aby uniknąć rozszerzenia globbing przez powłokę.
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
snapraid \-f \[dq]*.mp3\[dq] check
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
W systemie Unix, używając znaków globbing w wierszu poleceń, musisz
|
|
je cytować, aby zapobiec ich rozszerzeniu przez powłokę.
|
|
.SH PLIK IGNOROWANIA (IGNORE FILE)
|
|
Oprócz reguł globalnych w pliku konfiguracyjnym, możesz umieścić pliki
|
|
\`.snapraidignore\` w dowolnym katalogu w macierzy, aby zdefiniować
|
|
zdecentralizowane reguły wykluczania.
|
|
.PP
|
|
Reguły zdefiniowane w \`.snapraidignore\` 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.
|
|
.PP
|
|
Logika wzorców w \`.snapraidignore\` odzwierciedla konfigurację globalną, ale
|
|
zakotwicza wzorce w katalogu, w którym znajduje się plik:
|
|
.TP
|
|
.B FILE
|
|
Wybiera dowolny plik o nazwie FILE w tym katalogu lub poniżej.
|
|
Podlega to tym samym zasadom dopasowywania (globbing) co wzorzec globalny.
|
|
.TP
|
|
.B DIR/
|
|
Wybiera dowolny katalog o nazwie DIR i wszystko w jego wnętrzu,
|
|
znajdujący się w tym katalogu lub poniżej.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Wybiera dokładnie określony plik względem lokalizacji
|
|
pliku \`.snapraidignore\`.
|
|
.TP
|
|
.B /PATH/DIR/
|
|
Wybiera dokładnie określony katalog i wszystko w jego wnętrzu,
|
|
względem lokalizacji pliku \`.snapraidignore\`.
|
|
.PP
|
|
W przeciwieństwie do konfiguracji globalnej, pliki \`.snapraidignore\` obsługują
|
|
tylko reguły wykluczania; nie można używać wzorców \`include\` ani negacji (!).
|
|
.PP
|
|
Na przykład, jeśli masz \`.snapraidignore\` w \`/mnt/disk1/projects/\`:
|
|
.PP
|
|
.RS 4
|
|
# Wyklucza TYLKO /mnt/disk1/projects/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Wyklucza każdy katalog o nazwie \`build\` wewnątrz projects/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
build/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Wyklucza każdy plik .tmp wewnątrz projects/ lub jego podfolderach
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
*.tmp
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH ZAWARTOść (CONTENT)
|
|
SnapRAID przechowuje listę i sumy kontrolne Twoich plików w pliku zawartości.
|
|
.PP
|
|
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.
|
|
.PP
|
|
Plik zawartości jest odczytywany i zapisywany przez polecenia \`sync\`,
|
|
\`scrub\`, \`touch\` i \`rehash\`. Jest odczytywany przez polecenia \`status\`,
|
|
\`diff\`, \`check\`, \`fix\`, \`list\`, \`dup\`, \`locate\` i \`pool\`, oraz jest
|
|
całkowicie ignorowany przez polecenia \`smart\`, \`probe\`, \`up\`, \`down\`
|
|
i \`devices\`.
|
|
.SH PARZYSTOść (PARITY)
|
|
SnapRAID przechowuje informacje o parzystości Twojej macierzy w plikach
|
|
parzystości.
|
|
.PP
|
|
Są to pliki binarne zawierające obliczoną parzystość wszystkich
|
|
bloków zdefiniowanych w pliku \`content\`.
|
|
.PP
|
|
Pliki te są odczytywane i zapisywane przez polecenia \`sync\` i \`fix\`
|
|
oraz tylko odczytywane przez polecenia \`scrub\` i \`check\`.
|
|
.SH KODOWANIE (ENCODING)
|
|
SnapRAID w systemie Unix ignoruje wszelkie kodowanie. Odczytuje i przechowuje
|
|
nazwy plików z tym samym kodowaniem używanym przez system plików.
|
|
.PP
|
|
W systemie Windows wszystkie nazwy odczytane z systemu plików są konwertowane i
|
|
przetwarzane w formacie UTF\-8.
|
|
.PP
|
|
Aby nazwy plików były poprawnie drukowane, musisz ustawić konsolę Windows
|
|
na tryb UTF\-8 za pomocą polecenia \`chcp 65001\` i użyć
|
|
czcionki TrueType, takiej jak \`Lucida Console\`, 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.
|
|
.SH PRAWA AUTORSKIE (COPYRIGHT)
|
|
Ten plik jest chroniony prawem autorskim (C) 2025 Andrea Mazzoleni
|
|
.SH ZOBACZ RóWNIEż (SEE ALSO)
|
|
snapraid_log(1), snapraidd(1)
|