Instalação do VMware vCenter Server Appliance 6.7

Salve Salve Pessoal!

Depois de um tempo sem um LAB do vSphereEstou refazendo meu LAB, então já estou partindo para a versão VMware vSphere 6.7.

Para começar, vamos ter uma visão geral sobre vCenter Server Appliance 6.7.

O VCSA é uma máquina virtual baseada em Linux, é otimizada e pré-configurada para executar o vCenter Server e os serviços associados, pelo fato de ser uma máquina virtual pré-configurada acaba reduzindo o tempo de implementação e reduzindo os custos se comparado a solução baseada em Windows, pois não precisamos de licença para o Sistema Operacional.

O vCenter Server Appliance é composto por diversos softwares, entre eles podemos citar:

Sistema Operacional Photon OS 1.0

PostgreSQL

Update Manager

Entre outros…

Os pré-requisitos de hardware são variados e depende do tamanho do seu ambiente, segue abaixo uma tabela:

CPU e Memoria

Hosts / VMs vCPU Memoria
até 10 hosts ou 100 vms 2 10 GB
até 100 hosts ou 1.000 vms 4 16 GB
até 400 hosts ou 4.000 vms 8 24 GB
até 1.000 hosts ou 10.000 vms 16 32 GB
até 2.000 hosts ou 35.000 vms 24 48 GB

Storage

Hosts / VMs Padrão Grande Extra Grande
até 10 hosts ou 100 vms 250 GB 775 GB 1650 GB
até 100 hosts ou 1.000 vms 290 GB 820 GB 1700 GB
até 400 hosts ou 4.000 vms 425 GB 925 GB 1805 GB
até 1.000 hosts ou 10.000 vms 640 GB 990 GB 1870 GB
até 2.000 hosts ou 35.000 vms 980 GB 1030 GB 1910 GB

Agora vamos ao que interessa 😀

1 – Se estiver usando o Windows 10 como é o meu caso basta montar a ISO do VCSA. Como podemos verificar, existem três pastas com o nome vcsa e cada uma é um tipo de instalação. No nosso caso vamos fazer a instalação via interface.

2 – Entre na pasta vcsa-ui-install e depois em win32, se estiver usando Linux ou Mac entre nas pastas respectivas a cada sistema, execute o installer.

3 – Clique em Install.

4 – A instalação do VCSA é dividida em dois estágios, o primeira é o deploy e o segundo as configurações, clique em NEXT.

5 – Aceite os termos da licença e clique em NEXT.

6 – Selecione o tipo de instalação, em nosso caso será a Embedded Plataform Services Controller, selecione e clique em NEXT.

7 – Insira as informações do host onde o deploy do VCSA será realizado e clique em NEXT.

8 – Aceite o certificado, clique em YES.

9 – Especifique as configurações da VM, o nome da maquina virtual e senha de acesso e clique em NEXT.

10 – Selecione o tamanho do deploy de acordo com seu ambiente, em nosso caso como é apenas para LAB vamos deixar como Tiny, clique em NEXT.

11 – Selecione o datastore de destino, selecione Enable Thin Disk Mode para habilitar o Thin Provisioning para o disco do VCSA, clique em NEXT.

12 – Insira as informações de rede do VCSA, caso deseje usar um FQDN tenha um servidor de DNS bem configurado em seu ambiente, clique em NEXT.

13 – Reveja as informações inseridas e clique em FINISH, para começar o deploy.

Se deu tudo certo, vamos a segunda parte 😀

14 – Clique em CONTINUE.

15 – Clique em NEXT.

16 – Selecione se o VCSA vai sincronizar a hora com o host ESXi, ou se vai usar um servidor NTP, caso opte por um servidor NTP, será necessário digitar as informações do mesmo. Selecione se o acesso via SSH ao VCSA será habilitado ou não, clique em NEXT.

17 – Configure o SSO domain e a senha de acesso ao ambiente do VCSA.

18 – Configure o CEIP, e clique em NEXT.

OBS: Para maiores informações sobre o CEIP acesse o link abaixo:

