----------------------------------------------------------------------------- Operazioni preliminari (l'analogo nel mondo QEMU dell'aggiunta di due nuovi dischi ad un computer). ----------------------------------------------------------------------------- 1) Inizializzazione delle immagini disco /opt/qemu/usr/local/bin/qemu-img create -f qcow /tmp/hdb.qcow 100M /opt/qemu/usr/local/bin/qemu-img create -f qcow /tmp/hdd.qcow 100M 2) Predisposizione dello script di avvio Si consiglia di effettuare una copia dello script goqemu.sh o runqemu.sh e di lavorare su questa. Editare lo script per aggiungere "-hdb /tmp/hdb.qcow -hdd /tmp/hdd.qcow" alla riga in cui viene lanciato qemu Attenzione: non lanciare più di una vm sugli stessi dischi! ----------------------------------------------------------------------------- Avvio del sistema e configurazione iniziale ----------------------------------------------------------------------------- 3) Avvio della VM Durante l'avvio si può constatare se il BIOS riporta la presenza dei nuovi dischi Dal S.O., per verificare l'esistenza dei dischi, ad esempio: ls -l /proc/ide --> dovrebbe riportare tra gli altri hdb e hdd ls -l /proc/ide/hdb --> riporta i parametri esaminabili del disco cat /proc/ide/hdb/capacity --> mostra la capacità in blocchi di 512 byte 4) Partizionamento dei dischi fdisk /dev/hdb -- Comandi essenziali: m: help p: print partition table n: new partition w: write and quit q: quit without saving -- Guida alla creazione di una nuova partizione Primo parametro richiesto: tipo di partizione, scegliere p per primaria Secondo parametro richiesto: numero di partizione, andare in ordine da 1 a 4 Terzo parametro richiesto: primo cilindro, digitare invio per il primo disponibile Quarto parametro richiesto: ultimo cilindro, usare ad es. la metà del totale per realizzare una prima partizione e poi per la seconda partizione accettare il default (ultimo cilindro) 5) Verifica e riproduzione del partizionamento Per verificare il contenuto di una partition table: fdisk -l /dev/hdb Per effettuare un dump "machine readable" della p.t. e riprodurla su un altro disco: sfdisk -d /dev/hdb | sfdisk /dev/hdd 6) Definizione di un metadevice RAID1 composto di due delle partizioni precedentemente create Parametri: C=Crea -l=livello -n=num_dischi mdadm -C -l 1 -n 2 /dev/md0 /dev/hdb1 /dev/hdd1 Per verificare il funzionamento del device: cat /proc/mdstat 7) Formattazione del filesystem mkfs.ext3 /dev/md0 Suggerimento aggiuntivo: man tune2fs 8) Mount mkdir /newdisk mount /dev/md0 /newdisk Verifica con: df ----------------------------------------------------------------------------- Configurazione per automatizzare l'avvio del RAID ed il mount al reboot ----------------------------------------------------------------------------- 9) Generazione del file di configurazione per mdadm E' richiesta una direttiva DEVICE che specifichi quali partizioni sono candidate all'inclusione in volumi RAID: echo DEVICE /dev/hd[bd][1-9] > /etc/mdadm/mdadm.conf E' richiesta una direttiva ARRAY per ciascun volume, che riporti livello, numero di dischi, ed UUID da cui riconoscere i dischi membri; mdadm può generare queste righe automaticamente per i volumi già attivi: mdadm --detail --scan >> /etc/mdadm/mdadm.conf Verifica del file generato: cat /etc/mdadm/mdadm.conf 10) Modifica del file fstab per automatizzare il mount vi /etc/fstab, inserendo la riga: /dev/md0 /newdisk ext3 defaults 0 0 ----------------------------------------------------------------------------- Verifica del funzionamento ----------------------------------------------------------------------------- 11) Riavvio Nella VM: reboot Per verificare se il volume raid è attivo: cat /proc/mdstat Per verificare se la partizione è montata: df 12) Test della resistenza del RAID1 Nella VM: halt Dall'host: rimozione di un disco da qemu cancellando la direttiva "-hdb /tmp/hdb.qcow" dallo script di avvio Avvio della VM Per verificare se il volume raid è attivo: cat /proc/mdstat (osservare che manca un componente ma il raid è attivo) Per verificare se la partizione è montata: df