Semplice: stai cercando mhddfs .
Finge di essere un file system di grandi dimensioni, scrive sui dischi nell'ordine in cui sono stati menzionati e alla fine sposta i file di grandi dimensioni su un dispositivo diverso, se il primo era troppo pieno. In realtà può anche utilizzare sottocartelle sui dischi, consentendo la stessa funzionalità.
I singoli dischi devono essere montati per primi e rimanere accessibili. Non altera affatto i filesystem e non importa quale file system sia attivo (purché lo spazio libero sia correttamente segnalato dal filesystem). Nel caso in cui un disco venga perso, dovrai rimontare nuovamente i tuoi mhddf (al volo) e i dati su quel disco spariranno.
Uso:
mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]
o dentro /etc/fstab
mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0
Complesso e potente: vuoi unionfs .
Mentre mhddfs è bello ed estremamente semplice, ho avuto problemi con i permessi dei file quando ho concesso ad altri l'accesso tramite SSH. Non sono riuscito a trovare alcuna soluzione, ma ho trovato unionfs.
Unionfs ti consente anche di montare diverse cartelle su diversi filesystem in una, ma fa magie autorizzazioni. Puoi unire più cartelle di sola lettura e una scrivibile insieme, in modo che appaia come una. Le persone con cui hai condiviso la tua cartella unita possono quindi scrivere in una cartella di sola lettura - come appare loro - ma i file finiscono in una sola scrittura. I CD di avvio di Linux funzionano in questo modo, il disco scrivibile è un ramdisk. Le persone possono persino eliminare i file nelle cartelle di sola lettura, il che non elimina realmente il file, ma crea un file di whitelist nascosto nella loro directory di scrittura. Se catturi tutte le opzioni, puoi fondamentalmente usare il tuo filesystem come un SVN mans povero .
Se usi troppo le opzioni simili a SVN, potresti perdere i dati esistenti due volte (improbabile nel tuo scenario, ma possibile), mentre la tua cartella scrivibile si riempie di piccoli file nascosti della whitelist. Oltre a ciò, mantiene i tuoi dischi puliti e utilizzabili individualmente. Cosa succede se un file è troppo grande per un disco, non lo so ancora.
Uso:
unionfs-fuse -o cow,max_files=32768 \
-o allow_other,use_ino,suid,dev,nonempty \
/path/to/dir1=rw:/path/to/dir2=ro:/dir3
/u/union/etc
dove =rw
rende la cartella leggibile e scrivibile e la =ro
rende di sola lettura, anche se le autorizzazioni indicherebbero diversamente. In etc/fstab
questo è
unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0