Newsgroup: it.comp.os.linux.sys
Titolo: identificare disco

Ciao a tutti.
Come volevasi dimostrare, ieri si è rotto un altro disco membro di un raid1.
Ora, come faccio a sapere quale è hda all'interno del computer?
Ho notato che linux esegue una sorta di riallocazione dinamica (non so 
in che modo) quindi hda non è detto che sia il primo disco sul primo canale.
Qualche modo per riconoscerlo con esattezza in modo da prendere e 
cambiare il disco?

Alessandro ha scritto:

In questo caso, avendo 2 dischi diversi, posso riconoscerlo senza problemi.
SvrWks CSB6: not 100% native mode: will probe irqs later
     ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
     ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
hda: ST380011A, ATA DISK drive
hdb: Maxtor 6Y080P0, ATA DISK drive
Ma in caso di dischi uguali?
Ho notato che entrambi i dischi sono sullo stesso canale. (possibile per 
un server HP?!?!!? non mi sembra una grande mossa.)
Ho bisogno di sapere hda quale disco è per evitare (come già successo) 
di sostituire il disco buono lasciando quello rotto.

 cambiare il disco?
Per ora risolvo con
hdparm -i /dev/hda
e leggo il seriale del disco e lo confronto con quello presente sul 
disco stesso. non molto pratico soprattutto con i dischi non i vista (ad 
esempio quelli nel proliant 360 che sono coperti dalla baionetta.)

 master.
posso assicurarti che non è cosi.
esperienza personale insegna che sostituendo hda (disco primario sul 
canale primario) è stato sostituito l'attuale hdb.
Dipende da come parte linux.
Non chiedetemi perchè ma mi è successo.
Tra l'altro in un altro post (non mio) non ero l'unico ad avere questa 
riallocazione dei dischi.

 Non chiedetemi perchè ma mi è successo.
perche' se i dischi sono in cs ( cable select ) e levi il master lo slave
diventa master , ma è una cosa HW e linux non c'entra nulla.
lo puoi verificare da bios.
ciao.
-- 
Se saro' eletto, nessuno dovra' piu' fare il bucato!

 lo puoi verificare da bios.
In effetti hai perfettamente ragione.
Solo che fino a stamattina pensavo (come è giusto che sia in un server 
secondo me) che i due dischi fossero su 2 canali separati. Quindi cable 
select o meno poco importa tanto alla fine su quel canale c'e sempre e 
solo un disco.
Il problema è che il canale è lo stesso.
Oggi quando lo spengo per cambiare il disco cambio anche i jumper.
Però capita anche con i sata su canali separati.
Se lo riavvio con un disco in meno, il disco presente sul secondo canale 
diventa sda. questa cosà però si dovrebbe poter risolvere senza troppi 
problemi.
Forzare la mappatura tramite lilo non conviene? (usando i parametri 
disk=, bios=)

 problemi.
questo perche' il tuo controller fa' capo alla logica scsi che assegna
sempre i dischi dal primo trovato.
-- 
Il governo e' un'illusione che i governati non dovrebbero incoraggiare.
                -- John Updike, "Couples"

 sempre i dischi dal primo trovato.
e se volessi essere io il capo anziche la logica scsi? (cazzata, non 
datemi retta)
A parte gli scherzi. Come posso sapere quale è hda/hdb nel caso fossero 
impostati a cable select?
Oggi dovrò cambiare un disco rotto, che riconosco solo perchè di marca 
differente da quello buono (impossibile sbagliare quindi) ma nel caso 
della stessa marca, e nel caso di dischi SATA dove hdparm non funziona 
(quindi non posso vedere il seriale), come posso sapere quale è rotto e 
quale è giusto?
ale@xxx:/home/ale# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
   Vendor: ATA      Model: WDC WD2500JD-55H Rev: 08.0
   Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
   Vendor: ATA      Model: WDC WD2500JD-55H Rev: 08.0
   Type:   Direct-Access                    ANSI SCSI revision: 05
da qui non lo posso capire.
Non vorrei ripete l'errore dell'altro giorno e lasciare il disco rotto 
sostituendo il disco buono.

    Type:   Direct-Access                    ANSI SCSI revision: 05
di solito c'è il numero del canale sul controller.
-- 
Non comprate la droga.
Cosi' si abbassano i prezzi!!!
                -- Il Vernacoliere

 
Infatti scsi0 ed scsi1 sul computer li riconosco. (c'è scritto 0 e 1) ma 
è del kernel che non mi fido.
teoricamente scsi0 DEVE essere sempre e SOLO sda mentre scsi1 SEMPRE e 
SOLO sdb......sarà, ma non mi fido affatto.
Cmq sia, se riavvio il computer senza sda inserito quindi solo con un 
disco in scsi1, me lo assegna a sda anzichè sdb. e questo non va bene 
(per i miei scopi)
non c'è un modo per forzare sda allo scsi0 e sdb allo scsi1?
In sostanza, devo fare un 'automatismo' che in caso di guasto di disco 
manda una mail con scritto: 'Cambia sda' e tutti (compreso la donna 
delle pulizie) devono poter sapere che il disco di destra è SEMPRE sda.
Adesso come adesso bisogna fare troppi controlli, e se il disco si 
spacca mentre io sono in ferie su un isola deserta a prendere il sole e 
sorseggiare latte di cocco con una bellissima donna che mi fa i 
massaggi, i vari boss di turno mi vengono a prendere sul posto ed addio 
vacanza [1]
[1] che bello fantasticare........... ;)

 è del kernel che non mi fido.
