                   =========================================
                   SnapRAID Backup pentru Matrici de Discuri
                   =========================================


1 SINTAXă (SYNOPSIS)
====================

snapraid [-c, --conf CONFIG]
	[-f, --filter PATTERN] [-d, --filter-disk NAME]
	[-m, --filter-missing] [-e, --filter-error]
	[-a, --audit-only] [-h, --pre-hash] [-i, --import DIR]
	[-p, --plan PERC|bad|new|full]
	[-o, --older-than DAYS] [-l, --log FILE]
	[-s, --spin-down-on-error] [-w, --bw-limit RATE]
	[-t, --tail]
	[-Z, --force-zero] [-E, --force-empty]
	[-U, --force-uuid] [-D, --force-device]
	[-N, --force-nocopy] [-F, --force-full]
	[-R, --force-realloc] [-W, --force-realloc-tail]
	[-S, --start BLKSTART] [-B, --count BLKCOUNT]
	[-L, --error-limit NUMBER]
	[-A, --stats]
	[-v, --verbose] [-q, --quiet]
	status|smart|probe|up|down|diff|sync|scrub|fix|check
	|list|dup|pool|devices|touch|rehash|locate

snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT]


2 DESCRIERE (DESCRIPTION)
=========================

SnapRAID este un program de backup conceput pentru matrici de discuri, care stochează
informații de paritate pentru recuperarea datelor în cazul a până la șase
defecte de disc.

Destinat în principal centrelor media de acasă cu fișiere mari,
care se schimbă rar, SnapRAID oferă câteva caracteristici:

* Puteți utiliza discuri deja pline cu fișiere fără
  nevoia de a le reformata, accesându-le ca de obicei.
* Toate datele dvs. sunt hash-uite pentru a asigura integritatea datelor și a preveni
  corupția silențioasă.
* Când numărul de discuri defecte depășește numărul de parități,
  pierderea de date este limitată la discurile afectate; datele de pe
  celelalte discuri rămân accesibile.
* Dacă ștergeți accidental fișiere de pe un disc, recuperarea este
  posibilă.
* Discurile pot avea dimensiuni diferite.
* Puteți adăuga discuri în orice moment.
* SnapRAID nu vă blochează datele; puteți înceta să-l utilizați
  oricând fără a reformata sau muta date.
* Pentru a accesa un fișier, este necesar să se rotească doar un singur disc, economisind
  energie și reducând zgomotul.

Pentru mai multe informații, vă rugăm să vizitați site-ul oficial SnapRAID:

    https://www.snapraid.it/


3 LIMITăRI (LIMITATIONS)
========================

SnapRAID este un hibrid între un RAID și un program de backup, având ca scop combinarea
celor mai bune avantaje ale ambelor. Cu toate acestea, are unele limitări pe care ar trebui
să le luați în considerare înainte de a-l utiliza.

Principala limitare este că, dacă un disc se defectează, puteți recupera datele doar până la
starea ultimei operațiuni de `sync`. Orice date adăugate sau modificări efectuate
de la ultima sincronizare care se află pe discul defect vor fi pierdute.

Prin urmare, SnapRAID este potrivit în principal pentru date care se modifică rar.

Pentru datele care existau deja la ultima sincronizare, fiabilitatea recuperării depinde
de utilizarea sau nu a opțiunii `snapshot`:

* Cu suport pentru snapshot (disponibil pe Btrfs, ZFS, Bcachefs și NTFS),
  SnapRAID poate menține automat o referință înghețată independentă
  a fiecărui sistem de fișiere de date acceptat.
  Acest lucru asigură că, chiar dacă modificați sau ștergeți fișiere pe sistemul de fișiere live
  în timpul sau după un sync, procesul de recuperare rămâne consistent și de încredere.

* Fără suport pentru snapshot, ștergerea sau modificarea fișierelor după un `sync`
  poate împiedica recuperarea completă a altor discuri defecte. Acest lucru se întâmplă
  deoarece paritatea nu mai corespunde cu fișierele modificate, chiar dacă
  acele fișiere nu se află pe discul defect. Pe de altă parte, fișierele nou adăugate
  nu împiedică recuperarea fișierelor deja existente.

Alte limitări ale SnapRAID sunt:

* Cu SnapRAID, aveți în continuare sisteme de fișiere separate pentru fiecare disc.
  Cu RAID, obțineți un singur sistem de fișiere mare.
* SnapRAID nu face striping de date.
  Cu RAID, obțineți un spor de viteză prin striping.
* SnapRAID nu suportă recuperarea în timp real.
  Cu RAID, nu trebuie să vă opriți din lucru atunci când un disc se defectează.
* SnapRAID poate recupera date doar dintr-un număr limitat de defecte de disc.
  Cu un backup, puteți recupera dintr-o defecțiune completă
  a întregii matrici de discuri.
* Sunt salvate doar numele fișierelor, mărcile temporale, symlink-urile și hardlink-urile.
  Permisiunile, proprietarul și atributele extinse nu sunt salvate.


4 NOțIUNI DE BAZă (GETTING STARTED)
===================================

Pentru a utiliza SnapRAID, trebuie mai întâi să selectați un disc în matricea dvs. de discuri
pentru a-l dedica informațiilor de `paritate`. Cu un singur disc pentru paritate, veți
putea recupera dintr-o singură defecțiune de disc, similar cu RAID5.

Dacă doriți să recuperați din mai multe defecțiuni de disc, similar cu RAID6,
trebuie să rezervați discuri suplimentare pentru paritate. Fiecare disc de paritate
suplimentar permite recuperarea dintr-o defecțiune de disc în plus.

Ca discuri de paritate, trebuie să le alegeți pe cele mai mari din matrice,
deoarece informațiile de paritate pot crește până la dimensiunea celui mai mare disc de date
din matrice.

Aceste discuri vor fi dedicate stocării fișierelor de `paritate`.
Nu ar trebui să stocați datele dvs. pe ele.

Apoi, trebuie să definiți discurile de `date` pe care doriți să le protejați
cu SnapRAID. Protecția este mai eficientă dacă aceste discuri
conțin date care se schimbă rar. Din acest motiv, este mai bine să
NU includeți discul C:\ al Windows sau directoarele Unix /home, /var și /tmp.

Lista de fișiere este salvată în fișierele de `conținut`, de obicei
stocate pe discurile de date, de paritate sau de boot.
Acest fișier conține detaliile backup-ului dvs., inclusiv toate
sumele de control (checksums) pentru a-i verifica integritatea.
Fișierul de `conținut` este stocat în mai multe copii, iar fiecare copie trebuie
să fie pe un disc diferit pentru a se asigura că, chiar și în cazul a multiple
defecte de disc, cel puțin o copie este disponibilă.

De exemplu, să presupunem că sunteți interesați doar de un singur nivel de paritate
de protecție și discurile dvs. se află la:

    /mnt/diskp <- discul selectat pentru paritate
    /mnt/disk1 <- primul disc de protejat
    /mnt/disk2 <- al doilea disc de protejat
    /mnt/disk3 <- al treilea disc de protejat

Trebuie să creați fișierul de configurare /etc/snapraid.conf cu
următoarele opțiuni:

    parity /mnt/diskp/snapraid.parity
    content /var/snapraid/snapraid.content
    content /mnt/disk1/snapraid.content
    content /mnt/disk2/snapraid.content
    data d1 /mnt/disk1/
    data d2 /mnt/disk2/
    data d3 /mnt/disk3/

Dacă sunteți pe Windows, ar trebui să utilizați formatul de cale Windows, cu litere de unitate
și backslash-uri în loc de slash-uri.

    parity E:\snapraid.parity
    content C:\snapraid\snapraid.content
    content F:\array\snapraid.content
    content G:\array\snapraid.content
    data d1 F:\array\
    data d2 G:\array\
    data d3 H:\array\

Dacă aveți multe discuri și rămâneți fără litere de unitate, puteți monta
discurile direct în subfoldere. Vedeți:

    https://www.google.com/search?q=Windows+mount+point

În acest moment, sunteți gata să rulați comanda `sync` pentru a construi
informațiile de paritate.

    snapraid sync

Acest proces poate dura câteva ore prima dată, în funcție de dimensiunea
datelor deja prezente pe discuri. Dacă discurile sunt goale,
procesul este imediat.

Îl puteți opri oricând apăsând Ctrl+C, iar la următoarea rulare,
va relua de unde a fost întrerupt.

Când această comandă se finalizează, datele dvs. sunt ÎN SIGURANȚĂ.

Acum puteți începe să utilizați matricea după cum doriți și
să actualizați periodic informațiile de paritate rulând comanda `sync`.

4.1 Verificare (Scrubbing)
--------------------------

Pentru a verifica periodic datele și paritatea pentru erori, puteți
rula comanda `scrub`.

    snapraid scrub

Această comandă compară datele din matricea dvs. cu hash-ul calculat
în timpul comenzii `sync` pentru a verifica integritatea.

Fiecare rulare a comenzii verifică aproximativ 8% din matrice, excluzând datele
deja verificate în ultimele 10 zile.
Puteți utiliza opțiunea -p, --plan pentru a specifica o cantitate diferită
și opțiunea -o, --older-than pentru a specifica o vârstă diferită în zile.
De exemplu, pentru a verifica 5% din matrice pentru blocuri mai vechi de 20 de zile, utilizați:

    snapraid -p 5 -o 20 scrub

Dacă se găsesc erori silențioase sau de intrare/ieșire în timpul procesului,
blocurile corespunzătoare sunt marcate ca fiind defecte în fișierul de `conținut`
și listate în comanda `status`.

    snapraid status

Pentru a le repara, puteți utiliza comanda `fix`, filtrând pentru blocuri defecte cu
opțiunea -e, --filter-error:

    snapraid -e fix

La următorul `scrub`, erorile vor dispărea din raportul `status`
dacă sunt într-adevăr reparate. Pentru a face mai rapid, puteți utiliza -p bad pentru a verifica
doar blocurile marcate ca defecte.

    snapraid -p bad scrub

Rularea `scrub` pe o matrice nesincronizată poate raporta erori cauzate de
fișiere eliminate sau modificate. Aceste erori sunt raportate în ieșirea `scrub`,
dar blocurile aferente nu sunt marcate ca defecte.

4.2 Agregare (Pooling)
----------------------

Notă: Funcționalitatea de pooling descrisă mai jos a fost înlocuită de instrumentul
mergerfs, care este acum opțiunea recomandată pentru utilizatorii Linux în
comunitatea SnapRAID. Mergerfs oferă o modalitate mai flexibilă și eficientă
de a agrega mai multe discuri într-un singur punct de montare unificat,
permițând accesul neîntrerupt la fișiere pe toată matricea dvs. fără a se baza
pe link-uri simbolice. Se integrează bine cu SnapRAID pentru protecția parității
și este utilizat în mod obișnuit în configurații precum OpenMediaVault (OMV)
sau configurații NAS personalizate.

Pentru a avea toate fișierele din matricea dvs. afișate în același arbore de directoare,
puteți activa funcționalitatea de `pooling`. Aceasta creează o vizualizare virtuală
read-only a tuturor fișierelor din matricea dvs. folosind link-uri simbolice.

Puteți configura directorul de `pooling` în fișierul de configurare cu:

    pool /pool

sau, dacă sunteți pe Windows, cu:

    pool C:\pool

și apoi rulați comanda `pool` pentru a crea sau actualiza vizualizarea virtuală.

    snapraid pool

Dacă utilizați o platformă Unix și doriți să partajați acest director
peste rețea către mașini Windows sau Unix, ar trebui să adăugați
următoarele opțiuni la /etc/samba/smb.conf:

    # În secțiunea global a smb.conf
    unix extensions = no

    # În secțiunea share a smb.conf
    [pool]
    comment = Pool
    path = /pool
    read only = yes
    guest ok = yes
    wide links = yes
    follow symlinks = yes

În Windows, partajarea link-urilor simbolice peste o rețea necesită ca clienții să
le rezolve de la distanță. Pentru a permite acest lucru, pe lângă partajarea directorului pool,
trebuie să partajați și toate discurile în mod independent, folosind numele discurilor
definite în fișierul de configurare ca puncte de partajare. De asemenea, trebuie să specificați
în opțiunea `share` din fișierul de configurare calea UNC Windows pe care
clienții la distanță trebuie să o folosească pentru a accesa aceste discuri partajate.

