Come impostare più dischi rigidi come un volume?


39

Sto per configurare box per essere sostanzialmente un file server. Ho intenzione di avere più unità nella confezione e vorrei impostarle tutte in modo che appaiano come una singola unità. Quindi potrei essenzialmente averlo montato su dire / media e non mi interessa davvero quale unità viene utilizzata. Non sono sicuro di quale sia la terminologia corretta per farlo, quindi il mio Google Fu è inutile in questa situazione.

Quindi, come posso impostare più dischi rigidi per apparire come una singola unità?

Risposte:


17

Probabilmente vorrai usare LVM . Puoi trovare alcune guide qui .


1
Grazie. Come nota, sembra che quello che voglio sia SettingUpLVM-WithoutACleanInstall in quanto non sto usando Raid o crittografando nulla.
Jacob Schoen,

47

Ho deciso di scrivere le istruzioni passo passo che ho fatto per impostare questo. Una nota importante è che l'ho fatto su un sistema in cui eseguo l'avvio da una partizione separata che non fa parte di LVM. Quindi LVM è semplicemente per l'archiviazione e non ha nessuno dei file necessari al sistema operativo per l'avvio. Anche questo serve a creare l'aspetto di un'unità di grandi dimensioni, anche se una tecnica simile può essere utilizzata per creare l'aspetto di più unità (ben partizioni davvero). È una discarica di cervello molto egoista poiché le altre guide non mi completano affatto. Quindi spero che possa aiutare gli altri.

Queste indicazioni provengono essenzialmente dal link fornito da Murat Gunes con alcune ulteriori informazioni che ho raccolto da qui .


Ho iniziato con un disco che non conteneva nulla di cui avevo bisogno.

  • Per prima cosa devi creare una partizione come LVM Linux. Puoi usare fdisk per farlo. Puoi vedere tutte le unità che Ubuntu vede e come sono elencate eseguendo:sudo fdisk -l

La prima riga di ogni sezione dovrebbe fornire informazioni sufficienti per identificare l'unità. Sembrerà che:

Disco / dev / sda: 500,1 GB, 500107862016 byte

La parte che conta è /dev/sda. Ora eseguire: sudo fdisk /dev/sda. Vedrai:

Comando (m per aiuto):

Digitare pper elencare le partizioni sul disco rigido. È necessario eliminare le partizioni che si desidera far parte di LVM. Quindi digitad per eliminare. Se l'unità ha solo una partizione, la rimuoverà (bene contrassegnarla per la rimozione, non succede fino a quando non gli diciamo di farlo). Altrimenti penso (il mio ne aveva solo uno) ti chiede di inserire il numero di quello che vuoi eliminare.

Ora devi creare la nuova parizione. Digita nper nuovo. Chiede se esteso o primario. generep per primario. Richiede il numero di partizione, digitare 1. Per il primo cilindro e l'ultimo cilindro, lasciarli vuoti per utilizzare le impostazioni predefinite.

Ora devi impostarlo su Linux LVM. Tipo t. Richiede un codice esadecimale, utilizzare 8eper Linux LVM. Vedi qualcosa come:

Tipo di sistema modificato di partizione da 1 a 8e (Linux LVM)

Digitare infine wper scrivere le modifiche sul disco.

  • Ora dobbiamo installare LVM così corri sudo apt-get install lvm2 per installarlo.
  • Sarò onesto e dirò che non sono sicuro di cosa faccia questo passo, ma le altre direzioni hanno detto di fare modprobe dm-mod per caricare il modulo LVM. Non ho riscontrato alcun errore, quindi immagino che abbia funzionato.
  • Dobbiamo modificare il file / etc / modules in questo modulo che viene caricato all'avvio. Fare sudo nano /etc/modulesper aprirlo per modificarlo. Inseriscidm-mod all'elenco di elementi.
  • Vogliamo anche modificare la configurazione di lvm per aggiornare il filtro in modo che non ci voglia troppo tempo per scansionare (penso che sia comunque il motivo). Quindi fai sudo nano -w /etc/lvm/lvm.confe cambia la linea con:

filter = ["a /.*/"]

essere:

filtro = ["a | / dev / hd [ab] |", "r /.*/"]

  • Ora dobbiamo creare il primo LVM. Fare sudo vgscan. Dovresti vedere qualcosa del tipo:

Lettura di tutti i volumi fisici. L'operazione potrebbe richiedere del tempo ...
Nessun gruppo di volumi trovato

Nel caso in cui vi siano gruppi di volumi già impostati in esecuzione sudo vgchange -a yper renderli disponibili.

  • Ora corri sudo pvcreate /dev/sda1per configurare la partizione.
  • Adesso corri sudo vgcreate media /dev/sda1 sostituzione del supporto con il nome con cui vuoi che la partizione sia etichettata.
  • Ora esegui la sudo lvcreate -l100%FREE -nvolume mediasostituzione del volume con il nome che desideri venga chiamato. Questo utilizzerà tutto lo spazio libero disponibile nella partizione.
  • Ora dobbiamo formattare il volume in modo che per ext4 lo facciate sudo mke2fs -t ext4 /dev/media/volume.
  • Crea la directory in cui vuoi montare il volume. L'ho fatto sudo mkdir /mnt/media.
  • Montare il volume facendo sudo mount /dev/media/volume /mnt/media. Ora questo è solo per questa sessione. Al riavvio, non verrà rimontato automaticamente. Per fare ciò dobbiamo modificare il /etc/fstabfile. Per fare ciò aggiungere sudo nano /etc/fstabe aggiungere la riga:

