Archivi Mensili: novembre 2013

RAID software su Linux

raid1
Definizione (da Wikipedia)
“Un RAID, acronimo di Redundant Array of Inexpensive Disks, insieme ridondante di dischi economici (oppure Redundant Array of Independent Disks, in italiano insieme ridondante di dischi indipendenti), è un sistema informatico che usa un gruppo di dischi rigidi per condividere o replicare le informazioni. I benefici del RAID sono di aumentare l’integrità dei dati, la tolleranza ai guasti e le prestazioni, rispetto all’uso di un disco singolo. Nella sua implementazione originaria il fattore chiave era l’abilità di combinare parecchi dischi a basso costo ed obsoleti per rendere il sistema complessivamente migliore di un disco di ultima generazione per capacità, affidabilità e velocità.”

Scopo
Creare un mirror (raid1) di 2 dischi e usare in parallelo e contemporaneamente 2 dischi. Ciò che viene scritto sul primo disco, viene scritto anche sil secondo, così, nel caso in cui uno dei 2 si dovesse guastare, tutto continuerà a funzionare per via della ridondanza.

Questo può poi essere sostituito con un nuovo, quando inserito nel nostro “pool”, si avvierà la sincronizzazione.
I dischi del pool possono essere n, non necessariamente 2.
Questo non prevenie però la cancellazione accidendale o sovrascrizione di un file: la stessa operazione avviene istantaneamente su tutti i dischi
dell’array.
Per recuperare un file così perduto, bisongerà fare ricorso a una copia di backup.

Requisiti
2 dischi o device liberi di uguale dimensione (si possono usare sia dischi non partizionati, sia partizioni o device. Se i dischi fisici hanno dimensione diversa, creare 2 partizioni della medesima dimensione).
Per preparare le partizioni, usare fdisk da riga di comando oppure palimsest o (il suo rimpiazzo) gnome-disks da interfaccia grafica.

Installazione
mdadm è lo strumento standard di gestione del RAID disponibile su Linux.
Si trova in qualsiasi distribuzione moderna. Per installarlo sul nostro sistema si può utilizzare il comando:

sudo apt-get install mdadm

Installerà anche il pacchetto postfix per comunicare via email eventuali problemi del raid.

Creazione
Ora possiamo creare il nostro RAID, la sintassi è la seguente:

mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Questo creerà il dispositivo virtuale /dev/md0 creato da due dispositivi a blocchi reali /dev/sdb1 e /dev/sdc1, configurandolo in modalità mirror.

Creato il raid, andrà creato sopra un filesystem, anche se i 2 device non sono ancora sincronizzati.
Per verificare lo stato della sincronizzazione lanciare il comando:

cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
488253440 blocks super 1.2 512K chunks 2 far-copies [2/2] [UU]
[>....................] resync = 0.3% (1625024/488253440) finish=169.9min speed=47730K/sec

La ricostruzione viene fatta usando la banda di I/O non utilizzata. Quindi, il sistema dovrebbe essere ancora abbastanza reattivo.

Creazione il file di configurazione mdadm.conf
All’avvio il sistema esegue una scansione di tutti i dispositivi e attiva automaticamente i raid, quindi non è necessario avere un file mdadm.conf configurato, ma è comunque consigliabile scrivere la configurazione Raid, in Debian questo file si trova in /etc/mdadm/mdadm.conf e il modo più semplice per configurarlo è quello di utilizzare il seguente comando:

sudo mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf

Ad esempio il file contiene:

ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=mint-desktop:0 UUID=048c40d4:16d71dda:1c3ba4ca:8babae51
devices=/dev/sdb1,/dev/sdc1

Creare un filesystem sul metadevice Raid
Formatteremo ora il dispositivo, mentre la ricostruzione è in esecuzione.
Inoltre è possibile montarlo e usarlo mentre la ricostruzione è in esecuzione.
E’ possiible scegliere qualunque tipo di filesystem.

sudo mkfs.ext4 /dev/md0

Tale operazione è terminata senza errori in pochi secondi anche se il mirror è ancora in ricostruzione.
Si crea il mount point e monto il nuovo filesystem su di esso con:

sudo mkdir /HOMERAID
sudo mount /dev/md0 /HOMERAID
sudo chmod 777 /HOMERAID # I want all users to be able to work there
sudo chmod +t /HOMERAID #But i want that only the owner can delete their contents.
tune2fs -m 1 /dev/md0 #reserve just 1% of the disk for maintenance

E come ultima si aggiunge una riga al file /etc/fstab, in modo che il raid venga montato automaticamente in /HOMERAID durante il processo di avvio

echo "/dev/md0 /HOMERAID/ ext4 defaults 1 2" >> /etc/fstab

Annunci

Markdown: un semplice modo per prendere appunti

Il Markdown è una sintassi ideata da John Gruber che, in parole povere, permette di formattare il testo lasciando che rimanga solo testo. I motivi per imparare questa sintassi sono tanti e qualcuno molto sinteticamente ha detto che «è un modo per scrivere file di solo testo e convertirlo facilmente in altri formati».

Il mio modo di prendere appunti, è creare un semplice file di testo dando al file un nome abbastanza parlante con estensione txt o md.
Per recuperare un appunto è sufficiente una ricerca con GREP sulla intera cartella degli appunti.

Di seguito in semplice esempio di conversione di un file di testo scritto usando la sintassi markdown (molto intuitiva) in html e in pdf.

Un buon programma per iniziare a imparare la sintassi è ReText (presente nei repository Ubuntu).

Schermata del 2013-10-24 11:13:43

Schermata del 2013-11-02 15:00:16