Trabalhando com vmware em linha de comando
quarta-feira, 24 de setembro de 2008Usar interface gráfica para trabalhar com vmware é sem dúvidas uma grande comodidade, mas quando você por algum motivo não pode utilizar a interface gráfica, seja por problemas no servidor X, regras que não permitem acessar remotamente o servidor ou qualquer coisa do gênero, é que precisamos saber mexer com a nossa linda telinha preta.
Bom, eu já mostrei pra vocês, como instalar o vmware server no ubuntu e no debian, além de ter mostrado como configurar uma máquina remota.
Desta vez eu vou mostrar, como iniciar, pausar, parar, gerar um snapshot e informações sobre uma máquina virtual do vmware server, utilizando o comando vmware-cmd
Se você usa o vmware em produção, aconselho criar uma máquina virtual extra para brincarmos sem atrapalhar a produtividade da sua virtualização.
Uma vez que a máquina virtual esteja criada, deixe-a parada e vamos executar em modo texto.
Para isto, vamos supor que a imagem criada se chama “teste”, o arquivo de configuração se chama “teste.vmx” e foi instalada no diretório /home/vmware:
#vmware-cmd /home/vmware/teste/teste.vmx start
Com este comando, a máquina virtual será inicializada. Facil não?
A sintaxe é a mesma para “pause”, “suspend” e “stop”
#vmware-cmd /home/vmware/teste/teste.vmx pause
#vmware-cmd /home/vmware/teste/teste.vmx suspend
#vmware-cmd /home/vmware/teste/teste.vmx stop
Agora que você já zoneou à vontade a sua pobre máquina virtual de testes, vamos descobrir em que situação ela se encontra:
#vmware-cmd /home/vmware/teste/teste.vmx getstate
O vmware informa através do comando acima, a situação da sua máquina virtual, sendo possível obter os status “on”, para máquinas virtuais em execução, “off” para máquinas virtuais desligadas e suspended, para máquinas virtuais que estão em pausa.
Vamos pegar agora um outro exemplo, pra demonstrar outras funcionalidades muito úteis da linha de comando do vmware server. Desta vez vamos de windows xp virtual.
#vmware-cmd /home/vmware/windows\ xp\ professional/windows\ xp\ professional.vmx getpid
Importante: espaços precisam ser escapados com o caractere “\”, como no caso acima. Você também pode colocar o nome entre aspas que resolve o problema. Isto não tem nada a ver com o vmware, é apenas questão de como o shell lida com espaços em branco.
Com o comando getpid, eu consigo obter o pid desta máquina virtual. Isto pode ser muito útil se combinado com top, para medir o consumo dos recursos do servidor, ou até mesmo com kill, caso para matar o processo que roda um computador virtual, em último caso.
atualizado em 29/09/08
Como o amigo Morikawa esperava mais, resolvi me aprofundar no assunto e outras opções
É possível também manipular alguns aspectos do hardware através do vmware-cmd. Vamos por exemplo, lidar com a inserção de um dispositivo ide na máquina virtual. Neste caso eu quero que o arquivo de imagem “debian.iso” seja reconhecido como sendo um dispositivo ide, insero na primary master.
Antes de mais nada, vamos desconectar o dispositivo:,
#vmware-cmd /home/vmware/teste/teste.vmx disconnectdevice ide1:0
Então eu preciso relacionar a variável ide1:0 ao tipo de dispositivo:
#vmware-cmd /home/vmware/teste/teste.vmx setdevice ide1:0.deviceType cdrom-image
Em seguida, ao arquivo de imagem:
#vmware-cmd /home/vmware/teste/teste.vmx setdevice ide1:0.file /home/isos/debian.iso
E logo depois conectar:
#vmware-cmd /home/vmware/teste/teste.vmx connectdevice ide1:0
Se o dipositivo for um cd-rom real, desconecte o dispositivo como mostrado acima, mude o deviceType de cd-rom image para atapi-cdrom e mande conectar.
Para trabalhar corretamente com dispositivos ide, você apenas precisa saber como o vmware trata os dispositivos:
ide0:0 - Primary master
ide0:1 - Secondary Master
ide1:0 - Secondary Master
ide1:1 - Secondary Slave
Existe um meio de modificar configurações do hardware que eu particularmente acredito ser mais fácil, que é editando diretamente o arquivo .vmx.
Para tornar mais dinâmico, colocarei as descrições logo abaixo.
#!/usr/bin/vmware
config.version = “8″
virtualHW.version = “4″
scsi0.present = “TRUE”
#diz que existe uma controladora scsi nesta VM, para desativar mude “TRUE” para “FALSE”scsi0.virtualDev = “lsilogic”
#tipo de controladora scsi, pode ser “lsilogic” ou “buslogic”, mais informações em #INFOmemsize = “256″
#Quantidade máxima de memória que pode ser usada por esta máquina virtualscsi0:0.present = “TRUE”
#Diz que existe um dispositivo scsi anexado á controladora scsi0scsi0:0.fileName = “Other Linux 2.6.x kernel-000001.vmdk”
#identifica o dispositivo anexado. Neste caso o hd”scsi0:0.writeThrough = “TRUE”
#Método usado para fazer cache.ide1:0.present = “TRUE”
#Diz que um dispositivo está conectado na secondary masteride1:0.deviceType = “cdrom-image”
#define que o tipo deste dispositivo será uma imagem de cdromide1:0.fileName = “/home/isos/debian.iso”
#Define o caminho do dispositivo. Neste caso uma imagem isofloppy0.fileName = “/dev/fd0″
#Aqui o disquete está sendo direcionado para o dispositivo /dev/fd0,
#que é o caminho padrão do drive de disquete no linuxfloppy0.startConnected = “FALSE”
#O disquete não será conectado quando o computador ligar.Ethernet0.present = “TRUE”
#Existe uma placa de redeethernet0.connectionType = “nat”
#Esta placa está conectada a uma rede virtualethernet0.addressType = “generated”
ethernet0.generatedAddress = “00:0c:29:a5:fe:25″
#Este é o mac da placa, se tiver problemas de mudança de mac, mude .generatedAddress para .addressethernet0.generatedAddressOffset = “0″
Ethernet1.present = “TRUE”
#existe uma segunda placa de redeethernet1.connectionType = “bridged”
#Esta placa está conectada diretamente à placa de rede real, como se estivesse
#no mesmo hub do servidorethernet1.generatedAddress = “00:0c:29:a5:fe:2f”
ethernet1.addressType = “generated”
displayName = “Delcatilho”
#nome que aparecerá no topo quando você visualizar a máquina virtualguestOS = “other26xlinux”
#Tipo de sistema operacional a ser instalado nesta VMautostart = “none”
#Esta virtual machine não inicia junto com o processo do vmware,
#sendo necessário iniciar manualmenteuuid.location = “56 4d 07 8e 20 48 d0 93-79 a0 f1 2f ec a5 fe 25″
# Ao que consta, este é um hash do diretório onde está a máquina virtual
# se você mudar a VM de diretório, o vmware avisa.uuid.bios = “56 4d 07 8e 20 48 d0 93-79 a0 f1 2f ec a5 fe 25″
#identificaçao única da máquina virtual
Existem muitas outras opções interessantes para o uso do vmware em linha de comando, mas essas já livram a sua pele em hora de necessidade. Caso queira saber mais sobre as opções de linha de comando para o vmware server e vmware exs, consulte o link using vmware-cmd utility.
Abraços,
Se pintar alguma dúvida, deixe um comentário, estamos aí pra isso.