https://www.vmware.com/solutions/trustvmware/ceip.html

19 – Reveja as configurações e clique em FINISH.

20 – Cliquem em OK.

21 – Clique no link para abrir a página do VCSA e depois em CLOSE.

22 – Pronto, VCSA instalado com sucesso!

Agora só escolher qual interface deseja utilizar 😀

Espero que tenham gostado e até a próxima! 😀

Maiores detalhes sobre a instalação do VCSA no link abaixo:

https://docs.vmware.com/en/VMware-vSphere/6.7/vsphere-vcenter-server-67-installation-guide.pdf

Alterando a versão do BusyBox no ESXi 6.7

Salve Salve Pessoal!

Quando acessamos um ESXi via console, vemos que o shell dele tem uma familiaridade muito grade de comandos com um Linux, porém também vemos que não existem diversos comandos que encontramos no Linux.

O que acontece é o seguinte, o ESXi utiliza o BusyBox para execução de alguns desses comandos que você também encontra em um Linux.

Para quem não conhece o busybox, ele é um canivete suíço para dispositivos embarcados usando Linux.

O BusyBox combina pequenas versões de muitos utilitários comuns do *Unix em um único pequeno executável. Ele fornece substituições para a maioria dos utilitários que normalmente encontramos em um *Unix.

Os utilitários no BusyBox geralmente têm menos opções, no entanto, as opções incluídas fornecem a funcionalidade esperada.

Para maiores informações sobre o BusyBox acesse o link abaixo:

https://busybox.net/

Mas para quê eu desejaria fazer isso?

Respondo essa pergunta no final do post! 😛

Vamos ao que interessa 😀

!!!! ISTO NÃO É SUPORTADO PELA VMWARE – FAÇA POR SUA PRÓPRIA CONTA E RISCO !!!!

Para descobrirmos quais comandos são executado pelo BusyBox no ESXi, basta executarmos o comando ls -l no diretório /sbin ou /bin.

# ls -l /sbin

ou

# ls -l /bin

Como podemos ver na imagem abaixo, vários comandos são link simbólicos para o mesmo executável.

Agora já sabemos quais comandos são na verdade executados pelo Busybox.

Vamos entrar na pasta onde se encontra o BusyBox e ver algumas informações sobre a versão do mesmo.

# cd /usr/lib/vmware/busybox/bin/

Se executarmos um ls -la veremos que existe apenas o BusyBox no diretório.

# ls -la

Se executarmos ele sem passar nenhum parâmetro, veremos algumas informações sobre ele, como a versão e os comandos disponíveis.

# ./busybox

Como podemos ver a versão atual do BusyBox é a 1.22.1 e também é exibido os comandos disponíveis nessa versão.

Como o projeto é aberto e podemos compilar nossa própria versão, com nosso próprios comandos personalizados.

Vamos compilar a nossa própria versão 😀

A versão atual do BusyBox é a 1.29.1, você precisará de um sistema operacional Linux para fazer o processo.

Como uso o Red Hat 7.5, precisei instalar pacote ncurses-devel(dependência) para realizar o procedimento.

Baixe o source do BusyBox 1.29.1.

# wget https://busybox.net/downloads/busybox-1.29.1.tar.bz2

Extraia os arquivos.

# tar -xvf busybox-1.29.1.tar.bz2

Entre na pasta do BusyBox.

# cd busybox-1.29.1

1 – Execute o comando abaixo para selecionar os pacotes desejados no BusyBox.

# make menuconfig

No meu caso deixei o padrão, mas você pode navegar entre as opções e selecionar apenas os pacotes que lhe interessam, depois selecione Save Configuration to an Alternate File.

2 – Deixe com o nome padrão e selecione OK.

3 – Selecione Exit.

4 – E salve a nova configuração.

Agora execute o make e depois o make install.

#make

#make install

Pronto, seu BusyBox foi criado, como podemos ver na imagem abaixo:

OBS: Observe a versão e a quantidade de comandos disponíveis nessa nossa versão 😉

Agora só enviar para o ESXi.