De exemplu, operând de pe un server numit `darkstar`, puteți utiliza
opțiunile:

    data d1 F:\array\
    data d2 G:\array\
    data d3 H:\array\
    pool C:\pool
    share \\darkstar

și partajați următoarele directoare peste rețea:

    \\darkstar\pool -> C:\pool
    \\darkstar\d1 -> F:\array
    \\darkstar\d2 -> G:\array
    \\darkstar\d3 -> H:\array

pentru a permite clienților la distanță să acceseze toate fișierele la \\darkstar\pool.

De asemenea, ar putea fi necesar să configurați clienții la distanță pentru a permite accesul la symlink-uri la distanță cu comanda:

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

4.3 Anulare ștergere (Undeleting)
---------------------------------

SnapRAID funcționează mai mult ca un program de backup decât un sistem RAID și poate
fi folosit pentru a restaura sau anula ștergerea fișierelor la starea lor anterioară utilizând
opțiunea -f, --filter:

    snapraid fix -f FILE

sau pentru un director:

    snapraid fix -f DIR/

De asemenea, îl puteți utiliza pentru a recupera doar fișiere șterse accidental în interiorul
unui director folosind opțiunea -m, --filter-missing, care restaurează
doar fișierele lipsă, lăsându-le pe toate celelalte neatinse.

    snapraid fix -m -f DIR/

Sau pentru a recupera toate fișierele șterse de pe toate unitățile cu:

    snapraid fix -m

4.4 Recuperare (Recovering)
---------------------------

Cel mai rău s-a întâmplat și ați pierdut unul sau mai multe discuri!

NU INTRAȚI ÎN PANICĂ! Veți putea să le recuperați!

Primul lucru pe care trebuie să-l faceți este să evitați modificările ulterioare la matricea dvs. de discuri.
Dezactivați orice conexiuni la distanță la aceasta și orice procese programate, inclusiv
orice sincronizare sau verificare SnapRAID programată pe timp de noapte.

Apoi continuați cu următorii pași.

---- 4.4.1 PASUL 1 -> Reconfigurare ----
Aveți nevoie de spațiu pentru a recupera, ideal pe discuri de rezervă
suplimentare, dar un disc USB extern sau un disc la distanță vor fi suficiente.

Modificați fișierul de configurare SnapRAID pentru a face ca opțiunea `data` sau `parity`
a discului defect să indice o locație cu suficient spațiu gol
pentru a recupera fișierele.

De exemplu, dacă discul `d1` s-a defectat, schimbați de la:

    data d1 /mnt/disk1/

la:

    data d1 /mnt/new_spare_disk/

Dacă discul de recuperat este un disc de paritate, actualizați opțiunea `parity`
corespunzătoare.
Dacă aveți mai multe discuri defecte, actualizați toate opțiunile lor de configurare.

---- 4.4.2 PASUL 2 -> Reparare (Fix) ----
Rulați comanda fix, stocând jurnalul într-un fișier extern cu:

    snapraid -d NAME -l fix.log fix

Unde NAME este numele discului, cum ar fi `d1` în exemplul nostru anterior.
Dacă discul de recuperat este un disc de paritate, utilizați numele `parity`, `2-parity`,
etc.
Dacă aveți mai multe discuri defecte, utilizați mai multe opțiuni -d pentru a le specifica pe toate.

Această comandă va dura mult timp.

Asigurați-vă că aveți câțiva gigabytes liberi pentru a stoca fișierul fix.log.
Rulați-l de pe un disc cu suficient spațiu liber.

Acum ați recuperat tot ce este recuperabil. Dacă unele fișiere sunt parțial
sau total nerecuperabile, vor fi redenumite adăugând extensia `.unrecoverable`.

Puteți găsi o listă detaliată a tuturor blocurilor nerecuperabile în fișierul fix.log
verificând toate liniile care încep cu `unrecoverable:`.

Dacă nu sunteți mulțumit de recuperare, o puteți reîncerca de câte
ori doriți.

De exemplu, dacă ați eliminat fișiere din matrice după ultimul
`sync`, acest lucru poate duce la nerecuperarea unor fișiere.
În acest caz, puteți reîncerca `fix`-ul utilizând opțiunea -i, --import,
specificând unde se află acum aceste fișiere pentru a le include din nou în
procesul de recuperare.

Dacă sunteți mulțumit de recuperare, puteți continua,
dar rețineți că după sincronizare, nu mai puteți reîncerca comanda `fix`
deloc!

---- 4.4.3 PASUL 3 -> Verificare (Check) ----
Ca o verificare prudentă, puteți rula acum o comandă `check` pentru a vă asigura că
totul este corect pe discul recuperat.

    snapraid -d NAME -a check

Unde NAME este numele discului, cum ar fi `d1` în exemplul nostru anterior.

Opțiunile -d și -a spun SnapRAID să verifice doar discul specificat
și să ignore toate datele de paritate.

Această comandă va dura mult timp, dar dacă nu sunteți excesiv de prudent,
o puteți sări.

---- 4.4.4 PASUL 4 -> Sincronizare (Sync) ----
Rulați comanda `sync` pentru a resincroniza matricea cu noul disc.

    snapraid sync

Dacă totul este recuperat, această comandă este imediată.


5 COMENZI (COMMANDS)
====================

SnapRAID oferă câteva comenzi simple care vă permit să:

* Afișați starea matricei -> `status`
* Controlați discurile -> `smart`, `probe`, `up`, `down`
* Creați un punct de backup/recuperare -> `sync`
* Verificați periodic datele -> `scrub`
* Restaurați ultimul punct de backup/recuperare -> `fix`.

Comenzile trebuie scrise cu litere mici.

5.1 status
----------

Tipărește un rezumat al stării matricei de discuri.

Include informații despre fragmentarea parității, cât de vechi
sunt blocurile fără verificare și toate erorile silențioase înregistrate
întâlnite în timpul verificării (scrubbing).

Informațiile prezentate se referă la ultima dată când ați
rulat `sync`. Modificările ulterioare nu sunt luate în considerare.

Dacă au fost detectate blocuri defecte, numerele lor de bloc sunt listate.
Pentru a le repara, puteți utiliza comanda `fix -e`.

De asemenea, arată un grafic care reprezintă ultima dată când fiecare bloc
a fost verificat (scrubbed) sau sincronizat. Blocurile verificate sunt afișate cu `*`,
blocurile sincronizate, dar încă neverificate, cu `o`.

Nimic nu este modificat.

5.2 smart
---------

Tipărește un raport SMART al tuturor discurilor din sistem.

Include o estimare a probabilității de eșec în anul următor,
permițându-vă să planificați înlocuiri de întreținere ale discurilor care prezintă
atribute suspecte.

Această estimare a probabilității este obținută prin corelarea atributelor SMART
ale discurilor cu datele Backblaze disponibile la:

    https://www.backblaze.com/hard-drive-test-data.html

Dacă SMART raportează că un disc este pe cale să se defecteze, `FAIL` sau `PREFAIL` este tipărit
pentru acel disc, iar SnapRAID returnează o eroare.
În acest caz, înlocuirea imediată a discului este puternic recomandată.

Alte șiruri de stare posibile sunt:
    logfail - În trecut, unele atribute au fost mai mici decât
        pragul.
    logerr - Jurnalul de erori al dispozitivului conține erori.
    selferr - Jurnalul de auto-test al dispozitivului conține erori.

Dacă opțiunea -v, --verbose este specificată, este furnizată o analiză statistică
mai profundă. Această analiză vă poate ajuta să decideți dacă aveți nevoie de mai multă
sau mai puțină paritate.

Această comandă utilizează instrumentul `smartctl` și este echivalentă cu rularea
`smartctl -a` pe toate dispozitivele.

Dacă dispozitivele dvs. nu sunt detectate automat corect, puteți specifica
o comandă personalizată utilizând opțiunea `smartctl` în fișierul de configurare.

Nimic nu este modificat.

5.3 probe
---------

Tipărește starea de ALIMENTARE (POWER) a tuturor discurilor din sistem.

`Standby` înseamnă că discul nu se rotește. `Active` înseamnă
că discul se rotește.

Această comandă utilizează instrumentul `smartctl` și este echivalentă cu rularea
`smartctl -n standby -i` pe toate dispozitivele.

Dacă dispozitivele dvs. nu sunt detectate automat corect, puteți specifica
o comandă personalizată utilizând opțiunea `smartctl` în fișierul de configurare.

Nimic nu este modificat.

5.4 up
------

Pornește toate discurile din matrice.

Puteți porni doar discuri specifice utilizând opțiunea -d, --filter-disk.

Pornirea tuturor discurilor în același timp necesită multă energie.
Asigurați-vă că sursa dvs. de alimentare o poate susține.

Nimic nu este modificat.

5.5 down
--------

Oprește (spin down) toate discurile din matrice.

Această comandă utilizează instrumentul `smartctl` și este echivalentă cu rularea
`smartctl -s standby,now` pe toate dispozitivele.

Puteți opri doar discuri specifice utilizând opțiunea -d, --filter-disk.

Pentru a opri automat la eroare, puteți utiliza opțiunea -s, --spin-down-on-error
cu orice altă comandă, care este echivalentă cu rularea manuală a `down`
atunci când apare o eroare.

Nimic nu este modificat.

5.6 diff
--------

Listează toate fișierele modificate de la ultimul `sync` care trebuie
să li se recalculeze datele de paritate.

Această comandă nu verifică datele fișierului, ci doar marca temporală,
dimensiunea și inodul fișierului.

După listarea tuturor fișierelor modificate, este prezentat un rezumat al modificărilor,
grupate după:
    equal - Fișiere neschimbate față de înainte.
    added - Fișiere adăugate care nu erau prezente înainte.
    removed - Fișiere eliminate.
    updated - Fișiere cu o dimensiune sau marcă temporală diferită, ceea ce înseamnă că au
        fost modificate.
    moved - Fișiere mutate sau redenumite pe același disc, păstrând
        același inod. Sunt identificate prin faptul că au același inod,
        dimensiune și marcă temporală, dar o cale diferită. Numele
        fișierului poate fi, de asemenea, diferit.
    copied - Fișiere copiate pe același disc sau pe un disc diferit
        unde fișierul original încă există.
        Acestea sunt identificate prin faptul că au același nume,
        dimensiune și marcă temporală.
        Dacă marca temporală sub-secundă este zero, calea completă
        trebuie să se potrivească pentru a fi identificate, nu doar
        numele.
    relocated - Fișiere mutate într-un director sau pe un disc diferit,
        unde fișierul original a dispărut și inodul nu este păstrat.
        Sunt identificate prin faptul că au același nume, dimensiune și
        marcă temporală. Dacă marca temporală sub-secundă este zero,
        calea completă trebuie să se potrivească pentru a fi identificate.
        Spre deosebire de fișierele 'moved', fișierele relocate necesită
        ca numele fișierului să rămână neschimbat.
    restored - Fișiere cu un inod diferit, dar care se potrivesc ca
        director, nume, dimensiune și marcă temporală.
        Acestea sunt de obicei fișiere restaurate după ce au fost șterse.

Dacă este necesară o sincronizare, codul de retur al procesului este 2, în loc de
cel implicit 0. Codul de retur 1 este utilizat pentru o condiție de eroare generică.

Nimic nu este modificat.

5.7 sync
--------

Actualizează informațiile de paritate. Toate fișierele modificate
din matricea de discuri sunt citite și datele de paritate
corespunzătoare sunt actualizate.

Puteți opri acest proces în orice moment apăsând Ctrl+C,
fără a pierde munca deja efectuată.
La următoarea rulare, procesul `sync` va relua de unde
a fost întrerupt.

Dacă se găsesc erori silențioase sau de intrare/ieșire în timpul procesului,
blocurile corespunzătoare sunt marcate ca defecte.

Fișierele sunt identificate prin cale și/sau inod și verificate prin
dimensiune și marcă temporală.
Dacă dimensiunea sau marca temporală a fișierului diferă, datele de paritate
sunt recalculate pentru întregul fișier.
Dacă fișierul este mutat sau redenumit pe același disc, păstrând același
inod, paritatea nu este recalculată.
Dacă fișierul este mutat pe un alt disc, paritatea este recalculată,
dar informațiile hash calculate anterior sunt păstrate.

