Libertar espaço em máquinas virtuais Windows 2008

Só testei em Windows 2008 Web Server, mas é bem capaz de funcionar noutros sistemas, pelo menos a lógica assim o indica.

Para quem não usa a função de “hibernar” em máquinas virtuais, pode muito desactivá-la, e consegue libertar no disco, o valor da memória.

Por exemplo, uma máquina virtual com 2GB de RAM, ao desactivar o hibernate, liberta em disco 2GB, sem necessidade de reboot sequer.

Para fazer isto, abrir uma consola de DOS em modo de administrador (obrigatóriamente como Administrador), e escrever “powercfg -h off”, seguido de ENTER.

NOTA: deixam de poder hibernar a máquina virtual, mas conseguem reduzir o espaço utilizado.

Migrar containers dentro entre hosts distintos

Temos um cliente com uma máquina antiga, que tem 10 VPS a correr num servidor CentOS com OpenVZ, e necessitava de migrar para uma máquina nova esses containers. Tive que explorar, e descobri que é um processo até bastante simples.

Numa primeira fase, que não tem a ver com o openvz em si, temos que configurar o acesso do servidor antigo ao novo, sem ser necessário password. Isso é simples, usando ssh keys. Ultrapassada essa fase (ou seja, fazendo ssh servidor_novo a partir do antigo, e ele ligar-se directamente sem pedir password), basta usar o vzmigrate. É possível até fazer a migração sem grande downtime, usando o comando
vzmigrate --online 10.0.0.1 120 Em que 10.0.0.1 é o IP do servidor de destino, e 120 é o CID.

A partir daqui:

OPT:--online
OPT:10.0.0.2
Starting online migration of CT 120 to 10.0.0.1
Preparing remote node
Initializing remote quota
Syncing private
Live migrating container...
Syncing 2nd level quota
Cleanup

E pronto, se fizermos “vzlist -a” no servidor antigo, veremos que o container já não está lá. E o mesmo comando no servidor novo, mostra-nos o container a correr. Se durante o processo pingar-mos o IP do container, o downtime é praticamente nulo.

Nota: Isto funcionou tudo muito bem, para containers centos, dentro de um host centos também, e com menos de 12Gb. Ao copiar um de 19Gb o container foi para o servidor novo, mas simplesmente não o consegui eliminar do antigo. E tive que o arrancar no novo.