Agora só substituir o BusyBox do ESXi pelo o que foi criado.

#  mv busybox /usr/lib/vmware/busybox/bin/

Agora só entrar na pasta /usr/lib/vmware/busybox/bin/ e verificar a versão que estará lá.

# ./busybox

Como podemos observar já estamos usando a versão atualizada 😀

Respondendo a pergunta feita no inicio do post “Mas para quê eu desejaria fazer isso?”

Como vimos podemos criar nosso próprio BusyBox, dentro dele podemos colocar o comando/serviço que desejarmos, como por exemplo o telnet, que já veio nessa versão padrão do 1.29.1.

OBS: Existem comandos que não terão compatibilidade com o ESXi, como por exemplo: ip, free, etc. Então o ideal é você saber sua real necessidade e compilar apenas aquilo que deseja usar.

Existe uma má notícia,  é que quando o sistema for reiniciado o BusyBox que acabamos de criar e enviar será substituído pela versão original do ESXi.

Podemos contornar isso, mas como falei no post anterior, isso será tema de um post dedicado.

Espero que tenham gostado e até a próxima! 😀

Alterando a porta HTTPS do ESXi 6.5/6.7 (Acesso Web)

Salve Salve Pessoal!

Alguns leitores do blog sempre me perguntaram como alterar a porta do HTTPS do ESXi, nunca tive a necessidade de fazer essa alteração, mas devido a pedidos, resolvi fazer esse post.

Temos que entender uma coisa inicialmente, durante o processo de boot do ESXi, ele apaga toda e qualquer alteração que fizermos em determinados arquivos de configuração padrão dele, então nesse post vou mostrar uma forma de contornar esse problema, é a melhor forma? Não, mas resolverá sua necessidade momentaneamente.

Outro ponto que devemos observar é que a VMware não recomenda essas mudanças de portas, então nunca faça isso caso você use o vCenter. 😉

Em um outro post que desejo fazer, vou falar sobre o processo de boot do ESXi e como ele sobrescreve essas alterações realizadas por nós.

Então vamos ao que interessa 😀

!!!! ISTO NÃO É SUPORTADO PELA VMWARE – FAÇA POR SUA PRÓPRIA CONTA E RISCO !!!!

Acesse seu host ESXi via SSH e vamos editar o seguinte arquivo /etc/vmware/rhttpproxy/config.xml.

Esse arquivo define a porta HTTPS do ESXi.

# grep -i 443 /etc/vmware/rhttpproxy/config.xml

Vamos alterar e colocar a porta 443 para 8443 por exemplo.

# sed -i "s/443/8443/" /etc/vmware/rhttpproxy/config.xml

Vamos verificar se a porta foi alterada.

# grep -i 443 /etc/vmware/rhttpproxy/config.xml

Como podemos observar, a porta 443 foi alterada para 8443.

Agora precisamos reiniciar o serviço rhttpproxy.

# /etc/init.d/rhttpproxy restart

Pronto, a interface web do ESXi já está rodando na porta 8443, mas ainda não está acessível, precisamos liberar no firewall essa porta também.

Crie um arquivo chamado new-https.xml no diretório /etc/vmware/firewall/.

#  touch /etc/vmware/firewall/new-https.xml

Edite o arquivo e coloque as seguintes linhas:

<ConfigRoot>
  <service>
    <id>NewHTTPS</id>
    <rule id="8443">
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8443</port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>
</ConfigRoot>

Salve o arquivo e execute um refresh no firewall para nova regra ser aplicada.

# esxcli network firewall refresh

Para verificar se a nova regra foi aplicada, execute o seguinte comando:

# esxcli network firewall ruleset list | grep -i true

Pronto, agora podemos acessar o ESXi na porta 8443.

Como falei anteriormente, quando reiniciarmos o ESXi, algumas configurações serão perdidas, em nosso caso o arquivo new-https.xml, para não precisarmos fazer todo o processo manualmente novamente, vamos fazer o seguinte.

1 – Copie o arquivo new-https.xml para o seu datastore, assim ele não será removido quando o ESXi for reiniciado, exemplo datastore1.