Fișierele de `content` și `parity` sunt modificate dacă este necesar.
Fișierele din matrice NU sunt modificate.

5.8 scrub
---------

Verifică (scrubs) matricea, căutând erori silențioase sau de intrare/ieșire în discurile
de date și de paritate.

Fiecare invocare verifică aproximativ 8% din matrice, excluzând
datele deja verificate în ultimele 10 zile.
Acest lucru înseamnă că verificarea o dată pe săptămână asigură că fiecare bit de date este verificat
cel puțin o dată la trei luni.

Puteți defini un plan de verificare sau o cantitate diferită utilizând opțiunea -p, --plan,
care acceptă:
bad - Verifică blocurile marcate ca defecte.
new - Verifică blocurile tocmai sincronizate care nu au fost încă verificate.
full - Verifică totul.
0-100 - Verifică procentul specificat de blocuri.

Dacă specificați o valoare procentuală, puteți utiliza și opțiunea -o, --older-than
pentru a defini cât de vechi ar trebui să fie blocul.
Cele mai vechi blocuri sunt verificate primele, asigurând o verificare optimă.
Dacă doriți să verificați doar blocurile tocmai sincronizate care nu au fost încă verificate,
utilizați opțiunea `-p new`.

Pentru a obține detalii despre starea verificării, utilizați comanda `status`.

Pentru orice eroare silențioasă sau de intrare/ieșire găsită, blocurile corespunzătoare
sunt marcate ca defecte în fișierul de `content`.
Aceste blocuri defecte sunt listate în `status` și pot fi reparate cu `fix -e`.
După reparare, la următorul scrub, vor fi reverificate, iar dacă se găsesc
corectate, marca defectă va fi eliminată.
Pentru a verifica doar blocurile defecte, puteți utiliza comanda `scrub -p bad`.

Este recomandat să rulați `scrub` doar pe o matrice sincronizată pentru a evita
erorile raportate cauzate de date nesincronizate. Aceste erori sunt recunoscute
ca nefiind erori silențioase, iar blocurile nu sunt marcate ca defecte,
dar astfel de erori sunt raportate în ieșirea comenzii.

Fișierul de `content` este modificat pentru a actualiza ora ultimei verificări
pentru fiecare bloc și pentru a marca blocurile defecte.
Fișierele de `parity` NU sunt modificate.
Fișierele din matrice NU sunt modificate.

5.9 fix
-------

Repară toate fișierele și datele de paritate.

Toate fișierele și datele de paritate sunt comparate cu starea salvată în
ultimul `sync`. Dacă se găsește o diferență, aceasta este readusă la starea stocată.

AVERTISMENT!
Comanda `fix` nu face diferența între erori și modificări intenționate.
Ea revine necondiționat la starea fișierelor de la ultimul `sync`.

Dacă nu este specificată nicio altă opțiune, întreaga matrice este procesată.
Utilizați opțiunile de filtrare pentru a selecta un subset de fișiere sau discuri de operat.

Pentru a repara doar blocurile marcate ca defecte în timpul `sync` și `scrub`,
utilizați opțiunea -e, --filter-error.
Spre deosebire de alte opțiuni de filtrare, aceasta aplică reparații doar fișierelor care sunt
neschimbate de la ultimul `sync`.

SnapRAID redenumește toate fișierele care nu pot fi reparate adăugând extensia
`.unrecoverable`.

Înainte de reparare, întreaga matrice este scanată pentru a găsi orice fișiere mutate
de la ultima operațiune `sync`.
Aceste fișiere sunt identificate prin marca lor temporală, ignorând numele
și directorul lor și sunt utilizate în procesul de recuperare dacă este necesar.
Dacă ați mutat unele dintre ele în afara matricei, puteți utiliza opțiunea -i, --import
pentru a specifica directoare suplimentare de scanat.

Fișierele sunt identificate doar prin cale, nu prin inod.

Fișierul de `content` NU este modificat.
Fișierele de `parity` sunt modificate dacă este necesar.
Fișierele din matrice sunt modificate dacă este necesar.

5.10 check
----------

Verifică toate fișierele și datele de paritate.

Funcționează ca `fix`, dar simulează doar o recuperare și nu sunt scrise modificări
în matrice.

Această comandă este destinată în primul rând verificării manuale,
cum ar fi după un proces de recuperare sau în alte condiții speciale.
Pentru verificări periodice și programate, utilizați `scrub`.

Dacă utilizați opțiunea -a, --audit-only, doar datele fișierului
sunt verificate, iar datele de paritate sunt ignorate pentru o
rulare mai rapidă.

Fișierele sunt identificate doar prin cale, nu prin inod.

Nimic nu este modificat.

5.11 list
---------

Listează toate fișierele conținute în matrice la momentul
ultimului `sync`.

Cu -v sau --verbose, este afișat și timpul sub-secundă.

Nimic nu este modificat.

5.12 dup
--------

Listează toate fișierele duplicate. Două fișiere sunt considerate egale dacă hash-urile
lor se potrivesc. Datele fișierului nu sunt citite; sunt utilizate doar
hash-urile precalculate.

Nimic nu este modificat.

5.13 pool
---------

Creează sau actualizează o vizualizare virtuală a tuturor
fișierelor din matricea dvs. de discuri în directorul de `pooling`.

Fișierele nu sunt copiate, ci legate folosind
link-uri simbolice.

La actualizare, toate link-urile simbolice existente și subdirectoarele goale
sunt șterse și înlocuite cu noua
vizualizare a matricei. Orice alte fișiere obișnuite sunt lăsate pe loc.

Nimic nu este modificat în afara directorului pool.

5.14 devices
------------

Tipărește dispozitivele de nivel scăzut utilizate de matrice.

Această comandă afișează asocierile de dispozitive din matrice
și este destinată în principal ca interfață de script.

Primele două coloane sunt ID-ul și calea dispozitivului de nivel scăzut.
Următoarele două coloane sunt ID-ul și calea dispozitivului de nivel înalt.
Ultima coloană este numele discului din matrice.

În majoritatea cazurilor, aveți un dispozitiv de nivel scăzut pentru fiecare disc din
matrice, dar în unele configurații mai complexe, puteți avea mai multe
dispozitive de nivel scăzut utilizate de un singur disc din matrice.

Nimic nu este modificat.

5.15 touch
----------

Setează o marcă temporală arbitrară sub-secundă pentru toate fișierele
care o au setată la zero.

Acest lucru îmbunătățește capacitatea SnapRAID de a recunoaște fișierele mutate
și copiate, deoarece face ca marca temporală să fie aproape unică,
reducând posibilele duplicate.

Mai exact, dacă marca temporală sub-secundă nu este zero,
un fișier mutat sau copiat este identificat ca atare dacă se potrivește
cu numele, dimensiunea și marca temporală. Dacă marca temporală sub-secundă
este zero, este considerat o copie doar dacă calea completă,
dimensiunea și marca temporală se potrivesc toate.

Marca temporală cu precizie de secundă nu este modificată,
deci toate datele și orele fișierelor dvs. vor fi păstrate.

5.16 rehash
-----------

Programează o rehash-uire a întregii matrici.

Această comandă schimbă tipul de hash utilizat, de obicei la actualizarea
de la un sistem pe 32 de biți la unul pe 64 de biți, pentru a trece de la
MurmurHash3 la SpookyHash, care este mai rapid.

Dacă utilizați deja hash-ul optim, această comandă
nu face nimic și vă informează că nu este necesară nicio acțiune.

Rehash-ul nu este efectuat imediat, ci are loc
progresiv în timpul `sync` și `scrub`.

Puteți verifica starea rehash-ului utilizând `status`.

În timpul rehash-ului, SnapRAID își menține funcționalitatea completă,
cu singura excepție că `dup` nu poate detecta fișierele duplicate
folosind un hash diferit.

5.17 locate
-----------

Localizează fișierele stocate pe discurile de paritate. Pentru fiecare fișier
potrivit, afișează locația acestuia în fișierul de paritate și numărul de
fragmente pe care le ocupă.

Puteți utiliza opțiunea -t, --tail pentru a restricționa operațiunea la fișierele
care ocupă porțiunea finală specificată a parității.

Dacă doriți să realocați aceste fișiere, puteți utiliza apoi opțiunea
-W, --force-realloc-tail. Rețineți că astfel de fișiere nu vor
fi protejate de paritate în timpul procesului de realocare.


6 OPțIUNI (OPTIONS)
===================

