[LugBS] RAID1: c'è (almeno) una cosa che non capisco
Diego Guella
diego.guella a sircomtech.com
Lun 18 Apr 2016 08:34:48 UTC
Premessa: il RAID, in generale, può lavorare in due "modalità": RAID
dell'intero disco, con "supporto" delle partizioni, o RAID delle singole
partizioni.
Non sono sicuro della modalità migliore in cui lavorare, ma per ora io
ho visto usata molto più spesso la modalità "RAID delle singole
partizioni".
Debian, in fase di installazione, quando specifichi un RAID ti crea un
"RAID delle singole partizioni", anche se ricordo che era un
procedimento abbastanza complicato (ora è un pò che non lo faccio,
perchè le ultime installazioni che ho fatto erano spesso VPS o VM).
Il 16/04/2016 15:50, Luca Coianiz ha scritto:
> Allora... ho ricostruito il povero pinguino, acciaccato da una caduta di
> tensione mentre non avevo l'UPS.
> Siccome uso sempre RAID1, almeno uno dei due HD conteneva i dati che mi
> interessava ripristinare... e siccome il box che sto usando in questo
> momento ha
> due soli canali SATA, ho dovuto iniziare con un HD ed il CD-ROM da cui
> stavo
> facendo la netinstall, aggiungendo il secondo HD al RAID1 in seguito,
> dopo aver
> staccato il CD-ROM.
>
> Ora, stiamo parlando di un sistema "legacy" con due dischi da 1 TB
> Hitachi
> identici, per cui MBR e niente "scherzi da EFI".
> L'installazione sul singolo HD, visto come RAID1 degraded, ha funzionato
> perfettamente.
> Al che ho "aggiunto" l'altro:
> 1) MBR: sda -> file -> sdb via dd
Primo "errorino": così facendo hai duplicato, oltre alla tabella delle
partizioni, l'ID del disco.
Questo potrebbe causare problemi in alcuni casi.
Meglio ricreare la sola tabella delle partizioni (mi sembra ci siano
anche comandi appositi di fdisk o gparted per questo).
> 2) mdadm: add di sdb all'md0,
> che ha fatto il suo sync ed ora la situazione è la seguente:
>
> root a home:/usr/local/sbin# mdadm --detail /dev/md0
> /dev/md0:
> Version : 1.2
> Creation Time : Thu Apr 7 19:00:19 2016
> Raid Level : raid1
> Array Size : 974555136 (929.41 GiB 997.94 GB)
> Used Dev Size : 974555136 (929.41 GiB 997.94 GB)
> Raid Devices : 2
> Total Devices : 2
> Persistence : Superblock is persistent
>
> Intent Bitmap : Internal
>
> Update Time : Sat Apr 16 14:52:59 2016
> State : clean
> Active Devices : 2
> Working Devices : 2
> Failed Devices : 0
> Spare Devices : 0
>
> Name : home:0 (local to host home)
> UUID : 7f4567ba:f11083ad:f56eb5aa:f8d20bd8
> Events : 54216
>
> Number Major Minor RaidDevice State
> 0 8 1 0 active sync /dev/sda1
> 2 8 16 1 active sync /dev/sdb
Hai aggiunto l'intero disco /dev/sdb, a un raid1 che conteneva la sola
partizione /dev/sda1.
Direi proprio che questo è un errore da sistemare, il prima possibile:
potrebbe venire riscritto l'MBR di /dev/sdb con dati che non sono roba
da MBR.
Ti consiglio di:
- rimuovere /dev/sdb dall'array:
mdadm /dev/md0 --fail /dev/sdb
mdadm /dev/md0 --remove /dev/sdb
- azzerare almeno l'MBR di sdb
dd if=/dev/zero of=/dev/sdb bs=512 count=1
- ri-creare le partizioni su sdb, uguali a quelle di sda, non usando il
metodo di dd
- aggiungere il solo sdb1 all'array
mdadm /dev/md0 -a /dev/sdb1
> Sono "ragionevolmente convinto" che il RAID, inteso come sda1+sdb1 stia
> funzionando normalmente, ho solo il dubbio che stia usando solo sda5 e
> non sdb5
> come swap.
Ricorda: al momento tu hai il RAID1 di sda1+sdb, non sda1+sdb1.
mdadm ti ha permesso di fare questo perchè sdb è più grande di sda1,
quindi contiene abbastanza byte per fare il mirror di sda1. Gli ultimi
byte del device non verranno usati.
Se vuoi fare il raid di swap (dovresti), devi:
-disattivare swap
-creare un'altro array (md1), con le sole sda5 sdb5
-creare spazio di swap su md1 con mkswap
-attivare swap su md1
Questo dopo aver sistemato il mescolotto tra raid di partizioni e raid
di interi device.
Per completare il discorso, ci sarebbe da testare il boot da sdb, ma per
quello devi districarti nel grub-setup o grub-install ...
Il GRUB attuale supporta il boot di un device raid1.
Maggiori informazioni sulla lista
Lug
|