domingo, 23 de abril de 2023

VMware Script to Clone vAPP

VMware Script - Script to Clone vAPP 

In this post I bring a script that will help you clone vAPP using powercli and can be improved and placed in the VRO. 

I hope it helps and I left your comment or doubt, which I will respond as soon as possible.


### Script in get-view for clone virtualApps ###

# Mob reference you need to access /mob/ rootFolder > ManagedObjectReference:Datacenter > ManagedObjectReference:Folder >  ManagedObjectReference:ManagedEntity[] #

#---------------CloneVApp_Task---------------

$name = 'app-new-vro-powercli-v2' #Specify a vAPP New Name

$target = New-Object VMware.Vim.ManagedObjectReference

$target.Type = 'ResourcePool'

$target.Value = 'resgroup-9' #Get resoruce pool name by vCenter/Mob

$spec = New-Object VMware.Vim.VAppCloneSpec

$spec.NetworkMapping = New-Object VMware.Vim.VAppCloneSpecNetworkMappingPair[] (1)

$spec.NetworkMapping[0] = New-Object VMware.Vim.VAppCloneSpecNetworkMappingPair

$spec.NetworkMapping[0].Destination = New-Object VMware.Vim.ManagedObjectReference

$spec.NetworkMapping[0].Destination.Type = 'DistributedVirtualPortgroup'

$spec.NetworkMapping[0].Destination.Value = 'dvportgroup-27' #Specify Porgroup Destination - - Get this information by vCenter/Mob

$spec.NetworkMapping[0].Source = New-Object VMware.Vim.ManagedObjectReference

$spec.NetworkMapping[0].Source.Type = 'DistributedVirtualPortgroup'

$spec.NetworkMapping[0].Source.Value = 'dvportgroup-27' #Specify Porgroup Source - Get this information by vCenter/Mob

$spec.VmFolder = New-Object VMware.Vim.ManagedObjectReference

$spec.VmFolder.Type = 'Folder'

$spec.VmFolder.Value = 'group-v4' #Specify VM Folder - Get this information by vCenter/Mob

$spec.Host = New-Object VMware.Vim.ManagedObjectReference

$spec.Host.Type = 'HostSystem'

$spec.Host.Value = 'host-14' #Specify Host ESXI - Get this Information by vCenter/Mob

$spec.Location = New-Object VMware.Vim.ManagedObjectReference

$spec.Location.Type = 'Datastore'

$spec.Location.Value = 'datastore-19' #Specify Datastore - Get datastore by vCenter/Mob

$spec.Provisioning = 'thin'

$spec.ResourceSpec = New-Object VMware.Vim.ResourceConfigSpec

$spec.ResourceSpec.MemoryAllocation = New-Object VMware.Vim.ResourceAllocationInfo

$spec.ResourceSpec.MemoryAllocation.Shares = New-Object VMware.Vim.SharesInfo

$spec.ResourceSpec.MemoryAllocation.Shares.Shares = 163840 #Set memory size

$spec.ResourceSpec.MemoryAllocation.Shares.Level = 'normal'

$spec.ResourceSpec.MemoryAllocation.Limit = -1

$spec.ResourceSpec.MemoryAllocation.Reservation = 0

$spec.ResourceSpec.MemoryAllocation.ExpandableReservation = $true

$spec.ResourceSpec.ScaleDescendantsShares = 'disabled'

$spec.ResourceSpec.CpuAllocation = New-Object VMware.Vim.ResourceAllocationInfo

$spec.ResourceSpec.CpuAllocation.Shares = New-Object VMware.Vim.SharesInfo

$spec.ResourceSpec.CpuAllocation.Shares.Shares = 4000 #Set vCPU Size

$spec.ResourceSpec.CpuAllocation.Shares.Level = 'normal'

$spec.ResourceSpec.CpuAllocation.Limit = -1

$spec.ResourceSpec.CpuAllocation.Reservation = 0

$spec.ResourceSpec.CpuAllocation.ExpandableReservation = $true

$_this = Get-View -Id 'VirtualApp-resgroup-v1001' #Get VIrtualApp ID by MOB 


# You could duplicate this Script by vApp

#-------- Starting--------#

$_this.CloneVApp_Task($name, $target, $spec)

segunda-feira, 10 de abril de 2023

VMware HCX Enterprise - OS Assisted Migration - Parte 1

VMware HCX Enterprise  - Migrando Workloads Não-vSphere

Desde 2019 que os clientes podem migrar Workloads Não-vSphere para uma infraestrutra VMware com o HCX Enterprise e a pergunta comum que fica é, como fazer? 

Além disso, não encontrei posts no Brasil em nenhum lugar e  quando expandimos essa pesquisa em outros países,  também não ha conteúdos falando sobre HCX, então por que não escrever e detalhar um pouco os procedimentos e possibilidade com HCX.