SnapRAID oferă următoarele opțiuni:

    -c, --conf CONFIG
        Selectează fișierul de configurare de utilizat. Dacă nu este specificat, în Unix
        utilizează fișierul `/usr/local/etc/snapraid.conf` dacă există,
        altfel `/etc/snapraid.conf`.
        În Windows, utilizează fișierul `snapraid.conf` din același
        director ca `snapraid.exe`.

    -f, --filter PATTERN
        Filtrează fișierele de procesat în `check` și `fix`.
        Sunt procesate doar fișierele care se potrivesc cu modelul specificat.
        Această opțiune poate fi utilizată de mai multe ori.
        Vedeți secțiunea PATTERN pentru mai multe detalii despre
        specificațiile modelului.
        În Unix, asigurați-vă că caracterele globbing sunt citate dacă sunt utilizate.
        Această opțiune poate fi utilizată doar cu `check` și `fix`.
        Nu poate fi utilizată cu `sync` și `scrub`, deoarece acestea
        procesează întotdeauna întreaga matrice.

    -d, --filter-disk NAME
        Filtrează discurile de procesat în `check`, `fix`, `up` și `down`.
        Trebuie să specificați un nume de disc așa cum este definit în fișierul de configurare.
        Puteți specifica și discurile de paritate cu numele: `parity`, `2-parity`,
        `3-parity`, etc., pentru a limita operațiunile la un anumit disc de paritate.
        Dacă combinați mai multe opțiuni --filter, --filter-disk și --filter-missing,
        sunt selectate doar fișierele care se potrivesc cu toate filtrele.
        Această opțiune poate fi utilizată de mai multe ori.
        Această opțiune poate fi utilizată doar cu `check`, `fix`, `up` și `down`.
        Nu poate fi utilizată cu `sync` și `scrub`, deoarece acestea
        procesează întotdeauna întreaga matrice.

    -m, --filter-missing
        Filtrează fișierele de procesat în `check` și `fix`.
        Sunt procesate doar fișierele lipsă sau șterse din matrice.
        Când este utilizată cu `fix`, aceasta acționează ca o comandă de `undelete` (anulare ștergere).
        Dacă combinați mai multe opțiuni --filter, --filter-disk și --filter-missing,
        sunt selectate doar fișierele care se potrivesc cu toate filtrele.
        Această opțiune poate fi utilizată doar cu `check` și `fix`.
        Nu poate fi utilizată cu `sync` și `scrub`, deoarece acestea
        procesează întotdeauna întreaga matrice.

    -e, --filter-error
        Procesează fișierele cu erori în `check` și `fix`.
        Procesează doar fișierele care au blocuri marcate cu erori silențioase
        sau de intrare/ieșire în timpul `sync` și `scrub`, așa cum sunt listate în `status`.
        Această opțiune poate fi utilizată doar cu `check` și `fix`.

    -p, --plan PERC|bad|new|full
        Selectează planul de verificare (scrub). Dacă PERC este o valoare numerică de la 0 la 100,
        este interpretată ca procentul de blocuri de verificat.
        În loc de un procent, puteți specifica un plan:
        `bad` verifică blocurile defecte, `new` verifică blocurile care nu au fost încă verificate,
        iar `full` verifică totul.
        Această opțiune poate fi utilizată doar cu `scrub`.

    -o, --older-than DAYS
        Selectează cea mai veche parte a matricei de procesat în `scrub`.
        DAYS este vârsta minimă în zile pentru ca un bloc să fie verificat;
        valoarea implicită este 10.
        Blocurile marcate ca defecte sunt întotdeauna verificate, indiferent de această opțiune.
        Această opțiune poate fi utilizată doar cu `scrub`.

    -a, --audit-only
        În `check`, verifică hash-ul fișierelor fără
        a verifica datele de paritate.
        Dacă sunteți interesați doar de verificarea datelor fișierului, această
        opțiune poate accelera semnificativ procesul de verificare.
        Această opțiune poate fi utilizată doar cu `check`.

    -h, --pre-hash
        În `sync`, rulează o fază preliminară de hashing a tuturor datelor noi
        pentru o verificare suplimentară înainte de calculul parității.
        De obicei, în `sync`, nu se face hashing preliminar, iar datele noi
        sunt hash-uite chiar înainte de calculul parității, atunci când sunt citite
        pentru prima dată.
        Acest proces are loc atunci când sistemul este sub
        încărcare mare, cu toate discurile rotindu-se și un CPU ocupat.
        Aceasta este o condiție extremă pentru mașină și, dacă are o
        problemă hardware latentă, erorile silențioase pot trece nedetectate
        deoarece datele nu sunt încă hash-uite.
        Pentru a evita acest risc, puteți activa modul `pre-hash` pentru a avea
        toate datele citite de două ori pentru a le asigura integritatea.
        Această opțiune verifică și fișierele mutate în cadrul matricei
        pentru a se asigura că operațiunea de mutare a fost reușită și, dacă este necesar,
        vă permite să rulați o operațiune de reparare (fix) înainte de a continua.
        Această opțiune poate fi utilizată doar cu `sync`.

    -i, --import DIR
        Importă din directorul specificat orice fișiere șterse
        din matrice după ultimul `sync`.
        Dacă mai aveți astfel de fișiere, ele pot fi utilizate de `check`
        și `fix` pentru a îmbunătăți procesul de recuperare.
        Fișierele sunt citite, inclusiv în subdirectoare, și sunt
        identificate indiferent de numele lor.
        Această opțiune poate fi utilizată doar cu `check` și `fix`.

    -s, --spin-down-on-error
        La orice eroare, oprește (spin down) toate discurile gestionate înainte de a ieși cu
        un cod de stare diferit de zero. Acest lucru împiedică unitățile să
        rămână active și să se rotească după o operațiune întreruptă,
        ajutând la evitarea acumulării inutile de căldură și a consumului de energie.
        Utilizați această opțiune pentru a vă asigura că discurile sunt oprite în siguranță
        chiar și atunci când o comandă eșuează.

    -w, --bw-limit RATE
        Aplică o limită globală de lățime de bandă pentru toate discurile. RATE este
        numărul de octeți pe secundă. Puteți specifica un multiplicator
        cum ar fi K, M, G sau T (de exemplu, --bw-limit 1G).

    -t, --tail SIZE
        Limitează listarea fișierelor la cele care nu utilizează mai mult de
        dimensiunea finală specificată a discurilor de paritate.
        Puteți utiliza multiplicatori precum K, M, G sau T (ex. --tail 1G).
        Această opțiune este valabilă numai atunci când este utilizată împreună
        cu comanda `locate`.

    -A, --stats
        Activează o vizualizare de stare extinsă care arată informații suplimentare.
        Ecranul afișează două grafice:
        Primul grafic arată numărul de dungi (stripes) tamponate pentru fiecare
        disc, împreună cu calea fișierului care este
        accesat în prezent pe acel disc. În mod obișnuit, cel mai lent disc nu va avea
        tampon disponibil, ceea ce determină lățimea de bandă maximă realizabilă.
        Al doilea grafic arată procentul de timp petrecut așteptând
        în ultimele 100 de secunde. Este de așteptat ca cel mai lent disc să
        cauzeze cea mai mare parte a timpului de așteptare, în timp ce alte discuri ar trebui să aibă
        puțin sau deloc timp de așteptare, deoarece își pot utiliza dungile tamponate.
        Acest grafic arată și timpul petrecut așteptând calculele hash
        și calculele RAID.
        Toate calculele rulează în paralel cu operațiunile de disc.
        Prin urmare, atâta timp cât există timp de așteptare măsurabil pentru
        cel puțin un disc, indică faptul că CPU-ul este suficient de rapid pentru a
        ține pasul cu sarcina de lucru.

    -Z, --force-zero
        Forțează operațiunea nesigură de sincronizare a unui fișier cu dimensiunea zero
        care era anterior non-zero.
        Dacă SnapRAID detectează o astfel de condiție, se oprește din a continua
        dacă nu specificați această opțiune.
        Acest lucru vă permite să detectați cu ușurință când, după o cădere de sistem,
        unele fișiere accesate au fost trunchiate.
        Aceasta este o condiție posibilă în Linux cu sistemele de fișiere ext3/ext4.
        Această opțiune poate fi utilizată doar cu `sync`.

    -E, --force-empty
        Forțează operațiunea nesigură de sincronizare a unui disc cu toate
        fișierele originale lipsă.
        Dacă SnapRAID detectează că toate fișierele prezente inițial
        pe disc lipsesc sau au fost rescrise, se oprește din a continua
        dacă nu specificați această opțiune.
        Acest lucru vă permite să detectați cu ușurință când un sistem de fișiere de date nu este
        montat.
        Această opțiune poate fi utilizată doar cu `sync`.

    -U, --force-uuid
        Forțează operațiunea nesigură de sincronizare, verificare și reparare
        cu discuri care și-au schimbat UUID-ul.
        Dacă SnapRAID detectează că unele discuri și-au schimbat UUID-ul,
        se oprește din a continua dacă nu specificați această opțiune.
        Acest lucru vă permite să detectați când discurile dvs. sunt montate la
        punctele de montare greșite.
        Este permis, totuși, să aveți o singură schimbare de UUID cu
        paritate simplă și mai multe cu paritate multiplă, deoarece acesta este
        cazul normal la înlocuirea discurilor după o recuperare.
        Această opțiune poate fi utilizată doar cu `sync`, `check` sau
        `fix`.

    -D, --force-device
        Forțează operațiunea nesigură de reparare cu discuri inaccesibile
        sau cu discuri pe același dispozitiv fizic.
        De exemplu, dacă ați pierdut două discuri de date și aveți un disc de rezervă pentru a recupera
        doar primul, puteți ignora al doilea disc inaccesibil.
        Sau, dacă doriți să recuperați un disc în spațiul liber rămas pe un
        disc deja utilizat, partajând același dispozitiv fizic.
        Această opțiune poate fi utilizată doar cu `fix`.

    -N, --force-nocopy
        În `sync`, `check` și `fix`, dezactivează euristica de detectare a copiei.
        Fără această opțiune, SnapRAID presupune că fișierele cu aceleași
        atribute, cum ar fi numele, dimensiunea și marca temporală, sunt copii cu
        aceleași date.
        Acest lucru permite identificarea fișierelor copiate sau mutate de pe un disc
        pe altul și refolosirea informațiilor hash deja calculate
        pentru a detecta erori silențioase sau pentru a recupera fișiere lipsă.
        În unele cazuri rare, acest comportament poate duce la rezultate fals pozitive
        sau la un proces lent din cauza multor verificări hash, iar această
        opțiune vă permite să rezolvați astfel de probleme.
        Această opțiune poate fi utilizată doar cu `sync`, `check` și `fix`.

    -F, --force-full
        În `sync`, forțează o recalculare completă a parității.
        Această opțiune poate fi utilizată atunci când adăugați un nou nivel de paritate sau dacă
        ați revenit la un fișier de conținut vechi utilizând date de paritate mai recente.
        În loc să recreați paritatea de la zero, aceasta vă permite
        să reutilizați hash-urile prezente în fișierul de conținut pentru a valida datele
        și a menține protecția datelor în timpul procesului `sync` utilizând
        datele de paritate existente.
        Această opțiune poate fi utilizată doar cu `sync`.

    -R, --force-realloc
        În `sync`, forțează o realocare completă a fișierelor și o reconstruire a parității.
        Această opțiune poate fi utilizată pentru a realoca complet toate fișierele,
        eliminând fragmentarea, în timp ce reutilizați hash-urile prezente în fișierul de conținut
        pentru a valida datele.
        Această opțiune poate fi utilizată doar cu `sync`.
        ATENȚIE! Această opțiune este doar pentru experți și este puternic
        recomandat să nu o utilizați.
        NU aveți protecție a datelor în timpul operațiunii `sync`.

    -W, --force-realloc-tail SIZE
        Funcționează ca -R, --force-realloc, dar limitat la porțiunea finală
        specificată (ultimii DIMENSIUNE octeți) ai fiecărui fișier de paritate.
        Forțează realocarea (mutarea) oricăror fragmente/blocuri de fișiere stocate
        în prezent în acea secțiune finală, permițându-le să fie plasate oriunde
        în fișierul/fișierele de paritate unde este disponibil spațiu liber
        (inclusiv golurile existente).
        Scopul principal al acestei opțiuni este de a reduce dimensiunea pe disc
        a fișierului de paritate.
        Dacă realocarea eliberează cu succes întreaga secțiune finală
        (nu mai rămân blocuri care să o utilizeze), fișierul de paritate este
        trunchiat, recuperând spațiul final neutilizat.
        Puteți utiliza multiplicatori precum K, M, G sau T (ex.
        --force-realloc-tail 1G).
        Puteți utiliza locate -t, --tail pentru a cunoaște în avans
        fișierele afectate.
        AVERTIZARE!
        Această opțiune este doar pentru experți și se recomandă
        insistent să nu fie utilizată.
        NU beneficiați de protecție a datelor în timpul operațiunii `sync`
        pentru fișierele afectate.

    -l, --log FILE
        Scrie un jurnal detaliat în fișierul specificat.
        Dacă această opțiune nu este specificată, erorile neașteptate sunt tipărite
        pe ecran, putând rezulta o ieșire excesivă în caz de
        multe erori. Când -l, --log este specificat, doar
        erorile fatale care fac SnapRAID să se oprească sunt tipărite
        pe ecran.
        Dacă calea începe cu `>>`, fișierul este deschis
        în modul de adăugare. Aparițiile de `%D` și `%T` în nume sunt
        înlocuite cu data și ora în formatul YYYYMMDD și
        HHMMSS. În fișierele batch Windows, trebuie să dublați
        caracterul `%`, de exemplu, result-%%D.log. Pentru a utiliza `>>`, trebuie
        să închideți numele între ghilimele, de exemplu, `">>result.log"`.
        Pentru a scoate jurnalul la ieșirea standard sau la eroarea standard,
        puteți utiliza `">&1"` și `">&2"`, respectiv.
        Vedeți fișierul snapraid_log.txt sau pagina de manual pentru descrieri ale etichetelor jurnalului.

    -L, --error-limit NUMBER
        Setează o nouă limită de erori înainte de a opri execuția.
        În mod implicit, SnapRAID se oprește dacă întâlnește mai mult de 100
        de erori de intrare/ieșire, indicând că un disc probabil se defectează.
        Această opțiune afectează `sync` și `scrub`, cărora li se permite
        să continue după primul set de erori de disc pentru a încerca
        să își finalizeze operațiunile.
        Cu toate acestea, `check` și `fix` se opresc întotdeauna la prima eroare.

    -S, --start BLKSTART
        Începe procesarea de la numărul de bloc
        specificat. Acest lucru poate fi util pentru a reîncerca verificarea
        sau repararea anumitor blocuri în cazul unui disc deteriorat.
        Această opțiune este în principal pentru recuperarea manuală avansată
        și este acceptată numai de `check` și `fix`.

    -B, --count BLKCOUNT
        Procesează doar numărul specificat de blocuri.
        Această opțiune este în principal pentru recuperarea manuală avansată
        și este acceptată numai de `check` și `fix`.

    -C, --gen-conf CONTENT
        Generează un fișier de configurare fictiv dintr-un fișier
        de conținut existent.
        Fișierul de configurare este scris la ieșirea standard
        și nu suprascrie unul existent.
        Acest fișier de configurare conține și informațiile
        necesare pentru a reconstrui punctele de montare a discului în cazul în care
        pierdeți întregul sistem.

    -v, --verbose
        Tipărește mai multe informații pe ecran.
        Dacă este specificat o dată, tipărește fișierele excluse
        și statistici suplimentare.
        Această opțiune nu are niciun efect asupra fișierelor jurnal.

    -q, --quiet
        Tipărește mai puține informații pe ecran.
        Dacă este specificat o dată, elimină bara de progres; de două ori,
        operațiunile în curs; de trei ori, mesajele info
        ; de patru ori, mesajele de stare.
        Erorile fatale sunt întotdeauna tipărite pe ecran.
        Această opțiune nu are niciun efect asupra fișierelor jurnal.

    -H, --help
        Tipărește un ecran de ajutor scurt.

    -V, --version
        Tipărește versiunea programului.


