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
- Alguém conhece um método mais fácil de mapear discos do vSphere e dispositivos Linux?
- 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 ...)
- Posso mapear dispositivos com segurança usando essas strings uuid?
- Que tal discos virtuais SCSI? Não há uuid visível então ...
- 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?