# cp /etc/vmware/firewall/new-https.xml /vmfs/volumes/datastore1

2 – Coloque as seguintes entradas no arquivo /etc/rc.local.d/local.sh.

cp /vmfs/volumes/datastore1/new-https.xml /etc/vmware/firewall/
esxcli network firewall refresh

Exemplo:

Pronto, agora toda vez que o host ESXi for reiniciado ele ira sobrescrever as configurações que são padrão dele pela configurações que acabamos de configurar.

Espero que tenham gostado 😀

Até a próxima!

Oracle VM Server – Backup (VMs) – Parte 02

Salve Salve Pessoal!

No post anterior virmos um pouco do processo de backup de máquinas virtuais no Oracle VM e começamos a falar sobre o ovm-bkp e realizamos a sua instalação.

Nesse último post dessa serie de backup do Oracle VM, vamos ver como podemos utilizar o ovm-bkp.

Se não leu os posts anteriores da serie, sugiro que leia, links abaixo:

Oracle VM Server – Backup (Servers)

Oracle VM Server – Backup (Manager)

Oracle VM Server – Backup (VMs) – Parte 01

Para começar vamos ver tudo que é possível fazer com o utilitário.

Entre na pasta /opt/ovm-bkp/bin e execute um ls -l para listar o conteúdo do diretório, o ovm-bkp é composto por vários scripts, cada um tem uma função diferente.

common.sh – não precisa ser executado, contém apenas funções para os demais scripts.

ovm-backup.sh – realiza o backup da máquina virtual.

ovm-delete.sh – deleta um backup especifico de uma máquina virtual.

ovm-listbackup.sh – lista os backups disponiveis de uma máquina virtual.

ovm-preserve.sh – alterar a opção “preserve” para um backup específico da máquina virtual.

ovm-restore.sh – restaura o backup de uma máquina virtual.

ovm-setup-ovmm.sh – configura o ambiente para backup, usado no post anterior.

ovm-setup-vm.sh – configura um arquivo de configuração de backup da máquina virtual.

Vamos entender e trabalhar com cada um dos scripts na seguinte ordem:

1 – ovm-setup-vm.sh

2 – ovm-backup.sh

3 – ovm-listbackup.sh

4 – ovm-delete.sh

5 – ovm-restore.sh

6 – ovm-preserve.sh

OBS: O script ovm-setup-ovmm.sh já falamos no post anterior e o common.sh não precisa ser executado, então não vamos falar deles.

ovm-setup-vm.sh

Como falei anteriormente esse script vai criará um arquivo de configuração, esse arquivo é dedicado para cada máquina virtual com as seguintes informações:

ovmpool: Pool que hospeda a máquina virtual

vmname: nome da máquina virtual

vmuuid: ID da máquina virtual

retenção: retenção de backup para a máquina virtual

d: dias (ex. 8d é para manter uma retenção de 8 dias)

c: count (ex. 4c é para manter uma retenção de 4 cópias)

targetrepo: repositório onde o backup será salvo

O diretório onde esse arquivo ficará salvo é o /opt/ovm-bkp/conf/vm.

Se executarmos o script sem passar nenhum parâmetro será exibido um exemplo de uso do mesmo:

# ./ovm-setup-vm.sh

Então, no meu ambiente tenho uma máquina virtual com o nome LINUX, desejo manter uma retenção dos últimos 4 backups e salvar ela no repositório Backup, executamos o comandos passando os seguintes parâmetros:

./ovm-setup-vm.sh LINUX 4c Backup

O arquivo LINUX-0004fb000006000062597b8a057f5023.conf foi criado no diretório /opt/ovm-bkp/conf/vm/ com os parâmetros especificados, como mostra a imagem abaixo:

É necessário criar um arquivo de configuração para cada máquina virtual que você deseja realizar o backup.

ovm-backup.sh

Como falei anteriormente este é o script que realiza o backup das máquinas virtuais, assim como no script anterior, podemos executa-lo sem passar nenhum parâmetro que será mostrado um exemplo de sua utilização, como mostra a imagem abaixo:

# ./ovm-backup.sh

Existem três tipos de backups possíveis, são:

FULL – cria uma cópia completa e esparsa do arquivo de configuração da máquina virtual e todos os discos.

SNAP – o backup será uma cópia do arquivo de configuração da máquina virtual e um reflink do OCFS2 de todos os discos virtuais, o backup permanecerá no mesmo repositório da máquina virtual de origem.

OVA – o backup será um arquivo OVA criado a partir da máquina virtual.

O último parâmetro [Y/y,N/n] é o “preserve“, permite declarar um backup como “preservado”, ou seja, será ignorado por a política de retenção definida no arquivo de configuração, para deletar esse backup você terá que deletar ele manualmente.

Então para realizar o backup basta executar o script passando o nome da máquina virtual, o tipo de backup e se desejo ou não preservar esse backup, exemplo:

# ./ovm-backup.sh LINUX FULL N
ou
# ./ovm-backup.sh LINUX full n

OBS: Os parâmetros do script não são case sensitives, ou seja, tanto faz serem digitados em maiúsculo ou minúsculo, o nome da máquina virtual deve ser igual ao do ambiente.

Ao final da execução do script, é listados todos os backups realizados, como no nosso caso só fizemos um até o momento, só aparecera ele.

Será criada uma máquina virtual em Unassigned Virtual Machines com o mesmo nome do backup.

Também é criado o arquivo de configuração da máquina virtual no repositório configurado.

E o clone do disco é criado também no repositório configurado.

Anteriormente configurei a minha politica de retenção para as quatro últimas copias, ou seja, sempre vou ter os últimos quatro backups.

A imagem abaixo mostra que temos quatro backups e que nenhum backup foi removido.

Quando executamos um novo backup, ele remove o backup mais antigo deixando apenas os quatro backups configurados no arquivo de configuração de backup, como mostra a imagem abaixo:

OBS: Independente do tipo de backup realizado, a politica de retenção de backup vai obedecer a quantidade estabelecida no arquivo de configuração, ou seja, podemos ter vários tipos de backup mas serão mantidos os quatro, outra coisa que devemos observar é que se um backup é marcado para ser preservado, esse backup não entrará na politica configurada no arquivo de backup, ou seja, sempre teremos mais backup do quê o configurado no arquivo.

Abaixo segue uma imagem que exemplifica tudo que falei:

ovm-listbackup.sh

Este script lista os backups disponíveis, basta passar o nome da máquina virtual como parâmetro.

# ./ovm-listbackup.sh LINUX

ovm-delete.sh

Este script deleta um backup, você só precisa passar como parâmetro no nome do backup.

# ./ovm-delete.sh LINUX-FULL-20180708-2320

ovm-restore.sh

O script restaura o backup de uma máquina virtual, quando executado precisamos passar o nome da máquina virtual como parâmetro.

# ./ovm-restore.sh LINUX

Será exibido um menu para escolhermos qual desejamos restaurar:

Também é exibido um menu perguntando em qual repositório você deseja restaurar:

Depois a máquina virtual é restaurada e adicionado ao pool, como mostra a imagem abaixo:

ovm-preserve.sh

Este script muda o status do “preserve” em uma backup realizado, exemplo, quando listamos os backups realizados, é exibido se esses backups estão ou não marcadas para serem preservados, como mostra a imagem abaixo:

OBS: Como falei anteriormente, quando marcados como YES a política de retenção não se aplicará a ele.

Para mudar o status do preserve, basta executarmos o script passando como parâmetro o nome do backup e a opção desejada.

y – define como YES para preservar

n – denifne como NO para não preservar

# ./ovm-preserve.sh LINUX-FULL-20180708-2315 n

Agora basta listar novamente os backup e veremos que houve a mudança.

Para automatizar o processo de backup podemos usar o CRON. 😉

Pronto, chagamos ao fim dessa serie de post sobre backups do Oracle VM, espero que tenham gostado.

Até a próxima! 😀

Referências

