Installazione avanzata

RAID software

Il sistema RAID è un sistema per configurare diversi dischi fissi in modo che agiscano come un unico grande disco, riducendo le probabilità di perdite di dai nel caso in cui un disco si rompa. Il sistema RAID può essere implementato sia via software (in cui il sistema operativo è a conoscenza dei dischi e li gestisce tutti) sia via hardware (tramite un sistema di controllo che fa credere al sistema operativo di avere un solo disco).

Il RAID software incluso nelle attuali versioni di Linux (e Ubuntu) è basato sul driver mdadm e funziona perfettamente, molto meglio di alcuni cosiddetti controller RAID hardware. In questa sezione viene spiegato come installare Ubuntu Server Edition utilizzando due partizioni RAID1 su due dischi fissi, uno utilizzato per / e l'altro come swap.

Partizionamento

Seguire i passi dell'installazione fino a giungere a Partizionamento dei dischi, quindi:

  1. Selezionare Manuale come metodo di partizionamento.

  2. Selezionare il primo disco fisso e acconsentire alla domanda Creare una nuova tabella delle partizioni sul dispositivo.

    Ripetere questo passo per ogni disco da inserire nell'array RAID.

  3. Selezionare lo spazio libero sul primo disco e quindi selezionare Creare una nuova partizione.

  4. Selezionare la Dimensione della partizione: questa partizione sarà quella di swap e come regola generale, la dimensione della partizione di swap è solitamente il doppio della memoria RAM. Digitare la dimensione della partizione, scegliere Primaria e quindi Inizio.

    [Nota]

    A swap partition size of twice the available RAM capacity may not always be desirable, especially on systems with large amounts of RAM. Calculating the swap partition size for servers is highly dependent on how the system is going to be used.

  5. Select the "Use as:" line at the top. By default this is "Ext4 journaling file system", change that to "physical volume for RAID" then "Done setting up partition".

  6. Per la partizione /, selezionare spazio libero sul primo drive e quindi Crea una nuova partizione.

  7. Utilizzare il restante spazio libero sul dispositivo e scegliere Continua, quindi Primaria.

  8. As with the swap partition, select the "Use as:" line at the top, changing it to "physical volume for RAID". Also select the "Bootable flag:" line to change the value to "on". Then choose "Done setting up partition".

  9. Ripetere i passi dal 3 al numero 8 per gli altri dischi e partizioni.

Configurare RAID

Impostate le partizioni è quindi possibile configurare gli array:

  1. Nella sezione di partizionamento dei dischi, selezionare Configurare il software RAID.

  2. Selezione per scrivere le modifiche sul disco.

  3. Choose "Create MD device".

  4. Per questo esempio, selezionare RAID1. Nel caso si stia utilizzando una diversa configurazione, scegliere la tipologia adatta (RAID0 RAID1 RAID5).

    [Nota]

    Per poter usare il RAID5 sono necessari almeno tre dischi. Per RAID0 oppure RAID1 solo due.

  5. Inserire il numero dei dispositivi attivi (active), 2, oppure il numero totale dei dischi disponibili per l'array, quindi selezionare Continua.

  6. Inserire il numero dei dispositivi di scorta (spare), 0 come valore predefinito, quindi selezionare Continua.

  7. Scegliere la partizione da usare: solitamente sda1, sdb1, sdc1, ecc... I numeri e le lettere solitamente corrispondono a diversi dischi fissi.

    Per la partizione di swap scegliere sda1 e sdb1. Selezionare Continua per andare al passo successivo.

  8. Ripetere i passi dal tre al sette per la partizione / scegliendo sda2 e sdb2.

  9. Una volta completato tutto, selezionare Terminare.

Formattare

Dovrebbe essere visibile un elenco di dischi fissi e dispositivi RAID. Il passo successivo consiste nel formattare e impostare il punto di mount per i dispositivi RAID: tali dispositivi sono da considerare come dei normali dischi locali.

  1. Select "#1" under the "RAID1 device #0" partition.

  2. Scegliere Usato come:, quindi area di swap e infine Preparazione di questa partizione completata.

  3. Next, select "#1" under the "RAID1 device #1" partition.

  4. Choose "Use as:". Then select "Ext4 journaling file system".

  5. Selezionare Punto di mount e scegliere / - il file system root. Modificare se necessario le altre opzioni e selezionare Preparazione di questa partizione completata.

  6. Selezionare Terminare il partizionamento e scrivere i cambiamenti sul disco.

Se è stato scelto di posizionare la partizione di root nell'array RAID, il programma di installazione chiederà se avviare il sistema in modalità degraded. Per maggiori informazioni, consultare la sezione chiamata «RAID degraded».

Il processo di installazione continuerà normalmente.

RAID degraded

Durante l'arco di vita di un computer si potrebbero verificare dei danni ai dischi. Quando si verifica un'eventualità come questa, usando il RAID software, il sistema operativo abilita la modalità degraded per l'array.

