Antes de criar um servidor em nuvem a partir de uma imagem personalizada, é necessário configurá-la corretamente para garantir a instalação adequada e o funcionamento completo do painel de controle.
Abaixo estão as verificações e configurações que você deve realizar para criar o servidor com sucesso.
Verifique o esquema de particionamento do disco. Recomendamos usar MBR ou GPT; ambos são suportados pela maioria das distribuições Linux usando ferramentas como fdisk, gdisk, etc.
Exemplo de comando:
gdisk -l /dev/vda
Exemplo de saída:
GPT fdisk (gdisk) version 1.0.5
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
Se outro esquema de particionamento estiver sendo usado, será necessário recriar a imagem com o formato correto.
Se o disco contiver uma única partição root usando o sistema de arquivos ext3 ou ext4, o sistema redimensionará automaticamente o sistema de arquivos durante a criação do servidor para corresponder ao tamanho configurado do disco.
Por exemplo, se o dispositivo da imagem tiver 10 GB e o servidor for criado com um disco de 15 GB, o dispositivo e o sistema de arquivos serão expandidos para 15 GB.
O redimensionamento não ocorrerá se LVM (Logical Volume Manager) estiver sendo usado.
As máquinas virtuais utilizam SeaBIOS, portanto o sistema operacional deve ter um bootloader compatível com BIOS instalado.
Se um bootloader UEFI estiver instalado, ele deve ser removido e substituído por um compatível com BIOS.
Se estiver usando o GRUB2, consulte este guia de instalação.
Para garantir uma inicialização estável, utilize montagem baseada em UUID no /etc/fstab para a partição root.
Exemplo:
UUID=f19002a1-6e7a-45ac-91cd-24b7cc0e4cd9 / ext4 defaults 0 1
Para obter o UUID de uma partição:
blkid
Exemplo de saída:
/dev/vda1: UUID="f19002a1-6e7a-45ac-91cd-24b7cc0e4cd9" TYPE="ext4" PARTUUID="f7a1fae1-01"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
Uma senha para o usuário root será gerada ao criar o servidor. Certifique-se de que o usuário root exista (ou seja, não tenha sido removido manualmente).
Certifique-se de que o qemu-guest-agent esteja instalado e em execução. Ele é necessário para operações como backups pelo painel de controle.
Verificar status:
systemctl status qemu-guest-agent.service
/etc/init.d/qemu-guest-agent status
Ou:
service qemu-guest-agent status
Instalar se estiver ausente:
apt-get install qemu-guest-agent
yum install qemu-guest-agent
apk add qemu-guest-agent
Ativar na inicialização:
systemctl enable qemu-guest-agent.service
chkconfig --add qemu-guest-agent
rc-update add qemu-guest-agent
Essas configurações são suficientes para criar um servidor em nuvem a partir da imagem.
As configurações abaixo são recomendadas para maior praticidade e usabilidade.
Para coletar estatísticas do servidor, utilizamos o agente Zabbix.
Instale usando o seguinte script:
wget -O - http://repo.hostman.com/zabbix-install.sh | bash
Garanta conectividade de rede após a inicialização do servidor.
Configure um cliente DHCP para obter automaticamente um endereço IP.
A maioria dos sistemas já possui clientes DHCP instalados. Recomendamos usar dhclient com a seguinte configuração:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
timeout 300;
O SSH é usado para acessar o servidor. Certifique-se de que esteja instalado e habilitado na inicialização.
Verificar status:
systemctl status ssh.service
/etc/init.d/ssh status
Ou:
service ssh status
Instalar se estiver ausente:
apt-get install openssh-server
yum -y install openssh-server openssh-clients
apk add openssh
Ativar na inicialização:
systemctl enable ssh.service
chkconfig --add ssh
rc-update add sshd
Também verifique se o firewall permite acesso à porta 22 (porta padrão do SSH).
Recomenda-se desativar o swap.
Verificar se o swap está ativo:
swapon --show
Exemplo de saída:
NAME TYPE SIZE USED PRIO
/swap.img file 685M 0B -2
Desativar swap:
swapoff -a