7 CONFIGURARE (CONFIGURATION)
=============================

SnapRAID necesită un fișier de configurare pentru a ști unde se află matricea dvs. de discuri
și unde să stocheze informațiile de paritate.

În Unix, utilizează fișierul `/usr/local/etc/snapraid.conf` dacă există,
altfel `/etc/snapraid.conf`.
În Windows, utilizează fișierul `snapraid.conf` din același
director ca `snapraid.exe`.

Trebuie să conțină următoarele opțiuni (sensibile la majuscule/minuscule):

7.1 parity FILE [,FILE] ...
---------------------------

Definește fișierele de utilizat pentru a stoca informațiile de paritate.
Paritatea permite protecția împotriva unei singure defecțiuni de disc,
similar cu RAID5.

Puteți specifica mai multe fișiere, care trebuie să fie pe discuri diferite.
Când un fișier nu mai poate crește, este utilizat următorul.
Spațiul total disponibil trebuie să fie cel puțin la fel de mare ca cel mai mare disc de date din
matrice.

Puteți adăuga fișiere de paritate suplimentare mai târziu, dar nu
le puteți reordona sau elimina.

Păstrarea discurilor de paritate rezervate pentru paritate asigură că
nu devin fragmentate, îmbunătățind performanța.

În Windows, 256 MB sunt lăsați neutilizați pe fiecare disc pentru a evita
avertismentul despre discuri pline.

Această opțiune este obligatorie și poate fi utilizată o singură dată.

7.2 (2,3,4,5,6)-parity FILE [,FILE] ...
---------------------------------------

Definește fișierele de utilizat pentru a stoca informații de paritate suplimentare.

Pentru fiecare nivel de paritate specificat, este activat un nivel suplimentar de protecție:

* 2-parity activează paritatea dublă RAID6.
* 3-parity activează paritatea triplă.
* 4-parity activează paritatea cvadruplă (patru).
* 5-parity activează paritatea penta (cinci).
* 6-parity activează paritatea hexa (șase).

Fiecare nivel de paritate necesită prezența tuturor nivelurilor de paritate
anterioare.

Aceleași considerații ca pentru opțiunea `parity` se aplică.

Aceste opțiuni sunt opționale și pot fi utilizate o singură dată.

7.3 z-parity FILE [,FILE] ...
-----------------------------

Definește un fișier și un format alternativ pentru a stoca paritatea triplă.

Această opțiune este o alternativă la `3-parity`, destinată în primul rând
CPU-urilor low-end precum ARM sau AMD Phenom, Athlon și Opteron care nu
suportă setul de instrucțiuni SSSE3. În astfel de cazuri, oferă
o performanță mai bună.

Acest format este similar cu cel utilizat de ZFS RAIDZ3, dar mai rapid decât acesta.
Ca și ZFS, nu funcționează dincolo de paritatea triplă.

Când utilizați `3-parity`, veți fi avertizați dacă este recomandat să utilizați
formatul `z-parity` pentru îmbunătățirea performanței.

Este posibil să convertiți de la un format la altul ajustând
fișierul de configurare cu fișierul z-parity sau 3-parity dorit
și utilizând `fix` pentru a-l recrea.

7.4 content FILE
----------------

Definește fișierul de utilizat pentru a stoca lista și sumele de control (checksums) ale tuturor
fișierelor prezente în matricea dvs. de discuri.

Poate fi plasat pe un disc utilizat pentru date, paritate sau
orice alt disc disponibil.
Dacă utilizați un disc de date, acest fișier este automat exclus
din procesul `sync`.

Această opțiune este obligatorie și poate fi utilizată de mai multe ori pentru a salva
mai multe copii ale aceluiași fișier.

Trebuie să stocați cel puțin o copie pentru fiecare disc de paritate utilizat
plus unul. Utilizarea de copii suplimentare nu dăunează.

7.5 data NAME DIR
-----------------

Definește numele și punctul de montare al discurilor de date din
matrice. NAME este utilizat pentru a identifica discul și trebuie
să fie unic. DIR este punctul de montare al discului în
sistemul de fișiere.

Puteți schimba punctul de montare după cum este necesar, atâta timp cât
păstrați NAME fix.

Cu toate acestea, calea configurată trebuie să indice în mod consecvent
aceleași date subiacente. Dacă calea conține legături simbolice,
țintele acestora trebuie să rămână stabile. Redirecționarea acestor linkuri
pentru a schimba directorul de date din mers nu este acceptată.

Ar trebui să utilizați o opțiune pentru fiecare disc de date din matrice.

Puteți redenumi un disc mai târziu schimbând NAME direct
în fișierul de configurare și apoi rulând o comandă `sync`.
În cazul redenumirii, asocierea se face utilizând UUID-ul stocat
al discurilor.

7.6 extra NAME DIR
------------------

Definește numele și punctul de montare al discurilor suplimentare
care vor fi monitorizate cu comenzile `smart` și `probe`.

Acest lucru este util pentru monitorizarea discurilor care nu fac
parte din matrice, dar sunt necesare pentru funcționarea
sistemului, cum ar fi discul de pornire.

Rețineți că astfel de discuri nu sunt afectate de comenzile `up` și
`down` deoarece se așteaptă ca acestea să se rotească mereu.

7.7 snapshot
------------

Activează utilizarea snapshot-urilor sistemului de fișiere pentru comenzile `sync`, `scrub`,
`check` și `fix`.

Când este activată, SnapRAID creează un snapshot read-only al fiecărui sistem
de fișiere de date acceptat la începutul unui 'sync'. Acest lucru oferă o vizualizare
stabilă a fiecărui sistem de fișiere, împiedicând modificările ulterioare să modifice
datele utilizate pentru calculul parității.

Acest lucru îmbunătățește semnificativ recuperarea: dacă un fișier este șters din sistemul de fișiere live,
el rămâne păstrat în snapshot. Acest lucru previne ca paritatea să devină „ruptă”
pentru acel bloc, asigurându-vă că puteți recupera cu succes datele
dacă un alt disc se defectează.

Această opțiune se aplică exclusiv discurilor de date formatate cu sistemele de
fișiere Btrfs, Bcachefs sau ZFS în Linux și NTFS în Windows.
Discurile de paritate, sau discurile de date care utilizează alte sisteme de fișiere, vor folosi întotdeauna
versiunea live a sistemului de fișiere.

Crearea și ștergerea snapshot-urilor necesită privilegii administrative.
Asigurați-vă că SnapRAID este rulat cu permisiunile necesare (de exemplu, sudo) când
această opțiune este activată.

Consultați secțiunea SNAPSHOTS pentru o explicație detaliată a ciclului de viață
al snapshot-urilor.

7.8 nohidden
------------

Exclude toate fișierele și directoarele ascunse.
În Unix, fișierele ascunse sunt cele care încep cu `.`.
În Windows, sunt cele cu atributul ascuns.

7.9 exclude/include PATTERN
---------------------------

Definește modelele de fișiere sau directoare de exclus sau inclus
în procesul de sincronizare.
Toate modelele sunt procesate în ordinea specificată.

Dacă primul model care se potrivește este un `exclude`, fișierul
este exclus. Dacă este un `include`, fișierul este inclus.
Dacă niciun model nu se potrivește, fișierul este exclus dacă ultimul model
specificat este un `include`, sau inclus dacă ultimul model
specificat este un `exclude`.

Rețineți că filtrarea se produce ierarhic în timpul parcurgerii
directoarelor. Dacă un director se potrivește cu o regulă `exclude`,
întregul director este omis (eliminat), iar regulile `include` pentru
fișierele sau subdirectoarele din interiorul său nu vor fi evaluate.

Vedeți secțiunea PATTERN pentru mai multe detalii despre
specificațiile modelului.

Această opțiune poate fi utilizată de mai multe ori.

7.10 blocksize SIZE_IN_KIBIBYTES
--------------------------------

Definește dimensiunea de bază a blocului în kibibytes pentru paritate.
Un kibibyte este 1024 de octeți.

Dimensiunea implicită a blocului este 256, care ar trebui să funcționeze pentru majoritatea cazurilor.

ATENȚIE! Această opțiune este doar pentru experți și este puternic
recomandat să nu schimbați această valoare. Pentru a schimba această valoare în
viitor, va trebui să recreați întreaga paritate!

Un motiv pentru a utiliza o dimensiune de bloc diferită este dacă aveți multe fișiere
mici, de ordinul milioanelor.

Pentru fiecare fișier, chiar dacă are doar câțiva octeți, este alocat un bloc întreg de paritate,
iar cu multe fișiere, acest lucru poate duce la un spațiu de paritate neutilizat semnificativ.
Când umpleți complet discul de paritate, nu vi se
permite să adăugați mai multe fișiere pe discurile de date.
Cu toate acestea, paritatea irosită nu se acumulează pe discurile de date. Spațiul irosit
rezultat dintr-un număr mare de fișiere pe un disc de date limitează doar
cantitatea de date de pe acel disc de date, nu pe celelalte.

Ca o aproximare, puteți presupune că jumătate din dimensiunea blocului este
irosită pentru fiecare fișier. De exemplu, cu 100.000 de fișiere și o dimensiune de bloc
de 256 KiB, veți irosi 12,8 GB de paritate, ceea ce poate duce
la 12,8 GB mai puțin spațiu disponibil pe discul de date.

Puteți verifica cantitatea de spațiu irosit pe fiecare disc utilizând `status`.
Aceasta este cantitatea de spațiu pe care trebuie să o lăsați liberă pe discurile de date
sau să o utilizați pentru fișiere care nu sunt incluse în matrice.
Dacă această valoare este negativă, înseamnă că sunteți aproape de a umple
paritatea și reprezintă spațiul pe care îl puteți irosi încă.

Pentru a evita această problemă, puteți utiliza o partiție mai mare pentru paritate.
De exemplu, dacă partiția de paritate este cu 12,8 GB mai mare decât discurile de date,
aveți suficient spațiu suplimentar pentru a gestiona până la 100.000
de fișiere pe fiecare disc de date fără niciun spațiu irosit.

Un truc pentru a obține o partiție de paritate mai mare în Linux este să o formatați
cu comanda:

    mkfs.ext4 -m 0 -T largefile4 DEVICE

Acest lucru duce la aproximativ 1,5% spațiu suplimentar, aproximativ 60 GB pentru
un disc de 4 TB, ceea ce permite aproximativ 460.000 de fișiere pe fiecare disc de date fără
niciun spațiu irosit.

7.11 hashsize SIZE_IN_BYTES
---------------------------

Definește dimensiunea hash-ului în octeți pentru blocurile salvate.

Dimensiunea implicită a hash-ului este de 16 octeți (128 de biți), care ar trebui să funcționeze
pentru majoritatea cazurilor.

ATENȚIE! Această opțiune este doar pentru experți și este puternic
recomandat să nu schimbați această valoare. Pentru a schimba această valoare în
viitor, va trebui să recreați întreaga paritate!

Un motiv pentru a utiliza o dimensiune de hash diferită este dacă sistemul dvs. are
memorie limitată. Ca regulă generală, SnapRAID necesită de obicei
1 GiB de RAM pentru fiecare 16 TB de date din matrice.

Mai exact, pentru a stoca hash-urile datelor, SnapRAID necesită
aproximativ TS*(1+HS)/BS octeți de RAM,
unde TS este dimensiunea totală în octeți a matricei dvs. de discuri, BS este
dimensiunea blocului în octeți, iar HS este dimensiunea hash-ului în octeți.

De exemplu, cu 8 discuri de 4 TB, o dimensiune de bloc de 256 KiB
(1 KiB = 1024 octeți) și o dimensiune de hash de 16, obțineți:

RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1,93 GiB

Trecând la o dimensiune de hash de 8, obțineți:

RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1,02 GiB