Podemos usar o HCX OS Assisted Migration para migração desse tipo de cargas de trabalho Não-vSphere, os workloads Não-vSphere podem está rodando em ambientes RedHat OpenStack/KVM ou  executando em ambientes Microsoft Hyper-V.

E como faremos isso?

O HCX OS Assisted Migration usa um  Agent chamado de Sentinel que deve ser instalado nas máquinas virtuais que serão migradas baseadas em Linux ou Windows , o Agent ira reunir as informaçōes da máquina virtual Não-vSphere e também  auxilia na comunicação e replicação de seu ambiente para um ambiente VMware vSphere SDDC.  


E como preparar minha infraestrutra? O que preciso instalar?

O HCX Sentinel  Agent deve ser instalado em todas as máquinas virtuais e o serviço HCX Assisted Migration deve ser habilitado no HCX.


Procedimentos para Instalação do Sentinel

  1. A partir do HCX Connector, navegue para Interconnect > Multi-Site Service Mesh > Sentinel Management.
  2. Baixe o pacote de software apropriado para o ambiente que você está migrando.

    O Sentinel software bundle é baixado localmente como <SGW-name>-linux-sentinel-installer.sh ou  <SGW-name>-windows-sentinel-bundle.zip.

  3. Instale o software Linux ou Windows em todas as VMs convidadas que serão migradas:
    • HCX Sentinel para Linux

    1. Acesse seu Guest via SSH.
    2. Copie o arquivo linux-sentinel-installer.sh para o Sistema Operacional.
    3. A partir do terminal, insira o  comando bash linux-sentinel-installer.sh.
    4. Selecione yes, e Enter.
    • HCX Sentinel installation Para Windows

    1. Acesse o Sistema Operacional Windows
    2. Copie o arquivo windows-sentinel-bundle.zip para o Sistema Operacional.
    3. Descompacte o bundle.
    4. Execute o arquivo install-sentinel.exe.
    5. Clique Next para continuar.
    6. Aceite as licenças e clique em Next para continuar.
    7. Alterar o local de instalação se necessário e clique em Next.
    8. Clique em Finish.

Com serviço habilitado, alguns requisitos precisam ser considerados, por exemplo, é obrigatório NSX-T no site de destino, e caso a rede não esteja estendida e requeira que o endereço Ip e MAC Address sejam mantidos, será necessário também habilitar e configurar o Network Extension.

Com o serviço do HCX Assisted Migration Habilitado, o ServiceMesh executará o processo de criação de um servidor SDR, SGW e um appliance do IX em cada lado.


Exemplo de arquitetura do HCX Assisted Migration:





Próximo post: Como configurar e migrar uma Máquina Virtual.
 



VMware ESXI - Excedeu total de dispositivos que podem ser detachados

A mensagem de erro ""Exceeded the number of devices that can be detached. Clean up all stale detach entries" aparece ao  tentar executar um detach de LUN a partir do ESXI, atividade bastante comum no dia a dia dos administradores de infraestrutura.


Referência para o KB da VMware:

https://kb.vmware.com/s/article/59254


Siga os procedimentos abaixo para cleanup:

1. Execute o comando abaixo  para verificar se já existem 512 dispositivos listados no ESXI:

        vsish -e ls /storage/scsifw/persistDeviceAttrs/uids | wc -l


2. Liste os discos LUN/RDM atualmente em uso no host ESXI:

        Get-VMHost XXX |Get-ScsiLun -LunType disk | Export-Csv c:\temp\XXX_lun.csv


3. Liste os discos LUN/RDM armazenados no VSI Node:

         vsish -e ls /storage/scsifw/persistDeviceAttrs/uids >> /tmp/vsi.txt


Em seguida, importe as listas dos passos 2 e 3 para um arquivo em Excel e localize os discos LUN/RDM que não estão sendo utilizados ​​atualmente. 


PS Script

-----------------------------------

#Connect ESXi server

Connect-viserver "vCentername ou Ip"


#Import LUN/RDM list which need to remove the perennially reserved in ESXi host

$NaaList = Import-CSV "C:\Temp\Naalist.csv"

foreach ($id in $Naalist){


#Assign Variables

$Naaid = $id.WWN


#Remove the perennially reserved flag on the host

$myesxcli = get-esxcli -VMHost 10.172.x.x

$myesxcli.storage.core.device.setconfig($false, "$Naaid", $false)

}

-----------------------------------

4. Execute o comando abaixo no host ESXi e agora siga com detach do disk:

          vsish -e ls /storage/scsifw/persistDeviceAttrs/uids | wc-l

VMware HCX Enterprise - OS Assisted Migration - Parte 2

 Nessa segunda parte do VMware HCX Enterprise - OS Assisted Migration, irei demonstrar como instalar o Sentinel Agent nos servidores e como ...