terça-feira, 13 de janeiro de 2015

Renomeando máquinas virtuais através do PowerCLI

                 

Existem algumas situações em que um simples script pode nos ajudar a ganhar um bom tempo na execução de tarefas repetitivas. Recentemente passei por uma situação onde seria necessário renomear uma grande quantidade de máquinas virtuais. As VMs deveriam ser renomeadas tanto no inventário do vCenter como no domínio de rede. Imagina só o trabalho de ter que renomear máquina por máquina no vCenter e também no AD!?!

Procurando uma forma mais ágil para executar a atividade, acabei me deparando com alguns scripts PowerCLI, que depois de alguns testes e adaptações, me pouparam um bom tempo.

Abaixo compartilho com vocês...
- Script para renomear as VMs no inventário do vCenter

Connect-VIServer [vcenter-address] –User [vcenter-user] -Password [user-password]
$csv=Import-CSV "C:\temp\script\rename.csv"
Foreach ($vm in $csv){
Get-VM $($vm.oldname) | Set-vm -name $($vm.newname) -confirm:$false | 
}

O script acima é extremamente simples, basicamente será preciso criar um arquivo do tipo .csv contendo duas colunas, uma com o nome atual da VM no inventário do vCenter e outra com o nome desejado.


O script importa este arquivo .csv e linha por linha vai alterando o nome das respectivas VMs. 

Um detalhe importante que deve ser levado em consideração ao renomear VMs no inventário do vCenter é que os arquivos que compõem a máquina virtual, localizados no datastore onde a mesma foi alocada, não são alterados. A única maneira de fazer essa alteração é movimentando a VM para um outro datastore através de uma operação de Storage vMotion. O ideal é fazer essa operação o quanto antes, uma vez que essa diferença na nomenclatura da VM pode dificultar um futuro troubleshooting.

- Script para renomear as VMs Windows no domínio 

Connect-VIServer [vcenter-address] –User [vcenter-user] -Password [user-password]
$vms=Import-CSV "C:\temp\script\listavms.csv"
Foreach ($VM in $vms){
$VMInfo = Get-VMGuest ($vm.Name) | select-Object VmName, Hostname 
$VCName = $VMInfo.VmName
$GuestName = $VMInfo.HostName
If ($GuestName -ne $VCName) {
Write-Host "$VCName is currently $GuestName... renaming"
$renamecomputer = "netdom renamecomputer $GuestName /newname:$VCName /userd:[Domain\username] /passwordd:[domain-user-password] /force"
Invoke-VMScript -VM $VCName -GuestUser "[administrador-local]" -GuestPassword "[administrador-local-password]" -ScriptType Bat -ScriptText $renamecomputer
restart-vmguest -VM $VCName -Confirm:$false
}
}

Esse script é um pouco mais complexo que o anterior. O que ele faz é ler a lista das VMs que devem ter o nome de domínio alterado em um arquivo .csv. 

Em seguida, para cada máquina virtual da lista, o script compara o nome atual no inventário do vCenter com o hostname (nome do guest OS), e se for diferente, renomeia a máquina no domínio com o mesmo nome utilizado no inventário do vCenter. Essa era a necessidade que eu tinha, mas o bom de se trabalhar com script é que podemos adaptar o código para o que a situação exige. 

terça-feira, 18 de novembro de 2014

VMware + Openstack

                 

A cada dia que passa tenho escutado mais e mais sobre Openstack, e sobre qual seria a sua relação com a VMware. É comum associar ambos como produtos concorrentes e assumir que se deve escolher entre um ou outro. Mas na verdade não é bem assim. Podemos sim escolher entre o Openstack e um produto VMware (neste caso vCloud Director ou vCAC), assim como também podemos optar em usar o Openstack em conjunto com o vSphere ESXi/vCenter. Para “clarear” o que estou dizendo, vou tentar explicar mais ou menos o que é esse tal de Openstack e como a VMware tem se mostrado interessada em também estar presente numa infraestrutura baseada no Openstack.

O que é o Openstack??