Trecând la o dimensiune de bloc de 512, obțineți:

RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0,96 GiB

Trecând la ambele, o dimensiune de hash de 8 și o dimensiune de bloc de 512, obțineți:

RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0,51 GiB

7.12 autosave SIZE_IN_GIGABYTES
-------------------------------

Salvează automat starea la sincronizare sau verificare după
cantitatea specificată de GB procesați.
Această opțiune este utilă pentru a evita repornirea comenzilor `sync` lungi
de la zero dacă sunt întrerupte de o pană de sistem sau de orice alt eveniment.

7.13 temp_limit TEMPERATURE_CELSIUS
-----------------------------------

Setează temperatura maximă permisă a discului în Celsius. Când este specificată,
SnapRAID verifică periodic temperatura tuturor discurilor utilizând
instrumentul smartctl. Temperaturile curente ale discurilor sunt afișate în timp ce
SnapRAID funcționează. Dacă un disc depășește această limită, toate operațiunile
se opresc, iar discurile sunt oprite (puse în standby) pentru durata
definită de opțiunea `temp_sleep`. După perioada de așteptare, operațiunile
se reiau, putând fi întrerupte din nou dacă limita de temperatură este atinsă
încă o dată.

În timpul funcționării, SnapRAID analizează și curba de încălzire a fiecărui
disc și estimează temperatura constantă pe termen lung pe care se așteaptă să o
atingă dacă activitatea continuă. Estimarea este efectuată numai după
ce temperatura discului a înregistrat patru creșteri, asigurându-se că sunt disponibile
suficiente puncte de date pentru a stabili o tendință fiabilă.
Această temperatură constantă prezisă este afișată între paranteze lângă
valoarea curentă și ajută la evaluarea dacă răcirea sistemului este
adecvată. Această temperatură estimată este doar în scop informativ
și nu are niciun efect asupra comportamentului SnapRAID. Acțiunile programului
se bazează exclusiv pe temperaturile reale măsurate ale discurilor.

Pentru a efectua această analiză, SnapRAID are nevoie de o referință pentru
temperatura sistemului. Încearcă mai întâi să o citească de la senzorii hardware
disponibili. Dacă nu poate fi accesat niciun senzor de sistem, utilizează
cea mai scăzută temperatură a discului măsurată la începutul rulării ca referință de rezervă.

În mod normal, SnapRAID arată doar temperatura celui mai fierbinte disc.
Pentru a afișa temperatura tuturor discurilor, utilizați opțiunea -A sau --stats.

7.14 temp_sleep TIME_IN_MINUTES
-------------------------------

Setează timpul de așteptare (standby), în minute, când limita de temperatură este
atinsă. În această perioadă, discurile rămân oprite. Valoarea implicită
este 5 minute.

7.15 pool DIR
-------------

Definește directorul de pooling unde este creată vizualizarea virtuală a matricei
de discuri utilizând comanda `pool`.

Directorul trebuie să existe deja.

7.16 share UNC_DIR
------------------

Definește calea UNC Windows necesară pentru a accesa discurile de la distanță.

Dacă această opțiune este specificată, link-urile simbolice create în directorul pool
utilizează această cale UNC pentru a accesa discurile.
Fără această opțiune, link-urile simbolice generate utilizează doar căi locale,
ceea ce nu permite partajarea directorului pool peste rețea.

Link-urile simbolice sunt formate utilizând calea UNC specificată, adăugând
numele discului specificat în opțiunea `data` și, în final, adăugând
directorul și numele fișierului.

Această opțiune este necesară doar pentru Windows.

7.17 smartctl DISK/PARITY OPTIONS...
------------------------------------

Definește opțiuni smartctl personalizate pentru a obține atributele SMART pentru
fiecare disc. Acest lucru poate fi necesar pentru controlerele RAID și unele discuri USB
care nu pot fi detectate automat. Substituția %s este înlocuită de
numele dispozitivului, dar este opțională pentru dispozitivele fixe, cum ar fi controlerele RAID.

