Usando o VMware Server, você pode transformar um único servidor dedicado em vários servidores virtuais, cada um se comportando como se fosse uma máquina separada. Além da possibilidade de combinar os diversos servidores da sua rede local em uma única máquina, ele permite dividir um único servidor dedicado em diversos servidores virtuais, que podem desempenhar funções secundárias ou até mesmo serem sublocados. Você pode também utilizá-lo no seu desktop, pois ele substitui o VMware Player e o VMware Workstation com vantagens. O melhor de tudo é que ele é gratuito.
Quase tudo pode ser simulado via software. É possível até mesmo simular um computador de arquitetura diferente, para que os softwares escritos pare ele rodem da mesma forma que rodam dentro do seu sistema nativo.
Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que permitem rodar jogos de Atari, Nintendo 8 bits, Mega-Drive, Super-Nes, Playstation e outros.
Assim como é possível emular um videogame para rodar os jogos escritos para ele, é possível simular um PC completo dentro de uma máquina virtual e até mesmo executar diversos sistemas operacionais simultaneamente.
O sistema principal neste caso passa a ser chamado de host (hospedeiro) e o sistema operacional que está rodando dentro da máquina virtual é chamado de “guest” (convidado). Ele acha que tem um PC completo para si, enquanto na verdade está rodando dentro de uma “matrix”, na máquina virtual.
Naturalmente, este trabalho de simular um PC completo e ainda por cima com um bom desempenho não é simples, veja o caso dos emuladores de videogame, que, de uma forma geral, precisam de um PC muito mais poderoso do que o sistema original. É preciso um Pentium 200 para emular um Super Nes (que usa um processador de 3.5 MHz e 128 KB de RAM) com qualidade.
Existem atualmente três softwares que se destacam nesta categoria, o VMware, Qemu e o Xen, que trabalham de forma ligeiramente diferente, mas com grandes diferenças práticas.
O VMware usa um conceito de virtualização. Ele tenta sempre que possível converter os comandos usados pelo sistema dentro da máquina virtual em comandos que o sistema host entenda e execute diretamente. Isso se aplica quando é necessário transmitir dados através da placa de rede, tocar sons na placa de som, ou executar instruções do processador. O VMware interpreta e converte instruções o mínimo possível, o que faz com que o sistema dentro da máquina virtual rode com um desempenho muito similar ao desempenho real da máquina.
O Qemu, por sua vez, é um emulador. Ele tenta processar todas as instruções, o que acaba demorando mais tempo e fazendo com que a performance seja menor. Em geral, o VMware (nas versões recentes) consegue fazer com que o sistema guest rode com de 70 a 90% do desempenho que teria se estivesse rodando diretamente, enquanto que o Qemu obtém de 5 a 10%. O Qemu possui um módulo adicional, o Kqemu, que faz com que ele passe a funcionar de forma mais similar ao VMware, virtualizando as instruções básicas do processador, ao invés de emular tudo. O Kqemu melhora consideravelmente o desempenho do Qemu, mas ainda assim o deixa bem atrás do VMware em questão de desempenho. Inicialmente, o Qemu era apenas um projeto menor, mas recentemente ele passou a ganhar mais destaque, com o desenvolvimento do KVM, um sistema de virtualização incluído diretamente no Kernel, disponível a partir do 2.6.20, que trabalha em conjunto com ele.
Temos ainda o Xen, que embora relativamente desconhecido entre os usuários de desktops, já é bastante utilizado nos servidores. Ele utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de forma transparente os recursos do hardware, permitindo que o sistema guest rode com uma redução de performance muito pequena (menos de 5%, na maioria dos casos). O maior problema é que para rodar dentro do Xen é necessário que o sistema guest seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso do VMware e do Qemu. Isto não é um grande problema no caso das distribuições Linux, mas é no caso do Windows e outros sistemas de código fechado.
O Xen é muito mais complicado de configurar que o VMware, o que limita um pouco seu público-alvo, mesmo quando falamos em servidores. Mesmo assim, é possível que o Xen evolua em termos de facilidade de uso e, graças ao bom desempenho, comece a disputar diretamente com o VMware. A página do Xen é a http://www.xensource.com/.
Por enquanto, o vamos estudar sobre o uso do VMware Server, que é atualmente a solução que melhor combina desempenho e facilidade de uso.
O VMware Player, VMware Workstation e o Qemu são os mais usados nos desktops, onde o uso mais comum é usar uma máquina virtual para rodar o Windows dentro do Linux, ou vice-versa. A principal utilidade da máquina virtual é rodar programas gráficos, de forma que você fica com a janela aberta continuamente.
Entretanto, num servidor dedicado as coisas são um pouco diferentes. Ao invés de você ficar o tempo todo na frente da máquina, como faria num desktop, espera-se que o servidor funcione continuamente, sem precisar de muita manutenção. Embora (com um pouco de malabarismo), seja até possível instalar o VMware Player no servidor e deixá-lo ativo, rodando outro sistema numa máquina virtual, ele não é a solução mais prática para a tarefa, sem falar que não é possível usá-lo em servidores sem o ambiente gráfico instalado.
Entendendo o VMware Server
Em um PC desktop, o uso mais comum de um software de virtualização é rodar um segundo sistema operacional, de forma a fazer testes ou rodar algum software específico. Muita gente usa o VMware Player ou o Virtual Box para rodar uma cópia do Windows dentro do Linux ou vice-versa. A principal utilidade da máquina virtual é rodar programas gráficos, de forma que você fica com a janela aberta continuamente:

Entretanto, em um servidor dedicado as coisas são um pouco diferentes. Ao invés de você ficar o tempo todo na frente da máquina, como faria num desktop, espera-se que o servidor funcione continuamente, sem precisar de muita manutenção. Embora (com um pouco de malabarismo), seja até possível instalar o VMware Player no servidor e deixá-lo ativo, rodando outro sistema numa máquina virtual, ele não é a solução mais prática para a tarefa, sem falar que não é possível usá-lo em servidores sem o ambiente gráfico instalado.
Chegamos então ao VMware Server, que vamos ver em detalhes ao longo deste tutorial. Ele é uma versão adaptada e otimizada para uso em servidores dedicados, sem monitor nem ambiente gráfico. A principal diferença é que o VMware Server roda remotamente, e é acessado através de uma interface de administração via web (chamada de VMware Management Interface, ou MUI), onde você pode ativar, desativar e monitorar o status das máquinas virtuais remotamente. A idéia é que cada máquina virtual seja configurada como um novo servidor dedicado, que você administra usando o SSH ou outro software de acesso remoto.
Usando o VMware Server, você pode transformar um único servidor dedicado em vários servidores virtuais, cada um se comportando como se fosse uma máquina separada. Em geral, ao locar um servidor dedicado você recebe uma faixa de IPs com máscara 255.255.255.248, com 5 endereços IPs utilizáveis. Isso significa que você pode usar um endereço para o servidor principal e ainda ficar com mais 4 endereços para as máquinas virtuais (sendo que uma delas pode acumular a função de servidor DNS secundário).
Para emergências, onde você precise ver as mensagens de inicialização ou quando precisar alterar as configurações da máquina virtual (quantidade de memória RAM reservada, CD-ROM ou imagem ISO de boot, etc.) você pode usar o VMware Server Console, uma interface de administração, através da qual você pode se conectar remotamente a qualquer uma das máquinas virtuais disponíveis, obtendo a imagem que seria enviada para o monitor. Ele pode também ser usado para criar novas VMs e instalar ou reinstalar o sistema:

Como um servidor dedicado pode custar menos de US$ 100 por mês, dependendo do datacenter escolhido, existe até mesmo uma boa possibilidade de ganhar algum dinheiro alugando os servidores virtuais e, ainda assim (embora com menos recursos de hardware disponíveis), continuar dispondo do sistema principal.
Até junho de 2006, a VMware oferecia o VMware GSX Server, que era um produto caro, assim como o VMware Workstation. Ele vinha perdendo terreno devido à concorrência do Xen, do Virtuozzo e do Virtual PC (da Microsoft), de forma que a VMware decidiu disponibilizá-lo gratuitamente, como uma solução “entry-level” para a virtualização de servidores. Nasceu assim o VMware Server. O resultado é que temos disponível uma solução de virtualização para servidores muito prática, ao custo de um download.
As limitações do VMware Server são o suporte a até 3.6 GB de memória RAM (na versão 2.0 o limite foi ampliado para 8 GB, desde que você o utilize sobre um sistema operacional de 64 bits) e o suporte a um máximo de 64 máquinas virtuais ativas simultaneamente. Ou seja, embora existam, as limitações não afetam a grande maioria dos usuários.
A VMware ganha dinheiro vendendo o ESX Server, uma solução de virtualização para grandes empresas, que suporta o uso de servidores muito mais robustos e oferece mais opções de gerenciamento e integração entre diversos servidores. Diferente do VMware Server, que é instalado sobre um sistema operacional já existente, o ESX Server roda diretamente sobre o hardware, substituindo o sistema operacional inteiramente.
Preparando o terreno
O VMware Server possui versões para Linux e Windows. No caso da versão Linux, é necessário instalar dois módulos de Kernel (vmmon e vmnet), que permitem que o VMware tenha acesso direto ao hardware. O pacote de instalação inclui módulos pré-compilados para diversas distribuições, mas em muitos casos os módulos precisam ser compilados durante a instalação, o que torna necessário ter instalados os headers do Kernel e um conjunto de compiladores. Eles não são instalados por padrão na maioria das distribuições, o que demanda uma preparação adicional.
O primeiro passo é baixar os arquivos de instalação do VMware Server, disponíveis no:
http://www.vmware.com/download/server/
É necessário fazer um cadastro gratuito para receber o código de registro solicitado durante a instalação. O procedimento é bastante amigável e é possível inclusive solicitar vários números de registro (gratuitamente), caso pretenda instalar em vários servidores.
Estão disponíveis três componentes, o VMware Server propriamente dito, a interface de gerenciamento via web (Management Interface) e o “VMware Server Linux client package”, um arquivo compactado contendo o VMware Server Console. Os dois primeiros são instalados no servidor, enquanto o último (o Server Console) é instalado no seu desktop, a partir de onde você administrará o servidor:

Tanto as versões em .rpm quanto em .tar.gz contém os mesmos componentes, o que muda é apenas o formato do pacote. Nos exemplos vou utilizar as versões .tar.gz, que podem ser usadas em qualquer distribuição.
Enquanto baixa os pacotes, aproveite para ir adiantando o serviço, verificando a instalação dos headers, compiladores e das bibliotecas do X.
Comece verificando a versão do Kernel instalada, usando o comando “uname -a”, como em:
# uname -a
Linux server 2.6.18-4 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
Em seguida, instale a versão correspondente dos headers do Kernel, usando o gerenciador de pacotes. Procure pelo pacote “linux-headers”, seguido pela versão do Kernel usada. No caso do Debian ou do Ubuntu você pode fazer a instalação usando o apt-get, como em:
# apt-get install linux-headers-2.6.18-4
Além dos headers, é necessário instalar um conjunto básico de compiladores, incluindo o gcc, make, libc6-dev e o binutils. No Debian e no Ubuntu você pode instalá-los através do pacote “build-essential”, um metapacote que instala toda a turma:
# apt-get install build-essential
No OpenSuSE, abra o Yast e, na seção Software Management, instale os pacotes “gcc” e o pacote “kernel-source” da mesma versão do Kernel instalado.
No Fedora, você precisa instalar também o pacote “xinetd”, que é necessário para que os scripts de inicialização utilizados pelo VMware Server funcionem corretamente.
No Mandriva a lista de pacotes é um pouco maior, similar ao que precisamos instalar no Debian. Abra o mcc e instale os pacotes autoconf, automake, gcc, gcc-cpp, xinetd, perl-devel e kernel-source, lembrando de instalar a versão do pacote kernels-source correspondente à versão do kernel atualmente instalada.
Muitas distribuições incluem estes componentes por padrão, dispensando estes passos. No caso do Ubuntu, você pode precisar criar manualmente o link “/usr/src/linux”, apontando para a pasta referente à versão instalada. Para isso, acesse a pasta “/usr/src” e rode o comando “sudo ln -sf linux-headers-2.6.*-* linux”, como em:
# sudo ln -sf linux-headers-2.6.20-15-server linux
Se mesmo depois de criar o link o instalador do VMware continuar parando na pergunta sobre a localização dos headers do Kernel, significa que você não instalou a versão correta do pacote “linux-headers”. Verifique e tente novamente.
Embora o VMware Server não precise da interface gráfica para funcionar, ele precisa que um conjunto básico de bibliotecas esteja disponível. Quando você faz uma instalação em modo servidor do Ubuntu, ou uma instalação mínima do Debian, estas bibliotecas precisam ser instaladas manualmente:
# apt-get install libx11-6 libxtst-dev libxt-dev libxrender-dev libxtst6 libxt6 libxrender1 libxi6 libdb3
Note que a instalação destas bibliotecas não implica na instalação do ambiente gráfico propriamente dito. Somados, os pacotes totalizam pouco mais de 14 MB, enquanto uma instalação completa do ambiente gráfico, incluindo o KDE (ou o Gnome) e alguns aplicativos somaria mais de 300 MB em pacotes.
Sem as bibliotecas do X, você receberá um erro similar a esse no final da instalação, quando o instalador pedir o serial. Ele surge justamente quando o instalador tenta carregar as bibliotecas utilizadas pelo programa a fim de concluir a instalação e se repete indefinidamente até que elas sejam instaladas:
Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel: xxxxx-xxxxx-xxxxx-xxxxx
/usr/lib/vmware/bin/vmware-vmx: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
Uma dica é que você pode fazer a instalação dos pacotes usando um segundo terminal, sem precisar abortar a instalação do VMware. Depois que os pacotes forem instalados, o instalador aceita o serial e a instalação é concluída.
Como comentei no início, o pacote do VMware-Server inclui um grande conjunto de módulos pré-compilados, de forma que em muitos casos você sequer precisará se preocupar com os headers do Kernel ou com ferramentas de compilação. De qualquer forma, é interessante ter esses componentes instalados, já que eles são necessários para instalar diversos softwares e drivers. Mesmo em um servidor, mais cedo ou mais tarde você acaba precisando instalar alguma coisa que precisa deles.
Instalando
Para instalar o pacote principal do VMware Server, descompacte o arquivo .tar.gz e execute o arquivo “vmware-install.pl” dentro da pasta criada, como em:
$ tar -zxvf VMware-server-1.0.5-80187.tar.gz
$ cd vmware-server-distrib
# ./vmware-install.pl
O instalador é um script perl que roda em modo texto, o que permite a instalação em servidores sem o ambiente gráfico instalado. Não existe muito mistério, desde que os headers e os compiladores estejam em ordem, você vai acabar com uma instalação utilizável mesmo que simplesmente pressione Enter em todas as opções. Algumas perguntas que precisam de um pouco mais de atenção são:
Trying to find a suitable vmmon module for your running kernel.
None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
Using compiler “/usr/bin/gcc”. Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.8-2-386/build/include]
Aqui ele pergunta sobre o os módulos do Kernel, confirmando a localização dos headers. Este arquivo “/lib/modules/2.6.8-2-386/build/include” é, na verdade, um link para a pasta “/usr/src/kernel-headers-2.6.8-2-386″, onde estão os headers do kernel. Em caso de erros neste ponto, verifique a instalação dos headers e a presença do link. Outra dica é que você precisa ter instalados os pacotes “gcc” e “g++” da mesma versão usada para compilar o Kernel.
As próximas perguntas são sobre as interfaces de rede virtuais:
Do you want networking for your virtual machines? (yes/no/help) [yes]
Do you want to be able to use NAT networking in your virtual machines? (yes/no) [no]
Do you want to be able to use host-only networking in your virtual machines? [no]
Naturalmente, você deve responder sempre “yes” na primeira pergunta, caso contrário as máquinas virtuais ficarão desconectadas da rede, mas as duas seguintes precisam de uma inspeção mais cuidadosa. Por padrão, o VMware oferece uma rede virtual em modo bridge (bridged network), onde as máquinas virtuais simplesmente acessam a rede, como se fossem máquinas separadas. Cada uma tem seu próprio IP, como se fossem vários servidores distintos.
As opções para criar uma rede NAT e host-only permitem que as máquinas virtuais sejam configuradas com endereços internos, e acessem a rede através do host. Esta configuração é útil no VMware Player (onde você geralmente quer que o sistema dentro da máquina virtual apenas acesse a internet, sem compartilhar nada), mas não é tão interessante no VMware Server, onde a idéia é justamente criar servidores virtuais. Veja que no exemplo anterior desativei ambas as opções.
Caso seu servidor tenha mais de uma placa de rede, o instalador pergunta:
Your computer has multiple ethernet network interfaces available: eth0, eth1.
Which one do you want to bridge to vmnet0? [eth0]
Ou seja, ao detectar que existe mais de uma placa de rede disponível, ele pergunta a qual delas as máquinas virtuais devem ser ligadas. É importante indicar a placa correta, referente à rede onde as máquinas virtuais ficarão disponíveis, seja a placa da rede local, ou seja a placa com o link de internet.
Embora a mesma placa física seja compartilhada por todas as máquinas virtuais, o VMware se encarrega de encaminhar corretamente os pacotes recebidos. Ele simula inclusive a existência de diversos endereços MAC, um para cada placa de rede virtual. Imagine que ele cria uma espécie de “hub virtual”, onde as máquinas virtuais são conectadas.
Em seguida, temos:
Please specify a port for remote console connections to use [902]
Esta é a porta que será usada para a conexão do cliente, o vmware-server-console. Você pode alterar a porta por outra menos visada (e indicá-la manualmente ao conectar). O ponto principal é que a porta precisa ficar aberta no firewall. Se você é paranóico e prefere não correr o risco de manter a porta 902 aberta, pode ainda utilizar um túnel para se conectar a ela através da porta utilizada pelo SSH. Veja a dica mais adiante.
Em seguida, você deve definir a pasta onde as máquinas virtuais serão armazenadas. Aqui escolhi a pasta “/var/vms” (a pasta “/var” é usada por padrão para armazenar os sites do apache, bases de dados do MySQL, etc.), mas a escolha fica por sua conta. Naturalmente, as máquinas virtuais podem ocupar bastante espaço, por isso é importante checar o espaço livre dentro da partição destino.
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines] /var/vms/
Depois de fornecer o código de registro, que você recebe via e-mail, a instalação está completa:
The configuration of VMware Server 1.0.5 build-80187 for Linux for this running
kernel completed successfully.
Depois de instalado, o VMware pode ser iniciado e parado através do serviço “vmware”, como em “/etc/init.d/vmware start” ou “/etc/init.d/vmware stop”. Sempre que tiver problemas, experimente, antes de mais nada, reiniciar o serviço.
O próximo passo é instalar o VMware Server Console, na sua estação de trabalho. A instalação é bem similar à do servidor, com a diferença de não serem necessários os headers e os compiladores. Basta descompactar o arquivo (ele usa uma dupla compactação, em .tar.gz e depois em .zip), acessar a pasta que será criada e executar o script “vmware-install.pl”, como em:
$ unzip VMware-server-linux-client-1.0.5-80187.zip
$ tar -zxvf VMware-server-console-1.0.5-80187.tar.gz
$ cd vmware-server-console-distrib
# ./vmware-install.pl
Depois de instalado, chame-o usando o comando:
$ vmware-server-console
Ao abrir a conexão com o servidor, você pode logar usando qualquer conta de usuário. De início, você pode se logar como root, para testar e fazer a configuração, mas depois é interessante criar uma conta de usuário separada, que tenha acesso à pasta das VMs. O VMware utiliza SSL de 128 bits para garantir a segurança da conexão, mas sempre é bom evitar utilizar o root para tarefas rotineiras.
O vmware-server-console possui uma interface muito similar à do VMware Workstation, onde você pode criar e editar as configurações das máquinas virtuais. Como disse, o VMware Server é uma versão adaptada para uso em servidores, onde a interface é separada do restante do software, permitindo que você faça tudo remotamente.
Ele utiliza um protocolo próprio para comprimir e transmitir a imagem da tela via rede, exibindo-a no seu desktop. O maior problema é que o VMware utiliza um protocolo de atualização de tela sem perda, que acaba sendo bastante ineficiente para uso via rede.
Ao acessar uma máquina virtual que está rodando num servidor remoto, o desempenho de atualização da tela é bastante inferior ao que você teria acessando a máquina remota usando o NX Server ou o VNC, por exemplo. Mesmo acessando via banda larga, usar aplicativos gráficos acaba sendo desconfortável. Isso faz o sistema dentro da VM parecer lento enquanto está sendo acessado (remotamente) através do Console, mas, na verdade, o desempenho não é muito diferente do obtido nas outras versões do VMware. Em geral, você obtém de 70 a 90% do processamento real do servidor dentro das máquinas virtuais.
Uma dica é que você pode utilizar o vmware-server-console para se conectar a uma cópia local do VMware Server. Neste caso, a atualização de tela é tão rápida quanto ao usar o VMware Workstation ou o VMware Player, de forma que muita gente prefere utilizar o VMware Server mesmo ao rodar máquinas virtuais localmente. Para isso, basta usar a opção “Local host” na tela inicial. Você pode aproveitar para ir treinando na sua máquina, antes de começar a criar VMs para servidores importantes.
É possível (e bastante simples) fazer a instalação do sistema dentro da máquina virtual usando sua máquina local e depois transferir o sistema já instalado para o servidor remoto. Desta forma, você não perde tempo tentando realizar todo o processo de instalação do sistema remotamente. Você pode inclusive criar várias cópias independentes da mesma máquina virtual, aproveitando a instalação inicial.
Vamos começar do básico, vendo os detalhes sobre a criação e configuração das máquinas virtuais. Uma vez conectado (seja a um servidor remoto, seja localmente), use a opção “Create a new virtual machine” na tela inicial:

A primeira opção determina as opções que serão mostradas daqui em diante. Na opção “Typical” são mostradas apenas as opções mais simples, deixando o wizard definir os detalhes. No nosso caso, estamos mesmo interessados em decifrar as opções mais avançadas, então vamos de “Custom”:

O VMware inclui uma série de otimizações que melhoram o desempenho e a compatibilidade do sistema dentro da máquina virtual. São melhorias relacionadas à operação interna do programa, de forma que não temos muitos detalhes sobre elas, mas a diferença é realmente mensurável. Para que elas entrem em ação, é importante indicar corretamente o sistema operacional que você irá instalar dentro da VM. Dentro da opção “Linux”, você encontra versões do Red Hat, SuSE, Mandriva e Ubuntu, que são suportadas oficialmente pela equipe do VMware. Para as demais distribuições, use as opções “Other Linux 2.6.x kernel”, ou “Other Linux 2.6.x kernel 64-bit” (ao instalar as versões de 64 bits das distribuições). Existe também a opção “Other Linux 2.4.x kernel”, que pode ser usada ao instalar distribuições antigas, que ainda utilizam Kernels da série 2.4:

Em seguida, chegamos à fase das apresentações, onde você define um nome para a máquina virtual e (mais importante), define a pasta onde os arquivos referentes a ela ficarão armazenados.
As máquinas virtuais nada mais são do que um conjunto de arquivos dentro de uma pasta. O mais importante deles é o disco virtual, onde são armazenados todos os dados salvos no “HD” da máquina virtual. Ao escolher a pasta, é importante verificar o espaço disponível, já que o arquivo do disco virtual armazenará o sistema operacional e todos os arquivos colocados dentro da VM:

A próxima pergunta é relacionada ao suporte a SMP. Ao instalar o VMware Server em uma máquina com um processador dual-core, quad-core (ou com dois processadores em SMP), você tem a opção de ativar o suporte a SMP também para a máquina virtual, permitindo que o sistema instalado enxergue os dois processadores e possa dividir a carga entre eles (opção “Two”)
Na prática, você pode usar a opção “Two” mesmo ao instalar em uma máquina com apenas um processador, mas neste caso (obviamente) não existe qualquer ganho de performance:

Existe ainda uma opção de segurança, que permite restringir o acesso às máquinas virtuais no caso de um servidor compartilhado por vários usuários. Imagine o caso de um servidor dedicado, onde você instalou 4 máquinas virtuais, que serão sublocadas a 4 clientes diferentes. Para dar acesso às VMs criadas usando o vmware-server-console, permitindo que cada um possa acessar apenas sua própria VM (sem ter acesso às demais), você criaria 4 usuários de sistema separados (joao, maria, jose e manuel, por exemplo) e usaria cada um dos usuários para criar uma das VMs, marcando sempre a opção “Make this machine private”. Dessa forma, cada usuário teria acesso a apenas uma das VMs:

