web-dev-qa-db-fra.com

Comment Linux déterminera-t-il l'adresse SCSI d'un disque?

Les salutations,

Je travaille avec Rhel 5.5 invité VMS sous VMware ESX 4. Lorsque je configure les disques virtuels dans les paramètres =VM, chaque disque a une adresse SCSI dans le format "N: M". Par exemple, "1: 3" signifierait le numéro d'hôte SCSI 1 et la cible SCSI 3.

Lorsque je regarde les informations de disque du BIOS de la machine virtuelle ou d'un système d'exploitation Windows, l'info d'adresse SCSI détectée correspond aux paramètres de matériel virtuel. Mais sous Linux, les composants d'adresse SCSI ne correspondent pas, du moins pas complètement ou de manière cohérente.

J'ai essayé les trois SCSI virtuels pris en charge et SAS conducteurs et ils semblent tous être "cassés", mais de différentes manières. Voici une liste des adresses matérielles virtuelles vs ce qui a été détecté sous Linux Avec chacun des pilotes:

Driver    vHW Addr  Linux Addr
--------  --------  ----------
LSI SAS   0:0       0:0
LSI SAS   0:3       0:1
LSI SAS   0:6       0:2
LSI SCSI  1:1       2:1
LSI SCSI  1:4       2:4
LSI SCSI  1:7       2:7
pvSCSI    2:2       1:2
pvSCSI    2:5       1:5
pvSCSI    2:8       1:8

Ma question principale est pourquoi cela se produit-il sous Linux? La prochaine question est la suivante: comment puis-je l'obtenir fixe ou le réparer moi-même?

Si j'allais deviner, je dirais que c'est un problème avec la manière dont le noyau distribue le numéro d'hôte SCSI et la manière dont le pilote SCSI Linux (fourni avec VMware Tools) détecte le numéro cible SCSI. Peut-être que l'ordre des pilotes est chargé a également quelque chose à voir avec le problème. Je suppose que cela n'impliquerait pas Udev, mais je pourrais me tromper.

Toute réflexion sera apprécié. Merci!

Ps. Mon environnement est VMware, mais je n'ai pas besoin d'une réponse pour ces pilotes spécifiquement. J'imagine que cela pourrait être un problème avec n'importe quel pilote SCSI sous Linux.

8
Chris Sears

Linux est en réalité cohérent et correct, mais pas nécessairement dans la manière dont vous vous attendez.

Lsi sas: SAS adresses sont des wwns et obtenez des identifiants de type SCSI attribués correspondant à l'ordre dans lequel ils sont vus. (Il s'agit d'une simplification, mais ferez-vous des lacunes de toute façon ?)

LSI SCSI & PVSCSI: Le numéro d'hôte SCSI ne concerne que la commande dans laquelle les pilotes d'adaptateur hôte sont chargés par le noyau et ne sont pas liés à vos numéros de VMware attribués. Si vous aimez les voir dans l'autre ordre, passez la commande de charge du pilote. Très probablement, passez leur numérotation dans /etc/modprobe.conf et redémarrez.

4
MikeyB

Je supprime le bon HD en mappant des numéros de série sur les caddies du plateau. Nous avons des enclos avec des capacités de LED médiocres. Un nouveau disque le va, disons qu'il apparaît comme/dev/sda

udevadm info -q all -n /dev/sda|grep SERIAL

Ensuite, nous écrivons le numéro de série. Ensuite, si un disque va mal, nous recherchons le numéro de série (dans notre cas, nous étiquetons le caddy physique) et tirons le disque approprié.

Mais cela ne vous aide pas vraiment dans VMware.

Encore une fois, vous pouvez écrire un script qui fait la même chose. Ajoutez un nouveau disque, enregistrez son UUID dans l'invité, puis consultez la table de recherche lorsque vous souhaitez supprimer automatiquement le disque ultérieurement.

Je n'ai pas vraiment prêté l'attention, mais je pense que mes disques VMware ont toujours été alimentés dans le même ordre. Vous pourriez donc être capable de faire confiance à l'adresse SCSI ne changera pas si vous gardez l'adresse identique.

3
Steven