mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-25 18:40:19 -04:00
2450 lines
90 KiB
Groff
2450 lines
90 KiB
Groff
.TH "Program do tworzenia kopii zapasowych SnapRAID dla macierzy dyskowych" 1
|
|
.SH NAME
|
|
snapraid \- Program do tworzenia kopii zapasowych 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ć niezależny, zamrożony punkt
|
|
odniesienia dla każdego obsługiwanego systemu plikó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ściciel (własność) 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 Łączenie w pulę (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. Mergerfs 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 bloków nie do odzyskania 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
|
|
Kontrola 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 lub o zmienionej nazwie na tym samym dysku
|
|
z zachowaniem tego samego i\-węzła (inode). Są identyfikowane przez
|
|
ten sam inode, rozmiar i znacznik czasu, ale inną ścieżkę. Nazwa
|
|
pliku może być również inna.
|
|
.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 do innego katalogu lub na inny dysk,
|
|
gdzie oryginalny plik zniknął, a inode nie został zachowany.
|
|
Są 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\', pliki relokowane wymagają,
|
|
aby nazwa pliku pozostała taka sama.
|
|
.HP 4
|
|
.I restored
|
|
Pliki o innym inode, 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 niebę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 SIZE
|
|
Ogranicza listę plików do tych, które nie wykraczają poza określoną
|
|
sekcję końcową (ogon) plikó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 SIZE
|
|
Działa jak \-R, \-\-force\-realloc, ale ogranicza się do określonej części
|
|
końcowej (ostatnie SIZE 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
|
|
i jest obsługiwana tylko przez \`check\` i \`fix\`.
|
|
.TP
|
|
.B \-B, \-\-count BLKCOUNT
|
|
Przetwarza tylko określoną liczbę bloków.
|
|
Ta opcja jest przeznaczona głównie do zaawansowanego ręcznego odzyskiwania
|
|
i jest obsługiwana tylko przez \`check\` i \`fix\`.
|
|
.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
|
|
Jednak skonfigurowana ścieżka musi spójnie wskazywać na te same
|
|
dane bazowe. Jeśli ścieżka zawiera dowiązania symboliczne,
|
|
ich cele muszą pozostać stabilne. Zmiana takich dowiązań w celu
|
|
przełączenia katalogu danych w locie jest nieobsługiwana.
|
|
.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ę w trybie tylko do odczytu dla każdego
|
|
obsługiwanego systemu plików z danymi na początku operacji \'sync\'. Zapewnia to
|
|
stabilny obraz każdego systemu plików, zapobiegając sytuacji, w której późniejsze
|
|
modyfikacje zmieniłyby dane użyte do obliczenia parzystości.
|
|
.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
|
|
Należy pamiętać, że filtrowanie odbywa się hierarchicznie podczas
|
|
przechodzenia katalogów. Jeśli katalog pasuje do reguły \`exclude\`, cały
|
|
katalog jest pomijany (odrzucany), a wszelkie reguły \`include\` dla plików
|
|
lub podkatalogów w nim zawartych nie będą oceniane.
|
|
.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 niewłą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ą wyłączane (przechodzą w stan czuwania / uśpienia) 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 zarejestrowaniu wzrostu 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 wstrzymania (czuwania), 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
|
|
Można określić wiele atrybutów oddzielonych spacjami.
|
|
Każdy atrybut można określić jako liczbę od 1 do 255 lub jako nazwę
|
|
niewrażliwą na wielkość liter (np. \`Current_Pending_Sector\`).
|
|
.PP
|
|
Na przykład, aby zignorować atrybuty \`Current Pending Sector Count\` i
|
|
\`Reallocated Sectors Count\` na wszystkich dyskach za pomocą ich numeru lub nazwy:
|
|
.PP
|
|
.RS 4
|
|
smartignore * 197 5
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartignore * Current_Pending_Sector Reallocated_Sector_Ct
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Aby zignorować je tylko na pierwszym dysku parzystości:
|
|
.PP
|
|
.RS 4
|
|
smartignore parity 197 5
|
|
.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
|
|
używa migawek systemu plików, aby utrzymać stabilność danych odczytywanych
|
|
podczas operacji, nawet jeśli pliki w aktywnych systemach plików zostaną
|
|
później zmodyfikowane lub usunięte.
|
|
.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ż każdy objęty migawką system plików pozostaje niezmieniony
|
|
przez cały czas trwania operacji.
|
|
.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.
|
|
.PP
|
|
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\` używają migawek dla dysków z danymi, których
|
|
systemy plików je obsługują. Na dysku objętym migawką polecenie widzi stabilny
|
|
obraz systemu plików, na który nie mają wpływu równoczesne zmiany w aktywnym
|
|
systemie plików.
|
|
Podczas operacji \`sync\` nowa migawka jest tworzona niezależnie dla każdego
|
|
obsługiwanego systemu plików z danymi. Migawki te łącznie dostarczają dane
|
|
używane 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 trzema określonymi migawkami, \`stable\` (stabilną), \`pending\` (oczekującą) oraz \`scan\` (skanowania),
|
|
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 \`scan\` to tymczasowy obraz tworzony na początku
|
|
operacji \`sync\` w celu zapewnienia zamrożonego stanu do skanowania i obliczenia parzystości.
|
|
Po zeskanowaniu i zapisaniu nowego stanu zawartości zastępuje ona poprzednią
|
|
migawkę \`pending\`.
|
|
.PP
|
|
Migawka \`pending\` to obraz używany przez przerwaną operację \`sync\`.
|
|
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.
|
|
Jeśli jednak operacja \`sync\` zostanie przerwana, należy unikać modyfikowania,
|
|
usuwania, zastępowania lub przenoszenia plików do momentu pomyślnego ukończenia
|
|
kolejnej operacji \`sync\`. Parzystość może nadal zawierać bloki obliczone na podstawie
|
|
migawki użytej przez przerwaną synchronizację. Późniejsza synchronizacja może zastąpić
|
|
tę migawkę, uniemożliwiając odzyskanie pośrednich wersji 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
|
|
Symbol wieloznaczny podwójnej gwiazdki \`**\` dopasowuje się poprzez separatory
|
|
katalogów tylko wtedy, gdy sąsiaduje z separatorem katalogów (jest poprzedzony
|
|
lub zakończony ukośnikiem). W tej formie dopasowuje zero lub więcej znaków
|
|
na wielu poziomach katalogów. Na przykład \`foo/**/bar\` dopasowuje \`foo/bar\`,
|
|
\`foo/a/bar\` oraz \`foo/a/b/bar\`; \`**/build\` dopasowuje \`build\` oraz
|
|
\`foo/bar/build\`; a \`src/**.js\` dopasowuje \`src/main.js\` oraz
|
|
\`src/ui/components/main.js\`.
|
|
Samodzielna forma \`/**/\` nie jest akceptowana jako kompletny wzorzec.
|
|
.PP
|
|
Gdy \`**\` nie sąsiaduje z ukośnikiem, zachowuje się jak \`*\` i nie dopasowuje
|
|
separatorów katalogów. Na przykład \`**.jpg\` dopasowuje \`photo.jpg\` w bieżącym
|
|
katalogu, ale nie pasuje do \`dir/photo.jpg\`. W tym celu należy użyć \`**/*.jpg\`.
|
|
.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 \`**\` może dopasowywać się poprzez separatory
|
|
katalogów tylko wtedy, gdy sąsiaduje z ukośnikiem.
|
|
.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 zamaskować (poprzedzić znakiem ucieczki), 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
|
|
Należy pamiętać, że wykluczenie katalogu (za pomocą DIR/ lub /PATH/DIR/)
|
|
uniemożliwia programowi SnapRAID wejście i skanowanie tego katalogu.
|
|
W konsekwencji nie jest możliwe ponowne włączenie pliku lub podkatalogu
|
|
znajdującego się w wykluczonym katalogu nadrzędnym, ponieważ skaner nigdy
|
|
do niego nie przechodzi.
|
|
.PP
|
|
Na przykład poniższa konfiguracja NIE uwzględni pliku \`file.dat\`,
|
|
ponieważ katalog \`/keep/\` zostanie odrzucony, zanim \`file.dat\` będzie
|
|
mógł zostać sprawdzony:
|
|
.PP
|
|
.RS 4
|
|
# NIE działa zgodnie z oczekiwaniami: /keep/ jest całkowicie pomijany
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /keep/file.dat
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /keep/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Aby wykluczyć pliki wewnątrz katalogu, zachowując wybrane, należy dopasować
|
|
wzorzec plików wewnątrz katalogu, zamiast wykluczać sam katalog:
|
|
.PP
|
|
.RS 4
|
|
# Działa: /keep/ jest przeszukiwany, ale pozostałe pliki są wykluczane
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /keep/file.dat
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /keep/*
|
|
.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 KOD WYJśCIA (EXIT CODE)
|
|
SnapRAID kończy działanie z następującymi kodami błędów:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I 0
|
|
Wszystko w porządku.
|
|
.HP 4
|
|
.I 1
|
|
Polecenie napotkało błędy.
|
|
.HP 4
|
|
.I 2
|
|
Polecenie \`diff\` wykazało, że wszystko jest w porządku, ale wymagane jest \`sync\`.
|
|
.PD
|
|
.RE
|
|
.SH ZNANE PROBLEMY (KNOWN ISSUES)
|
|
.SS Granice systemu plików
|
|
SnapRAID nie przekracza granic systemów plików, punktów montowania ani
|
|
podwolumenów podczas skanowania dysku z danymi. Po wykryciu takiej granicy
|
|
SnapRAID zgłasza OSTRZEŻENIE i nie skanuje dalej.
|
|
.PP
|
|
Pliki znajdujące się poza takimi granicami nie są uwzględniane na dysku
|
|
z danymi i muszą zostać skonfigurowane oddzielnie, jeśli mają być chronione.
|
|
.SS Punkty montowania z migawkami systemu plików
|
|
Gdy migawki systemu plików są włączone, zagnieżdżone punkty montowania oraz
|
|
montowania bind wewnątrz dysku z danymi nie są obsługiwane.
|
|
.PP
|
|
Punkty montowania są częścią przestrzeni nazw montowania działającego
|
|
systemu i nie są zachowywane w migawkach systemu plików. W związku z tym
|
|
podczas skanowania migawki katalog ukryty przez punkt montowania w aktywnym
|
|
systemie plików może stać się widoczny.
|
|
.PP
|
|
Nie umieszczaj zagnieżdżonych punktów montowania ani montowań bind wewnątrz
|
|
dysków z danymi, gdy migawki systemu plików są włączone.
|
|
.SS Wiele konfiguracji z migawkami systemu plików
|
|
Obsługa migawek nie może być bezpiecznie współdzielona przez wiele
|
|
niezależnych konfiguracji SnapRAID korzystających z tej samej przestrzeni
|
|
nazw migawek systemu plików.
|
|
.PP
|
|
W systemach Btrfs i Bcachefs tylko jedna konfiguracja SnapRAID z włączoną
|
|
obsługą migawek może używać katalogów danych w obrębie tego samego
|
|
podwolumenu. W systemie ZFS to samo ograniczenie dotyczy datasetu, a w NTFS
|
|
woluminu.
|
|
.PP
|
|
Wiele konfiguracji współdzielących tę samą przestrzeń nazw migawek używa tych
|
|
samych migawek \`stable\`, \`pending\` oraz \`scan\`. Uruchomienie jednej
|
|
konfiguracji może zatem zastąpić lub usunąć migawki odzyskiwania wymagane
|
|
przez inną.
|
|
.SS Modyfikacje plików w miejscu bez zmiany znacznika czasu
|
|
SnapRAID wykrywa modyfikacje plików, porównując rozmiary plików oraz
|
|
znaczniki czasu modyfikacji (mtime).
|
|
.PP
|
|
Jeśli aplikacja modyfikuje plik w miejscu bez zmiany jego rozmiaru ani
|
|
aktualizacji znacznika czasu modyfikacji, polecenia \[dq]diff\[dq] i \[dq]sync\[dq] nie
|
|
wykryją zmiany pliku, a jego parzystość nie zostanie zaktualizowana.
|
|
.PP
|
|
Aby SnapRAID rozpoznał takie zmiany, zaktualizuj znacznik czasu modyfikacji
|
|
pliku (na przykład za pomocą narzędzia \[dq]touch\[dq]). W przeciwnym razie różnica
|
|
zostanie wykryta dopiero jako niezgodność skrótu podczas kolejnego \[dq]scrub\[dq]
|
|
lub \[dq]check\[dq].
|
|
.SS Dopasowywanie wielkości liter znaków spoza ASCII w systemie Windows
|
|
SnapRAID używa standardowego, przewidywalnego kodowania UTF\-8 na wszystkich
|
|
platformach, ograniczając dopasowywanie bez uwzględniania wielkości liter do
|
|
znaków ASCII.
|
|
.PP
|
|
Systemy plików Windows cierpią z powodu przestarzałego projektu narzucania
|
|
braku rozróżniania wielkości liter w nazwach plików Unicode za pomocą
|
|
arbitralnych, zależnych od systemu tabel składania znaków (folding tables).
|
|
W rezultacie Windows zaciera rzeczywistość systemu plików, traktując zupełnie
|
|
różne sekwencje bajtów Unicode tak, jakby były tym samym plikiem.
|
|
.PP
|
|
Na przykład \`À.txt\` i \`à.txt\` to odrębne nazwy Unicode, a jednak Windows
|
|
nielogicznie traktuje je jako identyczne, podczas gdy SnapRAID zachowuje ich
|
|
rzeczywiste rozróżnienie.
|
|
.PP
|
|
Ograniczenie to wynika z niespójnej obsługi nazw plików Unicode przez system
|
|
Windows oraz jego uporczywego stosowania aliasów bez uwzględniania wielkości
|
|
liter. Aby zapobiec rozbieżnościom wynikającym ze składania znaków przez
|
|
Windows, zawsze podawaj dokładną wielkość liter w przypadku znaków spoza ASCII
|
|
w ścieżkach konfiguracyjnych i filtrach.
|
|
.SS Sufiks plików niemożliwych do odzyskania
|
|
Gdy \`fix\` nie może w pełni odzyskać uszkodzonego pliku, poddaje go kwarantannie,
|
|
dodając do jego nazwy rozszerzenie \`.unrecoverable\`.
|
|
.PP
|
|
Jeśli późniejsze polecenie \`fix\` ponowi próbę odzyskania, tworzy ono nowy
|
|
plik pod normalną nazwą i zachowuje stary plik \`.unrecoverable\` podczas trwania
|
|
odzyskiwania. Jeśli ponowna próba się nie powiedzie, nowy nieudany wynik
|
|
zastępuje starą kwarantannę. Jeśli ponowna próba zakończy się całkowitym
|
|
sukcesem, SnapRAID usuwa przestarzały plik \`.unrecoverable\`. Kwarantanna nigdy
|
|
nie jest przywracana do normalnej nazwy pliku.
|
|
.PP
|
|
Ponieważ SnapRAID identyfikuje pliki kwarantanny wyłącznie na podstawie ich
|
|
nazwy, każdy wcześniej istniejący plik, który przypadkowo używa sufiksu
|
|
\`.unrecoverable\`, może zostać obcięty, nadpisany, zastąpiony lub usunięty, jeśli
|
|
jego nazwa bazowa odpowiada naprawianemu plikowi.
|
|
.PP
|
|
Unikaj używania rozszerzenia \`.unrecoverable\` dla zwykłych plików i upewnij się,
|
|
że w konfiguracji uwzględniono regułę \`exclude *.unrecoverable\`, aby zapobiec
|
|
śledzeniu takich plików w zbiorze danych parzystości.
|
|
.SS Odzyskiwanie za pomocą częściowego fix
|
|
Gdy polecenie \`fix\` jest ograniczone za pomocą \`\-S, \-\-start\` lub \`\-B, \-\-count\`,
|
|
SnapRAID działa tylko na wybranych blokach i nie przeprowadza finalizacji
|
|
na poziomie plików ani kwarantanny.
|
|
.PP
|
|
Jeśli odzyskiwanie da dane typu best\-effort, co do których nie można udowodnić,
|
|
że reprezentują bieżącą zawartość, takie bloki mogą nadal zostać zapisane pod
|
|
zwykłą nazwą pliku. Niepewność związana z tymi odzyskanymi blokami nie jest
|
|
zachowywana po zakończeniu polecenia.
|
|
.PP
|
|
W rezultacie późniejsze wykonanie \`fix\` potraktuje te czytelne bloki jako
|
|
prawidłowe dane pliku i nie podejmie ponownej próby ich odzyskania. Może to
|
|
spowodować, że późniejsze odzyskiwanie zgłosi sukces, pozostawiając w pliku
|
|
niekompletne lub nieaktualne dane.
|
|
.PP
|
|
Opcje \`\-S\` i \`\-B\` są przeznaczone wyłącznie do zaawansowanego odzyskiwania
|
|
ręcznego, zazwyczaj po niepowodzeniu normalnego \`fix\`. Jeśli częściowy \`fix\`
|
|
zgłosi dane niemożliwe do odzyskania, przed podjęciem kolejnej próby odzyskiwania
|
|
należy usunąć lub zmienić nazwę plików, których to dotyczy, albo ręcznie zweryfikować
|
|
ich zawartość.
|
|
.SS Twarde dowiązania NTFS i wykluczone ścieżki
|
|
W systemie plików NTFS wpisy katalogowe niezależnie buforują rozmiar pliku
|
|
i znaczniki czasu dla każdego twardego dowiązania. Gdy plik zostanie
|
|
zmodyfikowany za pośrednictwem jednego dowiązania, wpisy katalogowe innych
|
|
dowiązań wskazujących ten sam plik mogą zachowywać nieaktualne metadane
|
|
do momentu uzyskania do nich dostępu.
|
|
.PP
|
|
SnapRAID automatycznie wykrywa i normalizuje ten stan, gdy podczas skanowania
|
|
napotka co najmniej dwa twarde dowiązania do tego samego pliku. Jeśli jednak
|
|
zeskanowane zostanie tylko jedno twarde dowiązanie, podczas gdy pozostałe są
|
|
wykluczone przez filtry lub znajdują się poza ścieżką dysku danych, SnapRAID
|
|
nie może wykryć kolizji i\-węzłów (inode) i polega na buforowanych metadanych
|
|
jedynego widocznego dowiązania.
|
|
.PP
|
|
W konsekwencji modyfikacje dokonane za pośrednictwem wykluczonego lub
|
|
zewnętrznego twardego dowiązania mogą pozostać niezauważone przez SnapRAID,
|
|
dopóki metadane uwzględnionego dowiązania nie zostaną odświeżone przez system
|
|
operacyjny (na przykład po uzyskaniu dostępu do pliku lub otwarciu go
|
|
przez tę ścieżkę).
|
|
.PP
|
|
Aby uniknąć tego ograniczenia, należy unikać modyfikowania chronionych plików
|
|
za pośrednictwem twardych dowiązań wykluczonych ze SnapRAID lub upewnić się,
|
|
że wszystkie twarde dowiązania do danego pliku są uwzględnione w skanowaniu,
|
|
aby SnapRAID mógł je znormalizować.
|
|
.SS Odzyskiwanie po przerwanym sync z wieloma parzystościami
|
|
W macierzy z wieloma dyskami parzystości przerwane polecenie \`sync\` może
|
|
pozostawić różne poziomy parzystości chwilowo niezsynchronizowane ze sobą.
|
|
Na przykład parzystość 1 może już zawierać nowo zaktualizowane dane,
|
|
podczas gdy parzystość 2 nadal zawiera stare dane.
|
|
.PP
|
|
Podczas wykonywania \`check\` lub \`fix\` SnapRAID sprawdza różne kombinacje
|
|
parzystości i weryfikuje zrekonstruowane dane z wykorzystaniem znanych
|
|
skrótów bloków (obejmujących cały blok, zazwyczaj 256 KiB).
|
|
.PP
|
|
Jeśli SnapRAID podejmie próbę rekonstrukcji z użyciem niespójnej
|
|
mieszanki starej i nowej parzystości, liniowe równania RAID dadzą
|
|
nieprawidłowe dane. Aby taka niepoprawna kombinacja została omyłkowo
|
|
zaakceptowana, równania musiałyby przypadkowo zrekonstruować co najmniej
|
|
jeden pełny blok 256 KiB tak idealnie, aby jego skrót się zgadzał,
|
|
podczas gdy inne niezsynchronizowane bloki w tym samym pasku zostaną
|
|
zrekonstruowane z błędnymi danymi.
|
|
.PP
|
|
Scenariusz ten nie zależy od kolizji skrótów; wymagałby raczej, aby same
|
|
równania mieszanej parzystości przypadkowo odtworzyły dokładną,
|
|
oryginalną zawartość 256\-KiB bloku. Choć jest to matematycznie możliwe
|
|
w przypadku specjalnie spreparowanych lub silnie powtarzalnych danych,
|
|
jest to praktycznie niemożliwe w przypadku rzeczywistych danych.
|
|
.PP
|
|
Jeśli wszystkie dyski są sprawne, dokończenie przerwanego \`sync\` przed
|
|
wprowadzeniem dalszych zmian usuwa tę niejednoznaczność. Jeśli nastąpiła
|
|
awaria dysku i konieczne jest odzyskanie danych, należy unikać modyfikacji
|
|
dysków danych przed uruchomieniem \`check\` lub \`fix\`.
|
|
.SH TłUMACZENIE (TRANSLATION)
|
|
Ten dokument jest automatycznym tłumaczeniem angielskiej instrukcji.
|
|
Wersję oficjalną stanowi oryginalny podręcznik w języku angielskim.
|
|
.SH PRAWA AUTORSKIE (COPYRIGHT)
|
|
Ten plik jest chroniony prawem autorskim (C) 2026 Andrea Mazzoleni
|
|
.SH ZOBACZ RóWNIEż (SEE ALSO)
|
|
snapraid_log(1), snapraidd(1), rsync(1)
|