2025-12-15 15:12:16 +01:00
|
|
|
Name{number}
|
|
|
|
|
snapraid - SnapRAID Säkerhetskopiering för Disk-arrayer
|
|
|
|
|
|
|
|
|
|
Synopsis
|
|
|
|
|
:snapraid [-c, --conf CONFIG]
|
|
|
|
|
: [-f, --filter PATTERN] [-d, --filter-disk NAME]
|
|
|
|
|
: [-m, --filter-missing] [-e, --filter-error]
|
|
|
|
|
: [-a, --audit-only] [-h, --pre-hash] [-i, --import DIR]
|
|
|
|
|
: [-p, --plan PERC|bad|new|full]
|
|
|
|
|
: [-o, --older-than DAYS] [-l, --log FILE]
|
|
|
|
|
: [-s, --spin-down-on-error] [-w, --bw-limit RATE]
|
2026-03-16 23:43:14 +01:00
|
|
|
: [-t, --tail]
|
2025-12-15 15:12:16 +01:00
|
|
|
: [-Z, --force-zero] [-E, --force-empty]
|
|
|
|
|
: [-U, --force-uuid] [-D, --force-device]
|
|
|
|
|
: [-N, --force-nocopy] [-F, --force-full]
|
2026-03-16 23:43:14 +01:00
|
|
|
: [-R, --force-realloc] [-W, --force-realloc-tail]
|
2025-12-15 15:12:16 +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-02-25 14:48:54 +01:00
|
|
|
: |list|dup|pool|devices|touch|rehash|locate
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
:snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT]
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Beskrivning (Description)
|
2025-12-15 15:12:16 +01:00
|
|
|
SnapRAID är ett säkerhetskopieringsprogram designat för disk-arrayer,
|
|
|
|
|
som lagrar paritetsinformation för dataåterställning vid upp till sex
|
|
|
|
|
diskfel.
|
|
|
|
|
|
|
|
|
|
SnapRAID är i första hand avsett för hemmamediabibliotek med stora,
|
|
|
|
|
sällan ändrade filer, och erbjuder flera funktioner:
|
|
|
|
|
|
|
|
|
|
* Du kan använda diskar som redan är fyllda med filer utan
|
|
|
|
|
att behöva formatera om dem, och du får åtkomst till dem som vanligt.
|
|
|
|
|
* All din data hashberäknas för att säkerställa dataintegritet och
|
|
|
|
|
förhindra tyst korruption.
|
|
|
|
|
* När antalet felaktiga diskar överskrider paritetsantalet,
|
|
|
|
|
begränsas dataförlusten till de drabbade diskarna; data på
|
|
|
|
|
andra diskar förblir åtkomlig.
|
|
|
|
|
* Om du oavsiktligt raderar filer på en disk är återställning
|
|
|
|
|
möjlig.
|
|
|
|
|
* Diskar kan ha olika storlekar.
|
|
|
|
|
* Du kan lägga till diskar när som helst.
|
|
|
|
|
* SnapRAID låser inte in din data; du kan sluta använda det
|
|
|
|
|
när som helst utan omformatering eller dataflytt.
|
|
|
|
|
* För att få åtkomst till en fil behöver endast en enda disk snurra,
|
|
|
|
|
vilket sparar ström och minskar buller.
|
|
|
|
|
|
|
|
|
|
För mer information, besök den officiella SnapRAID-webbplatsen:
|
|
|
|
|
|
|
|
|
|
:https://www.snapraid.it/
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Begränsningar (Limitations)
|
2026-06-08 18:26:17 +02:00
|
|
|
SnapRAID är en hybrid mellan en RAID och ett backupprogram, med målet att kombinera
|
|
|
|
|
de bästa fördelarna med båda. Det har dock vissa begränsningar som du bör
|
|
|
|
|
överväga innan du använder det.
|
|
|
|
|
|
|
|
|
|
Den huvudsakliga begränsningen är att om en disk havererar kan du endast återställa data fram till
|
2026-06-25 23:08:58 +02:00
|
|
|
tillståndet för den senaste `sync`-operationen. Data som lagts till eller modifieringar som gjorts
|
2026-06-08 18:26:17 +02:00
|
|
|
sedan den senaste synkroniseringen och som är placerade på den felaktiga disken kommer att gå förlorade.
|
|
|
|
|
|
|
|
|
|
Följaktligen är SnapRAID främst lämpat för data som sällan ändras.
|
|
|
|
|
|
|
|
|
|
För data som redan existerade vid den senaste synkroniseringen beror återställningens tillförlitlighet
|
|
|
|
|
på om alternativet `snapshot` (ögonblicksbild) används:
|
|
|
|
|
|
|
|
|
|
* Med stöd för ögonblicksbilder (tillgängligt på Btrfs, ZFS, Bcachefs och NTFS)
|
2026-08-12 14:53:58 +02:00
|
|
|
kan SnapRAID automatiskt upprätthålla en oberoende frusen referens
|
|
|
|
|
för varje datafilsystem som stöds.
|
2026-06-08 18:26:17 +02:00
|
|
|
Detta säkerställer att även om du ändrar eller tar bort filer på ditt aktiva filsystem
|
|
|
|
|
under eller efter en synkronisering, förblir återställningsprocessen konsekvent och tillförlitlig.
|
|
|
|
|
|
|
|
|
|
* Utan stöd för ögonblicksbilder kan borttagning eller ändring av filer efter en `sync`
|
|
|
|
|
förhindra fullständig återställning av andra felaktiga diskar. Detta inträffar
|
|
|
|
|
eftersom pariteten inte längre matchar de modifierade filerna, även om
|
|
|
|
|
dessa filer inte finns på den havererade disken. Å andra sidan förhindrar inte nyinkomna
|
|
|
|
|
filer återställning av redan existerande filer.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Andra SnapRAID-begränsningar är:
|
|
|
|
|
|
|
|
|
|
* Med SnapRAID har du fortfarande separata filsystem för varje disk.
|
|
|
|
|
Med RAID får du ett enda stort filsystem.
|
|
|
|
|
* SnapRAID stripas inte data.
|
|
|
|
|
Med RAID får du en hastighetsökning med striping.
|
|
|
|
|
* SnapRAID stöder inte återställning i realtid.
|
|
|
|
|
Med RAID behöver du inte sluta arbeta när en disk misslyckas.
|
|
|
|
|
* SnapRAID kan bara återställa data från ett begränsat antal diskfel.
|
|
|
|
|
Med en säkerhetskopia kan du återställa från ett fullständigt
|
|
|
|
|
fel på hela disk-arrayen.
|
|
|
|
|
* Endast filnamn, tidsstämplar, symboliska länkar och hårda länkar sparas.
|
|
|
|
|
Behörigheter, ägarskap och utökade attribut sparas inte.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Kom igång (Getting Started)
|
2025-12-15 15:12:16 +01:00
|
|
|
För att använda SnapRAID måste du först välja en disk i din disk-array
|
|
|
|
|
som ska dediceras till `parity`-information. Med en disk för paritet,
|
|
|
|
|
kommer du att kunna återställa från ett enda diskfel, liknande RAID5.
|
|
|
|
|
|
|
|
|
|
Om du vill återställa från fler diskfel, liknande RAID6,
|
|
|
|
|
måste du reservera ytterligare diskar för paritet. Varje ytterligare
|
|
|
|
|
paritetsdisk möjliggör återställning från ett diskfel till.
|
|
|
|
|
|
|
|
|
|
Som paritetsdiskar måste du välja de största diskarna i arrayen,
|
|
|
|
|
eftersom paritetsinformationen kan växa till storleken av den största
|
|
|
|
|
datadisken i arrayen.
|
|
|
|
|
|
|
|
|
|
Dessa diskar kommer att dediceras till att lagra `parity`-filerna.
|
|
|
|
|
Du bör inte lagra din data på dem.
|
|
|
|
|
|
|
|
|
|
Sedan måste du definiera de `data`-diskar som du vill skydda
|
|
|
|
|
med SnapRAID. Skyddet är mer effektivt om dessa diskar
|
|
|
|
|
innehåller data som sällan ändras. Av denna anledning är det bäst att
|
|
|
|
|
INTE inkludera Windows C:\-disken eller Unix /home, /var och /tmp
|
|
|
|
|
katalogerna.
|
|
|
|
|
|
|
|
|
|
Listan över filer sparas i `content`-filerna, som vanligtvis
|
|
|
|
|
lagras på data-, paritets- eller startdiskarna.
|
|
|
|
|
Denna fil innehåller detaljerna för din säkerhetskopia, inklusive alla
|
|
|
|
|
checksummor för att verifiera dess integritet.
|
|
|
|
|
`content`-filen lagras i flera kopior, och varje kopia måste
|
|
|
|
|
finnas på en annan disk för att säkerställa att, även vid flera
|
|
|
|
|
diskfel, minst en kopia är tillgänglig.
|
|
|
|
|
|
|
|
|
|
Anta till exempel att du bara är intresserad av en paritetsnivå
|
|
|
|
|
av skydd, och dina diskar finns på:
|
|
|
|
|
|
|
|
|
|
:/mnt/diskp <- vald disk för paritet
|
|
|
|
|
:/mnt/disk1 <- första disken att skydda
|
|
|
|
|
:/mnt/disk2 <- andra disken att skydda
|
|
|
|
|
:/mnt/disk3 <- tredje disken att skydda
|
|
|
|
|
|
|
|
|
|
Du måste skapa konfigurationsfilen /etc/snapraid.conf med
|
|
|
|
|
följande alternativ:
|
|
|
|
|
|
|
|
|
|
: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/
|
|
|
|
|
|
|
|
|
|
Om du använder Windows bör du använda Windows sökvägsformat, med
|
|
|
|
|
enhetsbeteckningar och omvända snedstreck istället för snedstreck.
|
|
|
|
|
|
|
|
|
|
: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\
|
|
|
|
|
|
|
|
|
|
Om du har många diskar och får slut på enhetsbeteckningar kan du montera
|
|
|
|
|
diskar direkt i undermappar. Se:
|
|
|
|
|
|
|
|
|
|
:https://www.google.com/search?q=Windows+mount+point
|
|
|
|
|
|
|
|
|
|
Vid denna punkt är du redo att köra kommandot `sync` för att bygga
|
|
|
|
|
paritetsinformationen.
|
|
|
|
|
|
|
|
|
|
:snapraid sync
|
|
|
|
|
|
|
|
|
|
Denna process kan ta flera timmar första gången, beroende på storleken
|
|
|
|
|
på datan som redan finns på diskarna. Om diskarna är tomma är
|
|
|
|
|
processen omedelbar.
|
|
|
|
|
|
|
|
|
|
Du kan stoppa det när som helst genom att trycka Ctrl+C, och vid nästa körning
|
|
|
|
|
återupptas det där det avbröts.
|
|
|
|
|
|
|
|
|
|
När detta kommando är klart är din data SÄKER.
|
|
|
|
|
|
|
|
|
|
Nu kan du börja använda din array som du vill och periodiskt
|
|
|
|
|
uppdatera paritetsinformationen genom att köra kommandot `sync`.
|
|
|
|
|
|
|
|
|
|
Skrubbning (Scrubbing)
|
|
|
|
|
För att periodiskt kontrollera data och paritet för fel kan du
|
|
|
|
|
köra kommandot `scrub`.
|
|
|
|
|
|
|
|
|
|
:snapraid scrub
|
|
|
|
|
|
|
|
|
|
Detta kommando jämför data i din array med den hash som beräknades
|
|
|
|
|
under kommandot `sync` för att verifiera integriteten.
|
|
|
|
|
|
|
|
|
|
Varje körning av kommandot kontrollerar ungefär 8% av arrayen, exklusive data
|
|
|
|
|
som redan skrubbats under de föregående 10 dagarna.
|
|
|
|
|
Du kan använda alternativet -p, --plan för att specificera en annan mängd
|
|
|
|
|
och alternativet -o, --older-than för att specificera en annan ålder i dagar.
|
|
|
|
|
Till exempel, för att kontrollera 5% av arrayen för block äldre än 20 dagar, använd:
|
|
|
|
|
|
2026-01-26 16:46:02 +01:00
|
|
|
:snapraid -p 5 -o 20 scrub
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Om tysta eller input/output-fel hittas under processen,
|
|
|
|
|
markeras de motsvarande blocken som dåliga i `content`-filen
|
|
|
|
|
och listas i kommandot `status`.
|
|
|
|
|
|
|
|
|
|
:snapraid status
|
|
|
|
|
|
|
|
|
|
För att fixa dem kan du använda kommandot `fix`, filtrera efter dåliga block med
|
|
|
|
|
alternativet -e, --filter-error:
|
|
|
|
|
|
|
|
|
|
:snapraid -e fix
|
|
|
|
|
|
|
|
|
|
Vid nästa `scrub` kommer felen att försvinna från `status`-rapporten
|
|
|
|
|
om de verkligen är fixade. För att göra det snabbare kan du använda -p bad för att skrubba
|
|
|
|
|
endast block markerade som dåliga.
|
|
|
|
|
|
|
|
|
|
:snapraid -p bad scrub
|
|
|
|
|
|
|
|
|
|
Att köra `scrub` på en osynkad array kan rapportera fel orsakade av
|
|
|
|
|
borttagna eller modifierade filer. Dessa fel rapporteras i `scrub`-
|
|
|
|
|
utdata, men de relaterade blocken markeras inte som dåliga.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Poolning (Pooling)
|
2025-12-15 15:12:16 +01:00
|
|
|
Obs: Poolningsfunktionen som beskrivs nedan har ersatts av verktyget
|
2026-02-19 18:35:36 +01:00
|
|
|
mergerfs, som nu är det rekommenderade alternativet för Linux-användare i
|
2026-06-25 23:08:58 +02:00
|
|
|
SnapRAID-communityt. Mergerfs ger ett mer flexibelt och effektivt
|
2025-12-15 15:12:16 +01:00
|
|
|
sätt att poola flera enheter till en enda enhetlig monteringspunkt,
|
|
|
|
|
vilket möjliggör sömlös åtkomst till filer över din array utan att förlita sig
|
|
|
|
|
på symboliska länkar. Det integreras väl med SnapRAID för paritetsskydd
|
|
|
|
|
och används ofta i installationer som OpenMediaVault (OMV)
|
|
|
|
|
eller anpassade NAS-konfigurationer.
|
2026-01-26 16:46:02 +01:00
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
För att visa alla filer i din array i samma katalogträd,
|
|
|
|
|
kan du aktivera funktionen `pooling`. Den skapar en skrivskyddad virtuell
|
|
|
|
|
vy av alla filer i din array med hjälp av symboliska länkar.
|
|
|
|
|
|
|
|
|
|
Du kan konfigurera `pooling`-katalogen i konfigurationsfilen med:
|
|
|
|
|
|
|
|
|
|
:pool /pool
|
|
|
|
|
|
|
|
|
|
eller, om du använder Windows, med:
|
|
|
|
|
|
|
|
|
|
:pool C:\pool
|
|
|
|
|
|
|
|
|
|
och kör sedan kommandot `pool` för att skapa eller uppdatera den virtuella vyn.
|
|
|
|
|
|
|
|
|
|
:snapraid pool
|
|
|
|
|
|
|
|
|
|
Om du använder en Unix-plattform och vill dela denna katalog
|
|
|
|
|
över nätverket till antingen Windows- eller Unix-maskiner, bör du lägga till
|
|
|
|
|
följande alternativ till din /etc/samba/smb.conf:
|
|
|
|
|
|
|
|
|
|
:# I den globala sektionen av smb.conf
|
|
|
|
|
:unix extensions = no
|
|
|
|
|
|
|
|
|
|
:# I delningssektionen av smb.conf
|
|
|
|
|
:[pool]
|
|
|
|
|
:comment = Pool
|
|
|
|
|
:path = /pool
|
|
|
|
|
:read only = yes
|
|
|
|
|
:guest ok = yes
|
|
|
|
|
:wide links = yes
|
|
|
|
|
:follow symlinks = yes
|
|
|
|
|
|
|
|
|
|
I Windows kräver delning av symboliska länkar över ett nätverk att klienter
|
|
|
|
|
löser dem på distans. För att aktivera detta måste du, förutom att dela pool-katalogen,
|
|
|
|
|
även dela alla diskar oberoende, med hjälp av de disk-namn
|
|
|
|
|
som definieras i konfigurationsfilen som delningspunkter. Du måste också specificera
|
|
|
|
|
i alternativet `share` i konfigurationsfilen den Windows UNC-sökväg som
|
|
|
|
|
fjärrklienter behöver använda för att få åtkomst till dessa delade diskar.
|
|
|
|
|
|
|
|
|
|
Till exempel, om du arbetar från en server som heter `darkstar`, kan du använda
|
|
|
|
|
alternativen:
|
|
|
|
|
|
|
|
|
|
:data d1 F:\array\
|
|
|
|
|
:data d2 G:\array\
|
|
|
|
|
:data d3 H:\array\
|
|
|
|
|
:pool C:\pool
|
|
|
|
|
:share \\darkstar
|
|
|
|
|
|
|
|
|
|
och dela följande kataloger över nätverket:
|
|
|
|
|
|
|
|
|
|
:\\darkstar\pool -> C:\pool
|
|
|
|
|
:\\darkstar\d1 -> F:\array
|
|
|
|
|
:\\darkstar\d2 -> G:\array
|
|
|
|
|
:\\darkstar\d3 -> H:\array
|
|
|
|
|
|
|
|
|
|
för att tillåta fjärrklienter att få åtkomst till alla filer på \\darkstar\pool.
|
|
|
|
|
|
|
|
|
|
Du kan också behöva konfigurera fjärrklienter för att möjliggöra åtkomst till
|
|
|
|
|
fjärrsymboliska länkar med kommandot:
|
|
|
|
|
|
|
|
|
|
:fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
|
|
|
|
|
|
|
|
|
Ångra radering (Undeleting)
|
|
|
|
|
SnapRAID fungerar mer som ett säkerhetskopieringsprogram än ett RAID-system, och det
|
|
|
|
|
kan användas för att återställa eller ångra radering av filer till deras tidigare tillstånd
|
|
|
|
|
med hjälp av alternativet -f, --filter:
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
:snapraid fix -f FILE
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
eller för en katalog:
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
:snapraid fix -f DIR/
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Du kan också använda det för att återställa endast oavsiktligt raderade filer inuti
|
|
|
|
|
en katalog med hjälp av alternativet -m, --filter-missing, som återställer
|
|
|
|
|
endast saknade filer, och lämnar alla andra orörda.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
:snapraid fix -m -f DIR/
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Eller för att återställa alla raderade filer på alla enheter med:
|
|
|
|
|
|
|
|
|
|
:snapraid fix -m
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Återställning (Recovering)
|
2025-12-15 15:12:16 +01:00
|
|
|
Det värsta har hänt, och du har förlorat en eller flera diskar!
|
|
|
|
|
|
|
|
|
|
FÅ INTE PANIK! Du kommer att kunna återställa dem!
|
|
|
|
|
|
|
|
|
|
Det första du måste göra är att undvika ytterligare ändringar i din disk-array.
|
|
|
|
|
Inaktivera alla fjärranslutningar till den och alla schemalagda processer, inklusive
|
|
|
|
|
alla schemalagda SnapRAID nattliga sync- eller scrub-körningar.
|
|
|
|
|
|
|
|
|
|
Fortsätt sedan med följande steg.
|
|
|
|
|
|
|
|
|
|
STEG 1 -> Omkonfigurera
|
|
|
|
|
Du behöver lite utrymme för att återställa, helst på ytterligare
|
|
|
|
|
reservdiskar, men en extern USB-disk eller fjärrdisk räcker.
|
|
|
|
|
|
|
|
|
|
Ändra SnapRAID-konfigurationsfilen för att få alternativet `data` eller `parity`
|
|
|
|
|
för den felaktiga disken att peka på en plats med tillräckligt tomt
|
|
|
|
|
utrymme för att återställa filerna.
|
|
|
|
|
|
|
|
|
|
Om till exempel disk `d1` har misslyckats, ändra från:
|
|
|
|
|
|
|
|
|
|
:data d1 /mnt/disk1/
|
|
|
|
|
|
|
|
|
|
till:
|
|
|
|
|
|
|
|
|
|
:data d1 /mnt/new_spare_disk/
|
|
|
|
|
|
|
|
|
|
Om disken som ska återställas är en paritetsdisk, uppdatera det lämpliga `parity`-
|
|
|
|
|
alternativet.
|
|
|
|
|
Om du har flera felaktiga diskar, uppdatera alla deras konfigurationsalternativ.
|
|
|
|
|
|
|
|
|
|
STEG 2 -> Fixa
|
|
|
|
|
Kör kommandot fix och lagra loggen i en extern fil med:
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
:snapraid -d NAME -l fix.log fix
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Där NAME är namnet på disken, till exempel `d1` i vårt tidigare exempel.
|
2025-12-15 15:12:16 +01:00
|
|
|
Om disken som ska återställas är en paritetsdisk, använd namnen `parity`, `2-parity`,
|
|
|
|
|
etc.
|
|
|
|
|
Om du har flera felaktiga diskar, använd flera -d-alternativ för att specificera alla
|
|
|
|
|
av dem.
|
|
|
|
|
|
|
|
|
|
Detta kommando kommer att ta lång tid.
|
|
|
|
|
|
|
|
|
|
Se till att du har några gigabyte ledigt för att lagra fix.log-filen.
|
|
|
|
|
Kör den från en disk med tillräckligt med ledigt utrymme.
|
|
|
|
|
|
|
|
|
|
Nu har du återställt allt som är återställningsbart. Om vissa filer är delvis
|
|
|
|
|
eller helt icke-återställningsbara, kommer de att döpas om genom att lägga till tillägget
|
|
|
|
|
`.unrecoverable`.
|
|
|
|
|
|
|
|
|
|
Du kan hitta en detaljerad lista över alla icke-återställningsbara block i fix.log-filen
|
|
|
|
|
genom att kontrollera alla rader som börjar med `unrecoverable:`.
|
|
|
|
|
|
|
|
|
|
Om du inte är nöjd med återställningen kan du försöka igen hur många
|
|
|
|
|
gånger du vill.
|
|
|
|
|
|
|
|
|
|
Om du till exempel har tagit bort filer från arrayen efter den senaste
|
|
|
|
|
`sync`, kan detta leda till att vissa filer inte återställs.
|
2026-06-25 23:08:58 +02:00
|
|
|
I detta fall kan du köra `fix` igen med alternativet -i, --import,
|
2025-12-15 15:12:16 +01:00
|
|
|
specificera var dessa filer nu finns för att inkludera dem igen i
|
|
|
|
|
återställningsprocessen.
|
|
|
|
|
|
|
|
|
|
Om du är nöjd med återställningen kan du fortsätta,
|
2026-06-25 23:08:58 +02:00
|
|
|
men notera att efter synkronisering kan du inte köra `fix`-kommandot igen
|
2025-12-15 15:12:16 +01:00
|
|
|
längre!
|
|
|
|
|
|
|
|
|
|
STEG 3 -> Kontrollera
|
|
|
|
|
Som en försiktighetsåtgärd kan du nu köra ett `check`-kommando för att säkerställa att
|
|
|
|
|
allt är korrekt på den återställda disken.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
:snapraid -d NAME -a check
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Där NAME är namnet på disken, till exempel `d1` i vårt tidigare exempel.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Alternativen -d och -a talar om för SnapRAID att endast kontrollera den specificerade disken
|
|
|
|
|
och ignorera all paritetsdata.
|
|
|
|
|
|
|
|
|
|
Detta kommando kommer att ta lång tid, men om du inte är alltför försiktig,
|
|
|
|
|
kan du hoppa över det.
|
|
|
|
|
|
|
|
|
|
STEG 4 -> Synkronisera
|
|
|
|
|
Kör kommandot `sync` för att synkronisera arrayen igen med den nya disken.
|
|
|
|
|
|
|
|
|
|
:snapraid sync
|
|
|
|
|
|
|
|
|
|
Om allt är återställt är detta kommando omedelbart.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Kommandon (Commands)
|
2026-06-08 18:26:17 +02:00
|
|
|
SnapRAID tillhandahåller några enkla kommandon som gör att du kan:
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
* Skriva ut arrayens status -> `status`
|
2025-12-15 15:12:16 +01:00
|
|
|
* Kontrollera diskarna -> `smart`, `probe`, `up`, `down`
|
2026-06-08 18:26:17 +02:00
|
|
|
* Skapa en backup-/återställningspunkt -> `sync`
|
2025-12-15 15:12:16 +01:00
|
|
|
* Periodiskt kontrollera data -> `scrub`
|
2026-06-08 18:26:17 +02:00
|
|
|
* Återställa den senaste backup-/återställningspunkten -> `fix`.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
Kommandon måste skrivas med gemener (små bokstäver).
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
status
|
|
|
|
|
Skriver ut en sammanfattning av tillståndet för disk-arrayen.
|
|
|
|
|
|
|
|
|
|
Det inkluderar information om paritetsfragmentering, hur gamla
|
|
|
|
|
blocken är utan kontroll, och alla registrerade tysta
|
|
|
|
|
fel som påträffats under skrubbning.
|
|
|
|
|
|
|
|
|
|
Informationen som presenteras hänvisar till den senaste tidpunkten du
|
|
|
|
|
körde `sync`. Senare modifieringar beaktas inte.
|
|
|
|
|
|
|
|
|
|
Om dåliga block upptäcktes, listas deras blocknummer.
|
|
|
|
|
För att fixa dem kan du använda kommandot `fix -e`.
|
|
|
|
|
|
|
|
|
|
Det visar också ett diagram som representerar den senaste tidpunkten då varje block
|
2026-02-14 11:07:51 +01:00
|
|
|
skrubbades eller synkroniserades. Skrubbade block visas med `*`,
|
|
|
|
|
block synkroniserade men ännu inte skrubbade med `o`.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
smart
|
|
|
|
|
Skriver ut en SMART-rapport över alla diskar i systemet.
|
|
|
|
|
|
|
|
|
|
Det inkluderar en uppskattning av sannolikheten för fel under det kommande
|
|
|
|
|
året, vilket gör att du kan planera underhållsersättningar av diskar som visar
|
|
|
|
|
misstänkta attribut.
|
|
|
|
|
|
|
|
|
|
Denna sannolikhetsuppskattning erhålls genom att korrelera SMART-attributen
|
|
|
|
|
för diskarna med Backblaze-data som finns tillgänglig på:
|
|
|
|
|
|
|
|
|
|
:https://www.backblaze.com/hard-drive-test-data.html
|
|
|
|
|
|
|
|
|
|
Om SMART rapporterar att en disk håller på att misslyckas, skrivs `FAIL` eller `PREFAIL` ut
|
|
|
|
|
för den disken, och SnapRAID returnerar med ett fel.
|
|
|
|
|
I detta fall rekommenderas omedelbar ersättning av disken starkt.
|
|
|
|
|
|
|
|
|
|
Andra möjliga statussträngar är:
|
|
|
|
|
logfail - Tidigare var vissa attribut lägre än
|
|
|
|
|
tröskelvärdet.
|
|
|
|
|
logerr - Enhetens fellogg innehåller fel.
|
|
|
|
|
selferr - Enhetens självtestlogg innehåller fel.
|
|
|
|
|
|
|
|
|
|
Om alternativet -v, --verbose specificeras, tillhandahålls en djupare statistisk analys.
|
|
|
|
|
Denna analys kan hjälpa dig att bestämma om du behöver mer
|
|
|
|
|
eller mindre paritet.
|
|
|
|
|
|
|
|
|
|
Detta kommando använder verktyget `smartctl` och är ekvivalent med att köra
|
|
|
|
|
`smartctl -a` på alla enheter.
|
|
|
|
|
|
|
|
|
|
Om dina enheter inte upptäcks automatiskt korrekt kan du specificera
|
|
|
|
|
ett anpassat kommando med hjälp av alternativet `smartctl` i konfigurations-
|
|
|
|
|
filen.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
probe
|
|
|
|
|
Skriver ut STRÖM-tillståndet för alla diskar i systemet.
|
|
|
|
|
|
|
|
|
|
`Standby` betyder att disken inte snurrar. `Active` betyder
|
|
|
|
|
att disken snurrar.
|
|
|
|
|
|
|
|
|
|
Detta kommando använder verktyget `smartctl` och är ekvivalent med att köra
|
|
|
|
|
`smartctl -n standby -i` på alla enheter.
|
|
|
|
|
|
|
|
|
|
Om dina enheter inte upptäcks automatiskt korrekt kan du specificera
|
|
|
|
|
ett anpassat kommando med hjälp av alternativet `smartctl` i konfigurations-
|
|
|
|
|
filen.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
up
|
|
|
|
|
Snurrar upp alla diskar i arrayen.
|
|
|
|
|
|
|
|
|
|
Du kan snurra upp endast specifika diskar med hjälp av alternativet -d, --filter-disk.
|
|
|
|
|
|
|
|
|
|
Att snurra upp alla diskar samtidigt kräver mycket ström.
|
|
|
|
|
Se till att din strömförsörjning kan klara det.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
down
|
|
|
|
|
Snurrar ner alla diskar i arrayen.
|
|
|
|
|
|
|
|
|
|
Detta kommando använder verktyget `smartctl` och är ekvivalent med att köra
|
|
|
|
|
`smartctl -s standby,now` på alla enheter.
|
|
|
|
|
|
|
|
|
|
Du kan snurra ner endast specifika diskar med hjälp av alternativet -d, --filter-disk
|
|
|
|
|
alternativet.
|
|
|
|
|
|
|
|
|
|
För att automatiskt snurra ner vid fel kan du använda alternativet -s, --spin-down-on-error
|
|
|
|
|
med alla andra kommandon, vilket är ekvivalent med att köra `down` manuellt
|
|
|
|
|
när ett fel inträffar.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
diff
|
|
|
|
|
Listar alla filer som modifierats sedan den senaste `sync` och som behöver få
|
|
|
|
|
sin paritetsdata omberäknad.
|
|
|
|
|
|
|
|
|
|
Detta kommando kontrollerar inte filens data, utan endast filens tidsstämpel,
|
|
|
|
|
storlek och inode.
|
|
|
|
|
|
|
|
|
|
Efter att ha listat alla ändrade filer presenteras en sammanfattning av ändringarna,
|
|
|
|
|
grupperade efter:
|
|
|
|
|
equal - Filer oförändrade från tidigare.
|
|
|
|
|
added - Filer tillagda som inte fanns tidigare.
|
|
|
|
|
removed - Filer borttagna.
|
|
|
|
|
updated - Filer med en annan storlek eller tidsstämpel, vilket innebär att de
|
|
|
|
|
modifierades.
|
2026-09-09 10:13:19 +02:00
|
|
|
moved - Filer som flyttats eller bytt namn på samma disk med bibehållen
|
|
|
|
|
inode. De identifieras genom att ha samma inode, storlek och
|
|
|
|
|
tidsstämpel, men en annan sökväg. Filnamnet kan också vara annorlunda.
|
2026-03-16 23:43:14 +01:00
|
|
|
copied - Filer som kopierats på samma eller en annan disk där
|
|
|
|
|
originalfilen fortfarande finns kvar.
|
2025-12-15 15:12:16 +01:00
|
|
|
De identifieras genom att ha samma namn, storlek och
|
2026-03-16 23:43:14 +01:00
|
|
|
tidsstämpel.
|
|
|
|
|
Om tidsstämpeln för undersekunder är noll måste hela sökvägen
|
|
|
|
|
matcha för att identifieras, inte bara namnet.
|
2026-09-09 10:13:19 +02:00
|
|
|
relocated - Filer som flyttats till en annan katalog eller disk där
|
|
|
|
|
originalfilen har försvunnit och inoden inte bibehålls.
|
|
|
|
|
De identifieras genom att ha samma namn, storlek och tidsstämpel.
|
2026-03-16 23:43:14 +01:00
|
|
|
Om tidsstämpeln för undersekunder är noll måste hela sökvägen
|
2026-09-09 10:13:19 +02:00
|
|
|
matcha för att identifieras. Till skillnad från 'moved'-filer kräver
|
|
|
|
|
omlokaliserade filer att filnamnet förblir detsamma.
|
2026-03-16 23:43:14 +01:00
|
|
|
restored - Filer med en annan inode men matchande katalog, namn,
|
|
|
|
|
storlek och tidsstämpel.
|
2025-12-15 15:12:16 +01:00
|
|
|
Dessa är vanligtvis filer som återställts efter att ha raderats.
|
|
|
|
|
|
|
|
|
|
Om en `sync` krävs är processens returkod 2, istället för standard 0.
|
|
|
|
|
Returkoden 1 används för ett generiskt feltillstånd.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
sync
|
|
|
|
|
Uppdaterar paritetsinformationen. Alla modifierade filer
|
|
|
|
|
i disk-arrayen läses, och motsvarande paritets-
|
|
|
|
|
data uppdateras.
|
|
|
|
|
|
|
|
|
|
Du kan stoppa denna process när som helst genom att trycka Ctrl+C,
|
|
|
|
|
utan att förlora det arbete som redan utförts.
|
|
|
|
|
Vid nästa körning kommer `sync`-processen att återupptas där
|
|
|
|
|
den avbröts.
|
|
|
|
|
|
|
|
|
|
Om tysta eller input/output-fel hittas under processen,
|
|
|
|
|
markeras de motsvarande blocken som dåliga.
|
|
|
|
|
|
|
|
|
|
Filer identifieras med sökväg och/eller inode och kontrolleras med
|
|
|
|
|
storlek och tidsstämpel.
|
|
|
|
|
Om filstorleken eller tidsstämpeln skiljer sig åt, beräknas paritetsdata
|
|
|
|
|
om för hela filen.
|
|
|
|
|
Om filen flyttas eller döps om på samma disk, samtidigt som
|
|
|
|
|
samma inode behålls, beräknas inte pariteten om.
|
|
|
|
|
Om filen flyttas till en annan disk, beräknas pariteten om,
|
|
|
|
|
men den tidigare beräknade hash-informationen behålls.
|
|
|
|
|
|
|
|
|
|
`content`- och `parity`-filerna modifieras vid behov.
|
|
|
|
|
Filerna i arrayen modifieras INTE.
|
|
|
|
|
|
|
|
|
|
scrub
|
|
|
|
|
Skrubbar arrayen och söker efter tysta eller input/output-fel i data-
|
|
|
|
|
och paritetsdiskar.
|
|
|
|
|
|
|
|
|
|
Varje anrop kontrollerar ungefär 8% av arrayen, exklusive
|
|
|
|
|
data som redan skrubbats under de senaste 10 dagarna.
|
|
|
|
|
Detta innebär att skrubbning en gång i veckan säkerställer att varje bit data kontrolleras
|
|
|
|
|
minst en gång var tredje månad.
|
|
|
|
|
|
|
|
|
|
Du kan definiera en annan skrubbplan eller mängd med hjälp av alternativet -p, --plan
|
|
|
|
|
som accepterar:
|
|
|
|
|
bad - Skrubbar block markerade som dåliga.
|
|
|
|
|
new - Skrubbar nyligen synkroniserade block som ännu inte skrubbats.
|
|
|
|
|
full - Skrubbar allt.
|
|
|
|
|
0-100 - Skrubbar den specificerade procentandelen av block.
|
|
|
|
|
|
|
|
|
|
Om du specificerar en procentsats kan du också använda alternativet -o, --older-than
|
|
|
|
|
för att definiera hur gammalt blocket ska vara.
|
|
|
|
|
De äldsta blocken skrubbas först, vilket säkerställer en optimal kontroll.
|
|
|
|
|
Om du bara vill skrubba de nyligen synkroniserade blocken som ännu inte skrubbats,
|
|
|
|
|
använd alternativet `-p new`.
|
|
|
|
|
|
|
|
|
|
För att få detaljer om skrubbstatusen, använd kommandot `status`.
|
|
|
|
|
|
|
|
|
|
För alla tysta eller input/output-fel som hittas, markeras de motsvarande blocken
|
|
|
|
|
som dåliga i `content`-filen.
|
|
|
|
|
Dessa dåliga block listas i `status` och kan fixas med `fix -e`.
|
|
|
|
|
Efter fixningen, vid nästa skrubb, kommer de att kontrolleras igen, och om de befinns
|
|
|
|
|
korrigerade, tas det dåliga märket bort.
|
|
|
|
|
För att skrubba endast de dåliga blocken kan du använda kommandot `scrub -p bad`.
|
|
|
|
|
|
|
|
|
|
Det rekommenderas att köra `scrub` endast på en synkroniserad array för att undvika
|
|
|
|
|
rapporterade fel orsakade av osynkad data. Dessa fel känns igen
|
|
|
|
|
som att de inte är tysta fel, och blocken markeras inte som dåliga,
|
|
|
|
|
men sådana fel rapporteras i kommandots utdata.
|
|
|
|
|
|
|
|
|
|
`content`-filen modifieras för att uppdatera tiden för den senaste kontrollen
|
|
|
|
|
för varje block och för att markera dåliga block.
|
|
|
|
|
`parity`-filerna modifieras INTE.
|
|
|
|
|
Filerna i arrayen modifieras INTE.
|
|
|
|
|
|
|
|
|
|
fix
|
2026-06-08 18:26:17 +02:00
|
|
|
Lagar alla filer och paritetsdata.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
Alla filer och paritetsdata jämförs med det tillstånd som sparades i
|
2026-06-25 23:08:58 +02:00
|
|
|
den senaste `sync`-operationen. Om en skillnad hittas återställs den till det sparade tillståndet.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
VARNING!
|
|
|
|
|
Kommandot `fix` skiljer inte mellan fel och avsiktliga modifieringar.
|
2026-06-25 23:08:58 +02:00
|
|
|
Det återställer villkorslöst filtillståndet till den senaste `sync`-operationen.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Om inget annat alternativ specificeras, behandlas hela arrayen.
|
|
|
|
|
Använd filteralternativen för att välja en delmängd av filer eller diskar att arbeta med.
|
|
|
|
|
|
|
|
|
|
För att fixa endast blocken markerade som dåliga under `sync` och `scrub`,
|
|
|
|
|
använd alternativet -e, --filter-error.
|
|
|
|
|
Till skillnad från andra filteralternativ tillämpar detta fixar endast på filer som är
|
|
|
|
|
oförändrade sedan den senaste `sync`.
|
|
|
|
|
|
|
|
|
|
SnapRAID döper om alla filer som inte kan fixas genom att lägga till tillägget
|
|
|
|
|
`.unrecoverable`.
|
|
|
|
|
|
|
|
|
|
Innan fixningen skannas hela arrayen för att hitta alla filer som flyttats
|
|
|
|
|
sedan den senaste `sync`-operationen.
|
2026-06-25 23:08:58 +02:00
|
|
|
Dessa filer identifieras av deras tidsstämpel, oavsett namn
|
2025-12-15 15:12:16 +01:00
|
|
|
och katalog, och används i återställningsprocessen vid behov.
|
|
|
|
|
Om du flyttade några av dem utanför arrayen kan du använda alternativet -i, --import
|
|
|
|
|
för att specificera ytterligare kataloger att skanna.
|
|
|
|
|
|
|
|
|
|
Filer identifieras endast med sökväg, inte med inode.
|
|
|
|
|
|
|
|
|
|
`content`-filen modifieras INTE.
|
|
|
|
|
`parity`-filerna modifieras vid behov.
|
|
|
|
|
Filerna i arrayen modifieras vid behov.
|
|
|
|
|
|
|
|
|
|
check
|
|
|
|
|
Verifierar alla filer och paritetsdata.
|
|
|
|
|
|
|
|
|
|
Det fungerar som `fix`, men det simulerar endast en återställning och inga ändringar
|
|
|
|
|
skrivs till arrayen.
|
|
|
|
|
|
|
|
|
|
Detta kommando är i första hand avsett för manuell verifiering,
|
|
|
|
|
som efter en återställningsprocess eller under andra speciella förhållanden.
|
|
|
|
|
För periodiska och schemalagda kontroller, använd `scrub`.
|
|
|
|
|
|
|
|
|
|
Om du använder alternativet -a, --audit-only, kontrolleras endast fil-
|
|
|
|
|
datan, och paritetsdatan ignoreras för en
|
|
|
|
|
snabbare körning.
|
|
|
|
|
|
|
|
|
|
Filer identifieras endast med sökväg, inte med inode.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
list
|
|
|
|
|
Listar alla filer som finns i arrayen vid tidpunkten för den
|
|
|
|
|
senaste `sync`.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Med -v eller --verbose visas även subsekundprecisionen.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
dup
|
|
|
|
|
Listar alla dubblettfiler. Två filer antas vara lika om deras
|
|
|
|
|
hashar matchar. Filens data läses inte; endast de
|
|
|
|
|
förberäknade hasharna används.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
pool
|
|
|
|
|
Skapar eller uppdaterar en virtuell vy av alla
|
|
|
|
|
filer i din disk-array i `pooling`-katalogen.
|
|
|
|
|
|
|
|
|
|
Filerna kopieras inte utan länkas med hjälp av
|
|
|
|
|
symboliska länkar.
|
|
|
|
|
|
|
|
|
|
Vid uppdatering raderas alla befintliga symboliska länkar och tomma
|
|
|
|
|
underkataloger och ersätts med den nya
|
|
|
|
|
vyn av arrayen. Alla andra vanliga filer lämnas kvar.
|
|
|
|
|
|
|
|
|
|
Inget ändras utanför pool-katalogen.
|
|
|
|
|
|
|
|
|
|
devices
|
|
|
|
|
Skriver ut de lågnivåenheter som används av arrayen.
|
|
|
|
|
|
|
|
|
|
Detta kommando visar enhetsassociationerna i arrayen
|
|
|
|
|
och är främst avsett som ett skriptgränssnitt.
|
|
|
|
|
|
|
|
|
|
De två första kolumnerna är lågnivåenhetens ID och sökväg.
|
|
|
|
|
De nästa två kolumnerna är högnivåenhetens ID och sökväg.
|
|
|
|
|
Den sista kolumnen är diskens namn i arrayen.
|
|
|
|
|
|
|
|
|
|
I de flesta fall har du en lågnivåenhet för varje disk i
|
|
|
|
|
arrayen, men i vissa mer komplexa konfigurationer kan du ha flera
|
|
|
|
|
lågnivåenheter som används av en enda disk i arrayen.
|
|
|
|
|
|
|
|
|
|
Inget ändras.
|
|
|
|
|
|
|
|
|
|
touch
|
2026-06-25 23:08:58 +02:00
|
|
|
Anger en godtycklig tidsstämpel för undersekunder för alla filer
|
2025-12-15 15:12:16 +01:00
|
|
|
som har den satt till noll.
|
|
|
|
|
|
|
|
|
|
Detta förbättrar SnapRAIDs förmåga att känna igen flyttade
|
|
|
|
|
och kopierade filer, eftersom det gör tidsstämpeln nästan unik,
|
|
|
|
|
vilket minskar möjliga dubbletter.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Mer specifikt, om tidsstämpeln för undersekunder inte är noll,
|
2025-12-15 15:12:16 +01:00
|
|
|
identifieras en flyttad eller kopierad fil som sådan om den matchar
|
2026-06-25 23:08:58 +02:00
|
|
|
namn, storlek och tidsstämpel. Om tidsstämpeln för undersekunder
|
2025-12-15 15:12:16 +01:00
|
|
|
är noll, betraktas den som en kopia endast om hela sökvägen,
|
|
|
|
|
storlek och tidsstämpel alla matchar.
|
|
|
|
|
|
|
|
|
|
Tidsstämpeln med sekundprecision modifieras inte,
|
|
|
|
|
så alla datum och tider för dina filer bevaras.
|
|
|
|
|
|
|
|
|
|
rehash
|
|
|
|
|
Schemalägger en omhashning av hela arrayen.
|
|
|
|
|
|
|
|
|
|
Detta kommando ändrar den hash-typ som används, vanligtvis vid uppgradering
|
|
|
|
|
från ett 32-bitars system till ett 64-bitars system, för att byta från
|
|
|
|
|
MurmurHash3 till den snabbare SpookyHash.
|
|
|
|
|
|
|
|
|
|
Om du redan använder den optimala hashen, gör detta kommando
|
|
|
|
|
ingenting och informerar dig om att ingen åtgärd behövs.
|
|
|
|
|
|
|
|
|
|
Omhashningen utförs inte omedelbart utan sker
|
|
|
|
|
progressivt under `sync` och `scrub`.
|
|
|
|
|
|
|
|
|
|
Du kan kontrollera omhashningstillståndet med hjälp av `status`.
|
|
|
|
|
|
|
|
|
|
Under omhashningen bibehåller SnapRAID full funktionalitet,
|
|
|
|
|
med det enda undantaget att `dup` inte kan upptäcka dubbletter
|
|
|
|
|
med hjälp av en annan hash.
|
|
|
|
|
|
2026-02-25 14:48:54 +01:00
|
|
|
locate
|
|
|
|
|
Lokaliserar filer som lagras på paritetsdiskarna. För varje matchande fil
|
|
|
|
|
skrivs dess plats i paritetsfilen och antalet fragment den upptar ut.
|
|
|
|
|
|
|
|
|
|
Du kan använda alternativet -t, --tail för att begränsa åtgärden till filer som
|
|
|
|
|
upptar den angivna slutdelen (tail) av pariteten.
|
|
|
|
|
|
|
|
|
|
Om du vill omallokera dessa filer kan du använda alternativet
|
|
|
|
|
-W, --force-realloc-tail.
|
|
|
|
|
Var medveten om att sådana filer inte skyddas av paritet under
|
|
|
|
|
omallokeringsprocessen.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Alternativ (Options)
|
2025-12-15 15:12:16 +01:00
|
|
|
SnapRAID tillhandahåller följande alternativ:
|
|
|
|
|
|
|
|
|
|
-c, --conf CONFIG
|
|
|
|
|
Väljer den konfigurationsfil som ska användas. Om den inte specificeras, i Unix
|
|
|
|
|
används filen `/usr/local/etc/snapraid.conf` om den finns,
|
|
|
|
|
annars `/etc/snapraid.conf`.
|
|
|
|
|
I Windows används filen `snapraid.conf` i samma
|
|
|
|
|
katalog som `snapraid.exe`.
|
|
|
|
|
|
|
|
|
|
-f, --filter PATTERN
|
|
|
|
|
Filtrerar filerna att behandla i `check` och `fix`.
|
|
|
|
|
Endast filerna som matchar det specificerade mönstret behandlas.
|
|
|
|
|
Detta alternativ kan användas flera gånger.
|
2026-06-25 23:08:58 +02:00
|
|
|
Se avsnittet PATTERN för mer information om
|
2025-12-15 15:12:16 +01:00
|
|
|
mönsterspecifikationer.
|
|
|
|
|
I Unix, se till att globbing-tecken citeras om de används.
|
|
|
|
|
Detta alternativ kan endast användas med `check` och `fix`.
|
|
|
|
|
Det kan inte användas med `sync` och `scrub`, eftersom de alltid
|
|
|
|
|
behandlar hela arrayen.
|
|
|
|
|
|
|
|
|
|
-d, --filter-disk NAME
|
|
|
|
|
Filtrerar diskarna att behandla i `check`, `fix`, `up` och `down`.
|
|
|
|
|
Du måste specificera ett disk-namn som definieras i konfigurations-
|
|
|
|
|
filen.
|
|
|
|
|
Du kan också specificera paritetsdiskar med namnen: `parity`, `2-parity`,
|
|
|
|
|
`3-parity`, etc., för att begränsa operationer till en specifik paritetsdisk.
|
|
|
|
|
Om du kombinerar flera --filter, --filter-disk och --filter-missing alternativ,
|
|
|
|
|
väljs endast filer som matchar alla filter.
|
|
|
|
|
Detta alternativ kan användas flera gånger.
|
|
|
|
|
Detta alternativ kan endast användas med `check`, `fix`, `up` och `down`.
|
|
|
|
|
Det kan inte användas med `sync` och `scrub`, eftersom de alltid
|
|
|
|
|
behandlar hela arrayen.
|
|
|
|
|
|
|
|
|
|
-m, --filter-missing
|
|
|
|
|
Filtrerar filerna att behandla i `check` och `fix`.
|
|
|
|
|
Endast filerna som saknas eller har raderats från arrayen behandlas.
|
|
|
|
|
När det används med `fix`, fungerar detta som ett `undelete`-kommando.
|
|
|
|
|
Om du kombinerar flera --filter, --filter-disk och --filter-missing alternativ,
|
|
|
|
|
väljs endast filer som matchar alla filter.
|
|
|
|
|
Detta alternativ kan endast användas med `check` och `fix`.
|
|
|
|
|
Det kan inte användas med `sync` och `scrub`, eftersom de alltid
|
|
|
|
|
behandlar hela arrayen.
|
|
|
|
|
|
|
|
|
|
-e, --filter-error
|
|
|
|
|
Behandlar filerna med fel i `check` och `fix`.
|
|
|
|
|
Det behandlar endast filer som har block markerade med tysta
|
|
|
|
|
eller input/output-fel under `sync` och `scrub`, som listas i `status`.
|
|
|
|
|
Detta alternativ kan endast användas med `check` och `fix`.
|
|
|
|
|
|
|
|
|
|
-p, --plan PERC|bad|new|full
|
|
|
|
|
Väljer skrubbplanen. Om PERC är ett numeriskt värde från 0 till 100,
|
|
|
|
|
tolkas det som procentandelen av block som ska skrubbas.
|
|
|
|
|
Istället för en procentsats kan du specificera en plan:
|
|
|
|
|
`bad` skrubbar dåliga block, `new` skrubbar block som ännu inte skrubbats,
|
|
|
|
|
och `full` skrubbar allt.
|
|
|
|
|
Detta alternativ kan endast användas med `scrub`.
|
|
|
|
|
|
|
|
|
|
-o, --older-than DAYS
|
|
|
|
|
Väljer den äldsta delen av arrayen att behandla i `scrub`.
|
|
|
|
|
DAYS är den minsta åldern i dagar för ett block att skrubbas;
|
|
|
|
|
standard är 10.
|
|
|
|
|
Block markerade som dåliga skrubbas alltid oavsett detta alternativ.
|
|
|
|
|
Detta alternativ kan endast användas med `scrub`.
|
|
|
|
|
|
|
|
|
|
-a, --audit-only
|
|
|
|
|
I `check`, verifierar hashen av filerna utan
|
|
|
|
|
att kontrollera paritetsdata.
|
|
|
|
|
Om du bara är intresserad av att kontrollera filens data, kan detta
|
|
|
|
|
alternativ avsevärt påskynda kontrollprocessen.
|
|
|
|
|
Detta alternativ kan endast användas med `check`.
|
|
|
|
|
|
|
|
|
|
-h, --pre-hash
|
|
|
|
|
I `sync`, kör en preliminär hash-fas av all ny data
|
|
|
|
|
för ytterligare verifiering innan paritetsberäkningen.
|
|
|
|
|
Vanligtvis görs ingen preliminär hashning i `sync`, och den nya
|
|
|
|
|
datan hashberäknas precis innan paritetsberäkningen när den läses
|
|
|
|
|
för första gången.
|
|
|
|
|
Denna process sker när systemet är under
|
|
|
|
|
tung belastning, med alla diskar snurrande och en upptagen CPU.
|
|
|
|
|
Detta är ett extremt tillstånd för maskinen, och om den har ett
|
|
|
|
|
latent hårdvaruproblem, kan tysta fel gå obemärkt förbi
|
|
|
|
|
eftersom datan ännu inte har hashberäknats.
|
|
|
|
|
För att undvika denna risk kan du aktivera `pre-hash`-läget för att få
|
|
|
|
|
all data läst två gånger för att säkerställa dess integritet.
|
|
|
|
|
Detta alternativ verifierar också filer som flyttats inom arrayen
|
|
|
|
|
för att säkerställa att flyttoperationen lyckades och, om nödvändigt,
|
|
|
|
|
låter dig köra en fix-operation innan du fortsätter.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`.
|
|
|
|
|
|
|
|
|
|
-i, --import DIR
|
|
|
|
|
Importerar från den specificerade katalogen alla filer som raderats
|
|
|
|
|
från arrayen efter den senaste `sync`.
|
|
|
|
|
Om du fortfarande har sådana filer, kan de användas av `check`
|
|
|
|
|
och `fix` för att förbättra återställningsprocessen.
|
|
|
|
|
Filerna läses, inklusive i underkataloger, och identifieras
|
|
|
|
|
oavsett deras namn.
|
|
|
|
|
Detta alternativ kan endast användas med `check` och `fix`.
|
|
|
|
|
|
|
|
|
|
-s, --spin-down-on-error
|
|
|
|
|
Vid något fel, snurrar ner alla hanterade diskar innan den avslutas med
|
|
|
|
|
en statuskod som inte är noll. Detta förhindrar att enheterna
|
|
|
|
|
förblir aktiva och snurrar efter en avbruten operation,
|
|
|
|
|
vilket hjälper till att undvika onödig värmeuppbyggnad och ström-
|
|
|
|
|
förbrukning. Använd detta alternativ för att säkerställa att diskar stoppas säkert
|
|
|
|
|
även när ett kommando misslyckas.
|
|
|
|
|
|
|
|
|
|
-w, --bw-limit RATE
|
|
|
|
|
Tillämpar en global bandbreddsbegränsning för alla diskar. RATE är
|
|
|
|
|
antalet byte per sekund. Du kan specificera en multiplikator
|
|
|
|
|
som K, M eller G (t.ex. --bw-limit 1G).
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
-t, --tail SIZE
|
2026-02-25 14:48:54 +01:00
|
|
|
Begränsa fillistan till de som inte använder mer än den angivna
|
|
|
|
|
slutstorleken på paritetsdiskarna.
|
|
|
|
|
Du kan använda multiplikatorer som K, M, G eller T (t.ex. --tail 1G).
|
|
|
|
|
Detta alternativ är endast giltigt när det används tillsammans med
|
|
|
|
|
kommandot `locate`.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
-A, --stats
|
|
|
|
|
Aktiverar en utökad statusvy som visar ytterligare information.
|
|
|
|
|
Skärmen visar två diagram:
|
|
|
|
|
Det första diagrammet visar antalet buffrade strippar för varje
|
|
|
|
|
disk, tillsammans med filsökvägen för filen som för närvarande används
|
|
|
|
|
på den disken. Vanligtvis kommer den långsammaste disken att ha
|
|
|
|
|
ingen buffert tillgänglig, vilket bestämmer den maximalt uppnåeliga
|
|
|
|
|
bandbredden.
|
|
|
|
|
Det andra diagrammet visar procentandelen tid som spenderats i väntan
|
|
|
|
|
under de senaste 100 sekunderna. Den långsammaste disken förväntas
|
|
|
|
|
orsaka större delen av väntetiden, medan andra diskar bör ha
|
|
|
|
|
liten eller ingen väntetid eftersom de kan använda sina buffrade strippar.
|
|
|
|
|
Detta diagram visar också den tid som spenderats i väntan på hash-
|
|
|
|
|
beräkningar och RAID-beräkningar.
|
|
|
|
|
Alla beräkningar körs parallellt med diskoperationer.
|
|
|
|
|
Därför, så länge det finns mätbar väntetid för minst en disk,
|
|
|
|
|
indikerar det att CPU:n är snabb nog att
|
|
|
|
|
hålla jämna steg med arbetsbelastningen.
|
|
|
|
|
|
|
|
|
|
-Z, --force-zero
|
|
|
|
|
Tvingar den osäkra operationen att synkronisera en fil med noll
|
|
|
|
|
storlek som tidigare var icke-noll.
|
|
|
|
|
Om SnapRAID upptäcker ett sådant tillstånd, stoppar det att fortsätta
|
|
|
|
|
om du inte specificerar detta alternativ.
|
|
|
|
|
Detta gör att du enkelt kan upptäcka när, efter en systemkrasch,
|
|
|
|
|
vissa filer som användes trunkerades.
|
|
|
|
|
Detta är ett möjligt tillstånd i Linux med filsystemen ext3/ext4.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`.
|
|
|
|
|
|
|
|
|
|
-E, --force-empty
|
|
|
|
|
Tvingar den osäkra operationen att synkronisera en disk där alla
|
|
|
|
|
ursprungliga filer saknas.
|
|
|
|
|
Om SnapRAID upptäcker att alla filer som ursprungligen fanns
|
|
|
|
|
på disken saknas eller har skrivits om, stoppar det att fortsätta
|
|
|
|
|
om du inte specificerar detta alternativ.
|
|
|
|
|
Detta gör att du enkelt kan upptäcka när ett datafilsystem inte är
|
|
|
|
|
monterat.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`.
|
|
|
|
|
|
|
|
|
|
-U, --force-uuid
|
|
|
|
|
Tvingar den osäkra operationen att synkronisera, kontrollera och fixa
|
|
|
|
|
med diskar som har ändrat sin UUID.
|
|
|
|
|
Om SnapRAID upptäcker att vissa diskar har ändrat UUID,
|
|
|
|
|
stoppar det att fortsätta om du inte specificerar detta alternativ.
|
|
|
|
|
Detta gör att du kan upptäcka när dina diskar är monterade på fel
|
|
|
|
|
monteringspunkter.
|
|
|
|
|
Det är dock tillåtet att ha en enda UUID-ändring med
|
|
|
|
|
enkel paritet, och fler med multipel paritet, eftersom detta är
|
|
|
|
|
det normala fallet när man byter ut diskar efter en återställning.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`, `check` eller
|
|
|
|
|
`fix`.
|
|
|
|
|
|
|
|
|
|
-D, --force-device
|
|
|
|
|
Tvingar den osäkra operationen att fixa med otillgängliga diskar
|
|
|
|
|
eller med diskar på samma fysiska enhet.
|
2026-06-25 23:08:58 +02:00
|
|
|
Till exempel, om du förlorade två datadiskar och har en reservdisk för att återställa
|
2025-12-15 15:12:16 +01:00
|
|
|
endast den första, kan du ignorera den andra otillgängliga disken.
|
|
|
|
|
Eller, om du vill återställa en disk i det lediga utrymme som finns kvar på en
|
|
|
|
|
redan använd disk, dela samma fysiska enhet.
|
|
|
|
|
Detta alternativ kan endast användas med `fix`.
|
|
|
|
|
|
|
|
|
|
-N, --force-nocopy
|
|
|
|
|
I `sync`, `check` och `fix`, inaktiverar heuristiken för kopieringsdetektering.
|
|
|
|
|
Utan detta alternativ antar SnapRAID att filer med samma
|
|
|
|
|
attribut, såsom namn, storlek och tidsstämpel, är kopior med
|
|
|
|
|
samma data.
|
|
|
|
|
Detta möjliggör identifiering av kopierade eller flyttade filer från en disk
|
|
|
|
|
till en annan och återanvänder den redan beräknade hash-informationen
|
|
|
|
|
för att upptäcka tysta fel eller för att återställa saknade filer.
|
|
|
|
|
I vissa sällsynta fall kan detta beteende leda till falska positiva
|
|
|
|
|
eller en långsam process på grund av många hash-verifieringar, och detta
|
|
|
|
|
alternativ låter dig lösa sådana problem.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`, `check` och `fix`.
|
|
|
|
|
|
|
|
|
|
-F, --force-full
|
|
|
|
|
I `sync`, tvingar en fullständig omberäkning av pariteten.
|
|
|
|
|
Detta alternativ kan användas när du lägger till en ny paritetsnivå eller om
|
|
|
|
|
du återgick till en gammal content-fil med mer aktuell paritetsdata.
|
|
|
|
|
Istället för att återskapa pariteten från grunden låter detta dig
|
|
|
|
|
återanvända hasharna som finns i content-filen för att validera data
|
|
|
|
|
och bibehålla dataskyddet under `sync`-processen med hjälp av
|
|
|
|
|
den befintliga paritetsdatan.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`.
|
|
|
|
|
|
|
|
|
|
-R, --force-realloc
|
|
|
|
|
I `sync`, tvingar en fullständig omallokering av filer och ombyggnad av pariteten.
|
|
|
|
|
Detta alternativ kan användas för att helt omallokera alla filer,
|
|
|
|
|
ta bort fragmentering, samtidigt som hasharna som finns i content-
|
|
|
|
|
filen återanvänds för att validera data.
|
|
|
|
|
Detta alternativ kan endast användas med `sync`.
|
|
|
|
|
VARNING! Detta alternativ är endast för experter, och det rekommenderas
|
|
|
|
|
starkt att inte använda det.
|
|
|
|
|
Du HAR INGET dataskydd under `sync`-operationen.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
-W, --force-realloc-tail SIZE
|
2026-02-25 14:48:54 +01:00
|
|
|
Fungerar som -R, --force-realloc, men begränsat till den angivna
|
2026-06-25 23:08:58 +02:00
|
|
|
slutdelen (de sista SIZE byten) av varje paritetsfil.
|
2026-02-25 14:48:54 +01:00
|
|
|
Den tvingar omallokering (flytt) av alla filfragment/block som för
|
|
|
|
|
närvarande lagras i den slutsektionen, vilket gör att de kan placeras
|
|
|
|
|
var som helst i paritetsfilen/filerna där ledigt utrymme finns
|
|
|
|
|
(inklusive befintliga hål).
|
|
|
|
|
Huvudsyftet med detta alternativ är att minska paritetsfilens storlek
|
|
|
|
|
på disken.
|
|
|
|
|
Om omallokeringen lyckas rensa hela slutsektionen (inga block är kvar
|
|
|
|
|
som använder den), trunkeras paritetsfilen och det oanvända
|
|
|
|
|
slututrymmet återtas.
|
|
|
|
|
Du kan använda multiplikatorer som K, M, G eller T (t.ex.
|
|
|
|
|
--force-realloc-tail 1G).
|
|
|
|
|
Du kan använda locate -t, --tail för att i förväg veta vilka filer
|
|
|
|
|
som påverkas.
|
|
|
|
|
VARNING!
|
|
|
|
|
Detta alternativ är endast för experter, och det rekommenderas
|
|
|
|
|
starkt att inte använda det.
|
|
|
|
|
Du har INGET dataskydd under `sync`-åtgärden för de berörda filerna.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
-l, --log FILE
|
|
|
|
|
Skriver en detaljerad logg till den specificerade filen.
|
|
|
|
|
Om detta alternativ inte specificeras, skrivs oväntade fel ut
|
|
|
|
|
på skärmen, vilket potentiellt kan leda till överdriven utdata i händelse av
|
|
|
|
|
många fel. När -l, --log specificeras, skrivs endast
|
|
|
|
|
fatala fel som får SnapRAID att stoppa ut
|
|
|
|
|
på skärmen.
|
2026-02-14 11:07:51 +01:00
|
|
|
Om sökvägen börjar med `>>`, öppnas filen
|
|
|
|
|
i tilläggsläge. Förekomster av `%D` och `%T` i namnet ersätts
|
2025-12-15 15:12:16 +01:00
|
|
|
med datum och tid i formatet YYYYMMDD respektive
|
|
|
|
|
HHMMSS. I Windows batch-filer måste du dubblera
|
2026-02-14 11:07:51 +01:00
|
|
|
`%`-tecknet, t.ex. result-%%D.log. För att använda `>>` måste du
|
2025-12-15 15:12:16 +01:00
|
|
|
omsluta namnet i citattecken, t.ex. `">>result.log"`.
|
|
|
|
|
För att skicka ut loggen till standardutdata eller standardfel,
|
|
|
|
|
kan du använda `">&1"` respektive `">&2"`.
|
|
|
|
|
Se filen snapraid_log.txt eller man-sidan för beskrivningar av logg-taggar.
|
|
|
|
|
|
|
|
|
|
-L, --error-limit NUMBER
|
|
|
|
|
Anger en ny felgräns innan körningen stoppas.
|
|
|
|
|
Som standard stoppar SnapRAID om det stöter på mer än 100
|
|
|
|
|
input/output-fel, vilket indikerar att en disk troligen håller på att misslyckas.
|
|
|
|
|
Detta alternativ påverkar `sync` och `scrub`, som tillåts
|
|
|
|
|
att fortsätta efter den första uppsättningen diskfel för att försöka
|
|
|
|
|
slutföra sina operationer.
|
|
|
|
|
Däremot stoppar `check` och `fix` alltid vid det första felet.
|
|
|
|
|
|
|
|
|
|
-S, --start BLKSTART
|
|
|
|
|
Börjar behandlingen från det specificerade
|
2026-06-25 23:08:58 +02:00
|
|
|
blocknumret. Detta kan vara användbart för att på nytt försöka kontrollera
|
2025-12-15 15:12:16 +01:00
|
|
|
eller fixa specifika block i händelse av en skadad disk.
|
2026-08-14 00:28:30 +02:00
|
|
|
Detta alternativ är främst för avancerad manuell återställning
|
|
|
|
|
och stöds endast av `check` och `fix`.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
-B, --count BLKCOUNT
|
|
|
|
|
Behandlar endast det specificerade antalet block.
|
2026-08-14 00:28:30 +02:00
|
|
|
Detta alternativ är främst för avancerad manuell återställning
|
|
|
|
|
och stöds endast av `check` och `fix`.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
-C, --gen-conf CONTENT
|
|
|
|
|
Genererar en dummy-konfigurationsfil från en befintlig
|
|
|
|
|
content-fil.
|
|
|
|
|
Konfigurationsfilen skrivs till standardutdata
|
|
|
|
|
och skriver inte över en befintlig fil.
|
|
|
|
|
Denna konfigurationsfil innehåller också den information
|
|
|
|
|
som behövs för att rekonstruera diskmonteringspunkterna om du
|
|
|
|
|
förlorar hela systemet.
|
|
|
|
|
|
|
|
|
|
-v, --verbose
|
|
|
|
|
Skriver ut mer information på skärmen.
|
|
|
|
|
Om det specificeras en gång, skrivs exkluderade filer
|
|
|
|
|
och ytterligare statistik ut.
|
|
|
|
|
Detta alternativ har ingen effekt på loggfilerna.
|
|
|
|
|
|
|
|
|
|
-q, --quiet
|
|
|
|
|
Skriver ut mindre information på skärmen.
|
|
|
|
|
Om det specificeras en gång, tas förloppsindikatorn bort; två gånger,
|
|
|
|
|
de pågående operationerna; tre gånger, informations-
|
|
|
|
|
meddelandena; fyra gånger, statusmeddelandena.
|
|
|
|
|
Fatala fel skrivs alltid ut på skärmen.
|
|
|
|
|
Detta alternativ har ingen effekt på loggfilerna.
|
|
|
|
|
|
|
|
|
|
-H, --help
|
|
|
|
|
Skriver ut en kort hjälpskärm.
|
|
|
|
|
|
|
|
|
|
-V, --version
|
|
|
|
|
Skriver ut programversionen.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Konfiguration (Configuration)
|
2025-12-15 15:12:16 +01:00
|
|
|
SnapRAID kräver en konfigurationsfil för att veta var din disk-array
|
|
|
|
|
finns och var paritetsinformationen ska lagras.
|
|
|
|
|
|
|
|
|
|
I Unix används filen `/usr/local/etc/snapraid.conf` om den finns,
|
|
|
|
|
annars `/etc/snapraid.conf`.
|
|
|
|
|
I Windows används filen `snapraid.conf` i samma
|
|
|
|
|
katalog som `snapraid.exe`.
|
|
|
|
|
|
|
|
|
|
Den måste innehålla följande alternativ (skiftlägeskänsligt):
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
parity FILE [,FILE] ...
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar de filer som ska användas för att lagra paritetsinformationen.
|
|
|
|
|
Pariteten möjliggör skydd från ett enda disk-
|
|
|
|
|
fel, liknande RAID5.
|
|
|
|
|
|
|
|
|
|
Du kan specificera flera filer, som måste finnas på olika diskar.
|
|
|
|
|
När en fil inte kan växa mer, används nästa fil.
|
|
|
|
|
Det totala tillgängliga utrymmet måste vara minst lika stort som den största datadisken i
|
|
|
|
|
arrayen.
|
|
|
|
|
|
|
|
|
|
Du kan lägga till ytterligare paritetsfiler senare, men du
|
|
|
|
|
kan inte ändra ordning på eller ta bort dem.
|
|
|
|
|
|
|
|
|
|
Att hålla paritetsdiskarna reserverade för paritet säkerställer att
|
|
|
|
|
de inte blir fragmenterade, vilket förbättrar prestandan.
|
|
|
|
|
|
|
|
|
|
I Windows lämnas 256 MB oanvänt på varje disk för att undvika
|
|
|
|
|
varningen om fulla diskar.
|
|
|
|
|
|
|
|
|
|
Detta alternativ är obligatoriskt och kan endast användas en gång.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
(2,3,4,5,6)-parity FILE [,FILE] ...
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar de filer som ska användas för att lagra extra paritetsinformation.
|
|
|
|
|
|
|
|
|
|
För varje paritetsnivå som specificeras aktiveras en ytterligare skyddsnivå:
|
|
|
|
|
|
|
|
|
|
* 2-parity möjliggör RAID6 dubbel paritet.
|
|
|
|
|
* 3-parity möjliggör trippel paritet.
|
|
|
|
|
* 4-parity möjliggör fyrdubbel (fyra) paritet.
|
|
|
|
|
* 5-parity möjliggör penta (fem) paritet.
|
|
|
|
|
* 6-parity möjliggör hexa (sex) paritet.
|
|
|
|
|
|
|
|
|
|
Varje paritetsnivå kräver närvaro av alla föregående paritets-
|
|
|
|
|
nivåer.
|
|
|
|
|
|
2026-02-14 11:07:51 +01:00
|
|
|
Samma överväganden som för alternativet `parity` gäller.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Dessa alternativ är valfria och kan endast användas en gång.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
z-parity FILE [,FILE] ...
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar en alternativ fil och ett format för att lagra trippel paritet.
|
|
|
|
|
|
2026-02-14 11:07:51 +01:00
|
|
|
Detta alternativ är ett alternativ till `3-parity`, främst avsett för
|
2025-12-15 15:12:16 +01:00
|
|
|
lågpresterande processorer som ARM eller AMD Phenom, Athlon och Opteron som inte
|
|
|
|
|
stöder SSSE3-instruktionsuppsättningen. I sådana fall ger det
|
|
|
|
|
bättre prestanda.
|
|
|
|
|
|
|
|
|
|
Detta format liknar, men är snabbare än, det som används av ZFS RAIDZ3.
|
|
|
|
|
Liksom ZFS fungerar det inte utöver trippel paritet.
|
|
|
|
|
|
2026-02-14 11:07:51 +01:00
|
|
|
När du använder `3-parity` kommer du att varnas om det rekommenderas att använda
|
|
|
|
|
formatet `z-parity` för prestandaförbättring.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Det är möjligt att konvertera från ett format till ett annat genom att justera
|
|
|
|
|
konfigurationsfilen med önskad z-parity eller 3-parity fil
|
2026-02-14 11:07:51 +01:00
|
|
|
och använda `fix` för att återskapa den.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
content FILE
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar den fil som ska användas för att lagra listan och checksummorna för alla
|
|
|
|
|
filer som finns i din disk-array.
|
|
|
|
|
|
|
|
|
|
Den kan placeras på en disk som används för data, paritet eller
|
|
|
|
|
någon annan tillgänglig disk.
|
|
|
|
|
Om du använder en datadisk exkluderas denna fil automatiskt
|
|
|
|
|
från `sync`-processen.
|
|
|
|
|
|
|
|
|
|
Detta alternativ är obligatoriskt och kan användas flera gånger för att spara
|
|
|
|
|
flera kopior av samma fil.
|
|
|
|
|
|
|
|
|
|
Du måste lagra minst en kopia för varje paritetsdisk som används
|
|
|
|
|
plus en. Att använda ytterligare kopior skadar inte.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
data NAME DIR
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar namnet och monteringspunkten för datadiskarna i
|
2026-06-25 23:08:58 +02:00
|
|
|
arrayen. NAME används för att identifiera disken och måste
|
|
|
|
|
vara unikt. DIR är monteringspunkten för disken i
|
2025-12-15 15:12:16 +01:00
|
|
|
filsystemet.
|
|
|
|
|
|
|
|
|
|
Du kan ändra monteringspunkten vid behov, så länge
|
2026-06-25 23:08:58 +02:00
|
|
|
du behåller NAME fixerat.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-08-26 00:31:56 +02:00
|
|
|
Den konfigurerade sökvägen måste dock konsekvent matcha samma
|
|
|
|
|
underliggande data. Om sökvägen innehåller symboliska länkar
|
|
|
|
|
måste deras mål förbli stabila. Att ändra sådana symlänkar för
|
|
|
|
|
att byta datakatalog i farten stöds inte.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
Du bör använda ett alternativ för varje datadisk i arrayen.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Du kan byta namn på en disk senare genom att ändra NAME direkt
|
2026-02-14 11:07:51 +01:00
|
|
|
i konfigurationsfilen och sedan köra ett `sync`-kommando.
|
2025-12-15 15:12:16 +01:00
|
|
|
I händelse av namnbyte görs associationen med hjälp av den lagrade
|
|
|
|
|
UUID:n för diskarna.
|
|
|
|
|
|
2026-03-16 23:43:14 +01:00
|
|
|
extra NAME DIR
|
|
|
|
|
Definierar namn och monteringspunkt för ytterligare diskar som ska
|
|
|
|
|
övervakas med kommandona `smart` och `probe`.
|
|
|
|
|
|
|
|
|
|
Detta är användbart för att övervaka diskar som inte ingår i arrayen
|
|
|
|
|
men som krävs för att systemet ska fungera, till exempel
|
|
|
|
|
startdisken.
|
|
|
|
|
|
|
|
|
|
Observera att sådana diskar inte påverkas av kommandona `up` och
|
|
|
|
|
`down` eftersom de förväntas alltid snurra.
|
|
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
snapshot
|
|
|
|
|
Aktiverar användningen av filsystemets ögonblicksbilder för kommandona `sync`, `scrub`,
|
|
|
|
|
`check` och `fix`.
|
|
|
|
|
|
2026-08-12 14:53:58 +02:00
|
|
|
När det är aktiverat skapar SnapRAID en skrivskyddad ögonblicksbild av varje
|
|
|
|
|
datafilsystem som stöds vid början av en 'sync'. Detta ger en stabil vy av varje
|
|
|
|
|
filsystem och förhindrar att senare ändringar ändrar den data som används för
|
|
|
|
|
paritetsberäkningen.
|
2026-06-08 18:26:17 +02:00
|
|
|
|
|
|
|
|
Detta förbättrar återställningen avsevärt: om en fil tas bort från det aktiva filsystemet
|
|
|
|
|
förblir den bevarad i ögonblicksbilden. Detta förhindrar att pariteten blir "trasig"
|
|
|
|
|
för det blocket, vilket säkerställer att du fortfarande kan återställa data framgångsrikt
|
|
|
|
|
om en annan disk havererar.
|
|
|
|
|
|
|
|
|
|
Detta alternativ gäller uteslutande datadiskar formaterade med filsystemen
|
|
|
|
|
Btrfs, Bcachefs eller ZFS i Linux och NTFS i Windows.
|
|
|
|
|
Paritetsdiskar, eller datadiskar som använder andra filsystem, kommer alltid att använda
|
|
|
|
|
den aktiva versionen av filsystemet.
|
|
|
|
|
|
|
|
|
|
Att skapa och ta bort ögonblicksbilder kräver administratörsbehörighet.
|
|
|
|
|
Se till att SnapRAID körs med nödvändiga rättigheter (t.ex. sudo) när
|
|
|
|
|
detta alternativ är aktiverat.
|
|
|
|
|
|
|
|
|
|
Se avsnittet SNAPSHOTS för en detaljerad förklaring av ögonblicksbildens livscykel.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
nohidden
|
|
|
|
|
Exkluderar alla dolda filer och kataloger.
|
|
|
|
|
I Unix är dolda filer de som börjar med `.`.
|
|
|
|
|
I Windows är de de med det dolda attributet.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
exclude/include PATTERN
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar fil- eller katalogmönstren att exkludera eller inkludera
|
|
|
|
|
i sync-processen.
|
|
|
|
|
Alla mönster behandlas i den specificerade ordningen.
|
|
|
|
|
|
|
|
|
|
Om det första mönstret som matchar är ett `exclude`-mönster,
|
|
|
|
|
exkluderas filen. Om det är ett `include`-mönster, inkluderas filen.
|
|
|
|
|
Om inget mönster matchar, exkluderas filen om det sista mönstret
|
|
|
|
|
som specificerats är ett `include`-mönster, eller inkluderas om det sista mönstret
|
|
|
|
|
som specificerats är ett `exclude`-mönster.
|
|
|
|
|
|
2026-08-26 12:29:13 +02:00
|
|
|
Observera att filtrering sker hierarkiskt under kataloggenomgång.
|
|
|
|
|
Om en katalog matchar en `exclude`-regel hoppas hela katalogen över
|
|
|
|
|
(beskärs), och eventuella `include`-regler för filer eller underkataloger
|
|
|
|
|
inuti den kommer inte att utvärderas.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Se avsnittet PATTERN för mer information om mönster-
|
2025-12-15 15:12:16 +01:00
|
|
|
specifikationer.
|
|
|
|
|
|
|
|
|
|
Detta alternativ kan användas flera gånger.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
blocksize SIZE_IN_KIBIBYTES
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar den grundläggande blockstorleken i kibibytes för pariteten.
|
|
|
|
|
En kibibyte är 1024 byte.
|
|
|
|
|
|
|
|
|
|
Standard blockstorlek är 256, vilket bör fungera för de flesta fall.
|
|
|
|
|
|
|
|
|
|
VARNING! Detta alternativ är endast för experter, och det rekommenderas
|
|
|
|
|
starkt att inte ändra detta värde. För att ändra detta värde i framtiden,
|
|
|
|
|
kommer du att behöva återskapa hela pariteten!
|
|
|
|
|
|
|
|
|
|
En anledning att använda en annan blockstorlek är om du har många små
|
|
|
|
|
filer, i storleksordningen miljoner.
|
|
|
|
|
|
|
|
|
|
För varje fil, även om den bara är några byte, allokeras ett helt block paritet,
|
|
|
|
|
och med många filer kan detta leda till betydande oanvänt paritetsutrymme.
|
|
|
|
|
När du helt fyller paritetsdisken, är du inte
|
|
|
|
|
tillåten att lägga till fler filer på datadiskarna.
|
|
|
|
|
Det bortkastade paritetsutrymmet ackumuleras dock inte över datadiskar.
|
|
|
|
|
Bortkastat utrymme som härrör från ett högt antal filer på en datadisk begränsar endast
|
|
|
|
|
mängden data på den datadisken, inte andra.
|
|
|
|
|
|
|
|
|
|
Som en approximation kan du anta att hälften av blockstorleken är
|
|
|
|
|
bortkastad för varje fil. Till exempel, med 100 000 filer och en 256 KiB
|
|
|
|
|
blockstorlek, kommer du att slösa 12,8 GB paritet, vilket kan resultera
|
|
|
|
|
i 12,8 GB mindre utrymme tillgängligt på datadisken.
|
|
|
|
|
|
|
|
|
|
Du kan kontrollera mängden bortkastat utrymme på varje disk med hjälp av `status`.
|
|
|
|
|
Detta är mängden utrymme du måste lämna ledigt på data-
|
|
|
|
|
diskarna eller använda för filer som inte ingår i arrayen.
|
|
|
|
|
Om detta värde är negativt betyder det att du är nära att fylla
|
|
|
|
|
pariteten, och det representerar det utrymme du fortfarande kan slösa.
|
|
|
|
|
|
|
|
|
|
För att undvika detta problem kan du använda en större partition för paritet.
|
|
|
|
|
Om till exempel paritetspartitionen är 12,8 GB större än datadiskarna,
|
|
|
|
|
har du tillräckligt med extra utrymme för att hantera upp till 100 000
|
|
|
|
|
filer på varje datadisk utan något bortkastat utrymme.
|
|
|
|
|
|
|
|
|
|
Ett trick för att få en större paritetspartition i Linux är att formatera den
|
|
|
|
|
med kommandot:
|
|
|
|
|
|
|
|
|
|
:mkfs.ext4 -m 0 -T largefile4 DEVICE
|
|
|
|
|
|
|
|
|
|
Detta resulterar i cirka 1,5% extra utrymme, ungefär 60 GB för
|
|
|
|
|
en 4 TB-disk, vilket möjliggör cirka 460 000 filer på varje datadisk utan
|
|
|
|
|
något bortkastat utrymme.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
hashsize SIZE_IN_BYTES
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar hash-storleken i byte för de sparade blocken.
|
|
|
|
|
|
|
|
|
|
Standard hash-storlek är 16 byte (128 bitar), vilket bör fungera
|
|
|
|
|
för de flesta fall.
|
|
|
|
|
|
|
|
|
|
VARNING! Detta alternativ är endast för experter, och det rekommenderas
|
|
|
|
|
starkt att inte ändra detta värde. För att ändra detta värde i framtiden,
|
|
|
|
|
kommer du att behöva återskapa hela pariteten!
|
|
|
|
|
|
|
|
|
|
En anledning att använda en annan hash-storlek är om ditt system har
|
|
|
|
|
begränsat minne. Som en tumregel kräver SnapRAID vanligtvis
|
|
|
|
|
1 GiB RAM för varje 16 TB data i arrayen.
|
|
|
|
|
|
|
|
|
|
Specifikt, för att lagra hasharna av datan, kräver SnapRAID
|
|
|
|
|
ungefär TS*(1+HS)/BS byte RAM,
|
|
|
|
|
där TS är den totala storleken i byte av din disk-array, BS är
|
|
|
|
|
blockstorleken i byte och HS är hash-storleken i byte.
|
|
|
|
|
|
|
|
|
|
Till exempel, med 8 diskar på 4 TB, en blockstorlek på 256 KiB
|
|
|
|
|
(1 KiB = 1024 byte) och en hash-storlek på 16, får du:
|
|
|
|
|
|
|
|
|
|
:RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1,93 GiB
|
|
|
|
|
|
|
|
|
|
Om du byter till en hash-storlek på 8 får du:
|
|
|
|
|
|
|
|
|
|
:RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1,02 GiB
|
|
|
|
|
|
|
|
|
|
Om du byter till en blockstorlek på 512 får du:
|
|
|
|
|
|
|
|
|
|
:RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0,96 GiB
|
|
|
|
|
|
|
|
|
|
Om du byter till både en hash-storlek på 8 och en blockstorlek på 512 får du:
|
|
|
|
|
|
|
|
|
|
:RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0,51 GiB
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
autosave SIZE_IN_GIGABYTES
|
2025-12-15 15:12:16 +01:00
|
|
|
Sparar automatiskt tillståndet vid synkronisering eller skrubbning efter att den
|
|
|
|
|
specificerade mängden GB har behandlats.
|
|
|
|
|
Detta alternativ är användbart för att undvika att starta om långa `sync`-
|
|
|
|
|
kommandon från början om de avbryts av en maskinkrasch eller någon annan händelse.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
temp_limit TEMPERATURE_CELSIUS
|
2025-12-15 15:12:16 +01:00
|
|
|
Anger den maximalt tillåtna disk-temperaturen i Celsius. När den specificeras,
|
|
|
|
|
kontrollerar SnapRAID periodiskt temperaturen på alla diskar med hjälp av
|
|
|
|
|
verktyget smartctl. De aktuella disk-temperaturerna visas medan
|
|
|
|
|
SnapRAID är igång. Om någon disk överskrider denna gräns, stoppas alla operationer
|
|
|
|
|
och diskarna snurras ner (sätts i standby) under den tid
|
|
|
|
|
som definieras av alternativet `temp_sleep`. Efter viloperioden återupptas operationerna,
|
|
|
|
|
och kan potentiellt pausas igen om temperaturgränsen nås
|
|
|
|
|
ännu en gång.
|
|
|
|
|
|
|
|
|
|
Under drift analyserar SnapRAID också värmekurvan för varje
|
|
|
|
|
disk och uppskattar den långsiktiga stabila temperaturen de förväntas
|
|
|
|
|
nå om aktiviteten fortsätter. Uppskattningen utförs först efter att
|
|
|
|
|
disk-temperaturen har ökat fyra gånger, vilket säkerställer att tillräckligt med
|
|
|
|
|
datapoäng finns tillgängliga för att fastställa en pålitlig trend.
|
2026-06-25 23:08:58 +02:00
|
|
|
Denna förutsagda stabila temperatur visas inom parentes bredvid det
|
2025-12-15 15:12:16 +01:00
|
|
|
aktuella värdet och hjälper till att bedöma om systemets kylning är
|
|
|
|
|
tillräcklig. Denna uppskattade temperatur är endast för informationssyfte
|
2026-06-25 23:08:58 +02:00
|
|
|
och har ingen effekt på SnapRAIDs beteende. Programmets
|
2025-12-15 15:12:16 +01:00
|
|
|
åtgärder baseras enbart på de faktiska uppmätta disk-temperaturerna.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
För att utföra denna analys behöver SnapRAID en referens för systemtemperaturen.
|
|
|
|
|
Det försöker först läsa den från tillgängliga hårdvarusensorer.
|
|
|
|
|
Om ingen systemsensor kan nås, används den lägsta disk-
|
|
|
|
|
temperaturen som mättes i början av körningen som en reservreferens.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Normalt visar SnapRAID endast temperaturen på den hetaste disken.
|
|
|
|
|
För att visa temperaturen på alla diskar, använd alternativet -A eller --stats.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
temp_sleep TIME_IN_MINUTES
|
2025-12-15 15:12:16 +01:00
|
|
|
Anger standby-tiden, i minuter, när temperaturgränsen har
|
|
|
|
|
nåtts. Under denna period förblir diskarna nedsnurrade. Standard
|
|
|
|
|
är 5 minuter.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
pool DIR
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar poolningskatalogen där den virtuella vyn av disk-
|
|
|
|
|
arrayen skapas med hjälp av kommandot `pool`.
|
|
|
|
|
|
|
|
|
|
Katalogen måste redan existera.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
share UNC_DIR
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar Windows UNC-sökvägen som krävs för att få åtkomst till diskarna på distans.
|
|
|
|
|
|
|
|
|
|
Om detta alternativ specificeras, använder de symboliska länkarna som skapats i pool-
|
|
|
|
|
katalogen denna UNC-sökväg för att få åtkomst till diskarna.
|
|
|
|
|
Utan detta alternativ använder de genererade symboliska länkarna endast lokala sökvägar,
|
|
|
|
|
vilket inte tillåter delning av pool-katalogen över nätverket.
|
|
|
|
|
|
|
|
|
|
De symboliska länkarna bildas med hjälp av den specificerade UNC-sökvägen, lägger till
|
|
|
|
|
disk-namnet som specificeras i `data`-alternativet, och lägger slutligen till filens
|
|
|
|
|
katalog och namn.
|
|
|
|
|
|
|
|
|
|
Detta alternativ krävs endast för Windows.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
smartctl DISK/PARITY OPTIONS...
|
2025-12-15 15:12:16 +01:00
|
|
|
Definierar anpassade smartctl-alternativ för att få SMART-attributen för
|
|
|
|
|
varje disk. Detta kan krävas för RAID-kontroller och vissa USB-
|
|
|
|
|
diskar som inte kan upptäckas automatiskt. Platsinnehavaren %s ersätts av
|
|
|
|
|
enhetens namn, men är valfri för fixerade enheter som RAID-kontroller.
|
|
|
|
|
|
|
|
|
|
DISK är samma disk-namn som specificeras i `data`-alternativet.
|
|
|
|
|
PARITY är ett av paritetsnamnen: `parity`, `2-parity`, `3-parity`,
|
|
|
|
|
`4-parity`, `5-parity`, `6-parity` eller `z-parity`.
|
|
|
|
|
|
|
|
|
|
I de specificerade ALTERNATIVEN ersätts strängen `%s` med
|
|
|
|
|
enhetens namn. För RAID-kontroller är enheten
|
|
|
|
|
sannolikt fixerad, och du kanske inte behöver använda `%s`.
|
|
|
|
|
|
2026-06-15 14:41:03 +02:00
|
|
|
Du kan också specificera en anpassad sträng för informationsalternativ med
|
|
|
|
|
hjälp av taggen `[info: ...]` för att ersätta standardalternativet `-a`.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
Se smartmontools dokumentation för möjliga alternativ:
|
|
|
|
|
|
|
|
|
|
:https://www.smartmontools.org/wiki/Supported_RAID-Controllers
|
|
|
|
|
:https://www.smartmontools.org/wiki/Supported_USB-Devices
|
|
|
|
|
|
|
|
|
|
Till exempel:
|
|
|
|
|
|
2026-06-15 14:41:03 +02:00
|
|
|
:smartctl d1 [info: -H -i -c -A] -d sat %s
|
2025-12-15 15:12:16 +01:00
|
|
|
:smartctl parity -d sat %s
|
|
|
|
|
|
|
|
|
|
smartignore DISK/PARITY ATTR [ATTR...]
|
|
|
|
|
Ignorerar det specificerade SMART-attributet vid beräkning av sannolikheten
|
|
|
|
|
för diskfel. Detta alternativ är användbart om en disk rapporterar ovanliga eller
|
|
|
|
|
vilseledande värden för ett visst attribut.
|
|
|
|
|
|
|
|
|
|
DISK är samma disk-namn som specificeras i `data`-alternativet.
|
|
|
|
|
PARITY är ett av paritetsnamnen: `parity`, `2-parity`, `3-parity`,
|
|
|
|
|
`4-parity`, `5-parity`, `6-parity` eller `z-parity`.
|
|
|
|
|
Det speciella värdet * kan användas för att ignorera attributet på alla diskar.
|
|
|
|
|
|
2026-06-25 22:52:53 +02:00
|
|
|
Flera attribut kan specificeras separerade med mellanslag.
|
|
|
|
|
Varje attribut kan specificeras som ett nummer från 1 till 255, eller som ett
|
|
|
|
|
skiftlägesokänsligt namn (t.ex. `Current_Pending_Sector`).
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 22:52:53 +02:00
|
|
|
Till exempel, för att ignorera attributen `Current Pending Sector Count` och
|
2026-06-25 23:08:58 +02:00
|
|
|
`Reallocated Sectors Count` på alla diskar med deras nummer eller namn:
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 22:52:53 +02:00
|
|
|
:smartignore * 197 5
|
|
|
|
|
:smartignore * Current_Pending_Sector Reallocated_Sector_Ct
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-25 22:52:53 +02:00
|
|
|
För att ignorera dem endast på den första paritetsdisken:
|
|
|
|
|
|
|
|
|
|
:smartignore parity 197 5
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Exempel
|
|
|
|
|
Ett exempel på en typisk konfiguration för Unix är:
|
|
|
|
|
|
|
|
|
|
: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/
|
2026-06-15 14:41:03 +02:00
|
|
|
:smartctl d1 [info: -H -i -c -A] -d sat %s
|
2025-12-15 15:12:16 +01:00
|
|
|
:smartctl d2 -d usbjmicron %s
|
|
|
|
|
:smartctl parity -d areca,1/1 /dev/sg0
|
|
|
|
|
:smartctl 2-parity -d areca,2/1 /dev/sg0
|
|
|
|
|
|
|
|
|
|
Ett exempel på en typisk konfiguration för Windows är:
|
|
|
|
|
|
|
|
|
|
: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
|
2026-06-15 14:41:03 +02:00
|
|
|
:smartctl d1 [info: -H -i -c -A] -d sat %s
|
2025-12-15 15:12:16 +01:00
|
|
|
:smartctl d2 -d usbjmicron %s
|
|
|
|
|
:smartctl parity -d areca,1/1 /dev/arcmsr0
|
|
|
|
|
:smartctl 2-parity -d areca,2/1 /dev/arcmsr0
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Ögonblicksbilder (Snapshots)
|
2026-06-08 18:26:17 +02:00
|
|
|
Om alternativet för ögonblicksbilder är aktiverat i konfigurationen använder SnapRAID
|
2026-08-12 14:53:58 +02:00
|
|
|
filsystemets ögonblicksbilder för att hålla data som läses under en operation stabil,
|
|
|
|
|
även om filer på de aktiva filsystemen senare ändras eller tas bort.
|
2026-06-08 18:26:17 +02:00
|
|
|
|
|
|
|
|
Hanteringen av ögonblicksbilder är helt automatisk och transparent.
|
|
|
|
|
Du kan fortsätta att använda SnapRAID exakt som tidigare, med det
|
|
|
|
|
ytterligare skydd som ögonblicksbilder ger, helt hanterat i
|
|
|
|
|
bakgrunden.
|
|
|
|
|
|
|
|
|
|
Detta ger två huvudsakliga fördelar:
|
|
|
|
|
|
|
|
|
|
Konsistens - Filer som ändras på det aktiva filsystemet under en långvarig
|
|
|
|
|
sync eller scrub kommer inte att orsaka paritetsfel eller avbrutna
|
2026-08-12 14:53:58 +02:00
|
|
|
operationer, eftersom varje filsystem med ögonblicksbild förblir oförändrat
|
|
|
|
|
under hela operationen.
|
2026-06-08 18:26:17 +02:00
|
|
|
Återställning - Om en fil uppdateras eller tas bort från det aktiva filsystemet
|
|
|
|
|
förblir den bevarad i ögonblicksbilden. Om ett diskhaveri inträffar
|
|
|
|
|
innan nästa sync körs, använder SnapRAID den data som bevarats
|
|
|
|
|
i ögonblicksbilden för att rekonstruera den felaktiga disken.
|
|
|
|
|
|
|
|
|
|
I händelse av ett diskhaveri under en aktiv synkroniseringsprocess
|
|
|
|
|
kan SnapRAID också läsa automatiskt från både ögonblicksbilden
|
|
|
|
|
av den föregående paritetsberäkningen och den aktuella.
|
|
|
|
|
Detta maximerar sannolikheten för en fullständig återställning genom att
|
|
|
|
|
ge tillgång till de exakta datablock som krävs för att lösa paritetsekvationerna,
|
|
|
|
|
även om dessa block modifierades eller togs bort mellan synkroniseringar.
|
|
|
|
|
|
|
|
|
|
Utan ögonblicksbilder leder en uppdaterad eller borttagen fil på en frisk disk
|
|
|
|
|
till saknade datablock som kan krävas för att laga andra felaktiga diskar.
|
|
|
|
|
|
|
|
|
|
Ögonblicksbilder skapas endast för datadiskar och endast om det underliggande
|
|
|
|
|
filsystemet stöder denna funktionalitet. Paritetsdiskar använder alltid
|
|
|
|
|
det aktiva filsystemet.
|
2026-06-21 23:30:27 +02:00
|
|
|
|
2026-06-08 18:26:17 +02:00
|
|
|
För närvarande stöds detta på Btrfs, Bcachefs och ZFS i Linux
|
|
|
|
|
och på NTFS i Windows.
|
|
|
|
|
|
|
|
|
|
Du kan blanda datadiskar med olika filsystem. Endast de som
|
|
|
|
|
stöder ögonblicksbilder kommer att använda dem, medan andra diskar kommer att fortsätta
|
|
|
|
|
att fungera direkt på det aktiva filsystemet.
|
|
|
|
|
|
|
|
|
|
Att skapa och ta bort ögonblicksbilder kräver administratörsbehörighet.
|
|
|
|
|
Se till att SnapRAID körs med nödvändiga rättigheter (t.ex. sudo)
|
|
|
|
|
när ögonblicksbilder är aktiverade.
|
|
|
|
|
|
|
|
|
|
Kommandobeteende med ögonblicksbilder
|
2026-08-12 14:53:58 +02:00
|
|
|
Kommandona `sync` och `scrub` använder ögonblicksbilder för datadiskar vars
|
|
|
|
|
filsystem stöder dem. På en disk med ögonblicksbild ser kommandot en stabil
|
|
|
|
|
filsystembild som inte påverkas av samtidiga ändringar på det aktiva filsystemet.
|
|
|
|
|
Under en `sync` skapas en ny ögonblicksbild oberoende för varje datafilsystem
|
|
|
|
|
som stöds. Dessa ögonblicksbilder tillhandahåller gemensamt den data som används
|
|
|
|
|
för paritetsberäkning.
|
2026-06-08 18:26:17 +02:00
|
|
|
I motsats till detta använder kommandot `scrub` den senaste ögonblicksbilden, den som
|
|
|
|
|
skapades under den senaste synkroniseringen, för att upprätthålla en tillförlitlig referenspunkt
|
|
|
|
|
som matchar den befintliga pariteten.
|
|
|
|
|
|
|
|
|
|
För kommandona `check` och `fix` beror användningen av den senaste ögonblicksbilden
|
|
|
|
|
på om specifika diskar är måltavla med alternativet
|
|
|
|
|
-d, --filter-disk.
|
|
|
|
|
|
|
|
|
|
En disk som uttryckligen valts via -d (operationens "mål")
|
|
|
|
|
använder alltid det aktiva filsystemet. För `fix` tillåter detta återställning
|
|
|
|
|
av data till den aktiva ersättningsdisken. För `check` tillåter det att simulera
|
|
|
|
|
`fix`-operationen under samma förhållanden.
|
|
|
|
|
|
|
|
|
|
Alla andra datadiskar ("referensdiskarna") kommer att nås via
|
|
|
|
|
sina ögonblicksbilder. Detta säkerställer att även om du ändrar filer
|
|
|
|
|
på dina friska diskar medan en återställning pågår, har SnapRAID
|
|
|
|
|
en stabil, frusen referens för att lösa paritetsekvationerna.
|
|
|
|
|
|
2026-06-21 23:30:27 +02:00
|
|
|
Om inget -d-alternativ anges antar SnapRAID att operationen gäller
|
2026-06-08 18:26:17 +02:00
|
|
|
hela arrayen, i detta fall kommer `check` och `fix` att använda de
|
|
|
|
|
aktiva filsystemen uteslutande.
|
|
|
|
|
|
|
|
|
|
Alla andra kommandon fungerar uteslutande på det aktiva filsystemet.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Livscykel för ögonblicksbilder (Snapshots Lifecycle)
|
2026-08-12 14:53:58 +02:00
|
|
|
SnapRAID hanterar tre specifika ögonblicksbilder, `stable`, `pending` och `scan`,
|
2026-06-08 18:26:17 +02:00
|
|
|
inom en dold katalog i roten av varje datavolym.
|
|
|
|
|
I Btrfs, Bcachefs och NTFS används katalogen `.snapraid/`,
|
|
|
|
|
i ZFS standardkatalogen `.zfs/snapshot/`.
|
|
|
|
|
|
|
|
|
|
Ögonblicksbilden `stable` representerar tillståndet för den senaste
|
|
|
|
|
framgångsrikt slutförda `sync`-iseringen, och innehåller exakt den data som användes för
|
|
|
|
|
att beräkna den aktuella pariteten. Den fungerar som den primära datakällan
|
|
|
|
|
för kommandona `scrub`, `check` och `fix`.
|
|
|
|
|
|
2026-08-12 14:53:58 +02:00
|
|
|
Ögonblicksbilden `scan` är en tillfällig bild som skapas i början
|
|
|
|
|
av en `sync` för att tillhandahålla ett fruset tillstånd för skanning och paritetsberäkning.
|
|
|
|
|
Efter skanning och sparning av det nya innehållstillståndet ersätter den den föregående
|
|
|
|
|
`pending`-ögonblicksbilden.
|
|
|
|
|
|
|
|
|
|
Ögonblicksbilden `pending` är bilden som används av en avbruten `sync`.
|
2026-06-08 18:26:17 +02:00
|
|
|
Efter framgångsrik slutförande av operationen raderas den föregående `stable`
|
|
|
|
|
ögonblicksbilden, och `pending`-ögonblicksbilden upphöjs till
|
|
|
|
|
att ta dess plats som den nya stabila referensen.
|
|
|
|
|
|
|
|
|
|
Om en `sync` avbryts bevaras ögonblicksbilden `pending`.
|
|
|
|
|
Efterföljande `scrub`-, `check`- och `fix`-kommandon kommer att använda denna
|
|
|
|
|
vilande ögonblicksbild eftersom den matchar filsystemets tillstånd som registrerats i
|
|
|
|
|
.content-filen, även om pariteten endast är delvis synkroniserad.
|
|
|
|
|
|
|
|
|
|
I händelse av ett avbrott i en `sync` läser kommandona `check` och `fix`
|
|
|
|
|
också från ögonblicksbilden `stable` för att hämta datablock
|
|
|
|
|
från filer som uppdaterades eller togs bort under synkroniseringen.
|
|
|
|
|
Detta är möjligt eftersom .content-filen behåller metadata för
|
|
|
|
|
alla modifierade eller borttagna filer under hela synkroniseringsprocessen.
|
|
|
|
|
Denna historiska information rensas först när en sync slutförts
|
|
|
|
|
framgångsrikt och den slutliga versionen av .content-filen sparats.
|
|
|
|
|
|
|
|
|
|
Om en `sync` startas om efter ett avbrott raderas den befintliga
|
|
|
|
|
vilande (pending) ögonblicksbilden och en ny skapas för att
|
|
|
|
|
fånga det aktuella tillståndet för det aktiva filsystemet.
|
2026-08-25 12:51:26 +02:00
|
|
|
Om en `sync` avbryts bör du dock undvika att modifiera, ta bort,
|
|
|
|
|
ersätta eller flytta filer tills en efterföljande `sync` slutförs
|
|
|
|
|
framgångsrikt. Pariteten kan fortfarande innehålla block som beräknats från
|
|
|
|
|
ögonblicksbilden som användes av den avbrutna synkroniseringen. En senare
|
|
|
|
|
synkronisering kan ersätta den ögonblicksbilden, vilket gör mellanliggande
|
|
|
|
|
filversioner otillgängliga för återställning.
|
2026-06-08 18:26:17 +02:00
|
|
|
|
2026-10-01 19:55:23 +02:00
|
|
|
Externa säkerhetskopior med ögonblicksbilder av filsystem (External backups with filesystem snapshots)
|
|
|
|
|
När ögonblicksbilder av filsystem är aktiverade ansluter eller skapar
|
|
|
|
|
SnapRAID ögonblicksbilder vid roten av varje dataundervolym, volym eller
|
|
|
|
|
datauppsättning (dataset).
|
|
|
|
|
|
|
|
|
|
Ett enkelt sätt att undvika konflikter med externa verktyg är att peka
|
|
|
|
|
din `data`-konfiguration till en vanlig underkatalog i undervolymen eller
|
|
|
|
|
volymen (till exempel `/mnt/subvol/data` istället för `/mnt/subvol`).
|
|
|
|
|
SnapRAID skapar alltid katalogen för ögonblicksbilder i undervolymens rot
|
|
|
|
|
(till exempel `/mnt/subvol/.snapraid/`), vilket håller underkatalogen för
|
|
|
|
|
data ren så att ögonblicksbilderna förblir utanför och osynliga för
|
|
|
|
|
säkerhetskopieringsverktyg som arbetar i den.
|
|
|
|
|
|
|
|
|
|
Annars, om din konfigurerade `data`-katalog i sig är roten på undervolymen
|
|
|
|
|
eller volymen, skapar SnapRAID en `.snapraid/`-katalog direkt i den (på
|
|
|
|
|
Btrfs, Bcachefs och NTFS). Även om SnapRAID automatiskt utesluter denna
|
|
|
|
|
katalog från sin egen skanning, kommer externa säkerhetskopieringsverktyg
|
|
|
|
|
eller synkroniseringsprogram att stöta på den. Om den inte utesluts kan de
|
|
|
|
|
gå in i ögonblicksbilderna eller kataloglänkarna och kopiera hela det frysta
|
|
|
|
|
dataträdet, vilket duplicerar data och kan tömma lagringsutrymmet för
|
|
|
|
|
säkerhetskopior. Konfigurera alltid externa säkerhetskopieringsverktyg till
|
|
|
|
|
att utesluta katalogen `.snapraid/`.
|
|
|
|
|
|
|
|
|
|
På ZFS exponeras ögonblicksbilder via den virtuella standardkatalogen
|
|
|
|
|
`.zfs/snapshot/` istället för `.snapraid/`. Som standard (`snapdir=hidden`)
|
|
|
|
|
döljer ZFS denna katalog från kataloglistor så att externa säkerhetskopieringsverktyg
|
|
|
|
|
inte söker igenom den. Om du har aktiverat `snapdir=visible`, se till att dina
|
|
|
|
|
säkerhetskopieringsverktyg utesluter katalogen `.zfs/`.
|
|
|
|
|
|
2026-01-10 16:57:04 +01:00
|
|
|
Mönster (Pattern)
|
|
|
|
|
Mönster ger ett flexibelt sätt att filtrera filer för inkludering eller
|
|
|
|
|
exkludering. Genom att använda jokertecken kan du definiera regler som
|
|
|
|
|
matchar specifika filnamn eller hela katalogstrukturer utan att
|
|
|
|
|
lista varje sökväg manuellt.
|
|
|
|
|
|
|
|
|
|
Frågetecknet `?` matchar valfritt enskilt tecken utom katalogavgränsaren.
|
|
|
|
|
Detta gör det användbart för att matcha filnamn med variabla tecken
|
|
|
|
|
samtidigt som mönstret hålls begränsat till en enda katalognivå.
|
|
|
|
|
|
|
|
|
|
Den enkla stjärnan `*` matchar valfri teckensekvens, men precis som
|
|
|
|
|
frågetecknet korsar den aldrig kataloggränser. Den stannar vid
|
|
|
|
|
snedstrecket, vilket gör den lämplig för matchning inom en enskild
|
|
|
|
|
sökvägskomponent. Detta är det standardbeteende för jokertecken som är
|
|
|
|
|
bekant från skal-globbing.
|
|
|
|
|
|
2026-08-26 14:38:06 +02:00
|
|
|
Jokertecknet med dubbelstjärna `**` matchar över katalogavgränsare endast när
|
|
|
|
|
det gränsar till en katalogavgränsare (föregås eller efterföljs av ett
|
|
|
|
|
snedstreck). I denna form matchar det noll eller fler tecken över flera
|
|
|
|
|
katalognivåer. Till exempel matchar `foo/**/bar` sökvägarna `foo/bar`,
|
|
|
|
|
`foo/a/bar` och `foo/a/b/bar`; `**/build` matchar `build` och `foo/bar/build`;
|
|
|
|
|
och `src/**.js` matchar `src/main.js` och `src/ui/components/main.js`.
|
|
|
|
|
Den fristående formen `/**/` accepteras inte som ett fullständigt mönster.
|
|
|
|
|
|
|
|
|
|
När `**` inte gränsar till ett snedstreck beter det sig som `*` och matchar
|
|
|
|
|
inte katalogavgränsare. Till exempel matchar `**.jpg` filen `photo.jpg` i den
|
|
|
|
|
aktuella katalogen, men inte `dir/photo.jpg`. Använd `**/*.jpg` för detta ändamål.
|
2026-01-10 16:57:04 +01:00
|
|
|
|
|
|
|
|
Teckenklasser som använder hakparenteser `[]` matchar ett enskilt tecken från en
|
|
|
|
|
angiven uppsättning eller ett intervall. Precis som de andra mönstren för enskilda
|
|
|
|
|
tecken matchar de inte katalogavgränsare. Klasser stöder intervall och
|
|
|
|
|
negering med ett utropstecken.
|
|
|
|
|
|
|
|
|
|
Den grundläggande skillnaden att komma ihåg är att `*`, `?` och teckenklasser
|
|
|
|
|
alla respekterar kataloggränser och endast matchar inom en enskild
|
2026-08-26 14:38:06 +02:00
|
|
|
sökvägskomponent, medan `**` endast kan matcha över katalogavgränsare när det
|
|
|
|
|
gränsar till ett snedstreck.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Det finns fyra olika typer av mönster:
|
|
|
|
|
|
2026-01-10 16:57:04 +01:00
|
|
|
=FILE
|
|
|
|
|
Väljer valfri fil med namnet FILE.
|
|
|
|
|
Detta mönster gäller endast filer, inte kataloger.
|
|
|
|
|
|
|
|
|
|
=DIR/
|
|
|
|
|
Väljer valfri katalog med namnet DIR och allt innehåll.
|
|
|
|
|
Detta mönster gäller endast kataloger, inte filer.
|
|
|
|
|
|
|
|
|
|
=/PATH/FILE
|
|
|
|
|
Väljer den exakt angivna filsökvägen. Detta mönster gäller
|
|
|
|
|
endast filer, inte kataloger.
|
|
|
|
|
|
|
|
|
|
=/PATH/DIR/
|
|
|
|
|
Väljer den exakt angivna katalogsökvägen och allt innehåll.
|
|
|
|
|
Detta mönster gäller endast kataloger, inte filer.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
När du specificerar en absolut sökväg som börjar med /, tillämpas den vid
|
|
|
|
|
array-rotkatalogen, inte den lokala filsystemets rotkatalog.
|
|
|
|
|
|
|
|
|
|
I Windows kan du använda bakåtsnedstrecket \ istället för framåtsnedstrecket /.
|
|
|
|
|
Windows systemkataloger, junction points, monteringspunkter och andra Windows
|
|
|
|
|
speciella kataloger behandlas som filer, vilket innebär att för att exkludera
|
|
|
|
|
dem måste du använda en fil-regel, inte en katalog-regel.
|
|
|
|
|
|
2026-02-14 11:07:51 +01:00
|
|
|
Om filnamnet innehåller tecknet `*`, `?`, `[`,
|
|
|
|
|
eller `]`, måste du undvika det för att förhindra att det tolkas som ett
|
|
|
|
|
globbing-tecken. I Unix är undvikande-tecknet `\`; i Windows är det `^`.
|
2025-12-15 15:12:16 +01:00
|
|
|
När mönstret är på kommandoraden måste du dubbla undvikande-
|
|
|
|
|
tecknet för att förhindra att det tolkas av kommandoskalet.
|
|
|
|
|
|
|
|
|
|
I konfigurationsfilen kan du använda olika strategier för att filtrera
|
|
|
|
|
filerna som ska behandlas.
|
|
|
|
|
Det enklaste tillvägagångssättet är att endast använda `exclude`-regler för att ta bort alla
|
|
|
|
|
filer och kataloger du inte vill behandla. Till exempel:
|
|
|
|
|
|
|
|
|
|
:# Exkluderar alla filer som heter `*.unrecoverable`
|
|
|
|
|
:exclude *.unrecoverable
|
|
|
|
|
:# Exkluderar rotkatalogen `/lost+found`
|
|
|
|
|
:exclude /lost+found/
|
|
|
|
|
:# Exkluderar alla underkataloger som heter `tmp`
|
|
|
|
|
:exclude tmp/
|
|
|
|
|
|
|
|
|
|
Det motsatta tillvägagångssättet är att definiera endast de filer du vill behandla, med
|
|
|
|
|
endast `include`-regler. Till exempel:
|
|
|
|
|
|
|
|
|
|
:# Inkluderar endast vissa kataloger
|
|
|
|
|
:include /movies/
|
|
|
|
|
:include /musics/
|
|
|
|
|
:include /pictures/
|
|
|
|
|
|
|
|
|
|
Det sista tillvägagångssättet är att blanda `exclude`- och `include`-regler. I detta fall
|
|
|
|
|
är ordningen på reglerna viktig. Tidigare regler har
|
|
|
|
|
företräde framför senare.
|
|
|
|
|
För att förenkla kan du lista alla `exclude`-regler först och sedan
|
|
|
|
|
alla `include`-regler. Till exempel:
|
|
|
|
|
|
|
|
|
|
:# Exkluderar alla filer som heter `*.unrecoverable`
|
|
|
|
|
:exclude *.unrecoverable
|
|
|
|
|
:# Exkluderar alla underkataloger som heter `tmp`
|
|
|
|
|
:exclude tmp/
|
|
|
|
|
:# Inkluderar endast vissa kataloger
|
|
|
|
|
:include /movies/
|
|
|
|
|
:include /musics/
|
|
|
|
|
:include /pictures/
|
|
|
|
|
|
2026-08-26 12:29:13 +02:00
|
|
|
Observera att exkludering av en katalog (med DIR/ eller /SÖKVÄG/DIR/)
|
|
|
|
|
förhindrar SnapRAID från att gå in i och skanna den katalogen.
|
|
|
|
|
Följaktligen är det inte möjligt att åter inkludera en fil eller
|
|
|
|
|
underkatalog som finns i en exkluderad överordnad katalog, eftersom
|
|
|
|
|
skannern aldrig går in i den.
|
|
|
|
|
|
|
|
|
|
Till exempel kommer följande konfiguration INTE att inkludera `file.dat`
|
|
|
|
|
eftersom `/keep/` beskärs innan `file.dat` kan utvärderas:
|
|
|
|
|
|
|
|
|
|
:# Fungerar INTE: /keep/ hoppas över helt
|
|
|
|
|
:include /keep/file.dat
|
|
|
|
|
:exclude /keep/
|
|
|
|
|
|
|
|
|
|
För att exkludera filer i en katalog men behålla specifika filer,
|
|
|
|
|
matcha filmönstret inuti katalogen istället för att exkludera själva katalogen:
|
|
|
|
|
|
|
|
|
|
:# Fungerar: /keep/ genomsöks, men övriga filer inuti exkluderas
|
|
|
|
|
:include /keep/file.dat
|
|
|
|
|
:exclude /keep/*
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
På kommandoraden, med hjälp av alternativet -f, kan du bara använda `include`-
|
|
|
|
|
mönster. Till exempel:
|
|
|
|
|
|
|
|
|
|
:# Kontrollerar endast .mp3-filerna.
|
|
|
|
|
:# I Unix, använd citattecken för att undvika globbing-expansion av skalet.
|
|
|
|
|
:snapraid -f "*.mp3" check
|
|
|
|
|
|
|
|
|
|
I Unix, när du använder globbing-tecken på kommandoraden, måste du
|
|
|
|
|
citattecken dem för att förhindra att skalet expanderar dem.
|
|
|
|
|
|
2026-01-10 16:30:35 +01:00
|
|
|
Ignorera filer (Ignore File)
|
|
|
|
|
Utöver de globala reglerna i konfigurationsfilen kan du placera
|
|
|
|
|
`.snapraidignore`-filer i vilken katalog som helst i arrayen för att definiera
|
|
|
|
|
decentraliserade exkluderingsregler.
|
|
|
|
|
|
|
|
|
|
Regler som definieras i `.snapraidignore` tillämpas efter reglerna i
|
|
|
|
|
konfigurationsfilen. Detta innebär att de har högre prioritet och kan
|
|
|
|
|
användas för att exkludera filer som tidigare inkluderats av den globala
|
|
|
|
|
konfigurationen. I praktiken innebär det att om en lokal regel matchar, så
|
|
|
|
|
exkluderas filen oavsett de globala inkluderingsinställningarna.
|
|
|
|
|
|
|
|
|
|
Mönsterlogiken i `.snapraidignore` speglar den globala konfigurationen men
|
|
|
|
|
förankrar mönstren till den katalog där filen finns:
|
|
|
|
|
|
|
|
|
|
=FILE
|
|
|
|
|
Väljer alla filer med namnet FILE i denna katalog eller under.
|
|
|
|
|
Detta följer samma globbing-regler som det globala mönstret.
|
|
|
|
|
|
|
|
|
|
=DIR/
|
|
|
|
|
Väljer alla kataloger med namnet DIR och allt innehåll, som finns
|
|
|
|
|
i denna katalog eller under.
|
|
|
|
|
|
|
|
|
|
=/PATH/FILE
|
|
|
|
|
Väljer den exakt angivna filen relativt platsen för
|
|
|
|
|
`.snapraidignore`-filen.
|
|
|
|
|
|
|
|
|
|
=/PATH/DIR/
|
|
|
|
|
Väljer den exakt angivna katalogen och allt innehåll, relativt
|
|
|
|
|
platsen för `.snapraidignore`-filen.
|
|
|
|
|
|
|
|
|
|
Till skillnad från den globala konfigurationen stöder `.snapraidignore`-filer
|
|
|
|
|
endast exkluderingsregler; du kan inte använda `include`-mönster eller negation (!).
|
|
|
|
|
|
|
|
|
|
Till exempel, om du har en `.snapraidignore` i `/mnt/disk1/projects/`:
|
|
|
|
|
|
|
|
|
|
:# Exkluderar ENDAST /mnt/disk1/projects/output.bin
|
|
|
|
|
:/output.bin
|
2026-02-14 11:07:51 +01:00
|
|
|
:# Exkluderar alla kataloger med namnet `build` inuti projects/
|
2026-01-10 16:30:35 +01:00
|
|
|
:build/
|
|
|
|
|
:# Exkluderar alla .tmp-filer inuti projects/ eller dess undermappar
|
|
|
|
|
:*.tmp
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
Innehåll (Content)
|
|
|
|
|
SnapRAID lagrar listan och checksummorna för dina filer i content-filen.
|
|
|
|
|
|
|
|
|
|
Det är en binär fil som listar alla filer som finns i din disk-array,
|
|
|
|
|
tillsammans med alla checksummor för att verifiera deras integritet.
|
|
|
|
|
|
2026-06-21 22:52:52 +02:00
|
|
|
Content-filen läses och skrivs av kommandona `sync`, `scrub`, `touch`
|
|
|
|
|
och `rehash`. Den läses av kommandona `status`, `diff`, `check`, `fix`,
|
|
|
|
|
`list`, `dup`, `locate` och `pool`, och den ignoreras helt av
|
|
|
|
|
kommandona `smart`, `probe`, `up`, `down` och `devices`.
|
2025-12-15 15:12:16 +01:00
|
|
|
|
|
|
|
|
Paritet (Parity)
|
|
|
|
|
SnapRAID lagrar paritetsinformationen för din array i parity-
|
|
|
|
|
filerna.
|
|
|
|
|
|
|
|
|
|
Dessa är binära filer som innehåller den beräknade pariteten för alla
|
|
|
|
|
block definierade i `content`-filen.
|
|
|
|
|
|
|
|
|
|
Dessa filer läses och skrivs av kommandona `sync` och `fix` och
|
|
|
|
|
läses endast av kommandona `scrub` och `check`.
|
|
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Kodning (Encoding)
|
2025-12-15 15:12:16 +01:00
|
|
|
SnapRAID i Unix ignorerar all kodning. Det läser och lagrar
|
|
|
|
|
filnamnen med samma kodning som används av filsystemet.
|
|
|
|
|
|
|
|
|
|
I Windows konverteras alla namn som läses från filsystemet och
|
|
|
|
|
behandlas i UTF-8-format.
|
|
|
|
|
|
|
|
|
|
För att få filnamn utskrivna korrekt måste du ställa in Windows-
|
|
|
|
|
konsolen till UTF-8-läge med kommandot `chcp 65001` och använda
|
|
|
|
|
ett TrueType-typsnitt som `Lucida Console` som konsoltypsnitt.
|
|
|
|
|
Detta påverkar endast de utskrivna filnamnen; om du
|
|
|
|
|
omdirigerar konsolutdata till en fil, är den resulterande filen alltid
|
|
|
|
|
i UTF-8-format.
|
|
|
|
|
|
2026-06-25 23:08:58 +02:00
|
|
|
Slutkod (Exit Code)
|
|
|
|
|
SnapRAID avslutas med följande statuskoder:
|
|
|
|
|
|
|
|
|
|
0 - Allt OK.
|
|
|
|
|
1 - Kommandot stötte på fel.
|
|
|
|
|
2 - Kommandot `diff` fann att allt är OK, men en `sync` behövs.
|
2026-09-18 23:28:47 +02:00
|
|
|
3 - Ett diskenhetskommando (`probe`, `smart`, `devices`, `up`, `down`)
|
|
|
|
|
slutfördes, men minst ett filsystem körs i degraderat läge med
|
|
|
|
|
saknade enheter.
|
2026-06-25 23:08:58 +02:00
|
|
|
|
2026-08-26 10:00:16 +02:00
|
|
|
Kända problem (Known Issues)
|
|
|
|
|
Filsystemgränser
|
|
|
|
|
SnapRAID korsar inte filsystems-, monterings- eller undervolymsgränser vid
|
|
|
|
|
skanning av en datadisk. När en sådan gräns upptäcks rapporterar SnapRAID
|
|
|
|
|
en VARNING och skannar inte bortom den.
|
|
|
|
|
|
|
|
|
|
Filer som finns bortom sådana gränser inkluderas inte i datadisken och
|
|
|
|
|
måste konfigureras separat om de ska skyddas.
|
|
|
|
|
|
|
|
|
|
Monteringspunkter med filsystemögonblicksbilder
|
|
|
|
|
När filsystemögonblicksbilder är aktiverade stöds inte kapslade
|
|
|
|
|
monteringspunkter och bind-monteringar inuti en datadisk.
|
|
|
|
|
|
|
|
|
|
Monteringspunkter är en del av det aktiva systemets monteringsnamnrymd och
|
|
|
|
|
bevaras inte i filsystemögonblicksbilder. Följaktligen kan en katalog som
|
|
|
|
|
dolts av en monteringspunkt i det aktiva filsystemet bli synlig vid
|
|
|
|
|
skanning av en ögonblicksbild.
|
|
|
|
|
|
|
|
|
|
Placera inte kapslade monteringspunkter eller bind-monteringar inuti
|
|
|
|
|
datadiskar när filsystemögonblicksbilder är aktiverade.
|
|
|
|
|
|
2026-09-08 10:52:00 +02:00
|
|
|
Flera konfigurationer med filsystemögonblicksbilder
|
|
|
|
|
Stöd för ögonblicksbilder kan inte delas säkert mellan flera oberoende
|
|
|
|
|
SnapRAID-konfigurationer som använder samma namnrymd för
|
|
|
|
|
filsystemögonblicksbilder.
|
|
|
|
|
|
|
|
|
|
På Btrfs och Bcachefs får endast en SnapRAID-konfiguration med stöd för
|
|
|
|
|
ögonblicksbilder aktiverat använda datakataloger inom samma undervolym.
|
|
|
|
|
På ZFS gäller samma begränsning för ett dataset, och på NTFS för en volym.
|
|
|
|
|
|
|
|
|
|
Flera konfigurationer som delar samma namnrymd för ögonblicksbilder använder
|
|
|
|
|
samma `stable`-, `pending`- och `scan`-ögonblicksbilder. Att köra en
|
|
|
|
|
konfiguration kan därför ersätta eller ta bort återställningsögonblicksbilder
|
|
|
|
|
som krävs av en annan.
|
|
|
|
|
|
2026-08-26 10:00:16 +02:00
|
|
|
Filändringar på plats utan tidsstämpeländringar
|
|
|
|
|
SnapRAID upptäcker filändringar genom att jämföra filstorlekar och
|
|
|
|
|
ändringstidsstämplar (mtime).
|
|
|
|
|
|
|
|
|
|
Om ett program ändrar en fil på plats utan att ändra dess storlek eller
|
|
|
|
|
uppdatera dess ändringstidsstämpel, kommer "diff" och "sync" inte att
|
|
|
|
|
upptäcka att filen har ändrats, och dess paritet kommer inte att uppdateras.
|
|
|
|
|
|
|
|
|
|
För att säkerställa att SnapRAID känner igen sådana ändringar, uppdatera
|
|
|
|
|
filens ändringstidsstämpel (till exempel med verktyget "touch"). Annars
|
|
|
|
|
kommer skillnaden endast att upptäckas som en hash-avvikelse under en
|
|
|
|
|
efterföljande "scrub" eller "check".
|
|
|
|
|
|
2026-08-26 15:17:33 +02:00
|
|
|
Icke-ASCII skiftlägesmatchning i Windows
|
|
|
|
|
SnapRAID använder standardiserad, förutsägbar UTF-8-kodning på alla plattformar
|
|
|
|
|
och begränsar skiftlägesokänslig matchning till ASCII-tecken.
|
|
|
|
|
|
|
|
|
|
Windows filsystem lider av den föråldrade designen att tvinga fram
|
|
|
|
|
skiftlägesokänslighet över Unicode-filnamn via godtyckliga, systemberoende
|
|
|
|
|
konverteringstabeller. Följaktligen döljer Windows filsystemets verklighet genom
|
|
|
|
|
att behandla helt olika Unicode-bytesekvenser som om de vore samma fil.
|
|
|
|
|
|
|
|
|
|
Till exempel är `À.txt` och `à.txt` distinkta Unicode-namn, men Windows behandlar
|
|
|
|
|
dem ologiskt som identiska, medan SnapRAID bevarar deras verkliga åtskillnad.
|
|
|
|
|
|
|
|
|
|
Denna begränsning orsakas av Windows inkonsekventa hantering av Unicode-filnamn
|
|
|
|
|
och dess insisterande på skiftlägesokänslig aliasning. För att förhindra
|
|
|
|
|
avvikelser till följd av Windows skiftlägesvikning, ange alltid det exakta
|
|
|
|
|
skiftläget för eventuella icke-ASCII-tecken i konfigurationssökvägar och filter.
|
|
|
|
|
|
2026-09-07 14:00:27 +02:00
|
|
|
Återställning med partiell fix
|
|
|
|
|
När `fix` begränsas med `-S, --start` eller `-B, --count`,
|
|
|
|
|
arbetar SnapRAID endast på de markerade blocken och utför varken
|
|
|
|
|
slutförande på filnivå eller karantän.
|
|
|
|
|
|
|
|
|
|
Om återställningen producerar "best-effort"-data som inte kan bevisas
|
|
|
|
|
representera det aktuella innehållet, kan sådana block ändå skrivas under det
|
|
|
|
|
normala filnamnet. Osäkerheten förknippad med dessa återställda block bevaras
|
|
|
|
|
inte efter att kommandot har avslutats.
|
|
|
|
|
|
|
|
|
|
Som en konsekvens kommer en senare `fix` att behandla dessa läsbara block som
|
|
|
|
|
giltiga fildata och inte försöka återställa dem igen. Detta kan leda till att
|
|
|
|
|
en efterföljande återställning rapporterar framgång samtidigt som ofullständiga
|
|
|
|
|
eller inaktuella data lämnas kvar i filen.
|
|
|
|
|
|
|
|
|
|
Alternativen `-S` och `-B` är endast avsedda för avancerad manuell återställning,
|
|
|
|
|
vanligtvis efter att en normal `fix` har misslyckats. Om en partiell `fix`
|
|
|
|
|
rapporterar oåterkalleliga data, ta bort eller byt namn på de berörda filerna
|
|
|
|
|
innan du försöker med en ny återställning, eller verifiera deras innehåll manuellt.
|
|
|
|
|
|
2026-09-07 17:16:24 +02:00
|
|
|
NTFS hårda länkar och exkluderade sökvägar
|
|
|
|
|
På NTFS cachelagrar katalogposter filstorlek och tidsstämplar oberoende
|
|
|
|
|
för varje hård länk. När en fil modifieras via en länk kan katalogposterna
|
|
|
|
|
för andra länkar som pekar på samma fil behålla inaktuella metadata tills
|
|
|
|
|
de används.
|
|
|
|
|
|
|
|
|
|
SnapRAID upptäcker och normaliserar automatiskt detta tillstånd när minst
|
|
|
|
|
två hårda länkar till samma fil påträffas under en skanning. Men om endast
|
|
|
|
|
en hård länk skannas medan de andra exkluderas av filter eller ligger
|
|
|
|
|
utanför hårddiskens sökväg för data, kan SnapRAID inte upptäcka
|
|
|
|
|
inodkollisionen och förlitar sig på cachade metadata för den enda synliga
|
|
|
|
|
länken.
|
|
|
|
|
|
|
|
|
|
Följaktligen kan ändringar som görs via en exkluderad eller extern hård länk
|
|
|
|
|
gå obemärkta förbi för SnapRAID tills metadatan för den inkluderade länken
|
|
|
|
|
uppdateras av operativsystemet (till exempel när filen nås eller öppnas via
|
|
|
|
|
den sökvägen).
|
|
|
|
|
|
|
|
|
|
För att undvika denna begränsning, undvik att modifiera skyddade filer via
|
|
|
|
|
hårda länkar som är exkluderade från SnapRAID, eller se till att alla hårda
|
|
|
|
|
länkar till en fil inkluderas i skanningen så att SnapRAID kan normalisera dem.
|
|
|
|
|
|
2026-09-08 09:10:20 +02:00
|
|
|
Återställning efter ett avbrutet multi-paritets-sync
|
|
|
|
|
I en array med flera paritetsdiskar kan ett avbrutet `sync` lämna
|
|
|
|
|
paritetsnivåerna tillfälligt osynkroniserade med varandra. Till exempel
|
|
|
|
|
kan paritet 1 redan innehålla nyligen uppdaterade data, medan paritet 2
|
|
|
|
|
fortfarande innehåller gamla data.
|
|
|
|
|
|
|
|
|
|
Under `check` eller `fix` provar SnapRAID olika paritetskombinationer och
|
|
|
|
|
validerar rekonstruerade data mot kända blockhashar (som täcker hela
|
|
|
|
|
blocket, vanligtvis 256 KiB).
|
|
|
|
|
|
|
|
|
|
Om SnapRAID försöker en rekonstruktion med en inkonsekvent blandning av
|
|
|
|
|
gammal och ny paritet ger de linjära RAID-ekvationerna felaktiga data.
|
|
|
|
|
För att en sådan ogiltig kombination felaktigt ska accepteras måste
|
|
|
|
|
ekvationerna av en slump rekonstruera minst ett helt 256 KiB-block så
|
|
|
|
|
perfekt att dess hash matchar, medan andra osynkroniserade block i samma
|
|
|
|
|
stripe rekonstrueras med felaktiga data.
|
|
|
|
|
|
|
|
|
|
Detta scenario beror inte på en hashkollision; snarare måste ekvationerna
|
|
|
|
|
med blandad paritet i sig råka producera det exakta ursprungliga
|
|
|
|
|
innehållet i 256 KiB-blocket. Även om detta är matematiskt tänkbart med
|
|
|
|
|
specialkonstruerade eller mycket repetitiva data, är det praktiskt taget
|
|
|
|
|
omöjligt med verkliga data.
|
|
|
|
|
|
|
|
|
|
Om alla diskar är felfria elimineras denna tvetydighet genom att slutföra
|
|
|
|
|
det avbrutna `sync` innan fler ändringar görs. Om en disk har gått sönder
|
|
|
|
|
och återställning krävs bör du undvika att ändra datadiskarna innan du kör
|
|
|
|
|
`check` eller `fix`.
|
|
|
|
|
|
2026-09-25 17:09:49 +02:00
|
|
|
Reserverade fil- och katalognamn
|
|
|
|
|
SnapRAID reserverar vissa fil-, katalog- och ögonblicksbildnamn för sina
|
|
|
|
|
interna operationer. Använd inte dessa namn för användardata:
|
|
|
|
|
|
|
|
|
|
.snapraidignore - Lokal fil med exkluderingsregler.
|
|
|
|
|
.snapraid - Katalog för container av ögonblicksbilder.
|
|
|
|
|
snapraid-* - ZFS-ögonblicksbildnamn som hanteras av SnapRAID.
|
|
|
|
|
*.unrecoverable - Skadade filer satta i karantän under återställning.
|
|
|
|
|
CONTENT.tmp - Temporär fil för content-uppdateringar.
|
|
|
|
|
CONTENT.lock - Content-låsfil.
|
|
|
|
|
PARITY.spaceholder - Temporär platshållarfil under paritetstilldelning
|
|
|
|
|
i Windows.
|
|
|
|
|
|
|
|
|
|
Om du använder dessa namn för orelaterade data kan filer eller ögonblicksbilder
|
|
|
|
|
ignoreras, feltolkas som metadata, skrivas över, döpas om eller raderas.
|
|
|
|
|
|
|
|
|
|
I Windows är även alla skiftlägesvarianter reserverade, även i NTFS-kataloger
|
|
|
|
|
som konfigurerats för att skilja på stora och små bokstäver (till exempel
|
|
|
|
|
.SNAPRAIDIGNORE, .SnapRaid, CONTENT.TMP och CONTENT.Lock).
|
|
|
|
|
|
2026-06-21 23:36:09 +02:00
|
|
|
Översättning (Translation)
|
|
|
|
|
Detta dokument är en automatisk översättning av den engelska manualen.
|
|
|
|
|
Se den engelska manualen för den officiella versionen.
|
|
|
|
|
|
2025-12-15 15:12:16 +01:00
|
|
|
Upphovsrätt (Copyright)
|
2026-06-25 23:08:58 +02:00
|
|
|
Denna fil är Copyright (C) 2026 Andrea Mazzoleni
|
2025-12-15 15:12:16 +01:00
|
|
|
|
2026-06-21 23:16:22 +02:00
|
|
|
Se även (See Also)
|
2026-06-21 23:30:27 +02:00
|
|
|
snapraid_log(1), snapraidd(1), rsync(1)
|