Como mapear de forma confiável os discos do vSphere - dispositivos Linux

6

Tarefa em mãos

Depois que um disco virtual foi adicionado a uma VM Linux no vSphere 5, precisamos identificar os discos para automatizar a provisão de armazenamento do LVM.

Os discos virtuais podem residir em datastores diferentes (por exemplo, sas ou flash) e, embora possam ser do mesmo tamanho, sua velocidade pode variar. Por isso, preciso de um método para mapear os discos do vSphere para dispositivos Linux.

Idéias

Por meio da API do vSphere, posso obter as informações do dispositivo:

Data Object Type: VirtualDiskFlatVer2BackingInfo
Parent Managed Object ID: vm-230
Property Path: config.hardware.device[2000].backing  

Properties

Name Type Value 
ChangeId string Unset 
contentId string "d58ec8c12486ea55c6f6d913642e1801" 
datastore ManagedObjectReference:Datastore datastore-216 (W5-CFAS012-Hybrid-CL20-004) 
deltaDiskFormat string "redoLogFormat" 
deltaGrainSize int Unset 
digestEnabled boolean false 
diskMode string "persistent" 
dynamicProperty DynamicProperty[] Unset 
dynamicType string Unset 
eagerlyScrub boolean Unset 
fileName string "[W5-CFAS012-Hybrid-CL20-004] l****9-000001.vmdk" 
parent VirtualDiskFlatVer2BackingInfo parent 
split boolean false 
thinProvisioned boolean false 
uuid string "6000C295-ab45-704e-9497-b25d2ba8dc00" 
writeThrough boolean false 

E no Linux eu posso ler as strings uuid:

[root@lx***** ~]# lsscsi -t
[1:0:0:0]    cd/dvd  ata:                            /dev/sr0
[2:0:0:0]    disk    sas:0x5000c295ab45704e          /dev/sda
[3:0:0:0]    disk    sas:0x5000c2932dfa693f          /dev/sdb
[3:0:1:0]    disk    sas:0x5000c29dcd64314a          /dev/sdc

Como você pode ver, a string uuid do disco / dev / sda parece familiar à string que é visível na API do VMware. Apenas o primeiro dígito hexadecimal é diferente (5 x 6) e está presente apenas no terceiro hífen. Então isso parece promissor ...

Idéia alternativa

Selecione discos pelo controlador. Mas é confiável que o ID SCSI ascendente também corresponda ao próximo disco virtual do vSphere? O que acontece se eu adicionar outra unidade de DVD-ROM / unidade USB Thumb? Isso provavelmente introduzirá novos dispositivos SCSI entre eles. Essa é a causa porque eu acho que vou descartar essa ideia.

Perguntas

  1. Alguém conhece um método mais fácil de mapear discos do vSphere e dispositivos Linux?
  2. Alguém pode explicar as diferenças nas strings do uuid? (Eu acho que isso tem algo a ver com o iniciador de endereço SAS e alvo ... WWN como ...)
  3. Posso mapear dispositivos com segurança usando essas strings uuid?
  4. Que tal discos virtuais SCSI? Não há uuid visível então ...
  5. Esta tarefa parece ser tão óbvia. Por que o Vmware não pensa sobre isso e simplesmente adiciona uma maneira de consultar o mapeamento de disco via Vmware Tools?
por Reiner Rottmann 17.04.2013 / 10:57

1 resposta

1

Use o ID SCSI para identificar o disco virtual. Você parece estar sob a impressão de que o ID SCSI é dinamicamente atribuído quando a VM é ligada. Este não é o caso. Nas propriedades da VM, você pode definir o ID do seu disco virtual como quiser e ele não será alterado a menos que você deseje.

    
por 17.04.2013 / 14:55