Se l'array è degradato ("degraded") a causa di dati rovinati, il sistema operativo, in modo predefinito, si avvierà in initramfs dopo 30 secondi. Una volta avviato, è possibile, entro 15 secondi, continuare il normale avvio o tentare un ripristino manuale. L'avvio in initramfs potrebbe non essere consigliato, soprattutto se si opera sul computer da remoto. Avviare il sistema in un array "degraded" può essere svolto in diversi modi:

  • L'utilità dpkg-reconfigure può essere usata per configurare il comportamento predefinito e durante l'elaborazione verranno poste delle domande relative a impostazioni addizionali per l'array come monitoraggio, avvisi via email, ecc... Per riconfigurare mdadm, digitare il seguente comando:

    sudo dpkg-reconfigure mdadm
    
  • Il processo dpkg-reconfigure mdadm modificherà il file di configurazione /etc/initramfs-tools/conf.d/mdadm. Tale file presenta il vantaggio di pre-configurare il comportamento del sistema e può essere modificato a mano:

    BOOT_DEGRADED=true
    
    [Nota]

    Il file di configurazione può essere scavalcato utilizzando un argomento per il kernel.

  • È possibile avviare il sistema in un array "degraded" utilizzando anche un argomento per il kernel:

    • When the server is booting press Shift to open the Grub menu.

    • Press e to edit your kernel command options.

    • Press the down arrow to highlight the kernel line.

    • Aggiungere bootdegraded=true alla fine della riga.

    • Premere Ctrl+x per avviare il sistema.

Una volta avviato il sistema, è possibile riparare l'array (consultare la sezione chiamata «Manutenzione RAID») o copiare i dati importanti in un altro computer.

Manutenzione RAID

L'utilità mdadm può essere usata per visualizzare lo stato dell'array, aggiungere un disco all'array, rimuovere dischi, ecc...

  • Per visualizzare lo stato di un array, da un terminale digitare:

    sudo mdadm -D /dev/md0
    

    L'opzione -D indica a mdadm di stampare informazioni dettagliate riguardo il device /dev/md0. Sostituire /dev/md0 con il device RAID appropriato.

  • Per visualizzare lo stato di un disco in un array:

    sudo mdadm -E /dev/sda1
    

    L'output è molto simile al comando mdadm -D, regolare /dev/sda1 per ogni disco.

  • Se un disco si rompe e deve essere rimosso da un array:

    sudo mdadm --remove /dev/md0 /dev/sda1
    

    Modificare /dev/md0 e /dev/sda1 con il device e il disco RAID appropriati.

  • Per aggiungere un nuovo disco:

    sudo mdadm --add /dev/md0 /dev/sda1
    

Qualche volta può succedere che un disco imposti il suo stato come difettoso ("faulty"), anche se non presenta alcun malfunzionamento hardware. Può essere utile in questi casi rimuovere e aggiungere il disco all'array: verrà così nuovamente sincronizzato con l'array. Se il disco non riesce a sincronizzarsi con l'array, può indicare che il dispositivo sia effettivamente difettoso.

Il file /proc/mdstat contiene anche informazioni utili riguardo i device RAID del sistema:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda1[0] sdb1[1]
      10016384 blocks [2/2] [UU]
      
unused devices: <none>

Il seguente comando è utile per controllare lo stato di un drive di sincronizzazione:

watch -n1 cat /proc/mdstat

Premere Ctrl+C per fermare il comando watch.

Se è necessario sostituire un disco difettoso, una volta sostituito e sincronizzato, è necessario reinstallare grub. Per installare grub nel nuovo disco, procedere come segue:

sudo grub-install /dev/md0

Sostituire /dev/md0 con il nome dell'array appropriato.

Risorse

L'argomento degli array RAID è molto complesso e vasto poiché sono disponibili molti modi diversi di configurare un array RAID. Per maggiori informazioni, consultare i seguenti collegamenti:

Logical Volume Manager (LVM)

Logical Volume Manger, o LVM, consente agli amministratori di creare volumi logici da uno o più dischi fissi. I volumi LVM possono essere creati sia sulle partizioni RAID software sia sulle partizioni normali presenti su un singolo disco. I volumi possono essere estesi, garantendo un'alta flessibilità al sistema nel caso cambino le necessità.

Panoramica

Purtroppo, la potenza e la flessibilità di LVM, comportano maggiori complicazioni. Prima di tutto è quindi necessario introdurre la terminologia adatta.

  • Gruppo di volumi (VG): contiene uno o più volumi logici (LV).

  • Volume logico (LV): è simile a una partizione in un sistema non LVM. Più volumi fisici (PV) possono creare un LV sul quale è presente il vero file system (ext3, Xfs, Jfs, ecc...).

  • Volume fisico(PV): il disco rigido o la partizione RAID software. Il gruppo di volumi può essere esteso aggiungendo più PV.

Installazione

Come esempio, in questa sezione, viene descritto come installare Ubuntu Server Edition con /srv montato come volume LVM. Durante l'installazione un solo volume fisico (PV) farà parte del gruppo di volumi (VG). Un altro PV verrà aggiunto dopo l'installazione come dimostrazione delle funzionalità di estensione di un VG.