fossi in te non mi fiderei delle ca$$ate che fai e dimentichi di
aver fatto + che altro, comunque con udev gli dai il nome che ti
pare e metti la corrispondente etichetta sul disco

frick ha scritto:

In che senso ca$$ate che faccio/fatto ?
Udev? su svariate macchine ho kernel 2.4. Mi dici quindi che è possibile 
riconsocere il disco solo dal kernel 2.6?

Alessandro ha scritto:

se hai un solo adattatore, il naming avviene dall'id + basso a quello
+ alto, possono esserci eccezioni (anni fa c'erano schede con un bios
particolare che partivano dall'id + alto e invertivano l'ordine), che
ci siano eccezioni alla regola non implica che un sistema configurato
a dovere faccia quel ca$$o che gli pare, solo perche' tu dubiti della
regola

 regola
Il problema che lamenta il mio omonimo e` che se togli un disco con id
basso e riavvii, tutte le associazioni id<->device sballano, e non sai
piu` quale disco corrisponde a cosa.
Con i dischi hotswap e` ancora peggio perche` rischi di infilare un
disco con id basso dopo uno con id alto e trovarti i device invertiti,
per esempio:
# lsscsi
[0:0:0:0]    disk    MAXTOR   ATLAS10K5_73SCA  JNZY  /dev/sdb
[0:0:1:0]    disk    MAXTOR   ATLAS10K5_73SCA  JNZY  /dev/sda
Con i SATA e` la stessa cosa.
Io ho il 2.6 e potrei anche usare udev per rinominarli, ma capisco che
ci sia gente che preferisce stare col 2.4 ancora un po', e si trova male
con i device che si spostano...
Bye.
-- 
Alessandro Pellizzari

 regola
Ok, è vero che un server configurato a dovere non fa quello che vuole, 
ma non tutti i server qui dentro sono stati configurati in origine da me.
Ed il problema ora è capire quale disco è hda e quale è hdb in modo 
poterlo sostiturie senza troppi problemi.
Mi è stato detto che l'allocazione dei device (in fase di boot) potrebbe 
cambiare se i dischi sono in modalità cable select e se uno dei due 
muore (ed il discorso effettivamente non fa una piega).
Supponendo che io non abbia la minima idea di come sia stato configurato 
a livello hardware/jumper il server (non l'ho installato io) come posso 
sapere quale è hda e quale è hdb una volta aperto il case e senza dover 
spengnere il computer solo per vedere i jumper? (non visibili con i 
dischi installati ed alimentati)
Per i device ATA posso usare hdparm -i, e guardo il seriale (nei rack è 
visibile in quanto i dischi sono 'frontali' ma nei desktop non vedo il 
seriale e nemmeno i jumper).
Ma per i device SATA, hdparm non funziona, e quindi non ho il seriale 
del disco rotto.
Come posso sapere quale è sda?
La soluzione piu rapida e sicura mi è sembrata quella di impostare la 
mappatura tramite lilo e fare un reboot del server in piena notte quando 
nessuno si accorge di niente.
Ovviamente se esiste un metodo piu ortodosso e meno invasimo sono tutto 
orecchie.

 
grazie per il supporto.
E' esattamente quello che sto cercando di spiegare (non sono molto bravo 
a farmi capire).
in sostanza non ho la minima idea di quale sia sda.

 Con i SATA e` la stessa cosa.
Be, nel mio caso però cambia proprio l'host
# lsscsi
[0:0:0:0]    disk    ATA      WDC WD2500JD-55H 08.0  /dev/sda
[1:0:0:0]    disk    ATA      WDC WD2500JD-55H 08.0  /dev/sdb
quindi non dovrei avere grossi problemi con la sostituzione dei device 
sata. Guardo l'host e cambio il relativo disco.
il problema resta per i dischi ata.

 orecchie.
volendo gli echo in /proc/scsi/scsi, serve comunque un reboot

 volendo gli echo in /proc/scsi/scsi, serve comunque un reboot
In che senso?

muore (ed il discorso effettivamente non fa una piega).
Invece fa una discreta piega: il cable select imposta master e slave a
seconda della posizione sul cavo (il centrale è slave e l'estremo è
master).
-- 
Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario
e quelle che non lo capiscono.

 
be con i dischi in CS se riavvii senza il master, l'attuale slave 
diventa hda anzichè rimanere sdb.
Comunque ho risolto in maniera rapida ed indolore.
Per i dischi IDE utilizzo il seriale ottenuto da hdparm per identificare 
il disco guasto (teniamo traccia di tutti i componenti presenti nei vari 
server in modo da sapere esattamente cosa è installato e dove) mentre 
per i dischi SATA, sono tutti su host differenti quindi scsi_info 
/dev/sda mi dice a quale host è attaccato un dato disco.
E ho appena notato che l'host (ovviamente) non cambia mai a differenza 
del device.
Esempio:
disco su host0: sda
disco su host1: sdb
se riavvio senza host0, l'attuale sdb di host1 diventa sda.
Comunque sia per l'identificazione del disco mi baso sul numero di host 
e non mi importa più l'eventuale assegnazione dell'unità. se si rompe 
quello dell'host0, stacco il primo da sinistra etc etc etc...