Aggiunta di dischi con LVM


26

Sono sicuro che questo sia già stato risolto da qualche parte qui prima (ho anche trovato una guida qui , ma sembrava essere un po 'macchiato e incompleto) ma mi chiedevo se qualcuno potesse aiutarmi o almeno indirizzarmi nella giusta direzione per ottenere ciò che sto cercando di fare.

Fondamentalmente ho installato Ubuntu 14.04 (tramite "Guidato - usa l'intero disco e imposta LVM") su un disco da 20 GB. Ho quindi aggiunto fisicamente un disco pulito da 80 GB alla macchina, che rileva come 'sdb'.

Fondamentalmente la mia domanda è, voglio essere in grado di aggiungere / combinare la quantità di spazio allocata dal nuovo disco (80 GB) alla mia macchina in modo che invece di mostrare due unità (20 GB e 80 GB), mostri semplicemente un'unità (100 GB) . Non sono preoccupato per RAID o altri componenti aggiuntivi speciali.

Sono un po 'nuovo su Linux, ma capisco che devo usare LVM per raggiungere questo obiettivo.

Se c'è qualcuno che mi può aiutare o collegarmi a una guida / tutorial utile, sarebbe molto apprezzato! Non sono sicuro che sia necessario, ma ecco il mio output 'fdisk -l' e '/ etc / fstab':

uscita fdisk (abbreviata):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (abbreviato):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

Risposte:


53

Dopo aver esaminato una combinazione di guide casuali ed esercitazioni in rete, sono stato in grado di aggiungere con successo un disco alla mia macchina Ubuntu Server 14.04 e fondamentalmente configurarlo in modo da avere più dischi rigidi che appaiono come una singola unità. Per fare questo, ho usato LVM.

Per aiutare qualcun altro che potrebbe voler fare questo ad un certo punto, posterò qui quello che ho fatto.


Questi passaggi presuppongono che tu stia essenzialmente ricominciando da capo tranne che tu abbia già installato Ubuntu sul tuo computer (tramite "Guidato - usa l'intero disco e imposta LVM"), e fisicamente aggiunto il disco aggiuntivo. Questi passaggi potrebbero funzionare se disponi di dati esistenti sulla macchina, ma non posso dire con certezza se sarebbe sicuro farlo.

Questi comandi presuppongono le seguenti informazioni e variano a seconda della configurazione:

  • Il tuo nuovo disco è 'sdb'
    • Questo può essere trovato eseguendo ls /dev/sd*
  • Che il nome del tuo gruppo di volumi sia 'ubuntu-vg'
    • Questo può essere trovato eseguendo vgdisplay
  • Che il percorso del volume logico sia '/ dev / ubuntu-vg / root'
    • Questo può essere trovato eseguendo lvdisplay
  • Il tuo nuovo disco è di 20 GB
    • Spero che tu sappia quanto è grande il disco.

  1. Installa Logical Volume Manager (potrebbe essere necessario o meno eseguire questa operazione).

    sudo apt-get install system-config-lvm
    
  2. Converti il ​​tuo nuovo disco in un volume fisico (in questo caso, il nuovo disco è 'sdb').

    sudo pvcreate /dev/sdb
    
  3. Aggiungi il volume fisico al gruppo di volumi tramite 'vgextend'.

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Allocare il volume fisico a un volume logico (estendere la dimensione del volume in base alla nuova dimensione del disco).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Ridimensiona il file system sul volume logico in modo che utilizzi lo spazio aggiuntivo.

    sudo resize2fs /dev/ubuntu-vg/root
    

Questo dovrebbe farlo. Cinque semplici passaggi! Inoltre, non è necessario riavviare. Basta eseguire df -he il tuo nuovo spazio su disco dovrebbe essere visualizzato correttamente, così come qualsiasi webapp che stai eseguendo raccoglierà la nuova quantità di spazio su disco.


2
Puoi usare lvextend -l +100%FREEl'estensione per usare tutto lo spazio libero, invece dilvextend -L+20G
nathancahill

È possibile utilizzare cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionsper trovare il nome, ad esempio sdb, di un'unità appena installata.
O. Jones,

1
Questo dovrebbe funzionare; tuttavia, avverto di non utilizzare un intero disco come volume logico. Invece, raccomando di partizionare il disco e creare LVM all'interno di una o più partizioni su quel disco. Questa procedura offre flessibilità in futuro, se si desidera o si necessita di spazio non LVM in futuro. Potrebbe anche funzionare meglio se si esegue uno strumento che presuppone che tutti i dischi siano partizionati. Non conosco esempi importanti di tali strumenti, ma non si sa mai quali ipotesi potrebbero sorgere in alcune utility casuali che si potrebbero desiderare o dover eseguire in futuro.
Rod Smith,

Dal commento di Rod Smith, ciò significa che meccanicamente devi prima eseguire fdisk sul tuo / dev / sdb, allocare tutto lo spazio su una nuova partizione, impostare la partizione come "Linux LVM" (tipo 8e), quindi sostituire tutto il / dev voci / sdb nelle istruzioni con / dev / sdb1
mtalexan,

ottima guida. il controllo dei dischi disponibili è comunque ben fatto lsblk. Test su RHEL7 però.
erikbwork,

1

Ho tentato di installare un disco LVM di grandi dimensioni in 14.04 64 bit Desktop con unità SATA da 3X500GB. Errore durante l'installazione con errori del dispositivo. Ho trovato un collegamento che afferma che le unità oltre 256G sono il limite delle estensioni, ma non so se questo si applica qui.

Ho anche tentato di configurare RAID (RAID 1 / boot 300MB, RAID 0 swap 2GB e / RAID 5 tutto il resto. Altri errori.

$ sudo apt-get install -y mdadm

Dall'opzione "Prova Ubuntu senza installazione" di Live CD è ancora possibile installare MDADM. Ancora niente fortuna. Il rilevamento GParted sembra essere leggermente ri-modificato e non rileva alcuni volumi in LVM o alcuni volumi in RAID / dev / mdX a meno che non sia già stato assegnato un filesystem a tutto;

$ sudo mkfs.etx4 / dev / md2

Inoltre, le configurazioni RAID presentano ora ancora più sfide. Sembra che MDADM non venga più aggiunto all'elenco dei pacchetti / target / usr / sbin dell'installazione, e installarlo lì in modo che l'installazione inizi al riavvio del tutto sarebbe un enorme calvario, per il quale semplicemente non ho il tempo o la pazienza , solo per scoprire che qualche ora in più di lavoro in seguito non è ancora stata avviata su queste nuove schede madri con violazione delle prestazioni di Windows 8 (UEFI) per un problema di GRUB.

L'installazione di LVM da Ubiquity funziona benissimo, fino a quando non è necessario aggiungere altri dischi alla partizione / (root, a quel punto ci sono ottime possibilità di far saltare l'intera installazione. Le operazioni di ridimensionamento di LVM continuano a fallire e si finisce nuovamente al punto 1 .

Provando il programma di installazione del server 14.04 Partman salva la giornata.

Avviato il programma di installazione del server 14.04, ha identificato bene le architetture, ha installato MDADM, grub è stato installato su tutti e 3 i dischi e tutto funziona alla grande.

3 dischi (SATA da 500 GB)

3 partizioni ciascuno. Tutte le partizioni impostate sul tipo Raid Linux in fdisk.

RAID 1 / boot, partizioni da 300 MB, scambio RAID 0, partizioni da 2 GB e RAID 5 /, 500 GB (qualunque cosa rimanga.)

$ sudo fdisk -l
ID avvio avvio blocchi dispositivo ID sistema
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid autodetect

ID blocco avvio avvio blocchi sistema
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd rilevamento automatico RAID

ID blocco avvio avvio blocchi sistema
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 fd Rilevamento automatico RAID
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Versione: 1.2
Tempo di creazione: mer ago 6 13:03:01 2014
Livello RAID: raid1
Dimensione array: 306880 (299,74 MiB 314,25 MB)
Dimensione Dev usato: 306880 (299,74 MiB 314.25 MB)
Dispositivi RAID: 3
Dispositivi totali: 3
Persistenza: il superblocco è persistente

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

Dispositivi attivi: 3
Dispositivi funzionanti: 3
Dispositivi guasti: 0
Dispositivi di riserva: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

Numero Raid secondario minore Stato dispositivo 0 8 1 0 sync / dev / sda1 attivi 1 8 17 1 sync / dev / sdb1 attivi 2 8 33 2 sync / dev / sdc1 attivi

$ sudo mdadm -D / dev / md1 / dev / md1: Versione: 1.2 Tempo di creazione: mer 6 ago 13: 13::31 2014 Livello raid: raid0 Dimensione array: 6289920 (6,00 GiB 6,44 GB) Dispositivi raid: 3 Totale dispositivi: 3 Persistenza: il superblocco è persistente

Tempo di aggiornamento: Mer 6 ago 13:03:31 2014 Stato: pulito Dispositivi attivi: 3 Dispositivi funzionanti: 3 Dispositivi guasti: 0 Dispositivi di riserva: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

Numero Raid minore minore Stato dispositivo 0 8 2 0 sync / dev / sda2 attivi 1 8 18 1 sync / dev / sdb2 attivi 2 8 34 2 sync / dev / sdc2 attivi

$ sudo mdadm -D / dev / md2 / dev / md2: Versione: 1.2 Tempo di creazione: mer 6 ago 13: 13::50 2014 Livello RAID: raid5 Dimensione array: 971699200 (926,68 GiB 995,02 GB) Dimensione Dev usato: 485849600 (463.34 GiB 497.51 GB) Dispositivi RAID: 3 Dispositivi totali: 3 Persistenza: il superblocco è persistente

Tempo di aggiornamento: Lun 11 ago 19:54:49 2014 Stato: attivo Dispositivi attivi: 3 Dispositivi funzionanti: 3 Dispositivi guasti: 0 Dispositivi di riserva: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

Numero Raid minore minore Stato dispositivo 0 8 3 0 sync / dev / sda3 attivi 1 8 19 1 sync / dev / sdb3 attivi 3 8 35 2 sync / dev / sdc3 attivi

$ sudo cat / etc / fstab
'# / etc / fstab: informazioni sul file system statico.'
'#'
'# Usa' blkid 'per stampare l'identificatore univoco universale per un'
'# dispositivo; questo può essere usato con UUID = come un modo più robusto per nominare i dispositivi '
' # che funziona anche se i dischi vengono aggiunti e rimossi. Vedi fstab (5). '
'#'
'#'
'# / era acceso / dev / md126 durante l'installazione'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 errori = remount-ro 0 1
'# / avvio era attivo / dev / md125 durante l'installazione '
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / impostazioni predefinite boot ext4 0 2
'
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a none swap sw 0 0

Adesso corre come un purosangue.

Mi viene in mente che se stai usando hardware a 32 bit questo non funziona per te, ma penso che a questo punto il soft RAID potrebbe essere una scelta peggiore del solo LVM a disco singolo per qualcosa di più piccolo e JBOD per qualcosa di più vecchio di questo comunque .

Grazie.


Partman salva la giornata. Avviato il programma di installazione del server 14.04, ha identificato bene le architetture, ha installato MDADM e tutto funziona alla grande. Ecco un riepilogo della configurazione nel caso sia utile ;.
spyderdyne,

1

Questa tecnica ha funzionato per me su un SSD primario da 128 GB e su un'estensione per HDD da 2 TB.
Se si verifica un problema con "ubuntu-vg" quando si aggiunge un volume fisico al gruppo di volumi, provare a immettere il comando

sudo vgdisplay 

In genere il formato del nome del gruppo di volumi è NAME_OF_COMPUTER-vg, quindi se il tuo sistema viene nominato il SKYNETtuo gruppo di volumi verrebbe probabilmente nominato

SKYNET-vg
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.