Utilizzo di mergerfs per aumentare la memoria virtuale

Rispondi
Avatar utente
beatrice
co-admin
co-admin
Messaggi: 81
Iscritto il: lun mar 23, 2020 10:58 pm
Reactions score: 0
Contatta:
mag 2020 12 09:26

Utilizzo di mergerfs per aumentare la memoria virtuale

Messaggio da beatrice

Immagine

Cosa succede se si dispone di più dischi o partizioni che si desidera utilizzare per un progetto multimediale e non si desidera perdere nessuno dei dati esistenti, ma si desidera avere tutto individuato o montato sotto un'unità. Ecco dove le fusioni possono venire in tuo soccorso!
mergerfs è un filesystem sindacale orientato alla semplificazione dell'archiviazione e della gestione dei file attraverso numerosi dispositivi di archiviazione delle merci.
Dovrai prendere gli ultimi RPM dalla loro pagina github qui . Le versioni per Fedora hanno fc e il numero di versione nel nome. Ad esempio, ecco la versione per Fedora 31:
mergerfs-2.29.0-1.fc31.x86_64.rpm
Installazione e configurazione di mergerfs
Installa il pacchetto mergerfs che hai scaricato usando sudo :
$ sudo dnf install mergerfs-2.29.0-1.fc31.x86_64.rpm
Ora sarai in grado di montare più dischi come una sola unità. Ciò è utile se si dispone di un media server e si desidera che tutti i file multimediali vengano visualizzati in un'unica posizione. Se si caricano nuovi file sul proprio sistema, è possibile copiarli nella directory dei fusioni e i fusioni li copieranno automaticamente su qualunque unità disponga di spazio libero sufficiente.
Ecco un esempio per semplificare la comprensione:
$ df -hT | disco grep
/ dev / sdb1 ext4 23M 386K 21M 2% / disk1
/ dev / sdc1 ext4 44M 1.1M 40M 3% / disk2

$ ls -l /disk1/Videos/
totale 1
-rw-r - r--. 1 brusca cotta 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
totale 2
-rw-r - r--. 1 brusca brutta 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 brusca cotta 0 Mar 8 17:21 Halloween hijinks.mkv
In questo esempio ci sono due dischi montati come disk1 e disk2 . Entrambe le unità hanno una directory Video con file esistenti.
Ora monteremo quelle unità usando i mergerfs per farle apparire come un'unità più grande.
$ sudo mergerfs -o default, allow_other, use_ino, category.create = mfs, moveonenospc = true, minfreespace = 1M / disk1: / disk2 / media
La pagina man delle fusioni è piuttosto estesa e complessa, quindi analizzeremo le opzioni che sono state specificate.

  • impostazioni predefinite : verranno utilizzate le impostazioni predefinite se non diversamente specificato.

  • allow_other : consente agli utenti oltre a sudo o root di vedere il filesystem.

  • use_ino : fa in modo che mergerfs fornisca gli inode di file / directory anziché libfuse. Sebbene non sia un valore predefinito, è consigliabile abilitarlo in modo che i file collegati condividano lo stesso valore di inode.

  • category.create = mfs : distribuisce i file su tutte le unità in base allo spazio disponibile.

  • moveonenospc = true : se abilitato, se la scrittura non riesce, verrà eseguita una scansione alla ricerca dell'unità con lo spazio più libero.

  • minfreespace = 1M : il valore di spazio minimo utilizzato.

  • disk1 : primo disco rigido.

  • disk2 : secondo disco rigido.

  • / media : la cartella della directory in cui sono montate le unità.

Ecco come appare:
$ df -hT | disco grep
/ dev / sdb1 ext4 23M 386K 21M 2% / disk1
/ dev / sdc1 ext4 44M 1.1M 40M 3% / disk2

$ df -hT | ha afferrato i media
1:2        fuse.mergerfs  66M      1.4M 60M 3% /media
Ora puoi vedere che il mount di mergerfs mostra una capacità totale di 66M, che è il totale combinato dei due dischi rigidi.
Utilizzando mergerfs
Continuando con l'esempio:
C'è un video da 30 Mb chiamato Second's Xmas.mkv di Baby . Cerchiamo di copiare al / media cartella che è il monte i mergerfs.
$ ls -lh "Baby's second Xmas.mkv"
-rw-rw-r--. 1 brusca caduta 30M 20 aprile 08:45 Secondo Natale Xmas.mkv del bambino
$ cp "Baby's second Xmas.mkv" / media / Videos /
Ecco il risultato finale:
$ df -hT | disco grep
/ dev / sdb1 ext4 23M 386K 21M 2% / disk1
/ dev / sdc1 ext4 44M 31M 9.8M 76% / disk2

$ df -hT | ha afferrato i media
Fusibile 1: 2 66M 31M 30M 51% 51% / media
Dall'utilizzo dello spazio su disco è possibile vedere che le fusioni hanno copiato automaticamente il file su disk2 perché disk1 non aveva abbastanza spazio libero.
Ecco una ripartizione di tutti i file:
$ ls -l /disk1/Videos/
totale 1
-rw-r - r--. 1 brusca cotta 0 Mar 8 17:17 Our Wedding.mkv

$ ls -l /disk2/Videos/
totale 30003
-rw-r - r--. 1 brusca brutta 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 brusca breccia 30720000 20 aprile 08:47 Secondo Natale Xmas.mkv del bambino
-rw-rw-r--. 1 brusca cotta 0 Mar 8 17:21 Halloween hijinks.mkv

$ ls -l /media/Videos/
totale 30004
-rw-r - r--. 1 brusca brutta 0 Mar 8 17:17 Baby's first Xmas.mkv
-rw-rw-r--. 1 brusca breccia 30720000 20 aprile 08:47 Secondo Natale Xmas.mkv del bambino
-rw-rw-r--. 1 brusca cotta 0 Mar 8 17:21 Halloween hijinks.mkv
-rw-r - r--. 1 brusca cotta 0 Mar 8 17:17 Our Wedding.mkv
Quando copi i file sul mount di mergerfs, i file verranno sempre copiati sul disco rigido con spazio libero sufficiente. Se nessuna delle unità nel pool dispone di spazio libero sufficiente, non sarà possibile copiarle.

Rispondi