[...] por jeferson dos Santos (jefersondossantos?gmail·com) - referência [...]
Trabalhando com vmware em linha de comando | sexta-feira, 26 de setembro de 2008[...] por jeferson dos Santos (jefersondossantos?gmail·com) - referência [...]
[...] por jeferson dos Santos (jefersondossantos?gmail·com) - referência [...]
Trabalhando com vmware em linha de comando | Abiyaa | domingo, 28 de setembro de 2008[...] por jeferson dos Santos (jefersondossantos?gmail·com) - referência [...]
Amigão que plugin vc utiliza para destacar os comando em
Mauro | segunda-feira, 29 de setembro de 2008Amigão que plugin vc utiliza para destacar os comando em linux??
valeu
um abraço
esperava mais do seu post... []'s
morikawa | segunda-feira, 29 de setembro de 2008esperava mais do seu post…
[]’s
Olá Morikawa, O que você esperava? Me dê uma dica que
lordhulk | segunda-feira, 29 de setembro de 2008Olá Morikawa,
O que você esperava? Me dê uma dica que eu atualizo o post, afinal a colaboração de todos é que faz um bom artigo.
Abraços
olá mauro, Eu não uso plugin nenhum.. é simplesmente css. Eu
lordhulk | segunda-feira, 29 de setembro de 2008olá mauro,
Eu não uso plugin nenhum.. é simplesmente css. Eu te passo por e-mail até a noite, pq agora to sem tempo… Abraços e obrigado pelo comentário.
Cara, eu instalei no meu Linux FC9 o vmware server
Alison Lacerda | terça-feira, 28 de outubro de 2008Cara, eu instalei no meu Linux FC9 o vmware server 2, coloquei um Windows Server 2008, e tudo está funcionando redondo… só não consigo o start do maquina virtual no load do s.o; Li o seu post, porém não acho no meu servidor o comando vmware-cmd, vc saberia me ajudar onde encontrar, ou se existe um download extra
Abraços
Olá,
Este tutorial foi baseado no vmware server 1.0x, logo é possível que o vmware-cmd não esteja disponível na versão 2, apesar de ser uma grande desvantagem da nova versão, caso não tenha.
Como eu ando meio ocupado nem tenho como fazer testes na versão 2, que aliás, ainda é beta. Tente usar a versão descrita no tutorial.
Abraços,
Boa cara!!!
boa cara | sexta-feira, 28 de novembro de 2008