
Hoje vamos abordar como é possível rapidamente e de forma bastante simples implementar vários servidores virtuais com diferentes sistemas operacionais em um único servidor físico. Para qualquer administrador de sistemas, isso permitirá gerenciar centralizadamente toda a infraestrutura de TI da empresa e economizar uma enorme quantidade de recursos. O uso da virtualização ajuda a se abstrair do hardware do servidor físico, proteger serviços críticos e recuperar facilmente sua operação, mesmo em caso de falhas graves.
Sem dúvida, a maioria dos administradores de sistemas está familiarizada com técnicas de trabalho em ambientes virtuais e este artigo não será uma revelação para eles. No entanto, existem empresas que não utilizam a flexibilidade e rapidez das soluções virtuais devido à falta de informações precisas sobre elas. Esperamos que nosso artigo ajude a entender, através de exemplos, que é muito mais simples começar a usar a virtualização uma vez do que enfrentar as inconveniências e desvantagens de uma infraestrutura física.
Felizmente, experimentar como funciona a virtualização é bastante simples. Mostraremos como criar um servidor em um ambiente virtual, por exemplo, para migrar um sistema de CRM usado pela empresa. Praticamente qualquer servidor físico pode ser transformado em virtual, mas inicialmente é necessário dominar as técnicas básicas de operação. É sobre isso que falaremos a seguir.
Como Funciona
Quando se fala em virtualização, muitos profissionais iniciantes têm dificuldade em entender a terminologia, portanto, vamos esclarecer alguns conceitos básicos:
- Hipervisor – software especial que permite criar e gerenciar máquinas virtuais;
- Máquina virtual (daqui em diante, VM) – é um sistema que representa um servidor lógico dentro de um físico, com seu próprio conjunto de características, armazenamento e sistema operacional;
- Host de Virtualização – servidor físico com um hipervisor em execução nele.
Para que o servidor possa funcionar como um host de virtualização completo, seu processador deve suportar uma das duas tecnologias – seja Intel® VT ou AMD-V™. Ambas as tecnologias desempenham uma função crucial — fornecer recursos de hardware do servidor para as máquinas virtuais.
Uma das principais características é que qualquer ação máquinas virtuais é executada diretamente no nível de hardware. Além disso, elas estão isoladas umas das outras, o que permite gerenciá-las facilmente de forma individual. O hipervisor atua como um órgão controlador, distribuindo recursos, funções e prioridades entre eles. Além disso, o hipervisor se encarrega de emular a parte do hardware necessária para o funcionamento adequado do sistema operacional.
A implementação da virtualização possibilita ter várias instâncias em execução de uma única servidor. Uma falha crítica ou erro ao fazer alterações em uma dessas instâncias não afetará o funcionamento do serviço ou aplicativo atual. Essa abordagem também resolve dois problemas principais: escalabilidade e a capacidade de manter um "zoológico" de diferentes sistemas operacionais em um único hardware. É a oportunidade ideal para combinar diversos serviços sem a necessidade de adquirir equipamentos separados para cada um deles.
A virtualização aumenta a resiliência dos serviços e aplicativos implantados. Mesmo que o servidor físico apresente falha e precise ser substituído, toda a infraestrutura virtual permanecerá totalmente funcional, desde que os dispositivos de armazenamento sejam preservados. O servidor físico pode ser de um fabricante totalmente diferente. Isso é especialmente relevante para empresas que utilizam servidores cujo fabricação foi descontinuada e precisarão migrar para outros modelos.
Agora, vamos listar os hipervisores mais populares disponíveis atualmente:
- VMware ESXi
- Microsoft Hyper-V
- Open Virtualization Alliance KVM
- Oracle VM VirtualBox
Todos eles são bastante versáteis, no entanto, cada um apresenta características específicas que devem sempre ser consideradas na fase de escolha: custo de implementação/manutenção e especificações técnicas. Os custos das licenças comerciais da VMware e Hyper-V são bastante altos, e em caso de falhas, resolver problemas com esses sistemas por conta própria é muito desafiador.
O KVM, por outro lado, é totalmente gratuito e bastante fácil de usar, especialmente como parte de uma solução pronta baseada no Debian Linux chamada Proxmox Virtual Environment. É este sistema que podemos recomendar para uma primeira introdução ao mundo da infraestrutura virtual.
Como implantar rapidamente o hypervisor Proxmox VE
A instalação geralmente não levanta dúvidas. Baixamos a versão mais recente da imagem do site oficial e gravamos em qualquer dispositivo externo usando a ferramenta Win32DiskImager (no Linux, usamos o comando dd), após o que iniciamos o servidor diretamente a partir desse dispositivo. Nossos clientes que alugam servidores dedicados podem optar por dois caminhos ainda mais simples – montando a imagem necessária diretamente no console KVM ou usando nosso servidor PXE.
O programa de instalação possui uma interface gráfica e fará apenas algumas perguntas.
- Selecionamos o disco onde a instalação será realizada. Na seção Opções também podemos definir parâmetros adicionais de particionamento.

