View Full Version : RAID, post lunghino...........
stefanoxjx
23-09-2006, 16:40
Sto provando ormai da un giorno e mezzo a mettere in piedi un raid 1 software, ma nonostante abbia cercato di seguire fedelmente più how-to con nessuno sono riuscito a spuntarla.
Vi espongo cosa ho fatto e spero di trovare qualche anima buona che mi dica dove sto sbagliando :cry:
Premettendo che il tutto sto cercando di farlo su una debian Sarge:
1. Per prima cosa ho installato Debian sul primo hd creando il seguente schema di partizioni:
hda1 /boot ext3 50Mb
hda2 swap 1Gb
hda3 / reiser 15Gb
hda5 /dati ext3 64Gb
2. Ho caricato i driver per il raid con modprobe md e modprobe raid1
3. Ho installato mdadm
4. Ho clonato la tabella delle partizioni.
sfdisk -d /dev/hda | sfdisk /dev/hdb
5. Ho cambiato l'ID delle partizioni in /dev/hdb impostando come id il valore FD (Linux raid autodetect) ed ho riavviato il sistema.
6. Ho creato gli MD device; Ho dato per scontato che per ogni partizione da mettere in raid dovevo crare un device MD e quindi:
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2
mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/hdb3
mdadm --create /dev/md3 --level=1 --raid-disks=2 missing /dev/hdb4
7. Ho formattato i device MD come segue:
mkfs -j /dev/md0
mkfs -j /dev/md3
mkreiserfs /dev/md2
mkswap /dev/md1
swapon /dev/md1
8. Ho montato i device MD come segue:
mount /dev/md2 /mnt
mkdir /mnt/boot
mount /dev/md0 /mnt/boot
mkdir /mnt/dati
mount /dev/md3 /mnt/dati
9. Ho copiato il sistema sul device MD:
cp -axuv / /mnt
10. Ho modificato il file /mnt/etc/fstab come segue:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/md2 / reiserfs defaults 0 1
/dev/md0 /boot ext3 defaults 0 2
/dev/md3 /dati ext3 defaults 0 2
/dev/md1 none swap sw 0 0
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
11. Ho modificato /boot/grub/menu.lst aggiungendo:
title Debian GNU/Linux, RAID-kernel 2.6.8-2-386
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md2 ro
initrd /initrd.img-2.6.8-2-386-raid
savedefault
boot
12. Ho installato grub come da istruzioni:
grub-install /dev/hda
13. Ho modificato le impostazioni per initrd ed ho ricreato initrd come segue:
- su /etc/mkinitrd/modules ho aggiunto md e raid1
- su /etc/mkinitrd/mkinitrd.conf ho modificato la riga ROOT=probe in ROOT=/dev/md2
- Ho generato il nuovo initrd con mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
14. Ho riavviato il sistema.
Dopo tutta questa pappardella di roba, il risultato è:
fsck.ext3: Invalid argument while trying to open /dev/md0
/dev/md0:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an exst2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
fsck failed. Please repair manually.
fsck.ext3: Invalid argument while trying to open /dev/md3
/dev/md3:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an exst2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
fsck failed. Please repair manually.
CONTROL-D will exit from this shell and continue system startup.
Give root password for maintenance
(or type Contro-D to continue):
Ho ripassato e rifatto più volte la procedura, ma il risultato non cambia.
A questo punto, sono convinto che mi sta sfuggendo qualcosa che probabilmente ho sotto il naso ma non riesco a vedere.
Prima che leggiate sui giornali che mi sono suicidato a causa di un Raid1 :sofico: avrei bisogno di aiuto.
Grazie.
Ciao.
P.S. La guida che ho seguito di più è questa: http://www.linuxtrent.it/documentazione/wikilinux/RaidSoftwareSuDebian
DigitalKiller
24-09-2006, 13:53
.....
Prima che leggiate sui giornali che mi sono suicidato a causa di un Raid1 :sofico: avrei bisogno di aiuto.
Invece di suicidarti non fai prima a crearti il RAID in fase di installazione del S.O.? :D
stefanoxjx
24-09-2006, 14:07
Invece di suicidarti non fai prima a crearti il RAID in fase di installazione del S.O.? :D
No, per tre semplici motivi:
1. Devo installarlo su una macchina già operativa
2. Per vedere se almeno funzionava ho provato su una macchina test a fare un'installazione ex novo attivando il raid direttamente dall'installer di debian.
Sarò io duro de capoccia, però onestamente non ho capito la logica che usa debian per attivare il raid.
3. Ho risolto :yeah:
DigitalKiller
24-09-2006, 14:13
No, per tre semplici motivi:
1. Devo installarlo su una macchina già operativa
2. Per vedere se almeno funzionava ho provato su una macchina test a fare un'installazione ex novo attivando il raid direttamente dall'installer di debian.
Sarò io duro de capoccia, però onestamente non ho capito la logica che usa debian per attivare il raid.
3. Ho risolto :yeah:
:D
stefanoxjx
25-09-2006, 17:17
Pensavo di aver risolto, invece non ho risolto nulla!!!!
Non c'è qualche guru del raid che mi può aiutare?
Anche se non è un guru mi basta che sappia distinguere la differenza tra il raid contro mosche e zanzare e il raid per la sicurezza dei dati :D :sofico:
Grazie.
Ciao.
Una volta creato il raid prima di riavviare il server devi lanciare il seguente comando:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Se no dopo il riavvio non vengono riconosciuti gli md.
stefanoxjx
25-09-2006, 23:59
Una volta creato il raid prima di riavviare il server devi lanciare il seguente comando:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Se no dopo il riavvio non vengono riconosciuti gli md.
OK, questa informazione l'avevo già trovata su google :) ma non mi ha risolto il problema.
Dopo 3 giorni full immersion sul RAID, sono rimasto stecchito :D, anche perchè sono riuscito a vederlo funzionare una sola volta.
Comunque, avrei qualche domanda per quando mi torenrà la voglia di provare e sopratutto per quando troverò qualche how-to più convincente!!!!
Le mie domande sarebbero queste:
1. Tra i 100 how-to che ho letto, ho visto che molti nominavano i comandi mkraid, raidstart ecc. ecc., però non li ho trovati nel mio sistema nemmeno installando raidtools2.
E' più aggiornato mdadm o raidtools?
2. Il tipo di partizione "DF" bisogna impostarlo su tutti e due i dischi o solo sul secondo disco?
3. /dev/md0 deve per forza essere root?
Ho forse sbagliato perchè non ho messo md0 come root ma bensì:
hda1 /boot ext3 50Mb = /dev/md0
hda2 swap 1Gb =/dev/md1
hda3 / reiser 15Gb =/dev/m2
hda5 /dati ext3 64Gb =/dev/md3
4. Nell'how-to che ho seguito di più (*) (http://www.linuxtrent.it/documentazione/wikilinux/RaidSoftwareSuDebian), a un certo punto dice di modificare il file /mnt/etc/fstab ma non /etc/fstab.
Il problema è che così facendo il sistema non mi parte in raid, ma mi parte con la classima mappatura hda1,hda2 ecc. ecc. e quindi non mi permette di aggiongere la partizione di mirror con mdadm --add /dev/md.......
5. Sempre nel solito how-to ad un certo punto mi fa reinstallare grub, ma non era lilo che aveva bisogno di essere reinstallato ad ogni modifica? grub non prende le info direttamente dal menu.lst?
6. Perchè quello che dovrebbe essere semplice diventa sempre un'odiessea? :sofico: :D
I problemi che ho riscontrato maggiormente sono 2, uno l'ho già esposto nel mio primo post, mentre il secondo è che mdadm --add non mi lascia aggiungere la partizione da mettere in raid, dicendomi "failed return: -16". Ora non ho il messaggio esatto sotto mano, però basta che provi a reinstallare il raid e lo trovo subito :D
Grazie a tutte le buone anime che vorranno chiarirmi le idee.
Ciao.
Psycotic
26-09-2006, 13:22
Mi chiedo.. dopo che hai fatto
mkfs -j /dev/md0
mkfs -j /dev/md3
mkreiserfs /dev/md2
mkswap /dev/md1
swapon /dev/md1
ma MD0 e MD3 nn metti il filesystem?
come hai fatto a montarli se nn gli hai creato il filesystem?
LimiT-MaTz
26-09-2006, 17:14
scusami ma mi pare che il tuo problema sia al punto 1)
ovvero:
sfdisk -d /dev/hda | sfdisk /dev/hdb
ovvero tu stai copiando la partition table dal hda a hdb.
e quindi anche la tipologia di System, per funzionare mdadm se non erro ha la necessita che le partizioni siano di tipo "Linux raid autodetect" (fd).
quindi io rinizierei da qui modificando il tipo di system. Dopo continuerei con quanto scritto da te fino ad arrivare al punto 9.Una volta fatta la copia (su hdb) è necessario a sua volta un bel
sfdisk -d /dev/hdb | sfdisk /dev/hda
e un mdadm
mdadm --manage --add /dev/md0 /dev/hda1
...
cosi' dovrebbe andare.
Tentar non nuoce :)
Allora se segui questa procedura che uso io poi adattatala alle tue esigenze
hda ce l'ho cosi suddiviso:
hda1 : / di tipo ext3
hda2 : swap
#copio le partizioni di hda in hdb
sfdisk -d /dev/hda | sfdisk --force /dev/hdb
#creo raid device
mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdb1
mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/hdb2
#vedi che il raid è partito
cat /proc/mdstat
#formatto il raid device
mkfs.ext3 /dev/md0
mkswap /dev/md1
#creo o monto il raid
mkdir /mnt/root
mount /dev/md0 /mnt/root/
#sistemo initrd
cp /etc/mkinitrd/mkinitrd.conf /etc/mkinitrd/mkinitrd.conf.orig
------------------------------------------------
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3"
-------------------------------------------------
#ricreo initrd (sostituisci a 2.4.27-2-386 la versione del tuo kernel)
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#sistemo grub
cp /boot/grub/menu.lst /boot/grub/menu.lst.orig
---------------------------------------------------
modifico /boot/grub/menu.lst in questo modo:
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk1
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk2
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
----------------------------------------------------------------
#sistemo mdadm.conf
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
#copio tutto quello che c'è in hda in hdb
rsync -auHxv / /mnt/root/
#sistemo fstab
cp /etc/fstab /etc/fstab.orig
--------------------------------------------------------------
modifico /etc/fstab aggiungendo:
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
/dev/md1 none swap sw 0 0
----------------------------------------------------------------
#copio fstab sul secondo disco
cp /tmp/fstab /mnt/root/etc/fstab
#riavvii il server
init 6
#fai boot da disk1
#aggiungi al raid hda
mdadm /dev/md0 -a /dev/hda1
mdadm /dev/md1 -a /dev/hda2
#verifica che i due dischi si stanno sincronizzando
cat /proc/mdstat
#ricreo initrd
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#ricreo mdadm
mdadm --detail --scan > /etc/mdadm/mdadm.conf
#configurazione manuale di grub
grub --device-map=/boot/grub/device.map
---------------------------------------------------------------
configurazione iterattiva
>> root (hd0,0)
>> setup (hd0)
>> root (hd1,0)
>> setup (hd1)
>> quit
---------------------------------------------------------------
configurazione manuale di grub.lst
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk2
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk1
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
----------------------------------------------------------------
#riconfiguro mdadm
dpkg-reconfigure mdadm
e hai finito...
1. Tra i 100 how-to che ho letto, ho visto che molti nominavano i comandi mkraid, raidstart ecc. ecc., però non li ho trovati nel mio sistema nemmeno installando raidtools2.
E' più aggiornato mdadm o raidtools?
se non sbaglio mdadm dovrebbe essere il piu' recente
2. Il tipo di partizione "DF" bisogna impostarlo su tutti e due i dischi o solo sul secondo disco?
Poi anche sul primo. Forse si puo' fare da subito, per andare sul sicuro fai cosi'
Installi su partizioni normali su hda, crei il mirror su hdb + missing, copi le partizioni, rifai il boot dal secondo disco, cambi il tipo partizione su hda e aggiungi il disco al mirror.
O piu' semplice, crei il raid con un livecd e poi installi direttamente sul mirror (sempre che l'installer della tua distribuzione supporti il raid).
3. /dev/md0 deve per forza essere root?
Ho forse sbagliato perchè non ho messo md0 come root ma bensì:
No, sul mio muletto la root e' md7 :P. Quel che importa e' che le varie componenti per il raid siano compilate nel kernel (non come moduli) e specificare a grub la partizione da usare come root:
title GNU/Linux
root (hd0,0)
kernel /boot/kernel root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/md7 udev
initrd /boot/initrd
Ovviamente grub non conosce il raid per cui il kernel deve essere accedibile da una partizione normale. Quel che ho fatto io e' stato quello di creare comunque una partizione di boot in mirror, e su ogni disco del mirror configurare grub in modo che parta dalla corrispondente partizione del disco.
5. Sempre nel solito how-to ad un certo punto mi fa reinstallare grub, ma non era lilo che aveva bisogno di essere reinstallato ad ogni modifica? grub non prende le info direttamente dal menu.lst?
:mbe:
In effetti...
6. Perchè quello che dovrebbe essere semplice diventa sempre un'odiessea? :sofico: :D
Perche usi debian :sofico: :D
Ho seguito due guide per gentoo e devo dire che dopo una prima installazione di prova sono andato liscio senza problemi.
stefanoxjx
27-09-2006, 13:06
Mi chiedo.. dopo che hai fatto
mkfs -j /dev/md0
mkfs -j /dev/md3
mkreiserfs /dev/md2
mkswap /dev/md1
swapon /dev/md1
ma MD0 e MD3 nn metti il filesystem?
come hai fatto a montarli se nn gli hai creato il filesystem?
Forse non hai letto bene il mio primo post, probabilmente perchè è un po' lunghino :D
Comunque più sotto c'è:
mount /dev/md2 /mnt
mkdir /mnt/boot
mount /dev/md0 /mnt/boot
mkdir /mnt/dati
mount /dev/md3 /mnt/dati
cp -axuv / /mnt
Credo che tu intendessi questo!?!?!?!?!?
stefanoxjx
27-09-2006, 13:08
scusami ma mi pare che il tuo problema sia al punto 1)
ovvero:
sfdisk -d /dev/hda | sfdisk /dev/hdb
ovvero tu stai copiando la partition table dal hda a hdb.
e quindi anche la tipologia di System, per funzionare mdadm se non erro ha la necessita che le partizioni siano di tipo "Linux raid autodetect" (fd).
quindi io rinizierei da qui modificando il tipo di system. Dopo continuerei con quanto scritto da te fino ad arrivare al punto 9.Una volta fatta la copia (su hdb) è necessario a sua volta un bel
sfdisk -d /dev/hdb | sfdisk /dev/hda
e un mdadm
mdadm --manage --add /dev/md0 /dev/hda1
...
cosi' dovrebbe andare.
Tentar non nuoce :)
Appunto, in tutti gli how-to che ho letto non risulta molto chiaro se bisogna cambiare il tipo di partizione su tutti e due i discho o se basta solo sul secondario.
Proprio per questo tra le tante prove fatte avevo provato a impostare "Linux raid autodetect (FD)" su tutti e due i dischi, ma non mi ha detto molto bene :mc: :muro: :cry:
stefanoxjx
27-09-2006, 13:14
Allora se segui questa procedura che uso io poi adattatala alle tue esigenze
hda ce l'ho cosi suddiviso:
hda1 : / di tipo ext3
hda2 : swap
#copio le partizioni di hda in hdb
sfdisk -d /dev/hda | sfdisk --force /dev/hdb
#creo raid device
mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdb1
mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/hdb2
#vedi che il raid è partito
cat /proc/mdstat
#formatto il raid device
mkfs.ext3 /dev/md0
mkswap /dev/md1
#creo o monto il raid
mkdir /mnt/root
mount /dev/md0 /mnt/root/
#sistemo initrd
cp /etc/mkinitrd/mkinitrd.conf /etc/mkinitrd/mkinitrd.conf.orig
------------------------------------------------
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3"
-------------------------------------------------
#ricreo initrd (sostituisci a 2.4.27-2-386 la versione del tuo kernel)
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#sistemo grub
cp /boot/grub/menu.lst /boot/grub/menu.lst.orig
---------------------------------------------------
modifico /boot/grub/menu.lst in questo modo:
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk1
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk2
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
----------------------------------------------------------------
#sistemo mdadm.conf
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
#copio tutto quello che c'è in hda in hdb
rsync -auHxv / /mnt/root/
#sistemo fstab
cp /etc/fstab /etc/fstab.orig
--------------------------------------------------------------
modifico /etc/fstab aggiungendo:
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
/dev/md1 none swap sw 0 0
----------------------------------------------------------------
#copio fstab sul secondo disco
cp /tmp/fstab /mnt/root/etc/fstab
#riavvii il server
init 6
#fai boot da disk1
#aggiungi al raid hda
mdadm /dev/md0 -a /dev/hda1
mdadm /dev/md1 -a /dev/hda2
#verifica che i due dischi si stanno sincronizzando
cat /proc/mdstat
#ricreo initrd
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#ricreo mdadm
mdadm --detail --scan > /etc/mdadm/mdadm.conf
#configurazione manuale di grub
grub --device-map=/boot/grub/device.map
---------------------------------------------------------------
configurazione iterattiva
>> root (hd0,0)
>> setup (hd0)
>> root (hd1,0)
>> setup (hd1)
>> quit
---------------------------------------------------------------
configurazione manuale di grub.lst
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk2
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk1
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
----------------------------------------------------------------
#riconfiguro mdadm
dpkg-reconfigure mdadm
e hai finito...
Grazie della tua esauriente risposta.
Appena ho un attimo provo seguendo il tuo how-to e poi ti faccio sapere.
Grazie ancora.
Ciao.
stefanoxjx
27-09-2006, 13:18
Perche usi debian :sofico: :D
Ho seguito due guide per gentoo e devo dire che dopo una prima installazione di prova sono andato liscio senza problemi.
Effettivamente, quella volta che ho provato il raid su una gentoo mi è andato tutto liscio al primo colpo, solo che personalmente sono un po' contrario a mettere gentoo sui servers e comunque in questo caso ho una debian già attiva da mettere in raid.
Grazie delle risposte.
Chissà che prendendo un po' di qua e un po di la, riesca a venirne fuori :)
ciao,
io usavo anche:
sync && sync
dopo aver clonato i dischi,altrimenti al reboot non mi partiva,
se ti può essere utile...
byez
stefanoxjx
27-09-2006, 19:26
ciao,
io usavo anche:
sync && sync
dopo aver clonato i dischi,altrimenti al reboot non mi partiva,
se ti può essere utile...
byez
Ma che tipo di problemi di dava al reboot?
Semplicemente non partiva o partiva ma ad un certo punto ti dava errori?
mmm di preciso non me lo ricordo,
credo che lilo si incazzasse in fase di avvio mostrando il codice di errore,
sempre che non ricordi male.
cmq il tutto succedeva perchè non facevo nessun reboot al cambio di partizioni,
cioe quando cambi in raid detect, facevo tutta la procedura di fila e secondo me
si incazzava per quello.
Cmq solo su debian mi è successo, su slack no.
ciao
stefanoxjx
28-09-2006, 15:18
Allora se segui questa procedura che uso io poi adattatala alle tue esigenze
Allora, ho provato la tua procedura adattandola alla mia tabella di partizione che è:
boot 50Mb ext3
swap 1Gb
/ 15Gb ext3
/dati 64Gb ext3
#copio le partizioni di hda in hdb
sfdisk -d /dev/hda | sfdisk --force /dev/hdb
Fatto senza problemi!!
#creo raid device
mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdb1
mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/hdb2
#vedi che il raid è partito
cat /proc/mdstat
Fatto senza problemi, solo che logicamente ho fatto:
mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdb1
mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/hdb2
mdadm --create /dev/md2 --level 1 --raid-devices=2 missing /dev/hdb3
mdadm --create /dev/md3 --level 1 --raid-devices=2 missing /dev/hdb4
#formatto il raid device
mkfs.ext3 /dev/md0
mkswap /dev/md1
Fatto senza problemi, solo che ovviamente ho fatto:
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md2
mkfs.ext3 /dev/md3
mkswap /dev/md1
swapon /dev/md1
#creo o monto il raid
mkdir /mnt/root
mount /dev/md0 /mnt/root/
#sistemo initrd
cp /etc/mkinitrd/mkinitrd.conf /etc/mkinitrd/mkinitrd.conf.orig
------------------------------------------------
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3"
-------------------------------------------------
#ricreo initrd (sostituisci a 2.4.27-2-386 la versione del tuo kernel)
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#sistemo grub
cp /boot/grub/menu.lst /boot/grub/menu.lst.orig
---------------------------------------------------
modifico /boot/grub/menu.lst in questo modo:
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk1
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-386-md Disk2
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-2-386-md
savedefault
boot
Fatto senza problemi, solo che ho modificato in questo modo:
#creo o monto il raid
mkdir /mnt/root
mount /dev/md3 /mnt/root/
mkdir /dev/md3/boot
mount /dev/md0 /mnt/root/boot
#sistemo initrd
cp /etc/mkinitrd/mkinitrd.conf /etc/mkinitrd/mkinitrd.conf.orig
------------------------------------------------
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3" Durante la creazione di initrd mi ha dato l'errore "/usr/sbin/mkinitrd: line 15: ext3: command not found e quindi ho dovuto rimuovere ext3 per poter creare initrd
-------------------------------------------------
#ricreo initrd (sostituisci a 2.4.27-2-386 la versione del tuo kernel)
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid Vedi problema descritto sopra e inoltre ho eliminato la parte finale inerente la versione del kernel
#sistemo grub
cp /boot/grub/menu.lst /boot/grub/menu.lst.orig
---------------------------------------------------
modifico /boot/grub/menu.lst in questo modo:
title Debian GNU/Linux
root (hd0,0)
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.6.8-2-386-raid
savedefault
boot
----------------------------------------------------------------
#sistemo mdadm.conf
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
#copio tutto quello che c'è in hda in hdb
rsync -auHxv / /mnt/root/
#sistemo fstab
cp /etc/fstab /etc/fstab.orig
--------------------------------------------------------------
modifico /etc/fstab aggiungendo:
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
/dev/md1 none swap sw 0 0
----------------------------------------------------------------
#copio fstab sul secondo disco
cp /tmp/fstab /mnt/root/etc/fstab
#riavvii il server
init 6
#fai boot da disk1
#aggiungi al raid hda
mdadm /dev/md0 -a /dev/hda1
mdadm /dev/md1 -a /dev/hda2
#verifica che i due dischi si stanno sincronizzando
cat /proc/mdstat
#ricreo initrd
mkinitrd -o /boot/initrd.img-2.4.27-2-386-md 2.4.27-2-386
#ricreo mdadm
mdadm --detail --scan > /etc/mdadm/mdadm.conf
Anche quì tutto ok, a parte il fatto che ho modificato così:
#sistemo mdadm.conf
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
#copio tutto quello che c'è in hda in hdb
rsync -auHxv / /mnt/root/
rsync -auHxv /boot /mnt/root/boot/
#sistemo fstab
cp /etc/fstab /etc/fstab.orig
--------------------------------------------------------------
modifico /etc/fstab aggiungendo:
/dev/md2 / ext3 defaults,errors=remount-ro 0 1
/dev/md0 /boot ext3 ...........
/dev/md3 /dati ext3 ............
/dev/md1 none swap sw 0 0
----------------------------------------------------------------
#copio fstab sul secondo disco
cp /tmp/fstab /mnt/root/etc/fstab
#riavvii il server
init 6
#fai boot da disk1
#aggiungi al raid hda
mdadm /dev/md0 -a /dev/hda1
mdadm /dev/md1 -a /dev/hda2
mdadm /dev/md2 -a /dev/hda3
mdadm /dev/md3 -a /dev/hda4
#verifica che i due dischi si stanno sincronizzando
cat /proc/mdstat
#ricreo initrd
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
#rireo mdadm
mdadm --detail --scan > /etc/mdadm/mdadm.conf
#configurazione manuale di grub
grub --device-map=/boot/grub/device.map
---------------------------------------------------------------
configurazione iterattiva
>> root (hd0,0)
>> setup (hd0)
>> root (hd1,0) Error 21: Selected disk does not exist ... Ma se ci ho appena creato il raid senza problemi?!?!?!?
>> setup (hd1) idem
>> quit
---------------------------------------------------------------
Perchè rimettere mano a questo file quando è già stato sistemato all'inizio della procedura ed è uguale?
configurazione manuale di grub.lst
title Debian GNU
root (hd0,0)
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md0 ro
initrd /boot/initrd.img-2.6.8-2-386-raid
savedefault
boot
.............
----------------------------------------------------------------
#riconfiguro mdadm
dpkg-reconfigure mdadm
e hai finito...
Magari :ncomment:
fsck.ext3: Invalid argument while trying to open /dev/md0
/dev/md0:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an exst2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
fsck failed. Please repair manually.
fsck.ext3: Invalid argument while trying to open /dev/md3
/dev/md3:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an exst2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
fsck failed. Please repair manually.
CONTROL-D will exit from this shell and continue system startup.
Give root password for maintenance
(or type Contro-D to continue):
Di solito a forza di sbatterci la testa ci vengo fuori sulle vose, però questa ragazzi......................
Inoltre non mi hai fatto modificare il tipo di partizione in "FD", forse perchè dai per scontato che vada fatto?
Grazie.
Ciao.
credo che dopo aver fatto :
#copio le partizioni di hda in hdb
sfdisk -d /dev/hda | sfdisk --force /dev/hdb
tu debba cambiare a mano con cfdisk il tipo di partizione, mettendola in Raid
Autodetect.
poi dai un sync && sync e vai avanti normalmente.
stessa cosa quando avvii da raid in fault cambia il tipo sul disco A prima di
aggiungerlo all'array in fault.
sono curioso di vedere se ci usciamo, :D
stefanoxjx
28-09-2006, 15:47
credo che dopo aver fatto :
#copio le partizioni di hda in hdb
sfdisk -d /dev/hda | sfdisk --force /dev/hdb
tu debba cambiare a mano con cfdisk il tipo di partizione, mettendola in Raid
Autodetect.
poi dai un sync && sync e vai avanti normalmente.
stessa cosa quando avvii da raid in fault cambia il tipo sul disco A prima di
aggiungerlo all'array in fault.
sono curioso di vedere se ci usciamo, :D
Quindi tu dici di clonare la tabella delle partizioni, modificare il tipo di partizione e lancaire un doppio sync:
sfdisk -d /dev/hda | sfdisk /dev/hdb
cfdisk /dev/hdb --> Modifico tutte le partizioni in FD
sync && sync
Poi fare tutta la procedura normalmente fino a quando non arriva il momento di aggiungere il disco da mettere in mirror, e quindi fare:
cfdisk /dev/hda -->Modifico il tipo di partizione in FD
sync && sync
mdadm /dev/md0 -a /dev/hda1
mdadm ..........
Ora ci provo, anche se non credo che funzionerà!!! :cry:
la teoria vuole che sia cosi...
tentare non nuoce e appena posso vedo di provare su qualche macchina
anche io, ma non ti assicuro niente :)
byez
stefanoxjx
28-09-2006, 17:49
la teoria vuole che sia cosi...
tentare non nuoce e appena posso vedo di provare su qualche macchina
anche io, ma non ti assicuro niente :)
byez
Ho provato, e infatti, come pensavo non funziona!!! :bsod:
A questo punto sono disposto a collegare una macchina test su internet e chiedere se qualche guru vuole provarci via ssh!!!!
Almeno vediamo se sono proprio io che sono incapace o se c'è qualcos'altro che non va!!!!
mm ho letto il tuo errore nei post precedenti...
Se il comando genera errori è necessario azzerare il super block, mdadm contiene il comando per eseguire tale operazione:
mdadm --zero-superblock /dev/XXX
lancialo appena hai creato il device mdX
cmq sempre piu strano :mbe:
altra cosa, perche non usi un kernel con quello che ti serve senza initrd?
leviamo altre variabili visto che ti dava errori anche li
byez
stefanoxjx
28-09-2006, 19:19
mm ho letto il tuo errore nei post precedenti...
Se il comando genera errori è necessario azzerare il super block, mdadm contiene il comando per eseguire tale operazione:
mdadm --zero-superblock /dev/XXX
lancialo appena hai creato il device mdX
cmq sempre piu strano :mbe:
altra cosa, perche non usi un kernel con quello che ti serve senza initrd?
leviamo altre variabili visto che ti dava errori anche li
byez
Non mi da errori durante la creazione dell'array o l'aggiunta del delle partizioni in hda, ma l'errore me lo da durante la fase di reboot finale.
In poche parole, dopo aver creato l'array con missing, si formattano le unità mdX, ci si copia dentro il sistema si mettono a punto i vari fstab, menu.lst ecc. ecc. e si fa il reboot.
Dopo questo primo reboot fila tutto liscio, il sistema parte e se verifico come sono montate le partizioni risultano montate come mdX.
A quel punto si procede con l'aggiunto delle partizioni missing, quindi mdadm /dev/md0 -a /dev/hda1 ecc. ecc., inizia il sync delle partizioni e va a buon fine e dopo aver fatto gli ultimi passi della guida si riavvia.
A quel punto, durante il riavvio esce l'errore che ho postato.
Ho già provato anche con un kernel senza initrd e a quel punto mi dava un altro errore diverso.
Però non ho provato con il kernel senza initrd con la guida che mi ha fornito cerve81.
Mo ci provo!!!!
Sennò, nel caso rimane sempre valida l'offerta di mettere un pc con ssh :D
sto tirando su una slack di prova... non è debian ma credo che
conti il procedimento e non la distro, ma per stasera credo di non riuscire.
cmq vedo cosa posso fare :sofico:
usare un kernel con compilato statico il supporto alle periferiche di solito
è fondamentale!
se parliamo di moduli di iptables e altri puoi anche lasciarli moduli ma
l'hardware a parte qualche driver per schede di rete lo metto sempre statico
eliminando l'uso di initrd che personalmente odio :)
ciao
stefanoxjx
28-09-2006, 19:58
eliminando l'uso di initrd che personalmente odio :)
Anch'io odio initrd, anche perchè ti trovi con un sacco di moduli caricati in memoria che non servono a nulla.
La debian appena istallata, ne ha ben 64 di cui più della metà non servono.
Io generalmente tutto ciò che riguarda le periferiche (scheda rete compresa) lo metto statico e tendo a lasciare come modulo quello che riguarda la scheda audio ed eventualmente il supporto a file system che forse userò ma non so, per esempio NTFS.
Sto reinstallando debian per la 1000000000000 volta, poi ricompilo il kernel senza initrd e riprovo la procedura.
Mo ti fo sapere.
Grazie per l'interessamento.
Ciao.
Allora:
Tu hai partizionato cosi:
/boot 50Mb ext3 --> hdb1 ---> md0
swap 1Gb --> hdb2 ---> md1
/ 15Gb ext3 --> hdb3 ---> md2
/dati 64Gb ext3 --> hdb4 ---> md3
Leggendo noto i seguenti errori:
Anziche:
mkdir /mnt/root
mount /dev/md3 /mnt/root/
mkdir /dev/md3/boot
mount /dev/md0 /mnt/boot
Dovrebbe essere:
mkdir /mnt/root
mount /dev/md2 /mnt/root/
mkdir /mnt/boot
mount /dev/md0 /mnt/boot/
Anziche:
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3"
Dovrebbe essere:
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md2 ext3"
Anziche:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
Dovrebbe essere:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid 2.6.8-2-386
Anziche:
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md0 ro
Dovrebbe essere:
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md2 ro
Anziche:
rsync -auHxv /boot /mnt/root/boot/
Dovrebbe essere:
rsync -auHxv /boot /mnt/boot/
Anziche:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
Dovrebbe essere:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid 2.6.8-2-386
Prova correggendo questo cose e fammi sapere.
Io non ho mai provato tenendo la root e la boot separate pero a logica cosi dovrebbe andare.
stefanoxjx
29-09-2006, 21:17
Allora:
Tu hai partizionato cosi:
/boot 50Mb ext3 --> hdb1 ---> md0
swap 1Gb --> hdb2 ---> md1
/ 15Gb ext3 --> hdb3 ---> md2
/dati 64Gb ext3 --> hdb4 ---> md3
Leggendo noto i seguenti errori:
Anziche:
mkdir /mnt/root
mount /dev/md3 /mnt/root/
mkdir /dev/md3/boot
mount /dev/md0 /mnt/boot
Dovrebbe essere:
mkdir /mnt/root
mount /dev/md2 /mnt/root/
mkdir /mnt/boot
mount /dev/md0 /mnt/boot/
Effettivamente, così ho fatto, ho solo fatto un errore di distrazione mentre scrivevo il post, quindi questo non è sicuramente il problema.
Anziche:
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md0 ext3"
Dovrebbe essere:
modifico /etc/mkinitrd/mkinitrd.conf in questo modo:
MODULES=dep
ROOT="/dev/md2 ext3"
Anche questo è stato un errore di trascrizione, per quanto riguarda il /dev/mdX, mi accorgo solo ora però che il tutto andava messo tra virgolette.
Ecco spiegato il perchè di quell'errore che mi usciva :doh:
Anziche:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
Dovrebbe essere:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid 2.6.8-2-386
La parte finale l'ho tolta perchè ho visto che tu parlavi del kernel 2.4 ma sulle guide che ho guardato che parlavano di kernel 2.6, la parte finale non c'era e onestamente ho dato per scontato che con il 2.6 non servisse.
Anche perchè vedevo l'operazione andare a buon fine senza nessuna segnalazione strana.
Anziche:
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md0 ro
Dovrebbe essere:
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/md2 ro
Ancora errore di trascrizione/distrazione :doh:
Anziche:
rsync -auHxv /boot /mnt/root/boot/
Dovrebbe essere:
rsync -auHxv /boot /mnt/boot/
Dipende da dove è stata montata la root del fs, tu nella guida hai specificato di creare la directory root dentro a mnt, e quindi l'albero corretto sarebbe:
/mnt/root/
/mnt/root/boot
/mnt/root/dati
Comunque anche questo non è un problema, dopo i relativi rsync, mi sono assicurato che le rispettive cartelle fossero uguali.
Anziche:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid
Dovrebbe essere:
mkinitrd -o /boot/initrd.img-2.6.8-2-386-raid 2.6.8-2-386
Vedi sopra!!!
Prova correggendo questo cose e fammi sapere.
Io non ho mai provato tenendo la root e la boot separate pero a logica cosi dovrebbe andare.
Ci riprovo, tanto ormai la debian si reinstalla da sola :sofico: :D
Per il momento non mi resta che ringraziarti!! :mano:
De nada!
Fammi sapere che se non ti riesce provo a farlo sul mio serverino...
stefanoxjx
30-09-2006, 22:13
De nada!
Fammi sapere che se non ti riesce provo a farlo sul mio serverino...
Allora, rifatto tutta l'operazione con le ultime modifiche, ma dopo aver aggiunto le partizioni di hda al raid ed aver aggiornato initrd, mdadm.conf ecc., al reboot l'errore è sempre il solito.
A questo punto, piuttosto che tu faccia prove sul tuo serverino e magari combini danni, se vuoi ripreparo la macchina test e ti passo in pvt la password di root e l'IP, così puoi provare direttamente su una macchina che anche se va a pu.... non succede nulla.
Eventualmente fammi sapere.
Grazie.
Ciao.
P.S. Ma qualcuno in questo forum è mai riuscito a fare un raid1 con debian?
Dai se riesco stasera provo sul mio serverino tanto è fatto apposta per testare cose...
cosi ti dico giusto per il tuo caso..
...
stefanoxjx
01-10-2006, 19:30
Dai se riesco stasera provo sul mio serverino tanto è fatto apposta per testare cose...
cosi ti dico giusto per il tuo caso..
...
Grazie Cerve!!!
Attendo notizie :)
stefanoxjx
11-10-2006, 21:14
UP :)
se ti può servire ... (http://www.hwupgrade.it/forum/showthread.php?t=637844)
stefanoxjx
14-10-2006, 11:11
se ti può servire ... (http://www.hwupgrade.it/forum/showthread.php?t=637844)
E' la prima guida che ho letto :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.