DISK este același nume de disc specificat în opțiunea `data`.
PARITY este unul dintre numele de paritate: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity` sau `z-parity`.

În OPȚIUNILE specificate, șirul `%s` este înlocuit de
numele dispozitivului. Pentru controlerele RAID, dispozitivul este
probabil fix și este posibil să nu fie nevoie să utilizați `%s`.

De asemenea, puteți specifica un șir de opțiuni de informații personalizate
utilizând eticheta `[info: ...]` pentru a înlocui opțiunea implicită `-a`.

Consultați documentația smartmontools pentru opțiuni posibile:

    https://www.smartmontools.org/wiki/Supported_RAID-Controllers
    https://www.smartmontools.org/wiki/Supported_USB-Devices

De exemplu:

    smartctl d1 [info: -H -i -c -A] -d sat %s
    smartctl parity -d sat %s

7.18 smartignore DISK/PARITY ATTR [ATTR...]
-------------------------------------------

Ignoră atributul SMART specificat la calcularea probabilității
de eșec al discului. Această opțiune este utilă dacă un disc raportează valori neobișnuite sau
înșelătoare pentru un anumit atribut.

DISK este același nume de disc specificat în opțiunea `data`.
PARITY este unul dintre numele de paritate: `parity`, `2-parity`, `3-parity`,
`4-parity`, `5-parity`, `6-parity` sau `z-parity`.
Valoarea specială * poate fi utilizată pentru a ignora atributul pe toate discurile.

Mai multe atribute pot fi specificate separate prin spații.
Fiecare atribut poate fi specificat ca un număr de la 1 la 255 sau ca un
nume insensibil la majuscule (de exemplu, `Current_Pending_Sector`).

De exemplu, pentru a ignora atributele `Current Pending Sector Count` și
`Reallocated Sectors Count` pe toate discurile după numărul sau numele lor:

    smartignore * 197 5
    smartignore * Current_Pending_Sector Reallocated_Sector_Ct

Pentru a le ignora doar pe primul disc de paritate:

    smartignore parity 197 5

7.19 Exemple
------------

Un exemplu de configurare tipică pentru Unix este:

    parity /mnt/diskp/snapraid.parity
    content /mnt/diskp/snapraid.content
    content /var/snapraid/snapraid.content
    data d1 /mnt/disk1/
    data d2 /mnt/disk2/
    data d3 /mnt/disk3/
    exclude /lost+found/
    exclude /tmp/
    smartctl d1 [info: -H -i -c -A] -d sat %s
    smartctl d2 -d usbjmicron %s
    smartctl parity -d areca,1/1 /dev/sg0
    smartctl 2-parity -d areca,2/1 /dev/sg0

Un exemplu de configurare tipică pentru Windows este:

    parity E:\snapraid.parity
    content E:\snapraid.content
    content C:\snapraid\snapraid.content
    data d1 G:\array\
    data d2 H:\array\
    data d3 I:\array\
    exclude Thumbs.db
    exclude \$RECYCLE.BIN
    exclude \System Volume Information
    smartctl d1 [info: -H -i -c -A] -d sat %s
    smartctl d2 -d usbjmicron %s
    smartctl parity -d areca,1/1 /dev/arcmsr0
    smartctl 2-parity -d areca,2/1 /dev/arcmsr0


8 SNAPSHOT-URI (SNAPSHOTS)
==========================

Dacă opțiunea snapshot este activată în configurație, SnapRAID
utilizează snapshot-urile sistemului de fișiere pentru a menține stabile datele citite
în timpul unei operațiuni, chiar și atunci când fișierele de pe sistemele de fișiere live
sunt modificate sau șterse ulterior.

Gestionarea snapshot-urilor este complet automată și transparentă.
Puteți continua să utilizați SnapRAID exact ca înainte, cu protecția
suplimentară oferită de snapshot-uri gestionate în întregime în
background.

Acest lucru oferă două avantaje principale:

Consistență - Fișierele modificate pe sistemul de fișiere live în timpul unui sync sau scrub
    de lungă durată nu vor cauza nepotriviri de paritate sau operațiuni abandonate,
    deoarece fiecare sistem de fișiere cu snapshot rămâne neschimbat pe durata operațiunii.
Recuperare - Dacă un fișier este actualizat sau șters din sistemul de fișiere live,
    el rămâne păstrat în snapshot. Dacă se produce o defecțiune a discului
    înainte de rularea următorului sync, SnapRAID utilizează datele păstrate
    în snapshot pentru a reconstrui discul defect.

    În cazul unei defecțiuni a discului în timpul unui proces de sync activ,
    SnapRAID este, de asemenea, capabil să citească automat atât din snapshot-ul
    calculului anterior de paritate, cât și din cel curent.
    Acest lucru maximizează probabilitatea unei recuperări complete prin
    oferirea accesului la blocurile exacte de date necesare pentru a rezolva
    ecuațiile de paritate, chiar dacă acele blocuri au fost modificate
    sau șterse între sync-uri.

    Fără snapshot-uri, un fișier actualizat sau șters pe un disc sănătos
    are ca rezultat lipsa unor blocuri de date care pot fi necesare pentru
    a repara alte discuri defecte.

Snapshot-urile sunt create doar pentru discurile de date și numai dacă sistemul de fișiere
subiacent acceptă această funcționalitate. Discurile de paritate folosesc întotdeauna
sistemul de fișiere live.

În prezent, acest lucru este acceptat pe Btrfs, Bcachefs și ZFS în Linux
și pe NTFS în Windows.

Puteți amesteca discuri de date cu sisteme de fișiere diferite. Doar cele care
acceptă snapshot-uri le vor utiliza, în timp ce celelalte discuri vor continua
să funcționeze direct pe sistemul de fișiere live.

Crearea și ștergerea snapshot-urilor necesită privilegii administrative.
Asigurați-vă că SnapRAID este rulat cu permisiunile necesare (de exemplu, sudo)
atunci când snapshot-urile sunt activate.

8.1 Comportamentul comenzilor cu snapshot-uri
---------------------------------------------

Comenzile `sync` și `scrub` folosesc snapshot-uri pentru discurile de date ale căror
sisteme de fișiere le acceptă. Pe un disc cu snapshot, comanda vede o imagine
stabilă a sistemului de fișiere, neafectată de modificările concurente de pe sistemul
de fișiere live.
În timpul unui `sync`, un nou snapshot este creat în mod independent pentru fiecare
sistem de fișiere de date acceptat. Aceste snapshot-uri oferă colectiv datele
utilizate pentru calculul parității.
În schimb, comanda `scrub` utilizează ultimul snapshot, cel
creat în timpul celui mai recent sync, pentru a menține un punct de referință de încredere
care se potrivește cu paritatea existentă.

Pentru comenzile `check` și `fix`, utilizarea ultimului snapshot
depinde dacă anumite discuri sunt vizate folosind opțiunea
-d, --filter-disk.

Un disc selectat în mod explicit prin -d („ținta” operațiunii)
folosește întotdeauna sistemul de fișiere live. Pentru `fix`, acest lucru permite restaurarea
datelor pe discul de înlocuire activ. Pentru `check`, permite simularea
operațiunii `fix` în aceleași condiții.

Toate celelalte discuri de date (discurile de „referință”) vor fi accesate prin intermediul
snapshot-urilor lor. Acest lucru asigură că, chiar dacă modificați fișiere
pe discurile sănătoase în timp ce o recuperare este în curs, SnapRAID
are o referință stabilă, înghețată pentru a rezolva ecuațiile de paritate.

Dacă nu este furnizată nicio opțiune -d, SnapRAID presupune că operațiunea se aplică
întregii matrice, caz în care `check` și `fix` vor folosi exclusiv
sistemele de fișiere live.

Toate celelalte comenzi operează exclusiv pe sistemul de fișiere live.


9 CICLUL DE VIAță AL SNAPSHOT-URILOR (SNAPSHOTS LIFECYCLE)
==========================================================

SnapRAID gestionează trei snapshot-uri specifice, `stable`, `pending` și `scan`,
într-un director ascuns la rădăcina fiecărui subvolum de date.
În Btrfs, Bcachefs și NTFS se folosește directorul `.snapraid/`,
în ZFS cel standard `.zfs/snapshot/`.

Snapshot-ul `stable` reprezintă starea ultimului
`sync` finalizat cu succes, conținând datele exacte utilizate pentru
a calcula paritatea curentă. Acesta servește ca sursă principală de date
pentru comenzile `scrub`, `check` și `fix`.

Snapshot-ul `scan` este o imagine temporară creată la începutul
unui `sync` pentru a oferi o stare înghețată pentru scanare și calculul parității.
După scanarea și salvarea stării noi de conținut, acesta înlocuiește snapshot-ul
`pending` anterior.

Snapshot-ul `pending` este imaginea utilizată de un `sync` întrerupt.
După finalizarea cu succes a operațiunii, snapshot-ul `stable` anterior
este șters, iar snapshot-ul `pending` este promovat pentru
a-i lua locul ca nouă referință stabilă.

Dacă un `sync` este întrerupt, snapshot-ul `pending` este păstrat.
Comenzile ulterioare `scrub`, `check` și `fix` vor folosi acest
snapshot în așteptare, deoarece se potrivește cu starea sistemului de fișiere înregistrată în
fișierul .content, chiar dacă paritatea este sincronizată doar parțial.

În cazul unei întreruperi a `sync`, comenzile `check` și `fix`
citesc, de asemenea, din snapshot-ul `stable` pentru a recupera blocurile de date
din fișierele care au fost actualizate sau șterse în timpul sync-ului.
Acest lucru este posibil deoarece fișierul .content păstrează metadatele pentru
toate fișierele modificate sau șterse pe parcursul procesului de sync.
Aceste informații istorice sunt șterse numai după ce un sync se termină
cu succes și versiunea finală a fișierului .content este salvată.

Dacă un `sync` este repornit după o întrerupere, snapshot-ul pending existent
este șters și se creează unul nou pentru
a captura starea curentă a sistemului de fișiere live.
Cu toate acestea, dacă un `sync` este întrerupt, evitați modificarea, ștergerea,
înlocuirea sau mutarea fișierelor până când un `sync` ulterior se finalizează
cu succes. Paritatea poate conține în continuare blocuri calculate din
snapshot-ul utilizat de sync-ul întrerupt. Un sync ulterior poate înlocui
acel snapshot, făcând versiunile intermediare ale fișierelor indisponibile
pentru recuperare.

9.1 Copii de rezervă externe cu snapshot-uri de sistem de fișiere (External backups with filesystem snapshots)
--------------------------------------------------------------------------------------------------------------

Când snapshot-urile sistemului de fișiere sunt activate, SnapRAID accesează
sau creează snapshot-uri la rădăcina fiecărui subvolum, volum sau set de
date (dataset).

O modalitate simplă de a evita orice interferență cu instrumentele externe
este de a configura discul `data` astfel încât să indice spre un subdirector
obișnuit din cadrul subvolumului sau volumului (de exemplu
`/mnt/subvol/data` în loc de `/mnt/subvol`). SnapRAID creează întotdeauna
directorul de snapshot-uri la rădăcina subvolumului (de exemplu
`/mnt/subvol/.snapraid/`), lăsând subdirectorul de date curat, astfel încât
snapshot-urile să rămână în exterior și invizibile pentru instrumentele de
backup care operează în interiorul său.

În caz contrar, dacă directorul `data` configurat este chiar rădăcina
subvolumului sau a volumului, SnapRAID creează un director `.snapraid/`
direct în interiorul acestuia (pe Btrfs, Bcachefs și NTFS). Deși SnapRAID
exclude automat acest director din scanarea proprie, instrumentele externe
de backup sau sincronizare îl vor întâlni. Dacă nu este exclus, acestea pot
traversa snapshot-urile sau legăturile de directoare și pot copia întregul
arbore de date înghețat, duplicând datele și epuizând spațiul de stocare al
backup-ului. Configurați întotdeauna instrumentele externe de backup să
excludă directorul `.snapraid/`.

Pe ZFS, snapshot-urile sunt expuse prin directorul virtual standard
`.zfs/snapshot/` în loc de `.snapraid/`. În mod implicit (`snapdir=hidden`),
ZFS ascunde acest director din listările de directoare, astfel încât
instrumentele externe de backup nu îl vor parcurge. Dacă ați activat
`snapdir=visible`, asigurați-vă că instrumentele de backup exclud
directorul `.zfs/`.


10 MODEL (PATTERN)
==================

Modelele oferă o modalitate flexibilă de a filtra fișierele pentru includere sau
excludere. Folosind caractere de tip globbing, puteți defini reguli care să
se potrivească cu nume de fișiere specifice sau cu structuri întregi de directoare fără
a lista manual fiecare cale.

Semnul întrebării `?` se potrivește cu orice caracter unic, cu excepția
separatorului de directoare. Acest lucru îl face util pentru potrivirea numelor de fișiere cu
caractere variabile, păstrând în același timp modelul limitat la un singur nivel de director.

Asteriscul simplu `*` se potrivește cu orice secvență de caractere, dar, la fel ca
semnul întrebării, nu trece niciodată de limitele directoarelor. Se oprește la
bara oblică (/), ceea ce îl face potrivit pentru potrivirea în cadrul unei singure
componente a căii. Acesta este comportamentul standard al metacaracterelor, familiar
din shell globbing.

Metacaracterul asterisc dublu `**` se potrivește peste separatorii de
directoare numai atunci când este adiacent unui separator de directoare
(precedat sau urmat de o bară oblică). În această formă, se potrivește cu
zero sau mai multe caractere pe mai multe niveluri de directoare. De exemplu,
`foo/**/bar` se potrivește cu `foo/bar`, `foo/a/bar` și `foo/a/b/bar`;
`**/build` se potrivește cu `build` și `foo/bar/build`; iar `src/**.js` se
potrivește cu `src/main.js` și `src/ui/components/main.js`.
Forma de sine stătătoare `/**/` nu este acceptată ca un model complet.

Când `**` nu este adiacent unei bare oblice, se comportă ca `*` și nu se
potrivește cu separatorii de directoare. De exemplu, `**.jpg` se potrivește cu
`photo.jpg` în directorul curent, dar nu se potrivește cu `dir/photo.jpg`.
Folosiți `**/*.jpg` în acest scop.

Clasele de caractere care utilizează paranteze pătrate `[]` se potrivesc cu un singur caracter dintr-un
set sau interval specificat. La fel ca și celelalte modele de un singur caracter, acestea
nu se potrivesc cu separatorii de directoare. Clasele suportă intervale și negarea folosind
un semn de exclamare.

Distincția fundamentală de reținut este că `*`, `?` și clasele de caractere
respectă toate limitele directoarelor și se potrivesc doar în cadrul unei singure
componente a căii, în timp ce `**` se poate potrivi peste separatorii de directoare
numai atunci când este adiacent unei bare oblice.

Există patru tipuri diferite de modele:

    FILE
        Selectează orice fișier cu numele FILE.
        Acest model se aplică numai fișierelor, nu și directoarelor.

    DIR/
        Selectează orice director cu numele DIR și tot ce se află în interior.
        Acest model se aplică numai directoarelor, nu și fișierelor.

    /PATH/FILE
        Selectează calea exactă a fișierului specificat. Acest model se aplică
        numai fișierelor, nu și directoarelor.

    /PATH/DIR/
        Selectează calea exactă a directorului specificat și tot ce se află
        în interior. Acest model se aplică numai directoarelor, nu și fișierelor.

Când specificați o cale absolută care începe cu /, aceasta este aplicată la
directorul rădăcină al matricei, nu la directorul rădăcină al sistemului de fișiere local.

În Windows, puteți utiliza backslash-ul \ în loc de slash-ul /.
Directoarele de sistem Windows, joncțiunile, punctele de montare și alte directoare
speciale Windows sunt tratate ca fișiere, ceea ce înseamnă că pentru a le exclude,
trebuie să utilizați o regulă de fișier, nu una de director.

Dacă numele fișierului conține un caracter `*`, `?`, `[`,
sau `]`, trebuie să îl escape-ați pentru a evita să fie interpretat ca un
caracter de globbing. În Unix, caracterul escape este `\`; în Windows, este `^`.
Când modelul este pe linia de comandă, trebuie să dublați caracterul escape
pentru a evita ca acesta să fie interpretat de shell-ul de comandă.

În fișierul de configurare, puteți utiliza diferite strategii pentru a filtra
fișierele de procesat.
Abordarea cea mai simplă este să utilizați doar reguli `exclude` pentru a elimina toate
fișierele și directoarele pe care nu doriți să le procesați. De exemplu:

    # Exclude orice fișier numit `*.unrecoverable`
    exclude *.unrecoverable
    # Exclude directorul rădăcină `/lost+found`
    exclude /lost+found/
    # Exclude orice subdirector numit `tmp`
    exclude tmp/

Abordarea opusă este să definiți doar fișierele pe care doriți să le procesați, utilizând
doar reguli `include`. De exemplu:

    # Include doar unele directoare
    include /movies/
    include /musics/
    include /pictures/

Abordarea finală este de a amesteca regulile `exclude` și `include`. În acest caz,
ordinea regulilor este importantă. Regulile anterioare au
precedență față de cele ulterioare.
Pentru a simplifica, puteți lista toate regulile `exclude` mai întâi și apoi
toate regulile `include`. De exemplu:

    # Exclude orice fișier numit `*.unrecoverable`
    exclude *.unrecoverable
    # Exclude orice subdirector numit `tmp`
    exclude tmp/
    # Include doar unele directoare
    include /movies/
    include /musics/
    include /pictures/

Rețineți că excluderea unui director (folosind DIR/ sau /CALE/DIR/)
împiedică SnapRAID să intre și să scaneze acel director. Prin urmare,
nu este posibil să reincludeți un fișier sau un subdirector situat
într-un director părinte exclus, deoarece scanerul nu îl parcurge niciodată.

De exemplu, următoarea configurație NU va include `file.dat` deoarece
`/keep/` este eliminat înainte ca `file.dat` să poată fi examinat:

    # NU funcționează: /keep/ este omis complet
    include /keep/file.dat
    exclude /keep/

Pentru a exclude fișierele dintr-un director păstrând anumite fișiere
specifice, excludeți modelul fișierelor din interiorul directorului,
în loc să excludeți directorul în sine:

    # Funcționează: /keep/ este parcurs, dar celelalte fișiere din interior sunt excluse
    include /keep/file.dat
    exclude /keep/*

Pe linia de comandă, utilizând opțiunea -f, puteți utiliza doar modele `include`.
De exemplu:

    # Verifică doar fișierele .mp3.
    # În Unix, utilizați ghilimele pentru a evita expansiunea globbing de către shell.
    snapraid -f "*.mp3" check

În Unix, când utilizați caractere globbing pe linia de comandă, trebuie
să le citați pentru a împiedica shell-ul să le extindă.


11 FIșIERE DE IGNORAT (IGNORE FILE)
===================================

Pe lângă regulile globale din fișierul de configurare, puteți plasa fișiere
`.snapraidignore` în orice director din array pentru a defini reguli de excludere
descentralizate.

Regulile definite în `.snapraidignore` sunt aplicate după regulile din fișierul
de configurare. Acest lucru înseamnă că au o prioritate mai mare și pot fi
utilizate pentru a exclude fișiere care au fost incluse anterior de configurația
globală. Efectiv, dacă o regulă locală se potrivește, fișierul este exclus
indiferent de setările globale de includere.

Logica modelelor în `.snapraidignore` oglindește configurația globală, dar
ancorează modelele de directorul în care se află fișierul:

    FILE
        Selectează orice fișier numit FILE în acest director sau mai jos.
        Acesta urmează aceleași reguli de globbing ca modelul global.

    DIR/
        Selectează orice director numit DIR și tot ce se află în interior,
        aflat în acest director sau mai jos.

    /PATH/FILE
        Selectează fișierul exact specificat raportat la locația
        fișierului `.snapraidignore`.

    /PATH/DIR/
        Selectează directorul exact specificat și tot ce se află în interior,
        raportat la locația fișierului `.snapraidignore`.

Spre deosebire de configurația globală, fișierele `.snapraidignore` suportă
doar reguli de excludere; nu puteți utiliza modele de `include` sau negația (!).

De exemplu, dacă aveți un `.snapraidignore` în `/mnt/disk1/projects/`:

    # Exclude DOAR /mnt/disk1/projects/output.bin
    /output.bin
    # Exclude orice director numit `build` în interiorul projects/
    build/
    # Exclude orice fișier .tmp în interiorul projects/ sau subfolderele sale
    *.tmp


12 CONțINUT (CONTENT)
=====================

SnapRAID stochează lista și sumele de control (checksums) ale fișierelor dvs. în fișierul de conținut.

Este un fișier binar care listează toate fișierele prezente în matricea dvs. de discuri,
împreună cu toate sumele de control pentru a le verifica integritatea.

Fișierul de conținut este citit și scris de comenzile `sync`, `scrub`,
`touch` și `rehash`. Este citit de comenzile `status`, `diff`, `check`,
`fix`, `list`, `dup`, `locate` și `pool`, și este complet ignorat
de comenzile `smart`, `probe`, `up`, `down` și `devices`.


13 PARITATE (PARITY)
====================

SnapRAID stochează informațiile de paritate ale matricei dvs. în fișierele de paritate.

Acestea sunt fișiere binare care conțin paritatea calculată a tuturor
blocurilor definite în fișierul de `content`.

Aceste fișiere sunt citite și scrise de comenzile `sync` și `fix` și
doar citite de comenzile `scrub` și `check`.


14 CODARE (ENCODING)
====================

SnapRAID în Unix ignoră orice codare. Citește și stochează
numele fișierelor cu aceeași codare utilizată de sistemul de fișiere.

În Windows, toate numele citite din sistemul de fișiere sunt convertite și
procesate în format UTF-8.

Pentru a avea numele fișierelor tipărite corect, trebuie să setați consola Windows
în modul UTF-8 cu comanda `chcp 65001` și să utilizați
un font TrueType precum `Lucida Console` ca font al consolei.
Acest lucru afectează doar numele de fișiere tipărite; dacă
redirecționați ieșirea consolei către un fișier, fișierul rezultat este întotdeauna
în format UTF-8.


15 COD DE IEșIRE (EXIT CODE)
============================

SnapRAID se termină cu următoarele coduri de eroare:

0 - Totul este OK.
1 - Comanda a întâmpinat unele erori.
2 - Comanda `diff` a constatat că totul este OK, dar este necesar un `sync`.
3 - O comandă de dispozitiv de disc (`probe`, `smart`, `devices`, `up`,
    `down`) s-a finalizat, dar cel puțin un sistem de fișiere funcționează
    în mod degradat cu dispozitive lipsă.


16 PROBLEME CUNOSCUTE (KNOWN ISSUES)
====================================

16.1 Limitele sistemului de fișiere
-----------------------------------

SnapRAID nu traversează limitele sistemului de fișiere, punctelor de montare
sau subvolumelor în timpul scanării unui disc de date. Când este detectată
o astfel de limită, SnapRAID raportează un AVERTISMENT și nu scanează dincolo de ea.

Fișierele situate dincolo de aceste limite nu sunt incluse pe discul de date
și trebuie configurate separat dacă trebuie protejate.

16.2 Puncte de montare cu instantanee ale sistemului de fișiere
---------------------------------------------------------------

Când instantanee ale sistemului de fișiere sunt activate, punctele de montare
imbricate și montările bind din interiorul unui disc de date nu sunt acceptate.

Punctele de montare fac parte din spațiul de nume de montare al sistemului
activ și nu sunt păstrate în instantaneele sistemului de fișiere. În consecință,
la scanarea unui instantaneu, un director ascuns de un punct de montare în
sistemul de fișiere activ poate deveni vizibil.

Nu plasați puncte de montare imbricate sau montări bind în interiorul discurilor
de date când instantaneele sistemului de fișiere sunt activate.

16.3 Configurații multiple cu instantanee ale sistemului de fișiere
-------------------------------------------------------------------

Suportul pentru instantanee nu poate fi partajat în siguranță de mai multe
configurații independente SnapRAID care utilizează același spațiu de nume
pentru instantanee al sistemului de fișiere.

Pe Btrfs și Bcachefs, o singură configurație SnapRAID cu suportul pentru
instantanee activat poate utiliza directoare de date din cadrul aceluiași
subvolum. Pe ZFS, aceeași restricție se aplică unui dataset, iar pe NTFS
unui volum.

Configurațiile multiple care partajează același spațiu de nume pentru instantanee
folosesc aceleași instantanee `stable`, `pending` și `scan`. Rularea unei
configurații poate astfel înlocui sau șterge instantaneele de recuperare
necesare alteia.

16.4 Modificări ale fișierelor pe loc fără schimbarea marcajului temporal
-------------------------------------------------------------------------

SnapRAID detectează modificările fișierelor comparând dimensiunile fișierelor
și marcajele temporale de modificare (mtime).

Dacă o aplicație modifică un fișier pe loc fără a-i modifica dimensiunea
și fără a-i actualiza marcajul temporal de modificare, "diff" și "sync" nu
vor detecta că fișierul s-a modificat, iar paritatea acestuia nu va fi
actualizată.

Pentru a vă asigura că SnapRAID recunoaște astfel de modificări, actualizați
marcajul temporal de modificare al fișierului (de exemplu, cu utilitarul
"touch"). În caz contrar, diferența va fi detectată doar ca o neconcordanță
de hash în timpul unui "scrub" sau "check" ulterior.

16.5 Potrivirea majusculelor/minusculelor non-ASCII în Windows
--------------------------------------------------------------

SnapRAID utilizează codificarea UTF-8 standard și previzibilă pe toate
platformele, limitând potrivirea fără distincție între majuscule și minuscule
la caracterele ASCII.

Sistemele de fișiere Windows suferă din cauza designului moștenit de a impune
insensibilitatea la majuscule/minuscule asupra numelor de fișiere Unicode prin
tabele arbitrare de conversie dependente de sistem. În consecință, Windows
maschează realitatea sistemului de fișiere tratând secvențe de octeți Unicode
complet diferite ca și cum ar fi același fișier.

De exemplu, `À.txt` și `à.txt` sunt nume Unicode distincte, însă Windows le
tratează în mod ilogic ca fiind identice, în timp ce SnapRAID le păstrează
distincția reală.

Această limitare este cauzată de gestionarea incoerentă a numelor de fișiere
Unicode de către Windows și de insistența sa asupra aplicării de aliasuri fără
distincție între majuscule și minuscule. Pentru a preveni discrepanțele apărute
din conversia efectuată de Windows, specificați întotdeauna forma exactă a
caracterelor non-ASCII în căile de configurare și filtre.

16.6 Recuperare cu fix parțial
------------------------------

Când `fix` este restricționat folosind `-S, --start` sau `-B, --count`,
SnapRAID operează doar pe blocurile selectate și nu efectuează finalizarea
la nivel de fișier sau carantina.

Dacă recuperarea produce date de tip „best-effort” despre care nu se poate
dovedi că reprezintă conținutul curent, astfel de blocuri pot fi totuși
scrise sub numele de fișier normal. Incertitudinea asociată cu aceste blocuri
recuperate nu este păstrată după terminarea comenzii.

În consecință, un `fix` ulterior va trata aceste blocuri lizibile drept date
de fișier valide și nu va încerca să le recupereze din nou. Acest lucru poate
face ca o recuperare ulterioară să raporteze succes, lăsând în același timp date
incomplete sau învechite în fișier.

Opțiunile `-S` și `-B` sunt destinate exclusiv recuperării manuale avansate,
de obicei după ce un `fix` normal a eșuat. Dacă un `fix` parțial raportează
date nerecuperabile, eliminați sau redenumiți fișierele afectate înainte de a
încerca o nouă recuperare, sau verificați manual conținutul acestora.

16.7 Legături dure NTFS și căi excluse
--------------------------------------

Pe NTFS, intrările din director memorează în cache dimensiunea fișierului
și marcajele temporale în mod independent pentru fiecare legătură dură.
Când un fișier este modificat printr-o legătură, intrările din director ale
celorlalte legături care indică spre același fișier pot păstra metadate
învechite până când sunt accesate.

SnapRAID detectează și normalizează automat această stare ori de câte ori
întâlnește cel puțin două legături dure către același fișier în timpul unei
scanări. Cu toate acestea, dacă este scanată o singură legătură dură în
timp ce celelalte sunt excluse prin filtre sau se află în afara căii
discului de date, SnapRAID nu poate detecta coliziunea de inoduri și se
bazează pe metadatele din cache ale singurei legături vizibile.

Prin urmare, modificările efectuate printr-o legătură dură exclusă sau
externă pot trece neobservate de SnapRAID până când metadatele legăturii
incluse sunt reîmprospătate de sistemul de operare (cum ar fi atunci când
fișierul este accesat sau deschis prin acea cale).

Pentru a evita această limitare, evitați modificarea fișierelor protejate
prin legături dure care sunt excluse din SnapRAID, sau asigurați-vă că toate
legăturile dure către un fișier sunt incluse în scanare, astfel încât
SnapRAID să le poată normaliza.

16.8 Recuperare după un sync multi-paritate întrerupt
-----------------------------------------------------

Într-o matrice cu mai multe discuri de paritate, un `sync` întrerupt
poate lăsa nivelurile de paritate temporar nesincronizate între ele.
De exemplu, paritatea 1 ar putea conține deja date nou actualizate,
în timp ce paritatea 2 conține încă datele vechi.

În timpul `check` sau `fix`, SnapRAID încearcă diferite combinații de
paritate și validează datele reconstruite pe baza hash-urilor de bloc
cunoscute (acoperind blocul complet, de obicei 256 KiB).

Dacă SnapRAID încearcă o reconstrucție folosind un amestec inconsistent
de paritate veche și nouă, ecuațiile liniare RAID vor produce date
incorecte. Pentru ca această combinație invalidă să fie acceptată în mod
eronat, ecuațiile ar trebui să reconstruiască accidental cel puțin un
bloc complet de 256 KiB atât de perfect încât hash-ul său să se
potrivească, în timp ce alte blocuri nesincronizate din aceeași bandă
sunt reconstruite cu date incorecte.

Acest scenariu nu depinde de o coliziune de hash; mai degrabă, ecuațiile
de paritate mixtă în sine ar trebui să producă din întâmplare conținutul
exact al blocului original de 256 KiB. Deși este matematic posibil în
cazul datelor special concepute sau extrem de repetitive, este practic
imposibil cu date reale.

Dacă toate discurile sunt integre, finalizarea `sync`-ului întrerupt
înainte de a face alte modificări elimină această ambiguitate. Dacă un
disc a cedat și este necesară recuperarea, evitați modificarea discurilor
de date înainte de a rula `check` sau `fix`.

16.9 Nume rezervate de fișiere și directoare
--------------------------------------------

SnapRAID rezervă anumite nume de fișiere, directoare și snapshot-uri pentru
operațiunile sale interne. Nu utilizați aceste nume pentru datele utilizatorului:

.snapraidignore - Fișier local cu reguli de excludere.
.snapraid - Director container pentru snapshot-uri.
snapraid-* - Nume de snapshot-uri ZFS gestionate de SnapRAID.
*.unrecoverable - Fișiere deteriorate puse în carantină în timpul recuperării.
CONTENT.tmp - Fișier temporar pentru actualizările fișierului content.
CONTENT.lock - Fișier de blocare pentru fișierul content.
PARITY.spaceholder - Fișier temporar pentru rezervarea spațiului în timpul
    alocării parității pe Windows.

Utilizarea acestor nume pentru date fără legătură poate face ca fișierele sau
snapshot-urile să fie ignorate, interpretate eronat ca metadate, suprascrise,
redenumite sau șterse.

Pe Windows, toate variantele majuscule/minuscule sunt de asemenea rezervate,
chiar și în directoarele NTFS configurate pentru diferențierea majusculelor de
minuscule (de exemplu, .SNAPRAIDIGNORE, .SnapRaid, CONTENT.TMP și CONTENT.Lock).


17 TRADUCERE (TRANSLATION)
==========================

Acest document este o traducere automată a manualului în limba engleză.
Consultați manualul în limba engleză pentru versiunea oficială.


18 DREPT DE AUTOR (COPYRIGHT)
=============================

Acest fișier este Copyright (C) 2026 Andrea Mazzoleni


19 VEZI șI (SEE ALSO)
=====================

snapraid_log(1), snapraidd(1), rsync(1)