Sono disponibili diverse opzioni per l'installazione LVM, Guidato - usare l'intero disco e impostare LVM consente di assegnare una parte dello spazio disponibile a LVM, Guidato - usare l'intero disco e impostare LVM cifrato o manuale. Attualmente l'unico metodo per configurare un sistema affinché utilizzi sia partizioni LVM che normali durante l'installazione è quello manuale.

  1. Seguire i passi dell'installazione fino a giungere a Partizionamento dei dischi, quindi:

  2. Alla finestra Partizionamento dei dischi scegliere Manuale.

  3. Selezionare il disco fisso e nella schermata successiva scegliere confermare Creare una nuova tabella delle partizioni sul dispositivo.

  4. Creare le partizioni /boot, swap e / con il file system di propria scelta.

  5. Per la partizione /srv LVM, creare una nuova partizione Logica e modificare Usato come in volume fisico per LVM, quindi selezionare Preparazione di questa partizione completata.

  6. Selezionare Configurare il Logical Volume Manager in alto e scegliere per scrivere le modifiche sul disco.

  7. Per il Passo di configurazione di LVM nella schermata successiva, scegliere Creare gruppi di volumi. Inserire un nome per il VG come vg01 o qualche cosa più descrittivo. Fatto ciò, selezionare la partizione configurata per LVM e scegliere Continua.

  8. Sempre nella schermata Passo di configurazione di LVM, selezionare Creare volume logico, selezionare il gruppo di volumi appena creato e inserire un nome per il nuovo LV, per esempio srv dato che verrà utilizzato come punto di mount per quella partizione. Scegliere la dimensione, che in questo caso può essere l'intera partizione dato che è possibile estenderla o ridurla, scegliere Termina per tornare alla schermata Partizionamento dei dischi.

  9. Ora aggiungere il file system al nuovo LVM. Selezionare la partizione LVM VG vg01, LV srv, o in base al nome inserito, e scegliere Usato come. Impostare un file system selezionando /srv come punto di mount e una volta completato, selezionare Preparazione di questa partizione completata.

  10. Infine, selezionare Terminare il partizionamento e scrivere i cambiamenti sul disco, confermare le modifiche e continuare l'installazione.

Per visualizzare informazioni riguardo LVM sono disponibili diverse utilità:

  • vgdisplay: visualizza informazioni riguardo i gruppi di volumi.

  • lvdisplay: visualizza informazioni riguardo i volumi logici.

  • pvdisplay: visualizza informazioni riguardo i volumi fisici.

Estendere i gruppi di volumi

Utilizzando l'esempio di srv come volume LVM, in questa sezione viene indicato come aggiungere un secondo disco fisso, come creare un volume fisico (PV), come aggiungerlo al gruppo di volumi (VG), come estendere il volume logico srv e infine come estendere il file system. In questo esempio viene aggiunto un secondo disco fisso chiamato /dev/sdb. Attenzione: assicurarsi di non avere già un device /dev/sdb prima di eseguire i comandi qui presentati, si potrebbero perdere i dati se eseguiti su un disco non vuoto. In questo esempio il disco fisso viene usato interamente come volume fisico (è possibile creare partizioni e usarle come diversi volumi fisici).

  1. Creare il volume fisico. In un terminale digitare:

    sudo pvcreate /dev/sdb
    
  2. Estendere il gruppo di volumi (VG):

    sudo vgextend vg01 /dev/sdb
    
  3. Usare vgdisplay per trovare gli extent fisici (PE) liberi (PE/dimensione = dimensione da allocare). In questo esempio viene considerata una dimensione di 511 PE (equivalenti a 2GB con una dimensione di PE di 4MB) e viene utilizzato tutto lo spazio libero. Utilizzare i PE in base alle proprie disponibilità.

    Il volume logico (LV) può essere esteso in diversi modi. In questo esempio viene considerato il caso di utilizzo del PE per estendere il LV:

    sudo lvextend /dev/vg01/srv -l +511
    

    L'opzione -l consente di estendere il LV attraverso l'uso di PE. L'opzione -L invece, consente di estendere il LV utilizzando megabyte, gigabyte, terabyte, ecc...

  4. Even though you are supposed to be able to expand an ext3 or ext4 filesystem without unmounting it first, it may be a good practice to unmount it anyway and check the filesystem, so that you don't mess up the day you want to reduce a logical volume (in that case unmounting first is compulsory).

    I seguenti comandi sono pensati per un file system ext3 o ext4. Se si sta utilizzando un altro file system potrebbero essere disponibili altri programmi.

    sudo umount /srv
    sudo e2fsck -f /dev/vg01/srv
    

    L'opzione -f di e2fsck forza il controllo anche se il file system sembra non avere problemi.

  5. Infine, ridimensionare il file system:

    sudo resize2fs /dev/vg01/srv
    
  6. Montare la partizione e controllarne la dimensione.

    mount /dev/vg01/srv /srv && df -h /srv
    

Risorse