Newsgroup: it.comp.os.linux.sys
Titolo: [XPOST] Avviamento da disco scsi e redhat 4 es.

Salve a tutti, è la prima volta che scrivo qui.
Sono 2 giorni che sbatto la testa su questo problema e ancora non ne
sono venuto a capo, quindi ho pensato bene di chiedere aiuto a chi
sicuramente ne saprà più di  me!
Vi espongo in breve il mio problema.
Ho 2 macchine HP ML370 collegate via fibra ottica ad una SAN HP
MSA-1000. I sistemi bootano normalmente da SAN utilizzando il modulo
qla2300 (utilizzo una HBA Qlogic).
Chiamiamo per semplicità le due macchine A e B.
A ha assegnato 2 dischi con LUN (metticaso..) 20,21.
B ha assegnato il disco 22.
Tengo a precisare che c'è una utility dell'msa1000 che ti rimappa UN
lun come lo 0, in modo da far bootare correttamente il sistema.. in
questo caso i LUN mappati sono rispettivamente 20 e 22. Per l'MSA1000
non è previsto nessun'altro tipo di masking dei LUN se non per quello
di boot.
Veniamo al dunque. Voglio far vedere alla macchina B il disco 21,
condividendolo con la macchina A.
Vado nella utility della mia SAN che mi permette di settare delle
apposite acl (SSP per chi lo conosce..), assegno alle due macchne il
disco 21. tutto ok. forse.
sto stronzo del modulo, quando carica, mi mappa i device sda,sdb,sdc
ecc. secondo l'ordine dei LUN, quindi sulla macchina B mi ritrovo sda
--> lun 21 sdb--> lun 22. ovvero / viene montato sul disco sbagliato e
và in kernel panic!
Per ovviare avevo pensato a fare un echo di questo tipo in
/proc/scsi/scsi:
echo "scsi remove-single-device 0 0 0 21" > /proc/scsi/scsi
echo "scsi remove-single-device 0 0 0 22" > /proc/scsi/scsi
echo "scsi add-single-device 0 0 0 22" > /proc/scsi/scsi
echo "scsi add-single-device 0 0 0 21" > /proc/scsi/scsi
ovviamente prima che monti il filesystem di root!
ok.. dove lo inserisco 'sto script? avevo pensato di inserire queste 4
righe nel rc.sysinit della macchina B, esattamente prima che monti il
filesystem di root, e dopo che si è già montato i moduli SCSI.
NON FUNZIONA!!
non riesce lo stesso a trovare la root. Suppongo che non siano andate a
buon fine quelle 4 righe.. ma non ne conosco il motivo..
AIUTO!
Grazie mille!

 buon fine quelle 4 righe.. ma non ne conosco il motivo..
Non ho esperienza diretta con macchine del genere, ma immagino che se tu
scrivi nel file system di root di fare una echo e il kernel non sa come
montare i dischi non funzioni niente.
Non ti conviene sistemare il kernel perchè vada a cercarsi il suo file
system di root su /dev/sdbX al posto che su /dev/sdaX?
Per farlo è questione di una distro live, sistemi il boot loader, monti
la partizione con il kernel, usi rdev sul kernel per modificare la sua
root. Poi monti root, sistemi fstab, rebooti e via.
Ciao,
Gufo
-- 
  ,___,                    Never trust an operating system.
  (9v9)
  (_^((\		    .: May the owl be with you :.
-^-"-"-\\-^-

 buon fine quelle 4 righe.. ma non ne conosco il motivo..
io questo problema l'ho risolto usando i volumi logici di LVM, che non 
dipendono dal device.
perň bisogna vedere se il boot loader riconosce LVM ..
ma non hai dei dischi interni su cui fare boot?
--
Gianluca

 ma non hai dei dischi interni su cui fare boot?
No.
Per rispondere a Gufo, non volevo andare a smanettare su fstab, initrd,
grub.. in questo modo mi bastavano 4 righe di echo.. :-)
Ciao!

 fare quegli echo?
se parti da un kernel con initrd, il filesystem di root sta su ramdisk, 
e quasi sicuramente /proc non è ancora montato.
dovresti andare a smontare initrd, e modificarlo per montare /proc, poi 
eseguire gli echo e vedere se funziona.
ciao
--
Ranger

Ho sentito parlare del "device mapper", ma non sono sicuro nè di cosa
sia, nè di come funzioni. Non ho trovato documentazione in merito.
Mi può essere d'aiuto? Dove trovo della documentazione?

 tutto ok. forse.
http://www.qlogic.com/documents/datasheets/knowledge_data/
whitepapers/boot_from_SAN_pt1.pdf
pagina 6 punto 3
Buon lavoro