Conecte-se ao ESX usando o console local / SSH e tente o seguinte:
esxcfg-volume -l
esxcfg-volume -m <datastorename>
o primeiro lista seus datastores e seu status, o segundo monta-o
Eu executo o ESXI 5.1 e todas as minhas máquinas virtuais estão em um NAS mapeado pelo datastore iSCI.
Meu roteador quebrou e obviamente todos os vm's foram cortados de seus discos.
O que eu entendo é que quando tal evento ocorre, o esxi para todas as E / S de vm's e trie para reconectar ao armazenamento de dados. Se não conseguir depois de um certo período de tempo, desmonte o armazenamento de dados, pois ele pode ter desaparecido para sempre ...
Eu pluguei um novo switch e reiniciei meu esxi. Posso ver que o armazenamento de dados aparece on-line na visualização do datacenter do vCenter (mas quando eu navego, nada aparece, nem consigo criar uma nova pasta ...) e na exibição de armazenamento do meu host, o armazenamento de dados não aparece .. Se eu tentar adicionar um novo datastore ao host e selecionar iSCSI / LUN, nada aparecerá.
Ao lado, no NAS (um Synology) eu posso ver que não há conexão ativa no meu LUN ...
Portanto, a grande questão é: Como obter meu armazenamento de dados e todas as minhas vm de volta?
Conecte-se ao ESX usando o console local / SSH e tente o seguinte:
esxcfg-volume -l
esxcfg-volume -m <datastorename>
o primeiro lista seus datastores e seu status, o segundo monta-o
Apesar da configuração de rede que levou à situação, essa continua sendo uma questão legítima: qual é a melhor maneira de fazer com que um host ESXi veja seu armazenamento iSCSI novamente sem uma reinicialização?
Observação: não consegui fazer isso funcionar, pois toda a minha pilha de rede era FUBAR e precisei reiniciar o ESXi para recuperá-lo. Estou postando isso como uma resposta porque o que eu encontrei pode ser útil para aqueles que encontrarem essa questão no futuro.
O link mais útil é este artigo da VMware KB intitulado Não é possível remontar um armazenamento de dados após uma perda de dispositivo permanente (PDL) não planejada (2014155)
O "não voltará" parece ser um recurso destinado à proteção de dados. Todas as VMs que estavam usando o armazenamento que desapareceu são feitas, por mais temporária que seja a perda "permanente" do dispositivo. Qualquer máquina virtual que estivesse usando o armazenamento que desapareceu deve ser desligada (se possível) ou desligada (mais provavelmente) .
Antes de tentar fazer com que o servidor ESXi veja o armazenamento novamente, verifique se ele está realmente lá por meio do processo no artigo da VMware KB intitulado Solucionando problemas de conectividade iSCSI LUN em hosts ESX / ESXi (1003681) Você pode descobrir que toda a sua pilha de rede está FUBARizada no processo. Eu sei que fiz ...
Do primeiro artigo da VMware KB:
(Nota: para iSCSI, os dispositivos podem não ser IDs "naa" e serão semelhantes a "t10.IET_". Eu recomendo strongmente cortar e colar em vez de tentar digitar essas monstruosidades à mão.)
O comando para encontrar os IDs foi inutilmente enterrado no meio do artigo original - aqui é para sua conveniência, já que você, sem dúvida, precisará dele para encontrar o argumento apropriado para a opção -d
em esxcli storage core device world list -d <ID>
:
# esxcfg-scsidevs --uids
Isso mostra os IDs "t10" assim:
Primary UID Other UID mpx.vmhba45:C0:T0:L0 vml.0005000000766d68626135353a313a31 naa.60022190becbe0003b3e818108cdf2d5 vml.0200000000600221c0becce0001b3b918108cdf2c550455e4320c6 t10.IET_____000100000000000000000000000000000000000000000000 vml.010c000000202020202020202020202020202020202020202020202020202020202020626561663e30436e6e7f726f t10.IET_____000100010000000000000000000000000000000000000000 vml.0100010000202020202020202020202020202020202020202020202020202020202020626561693131464952545541
Run this command to see the world that has the device open for the LUN:
#
esxcli storage core device world list -d <t10_id>
For example:
#
esxcli storage core device world list -d t10.IET_____000100010000000000000000000000000000000000000000
You see output similar to:
Device World ID Open Count World Name------------------------------------------------------------ -------- ---------- ----------t10.IET_____000100010000000000000000000000000000000000000000 2060 1 idle0If a VMFS volume is using the device indirectly, the world name includes the string idle0. If a virtual machine uses the device as an RDM, the virtual machine World ID is displayed. If any other process is using the raw device, the corresponding information is displayed.
Notes:
If the host is not responding, run the command
esxcfg-scsidevs –-list
to get the corresponding datastore name. Ensure all virtual machines registered on the volume in a PDL state do not require any further steps. If you have a virtual machine in that state, attempting to Retry or Cancel an operation will not return the virtual machine world ID. Click Cancel as the Retry operation cannot succeed unless the volume is remounted.Run this command to list all virtual machines running on the ESXi 5.x host and identify the virtual machine registered on that LUN:
#
esxcli vm process list
To kill the virtual machine World ID, run this command:
#
esxcli vm process kill --type=force --world-id=World ID
For example:
#
esxcli vm process kill --type=force --world-id=12131
Rescan the storage using this command:
#
esxcfg-rescan -u vmhba#
Run this command to see the device state:
#
esxcli storage core device list -d <t10-id>
If the issue persists, reboot the ESXi 5.x host where virtual machine was registered.
Tags iscsi vmware-esxi datastore