3 discos de 1TB onde utilizaremos 100 GB para cada máquina virtual. As VMs estarão em VLANs diferentes da rede local para garantir a segurança na publicação do serviço wordpress. O Vsphere será capaz de gerenciar as VMs, fazendo utilização do Vsphere FT (Fault Tolerance), garantido que o serviço não seja interrompido durante o acesso dos instrutores. O FT é capaz de fazer o Failover ao vivo, sem queda de rede ou atrasos, caso uma VM sofra falhas. Neste caso o FT faz sincronia constante com uma VM de backup. Esta será levantada logo que a VM principal falhe. Mesmo que a VM de backup falhe, a sincronia do FT pode subir nova VM totalmente sincronizada com a VM principal. Concomitantemente, o Vcenter HA é capaz, também, de migrar toda a VM entre os hosts, caso o próprio hoste venha a falhar, utilizando o vMotion. 8 Storage FreeNas Como mencionado, escolhemos o FreeNas para o gerenciamento da nossa storage, e mesmo Free, é uma ferramenta robusta e confiável, o que a torna muito interessante ao projeto, pois reduz custos com licenciamento sem prejudicar a eficiência. Abaixo, documentamos a instalação do FreeNas e como devem ficar os arranjos de discos para a entrega às máquinas virtuais. OBS: Mesmo sendo uma infraestrutura existente, mostraremos todo o processo de implementação da infraestrutura de VMs para fins de documentação. 9 Feita a escolha na tela anterior, a instalação solicitará a escolha do disco onde o FreeNas será instalado. Usando as setas do teclado caso tenham mais de uma opção, selecione OK e aperte Enter. O sistema será instalado no seu HD dedicado. 10 Terminada a instalação e inicialização, o Freenas mostrará uma tela de Setup. Caso o servidor já tenha IP ou esteja em DHCP, será mostrado nesta tela o IP de acesso a interface web de gerenciamento. Ao entrar na interface, você poderá acessar o gerenciador mediante login e senha, que pode ser configurado na tela anterior. Criação do Pool Para a criação do Pool que arranjará os discos no formato que precisamos, vá ao menu Storage -> Pool. Na próxima tela, crie um novo Pool. 11 Selecionado os discos necessários para a criação do Raid 5, clicamos na seta azul para enviar os discos ao DATA VDevs, onde escolhemos a opção de arranjo, em nosso caso, Raid-Z2, que equivale ao Raid 5. *OBS.: Imagens para fins de instrução. Não reflete a real capacidade do storage atual. Realizada esta configuração para os discos necessários, teremos os discos empilhados no tamanho que projetamos. *OBS.: Imagens para fins de instrução. Não reflete a real capacidade do storage atual. Com o Pool criado, teremos que clicar no menu hambúrguer para adicionar um Dataset, criando uma identificação para este volume. Esta ação deve ser realizada a todos os Pools. Na tela abaixo podemos ver a configuração do Dataset e exibição dos 12 datastores e suas configurações de Dataset. Compartilhamento do Pool Retornando ao Menu principal, em “Sharing / Unix Shares (NFS)”, criamos o compartilhamento NFS. 13 Também no menu hambúrguer do “path”, em “edit permissions”, finalizamos dando direito de escrita ao servidor ESXi no storage e ver o caminho criado para o compartilhamento. Este caminho será utilizado no mapeamento, no ESXi. Servidor ESXi Para a instalação do ESXi 6.7, iniciamos o boot por disco no servidor. 14 Haverão algumas telas de interação que só precisam da confirmação para prosseguimento, como evidenciado nas imagens. Reiniciado após a instalação, vemos a tela do sistema. Caso o DHCP esteja ativo, o servidor já terá um IP para acesso de sua interface web. 15 Clicando em F2 podemos acessar um menu de customização onde , entre outras coisas, o IP fixo pode ser definido. Acessando a o IP configurado, podemos ter acesso a interface de gerência do ESXi, finalizando sua instalação. Criação dos Datastores Finalizada a instalação do ESXi, podemos usá-lo para a criação das Datastores, apontando às storages criadas no FreeNas. Elas, que serão entregues às máquinas Virtuais. as evidências abaixo mostram o apontamento efetuado, passo à passo. 16 17 Criação das VMs Para a criação das VMs o processo se assemelha. No Dashboard do ESXi, clique em New Virtual Machine. 18 Configure a máquina virtual conforme o planejamento e finalize a criação. à exemplo do Datastore, repetiremos estas configurações para a criação da segunda VM de backup. 19 Instalação do Vcenter Abaixo serão mostrados os passos para instalação do Vcenter. Ele fará o gerenciamento das VMs e Datastores já configurados no ESXi: Ao executar o instalador do vSphere, escolhendo a instalação do vCenter server e prosseguindo a instalação. 20 Aceitando os termos, escolhemos a opção Embedded Deployment. 21 Escolha o nome para a rede e o nome e senha do administrador. 22 Especifique a conta de usuário para executar o vCenter como serviço e, em nosso caso, mantivemos o banco de dados padrão de instalação. 23 Configuramos às portas de funcionamento do sistema e às pastas de destino (padrão) dos arquivos de instalação da aplicação: 24 Revisamos a configuração da instalação e temos a instalação finalizada. 25 Instalação do Wordpress Nos pareceu irrelevante documentar a instalação do sistema operacional Ubuntu, por se tratar de uma atividade trivial. Passaremos para as atividades de criação do Playbook e sua execução para implementação do projeto na VM 1 (principal). O processo será exatamente o mesmo para a VM2 e o serviço Fault Tolerance poderá manter as VMs sincronizadas. Obs: Caso seja necessário verificar a instalação deste e de outros softwares , além de seus requisitos, poderá encontrar artigos sobre o assunto no anexo deste documento. Criação da Infraestrutura Ansible Abaixo serão documentados em imagens os comandos necessários para a criação da infraestrutura necessária ao funcionamento do playbook: Criação da pasta raíz do projeto: Criação dos arquivos Hosts (para o inventário dinâmico) e Playbook.yml, onde constará o código para a automatização da instalação completa da aplicação Wordpress e suas dependências: 26 Criação do diretório roles, onde serão criados, efetivamente, a infraestrutura da automatização do Ansible: O arquivo playbook.yml foi editado apontando os tipos de roles que serão implementadas: Host: wordpress remote_user: leonardo become: yes roles: -server -php -mysql -wordpress Dentro do diretório roles são aplicados os comandos abaixo, para a criação automática da infraestrutura de diretórios necessários: ● Role Server ansible-galaxy init server ● PHP ansible-galaxy init PHP ● Mysql ansible-galaxy init mysql ● Wordpress ansible-galaxy init wordpress 27 É necessário apontar a primeira máquina dentro do inventário, que será a própria máquina onde está o projeto. Para isso basta editar o arquivo hosts , introduzindo o IP localhost (Neste mesmo arquivo poderão ser apontadas máquinas remotas que precisarão ter o usuário e grupo aqui mostrado, para que o código possa ser executado): Editamos o arquivo main nas tasks Mysql, server e wordpress, para que, respectivamente, criasse o banco de dados e usuário com as permissões necessárias, fizesse a instalação dos pacotes necessários para o ambiente onde será instalado o wordpress e instalar o wordpress. Editamos o arquivo main nas tasks Mysql, server e wordpress, para que, respectivamente, criasse o banco de dados e usuário com as permissões necessárias, fizesse a instalação dos pacotes necessários para o ambiente onde será instalado o wordpress e instalar o wordpress. 28 O Código está pronto para ser implementado. É necessário atentar para a identação do código a fim de evitar erros durante a execução. Execução do Código Para executar o playbook.yml pelo terminal, é necessário estar na pasta onde está o arquivo. Pelo VS Code, ele iniciará dentro da pasta do projeto. Execute o comando $ ansible-playbook -v -i playbook.yml. Esta tela será exibida caso nenhum erro ocorra durante a execução. 29 Neste momento todos os pacotes e dependências já estão