Os recursos do servidor são compartilhados entre as máquinas virtuais, com destaque para a memória RAM. A opção seguinte permite limitar a quantidade de memória disponível para cada máquina virtual.
Embora a conta pareça simples (afinal, se temos 1 GB de memória e estamos instalando 4 VMs, teríamos 256 MB para cada uma, certo?
, encontrar o melhor valor é um pouco mais complicado do que parece.
Em primeiro lugar, o valor definido aqui não é diretamente atribuído, nem fica fisicamente reservado para a VM, pois o vmware é capaz de gerenciar a memória RAM e swap disponível, de acordo com o volume de memória utilizado por cada VM e pelo próprio sistema host em um dado momento. Apesar disso, o VMware reserva cerca de 160 MB de memória para o sistema host e não permite que você inicialize mais VMs do que o comportado pela memória excedente. Se você tem 1 GB de memória instalada no servidor, todas as VMs somadas poderiam utilizar pouco mais de 840 MB. Se você tiver 4 VMs, configuradas para consumir 256 MB cada uma, o VMware exibiria uma mensagem de erro ao tentar inicializar a quarta. Você pode ter um número quase ilimitado de máquinas virtuais no mesmo servidor, desde que não fiquem todas ativas simultaneamente.
É possível fazer com que o VMware faça swap de parte da memória reservada às máquinas virtuais, o que permite que você ative um número um pouco maior de máquinas virtuais simultaneamente, às custas de uma redução no desempenho. Para isso, configure a opção Host > Settings > Memory > Additional Memory (na tela principal) com o valor “Allow most virtual machine memory to be swapped”:

Outra exceção ocorre quando você usa uma única máquina virtual de cada vez. Neste caso, o VMware permite que você reserve um volume de memória muito maior do que a memória física disponível, pois ele é capaz de utilizar também a memória swap. Veja que no meu caso, o VMware permite reservar até 1764 MB, muito embora o servidor onde ele está instalado tenha apenas 1 GB:

Um bom cálculo é subtrair 192 MB da memória total disponível (para uso do sistema host) e dividir o excedente entre as VMs que você pretender manter ativas simultaneamente. Se o servidor tem 1 GB de memória e você pretende manter 4 VMs ativas, poderia reservar 208 MB para cada uma.
Ao instalar o sistema dentro de cada VM, você pode criar uma partição swap dentro do disco virtual. Embora o desempenho de acesso a essa partição swap virtual seja mais baixo, ela poderá ser usada normalmente pelo sistema guest quando necessário, como complemento à memória “física” reservada à VM.
Chegamos então à configuração da rede virtual, que é outro passo importante. Como vimos anteriormente, o VMware oferece 3 tipos de rede virtual. No primeiro, o modo bridge, a máquina virtual tem acesso completo à rede, pode receber um IP próprio e fica com todas as portas de entrada disponíveis, como se fosse um PC independente conectado à rede. Sempre que falamos em servidores, falamos no uso do modo bridge.
As outras duas opções podem ser interessantes para uso em desktop, onde você simplesmente instala uma VM e a usa em conjunto com o sistema principal, mas não são muito relevantes no nosso caso. No modo NAT, a máquina virtual tem acesso à rede e pode acessar a Internet, mas não possui portas de entrada, de forma que não é possível rodar servidores. No modo host-only a VM é conectada a um cabo cross-over virtual e tem acesso apenas ao próprio servidor, ficando desconectada do restante da rede.
Como disse, ao configurar servidores virtuais (e em diversas outras situações), o modo bridge é o único que interessa, por isso escolhemos a opção “Use bridged networking”:

Independentemente do tipo de HD que está instalado no host, o VMware utiliza internamente rotinas de acesso do padrão SCSI para os discos virtuais. O padrão SCSI é o preferido pelos desenvolvedores, pois as funções são bastante organizadas e o padrão é aberto e fácil de entender. Isso explica porque, no Linux, o suporte a gravadores de CD e (a partir do Kernel 2.6.20) o próprio suporte a HDs IDE foi incorporado ao sub-sistema SCSI, que já existia previamente.
Graças a isso, o sistema operacional instalado dentro da VM reconhecerá o HD como sendo SCSI, mesmo que ele seja IDE ou SATA. Durante a criação da máquina virtual, o VMware permite que você escolha qual modelo de controladora SCSI será simulada dentro da máquina virtual. Você pode escolher entre uma controladora BusLogic ou LSI Logic. O desempenho de ambas as opções é rigorosamente o mesmo, muda apenas o driver que o sistema operacional instalado dentro da máquina virtual irá utilizar:

É possível criar uma máquina virtual e aproveitar o disco virtual de uma anterior (opção “Use an existing virtual disk”), assim como você pode montar outro micro e aproveitar o HD antigo. Esta opção pode ser útil caso você queira aproveitar uma instalação antiga de um sistema operacional instalado em outra VM. Neste caso, bastaria indicar a pasta com a VM antiga. Entretanto, na maioria dos casos, você vai querer simplesmente criar um novo disco virtual, zerado. Para isso, escolha a opção “Create a new virtual disk”.

Ainda dentro da questão da controladora SCSI virtual, existe a opção de utilizar um modo de compatibilidade, onde o VMware faz com que o disco virtual apareça para o sistema dentro da VM como um HD IDE. Esta opção permite resolver problemas de compatibilidade, casos onde, por um motivo ou outro, o sistema dentro da máquina virtual não possui suporte a HDs SCSI, ou não consegue detectar corretamente a controladora SCSI virtual.
Se a instalação do sistema dentro da máquina virtual falhar, com um erro de “não é possível acessar o disco”, ou similar (sintoma de que o sistema operacional dentro da VM não conseguiu acessar o disco virtual), escolha a opção “IDE”, do contrário mantenha o “SCSI (Recommended)”:

Assim como no caso da memória, você deve definir um limite para o espaço em disco utilizado pela VM, através da opção “Disk size (GB)”:

O valor definido é o tamanho do “HD” que será visto pelo sistema dentro da máquina virtual. Reservando 8 GB, por exemplo, o sistema enxergará um HD de apenas 8 GB e, naturalmente, não poderá ocupar mais espaço do que isso.
A opção “Allocate disk space now” faz com que o VMware realmente reserve os 8 GB para uso da máquina virtual, criando um enorme arquivo vazio. Esta opção é a melhor do ponto de vista do desempenho, pois evita a fragmentação e permite o uso de otimizações adicionais, mas, por outro lado, aumenta bastante o espaço ocupado pelas máquinas virtuais, já que, 4 VMs com HDs virtuais de 8 GB, ocuparão 32 GB de espaço no HD do servidor.
Desmarcando a opção, o espaço é alocado de forma dinâmica. O disco virtual começa como um arquivo vazio, que ocupa poucos Kbytes. Dentro da máquina virtual, o sistema guest pensa que está formatando e usando um HD de verdade, mas todas as mudanças são mascaradas e feitas dentro do arquivo. Conforme você instala o sistema e outros programas, o arquivo vai aumentando de tamanho, até o limite definido. Enquanto ele não é atingido, o arquivo do disco virtual ocupa um espaço equivalente à quantidade de espaço realmente ocupado. Se você criou um disco virtual de 20 GB, mas apenas 2 GB estão em uso, você verá um arquivo de apenas 2 GB dentro da pasta da máquina virtual.
Concluindo, a opção “Split disk into 2 GB files” permite burlar as limitações de tamanho de arquivos em partições FAT e em diversos protocolos de transferência de arquivos (incluindo o próprio SFTP), que só suportam arquivos de até 2 GB. Mantendo a opção ativada, o disco virtual é dividido em arquivos de até 2 GB, o que facilita as transferências.
Concluindo, você precisa apenas indicar o nome e a localização do arquivo com o disco virtual. Por padrão ele é criado dentro da pasta com os outros arquivos da VM e com o mesmo nome desta. É possível também usar nomes como “C” e “D”, ou “sda” e “sdb” ou mesmo armazenar os arquivos em outras pastas. Para isso, bastaria indicar a localização na opção “Specify Disk File”:

Com isto a criação da máquina virtual está completa
. Como você pode ver, o processo é simples. O principal objetivo dessa longa explicação foi explicar os detalhes e mostrar as opções escondidas.
Configurando a VM
Estamos agora de volta à tela inicial do vmware-server-console. As máquinas virtuais são abertas em abas, o que permite que você mantenha várias delas abertas ao mesmo tempo, limitado apenas aos recursos disponíveis no servidor. Não é incomum ter notícias de servidores rodando 100 máquinas virtuais ou mais, cada uma com um servidor completo. Muitas empresas de hospedagem oferecem a opção de locar um VPS, que é justamente uma máquina virtual. Eles são uma boa opção aos planos de hospedagem compartilhada (onde você recebe apenas um virtual host do Apache), pois a máquina virtual se comporta como um servidor real, permitindo que você instale aplicativos e modifique a configuração como quiser.

Clicando no “Edit virtual machine settings” você tem acesso às configurações da VM e pode alterar muitas das opções definidas durante a criação, além de muitas outras que estão disponíveis apenas aqui. Você pode inclusive fazer “upgrades” na sua VM, adicionando um segundo HD, mais memória, ou até mesmo uma segunda placa de rede. Tudo virtual.
O VMware permite que você utilize uma imagem ISO de um CD (ou DVD) como mídia de instalação. Em um desktop, isso lhe salvaria de ter que queimar os CDs, mas, em um servidor remoto, acaba sendo a única forma de instalar o sistema, já que você não teria como ir pessoalmente colocar o CD no drive de qualquer maneira. Você poderia se conectar ao servidor via SSH, aproveitar a conexão rápida para baixar o CD ou DVD de instalação da distribuição que pretende instalar diretamente para ele (use o “wget -c”, seguido do link de download) e, em seguida, usar o VMware para instalar o sistema dentro da VM diretamente a partir do ISO que acabou de baixar.
Para isso, acesse a opção “CD-ROM” dentro do menu de configurações da VM e marque a opção “Use ISO image”. Indique o arquivo ISO que será utilizado e estamos conversados. Depois de concluir a instalação do sistema, você pode voltar nesta mesma tela e desmarcar a opção “Connect at power on” para desabilitar o CD-ROM virtual:

Continuando, você pode ajustar a quantidade de memória atribuída à máquina virtual na opção “Memory”. Isso permite que você teste várias configurações, até chegar na ideal:

Assim como no caso do CD-ROM, a máquina virtual pode utilizar também disquetes de boot, incluindo a possibilidade de usar uma imagem de disquete salva em um arquivo. Hoje em dia é incomum que você precise usar disquetes de boot para instalar o sistema, de forma que você pode remover o floppy virtual, selecionando o dispositivo na lista e usando a opção “Remover”.
Você pode adicionar novos discos virtuais através da opção “Add > Hard Disk”. Assim como em um PC, a VM pode ter diversos HDs, que são reconhecidos pelo sistema da forma usual. É possível adicionar também uma segunda placa de rede (esta opção é muito boa para fins didáticos, pois você pode simular uma rede inteira, com vários PCs) e até mesmo adicionar suporte à placa de som, USB e outros periféricos, embora estas opções não sejam tão úteis no caso de um servidor.
Uma dica para melhorar o desempenho é desmarcar a opção “Disable write caching” nas propriedades do disco virtual. Ela fica ativada por padrão, fazendo com que as alterações feitas nos HDs das VMs precisem ser gravadas de forma síncrona no HD do servidor. Esta opção melhora a segurança contra perda de dados caso o servidor seja desligado incorretamente, mas reduz bastante o desempenho. Em um servidor que fica ligado continuamente, desativá-la representa um risco aceitável.

Dentro das opções do disco virtual, você encontra também a função para desfragmentar o arquivo, o que ajuda a melhorar o desempenho da VM e reduzir a utilização de espaço no HD do host:

Depois de tudo configurado, falta apenas fazer as honras, clicando no “Power on virtual machine”. Você pode voltar ao menu de configuração a qualquer momento através da opção “VM > Settings” no menu principal, mas a maior parte das opções ficam inativas enquanto a VM está rodando. Para modificá-las, você precisa primeiro finalizar o sistema e desligar a VM, usando a opção “Power Off”:

Uma vez inicializada a máquina virtual, o sistema dá boot a partir do CD, DVD ou disquete virtual contendo o sistema. Você é saudado com a tela de boot e prossegue a instalação do sistema da forma usual, como se estivesse instalando o sistema em um PC real:

Você pode encontrar dicas para a instalação de diversas distribuições Linux e para as várias versões do Windows e outros sistemas dentro de máquinas virtuais no:
http://pubs.vmware.com/guestnotes/wwhelp/wwhimpl/js/html/wwhelp.htm
Uma dica é que, ao instalar um sistema distribuído na forma de vários CDs ou DVDs, é possível trocar os arquivos ISO durante a instalação, simulando a troca dos CDs no drive.
Para isso, dê um boot normal utilizando a primeira mídia e, no ponto da instalação onde o sistema pede para trocar a mídia, clique no “VM > Removable devices > CD-ROM 1 > Disconect”. Isso simula a remoção do CD-ROM. Clique agora no “VM > Removable devices > CD-ROM 1 > Edit…”, para indicar o arquivo ISO do segundo CD e, em seguida, em “VM > Removable devices > CD-ROM 1 > Connect” para simular a reinserção do CD:

Se você está usando uma cópia local do VMware Server e está com os CDs de instalação em mãos, pode também configurar a máquina virtual para utilizar o drive de CD físico e ir trocando os CDs durante a instalação, da forma tradicional.
Se, por outro lado, você não quer se dar ao trabalho de fazer nenhuma das duas coisas, pode baixar a versão em DVD (quando estiver disponível), fazer uma instalação via rede (como no caso do Debian, onde você pode utilizar a versão “netinst”) ou ainda fazer uma instalação mais enxuta, de forma que o instalador consiga instalar o sistema utilizando apenas os pacotes disponíveis no primeiro CD.
Como disse anteriormente, a máquina virtual é na verdade um conjunto de arquivos, salvos dentro da pasta indicada durante sua criação. Dando uma espiada dentro dela, você encontra os arquivos do disco virtual, criado com a extensão “.vmdk” (como selecionei a opção de quebrar em arquivos de 2.0 GB, tenho no meu caso um conjunto de vários arquivos), o arquivo .vmsd, que é usado para gravar uma cópia do conteúdo da memória da máquina virtual quando você utiliza a opção “Suspend” (de forma que ela possa ser restaurada no ponto onde estava posteriormente) e também o arquivo .vmx, um arquivo de texto legível que armazena a configuração da máquina virtual:

Dentro do arquivo, a quantidade de memória RAM reservada à máquina virtual vai na opção “memsize =” e o arquivo ISO que será utilizado vai na opção “ide1:0.fileName =”. Ao desativar algum dos dispositivos virtuais, a opção referente a ele fica com a opção “FALSE”, como no caso do drive de disquetes, que fica desativado por causa da opção floppy0.present -”FALSE”.
Com um pouco de prática, você pode até mesmo alterar as configurações da VM diretamente dentro do arquivo, sem sequer precisar das opções gráficas, o que pode ser bastante prático para fazer alterações rápidas em um servidor com muitas VMs:

Há algum tempo, escrevi um script para o VMware Player no Kurumin 7, que permitia criar e editar as opções das máquinas virtuais, aplicando as mudanças diretamente no arquivo. É o tipo de coisa que não faria muito sentido no VMware Server, que oferece todas as opções de configuração, mas foi bastante útil para quem usava o VMware Player, que é a versão castrada. Mostrou também que as máquinas virtuais podem ser criadas e configuradas até mesmo via shell script.
Continuando, o arquivo “nvram” dentro da pasta serve para armazenar as configurações do Setup. Sim, a máquina virtual possui até mesmo um BIOS virtual, com direito a Setup e tudo mais. Para acessá-lo, pressione a tecla “F2″ na tela inicial, logo depois de iniciar a VM.
Nele você pode escolher entre dar boot pelo CD-ROM ou pelo HD e até mesmo acertar a hora do setup. A máquina virtual tem até mesmo um relógio de CMOS próprio, vinculado ao horário do relógio da placa-mãe:

Um bug conhecido, que afeta diversas distribuições, é a tecla “/” do teclado não funcionar dentro das VMs. Ele pode ser resolvido rapidamente adicionado a linha “xkeymap.keycode.211 = 0×073″ no final do arquivo “/usr/lib/vmware/config” e, em seguida, reiniciando o serviço “vmware”. Você pode fazer isso rapidamente usando os dois comandos abaixo:
# echo ‘xkeymap.keycode.211 = 0×073′ >> /usr/lib/vmware/config
# /etc/init.d/vmware restart
Já que a máquina virtual é na verdade apenas uma pasta com arquivos, você pode perfeitamente tirar cópias e transportá-las para outras máquinas. Se você precisa de 10 máquinas virtuais com servidores Debian, por exemplo, você não precisa fazer a instalação 10 vezes; pode instalar uma vez, tirar 10 cópias e depois apenas modificar as configurações de rede e acertar as peculiaridades de cada servidor.
Para tirar cópias locais de uma máquina virtual, basta copiar a pasta de instalação. Você poderia, por exemplo, usar o comando:
$ cp -a Debian-Etch/ Debian-Etch2
… gerando uma pasta de nome diferente para cada cópia.
Para abrir as VMs copiadas no vmware-server-console, clique em “File > Open” e indique o arquivo .vmx dentro de cada pasta copiada:

Ao inicializar as máquinas virtuais copiadas pela primeira vez, o VMware exibe um aviso sobre o número de identificação. Cada VM possui um número de identificação e, por motivos óbvios, não é recomendável utilizar várias VMs com a mesma identificação. Para evitar isso, use a opção “Always Create”, que faz com que o VMware passe a atribuir novos números de identificação conforme as cópias forem sendo inicializadas:

Naturalmente, é possível também copiar as máquinas virtuais para outras máquinas. Neste caso, a melhor opção é compactar a pasta. Como os arquivos da VM são salvos no disco virtual sem compactação, você pode reduzir o tamanho da pasta em duas vezes ou mais ao compactá-la.
Compactar a pasta antes de transferí-la também evita problemas relacionados à mudanças nas permissões dos arquivos. Para comprimir a pasta no Linux, use o comando “tar -zcvf”, seguido pelo arquivo .tar.gz que será gerado e a pasta que será compactada, como em:
$ tar -zcvf Debian-Etch.tar.gz Debian-Etch/
Depois de transferir o arquivo para a outra máquina, descompacte-o usando o “tar -zxvf”, como em:
$ tar -zxvf Debian-Etch.tar.gz
Ao invés de fazer toda a instalação do sistema na VM remotamente, tendo que lidar com a lentidão de atualização da tela, você pode criar a VM e fazer a instalação e configuração na sua máquina e transferir a VM para o servidor quando estiver tudo pronto. Fazendo uma instalação enxuta do Debian ou uma instalação do Ubuntu em modo servidor e compactando a pasta antes de transferir, o upload ficará com pouco mais de 200 MB.
Como disse a pouco, você pode utilizar o SSH, NX, VNC e outras opções de acesso remoto para administrar as máquinas virtuais remotamente, deixando o vmware-server-console apenas para emergências. A vantagem dele é permitir que você acompanhe todo o processo de boot do sistema, identificando e corrigindo problemas em casos onde o sistema passa a travar no boot ou não sobe a rede, por exemplo.
Configuração da rede
Ao instalar o VMware Server em um servidor da sua rede interna, a configuração dos endereços de rede para as máquinas virtuais precisa apenas seguir o padrão normal da sua rede, como se você estivesse adicionando novos micros ou servidores. A principal dúvida reside em como configurar os endereços das máquinas virtuais ao utilizar um servidor dedicado, hospedado externamente.
Na grande maioria dos casos, ao locar um servidor dedicado você recebe uma faixa de 8 endereços, onde 5 deles são utilizáveis, já que o primeiro e o último endereços ficam reservados aos pacotes de broadcast e ao endereço da rede e um deles fica sendo o endereço do gateway. Na maioria dos casos, as empresas de hospedagem utilizam faixas de endereços de classe A ou B, divididas em uma grande quantidade de redes menores, utilizando máscaras de tamanho variável, baseadas no sistema CIDR. A máscara mais comum é a “255.255.255.248″ (/29), que permite criar as redes de 8 endereços que comentei.
Seu servidor pode, por exemplo, utilizar o endereço 72.232.194.138, sendo que:
72.232.194.136: Endereço da rede
72.232.194.137: Gateway
72.232.194.138 a 72.232.194.141: Endereços utilizáveis
72.232.194.142: Endereço de broadcast
Nesta situação, você ainda teria vagos os endereços de 72.232.194.138 a 72.232.194.141. Os endereços ociosos podem ser usados para colocar no ar servidores virtuais, que podem desempenhar funções secundárias, serem usados como honeypots, ou até mesmo serem sublocados. Basta usar a imaginação.
Você poderia colocar no ar 4 máquinas virtuais diferentes, cada uma utilizando um dos endereços disponíveis. Você notará que cada uma realmente responderá e se comportará como um servidor completo. Como disse anteriormente, é como se fosse criado um “hub” virtual”, onde todas as máquinas virtuais são ligadas.
Cada VM seria então configurada para utilizar um dos endereços vagos dentro da faixa. Se você não tem um segundo servidor dedicado para assumir a função de servidor DNS secundário, pode delegar essa função a uma das VMs, evitando assim precisar sacrificar um dos endereços IP para o alias da placa de rede no servidor principal. Aqui temos um exemplo de configuração de rede para uma VM dentro de uma faixa de 8 endereços:

Aproveite para adicionar as máquinas virtuais à configuração do DNS. Aqui temos um exemplo de configuração onde três VMs foram incluídas como subdomínios de um domínio já configurado:
@ IN SOA servidor.gdhn.com.br. hostmaster.gdhn.com.br. (
2008061645 3H 15M 1W 1D )
NS servidor.gdhn.com.br.
NS vm1.gdhn.com.br.
IN MX 10 servidor.gdhn.com.br.
gdhn.com.br. A 64.234.23.12
www A 64.234.23.12
vm1 A 64.234.23.13
vm2 A 64.234.23.14
vm3 A 64.234.23.15
vm4 A 64.234.23.16
Naturalmente, você pode também registrar novos domínios para as máquinas virtuais, adicionando as zonas na configuração do DNS do servidor principal (nada impediria que as próprias máquinas virtuais abrigassem servidores DNS próprios, mas isso só complicaria a configuração).
Em casos onde você precisa criar mais do que 4 máquinas virtuais (e a configuração de hardware do servidor permita), você pode pagar por endereços IP adicionais, opção que está disponível por um pequeno extra em grande parte dos planos de hospedagem. Veja, por exemplo, esta tela de seleção do The Planet:

Por apenas 8 dólares (mensais) adicionais é possível fazer um “upgrade” para uma faixa de 13 endereços (máscara 255.255.255.240) e por 56 dólares é possível colocar as mãos em uma faixa de 61 endereços utilizáveis (máscara 255.255.255.192).
Aumentando a mensalidade em mais 45 dólares, seria possível atualizar o servidor para 2 GB de RAM e adicionar um HD secundário de 500 GB, o que permitiria rodar tranquilamente 8 ou mesmo 16 VMs simultaneamente.
Interface de gerenciamento via web
Concluindo, falta apenas instalar o VMware Management Interface (no servidor), de forma que você possa monitorar o status das máquinas virtuais já configuradas usando o navegador.
Assim como nos passos anteriores, você deve baixar o arquivo “VMware-mui”, descompactá-lo, acessar a pasta “vmware-mui-distrib/” que será criada e rodar o comando “vmware-install.pl“, para abrir o script de instalação, como em:
# tar -zxvf VMware-mui-1.0.5-80187.tar.gz
# cd vmware-mui-distrib/
# ./vmware-install.pl
Ao contrário do script de instalação do VMware Server, o script não pergunta sobre compiladores ou sobre os headers do Kernel, apenas confirma os diretórios de instalação. Embora seja uma interface de administração via web, o VMware-mui não precisa que o Apache (ou outro servidor web) esteja instalado, pois ele inclui um mini-servidor próprio, que inclui todas as funções necessárias. Ele também não conflita com o Apache caso instalado no mesmo servidor, já que utiliza uma porta diferente.
Para se conectar à interface de gerenciamento, acesse (no seu desktop) o endereço “https://seuservidor.com.br:8333” e logue-se usando o mesmo login e senha do vmware-server-console. Esta interface de gerenciamento é muito prática, pois você pode se conectar ao servidor para reiniciar uma máquina virtual até mesmo usando o celular, quando estiver preso no trânsito. Note que é necessário manter a porta “8333″ aberta no firewall do servidor:

Aqui temos duas máquinas virtuais ativas, uma com o SuSE e outra com o Ubuntu. A grande diferença de uso de memória entre os dois (29 MB para o Ubuntu e 159 MB para o SuSE) é porque o SuSE está rodando com a interface gráfica e um conjunto de outros serviços ativos, enquanto o Ubuntu foi instalado em modo servidor e está rodando apenas o SSH e o Apache.
Em geral, um servidor bem configurado e com apenas os serviços necessários ativos, consome bem menos memória RAM que um desktop (com exceção dos casos de servidores de alta demanda, naturalmente), por isso é mais fácil manter várias VMs ativas. O consumo de RAM do servidor cresce conforme aumenta o número de usuários e, consequentemente, de requisições simultâneas.
Naturalmente, nada lhe impede de configurar também máquinas virtuais rodando outros sistemas operacionais. Também estão disponíveis versões do VMware Server e do vmware-server-console para Windows, tornando a escolha da plataforma algo bem democrático.
Voltando ao VMware-mui, muita gente torce o nariz para a idéia de manter abertas as portas 902 (utilizada pelo vmware-server-console) e 8333. Se você for paranóico, é possível manter as portas fechadas e acessar a interface de gerenciamento e o console usando um túnel do SSH. Neste caso, você precisa manter aberta apenas a porta 22.
Para criar os túneis, use o comando “ssh -f -N -L porta:IPservidor:porta -l user IPservidor”. É preciso executar o comando duas vezes, uma para a porta 902 e outra para a porta 8333. Se você deseja se conectar no servidor “gdhn.com.br” usando o login “gdh”, por exemplo, os comandos seriam:
# ssh -f -N -L902:gdhn.com.br:902 -l gdh gdhn.com.br
# ssh -f -N -L8333:gdhn.com.br:8333 -l gdh gdhn.com.br
Uma observação é que o primeiro comando (que redireciona a porta 902) precisa ser executado na sua máquina (no cliente) como root, pois as permissões do SSH não permitem criar túneis para portas abaixo da 1024 utilizando um login de usuário.
Com os túneis criados, ao invés de se conectar ao endereço IP ou domínio do servidor, você passa a se conectar ao endereço “127.0.0.1″, ou seja, você se conecta ao localhost. O SSH se encarrega de redirecionar todos os dados através do túnel, enviando-os para as portas corretas no servidor remoto, mesmo que elas estejam fechadas no firewall (pois os dados trafegam na verdade através da porta 22, do SSH).
Os túneis são bem transparentes. A única dificuldade é que você precisa executar novamente os comandos cada vez que reiniciar o cliente ou caso ele seja desconectado da rede.
VMware Tools
Embora não seja obrigatório, é interessante instalar o VMware-Tools após terminar de instalar o sistema dentro da máquina virtual. Ele é um conjunto de drivers que faz o sistema guest rodar com um melhor desempenho e de forma mais transparente, sobretudo com relação à interface de rede virtual e ao vídeo.
Dentro da máquina virtual, o sistema guest não enxerga o hardware real do servidor, mas sim um conjunto de dispositivos virtuais criados elo VMware. É por isso que você pode usar a mesma VM em vários servidores diferentes, sem precisar ficar instalando drivers nem modificando o sistema guest.
Para instalar o VMware Tools dentro da máquina virtual, use (com o sistema carregado) a opção “VM > Install VMware Tools” disponível no menu principal:

A opção simula a inserção de um segundo drive de CD-ROM, contendo a mídia de instalação do VMware-Tools dentro da máquina virtual. Ao instalar em uma VM rodando Linux, o primeiro passo é montar o drive de CD-ROM, usando o comando “mount /media/cdrom0″ ou “mount /mnt/cdrom”.
Acessando a pasta correspondente, você encontra dois arquivos do VMware-Tools, um compactado em .tar.gz (a versão genérica) e outro em .rpm (a versão destinada ao Fedora e outras distribuições derivadas do Red Hat).
Copie a versão que vai instalar para a pasta “/tmp”. Para instalar o arquivo .tar.gz, descompacte o arquivo, acesse a pasta que será criada e execute o comando “./vmware-install.pl” (como root). Para o pacote em RPM, basta instalá-lo utilizando o comando “rpm -Uvh”
A instalação do VMware-Tools implica na instalação de diversos módulos de kernel que precisam ser compilados sob medida para o kernel em uso. O pacote inclui pacotes pré-compilados para muitas distribuições, mas, ao instalar uma distribuição menos comum, ou instalar uma versão recente, você vai precisar ter instalados os compiladores e os headers do kernel (no sistema guest, dentro da máquina virtual), para que o instalador possa compilar os módulos, assim como ao instalar o pacote principal do VMware Server.
Ao usar a opção em uma VM com o Windows, a instalação é mais simples, pois a inserção do CD-ROM virtual dispara o programa de instalação automaticamente (usando o autorun) e o instalador segue o tradicional modelo “Next > Next > Finish”:

Graças a todos os recursos que vimos, o VMware Server acaba sendo uma opção quase que ideal, já que é gratuito, flexível e fácil de instalar. Além de usá-lo em seus servidores para otimizar o uso dos recursos disponíveis, essencialmente transformando um único servidor em vários, você pode até mesmo usá-lo no seu desktop, no lugar do VMware workstation ou VMware Player.
Atualmente estamos assistindo a uma popularização muito grande do Xen, mas ele ainda perde no quesito da facilidade de uso. Outro concorrente que tem crescido é o KVM, que também citei anteriormente. Ou seja, mantenha um olho no VMware Server, e outro nas demais soluções. Como o mercado é muito volátil, não podemos dizer qual deles estará por cima daqui a 5 anos.
Fonte: www.guiadohardware.net