- Indicamos as configurações regionais.

- Especificamos a senha que será usada para a autenticação do superusuário root e o endereço de e-mail do administrador.

- Definimos as configurações de rede. FQDN significa nome de domínio totalmente qualificado, por exemplo, node01.yourcompany.com.

- Após a conclusão da instalação, o servidor pode ser reiniciado usando o botão Reboot.

A interface web de gerenciamento estará disponível no endereço
https://IP_endereço_do_servidor:8006
O que fazer após a instalação
Há várias coisas importantes a serem feitas após a instalação do Proxmox. Vamos detalhar cada uma delas.
Atualizar o sistema para a versão mais recente
Para isso, acessamos o console do nosso servidor e desativamos o repositório pago (disponível apenas para quem comprou suporte pago). Se não fizer isso, o apt informará um erro ao atualizar as fontes de pacotes.
- Abrimos o console e editamos o arquivo de configuração apt:
nano /etc/apt/sources.list.d/pve-enterprise.list - Neste arquivo haverá apenas uma linha. Colocamos um símbolo #, para desativar a obtenção de atualizações do repositório pago:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise - Com a combinação de teclas Ctrl + X saímos do editor, respondendo Y à pergunta do sistema sobre a salvaguarda do arquivo.
- Executamos o comando para atualizar as fontes de pacotes e o sistema:
apt update && apt -y upgrade
Cuidar da segurança
Podemos recomendar a instalação da ferramenta mais popular Fail2Ban, que protege contra ataques de força bruta. O princípio de seu funcionamento é que, se um invasor exceder um certo número de tentativas de login em um tempo determinado com um nome de usuário/senha incorretos, seu endereço IP será bloqueado. O tempo de bloqueio e o número de tentativas podem ser especificados no arquivo de configuração.
Com base na experiência prática, em uma semana de operação do servidor com a porta SSH 22 aberta e um endereço IPv4 estático externo, houve mais de 5000 tentativas de adivinhação de senha. E cerca de 1500 endereços foram bloqueados com sucesso pela ferramenta.
Para realizar a instalação, apresentamos um pequeno guia:
- Abrimos o console do servidor através da interface web ou SSH.
- Atualizamos as fontes de pacotes:
apt update - Instalamos o Fail2Ban:
apt install fail2ban - Abrimos a configuração da ferramenta para edição:
nano /etc/fail2ban/jail.conf - Alteramos as variáveis bantime (número de segundos que o invasor será bloqueado) e maxretry (número de tentativas de login/senha) para cada serviço específico.
- Com a combinação de teclas Ctrl + X saímos do editor, respondendo Y à pergunta do sistema sobre a salvaguarda do arquivo.
- Reiniciamos o serviço:
systemctl restart fail2ban
Para verificar o status da ferramenta, por exemplo, para obter estatísticas sobre bloqueios de endereços IP que tentaram ataques de força bruta SSH, você pode usar um simples comando:
fail2ban-client -v status sshdA resposta da ferramenta será semelhante a esta:
root@hypervisor:~# fail2ban-client -v status sshd
INFO Carregando as configurações para fail2ban em /etc/fail2ban
INFO Carregando arquivos: ['/etc/fail2ban/fail2ban.conf']
INFO Carregando arquivos: ['/etc/fail2ban/fail2ban.conf']
INFO Usando arquivo de socket /var/run/fail2ban/fail2ban.sock
Status da prisão: sshd
|- Filtro
| |- Falhas atuais: 3
| |- Total de falhas: 4249
| `- Lista de arquivos: /var/log/auth.log
`- Ações
|- Atualmente banidos: 0
|- Total banidos: 410
`- Lista de IPs banidos:De maneira similar, você pode proteger a interface web contra ataques, criando uma regra correspondente. Um exemplo dessa regra para Fail2Ban pode ser encontrado no manual oficial.
Início
É importante notar que o Proxmox está pronto para criar novas máquinas imediatamente após a instalação. No entanto, recomendamos realizar ajustes preliminares para que a gestão do sistema seja mais fácil no futuro. A prática mostra que o hipervisor e as máquinas virtuais devem ser distribuídos em diferentes suportes físicos. A seguir, falaremos sobre como realizar isso.
Configurar os discos
O próximo passo é configurar o armazenamento que pode ser utilizado para salvar dados de máquinas virtuais e backups.
ATENÇÃO! O exemplo de particionamento de disco abaixo pode ser utilizado apenas para fins de teste. Para uso em condições reais, recomendamos fortemente a utilização de um array RAID de software ou hardware para evitar a perda de dados em caso de falha dos discos. Faremos um artigo futuro sobre como preparar corretamente o array de discos para operação e como agir em caso de emergência.
Suponha que o servidor físico tenha dois discos — /dev/sda, no qual o hipervisor está instalado e um disco vazio /dev/sdb, que se planeja utilizar para armazenar dados de máquinas virtuais. Para que o sistema reconheça o novo armazenamento, a maneira mais simples e eficaz é montá-lo como um diretório comum. Mas antes disso, algumas etapas preparatórias devem ser feitas. Vejamos como montar um novo disco /dev/sdb, de qualquer tamanho, formatando-o em um sistema de arquivos ext4.
- Particionamos o disco criando uma nova partição:
fdisk /dev/sdb - Pressionamos a tecla o ou (para particionar o disco em MBR ou GPT). Em seguida, pressionamos a tecla
- (para criar uma nova partição). n E, finalmente,
- (para salvar as alterações). w Criamos um sistema de arquivos ext4:
- mkfs.ext4 /dev/sdb1
Criamos um diretório onde montaremos a partição: - mkdir /mnt/storage
Abrimos o arquivo de configuração para edição: - nano /etc/fstab
Adicionamos a nova linha lá: - Após fazer as alterações, salvamos com a combinação de teclas
/dev/sdb1 /mnt/storage ext4 defaults 0 0 - , respondendo Ctrl + Xà pergunta do editor. Y Para verificar se tudo está funcionando, reiniciamos o servidor:
- shutdown -r now
Após a reinicialização, verificamos as partições montadas: - df -H
A saída do comando deve mostrar que
está montado no diretório /dev/sdb1 . Isso significa que nosso armazenamento está pronto para uso. /mnt/storageAdicionar novo armazenamento no Proxmox
Autenticamo-nos no painel de controle e acessamos as seções
Data Center ➝ Armazenamento Na janela aberta, preencha os seguintes campos: Armazenamento Adicionar Armazenamento O diretório.
— nome do futuro armazenamento;
- ID — /mnt/storage;
- O diretório — selecionamos todas as opções (clicando em cada uma delas).
- Conteúdo Depois disso, pressionamos o botão

. A configuração está concluída. AdicionarCriar máquina virtual
Создать виртуальную машину
Para criar uma máquina virtual, siga a seguinte sequência de ações:
- Definimos a versão do sistema operacional.
- Baixamos previamente a imagem ISO.
- Selecionamos no menu Na janela aberta, preencha os seguintes campos: o repositório recém-criado.
- Clique em Conteúdo Armazenamento Baixar.
- Selecionamos a imagem ISO na lista e confirmamos a seleção clicando no botão Baixar.
Após a conclusão da operação, a imagem será exibida na lista de disponíveis.

Criamos nossa primeira máquina virtual:
- Clique em Criar VM.
- Preenchemos os parâmetros sequencialmente: Nome Armazenamento Imagem ISO Armazenamento Tamanho e tipo do disco rígido Armazenamento Número de processadores Armazenamento Tamanho da memória RAM Armazenamento Adaptador de rede.
- Após selecionar todos os parâmetros desejados, clicamos em Concluir. A máquina criada será exibida no menu do painel de controle.
- Selecionamos ela e clicamos em Iniciar.
- Vamos para a seção Console e instalamos o sistema operacional exatamente da mesma forma que em um servidor físico comum.
Se precisar criar outra máquina, repetimos as operações acima. Depois que todas estiverem prontas, é possível trabalhar com elas simultaneamente, abrindo várias janelas de console.
Configurar inicialização automática
Por padrão, o Proxmox não inicia as máquinas automaticamente, mas isso é facilmente resolvido em dois cliques:
- Clicamos no nome da máquina desejada.
- Selecionamos a aba Opções Armazenamento Inicialização ao carregar.
- Marcamos a caixa ao lado da opção correspondente.
Agora, no caso de reinicialização do servidor físico, a VM será iniciada automaticamente.

Para administradores avançados, também há a possibilidade de especificar parâmetros adicionais de inicialização na seção Ordem de Início/Desligamento. Pode-se especificar explicitamente em qual ordem as máquinas devem ser iniciadas. Também é possível definir o tempo que deve passar antes do início da próxima VM e o tempo de atraso para desligamento (se o sistema operacional não conseguir encerrar, o hipervisor forçará o desligamento após um certo número de segundos).
Conclusão
Neste artigo, foram apresentados os fundamentos de como começar a trabalhar com o Proxmox VE e esperamos que isso ajude os iniciantes a dar o primeiro passo e experimentar a virtualização em ação.
Proxmox VE é uma poderosa e conveniente ferramenta para qualquer administrador de sistema; o importante é não ter medo de experimentar e entender como isso realmente funciona.
Se você tiver alguma dúvida, fique à vontade para deixar um comentário.
Fonte: habr.com