O Openstack é um projeto open source cujo objetivo é possibilitar que qualquer organização seja capaz de construir uma nuvem pública ou privada através de uma plataforma de gerenciamento de nuvem. Também pode ser considerado um sistema operacional para nuvem pois possibilita o gerenciamento em larga escala de todos os componentes de uma infraestrutura (computação, armazenamento, rede, etc...), assim como o SO tradicional gerencia os componentes de uma única máquina. O Openstack é voltado para a oferta de IAAS (Infraestrutura As A Service). 
  

O Openstack surgiu em 2010 de uma parceria entre a NASA e a Rackspace, cada uma trouxe um módulo da solução. A NASA era a responsável pelo módulo de processamento, cujo o nome do projeto é Nova. A Rackspace trouxe consigo o módulo de armazenamento de objetos, conhecido como Swift. Em 2012, surgiu a Openstack Foundation, uma organização sem fins lucrativos que passou a ser a responsável por promover o desenvolvimento, distribuição e adoção do Openstack. A organização já conta com mais de 9.500 membros de 100 países diferentes, e possui em seu conselho administrativo, executivos de grandes empresas do cenário mundial (Cisco, HP, IBM, Red Hat, Intel, Dell e etc...).

Veja aqui toda a linha do tempo do Openstack.

O Openstack é uma plataforma modular, composta por vários projetos independentes (também conhecidos como serviços), que podem ser implementados em conjunto ou separadamente. Atualmente os seguintes serviços estão disponíveis no Openstack:

- Compute (Nova)
- Networking (Neutron)
- Object Storage (Swift)
- Block Storage (Cinder)
- Dashboard (Horizon)
- Identity Service (Keystone)
- Image Service (Glance)
- Telemetry Service (Ceilometer)
- Orchestration Service (Heat)
- Database Service (Trove)

Não vou entrar em detalhes sobre cada um desses projetos, mas aqueles que tiverem interesse em conhecer mais sobre, é só clicar aqui

O diagrama abaixo mostra como cada um desses serviços se relacionam:


E a VMware, aonde entra nisso aí?

Como disse anteriormente, o Openstack é uma plataforma para gerenciamento da nuvem, mas não substitui a infraestrutura que deve existir para suportar essa nuvem. Ou seja, o módulo de processamento, por exemplo, não consiste de um hypervisor. Na verdade ele se conecta através de drivers a diversos hypervisors existentes atualmente (KVM, XenServer, Hyper-V, VMware e outros), além de servidores físicos (bare-metal). É comum achar que o Openstack é implementado apenas em cima de uma infraestrutura baseada no KVM (sem dúvida nenhuma a grande maioria das instalações de Openstack existentes foram feitas sob o KVM) mas é justamente essa mentalidade que a VMware vem tentando mudar.

Nada impede que uma organização, que já possua uma infraestrutura toda baseada em cima de VMware, inicie uma implantação do Openstack utilizando o ESXi/vCenter para fornecer os recursos de processamento para o módulo Compute (Nova). E posteriormente, se achar melhor, ir adicionando um outro hypervisor por baixo do Nova, uma vez que essa é uma configuração suportada no Openstack.

Atualmente a VMware já fornece para a comunidade Openstack drivers para os módulos Nova e Cinder. E vem trabalhando para ofecer outros drivers futuramente, como por exemplo, um driver para utilizar o VMware NSX em conjunto com o módulo de networking Neutron.


E os esforços da VMware não param por aí!! Na VMworld deste ano, foi anunciado e disponibilizado (ainda em versão beta) uma distribuição Openstack desenvolvida pela própria VMware, chamada de VMware Integrated Openstack. A VIO (como também é conhecida) é uma solução que visa facilitar o deploy e o gerenciamento do Openstack. 

Fazer uma instalação do Openstack, integrando diversos componentes, não é uma tarefa fácil e pode consumir bastante tempo. Essa solução da VMware se propõe a fornecer uma instalação, pronta para ser colocada em produção, de maneira rápida e simples, em cima de uma infraestrutura VMware.


