Remover um LUN no ESXi/ESX 4.x é complexo. Foram feitas melhorias no ESXi 5.0 e na versão posterior para simplificar o procedimento e facilitar a remoção de LUNs pelos Administradores.
Lista de verificação para desmontagem de um LUN
Antes de desmontar um LUN, certifique-se de que:
- Se o LUN estiver sendo usado como um repositório de dados VMFS, todos os objetos (como máquinas virtuais, instantâneos e modelos) armazenados no repositório de dados VMFS terão seus registros cancelados ou movidos para outro repositório de dados.
Nota: todas as imagens de CD/DVD localizadas no repositório de dados VMFS também devem ter seus registros cancelados nas máquinas virtuais.
- O repositório de dados não é usado para o "heartbeat" do vSphere HA.
- O repositório de dados não faz parte de um cluster de repositório de dados.
Para obter mais informações sobre clusters de repositório de dados, consulte:
- O repositório de dados não é gerenciado pelo Storage DRS.
Para obter mais informações sobre o Storage DRS, consulte:
- O repositório de dados não está configurado como uma partição de descarga de memória de diagnóstico.
Para obter mais informações, consulte Configuring a diagnostic coredump partition on an ESXi 5.x host (2004299).
- O Storage I/O Control está desativado no repositório de dados.
Para obter mais informações, consulte a seção Managing Storage I/O Resources em vSphere 5.1 Resource Management Guide ou vSphere 5.0 Resource Management Guide.
- Nenhum script ou utilitário de terceiros em execução no host ESXi pode acessar o LUN que tem problema. Se o LUN está sendo usado como repositório de dados, cancele o registro de todos os objetos (como máquinas virtuais e modelos) armazenados no repositório de dados.
- Se o LUN está sendo usado como um RDM, remova o RDM da máquina virtual. Clique em Edit Settings, selecione o disco rígido RDM e clique em Remove. Selecione Delete from disk, se não estiver selecionado, e clique em OK.
Nota: isso destrói o arquivo de mapeamento, mas não o conteúdo LUN.
- Verifique se o LUN/repositório de dados é usado como o local de rascunho persistente para o host. Para obter mais informações sobre o rascunho persistente, consulte Creating a persistent scratch location for ESXi 4.x and 5.x (1033696).
Este script PowerCLI pode ser usado para verificar o local de rascunho atual:
$vcServer = "vCenter01"
$cluster = "CL01"
$esxCred = Get-Credential
Connect-VIServer $vcServer | Out-Null
#Connect to ESX hosts in cluster
foreach ($esx in Get-Cluster $cluster | Get-VMHost) {
Connect-VIServer $esx -Credential $esxCred | Out-Null
Get-VMHostAdvancedConfiguration -Name "ScratchConfig.ConfiguredScratchLocation"
}
Nota: ao usar o vSphere Web Client com o vSphere 5.x e 6.x, somente essas verificações são realizadas durante a operação de desmontagem do repositório de dados:
- O host não deve ter nenhuma máquina virtual residente neste repositório de dados
- O host não deve usar o repositório de dados para pulsações de HA
Obtendo o ID de NAA do LUN a ser removido
No vSphere Client, esta informação é visível na janela Properties (Propriedades) do repositório de dados.
No host ESXi, execute o comando:
# esxcli storage vmfs extent list
A saída é semelhante a:
Volume Name VMFS UUID Extent Number Device Name Partition
----------- ----------------------------------- ------------- ------------------------------------ ---------
datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 0 naa.6001c230d8abfe000ff76c198ddbc13e 3
Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 0 naa.6001c230d8abfe000ff76c2e7384fc9a 1
Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 0 naa.6001c230d8abfe000ff76c51486715db 1
LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 0 naa.60a98000572d54724a34655733506751 1
Anote o ID do NAA do repositório de dados para usar esta informação posteriormente neste procedimento.
Nota: como alternativa, é possível executar o comando esxcli storage filesystem list, que lista todos os sistemas de arquivos reconhecidos pelo host ESXi.
Desmontando um LUN usando o vSphere Client
Para desanexar o dispositivo de armazenamento usando o vSphere Client, consulte a seção Detach Storage Devices no vSphere 5.0 Storage Guide.Cuidado: a desmontagem do repositório de dados deve ser bem-sucedida usando o método documentado antes de concluir as etapas descritas abaixo. Para obter mais informações, consulte a seção Unmount VMFS or NFS Datastores no vSphere 5.0 Storage Guide.Para desmontar um LUN de um host ESXi 5.0 usando o vSphere Client: - Se o LUN for um RDM, vá para a etapa 2. Caso contrário, na guia Configuration do host ESXi, clique em Storage. Clique com o botão direito do mouse no repositório de dados que está sendo removido e clique em Unmount.
A janela Confirm Datastore Unmount (Confirmar desmontagem do repositório de dados) aparece. Quando os critérios de pré-requisitos forem aprovados, clique em OK.
Nota: para desmontar um repositório de dados de múltiplos hosts no vSphere Client, clique na tela Hosts and Clusters > Datastores and Datastore Clusters (Ctrl+Shift+D). Realize a tarefa de desmontagem e selecione os hosts apropriados que devem deixar de acessar o repositório de dados a ser desmontado. - Clique em Devices (em Configuration > Storage):
- Clique com o botão direito do mouse no ID de NAA do LUN (como observado acima) e clique em Detach. A janela Confirm Device Unmount é exibida. Quando os critérios de pré-requisitos forem aprovados, clique em OK. Em Operational State of the Device, o LUN está listado como Unmounted.
Nota: a função Detach (Desanexar) deve ser executada em cada host e não se propaga a outros hosts no vCenter Server. Se um LUN for apresentado a um grupo de iniciador ou a um grupo de armazenamento na SAN, a função Detach deverá ser executada em cada host nesse grupo de iniciador antes de cancelar o mapeamento de LUN no grupo de SAN. Caso esta etapa não seja seguida, isso resultará em um estado all-paths-down (APD) para esses hosts no grupo de armazenamento cuja função Detach não foi executada com o LUN não mapeado.
- Confirme se o LUN foi desanexado com sucesso. Assim, o LUN pode ser ocultado do SAN com segurança. Para obter mais informações, entre em contato com o fornecedor da matriz de armazenamento.
- Realize uma nova verificação em todos os hosts ESXi que tiveram visibilidade no LUN. O dispositivo é automaticamente removido dos Storage Adapters.
Quando o dispositivo é desanexado, ele permanece em um estado desmontado, mesmo se o dispositivo for reapresentado (ou seja, o estado desanexado é persistente). Para colocar um dispositivo novamente on-line, ele deve estar anexado.
Se você deseja que o dispositivo seja permanentemente desativado de um host ESXi, remova manualmente as entradas NAA da configuração do host:
- Para listar os dispositivos desanexados permanentemente, execute o comando:
# esxcli storage core device detached list
A saída é semelhante a:
Device UID State
------------------------------------ -----
naa.50060160c46036df50060160c46036df off
naa.6006016094602800c8e3e1c5d3c8e011 off
- Para remover permanentemente do sistema as informações de configuração do dispositivo, execute o comando:
# esxcli storage core device detached remove -d NAA_ID
Por exemplo:
# esxcli storage core device detached remove -d naa.50060160c46036df50060160c46036df
Desmontando um LUN usando a linha de comando
Para desmontar um LUN de um host ESXi 5.x/6.x usando a linha de comando:
- Se o LUN for um RDM, vá para a etapa 4. Caso contrário, para obter um lista de todos os repositórios de dados montados em um host ESXi, execute o comando:
# esxcli storage filesystem list
A saída exibida, que lista todos os repositórios de dados do VMFS, é semelhante a:
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
/vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6 datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 true VMFS-5 140660178944 94577360896
/vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4 Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 true VMFS-3 146028888064 7968129024
/vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4 Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 true VMFS-3 146028888064 121057050624
/vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4 LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 true VMFS-5 146028888064 4266131456
- Para localizar o identificador exclusivo do LUN que abriga o repositório de dados a ser removido, execute o comando:
# esxcfg-scsidevs -m
Este comando gera uma lista de volumes de repositório de dados VMFS e seus identificadores exclusivos relacionados. Anote o identificador exclusivo (NAA_ID) para o repositório de dados que você deseja desmontar, pois essa informação será usada posteriormente.
Para obter mais informações sobre o comando esxcfg-scsidevs, consulte Identifying disks when working with VMware ESX/ESXi (1014953).
- Desmonte o repositório de dados executando o comando:
# esxcli storage filesystem unmount [-u UUID | -l label | -p path ]
Por exemplo, use um destes comandos para desmontar o repositório de dados LUN01:
# esxcli storage filesystem unmount -l LUN01
# esxcli storage filesystem unmount -u 4e414917-a8d75514-6bae-0019b9f1ecf4
# esxcli storage filesystem unmount -p /vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4
Nota: se o sistema de arquivos do VMFS que você está tentando desmontar tiver E/S ativa ou não tiver cumprido os pré-requisitos para desmontar o repositório de dados do VMFS, será exibido um erro em VMkernel logs semelhante a:
WARNING: VC: 637: unmounting opened volume ('4e414917-a8d75514-6bae-0019b9f1ecf4' 'LUN01') is not allowed.
VC: 802: Unmount VMFS volume f530 28 2 4e414917a8d7551419006bae f4ecf19b 4 1 0 0 0 0 0 : Busy
- Para verificar se o repositório de dados foi desmontado, execute o comando:
# esxcli storage filesystem list
A saída é semelhante a:
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
/vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6 datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 true VMFS-5 140660178944 94577360896
/vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4 Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 true VMFS-3 146028888064 7968129024
/vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4 Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 true VMFS-3 146028888064 121057050624
LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 false VMFS-unknown version 0 0
O campo Mounted está definido como false, o campo Type está definido como VMFS-unknown version e não existe nenhum Mount Point.
Nota: o estado desmontado do repositório de dados do VMFS persiste entre as reinicializações. Esse é o comportamento padrão. Se você precisar desmontar um repositório de dados temporariamente, poderá anexar a bandeira --no-persist ao comando unmount.
- Para desanexar o dispositivo/LUN, execute o comando:
# esxcli storage core device set --state=off -d NAA_ID
- Para verificar se o dispositivo está off-line, execute o comando:
# esxcli storage core device list -d NAA_ID
A saída exibida, que mostra o Status do disco como off, é semelhante a:
naa.60a98000572d54724a34655733506751
Display Name: NETAPP Fibre Channel Disk (naa.60a98000572d54724a34655733506751)
Has Settable Display Name: true
Size: 1048593
Device Type: Direct-Access
Multipath Plugin: NMP
Devfs Path: /vmfs/devices/disks/naa.60a98000572d54724a34655733506751
Vendor: NETAPP
Model: LUN
Revision: 7330
SCSI Level: 4
Is Pseudo: false
Status: off
Is RDM Capable: true
Is Local: false
Is Removable: false
Is SSD: false
Is Offline: false
Is Perennially Reserved: false
Thin Provisioning Status: yes
Attached Filters:
VAAI Status: unknown
Other UIDs: vml.020000000060a98000572d54724a346557335067514c554e202020
Executar o comando partedUtil getptbl no dispositivo mostra que o dispositivo não foi encontrado.
Por exemplo:
# partedUtil getptbl /vmfs/devices/disks/naa.60a98000572d54724a34655733506751
Error: Could not stat device /vmfs/devices/disks/naa.60a98000572d54724a34655733506751 - No such file or directory.
Unable to get device /vmfs/devices/disks/naa.60a98000572d54724a34655733506751
- Se o dispositivo tiver que ser desativado permanentemente, será possível ocultar o LUN do SAN. Para obter mais informações, entre em contato com a equipe de armazenamento, o administrador de armazenamento ou o fornecedor da matriz de armazenamento.
- Para fazer uma nova verificação no host ESXi, execute o comando:
# esxcli storage core adapter rescan [ -A vmhba# | --all ]
Os dispositivos são automaticamente removidos dos Storage Adapters (Adaptadores de Armazenamento).
Notas:
- Deve-se executar uma nova verificação em todos os hosts visíveis para o LUN removido.
- Quando o dispositivo é desanexado, ele permanece em um estado desmontado, mesmo se o dispositivo for reapresentado (ou seja, o estado desanexado é persistente). Para colocar um dispositivo novamente on-line, ele deve estar anexado. Para fazer isso através da linha de comando, execute o comando:
# esxcli storage core device set --state=on -d NAA_ID
- Se o dispositivo tiver que ser desativado permanentemente de um host ESXi (ou seja, o LUN foi ou será destruído), remova as entradas NAA da configuração do host executando os seguintes comandos:
- Para listar os dispositivos desanexados permanentemente:
# esxcli storage core device detached list
A saída é semelhante a:
Device UID State
---------------------------- -----
naa.50060160c46036df50060160c46036df off
naa.6006016094602800c8e3e1c5d3c8e011 off
- Para remover permanentemente do sistema as informações de configuração do dispositivo:
# esxcli storage core device detached remove -d NAA_ID
Por exemplo:
# esxcli storage core device detached remove -d naa.50060160c46036df50060160c46036df
A referência à configuração do dispositivo é removida permanentemente da configuração do host ESXi.
Nota: se o dispositivo for desanexado, mas ainda é apresentado (a etapa 7 foi ignorada), o comando anterior falha ao remover permanentemente o dispositivo do sistema e o dispositivo será automaticamente reanexado. A etapa 7 deve ser concluída para o dispositivo ser removido permanentemente.
Automatizando a desanexação de repositórios de dados usando o PowerCLI e o vSphere SDK for Perl
É possível automatizar o processo de desanexação de repositórios de dados de múltiplos hosts usando scripts PowerCLI.
Usando o PowerCLI
Para desanexar um dispositivo de armazenamento usando o PowerCLI:
- Consulte o VMware Contributed Sample Code disclaimer.
- Faça download do script PowerCLI disponível em Automating Datastore/Storage Device Detachment in vSphere 5.
Nota: este script PowerCLI é fornecido exatamente como está e tem suporte adequado da comunidade. Se você tiver problemas com este script PowerCLI, procure ajuda nos fóruns VMware Communities.
- Importe o script usando o comando:
Import-Module path_to_script
- Certifique-se de que já desmontou o repositório de dados de destino. Para obter mais informações, consulte a seção Unmount VMFS or NFS Datastores no vSphere 5.0 Storage Guide.
- Liste todos os repositórios de dados e seus hosts anexados executando o comando:
Get-Datastore | Get-DatastoreMountInfo | Sort Datastore, VMHost | FT –AutoSize
A saída é semelhante a:
Datastore VMHost Lun Mounted State
--------- ------ --- ------- -----
IX2ISCSI01 esx01.vmw.local naa.5000144f52145699 False Attached
IX2ISCSI01 esx02.vmw.local naa.5000144f52145699 False Attached
IX2ISCSI01 esx03.vmw.local naa.5000144f52145699 False Attached
LocalDatastore esx01.vmw.local mpx.vmhba1:C0:T0:L0 True Attached
LocalDatastore esx02.vmw.local mpx.vmhba1:C0:T0:L0 True Attached
esx04-Internal-150GB esx04.vmw.local t10.ATA_____GB0160EAPRR_____________________________WCAT25563003________ True Attached
esx04-Internal-500GB esx04.vmw.local t10.ATA_____WDC_WD5000AAKS2D00V1A0________________________WD2DWMAWF0069467 True Attached
esx03-Internal-150GB esx03.vmw.local t10.ATA_____GB0160EAPRR_____________________________WCAT25704089________ True Attached
esx03-Internal-500GB esx03.vmw.local t10.ATA_____WDC_WD5000AAKS2D00YGA0________________________WD2DWCAS85034601 True Attached
- Selecione o repositório de dados apropriado, grave o nome abaixo da coluna Datastore e confirme se a coluna Mountedcontém o valor False para todos os hosts.
- Desanexe os dispositivos de todos os hosts executando o comando:
Get-Datastore datastore_name| Detach-Datastore
Em que datastore_name é o nome do repositório de dados gravado na etapa 3.
A saída é semelhante a:
Detaching LUN naa.5000144f52145699 from host esx01.vmw.local...
Detaching LUN naa.5000144f52145699 from host esx02.vmw.local...
Detaching LUN naa.5000144f52145699 from host esx03.vmw.local...
Nota: O comando powercli Get-Datastore datastore_name| Detach-Datastore só desanexa a extenção da cabeça (primeira extensão) do repositório de dados que é composto por múltiplas extensões. Esta etapa não funciona para o repositório de dados com múltiplas extensões.
Usando o vSphere SDK for Perl
Para desanexar um dispositivo de armazenamento usando o Perl:
- Consulte o VMware Contributed Sample Code disclaimer.
- Implante o script Perl disponível com suporte da comunidade VMware vSphere Blog, Automating Datastore/Storage Device Detachment in vSphere 5.
Cuidado: antes de continuar, certifique-se de que já desmontou o repositório de dados de destino. Para obter mais informações, consulte a seção Unmount VMFS or NFS Datastores no vSphere 5.0 Storage Guide.
- Liste todos os repositórios de dados e seus hosts anexados executando o comando:
./lunManagement.pl --server vcenter_ip --username user --operation list
Em que vcenter_ip é o endereço IP do vCenter Server gerenciando seus hosts e user é um usuário com privilégios de administrador.
- Será solicitada uma senha para a conta de usuário usada na etapa 3. Se a senha correta for inserida, o script vai gerar uma saída semelhante à seguinte:
Datastore: esx01-local-storage-1 LUN: mpx.vmhba1:C0:T0:L0
esx01.vmw.local MOUNTED ATTACHED
Datastore: esx02-local-storage-1 LUN: mpx.vmhba1:C0:T0:L0
esx02.vmw.local MOUNTED ATTACHED
Datastore: iSCSI-1 LUN: naa.600144f0a33bc20000004e9772510001
esx01.vmw.local UNMOUNTED ATTACHED
esx02.vmw.local UNMOUNTED ATTACHED
Datastore: iSCSI-2 LUN: naa.600144f0a33bc20000004e9772ee0002
esx01.vmw.local MOUNTED ATTACHED
esx02.vmw.local MOUNTED ATTACHED
Datastore: iSCSI-3 LUN: naa.600144f0a33bc20000004e9773560003
esx01.vmw.local MOUNTED ATTACHED
esx02.vmw.local MOUNTED ATTACHED
Datastore: iSCSI-4 LUN: naa.600144f0a33bc20000004e9773560004
esx01.vmw.local MOUNTED ATTACHED
esx02.vmw.local MOUNTED ATTACHED
Datastore: iSCSI-5 LUN: naa.600144f0a33bc20000004e9773570005
esx01.vmw.local MOUNTED ATTACHED
esx02.vmw.local MOUNTED ATTACHED
- Confirme se o repositório de dados que você deseja desanexar foi desmontado, verificando a palavra-chave UNMOUNTEDabaixo do nome do repositório de dados aplicável e do valor NAA.
- Desanexe os dispositivos em múltiplos hosts executando o comando:
./lunManagement.pl --server vcenter_ip --username user --operation detach --datastore datastore
Em que vcenter_ip é o endereço IP do vCenter Server, user é um usuário com privilégios de administrador e datastore é o nome do repositório de dados identificado na etapa 4.
- Será solicitada uma senha e a confirmação que você deseja realizar a operação. Depois de fornecer a senha correta e confirmar o aviso, a ferramenta vai gerar uma saída semelhante à seguinte:
Detaching LUN "0200000000600144f0a33bc20000004e9772510001434f4d535441" from Host "esx01.vmw.local" ...
Successfully detached LUN!
Detaching LUN "0200000000600144f0a33bc20000004e9772510001434f4d535441" from Host "esx02.vmw.local" ...
Successfully detached LUN!
Nota: Depois de desanexar o LUN, ele pode ser ocultado do armazenamento. No entanto, se o comando esxcli storage core device detached remove -d NAA_ID for executado para desativar permanentemente o LUN do host ESXI antes de ocultar o LUN do armazenamento, o LUN será reanexado ao host e deverá ser desanexado novamente.
Nota TSE: em sequência, você ainda visualizará alarmes de conectividade de armazenamento do vCenter. Seria vantajoso desativar o alarme ao realizar as tarefas.