/ dev / media / volume / mnt / media ext4 valori predefiniti 0 1

A questo punto potresti iniziare ad aggiungere file al disco, quindi se hai bisogno di cancellare altri dischi che vuoi aggiungere potresti copiarli qui.


Aggiunta di un'altra unità al volume

  • Quindi segui di nuovo i passaggi nel primo punto elenco, ma per la nuova unità.
  • Ora se il nome dell'unità è /dev/sdb1quindi fare sudo vgextend media /dev/sdb1per aggiungerlo al volume.
  • Ora dobbiamo smontare il volume. Per fare questo, fallo sudo umount /dev/media/volume.
  • Ora puoi vedere le statistiche sul tuo volume ora eseguendo sudo vgdisplay. La parte importante è Free PE / Size. Devi sapere quanto spazio puoi aggiungere al volume per il passaggio successivo.
  • Quindi se avessi 150 Gb di spazio lo faresti sudo lvextend -L+150G /dev/media/volume.
  • Ora corri sudo e2fsck -f /dev/media/volumeper controllare il filesystem.
  • Ora corri sudo resize2fs /dev/media/volumeper ridimensionare tutto.
  • Puoi eseguire nuovamente le statistiche e verificare che Free PE / Sizesia sceso a quello che ti aspetti.
  • Rimontare il volume facendo sudo mount /dev/media/volume /mnt/media
  • Risciacquare e ripetere per qualsiasi altra unità.
    Anche qualcosa che ho trovato utile era che avevo i file che dovevo copiare dai dischi all'LVM che avevo creato prima di aggiungere quel disco. Quindi l'ho usato in cp -r -vmodo da copiare i file in modo ricorsivo e utilizzare l'output dettagliato in modo da sapere cosa stava facendo. Un esempio del comando completo sarebbe:

cp -r -v / mnt / temp / Movies / mnt / shared / media

Dov'è /mnt/temp/Moviesla cartella da cui vuoi copiare.


Domanda veloce ... una volta che LVM è stato creato, diciamo con due unità, devi solo completare gli stessi passaggi e aggiungere altre unità in seguito?

@Craig È corretto.
Jacob Schoen,

2
Durante l'emissione di pvcreate / dev / sda1 ottenevo quanto segue: Dispositivo / dev / sda1 non trovato (o ignorato dal filtro). ... come da bug # 136830 del launchpad ... il filtro in lvm.con ["a | / dev / hd [ab] |", "r /.*/"] ... in realtà doveva leggere: [" a | / dev / [hs [d [ab] | "," r /.*/ "] Altrimenti, grazie mille - buona pratica. C.

Ho avuto la stessa domanda grazie per averlo chiesto a Jacob! Mi chiedevo però: come funziona quando si reinstalla Ubuntu. Al momento, dopo un resintall, rimetto a posto i dischi e tutti i miei dati sono ancora lì, come funziona in questa situazione? (Il mio disco di Ubuntu è un disco separato, ma poiché l'intera configurazione di lvm sembra essere memorizzata sul disco di Ubuntu ..)
Maarten Kieft

2
Per aggiungere un'unità puoi anche fare tutto sudo lvextend -l +100%FREE /dev/media/volumeper riempire tutto lo spazio libero.
jcady,

6

Personalmente mi assicurerei che tutte le unità abbiano (circa) le stesse dimensioni, e creino invece un "array" RAID 5 da esse. Lo svantaggio di RAID 5 è che si perde la dimensione di un disco nello spazio su disco disponibile totale. Il vantaggio di RAID 5 è che se uno dei tuoi dischi muore, non perdi nulla e puoi semplicemente sostituire l'HDD rotto.

Se non ti interessa abbastanza perdere i dati per spendere un disco aggiuntivo su di esso, o se stavi pianificando di utilizzare un sacco di dischi di dimensioni diverse che hai già, probabilmente è meglio usare LVM, come dice Murat.


Grazie per il consiglio. In realtà ho alcune unità che sono di dimensioni diverse. Quindi, in pratica, era solo per trovare un uso per loro. Mentre farebbe schifo se avessi perso qualcosa su di loro, non è niente di importante che non potrei sostituire con il minimo sforzo, e il backup di ciò che è importante per me è già stato eseguito il backup. Ma +1 per un suggerimento che può essere utile per gli altri.
Jacob Schoen,

mdadmFTW. È un controller RAID software che supporta cose piacevoli come i livelli 5 e 6. "Il RAID non è un backup" ma è sicuramente molto più facile recuperare da quando un'unità si spegne, basta aggiungerne un'altra, attendere un lungo periodo di tempo mentre si risincronizza e tu sei su e via. Puoi risincronizzare con i dischi live ma è esponenzialmente più lento.
Oli
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.