Além da solução VIO (voltada para ambientes de produção e ainda em versão beta), a VMware também oferece, para aqueles que desejam ter um primeiro contato com o Openstack, ou para testes e POCs, um appliance virtual chamado VOVA (vSphere Openstack Virtual Appliance). O VOVA nada mais é do que uma instalação do Ubuntu com os principais serviços do Openstack (Nova, Glance, Cinder, Keystone, e Horizon) já configurados e disponibilizado no formato OVF. Os interessados podem fazer o download aqui.

Segue abaixo alguns links para quem tiver interesse em saber mais sobre o assunto:


sexta-feira, 17 de outubro de 2014

Transparent Page Sharing será desabilitado por padrão

                 

A VMware anunciou algumas mudanças em uma das técnicas que gerencia a sobrecarga de memória (Memory Overcommited), conhecida como TPS – Transparent Page Sharing. 

Para aqueles que quiserem saber mais sobre o gerenciamento de memória no VMware vSphere, inclusive sobre o TPS, recomendo a leitura de dois posts (parte1, parte2) que fiz há algum tempo atrás que explicam mais detalhadamente todo o processo.

Mas basicamente, o TPS é uma técnica exclusiva da VMware (nenhum outro hypervisor oferece uma funcionalidade semelhante), a qual permite que um host ESX/ESXi, quando sobrecarregado, armazene apenas uma cópia de uma determinada página de memória (4kb) caso existam outras páginas idênticas a ela. Essa única página armazenada pode ser compartilhada com outras VM`s. 

Acontece que uma recente pesquisa acadêmica mostrou que o TPS pode permitir o acesso não autorizado a determinados dados em um ambiente sob condições altamente controladas, ou seja, condições dificilmente reproduzidas em ambientes do “mundo real”. Ainda assim a VMware achou por bem tornar essa funcionalidade desabilitada por padrão, afim de manter a política de fazer das configurações padrões as mais seguras possíveis.

Essa alteração passará a valer a partir dos seguintes releases:

- ESXi 5.5 Update release - Q1 2015
- ESXi 5.1 Update release - Q4 2014
- ESXi 5.0 Update release - Q1 2015
- The next major version of ESXi

Antes dos lançamentos mencionados acima, a VMware vai disponibilizar alguns patches que não alteram as configurações existentes, mas adicionam algumas novas capacidades de gerenciamento do TPS

- ESXi 5.5 Patch 3.  For more information, see VMware ESXi 5.5, Patch ESXi550-201410401-BG: Updates esx-base (2087359)
- ESXi 5.1 patch planned for Q4, 2014
- ESXi 5.0 patch planned for Q4, 2014

Para maiores informações veja:

quarta-feira, 3 de setembro de 2014

O que rolou na VMworld 2014??

                 

Na semana passada em São Francisco (EUA) aconteceu a conferência anual da VMware, a VMworld 2014. Pelos dados revelados sobre o evento, mais de 22.000 pessoas presentes, de 85 países diferentes, podemos perceber que a VMware está cada vez mais forte na indústria de TI.

O tema deste ano foi “No limits”, passando a idéia de que as mudanças são inevitáveis e de que é preciso coragem para mudar. Umas das frases citadas por Robin Matlock, Chief Marketing Officer da VMware, foi “change can be either a barrier or an opportunity” (mudanças podem ser uma barreira ou uma oportunidade),  reforçando a ideia de que devemos empurrar as barreiras e explorar as infinitas possibilidades a fim de expandir nosso conhecimento e experiência.

Neste ano a VMware reapresentou a sua estratégia para oferecer aos clientes a possibilidade de construir um Centro de Dados definido por Software (o famoso SDDC – Software Defined DataCenter), o que pôde ser percebido através dos principais anúncios feitos no primeiro dia, durante a sessão geral de abertura. Se você tiver interesse pode assistir ao vídeo completo no YouTube:



Preparei um post para cada um dos anúncios que achei mais relevante:


Se você ainda não conhece o canal da VMworld no YouTube, recomendo que dê uma olhada por lá, pois eles já publicaram vários vídeos das sessões que aconteceram este ano.