2026-03-30 10:01:17 +02:00
<!DOCTYPE html>
2025-12-12 11:57:38 +01:00
< html lang = "en" >
< head >
2026-03-30 10:01:17 +02:00
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "description" content = "A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures" >
< meta name = "keywords" content = "snapraid snapshot raid backup disk array redundancy parity" >
< title > SnapRAID CLI Manual< / title >
< link rel = "stylesheet" href = "style.css" >
2026-04-14 09:53:56 +02:00
< link rel = "apple-touch-icon" sizes = "180x180" href = "/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/favicon-16x16.png" >
< link rel = "manifest" href = "/site.webmanifest" >
2026-03-30 10:01:17 +02:00
< script src = "script.js" > < / script >
2025-12-12 11:57:38 +01:00
<!-- Google Analytics 4 -->
<!-- Google tag (gtag.js) -->
< script async src = "https://www.googletagmanager.com/gtag/js?id=G-W1Z5FKHYQ4" > < / script >
< script >
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-W1Z5FKHYQ4');
< / script >
<!-- Google Universal Analytics -->
< script type = "text/javascript" >
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21967501-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
< / script >
2026-03-30 10:01:17 +02:00
2025-12-12 11:57:38 +01:00
< / head >
< body >
2026-03-30 10:01:17 +02:00
< header >
< div class = "container nav-container" >
< a href = "index" class = "logo" >
< img src = "android-chrome-192x192.png" width = "32" height = "32" / >
SnapRAID
< / a >
< nav >
< input type = "checkbox" id = "menu-toggle" >
< label for = "menu-toggle" class = "menu-icon" > < svg viewBox = "0 0 24 24" width = "24" height = "24" fill = "currentColor" > < path d = "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" / > < / svg > < / label >
< ul >
< li > < a href = "index" > Home< / a > < / li >
< li > < a href = "ui" > UI & Daemon< / a > < / li >
< li > < a href = "howitworks" > How it Works< / a > < / li >
< li > < a href = "design" > Design< / a > < / li >
< li > < a href = "compare" > Compare< / a > < / li >
< li > < a href = "manual" class = "active" > Manual< / a > < / li >
< li > < a href = "faq" > FAQ< / a > < / li >
< li > < a href = "support" > Support< / a > < / li >
< li > < a href = "download" class = "nav-cta" > Download< / a > < / li >
< li >
< button class = "theme-toggle" aria-label = "Toggle theme" >
< svg class = "sun-icon" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < circle cx = "12" cy = "12" r = "5" > < / circle > < line x1 = "12" y1 = "1" x2 = "12" y2 = "3" > < / line > < line x1 = "12" y1 = "21" x2 = "12" y2 = "23" > < / line > < line x1 = "4.22" y1 = "4.22" x2 = "5.64" y2 = "5.64" > < / line > < line x1 = "18.36" y1 = "18.36" x2 = "19.78" y2 = "19.78" > < / line > < line x1 = "1" y1 = "12" x2 = "3" y2 = "12" > < / line > < line x1 = "21" y1 = "12" x2 = "23" y2 = "12" > < / line > < line x1 = "4.22" y1 = "19.78" x2 = "5.64" y2 = "18.36" > < / line > < line x1 = "18.36" y1 = "5.64" x2 = "19.78" y2 = "4.22" > < / line > < / svg >
< svg class = "moon-icon" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" > < / path > < / svg >
< / button >
< / li >
< / ul >
< / nav >
< / div >
< / header >
< div class = "container manual-layout" >
< aside class = "manual-sidebar" >
< h4 > Components< / h4 >
< select id = "manual-selector" style = "width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;" >
< option value = "manual" > Command Line< / option >
< option value = "manual-daemon" > Daemon< / option >
< option value = "manual-log" > Log< / option >
< / select >
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
< h4 > Languages< / h4 >
< select id = "language-selector" style = "width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;" >
< option value = "manual" > English< / option >
< option value = "manual-de" > German< / option >
< option value = "manual-es" > Spanish< / option >
< option value = "manual-fr" > French< / option >
< option value = "manual-it" > Italian< / option >
< option value = "manual-ja" > Japanse< / option >
< option value = "manual-ko" > Korean< / option >
< option value = "manual-pl" > Polish< / option >
< option value = "manual-pt" > Portuguese< / option >
< option value = "manual-ro" > Romanian< / option >
< option value = "manual-ru" > Russian< / option >
< option value = "manual-sv" > Swedish< / option >
< option value = "manual-uk" > Ukranian< / option >
< option value = "manual-zh" > Simplified Chinese< / option > .
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
< / select >
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
< h4 > Contents< / h4 >
< ul id = "manual-toc-list" >
<!-- Populated by JavaScript -->
< / ul >
< / aside >
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
< main id = "manual-container" >
< div class = "manual-doc" >
< div class = "manual-section-level-1" >
< h1 id = "sec1" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Sinossi
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-12 11:57:38 +01:00
< pre >
snapraid [-c, --conf CONFIG]
[-f, --filter PATTERN] [-d, --filter-disk NAME]
[-m, --filter-missing] [-e, --filter-error]
[-a, --audit-only] [-h, --pre-hash] [-i, --import DIR]
[-p, --plan PERC|bad|new|full]
[-o, --older-than DAYS] [-l, --log FILE]
[-s, --spin-down-on-error] [-w, --bw-limit RATE]
2026-03-30 10:01:17 +02:00
[-t, --tail]
2025-12-12 11:57:38 +01:00
[-Z, --force-zero] [-E, --force-empty]
[-U, --force-uuid] [-D, --force-device]
[-N, --force-nocopy] [-F, --force-full]
2026-03-30 10:01:17 +02:00
[-R, --force-realloc] [-W, --force-realloc-tail]
2025-12-12 11:57:38 +01:00
[-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
2026-03-30 10:01:17 +02:00
|list|dup|pool|devices|touch|rehash|locate
2025-12-12 11:57:38 +01:00
< / pre >
< pre >
snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT]
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec2" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Descrizione
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID è un programma di backup progettato per array di dischi, che
2025-12-12 11:57:38 +01:00
memorizza informazioni di parità per il recupero dati in caso di guasto
fino a sei dischi.
2025-12-14 22:21:44 +01:00
< / p > < p > Destinato principalmente a centri multimediali domestici con file grandi
2025-12-12 11:57:38 +01:00
e che cambiano raramente, SnapRAID offre diverse funzionalità:
2025-12-14 22:21:44 +01:00
< / p > < ul >
2025-12-12 11:57:38 +01:00
< li >
È possibile utilizzare dischi già pieni di file senza la necessità
di riformattarli, accedendovi come al solito.
< / li >
< li >
Tutti i dati sono sottoposti ad hashing per garantire l'integrità dei
dati e prevenire la corruzione silente.
< / li >
< li >
Quando il numero di dischi guasti supera il conteggio di parità,
la perdita di dati è confinata ai dischi interessati; i dati sugli
altri dischi rimangono accessibili.
< / li >
< li >
Se si eliminano accidentalmente dei file su un disco, il recupero
è possibile.
< / li >
< li >
I dischi possono avere dimensioni diverse.
< / li >
< li >
È possibile aggiungere dischi in qualsiasi momento.
< / li >
< li >
SnapRAID non blocca i dati; è possibile smettere di usarlo in qualsiasi
momento senza riformattare o spostare i dati.
< / li >
< li >
Per accedere a un file, è necessario far girare solo un singolo disco,
risparmiando energia e riducendo il rumore.
< / li >
< / ul >
2025-12-14 22:21:44 +01:00
< p > Per maggiori informazioni, si prega di visitare il sito ufficiale SnapRAID:
2026-03-30 10:01:17 +02:00
< / p > < pre >
< a href = "https://www.snapraid.it/" > https://www.snapraid.it/< / a >
2025-12-12 11:57:38 +01:00
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec3" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Limitazioni
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID è un ibrido tra un programma RAID e un programma di backup,
2025-12-12 11:57:38 +01:00
che mira a combinare i migliori vantaggi di entrambi. Tuttavia, ha
alcune limitazioni che si dovrebbero considerare prima di usarlo.
2025-12-14 22:21:44 +01:00
< / p > < p > La limitazione principale è che se un disco si guasta e non si è
2025-12-12 11:57:38 +01:00
effettuato un sync di recente, potrebbe non essere possibile recuperare
completamente.
Più specificamente, potrebbe non essere possibile recuperare fino alla
dimensione dei file modificati o eliminati dall'ultima operazione di sync.
Ciò accade anche se i file modificati o eliminati non si trovano sul
disco guasto. Questo è il motivo per cui SnapRAID è più adatto per dati
che cambiano raramente.
2025-12-14 22:21:44 +01:00
< / p > < p > D'altra parte, i file appena aggiunti non impediscono il recupero dei
2025-12-12 11:57:38 +01:00
file già esistenti. Si perderanno solo i file aggiunti di recente se si
trovano sul disco guasto.
2025-12-14 22:21:44 +01:00
< / p > < p > Altre limitazioni di SnapRAID sono:
< / p > < ul >
2025-12-12 11:57:38 +01:00
< li >
Con SnapRAID, si hanno ancora file system separati per ogni disco.
Con RAID, si ottiene un unico grande file system.
< / li >
< li >
SnapRAID non esegue lo striping dei dati.
Con RAID, si ottiene un aumento di velocità con lo striping.
< / li >
< li >
SnapRAID non supporta il recupero in tempo reale.
Con RAID, non si deve smettere di lavorare quando un disco si guasta.
< / li >
< li >
SnapRAID può recuperare i dati solo da un numero limitato di guasti
del disco.
Con un backup, è possibile recuperare da un guasto completo
dell'intero array di dischi.
< / li >
< li >
Vengono salvati solo nomi di file, timestamp, symlink e hardlink.
Permessi, proprietà e attributi estesi non vengono salvati.
< / li >
< / ul >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec4" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Iniziare
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > Per usare SnapRAID, è necessario prima selezionare un disco nell'array
2026-03-30 10:01:17 +02:00
di dischi da dedicare alle informazioni di < b > parity< / b > (parità). Con un
2025-12-12 11:57:38 +01:00
disco per la parità, si sarà in grado di recuperare da un singolo guasto
del disco, in modo simile a RAID5.
2025-12-14 22:21:44 +01:00
< / p > < p > Se si desidera recuperare da più guasti del disco, in modo simile a RAID6,
2025-12-12 11:57:38 +01:00
è necessario riservare dischi aggiuntivi per la parità. Ogni disco di
parità aggiuntivo consente il recupero da un guasto in più del disco.
2025-12-14 22:21:44 +01:00
< / p > < p > Come dischi di parità, è necessario scegliere i dischi più grandi
2025-12-12 11:57:38 +01:00
dell'array, poiché le informazioni di parità possono crescere fino alle
dimensioni del più grande disco dati nell'array.
2026-03-30 10:01:17 +02:00
< / p > < p > Questi dischi saranno dedicati alla memorizzazione dei file di < b > parity< / b > .
2025-12-12 11:57:38 +01:00
Non si dovrebbero memorizzare i propri dati su di essi.
2026-03-30 10:01:17 +02:00
< / p > < p > Quindi, è necessario definire i dischi < b > data< / b > (dati) che si desidera
2025-12-12 11:57:38 +01:00
proteggere con SnapRAID. La protezione è più efficace se questi dischi
contengono dati che cambiano raramente. Per questo motivo, è meglio
NON includere il disco C:\ di Windows o le directory Unix /home, /var,
e /tmp.
2026-03-30 10:01:17 +02:00
< / p > < p > L'elenco dei file viene salvato nei file < b > content< / b > (contenuto), di solito
2025-12-12 11:57:38 +01:00
memorizzati sui dischi dati, di parità o di avvio.
Questo file contiene i dettagli del backup, inclusi tutti i checksum
per verificarne l'integrità.
2026-03-30 10:01:17 +02:00
Il file < b > content< / b > viene memorizzato in più copie e ogni copia deve
2025-12-12 11:57:38 +01:00
essere su un disco diverso per garantire che, anche in caso di guasti
multipli del disco, sia disponibile almeno una copia.
2025-12-14 22:21:44 +01:00
< / p > < p > Ad esempio, supponiamo di essere interessati a un solo livello di
2025-12-12 11:57:38 +01:00
protezione con parità e che i dischi si trovino in:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
/mnt/diskp < - disco selezionato per la parità
/mnt/disk1 < - primo disco da proteggere
/mnt/disk2 < - secondo disco da proteggere
/mnt/disk3 < - terzo disco da proteggere
< / pre >
2025-12-14 22:21:44 +01:00
< p > È necessario creare il file di configurazione /etc/snapraid.conf con
2025-12-12 11:57:38 +01:00
le seguenti opzioni:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
parity /mnt/diskp/snapraid.parity
content /var/snapraid/snapraid.content
content /mnt/disk1/snapraid.content
content /mnt/disk2/snapraid.content
data d1 /mnt/disk1/
data d2 /mnt/disk2/
data d3 /mnt/disk3/
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se si è su Windows, si dovrebbe usare il formato del percorso di Windows,
2025-12-12 11:57:38 +01:00
con lettere di unità e backslash invece di slash.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
parity E:\snapraid.parity
content C:\snapraid\snapraid.content
content F:\array\snapraid.content
content G:\array\snapraid.content
data d1 F:\array\
data d2 G:\array\
data d3 H:\array\
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se si hanno molti dischi e si esauriscono le lettere di unità, è
2025-12-12 11:57:38 +01:00
possibile montare i dischi direttamente nelle sottocartelle. Vedi:
2026-03-30 10:01:17 +02:00
< / p > < pre >
< a href = "https://www.google.com/search?q=Windows+mount+point" > https://www.google.com/search?q=Windows+mount+point< / a >
2025-12-12 11:57:38 +01:00
< / pre >
2026-03-30 10:01:17 +02:00
< p > A questo punto, si è pronti per eseguire il comando < b > sync< / b > per costruire
2025-12-12 11:57:38 +01:00
le informazioni di parità.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid sync
< / pre >
2025-12-14 22:21:44 +01:00
< p > Questo processo può richiedere diverse ore la prima volta, a seconda
2025-12-12 11:57:38 +01:00
delle dimensioni dei dati già presenti sui dischi. Se i dischi sono
vuoti, il processo è immediato.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile interromperlo in qualsiasi momento premendo Ctrl+C e, alla
2025-12-12 11:57:38 +01:00
prossima esecuzione, riprenderà da dove è stato interrotto.
2025-12-14 22:21:44 +01:00
< / p > < p > Quando questo comando è completato, i dati sono SICURI.
< / p > < p > Ora è possibile iniziare a usare l'array come si desidera e aggiornare
2026-03-30 10:01:17 +02:00
periodicamente le informazioni di parità eseguendo il comando < b > sync< / b > .
< / p > < div class = "manual-section-level-2" >
< h2 id = "sec4-1" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
Scrubbing
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Per controllare periodicamente i dati e la parità per gli errori, è
2026-03-30 10:01:17 +02:00
possibile eseguire il comando < b > scrub< / b > .
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid scrub
< / pre >
2025-12-14 22:21:44 +01:00
< p > Questo comando confronta i dati nell'array con l'hash calcolato
2026-03-30 10:01:17 +02:00
durante il comando < b > sync< / b > per verificarne l'integrità.
2025-12-14 22:21:44 +01:00
< / p > < p > Ogni esecuzione del comando controlla circa l'8% dell'array, escludendo
2025-12-12 11:57:38 +01:00
i dati già sottoposti a scrub nei 10 giorni precedenti.
È possibile utilizzare l'opzione -p, --plan per specificare un importo
diverso e l'opzione -o, --older-than per specificare un'età diversa
in giorni.
Ad esempio, per controllare il 5% dell'array per blocchi più vecchi di
20 giorni, usare:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid -p 5 -o 20 scrub
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se vengono trovati errori silenti o di input/output durante il processo,
2025-12-12 11:57:38 +01:00
i blocchi corrispondenti vengono contrassegnati come bad (cattivi) nel
2026-03-30 10:01:17 +02:00
file < b > content< / b > ed elencati nel comando < b > status< / b > .
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid status
< / pre >
2026-03-30 10:01:17 +02:00
< p > Per correggerli, è possibile utilizzare il comando < b > fix< / b > , filtrando
2025-12-12 11:57:38 +01:00
i blocchi bad con l'opzione -e, --filter-error:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid -e fix
< / pre >
2026-03-30 10:01:17 +02:00
< p > Al prossimo < b > scrub< / b > , gli errori scompariranno dal report < b > status< / b >
2025-12-12 11:57:38 +01:00
se sono stati veramente corretti. Per renderlo più veloce, è possibile
utilizzare -p bad per eseguire lo scrub solo dei blocchi contrassegnati
come bad.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid -p bad scrub
< / pre >
2026-03-30 10:01:17 +02:00
< p > L'esecuzione di < b > scrub< / b > su un array non sincronizzato può riportare
2025-12-12 11:57:38 +01:00
errori causati da file rimossi o modificati. Questi errori sono riportati
2026-03-30 10:01:17 +02:00
nell'output di < b > scrub< / b > , ma i blocchi correlati non sono contrassegnati
2025-12-12 11:57:38 +01:00
come bad.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec4-2" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
Pooling
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Nota: La funzionalità di pooling descritta di seguito è stata
2026-03-30 10:01:17 +02:00
sostituita dallo strumento mergerfs, che è ora l'opzione consigliata
2025-12-12 11:57:38 +01:00
per gli utenti Linux nella comunità SnapRAID. Mergefs fornisce un modo
più flessibile ed efficiente per raggruppare più unità in un singolo
punto di montaggio unificato, consentendo un accesso trasparente ai
file attraverso l'array senza fare affidamento sui collegamenti
simbolici. Si integra bene con SnapRAID per la protezione della parità
ed è comunemente usato in configurazioni come OpenMediaVault (OMV) o
NAS personalizzati.
2025-12-14 22:21:44 +01:00
< / p > < p > Per avere tutti i file nell'array mostrati nello stesso albero di
2026-03-30 10:01:17 +02:00
directory, è possibile abilitare la funzionalità di < b > pooling< / b > . Crea
2025-12-12 11:57:38 +01:00
una vista virtuale di sola lettura di tutti i file nell'array
utilizzando collegamenti simbolici.
2026-03-30 10:01:17 +02:00
< / p > < p > È possibile configurare la directory di < b > pooling< / b > nel file di
2025-12-12 11:57:38 +01:00
configurazione con:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
pool /pool
< / pre >
2025-12-14 22:21:44 +01:00
< p > o, se si è su Windows, con:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
pool C:\pool
< / pre >
2026-03-30 10:01:17 +02:00
< p > e quindi eseguire il comando < b > pool< / b > per creare o aggiornare la
2025-12-12 11:57:38 +01:00
vista virtuale.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid pool
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se si sta utilizzando una piattaforma Unix e si desidera condividere
2025-12-12 11:57:38 +01:00
questa directory sulla rete con macchine Windows o Unix, è necessario
aggiungere le seguenti opzioni al file /etc/samba/smb.conf:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
# Nella sezione globale di smb.conf
unix extensions = no
< / pre >
< pre >
# Nella sezione di condivisione di smb.conf
[pool]
comment = Pool
path = /pool
read only = yes
guest ok = yes
wide links = yes
follow symlinks = yes
< / pre >
2025-12-14 22:21:44 +01:00
< p > In Windows, la condivisione di collegamenti simbolici su una rete
2025-12-12 11:57:38 +01:00
richiede che i client li risolvano da remoto. Per abilitare questo, oltre
a condividere la directory pool, è necessario condividere anche tutti i
dischi in modo indipendente, utilizzando i nomi dei dischi definiti nel
file di configurazione come punti di condivisione. È inoltre necessario
2026-03-30 10:01:17 +02:00
specificare nell'opzione < b > share< / b > del file di configurazione il percorso
2025-12-12 11:57:38 +01:00
UNC di Windows che i client remoti devono utilizzare per accedere a
questi dischi condivisi.
2026-03-30 10:01:17 +02:00
< / p > < p > Ad esempio, operando da un server chiamato < b > darkstar< / b > , è possibile
2025-12-12 11:57:38 +01:00
utilizzare le opzioni:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
data d1 F:\array\
data d2 G:\array\
data d3 H:\array\
pool C:\pool
share \\darkstar
< / pre >
2025-12-14 22:21:44 +01:00
< p > e condividere le seguenti directory sulla rete:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
\\darkstar\pool -> C:\pool
\\darkstar\d1 -> F:\array
\\darkstar\d2 -> G:\array
\\darkstar\d3 -> H:\array
< / pre >
2025-12-14 22:21:44 +01:00
< p > per consentire ai client remoti di accedere a tutti i file in
2025-12-12 11:57:38 +01:00
\\darkstar\pool.
2025-12-14 22:21:44 +01:00
< / p > < p > Potrebbe anche essere necessario configurare i client remoti per
2025-12-12 11:57:38 +01:00
abilitare l'accesso ai symlink remoti con il comando:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-2" >
< h2 id = "sec4-3" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
Annullamento Eliminazione
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID funziona più come un programma di backup che come un sistema RAID
2025-12-12 11:57:38 +01:00
e può essere utilizzato per ripristinare o annullare l'eliminazione dei
file al loro stato precedente utilizzando l'opzione -f, --filter:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid fix -f FILE
< / pre >
2025-12-14 22:21:44 +01:00
< p > o per una directory:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid fix -f DIR/
< / pre >
2025-12-14 22:21:44 +01:00
< p > È anche possibile usarlo per recuperare solo i file eliminati
2025-12-12 11:57:38 +01:00
accidentalmente all'interno di una directory utilizzando l'opzione -m,
--filter-missing, che ripristina solo i file mancanti, lasciando tutti
gli altri intatti.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid fix -m -f DIR/
< / pre >
2025-12-14 22:21:44 +01:00
< p > O per recuperare tutti i file eliminati su tutte le unità con:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid fix -m
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-2" >
< h2 id = "sec4-4" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
Recupero
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > È successo il peggio e si è perso uno o più dischi!
< / p > < p > NON FARSI PRENDERE DAL PANICO! Sarà possibile recuperarli!
< / p > < p > La prima cosa da fare è evitare ulteriori modifiche all'array di dischi.
2025-12-12 11:57:38 +01:00
Disabilitare qualsiasi connessione remota ad esso e qualsiasi processo
pianificato, incluso qualsiasi sync o scrub notturno pianificato di SnapRAID.
2025-12-14 22:21:44 +01:00
< / p > < p > Quindi procedere con i seguenti passaggi.
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-section-level-3" >
< h3 id = "sec4-4-1" class = "manual-title-level-3" >
2025-12-12 11:57:38 +01:00
PASSO 1 -> Riconfigurazione
2026-03-30 10:01:17 +02:00
< / h3 >
2025-12-14 22:21:44 +01:00
< p > È necessario un po' di spazio per recuperare, idealmente su dischi di
2025-12-12 11:57:38 +01:00
riserva aggiuntivi, ma un disco USB esterno o un disco remoto saranno
sufficienti.
2025-12-14 22:21:44 +01:00
< / p > < p > Modificare il file di configurazione SnapRAID per far puntare l'opzione
2026-03-30 10:01:17 +02:00
< b > data< / b > o < b > parity< / b > del disco guasto a una posizione con spazio vuoto
2025-12-12 11:57:38 +01:00
sufficiente per recuperare i file.
2026-03-30 10:01:17 +02:00
< / p > < p > Ad esempio, se il disco < b > d1< / b > è guasto, cambiare da:
< / p > < pre >
2025-12-12 11:57:38 +01:00
data d1 /mnt/disk1/
< / pre >
2025-12-14 22:21:44 +01:00
< p > a:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
data d1 /mnt/new_spare_disk/
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se il disco da recuperare è un disco di parità, aggiornare l'opzione
2026-03-30 10:01:17 +02:00
< b > parity< / b > appropriata.
2025-12-12 11:57:38 +01:00
Se si hanno più dischi guasti, aggiornare tutte le loro opzioni di
configurazione.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-3" >
< h3 id = "sec4-4-2" class = "manual-title-level-3" >
2025-12-12 11:57:38 +01:00
PASSO 2 -> Correzione (Fix)
2026-03-30 10:01:17 +02:00
< / h3 >
2025-12-14 22:21:44 +01:00
< p > Eseguire il comando fix, memorizzando il log in un file esterno con:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid -d NAME -l fix.log fix
< / pre >
2026-03-30 10:01:17 +02:00
< p > Dove NAME è il nome del disco, come < b > d1< / b > nel nostro esempio precedente.
Se il disco da recuperare è un disco di parità, usare i nomi < b > parity< / b > ,
< b > 2-parity< / b > , ecc.
2025-12-12 11:57:38 +01:00
Se si hanno più dischi guasti, usare più opzioni -d per specificarli tutti.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo comando richiederà molto tempo.
< / p > < p > Assicurarsi di avere alcuni gigabyte liberi per memorizzare il file
2025-12-12 11:57:38 +01:00
fix.log. Eseguirlo da un disco con spazio libero sufficiente.
2025-12-14 22:21:44 +01:00
< / p > < p > Ora si è recuperato tutto ciò che è recuperabile. Se alcuni file sono
2025-12-12 11:57:38 +01:00
parzialmente o totalmente irrecuperabili, verranno rinominati aggiungendo
2026-03-30 10:01:17 +02:00
l'estensione < b > .unrecoverable< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile trovare un elenco dettagliato di tutti i blocchi
2025-12-12 11:57:38 +01:00
irrecuperabili nel file fix.log controllando tutte le righe che iniziano
2026-03-30 10:01:17 +02:00
con < b > unrecoverable:< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Se non si è soddisfatti del recupero, è possibile riprovare tutte le
2025-12-12 11:57:38 +01:00
volte che si desidera.
2026-03-30 10:01:17 +02:00
< / p > < p > Ad esempio, se si sono rimossi file dall'array dopo l'ultimo < b > sync< / b > ,
2025-12-12 11:57:38 +01:00
questo può comportare che alcuni file non vengano recuperati.
2026-03-30 10:01:17 +02:00
In questo caso, è possibile riprovare il < b > fix< / b > usando l'opzione -i,
2025-12-12 11:57:38 +01:00
--import, specificando dove si trovano ora questi file per includerli
di nuovo nel processo di recupero.
2025-12-14 22:21:44 +01:00
< / p > < p > Se si è soddisfatti del recupero, è possibile procedere oltre,
2025-12-12 11:57:38 +01:00
ma notare che dopo la sincronizzazione, non è più possibile riprovare
2026-03-30 10:01:17 +02:00
il comando < b > fix< / b > !
< / p > < / div >
< div class = "manual-section-level-3" >
< h3 id = "sec4-4-3" class = "manual-title-level-3" >
2025-12-12 11:57:38 +01:00
PASSO 3 -> Controllo (Check)
2026-03-30 10:01:17 +02:00
< / h3 >
< p > Come controllo cauto, è ora possibile eseguire un comando < b > check< / b > per
2025-12-12 11:57:38 +01:00
assicurarsi che tutto sia corretto sul disco recuperato.
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid -d NAME -a check
< / pre >
2026-03-30 10:01:17 +02:00
< p > Dove NAME è il nome del disco, come < b > d1< / b > nel nostro esempio precedente.
2025-12-14 22:21:44 +01:00
< / p > < p > Le opzioni -d e -a dicono a SnapRAID di controllare solo il disco
2025-12-12 11:57:38 +01:00
specificato e di ignorare tutti i dati di parità.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo comando richiederà molto tempo, ma se non si è eccessivamente
2025-12-12 11:57:38 +01:00
cauti, è possibile saltarlo.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-3" >
< h3 id = "sec4-4-4" class = "manual-title-level-3" >
2025-12-12 11:57:38 +01:00
PASSO 4 -> Sincronizzazione (Sync)
2026-03-30 10:01:17 +02:00
< / h3 >
< p > Eseguire il comando < b > sync< / b > per risincronizzare l'array con il nuovo disco.
< / p > < pre >
2025-12-12 11:57:38 +01:00
snapraid sync
< / pre >
2025-12-14 22:21:44 +01:00
< p > Se tutto è recuperato, questo comando è immediato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< / div >
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec5" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Comandi
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID fornisce alcuni semplici comandi che consentono di:
< / p > < ul >
2025-12-12 11:57:38 +01:00
< li >
2026-03-30 10:01:17 +02:00
Stampare lo stato dell'array -> < b > status< / b >
2025-12-12 11:57:38 +01:00
< / li >
< li >
2026-03-30 10:01:17 +02:00
Controllare i dischi -> < b > smart< / b > , < b > probe< / b > , < b > up< / b > , < b > down< / b >
2025-12-12 11:57:38 +01:00
< / li >
< li >
2026-03-30 10:01:17 +02:00
Effettuare un backup/snapshot -> < b > sync< / b >
2025-12-12 11:57:38 +01:00
< / li >
< li >
2026-03-30 10:01:17 +02:00
Controllare periodicamente i dati -> < b > scrub< / b >
2025-12-12 11:57:38 +01:00
< / li >
< li >
2026-03-30 10:01:17 +02:00
Ripristinare l'ultimo backup/snapshot -> < b > fix< / b > .
2025-12-12 11:57:38 +01:00
< / li >
< / ul >
2025-12-14 22:21:44 +01:00
< p > I comandi devono essere scritti in minuscolo.
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-section-level-2" >
< h2 id = "sec5-1" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
status
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Stampa un riepilogo dello stato dell'array di dischi.
< / p > < p > Include informazioni sulla frammentazione della parità, quanto sono
2025-12-12 11:57:38 +01:00
vecchi i blocchi senza essere controllati e tutti gli errori silenti
registrati incontrati durante lo scrubbing.
2025-12-14 22:21:44 +01:00
< / p > < p > Le informazioni presentate si riferiscono all'ultima volta che si è
2026-03-30 10:01:17 +02:00
eseguito < b > sync< / b > . Le modifiche successive non vengono prese in
2025-12-12 11:57:38 +01:00
considerazione.
2025-12-14 22:21:44 +01:00
< / p > < p > Se sono stati rilevati blocchi bad, vengono elencati i loro numeri
2026-03-30 10:01:17 +02:00
di blocco. Per correggerli, è possibile utilizzare il comando < b > fix -e< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Mostra anche un grafico che rappresenta l'ultima volta che ogni blocco
2025-12-12 11:57:38 +01:00
è stato sottoposto a scrub o sincronizzato. I blocchi sottoposti a scrub
2026-03-30 10:01:17 +02:00
sono mostrati con < b > *< / b > , i blocchi sincronizzati ma non ancora sottoposti
a scrub con < b > o< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-2" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
smart
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Stampa un report SMART di tutti i dischi nel sistema.
< / p > < p > Include una stima della probabilità di guasto nel prossimo anno,
2025-12-12 11:57:38 +01:00
consentendo di pianificare sostituzioni di manutenzione di dischi
che mostrano attributi sospetti.
2025-12-14 22:21:44 +01:00
< / p > < p > Questa stima della probabilità è ottenuta correlando gli attributi
2025-12-12 11:57:38 +01:00
SMART dei dischi con i dati Backblaze disponibili all'indirizzo:
2026-03-30 10:01:17 +02:00
< / p > < pre >
< a href = "https://www.backblaze.com/hard-drive-test-data.html" > https://www.backblaze.com/hard-drive-test-data.html< / a >
2025-12-12 11:57:38 +01:00
< / pre >
2026-03-30 10:01:17 +02:00
< p > Se SMART segnala che un disco sta per guastarsi, viene stampato < b > FAIL< / b >
o < b > PREFAIL< / b > per quel disco e SnapRAID restituisce un errore.
2025-12-12 11:57:38 +01:00
In questo caso, si raccomanda vivamente la sostituzione immediata del
disco.
2025-12-14 22:21:44 +01:00
< / p > < p > Altre possibili stringhe di stato sono:
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-tag-list" >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
logfail
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
In passato, alcuni attributi erano inferiori alla
soglia.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
logerr
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
Il log degli errori del dispositivo contiene errori.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
selferr
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
Il log dell'autotest del dispositivo contiene errori.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
2025-12-14 22:21:44 +01:00
< p > Se viene specificata l'opzione -v, --verbose, viene fornita un'analisi
2025-12-12 11:57:38 +01:00
statistica più approfondita. Questa analisi può aiutare a decidere se
è necessaria più o meno parità.
2026-03-30 10:01:17 +02:00
< / p > < p > Questo comando utilizza lo strumento < b > smartctl< / b > ed è equivalente
all'esecuzione di < b > smartctl -a< / b > su tutti i dispositivi.
2025-12-14 22:21:44 +01:00
< / p > < p > Se i dispositivi non vengono rilevati automaticamente correttamente, è
2025-12-12 11:57:38 +01:00
possibile specificare un comando personalizzato utilizzando l'opzione
2026-03-30 10:01:17 +02:00
< b > smartctl< / b > nel file di configurazione.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-3" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
probe
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Stampa lo stato POWER di tutti i dischi nel sistema.
2026-03-30 10:01:17 +02:00
< / p > < p > < b > Standby< / b > significa che il disco non sta girando. < b > Active< / b > significa
2025-12-12 11:57:38 +01:00
che il disco sta girando.
2026-03-30 10:01:17 +02:00
< / p > < p > Questo comando utilizza lo strumento < b > smartctl< / b > ed è equivalente
all'esecuzione di < b > smartctl -n standby -i< / b > su tutti i dispositivi.
2025-12-14 22:21:44 +01:00
< / p > < p > Se i dispositivi non vengono rilevati automaticamente correttamente, è
2025-12-12 11:57:38 +01:00
possibile specificare un comando personalizzato utilizzando l'opzione
2026-03-30 10:01:17 +02:00
< b > smartctl< / b > nel file di configurazione.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-4" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
up
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Fa girare tutti i dischi dell'array.
< / p > < p > È possibile far girare solo dischi specifici utilizzando l'opzione -d,
2025-12-12 11:57:38 +01:00
--filter-disk.
2025-12-14 22:21:44 +01:00
< / p > < p > Far girare tutti i dischi contemporaneamente richiede molta energia.
2025-12-12 11:57:38 +01:00
Assicurarsi che l'alimentatore possa sostenerlo.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-5" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
down
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Ferma tutti i dischi dell'array.
2026-03-30 10:01:17 +02:00
< / p > < p > Questo comando utilizza lo strumento < b > smartctl< / b > ed è equivalente
all'esecuzione di < b > smartctl -s standby,now< / b > su tutti i dispositivi.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile fermare solo dischi specifici utilizzando l'opzione -d,
2025-12-12 11:57:38 +01:00
--filter-disk.
2025-12-14 22:21:44 +01:00
< / p > < p > Per fermare automaticamente in caso di errore, è possibile utilizzare
2025-12-12 11:57:38 +01:00
l'opzione -s, --spin-down-on-error con qualsiasi altro comando,
2026-03-30 10:01:17 +02:00
che è equivalente all'esecuzione manuale di < b > down< / b > quando si verifica
2025-12-12 11:57:38 +01:00
un errore.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-6" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
diff
2026-03-30 10:01:17 +02:00
< / h2 >
< p > Elenca tutti i file modificati dall'ultimo < b > sync< / b > che devono avere i
2025-12-12 11:57:38 +01:00
loro dati di parità ricalcolati.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo comando non controlla i dati del file, ma solo il timestamp
2025-12-12 11:57:38 +01:00
del file, le dimensioni e l'inode.
2025-12-14 22:21:44 +01:00
< / p > < p > Dopo aver elencato tutti i file modificati, viene presentato un
2025-12-12 11:57:38 +01:00
riepilogo delle modifiche, raggruppate per:
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-tag-list" >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
equal
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
File invariati rispetto a prima.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
added
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
File aggiunti che non erano presenti prima.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
removed
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
File rimossi.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
updated
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
File con dimensioni o timestamp diversi, il che
significa che sono stati modificati.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
moved
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
File spostati in una directory diversa sullo stesso
disco. Sono identificati dall'avere lo stesso nome,
dimensioni, timestamp e inode, ma una directory diversa.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
copied
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
File copiati sullo stesso disco o su un disco diverso dove il
file originale esiste ancora.
Sono identificati dall'avere lo stesso nome, dimensione e timestamp.
Se il timestamp al sottomultiplo del secondo è zero,
il percorso completo deve corrispondere per essere
identificato, non solo il nome.
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
relocated
< / div > < div class = "manual-tag-description" >
File spostati sullo stesso disco o su un disco
diverso dove l'originale è scomparso.
Sono identificati dall' avere lo stesso nome, dimensione
e timestamp.
Se il timestamp al sottomultiplo del secondo è zero,
il percorso completo deve corrispondere per essere
identificato.
A differenza dei file < b > moved< / b > sullo stesso disco,
i file ricollocati hanno un inode diverso.
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
restored
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
File con un inode diverso ma directory,
nome, dimensione e timestamp corrispondenti.
Questi sono solitamente file ripristinati dopo essere
stati eliminati.
< / div >
< / div >
< / div >
< p > Se è richiesto un < b > sync< / b > , il codice di ritorno del processo è 2,
2025-12-12 11:57:38 +01:00
invece del predefinito 0. Il codice di ritorno 1 è utilizzato per una
condizione di errore generica.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-7" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
sync
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Aggiorna le informazioni di parità. Tutti i file modificati
2025-12-12 11:57:38 +01:00
nell'array di dischi vengono letti e i dati di parità
corrispondenti vengono aggiornati.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile interrompere questo processo in qualsiasi momento
2025-12-12 11:57:38 +01:00
premendo Ctrl+C, senza perdere il lavoro già svolto.
2026-03-30 10:01:17 +02:00
Alla prossima esecuzione, il processo < b > sync< / b > riprenderà da dove
2025-12-12 11:57:38 +01:00
è stato interrotto.
2025-12-14 22:21:44 +01:00
< / p > < p > Se vengono trovati errori silenti o di input/output durante il processo,
2025-12-12 11:57:38 +01:00
i blocchi corrispondenti vengono contrassegnati come bad.
2025-12-14 22:21:44 +01:00
< / p > < p > I file sono identificati dal percorso e/o dall'inode e controllati
2025-12-12 11:57:38 +01:00
per dimensione e timestamp.
Se la dimensione o il timestamp del file differiscono, i dati di parità
vengono ricalcolati per l'intero file.
Se il file viene spostato o rinominato sullo stesso disco,
mantenendo lo stesso inode, la parità non viene ricalcolata.
Se il file viene spostato su un altro disco, la parità viene ricalcolata,
ma le informazioni di hash precedentemente calcolate vengono mantenute.
2026-03-30 10:01:17 +02:00
< / p > < p > I file < b > content< / b > e < b > parity< / b > vengono modificati se necessario.
2025-12-12 11:57:38 +01:00
I file nell'array NON vengono modificati.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-8" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
scrub
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Esegue lo scrub dell'array, controllando la presenza di errori silenti
2025-12-12 11:57:38 +01:00
o di input/output nei dischi dati e di parità.
2025-12-14 22:21:44 +01:00
< / p > < p > Ogni invocazione controlla circa l'8% dell'array, escludendo
2025-12-12 11:57:38 +01:00
i dati già sottoposti a scrub negli ultimi 10 giorni.
Ciò significa che eseguire lo scrubbing una volta alla settimana
garantisce che ogni bit di dati venga controllato almeno una volta
ogni tre mesi.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile definire un piano o una quantità di scrub diversa
2025-12-12 11:57:38 +01:00
utilizzando l'opzione -p, --plan, che accetta:
bad - Esegue lo scrub dei blocchi contrassegnati come bad.
new - Esegue lo scrub dei blocchi appena sincronizzati non ancora
2026-03-30 10:01:17 +02:00
< / p > < p > sottoposti a scrub.
< / p > < div class = "manual-tag-list" >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
full
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
Esegue lo scrub di tutto.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-tag-entry" >
< div class = "manual-tag-name" >
2025-12-12 11:57:38 +01:00
0-100
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-tag-description" >
2025-12-12 11:57:38 +01:00
Esegue lo scrub della percentuale specificata di blocchi.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
2025-12-14 22:21:44 +01:00
< p > Se si specifica una quantità percentuale, è anche possibile utilizzare
2025-12-12 11:57:38 +01:00
l'opzione -o, --older-than per definire quanto deve essere vecchio
il blocco.
I blocchi più vecchi vengono sottoposti a scrub per primi,
garantendo un controllo ottimale.
Se si desidera eseguire lo scrub solo dei blocchi appena sincronizzati
2026-03-30 10:01:17 +02:00
non ancora sottoposti a scrub, utilizzare l'opzione < b > -p new< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Per ottenere i dettagli dello stato dello scrub, utilizzare il comando
2026-03-30 10:01:17 +02:00
< b > status< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Per qualsiasi errore silente o di input/output trovato, i blocchi
2026-03-30 10:01:17 +02:00
corrispondenti vengono contrassegnati come bad nel file < b > content< / b > .
Questi blocchi bad sono elencati in < b > status< / b > e possono essere corretti
con < b > fix -e< / b > .
2025-12-12 11:57:38 +01:00
Dopo la correzione, al prossimo scrub, verranno ricontrollati e, se
trovati corretti, il contrassegno bad verrà rimosso.
Per eseguire lo scrub solo dei blocchi bad, è possibile utilizzare
2026-03-30 10:01:17 +02:00
il comando < b > scrub -p bad< / b > .
< / p > < p > Si consiglia di eseguire < b > scrub< / b > solo su un array sincronizzato per
2025-12-12 11:57:38 +01:00
evitare errori segnalati causati da dati non sincronizzati. Questi
errori sono riconosciuti come non essendo errori silenti e i blocchi non
vengono contrassegnati come bad, ma tali errori sono riportati
nell'output del comando.
2026-03-30 10:01:17 +02:00
< / p > < p > Il file < b > content< / b > viene modificato per aggiornare l'ora dell'ultimo
2025-12-12 11:57:38 +01:00
controllo per ogni blocco e per contrassegnare i blocchi bad.
2026-03-30 10:01:17 +02:00
I file < b > parity< / b > NON vengono modificati.
2025-12-12 11:57:38 +01:00
I file nell'array NON vengono modificati.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-9" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
fix
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Corregge tutti i file e i dati di parità.
< / p > < p > Tutti i file e i dati di parità vengono confrontati con lo stato
2026-03-30 10:01:17 +02:00
snapshot salvato nell'ultimo < b > sync< / b > .
2025-12-12 11:57:38 +01:00
Se viene trovata una differenza, viene ripristinata allo snapshot
memorizzato.
2026-03-30 10:01:17 +02:00
< / p > < p > ATTENZIONE! Il comando < b > fix< / b > non differenzia tra errori e modifiche
2025-12-12 11:57:38 +01:00
intenzionali. Ripristina incondizionatamente lo stato del file
2026-03-30 10:01:17 +02:00
all'ultimo < b > sync< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Se non viene specificata nessun'altra opzione, l'intero array viene
2025-12-12 11:57:38 +01:00
elaborato. Utilizzare le opzioni di filtro per selezionare un
sottoinsieme di file o dischi su cui operare.
2026-03-30 10:01:17 +02:00
< / p > < p > Per correggere solo i blocchi contrassegnati come bad durante < b > sync< / b >
e < b > scrub< / b > , utilizzare l'opzione -e, --filter-error.
2025-12-12 11:57:38 +01:00
A differenza di altre opzioni di filtro, questa applica correzioni solo
2026-03-30 10:01:17 +02:00
ai file che sono invariati dall'ultimo < b > sync< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > SnapRAID rinomina tutti i file che non possono essere corretti aggiungendo
2026-03-30 10:01:17 +02:00
l'estensione < b > .unrecoverable< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Prima di correggere, l'intero array viene scansionato per trovare
2026-03-30 10:01:17 +02:00
eventuali file spostati dall'ultima operazione di < b > sync< / b > .
2025-12-12 11:57:38 +01:00
Questi file sono identificati dal loro timestamp, ignorando il loro nome
e la directory, e vengono utilizzati nel processo di recupero se
necessario.
Se alcuni di essi sono stati spostati al di fuori dell'array, è possibile
utilizzare l'opzione -i, --import per specificare directory aggiuntive
da scansionare.
2025-12-14 22:21:44 +01:00
< / p > < p > I file sono identificati solo dal percorso, non dall'inode.
2026-03-30 10:01:17 +02:00
< / p > < p > Il file < b > content< / b > NON viene modificato.
I file < b > parity< / b > vengono modificati se necessario.
2025-12-12 11:57:38 +01:00
I file nell'array vengono modificati se necessario.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-10" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
check
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Verifica tutti i file e i dati di parità.
2026-03-30 10:01:17 +02:00
< / p > < p > Funziona come < b > fix< / b > , ma simula solo un recupero e nessuna modifica
2025-12-12 11:57:38 +01:00
viene scritta nell'array.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo comando è destinato principalmente alla verifica manuale,
2025-12-12 11:57:38 +01:00
ad esempio dopo un processo di recupero o in altre condizioni speciali.
2026-03-30 10:01:17 +02:00
Per i controlli periodici e pianificati, utilizzare < b > scrub< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Se si utilizza l'opzione -a, --audit-only, viene controllato solo
2025-12-12 11:57:38 +01:00
l'hash dei file e i dati di parità vengono ignorati per un'esecuzione
più veloce.
2025-12-14 22:21:44 +01:00
< / p > < p > I file sono identificati solo dal percorso, non dall'inode.
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-11" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
list
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Elenca tutti i file contenuti nell'array al momento dell'ultimo
2026-03-30 10:01:17 +02:00
< b > sync< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Con -v o --verbose, viene mostrato anche il tempo sotto il secondo.
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-12" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
dup
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Elenca tutti i file duplicati. Due file sono considerati uguali se i
2025-12-12 11:57:38 +01:00
loro hash corrispondono. I dati del file non vengono letti; vengono
utilizzati solo gli hash precalcolati.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-13" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
pool
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Crea o aggiorna una vista virtuale di tutti
2026-03-30 10:01:17 +02:00
i file nell'array di dischi nella directory di < b > pooling< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > I file non vengono copiati ma collegati utilizzando
2025-12-12 11:57:38 +01:00
collegamenti simbolici.
2025-12-14 22:21:44 +01:00
< / p > < p > Durante l'aggiornamento, tutti i collegamenti simbolici esistenti
2025-12-12 11:57:38 +01:00
e le sottodirectory vuote vengono eliminati e sostituiti con la nuova
vista dell'array. Qualsiasi altro file regolare viene lasciato al suo posto.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato al di fuori della directory pool.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-14" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
devices
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Stampa i dispositivi di basso livello utilizzati dall'array.
< / p > < p > Questo comando visualizza le associazioni dei dispositivi nell'array
2025-12-12 11:57:38 +01:00
ed è principalmente destinato come interfaccia script.
2025-12-14 22:21:44 +01:00
< / p > < p > Le prime due colonne sono l'ID e il percorso del dispositivo di basso
2025-12-12 11:57:38 +01:00
livello. Le due colonne successive sono l'ID e il percorso del dispositivo
di alto livello. L'ultima colonna è il nome del disco nell'array.
2025-12-14 22:21:44 +01:00
< / p > < p > Nella maggior parte dei casi, si ha un dispositivo di basso livello per
2025-12-12 11:57:38 +01:00
ogni disco nell'array, ma in alcune configurazioni più complesse, si
potrebbe avere più dispositivi di basso livello utilizzati da un singolo
disco nell'array.
2025-12-14 22:21:44 +01:00
< / p > < p > Nulla viene modificato.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-15" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
touch
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Imposta un timestamp arbitrario sotto il secondo per tutti i file
2025-12-12 11:57:38 +01:00
che lo hanno impostato a zero.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo migliora la capacità di SnapRAID di riconoscere i file
2025-12-12 11:57:38 +01:00
spostati e copiati, poiché rende il timestamp quasi unico,
riducendo possibili duplicati.
2025-12-14 22:21:44 +01:00
< / p > < p > Più specificamente, se il timestamp sotto il secondo non è zero,
2025-12-12 11:57:38 +01:00
un file spostato o copiato viene identificato come tale se corrisponde
al nome, alle dimensioni e al timestamp. Se il timestamp sotto il secondo
è zero, è considerato una copia solo se il percorso completo,
le dimensioni e il timestamp corrispondono tutti.
2025-12-14 22:21:44 +01:00
< / p > < p > Il timestamp di precisione al secondo non viene modificato,
2025-12-12 11:57:38 +01:00
quindi tutte le date e gli orari dei file saranno conservati.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-16" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
rehash
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Pianifica un rehash dell'intero array.
< / p > < p > Questo comando cambia il tipo di hash utilizzato, in genere quando
2025-12-12 11:57:38 +01:00
si esegue l'aggiornamento da un sistema a 32 bit a uno a 64 bit, per
passare da MurmurHash3 al più veloce SpookyHash.
2025-12-14 22:21:44 +01:00
< / p > < p > Se si sta già utilizzando l'hash ottimale, questo comando non fa
2025-12-12 11:57:38 +01:00
nulla e informa che non è necessaria alcuna azione.
2025-12-14 22:21:44 +01:00
< / p > < p > Il rehash non viene eseguito immediatamente ma avviene
2026-03-30 10:01:17 +02:00
progressivamente durante < b > sync< / b > e < b > scrub< / b > .
< / p > < p > È possibile controllare lo stato del rehash utilizzando < b > status< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Durante il rehash, SnapRAID mantiene la piena funzionalità,
2026-03-30 10:01:17 +02:00
con l'unica eccezione che < b > dup< / b > non è in grado di rilevare file
2025-12-12 11:57:38 +01:00
duplicati utilizzando un hash diverso.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec5-17" class = "manual-title-level-2" >
locate
2025-12-12 11:57:38 +01:00
< / h2 >
2026-03-30 10:01:17 +02:00
< p > Individua i file memorizzati nei dischi di parità. Per ogni file corrispondente,
stampa la sua posizione all'interno del file di parità e il numero di frammenti
che occupa.
< / p > < p > È possibile utilizzare l'opzione -t, --tail per limitare l'operazione ai file
che occupano la porzione di coda specificata della parità.
Se si desidera riallocare questi file, è possibile utilizzare l'opzione
-W, --force-realloc-tail.
< / p > < p > Si tenga presente che tali file non saranno protetti dalla parità durante
il processo di riallocazione.
< / p > < / div >
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec6" class = "manual-title-level-1" >
Opzioni
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID fornisce le seguenti opzioni:
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-c, --conf CONFIG
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Seleziona il file di configurazione da utilizzare. Se non
2026-03-30 10:01:17 +02:00
specificato, in Unix utilizza il file < b > /usr/local/etc/snapraid.conf< / b >
se esiste, altrimenti < b > /etc/snapraid.conf< / b > .
In Windows, utilizza il file < b > snapraid.conf< / b > nella stessa
directory di < b > snapraid.exe< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-f, --filter PATTERN
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Filtra i file da elaborare in < b > check< / b > e < b > fix< / b > .
2025-12-12 11:57:38 +01:00
Vengono elaborati solo i file che corrispondono al modello
specificato.
Questa opzione può essere utilizzata più volte.
Vedere la sezione PATTERN per maggiori dettagli sulle
specifiche del modello.
In Unix, assicurarsi che i caratteri di globbing siano citati
se usati.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > check< / b > e < b > fix< / b > .
Non può essere utilizzata con < b > sync< / b > e < b > scrub< / b > , poiché elaborano
2025-12-12 11:57:38 +01:00
sempre l'intero array.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-d, --filter-disk NAME
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Filtra i dischi da elaborare in < b > check< / b > , < b > fix< / b > , < b > up< / b > e < b > down< / b > .
2025-12-12 11:57:38 +01:00
È necessario specificare un nome di disco come definito nel file
di configurazione.
È anche possibile specificare i dischi di parità con i nomi:
2026-03-30 10:01:17 +02:00
< b > parity< / b > , < b > 2-parity< / b > , < b > 3-parity< / b > , ecc., per limitare le operazioni
2025-12-12 11:57:38 +01:00
a un disco di parità specifico.
Se si combinano più opzioni --filter, --filter-disk e
--filter-missing, vengono selezionati solo i file che corrispondono
a tutti i filtri.
Questa opzione può essere utilizzata più volte.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > check< / b > , < b > fix< / b > ,
< b > up< / b > e < b > down< / b > .
Non può essere utilizzata con < b > sync< / b > e < b > scrub< / b > , poiché elaborano
2025-12-12 11:57:38 +01:00
sempre l'intero array.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-m, --filter-missing
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Filtra i file da elaborare in < b > check< / b > e < b > fix< / b > .
2025-12-12 11:57:38 +01:00
Vengono elaborati solo i file mancanti o eliminati dall'array.
2026-03-30 10:01:17 +02:00
Quando usato con < b > fix< / b > , questo agisce come un comando di
< b > undelete< / b > (annullamento eliminazione).
2025-12-12 11:57:38 +01:00
Se si combinano più opzioni --filter, --filter-disk e
--filter-missing, vengono selezionati solo i file che corrispondono
a tutti i filtri.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > check< / b > e < b > fix< / b > .
Non può essere utilizzata con < b > sync< / b > e < b > scrub< / b > , poiché elaborano
2025-12-12 11:57:38 +01:00
sempre l'intero array.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-e, --filter-error
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Elabora i file con errori in < b > check< / b > e < b > fix< / b > .
2025-12-12 11:57:38 +01:00
Elabora solo i file che hanno blocchi contrassegnati con errori
2026-03-30 10:01:17 +02:00
silenti o di input/output durante < b > sync< / b > e < b > scrub< / b > , come
elencato in < b > status< / b > .
Questa opzione può essere utilizzata solo con < b > check< / b > e < b > fix< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-p, --plan PERC|bad|new|full
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Seleziona il piano di scrub. Se PERC è un valore numerico da 0 a
100, viene interpretato come la percentuale di blocchi da
sottoporre a scrub.
Invece di una percentuale, è possibile specificare un piano:
2026-03-30 10:01:17 +02:00
< b > bad< / b > esegue lo scrub dei blocchi bad, < b > new< / b > esegue lo scrub
dei blocchi non ancora sottoposti a scrub, e < b > full< / b > esegue lo
2025-12-12 11:57:38 +01:00
scrub di tutto.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > scrub< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-o, --older-than DAYS
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Seleziona la parte più vecchia dell'array da elaborare in < b > scrub< / b > .
2025-12-12 11:57:38 +01:00
DAYS è l'età minima in giorni per un blocco da sottoporre a
scrub; il valore predefinito è 10.
I blocchi contrassegnati come bad vengono sempre sottoposti a scrub
indipendentemente da questa opzione.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > scrub< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-a, --audit-only
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
In < b > check< / b > , verifica l'hash dei file senza
2025-12-12 11:57:38 +01:00
controllare i dati di parità.
Se si è interessati solo al controllo dei dati del file, questa
opzione può velocizzare significativamente il processo di controllo.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > check< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-h, --pre-hash
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
In < b > sync< / b > , esegue una fase preliminare di hashing di tutti i nuovi
2025-12-12 11:57:38 +01:00
dati per una verifica aggiuntiva prima del calcolo della parità.
2026-03-30 10:01:17 +02:00
Di solito, in < b > sync< / b > , non viene eseguito alcun hashing preliminare
2025-12-12 11:57:38 +01:00
e i nuovi dati vengono sottoposti a hash subito prima del calcolo
della parità quando vengono letti per la prima volta.
Questo processo si verifica quando il sistema è sotto
carico pesante, con tutti i dischi che girano e una CPU occupata.
Questa è una condizione estrema per la macchina e, se presenta un
problema hardware latente, gli errori silenti potrebbero non
essere rilevati perché i dati non sono ancora stati sottoposti a hash.
Per evitare questo rischio, è possibile abilitare la modalità
2026-03-30 10:01:17 +02:00
< b > pre-hash< / b > per far leggere tutti i dati due volte per garantirne
2025-12-12 11:57:38 +01:00
l'integrità.
Questa opzione verifica anche i file spostati all'interno dell'array
per garantire che l'operazione di spostamento sia andata a buon fine
e, se necessario, consente di eseguire un'operazione di fix
prima di procedere.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-i, --import DIR
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Importa dalla directory specificata tutti i file eliminati
2026-03-30 10:01:17 +02:00
dall'array dopo l'ultimo < b > sync< / b > .
Se si hanno ancora tali file, possono essere utilizzati da < b > check< / b >
e < b > fix< / b > per migliorare il processo di recupero.
2025-12-12 11:57:38 +01:00
I file vengono letti, anche nelle sottodirectory, e sono
identificati indipendentemente dal loro nome.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > check< / b > e < b > fix< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-s, --spin-down-on-error
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
In caso di errore, ferma (spin down) tutti i dischi gestiti prima
di uscire con un codice di stato non zero. Ciò impedisce alle unità
di rimanere attive e in rotazione dopo un'operazione interrotta,
contribuendo a evitare inutili accumuli di calore e consumo di
energia. Utilizzare questa opzione per garantire che i dischi siano
arrestati in modo sicuro anche in caso di errore di un comando.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-w, --bw-limit RATE
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Applica un limite di larghezza di banda globale per tutti i dischi.
RATE è il numero di byte al secondo. È possibile specificare un
2026-03-30 10:01:17 +02:00
moltiplicatore come K, M, G o T (ad esempio, --bw-limit 1G).
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
-t, --tail DIMENSIONE
< / div > < div class = "manual-option-description" >
Limita l'elenco dei file a quelli che non utilizzano più della
dimensione di coda specificata dei dischi di parità.
È possibile utilizzare moltiplicatori come K, M, G o T (ad es. --tail 1G).
Questa opzione è valida solo se utilizzata insieme al comando
< b > locate< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-A, --stats
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Abilita una vista dello stato estesa che mostra informazioni
aggiuntive. La schermata visualizza due grafici:
Il primo grafico mostra il numero di stripe bufferizzate per
ciascun disco, insieme al percorso del file attualmente
acceduto su quel disco. In genere, il disco più lento non avrà
buffer disponibile, il che determina la larghezza di banda massima
raggiungibile.
Il secondo grafico mostra la percentuale di tempo trascorso in
attesa negli ultimi 100 secondi. Si prevede che il disco più
lento causi la maggior parte del tempo di attesa, mentre gli altri
dischi dovrebbero avere poco o nessun tempo di attesa perché possono
utilizzare le loro stripe bufferizzate.
Questo grafico mostra anche il tempo trascorso in attesa per
i calcoli di hash e i calcoli RAID.
Tutti i calcoli vengono eseguiti in parallelo con le operazioni
su disco. Pertanto, finché c'è un tempo di attesa misurabile per
almeno un disco, ciò indica che la CPU è abbastanza veloce da
tenere il passo con il carico di lavoro.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-Z, --force-zero
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Forza l'operazione non sicura di sincronizzazione di un file con
dimensione zero che in precedenza era non zero.
Se SnapRAID rileva una tale condizione, interrompe la
prosecuzione a meno che non si specifichi questa opzione.
Ciò consente di rilevare facilmente quando, dopo un arresto
anomalo del sistema, alcuni file a cui si è acceduto sono stati
troncati.
Questa è una possibile condizione in Linux con i file system
ext3/ext4.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-E, --force-empty
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Forza l'operazione non sicura di sincronizzazione di un disco con
tutti i file originali mancanti.
Se SnapRAID rileva che tutti i file originariamente presenti
sul disco sono mancanti o riscritti, interrompe la prosecuzione
a meno che non si specifichi questa opzione.
Ciò consente di rilevare facilmente quando un file system di dati
non è montato.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-U, --force-uuid
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Forza l'operazione non sicura di sincronizzazione, controllo e
correzione con dischi che hanno cambiato il loro UUID.
Se SnapRAID rileva che alcuni dischi hanno cambiato UUID,
interrompe la prosecuzione a meno che non si specifichi questa
opzione.
Ciò consente di rilevare quando i dischi sono montati sui punti
di montaggio sbagliati.
Tuttavia, è consentito avere un singolo cambio di UUID con
parità singola e di più con parità multipla, perché questo è
il caso normale quando si sostituiscono i dischi dopo un recupero.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > , < b > check< / b >
o < b > fix< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-D, --force-device
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Forza l'operazione non sicura di correzione con dischi inaccessibili
o con dischi sullo stesso dispositivo fisico.
Ad esempio, se si sono persi due dischi dati e si ha un disco di
riserva per recuperare solo il primo, è possibile ignorare il secondo
disco inaccessibile.
Oppure, se si desidera recuperare un disco nello spazio libero
rimasto su un disco già utilizzato, condividendo lo stesso dispositivo
fisico.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > fix< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-N, --force-nocopy
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
In < b > sync< / b > , < b > check< / b > e < b > fix< / b > , disabilita l'euristica di rilevamento
2025-12-12 11:57:38 +01:00
della copia.
Senza questa opzione, SnapRAID presume che i file con gli stessi
attributi, come nome, dimensione e timestamp, siano copie con gli
stessi dati.
Ciò consente l'identificazione di file copiati o spostati da un
disco all'altro e riutilizza le informazioni di hash già calcolate
per rilevare errori silenti o per recuperare file mancanti.
In alcuni rari casi, questo comportamento può comportare falsi
positivi o un processo lento a causa di molte verifiche di hash,
e questa opzione consente di risolvere tali problemi.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > , < b > check< / b >
e < b > fix< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-F, --force-full
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
In < b > sync< / b > , forza un ricalcolo completo della parità.
2025-12-12 11:57:38 +01:00
Questa opzione può essere utilizzata quando si aggiunge un nuovo
livello di parità o se si è tornati a un vecchio file di contenuto
utilizzando dati di parità più recenti.
Invece di ricreare la parità da zero, questo consente di riutilizzare
gli hash presenti nel file di contenuto per convalidare i dati e
2026-03-30 10:01:17 +02:00
mantenere la protezione dei dati durante il processo < b > sync< / b >
2025-12-12 11:57:38 +01:00
utilizzando i dati di parità esistenti.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-R, --force-realloc
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
In < b > sync< / b > , forza una riallocazione completa dei file e la
2025-12-12 11:57:38 +01:00
ricostruzione della parità.
Questa opzione può essere utilizzata per riallocare completamente
tutti i file, rimuovendo la frammentazione, riutilizzando gli hash
presenti nel file di contenuto per convalidare i dati.
2026-03-30 10:01:17 +02:00
Questa opzione può essere utilizzata solo con < b > sync< / b > .
2025-12-12 11:57:38 +01:00
ATTENZIONE! Questa opzione è solo per esperti ed è vivamente
sconsigliato utilizzarla.
2026-03-30 10:01:17 +02:00
NON si ha protezione dei dati durante l'operazione < b > sync< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
-W, --force-realloc-tail DIMENSIONE
< / div > < div class = "manual-option-description" >
Funziona come -R, --force-realloc, ma limitatamente alla porzione
di coda specificata (ultimi DIMENSIONE byte) di ogni file di parità.
Forza la riallocazione (spostamento) di qualsiasi frammento/blocco di file
attualmente memorizzato in quella sezione di coda, consentendo loro di essere
posizionati ovunque nei file di parità dove sia disponibile spazio libero
(inclusi i buchi esistenti).
Lo scopo principale di questa opzione è ridurre la dimensione su disco
del file di parità.
Se la riallocazione svuota con successo l'intera sezione di coda
(non rimangono blocchi che la utilizzano), il file di parità viene
troncato, recuperando lo spazio di coda inutilizzato.
È possibile utilizzare moltiplicatori come K, M, G o T (ad es.
--force-realloc-tail 1G).
È possibile utilizzare locate -t, --tail per conoscere in anticipo
i file interessati.
ATTENZIONE!
Questa opzione è solo per esperti ed è caldamente
raccomandato di non usarla.
NON si ha protezione dei dati durante l'operazione di < b > sync< / b >
per i file interessati.
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-l, --log FILE
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Scrive un log dettagliato nel file specificato.
Se questa opzione non è specificata, gli errori imprevisti vengono
stampati sullo schermo, potenzialmente resulting in un output
eccessivo in caso di molti errori. Quando -l, --log è specificato,
vengono stampati sullo schermo solo gli errori fatali che
causano l'arresto di SnapRAID.
2026-03-30 10:01:17 +02:00
Se il percorso inizia con < b > > > < / b > , il file viene aperto in modalità
append. Le occorrenze di < b > %D< / b > e < b > %T< / b > nel nome vengono sostituite
2025-12-12 11:57:38 +01:00
con la data e l'ora nel formato YYYYMMDD e HHMMSS. Nei file batch
2026-03-30 10:01:17 +02:00
di Windows, è necessario raddoppiare il carattere < b > %< / b > , ad esempio
result-%%D.log. Per utilizzare < b > > > < / b > , è necessario racchiudere
il nome tra virgolette, ad esempio < b > "> > result.log"< / b > .
2025-12-12 11:57:38 +01:00
Per indirizzare l'output del log all'output standard o all'errore
2026-03-30 10:01:17 +02:00
standard, è possibile utilizzare < b > "> & 1"< / b > e < b > "> & 2"< / b > ,
2025-12-12 11:57:38 +01:00
rispettivamente.
Vedere il file snapraid_log.txt o la pagina man per le descrizioni
dei tag di log.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-L, --error-limit NUMBER
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Imposta un nuovo limite di errore prima di interrompere l'esecuzione.
Per impostazione predefinita, SnapRAID si interrompe se incontra
più di 100 errori di input/output, indicando che un disco
sta probabilmente fallendo.
2026-03-30 10:01:17 +02:00
Questa opzione influisce su < b > sync< / b > e < b > scrub< / b > , a cui è consentito
2025-12-12 11:57:38 +01:00
continuare dopo il primo set di errori del disco per cercare di
completare le loro operazioni.
2026-03-30 10:01:17 +02:00
Tuttavia, < b > check< / b > e < b > fix< / b > si interrompono sempre al primo errore.
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-S, --start BLKSTART
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Avvia l'elaborazione dal numero di blocco specificato.
Ciò può essere utile per riprovare a controllare o correggere
blocchi specifici in caso di disco danneggiato.
Questa opzione è principalmente per il recupero manuale avanzato.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-B, --count BLKCOUNT
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Elabora solo il numero specificato di blocchi.
Questa opzione è principalmente per il recupero manuale avanzato.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-C, --gen-conf CONTENT
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Genera un file di configurazione fittizio da un file di contenuto
esistente.
Il file di configurazione viene scritto nell'output standard e non
sovrascrive uno esistente.
Questo file di configurazione contiene anche le informazioni
necessarie per ricostruire i punti di montaggio del disco nel caso
in cui si perda l'intero sistema.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-v, --verbose
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Stampa più informazioni sullo schermo.
Se specificato una volta, stampa i file esclusi
e statistiche aggiuntive.
Questa opzione non ha effetto sui file di log.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-q, --quiet
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Stampa meno informazioni sullo schermo.
Se specificato una volta, rimuove la barra di avanzamento;
due volte, le operazioni in corso; tre volte, i messaggi di
informazione; quattro volte, i messaggi di stato.
Gli errori fatali vengono sempre stampati sullo schermo.
Questa opzione non ha effetto sui file di log.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-H, --help
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Stampa una breve schermata di aiuto.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
-V, --version
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
2025-12-12 11:57:38 +01:00
Stampa la versione del programma.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec7" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Configurazione
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID richiede un file di configurazione per sapere dove si trova
2025-12-12 11:57:38 +01:00
l'array di dischi e dove memorizzare le informazioni di parità.
2026-03-30 10:01:17 +02:00
< / p > < p > In Unix, utilizza il file < b > /usr/local/etc/snapraid.conf< / b > se esiste,
altrimenti < b > /etc/snapraid.conf< / b > .
In Windows, utilizza il file < b > snapraid.conf< / b > nella stessa
directory di < b > snapraid.exe< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Deve contenere le seguenti opzioni (sensibili al maiuscolo/minuscolo):
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-section-level-2" >
< h2 id = "sec7-1" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
parity FILE [,FILE] ...
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce i file da utilizzare per memorizzare le informazioni di parità.
2025-12-12 11:57:38 +01:00
La parità consente la protezione da un singolo guasto del disco,
simile a RAID5.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile specificare più file, che devono essere su dischi diversi.
2025-12-12 11:57:38 +01:00
Quando un file non può più crescere, viene utilizzato il successivo.
Lo spazio totale disponibile deve essere almeno grande quanto il disco
dati più grande dell'array.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile aggiungere file di parità aggiuntivi in seguito, ma non è
2025-12-12 11:57:38 +01:00
possibile riordinarli o rimuoverli.
2025-12-14 22:21:44 +01:00
< / p > < p > Mantenere i dischi di parità riservati alla parità garantisce che non
2025-12-12 11:57:38 +01:00
diventino frammentati, migliorando le prestazioni.
2025-12-14 22:21:44 +01:00
< / p > < p > In Windows, 256 MB vengono lasciati inutilizzati su ogni disco per
2025-12-12 11:57:38 +01:00
evitare l'avviso sui dischi pieni.
2025-12-14 22:21:44 +01:00
< / p > < p > Questa opzione è obbligatoria e può essere utilizzata solo una volta.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-2" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
(2,3,4,5,6)-parity FILE [,FILE] ...
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce i file da utilizzare per memorizzare informazioni di parità
2025-12-12 11:57:38 +01:00
extra.
2025-12-14 22:21:44 +01:00
< / p > < p > Per ogni livello di parità specificato, è abilitato un livello
2025-12-12 11:57:38 +01:00
aggiuntivo di protezione:
2025-12-14 22:21:44 +01:00
< / p > < ul >
2025-12-12 11:57:38 +01:00
< li >
2-parity abilita la doppia parità RAID6.
< / li >
< li >
3-parity abilita la tripla parità.
< / li >
< li >
4-parity abilita la parità quadrupla.
< / li >
< li >
5-parity abilita la parità quintupla.
< / li >
< li >
6-parity abilita la parità esapla.
< / li >
< / ul >
2025-12-14 22:21:44 +01:00
< p > Ogni livello di parità richiede la presenza di tutti i livelli di parità
2025-12-12 11:57:38 +01:00
precedenti.
2026-03-30 10:01:17 +02:00
< / p > < p > Si applicano le stesse considerazioni dell'opzione < b > parity< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Queste opzioni sono facoltative e possono essere utilizzate solo una volta.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-3" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
z-parity FILE [,FILE] ...
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce un file e un formato alternativi per memorizzare la tripla
2025-12-12 11:57:38 +01:00
parità.
2026-03-30 10:01:17 +02:00
< / p > < p > Questa opzione è un'alternativa a < b > 3-parity< / b > , destinata
2025-12-12 11:57:38 +01:00
principalmente a CPU di fascia bassa come ARM o AMD Phenom, Athlon
e Opteron che non supportano il set di istruzioni SSSE3. In tali
casi, fornisce prestazioni migliori.
2025-12-14 22:21:44 +01:00
< / p > < p > Questo formato è simile ma più veloce di quello utilizzato da ZFS RAIDZ3.
2025-12-12 11:57:38 +01:00
Come ZFS, non funziona oltre la tripla parità.
2026-03-30 10:01:17 +02:00
< / p > < p > Quando si utilizza < b > 3-parity< / b > , si verrà avvisati se è consigliato
utilizzare il formato < b > z-parity< / b > per un miglioramento delle prestazioni.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile convertire da un formato all'altro regolando il file
2025-12-12 11:57:38 +01:00
di configurazione con il file z-parity o 3-parity desiderato e
2026-03-30 10:01:17 +02:00
utilizzando < b > fix< / b > per ricrearlo.
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-4" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
content FILE
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce il file da utilizzare per memorizzare l'elenco e i checksum
2025-12-12 11:57:38 +01:00
di tutti i file presenti nell'array di dischi.
2025-12-14 22:21:44 +01:00
< / p > < p > Può essere posizionato su un disco utilizzato per dati, parità o
2025-12-12 11:57:38 +01:00
qualsiasi altro disco disponibile.
Se si utilizza un disco dati, questo file viene automaticamente
2026-03-30 10:01:17 +02:00
escluso dal processo < b > sync< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Questa opzione è obbligatoria e può essere utilizzata più volte
2025-12-12 11:57:38 +01:00
per salvare più copie dello stesso file.
2025-12-14 22:21:44 +01:00
< / p > < p > È necessario memorizzare almeno una copia per ogni disco di parità
2025-12-12 11:57:38 +01:00
utilizzato più uno. L'utilizzo di copie aggiuntive non è dannoso.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-5" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
data NAME DIR
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce il nome e il punto di montaggio dei dischi dati
2025-12-12 11:57:38 +01:00
nell'array. NAME viene utilizzato per identificare il disco e deve
essere unico. DIR è il punto di montaggio del disco nel file system.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile cambiare il punto di montaggio secondo necessità,
2025-12-12 11:57:38 +01:00
purché si mantenga fisso NAME.
2025-12-14 22:21:44 +01:00
< / p > < p > È necessario utilizzare un'opzione per ogni disco dati nell'array.
< / p > < p > È possibile rinominare un disco in seguito modificando NAME
2025-12-12 11:57:38 +01:00
direttamente nel file di configurazione e quindi eseguendo un
2026-03-30 10:01:17 +02:00
comando < b > sync< / b > .
2025-12-12 11:57:38 +01:00
In caso di ridenominazione, l'associazione viene eseguita utilizzando
l'UUID memorizzato dei dischi.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-6" class = "manual-title-level-2" >
extra NAME DIR
< / h2 >
< p > Definisce il nome e il punto di montaggio di dischi aggiuntivi da monitorare
con i comandi < b > smart< / b > e < b > probe< / b > .
< / p > < p > Questo è utile per monitorare i dischi che non fanno parte dell'
array ma sono necessari per il funzionamento del sistema, come
il disco di avvio.
< / p > < p > Si noti che tali dischi non sono influenzati dai comandi < b > up< / b > e < b > down< / b >
perché si prevede che siano sempre in rotazione.
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-7" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
nohidden
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Esclude tutti i file e le directory nascosti.
2026-03-30 10:01:17 +02:00
In Unix, i file nascosti sono quelli che iniziano con < b > .< / b > .
2025-12-12 11:57:38 +01:00
In Windows, sono quelli con l'attributo nascosto.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-8" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
exclude/include PATTERN
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce i modelli di file o directory da escludere o includere
2025-12-12 11:57:38 +01:00
nel processo di sync.
Tutti i modelli vengono elaborati nell'ordine specificato.
2026-03-30 10:01:17 +02:00
< / p > < p > Se il primo modello che corrisponde è un < b > exclude< / b > , il file
viene escluso. Se è un < b > include< / b > , il file viene incluso.
2025-12-12 11:57:38 +01:00
Se nessun modello corrisponde, il file viene escluso se l'ultimo
2026-03-30 10:01:17 +02:00
modello specificato è un < b > include< / b > , o incluso se l'ultimo modello
specificato è un < b > exclude< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Vedere la sezione PATTERN per maggiori dettagli sulle specifiche
2025-12-12 11:57:38 +01:00
del modello.
2025-12-14 22:21:44 +01:00
< / p > < p > Questa opzione può essere utilizzata più volte.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-9" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
blocksize SIZE_IN_KIBIBYTES
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce la dimensione di blocco di base in kibibyte per la parità.
2025-12-12 11:57:38 +01:00
Un kibibyte è 1024 byte.
2025-12-14 22:21:44 +01:00
< / p > < p > La dimensione di blocco predefinita è 256, che dovrebbe funzionare
2025-12-12 11:57:38 +01:00
nella maggior parte dei casi.
2025-12-14 22:21:44 +01:00
< / p > < p > ATTENZIONE! Questa opzione è solo per esperti ed è vivamente
2025-12-12 11:57:38 +01:00
sconsigliato modificare questo valore. Per modificare questo valore in
futuro, sarà necessario ricreare l'intera parità!
2025-12-14 22:21:44 +01:00
< / p > < p > Un motivo per utilizzare una dimensione di blocco diversa è se si
2025-12-12 11:57:38 +01:00
hanno molti file piccoli, nell'ordine dei milioni.
2025-12-14 22:21:44 +01:00
< / p > < p > Per ogni file, anche se solo pochi byte, viene allocato un intero
2025-12-12 11:57:38 +01:00
blocco di parità e, con molti file, ciò può comportare uno spazio
di parità inutilizzato significativo.
Quando si riempie completamente il disco di parità, non è
consentito aggiungere altri file ai dischi dati.
Tuttavia, la parità sprecata non si accumula tra i dischi dati.
Lo spazio sprecato risultante da un numero elevato di file su un
disco dati limita solo la quantità di dati su quel disco dati, non
gli altri.
2025-12-14 22:21:44 +01:00
< / p > < p > Come approssimazione, si può presumere che metà della dimensione del
2025-12-12 11:57:38 +01:00
blocco sia sprecata per ogni file. Ad esempio, con 100.000 file e una
dimensione di blocco di 256 KiB, si sprecheranno 12,8 GB di parità,
il che può comportare 12,8 GB in meno di spazio disponibile sul disco
dati.
2025-12-14 22:21:44 +01:00
< / p > < p > È possibile controllare la quantità di spazio sprecato su ogni disco
2026-03-30 10:01:17 +02:00
utilizzando < b > status< / b > .
2025-12-12 11:57:38 +01:00
Questa è la quantità di spazio che è necessario lasciare libero sui
dischi dati o utilizzare per i file non inclusi nell'array.
Se questo valore è negativo, significa che si è vicini a riempire
la parità e rappresenta lo spazio che è ancora possibile sprecare.
2025-12-14 22:21:44 +01:00
< / p > < p > Per evitare questo problema, è possibile utilizzare una partizione
2025-12-12 11:57:38 +01:00
più grande per la parità.
Ad esempio, se la partizione di parità è 12,8 GB più grande dei dischi
dati, si ha abbastanza spazio extra per gestire fino a 100.000
file su ogni disco dati senza alcuno spreco di spazio.
2025-12-14 22:21:44 +01:00
< / p > < p > Un trucco per ottenere una partizione di parità più grande in Linux è
2025-12-12 11:57:38 +01:00
formattarla con il comando:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
mkfs.ext4 -m 0 -T largefile4 DEVICE
< / pre >
2025-12-14 22:21:44 +01:00
< p > Ciò si traduce in circa l'1,5% di spazio extra, circa 60 GB per
2025-12-12 11:57:38 +01:00
un disco da 4 TB, che consente circa 460.000 file su ogni disco dati
senza alcuno spreco di spazio.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-10" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
hashsize SIZE_IN_BYTES
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce la dimensione dell'hash in byte per i blocchi salvati.
< / p > < p > La dimensione di hash predefinita è 16 byte (128 bit), che dovrebbe
2025-12-12 11:57:38 +01:00
funzionare nella maggior parte dei casi.
2025-12-14 22:21:44 +01:00
< / p > < p > ATTENZIONE! Questa opzione è solo per esperti ed è vivamente
2025-12-12 11:57:38 +01:00
sconsigliato modificare questo valore. Per modificare questo valore in
futuro, sarà necessario ricreare l'intera parità!
2025-12-14 22:21:44 +01:00
< / p > < p > Un motivo per utilizzare una dimensione di hash diversa è se il
2025-12-12 11:57:38 +01:00
sistema ha memoria limitata. Come regola generale, SnapRAID
tipicamente richiede 1 GiB di RAM per ogni 16 TB di dati nell'array.
2025-12-14 22:21:44 +01:00
< / p > < p > Nello specifico, per memorizzare gli hash dei dati, SnapRAID richiede
2025-12-12 11:57:38 +01:00
circa $TS*(1+HS)/BS$ byte di RAM,
dove $TS$ è la dimensione totale in byte dell'array di dischi, $BS$ è la
dimensione del blocco in byte e $HS$ è la dimensione dell'hash in byte.
2025-12-14 22:21:44 +01:00
< / p > < p > Ad esempio, con 8 dischi da 4 TB, una dimensione di blocco di 256 KiB
2025-12-12 11:57:38 +01:00
($1 \text{ KiB} = 1024 \text{ byte}$) e una dimensione di hash di 16, si ottiene:
2025-12-14 22:21:44 +01:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
RAM = $(8 * 4 * 10^{12}) * (1+16) / (256 * 2^{10}) = 1.93 \text{ GiB}$
< / pre >
2025-12-14 22:21:44 +01:00
< p > Passando a una dimensione di hash di 8, si ottiene:
< / p > < pre >
2025-12-12 11:57:38 +01:00
RAM = $(8 * 4 * 10^{12}) * (1+8) / (256 * 2^{10}) = 1.02 \text{ GiB}$
< / pre >
2025-12-14 22:21:44 +01:00
< p > Passando a una dimensione di blocco di 512, si ottiene:
< / p > < pre >
2025-12-12 11:57:38 +01:00
RAM = $(8 * 4 * 10^{12}) * (1+16) / (512 * 2^{10}) = 0.96 \text{ GiB}$
< / pre >
2025-12-14 22:21:44 +01:00
< p > Passando sia a una dimensione di hash di 8 che a una dimensione di
2025-12-12 11:57:38 +01:00
blocco di 512, si ottiene:
2025-12-14 22:21:44 +01:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
RAM = $(8 * 4 * 10^{12}) * (1+8) / (512 * 2^{10}) = 0.51 \text{ GiB}$
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-11" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
autosave SIZE_IN_GIGABYTES
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Salva automaticamente lo stato durante la sincronizzazione o lo scrubbing
2025-12-12 11:57:38 +01:00
dopo la quantità specificata di GB elaborati.
2026-03-30 10:01:17 +02:00
Questa opzione è utile per evitare di riavviare lunghi comandi < b > sync< / b >
2025-12-12 11:57:38 +01:00
da zero se interrotti da un arresto anomalo della macchina o qualsiasi
altro evento.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-12" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
temp_limit TEMPERATURE_CELSIUS
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Imposta la temperatura massima del disco consentita in Celsius. Se
2025-12-12 11:57:38 +01:00
specificato, SnapRAID controlla periodicamente la temperatura di tutti
i dischi utilizzando lo strumento smartctl. Le temperature attuali dei
dischi vengono visualizzate mentre SnapRAID è in funzione. Se un disco
supera questo limite, tutte le operazioni si interrompono e i dischi
vengono messi in stand-by (spin down) per la durata definita
2026-03-30 10:01:17 +02:00
dall'opzione < b > temp_sleep< / b > . Dopo il periodo di sonno, le operazioni
2025-12-12 11:57:38 +01:00
riprendono, potenzialmente mettendosi in pausa di nuovo se il limite
di temperatura viene raggiunto ancora una volta.
2025-12-14 22:21:44 +01:00
< / p > < p > Durante il funzionamento, SnapRAID analizza anche la curva di riscaldamento
2025-12-12 11:57:38 +01:00
di ciascun disco e stima la temperatura costante a lungo termine che
dovrebbero raggiungere se l'attività continua. La stima viene eseguita
solo dopo che la temperatura del disco è aumentata quattro volte,
garantendo che siano disponibili abbastanza punti dati per stabilire
una tendenza affidabile.
Questa temperatura costante prevista è mostrata tra parentesi accanto
al valore attuale e aiuta a valutare se il raffreddamento del sistema
è adeguato. Questa temperatura stimata è solo a scopo informativo
e non ha alcun effetto sul comportamento di SnapRAID. Le azioni del
programma si basano esclusivamente sulle temperature effettive
misurate del disco.
2025-12-14 22:21:44 +01:00
< / p > < p > Per eseguire questa analisi, SnapRAID necessita di un riferimento
2025-12-12 11:57:38 +01:00
per la temperatura del sistema. Tenta prima di leggerla dai sensori
hardware disponibili. Se non è possibile accedere a nessun sensore di
sistema, utilizza la temperatura del disco più bassa misurata all'inizio
dell'esecuzione come riferimento di riserva.
2025-12-14 22:21:44 +01:00
< / p > < p > Normalmente, SnapRAID mostra solo la temperatura del disco più caldo.
2025-12-12 11:57:38 +01:00
Per visualizzare la temperatura di tutti i dischi, utilizzare l'opzione
-A o --stats.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-13" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
temp_sleep TIME_IN_MINUTES
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Imposta il tempo di stand-by, in minuti, quando il limite di temperatura
2025-12-12 11:57:38 +01:00
viene raggiunto. Durante questo periodo, i dischi rimangono fermi
(spin down). Il valore predefinito è 5 minuti.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-14" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
pool DIR
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce la directory di pooling in cui viene creata la vista virtuale
2026-03-30 10:01:17 +02:00
dell'array di dischi utilizzando il comando < b > pool< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > La directory deve già esistere.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-15" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
share UNC_DIR
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce il percorso UNC di Windows necessario per accedere ai dischi
2025-12-12 11:57:38 +01:00
da remoto.
2025-12-14 22:21:44 +01:00
< / p > < p > Se questa opzione è specificata, i collegamenti simbolici creati nella
2025-12-12 11:57:38 +01:00
directory pool utilizzano questo percorso UNC per accedere ai dischi.
Senza questa opzione, i collegamenti simbolici generati utilizzano
solo percorsi locali, il che non consente la condivisione della
directory pool sulla rete.
2025-12-14 22:21:44 +01:00
< / p > < p > I collegamenti simbolici sono formati utilizzando il percorso UNC
2025-12-12 11:57:38 +01:00
specificato, aggiungendo il nome del disco come specificato nell'opzione
2026-03-30 10:01:17 +02:00
< b > data< / b > e infine aggiungendo la directory e il nome del file.
2025-12-14 22:21:44 +01:00
< / p > < p > Questa opzione è richiesta solo per Windows.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-16" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
smartctl DISK/PARITY OPTIONS...
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Definisce opzioni smartctl personalizzate per ottenere gli attributi
2025-12-12 11:57:38 +01:00
SMART per ogni disco. Ciò potrebbe essere richiesto per controller RAID
e alcuni dischi USB che non possono essere rilevati automaticamente.
Il segnaposto %s viene sostituito dal nome del dispositivo, ma è
facoltativo per dispositivi fissi come i controller RAID.
2026-03-30 10:01:17 +02:00
< / p > < p > DISK è lo stesso nome del disco specificato nell'opzione < b > data< / b > .
PARITY è uno dei nomi di parità: < b > parity< / b > , < b > 2-parity< / b > , < b > 3-parity< / b > ,
< b > 4-parity< / b > , < b > 5-parity< / b > , < b > 6-parity< / b > o < b > z-parity< / b > .
< / p > < p > Nelle OPTIONS specificate, la stringa < b > %s< / b > viene sostituita dal
2025-12-12 11:57:38 +01:00
nome del dispositivo. Per i controller RAID, il dispositivo è
2026-03-30 10:01:17 +02:00
probabilmente fisso e potrebbe non essere necessario utilizzare < b > %s< / b > .
2025-12-14 22:21:44 +01:00
< / p > < p > Fare riferimento alla documentazione di smartmontools per le possibili
2025-12-12 11:57:38 +01:00
opzioni:
2026-03-30 10:01:17 +02:00
< / p > < pre >
< a href = "https://www.smartmontools.org/wiki/Supported_RAID-Controllers" > https://www.smartmontools.org/wiki/Supported_RAID-Controllers< / a >
< a href = "https://www.smartmontools.org/wiki/Supported_USB-Devices" > https://www.smartmontools.org/wiki/Supported_USB-Devices< / a >
2025-12-12 11:57:38 +01:00
< / pre >
2025-12-14 22:21:44 +01:00
< p > Ad esempio:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
smartctl parity -d sat %s
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-17" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
smartignore DISK/PARITY ATTR [ATTR...]
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Ignora l'attributo SMART specificato durante il calcolo della
2025-12-12 11:57:38 +01:00
probabilità di guasto del disco. Questa opzione è utile se un disco
segnala valori insoliti o fuorvianti per un particolare attributo.
2026-03-30 10:01:17 +02:00
< / p > < p > DISK è lo stesso nome del disco specificato nell'opzione < b > data< / b > .
PARITY è uno dei nomi di parità: < b > parity< / b > , < b > 2-parity< / b > , < b > 3-parity< / b > ,
< b > 4-parity< / b > , < b > 5-parity< / b > , < b > 6-parity< / b > o < b > z-parity< / b > .
2025-12-12 11:57:38 +01:00
Il valore speciale * può essere utilizzato per ignorare l'attributo
su tutti i dischi.
2026-03-30 10:01:17 +02:00
< / p > < p > Ad esempio, per ignorare l'attributo < b > Current Pending Sector Count< / b >
2025-12-12 11:57:38 +01:00
su tutti i dischi:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
smartignore * 197
< / pre >
2025-12-14 22:21:44 +01:00
< p > Per ignorarlo solo sul primo disco di parità:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
smartignore parity 197
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< div class = "manual-section-level-2" >
< h2 id = "sec7-18" class = "manual-title-level-2" >
2025-12-12 11:57:38 +01:00
Esempi
2026-03-30 10:01:17 +02:00
< / h2 >
2025-12-14 22:21:44 +01:00
< p > Un esempio di configurazione tipica per Unix è:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
parity /mnt/diskp/snapraid.parity
content /mnt/diskp/snapraid.content
content /var/snapraid/snapraid.content
data d1 /mnt/disk1/
data d2 /mnt/disk2/
data d3 /mnt/disk3/
exclude /lost+found/
exclude /tmp/
smartctl d1 -d sat %s
smartctl d2 -d usbjmicron %s
smartctl parity -d areca,1/1 /dev/sg0
smartctl 2-parity -d areca,2/1 /dev/sg0
< / pre >
2025-12-14 22:21:44 +01:00
< p > Un esempio di configurazione tipica per Windows è:
2026-03-30 10:01:17 +02:00
< / p > < pre >
2025-12-12 11:57:38 +01:00
parity E:\snapraid.parity
content E:\snapraid.content
content C:\snapraid\snapraid.content
data d1 G:\array\
data d2 H:\array\
data d3 I:\array\
exclude Thumbs.db
exclude \$RECYCLE.BIN
exclude \System Volume Information
smartctl d1 -d sat %s
smartctl d2 -d usbjmicron %s
smartctl parity -d areca,1/1 /dev/arcmsr0
smartctl 2-parity -d areca,2/1 /dev/arcmsr0
< / pre >
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec8" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Pattern
2026-03-30 10:01:17 +02:00
< / h1 >
< p > I pattern offrono un modo flessibile per filtrare i file da includere o
escludere. Usando i caratteri globbing, è possibile definire regole che
corrispondano a nomi di file specifici o a intere strutture di directory senza
elencare manualmente ogni percorso.
< / p > < p > Il punto interrogativo < b > ?< / b > corrisponde a qualsiasi carattere singolo eccetto il
separatore di directory. Questo lo rende utile per far corrispondere nomi di file
con caratteri variabili mantenendo il pattern confinato a un singolo livello di directory.
< / p > < p > L'asterisco singolo < b > *< / b > corrisponde a qualsiasi sequenza di caratteri, ma come il
punto interrogativo, non attraversa mai i confini delle directory. Si ferma allo
slash in avanti, rendendolo adatto per la corrispondenza all'interno di un singolo
componente del percorso. Questo è il comportamento standard dei wildcard familiare
dal globbing della shell.
< / p > < p > Il doppio asterisco < b > **< / b > è più potente, corrisponde a qualsiasi sequenza di
caratteri inclusi i separatori di directory. Ciò consente ai pattern di corrispondere
attraverso più livelli di directory. Quando < b > **< / b > appare inserito direttamente in
un pattern, può corrispondere a zero o più caratteri inclusi gli slash tra
il testo letterale circostante.
< / p > < p > L'uso più importante di < b > **< / b > è nella forma speciale < b > /**/< / b > . Questa corrisponde a
zero o più livelli di directory completi, rendendo possibile la corrispondenza di file
a qualsiasi profondità in un albero di directory senza conoscere l'esatta struttura del percorso.
Per esempio, il pattern < b > src/**/main.js< / b > corrisponde a < b > src/main.js< / b > (saltando
zero directory), < b > src/ui/main.js< / b > (saltando una directory), e
< b > src/ui/components/main.js< / b > (saltando due directory).
< / p > < p > Le classi di caratteri che usano le parentesi quadre < b > []< / b > corrispondono a un singolo carattere da un
set o intervallo specificato. Come gli altri pattern a carattere singolo, esse
non corrispondono ai separatori di directory. Le classi supportano intervalli e la negazione usando
un punto esclamativo.
< / p > < p > La distinzione fondamentale da ricordare è che < b > *< / b > , < b > ?< / b > e le classi di caratteri
rispettano tutti i confini delle directory e corrispondono solo all'interno di un singolo
componente del percorso, mentre < b > **< / b > è l'unico pattern che può corrispondere attraverso
i separatori di directory.
2025-12-14 22:21:44 +01:00
< / p > < p > Esistono quattro diversi tipi di pattern:
2026-03-30 10:01:17 +02:00
< / p > < div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
FILE
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Seleziona qualsiasi file chiamato FILE.
2025-12-12 11:57:38 +01:00
Questo pattern si applica solo ai file, non alle directory.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
DIR/
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Seleziona qualsiasi directory chiamata DIR e tutto ciò che contiene.
2025-12-12 11:57:38 +01:00
Questo pattern si applica solo alle directory, non ai file.
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
/PATH/FILE
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Seleziona l'esatto percorso del file specificato. Questo pattern si applica
solo ai file, non alle directory.
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
2025-12-12 11:57:38 +01:00
/PATH/DIR/
2026-03-30 10:01:17 +02:00
< / div > < div class = "manual-option-description" >
Seleziona l'esatto percorso della directory specificata e tutto ciò che
contiene. Questo pattern si applica solo alle directory, non ai file.
< / div >
< / div >
< / div >
2025-12-14 22:21:44 +01:00
< p > Quando si specifica un percorso assoluto che inizia con /, viene
2025-12-12 11:57:38 +01:00
applicato alla directory radice dell'array, non alla directory radice
del file system locale.
2025-12-14 22:21:44 +01:00
< / p > < p > In Windows, è possibile utilizzare il backslash \ invece dello slash
2025-12-12 11:57:38 +01:00
in avanti /. Le directory di sistema di Windows, le junction, i punti
di montaggio e altre directory speciali di Windows sono trattati come
file, il che significa che per escluderli, è necessario utilizzare una
regola di file, non una di directory.
2026-03-30 10:01:17 +02:00
< / p > < p > Se il nome del file contiene un carattere < b > *< / b > , < b > ?< / b > , < b > [< / b > o < b > ]< / b > ,
2025-12-12 11:57:38 +01:00
è necessario eseguirne l'escape per evitare che venga interpretato
2026-03-30 10:01:17 +02:00
come un carattere di globbing. In Unix, il carattere di escape è < b > \< / b > ;
in Windows, è < b > ^< / b > .
2025-12-12 11:57:38 +01:00
Quando il pattern è sulla riga di comando, è necessario raddoppiare
il carattere di escape per evitare che venga interpretato dalla shell
dei comandi.
2025-12-14 22:21:44 +01:00
< / p > < p > Nel file di configurazione, è possibile utilizzare diverse strategie
2025-12-12 11:57:38 +01:00
per filtrare i file da elaborare.
2026-03-30 10:01:17 +02:00
L'approccio più semplice è utilizzare solo regole < b > exclude< / b > per
2025-12-12 11:57:38 +01:00
rimuovere tutti i file e le directory che non si desidera elaborare.
Ad esempio:
2026-03-30 10:01:17 +02:00
< / p > < pre >
# Esclude qualsiasi file denominato < b > *.unrecoverable< / b >
2025-12-12 11:57:38 +01:00
exclude *.unrecoverable
2026-03-30 10:01:17 +02:00
# Esclude la directory radice < b > /lost+found< / b >
2025-12-12 11:57:38 +01:00
exclude /lost+found/
2026-03-30 10:01:17 +02:00
# Esclude qualsiasi sottodirectory denominata < b > tmp< / b >
2025-12-12 11:57:38 +01:00
exclude tmp/
< / pre >
2025-12-14 22:21:44 +01:00
< p > L'approccio opposto è definire solo i file che si desidera elaborare,
2026-03-30 10:01:17 +02:00
utilizzando solo regole < b > include< / b > . Ad esempio:
< / p > < pre >
2025-12-12 11:57:38 +01:00
# Include solo alcune directory
include /movies/
include /musics/
include /pictures/
< / pre >
2026-03-30 10:01:17 +02:00
< p > L'approccio finale è mescolare regole < b > exclude< / b > e < b > include< / b > . In questo
2025-12-12 11:57:38 +01:00
caso, l'ordine delle regole è importante. Le regole precedenti hanno
la precedenza su quelle successive.
2026-03-30 10:01:17 +02:00
Per semplificare, è possibile elencare prima tutte le regole < b > exclude< / b >
e poi tutte le regole < b > include< / b > . Ad esempio:
< / p > < pre >
# Esclude qualsiasi file denominato < b > *.unrecoverable< / b >
2025-12-12 11:57:38 +01:00
exclude *.unrecoverable
2026-03-30 10:01:17 +02:00
# Esclude qualsiasi sottodirectory denominata < b > tmp< / b >
2025-12-12 11:57:38 +01:00
exclude tmp/
# Include solo alcune directory
include /movies/
include /musics/
include /pictures/
< / pre >
2025-12-14 22:21:44 +01:00
< p > Sulla riga di comando, utilizzando l'opzione -f, è possibile utilizzare
2026-03-30 10:01:17 +02:00
solo pattern < b > include< / b > . Ad esempio:
< / p > < pre >
2025-12-12 11:57:38 +01:00
# Controlla solo i file .mp3.
# In Unix, utilizzare le virgolette per evitare l'espansione
# del globbing da parte della shell.
snapraid -f "*.mp3" check
< / pre >
2025-12-14 22:21:44 +01:00
< p > In Unix, quando si utilizzano caratteri di globbing sulla riga di
2025-12-12 11:57:38 +01:00
comando, è necessario citarli per impedire alla shell di espanderli.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-1" >
< h1 id = "sec9" class = "manual-title-level-1" >
Ignore File
< / h1 >
< p > In aggiunta alle regole globali nel file di configurazione, è possibile
inserire file < b > .snapraidignore< / b > in qualsiasi directory all'interno dell'array
per definire regole di esclusione decentralizzate.
< / p > < p > Le regole definite in < b > .snapraidignore< / b > vengono applicate dopo le regole nel
file di configurazione. Ciò significa che hanno una priorità più alta e possono
essere utilizzate per escludere file che erano stati precedentemente inclusi dalla
configurazione globale. In pratica, se una regola locale corrisponde, il file viene
escluso indipendentemente dalle impostazioni di inclusione globali.
< / p > < p > La logica dei pattern in < b > .snapraidignore< / b > rispecchia la configurazione globale
ma ancora i pattern alla directory in cui si trova il file:
< / p > < div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
FILE
< / div > < div class = "manual-option-description" >
Seleziona qualsiasi file chiamato FILE in questa directory o sotto di essa.
Segue le stesse regole di globbing del pattern globale.
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
DIR/
< / div > < div class = "manual-option-description" >
Seleziona qualsiasi directory chiamata DIR e tutto ciò che contiene,
che risieda in questa directory o sotto di essa.
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
/PATH/FILE
< / div > < div class = "manual-option-description" >
Seleziona l'esatto file specificato relativo alla posizione
del file < b > .snapraidignore< / b > .
< / div >
< / div >
< / div >
< div class = "manual-option-list" >
< div class = "manual-option-entry" >
< div class = "manual-option-name" >
/PATH/DIR/
< / div > < div class = "manual-option-description" >
Seleziona l'esatta directory specificata e tutto ciò che contiene,
relativa alla posizione del file < b > .snapraidignore< / b > .
< / div >
< / div >
< / div >
< p > A differenza della configurazione globale, i file < b > .snapraidignore< / b > supportano
solo regole di esclusione; non è possibile utilizzare pattern < b > include< / b > o negazioni (!).
< / p > < p > Ad esempio, se hai un < b > .snapraidignore< / b > in < b > /mnt/disk1/projects/< / b > :
< / p > < pre >
# Esclude SOLO /mnt/disk1/projects/output.bin
/output.bin
# Esclude qualsiasi directory chiamata < b > build< / b > all'interno di projects/
build/
# Esclude qualsiasi file .tmp all'interno di projects/ o delle sue sottocartelle
*.tmp
< / pre >
< / div >
< div class = "manual-section-level-1" >
< h1 id = "sec10" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Content
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID memorizza l'elenco e i checksum dei file nel file di contenuto.
< / p > < p > È un file binario che elenca tutti i file presenti nell'array di dischi,
2025-12-12 11:57:38 +01:00
insieme a tutti i checksum per verificarne l'integrità.
2026-03-30 10:01:17 +02:00
< / p > < p > Questo file viene letto e scritto dai comandi < b > sync< / b > e < b > scrub< / b > e
letto dai comandi < b > fix< / b > , < b > check< / b > e < b > status< / b > .
< / p > < / div >
< div class = "manual-section-level-1" >
< h1 id = "sec11" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Parity
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID memorizza le informazioni di parità dell'array nei file di
2025-12-12 11:57:38 +01:00
parità.
2025-12-14 22:21:44 +01:00
< / p > < p > Questi sono file binari contenenti la parità calcolata di tutti i
2026-03-30 10:01:17 +02:00
blocchi definiti nel file < b > content< / b > .
< / p > < p > Questi file vengono letti e scritti dai comandi < b > sync< / b > e < b > fix< / b > e
solo letti dai comandi < b > scrub< / b > e < b > check< / b > .
< / p > < / div >
< div class = "manual-section-level-1" >
< h1 id = "sec12" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Codifica
2026-03-30 10:01:17 +02:00
< / h1 >
2025-12-14 22:21:44 +01:00
< p > SnapRAID in Unix ignora qualsiasi codifica. Legge e memorizza i
2025-12-12 11:57:38 +01:00
nomi dei file con la stessa codifica utilizzata dal file system.
2025-12-14 22:21:44 +01:00
< / p > < p > In Windows, tutti i nomi letti dal file system vengono convertiti e
2025-12-12 11:57:38 +01:00
elaborati in formato UTF-8.
2025-12-14 22:21:44 +01:00
< / p > < p > Per avere i nomi dei file stampati correttamente, è necessario impostare
2026-03-30 10:01:17 +02:00
la console di Windows in modalità UTF-8 con il comando < b > chcp 65001< / b > e
utilizzare un carattere TrueType come < b > Lucida Console< / b > come carattere
2025-12-12 11:57:38 +01:00
della console.
Questo influisce solo sui nomi dei file stampati; se si
reindirizza l'output della console a un file, il file risultante è
sempre in formato UTF-8.
2026-03-30 10:01:17 +02:00
< / p > < / div >
< div class = "manual-section-level-1" >
< h1 id = "sec14" class = "manual-title-level-1" >
2025-12-12 11:57:38 +01:00
Vedi Anche
2026-03-30 10:01:17 +02:00
< / h1 >
< p > snapraid_log(1), snapraidd(1)
< / p > < / div >
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
< / div >
< / main >
< / div >
2025-12-12 11:57:38 +01:00
2026-03-30 10:01:17 +02:00
<!-- Footer -->
< footer >
< div class = "container footer-content" >
< div class = "footer-col" >
< div class = "logo" >
< img src = "android-chrome-192x192.png" width = "32" height = "32" / >
SnapRAID
< / div >
< p > Copyright © 2026 Andrea Mazzoleni< / p >
< p class = "license" > Distributed under GPL v3 License< / p >
< / div >
< div class = "footer-col" >
2026-04-14 09:47:17 +02:00
< h4 > Links< / h4 >
2026-04-14 09:56:55 +02:00
< ul class = "footer-list" >
2026-04-14 09:47:17 +02:00
< li > < a href = "https://github.com/amadvance/snapraid/" > GitHub SnapRAID CLI< / a > < / li >
< li > < a href = "https://github.com/amadvance/snapraid-daemon/" > GitHub SnapRAID Daemon< / a > < / li >
< li > < a href = "https://www.reddit.com/r/Snapraid/" > Reddit< / a > < / li >
< li > < a href = "https://sourceforge.net/p/snapraid/" > SourceForge< / a > < / li >
< / ul >
2026-03-30 10:01:17 +02:00
< / div >
< / div >
< / footer >
2025-12-12 11:57:38 +01:00
< / body >
< / html >