Atribuir e remover vários LUNs de VMs no ESXi 4

Atribuir e remover vários LUNs de VMs no ESXi 4

Atualmente temos um ambiente de teste onde criamos centenas de LUNs em nosso array de armazenamento conectado à SAN, exportamos-os para um ou mais servidores (físicos), executamos testes nos dados contidos nos LUNs, depois os destruímos e repetimos.

Gostaríamos de usar VMs como servidores, mas estamos tendo problemas com a atribuição manual de centenas de LUNs a cada VM individual (onde, como antes com os servidores físicos, poderíamos apenas configurar o zoneamento para fazer isso e fazer uma nova varredura do HBA) .

Alguma sugestão sobre como lidar com esta situação? Uma solução pode ser VM de caminho direto IO (mas não temos o hardware necessário no momento para isso) ou configurar um script para verificar novamente automaticamente novos LUNs no nível ESX e, em seguida, atribuir automaticamente os LUNs a determinados VMs (o que eu presumo que poderia ser feito por meio de uma API?).

Responder1

Não vejo por que você não deveria conseguir fazer isso com qualquer configuração ESX\ESXi padrão.

Você deve conseguir fazer isso com mapeamentos de dispositivos brutos. Supondo que os procedimentos de zoneamento e apresentação de LUN na extremidade da SAN permaneçam inalterados, você pode usar vmkfstools para instruir o ESX a verificar novamente e detectar os novos LUNs no nível do host. Depois que isso for encontrado, você poderá criar VMDKs e adicioná-los à VM ou apresentar os volumes inteiros como Raw Device Mappings (RDMs).

Com ESX você pode criar scripts na linha de comando do Service Console, mas para ESXi você precisará usar o PowerCLI (Powershell) ou as ferramentas Perl CLI. ODispositivo de gerenciamento vSphereé um dispositivo Linux que possui todas as ferramentas pré-embaladas se você quiser seguir esse caminho. A documentação para todas as três abordagens CLI pode ser encontradaaqui.

O esboço geral do que você deseja fazer é:

1. Procure novamente os novos LUNs no host.

vicfg-rescan [vmhbaX]   

Você provavelmente desejará apenas verificar os HBAs relevantes que o LUN é apresentado para substituir vmhbaX pelos nomes de HBA relevantes que estão conectados à sua SAN.

2. Crie um stub RDM que mapeie para o novo LUN

vmkfstools –a lsilogic -r /vmfs/devices/disks/vmhba1:0:0:0 /vmfs/volumes/storage1/testluns/testrdmlun.vmdk

Você precisará descobrir a referência LUN para seus LUNS e definir o vmdk para um local e um nome que façam sentido em seu ambiente. Existem algumas variantes de sintaxe com isso e eu não usei isso no ESXi 4, mas esse formato funcionava bem para mim no 3.5. Existem dois modos RDM, se você precisar de mais funcionalidade SCSI, o modo Raw Device Mapping Passthrough pode ser mais apropriado para você; nesse caso, substitua o -r por um -x.

3. Apresente o novo disco às suas VMs.

Depois de preparar o disco dessa maneira, há algumas maneiras de apresentá-lo ao sistema operacional na VM. Você pode editar a configuração da VM e adicionar uma entrada para este dispositivo, ou pode ter esse vmdk de destino específico já configurado em uma VM e executar as etapas de descoberta acima enquanto a VM está desligada. Se você deseja um mecanismo mais dinâmico, a melhor maneira de fazer o que deseja seria usar oUtilitário de montagem de disco VMware- isso permite montar diretamente o RDM (ou qualquer outro VMDK) de dentro do sistema operacional convidado sem precisar mexer na configuração da VM.

Se você estiver usando a CLI remota para as partes rescan e vmkfstools, talvez seja necessário especificar o host de destino e as credenciais de autenticação como parte dos comandos.

A mesma abordagem poderia ser usada com arquivos VMDK padrão, mas você precisaria formatar o LUN como um VMFS primeiro e depois criar um VMDK adequado nele. Pelo que posso dizer pela sua descrição, não há nenhum benefício para você em fazer isso dessa maneira.

informação relacionada