http://www.oracle.com/technetwork/server-storage/vm/ovm-bkp-userguide-v1-4394642.pdf

http://www.oracle.com/technetwork/server-storage/vm/ovm3-backup-recovery-1997244.pdf

Oracle VM Server – Backup (VMs) – Parte 01

Salve Salve Pessoal!

Dando seguimento aos posts sobre backup no Oracle VM, agora vamos ver a última parte, backup das máquinas virtuais, caso você não tenha lido os outros posts, segue os links para os outros posts:

Oracle VM Server – Backup (Servers)

Oracle VM Server – Backup (Manager)

Até algum tempo atrás nós só tínhamos soluções de backup para máquinas virtuais com soluções pagas de terceiros.

A Oracle desenvolveu um utilitário (ovm-bkp v1.0) que realizar esse procedimento para nós, e o melhor de tudo é que está disponível gratuitamente. 😀

Vamos entender um pouco sobre os requerimentos desse utilitário antes de começarmos a utiliza-lo.

  • Existem três dependências, para instalação do ovm-bkp, são:

expect.x86_64
openssl.x86_64
nmap-ncat.x86_64

  • O ovm-bkp tem que ser instalado na mesma máquina que o Oracle VM Manager estiver instalado.
  • O ovm-bkp pode ser instalado tanto no Oracle Linux 6 quanto no Oracle Linux 7, não testei em outros sistemas, como o Red Hat, mas imagino que não haja problemas visto que é homologado para instalação do Oracle VM Manager.
  • O ovm-bkp só tem compatibilidade com a versão 3.4 do Oracle VM.
  • Não podemos conter nomes com espaços nos objetos do nosso pool, ou seja, uma máquina virtual não pode ter o nome dela com espaços, se você tiver algum objeto com espaço no seu pool renomei, exemplo:

Red Hat 7 (errado)
Red_Hat_7 (correto)

  • Os dados no /etc/hosts devem estar configurados corretamente para todo o ambiente.
  • Backups com máquinas virtuais em execução só poderão ser realizados se estiverem em repositórios OCFS2, ou seja, repositórios que utilizam iSCSI ou Fibre Channel.
  • Backup de máquinas virtuais em repositórios do tipo NFS só podem ser feitos se as máquinas virtuais estiverem desligadas.
  • Backup de máquinas virtuais que contenham discos físicos e virtuais são realizados, porém só é realizado o backup do disco virtual.
  • É recomendado o uso de um repositório NFS para o backup das máquinas virtuais.

A imagem abaixo ilustra uma arquitetura do ambiente Oracle VM com backup:

Já está outra imagem abaixo ilustra o processo de backup das máquinas virtuais:

Vamos ao que interessa 😀

Acesse o servidor onde está o Oracle VM Manager e instale o ovm-bkp.

# yum install http://download.oracle.com/otn-pub/otn_software/ovm/ovm-bkp-1.0-20180215.noarch.rpm

Após a instalação do ovm-bkp, os utilitários do mesmo estaram disponíveis dentro do diretório /opt/ovm-bkp/bin, acesse o mesmo com o comando abaixo:

# cd /opt/ovm-bkp/bin

Temos vários scripts dentro desse diretório, execute um ls -l para listar todos:

# ls -l

Agora vamos configurar o ovm-bkp executando o script ovm-setup-ovmm.sh:

# ./ovm-setup-ovmm.sh

Será solicitado o usuário e senha do seu Oracle VM Manager.

OBS: Este script irá configurar a troca de chave ssh para que todos os scripts trabalhem com o Oracle VM CLI sem a necessidade de fornecer senha, o script também criará um arquivo de configuração dedicado à instância do Oracle VM Manager em execução, este procedimento é necessário apenas uma vez.

Pronto, o ovm-bkp está instalado e configurado, no próximo post vou mostrar como utilizar o mesmo.

Até a próxima 😀

Referências:

http://www.oracle.com/technetwork/server-storage/vm/ovm3-backup-recovery-1997244.pdf

http://www.oracle.com/technetwork/server-storage/vm/ovm-bkp-userguide-v1-4394642.pdf