VMware Player - Executando como um serviço

8

É possível executar o VMware player como um serviço do Windows para que um usuário não precise fazer login para ter o player em execução?

jdiaz
fonte

Respostas:

14

O VMware Server é a ferramenta correta para executar uma VM em segundo plano, não o VMware Player.

Zoredache
fonte
11
(e também é gratuito)
Chris_K
2
Não é estritamente verdade. Pessoas em toda a rede estão executando o VMWare Player como um serviço.
precisa
4
As pessoas do @JamesBarnett fazem muitas coisas que não são "ideais" - dê uma volta e observe como os outros se comportam nas ruas se você não acredita em mim. O fato de você poder 'colocar' o VMWare player em execução como um serviço não altera o fato de o servidor VMWare ser a ferramenta pretendida para esse trabalho.
precisa
11
Talvez dependa do caso de uso. Se você deseja executar uma VM autônoma porque deseja um servidor VMWare barato, eu concordo com você. No entanto, a declaração "a ferramenta correta para executar uma VM em segundo plano" é excessivamente ampla. No meu caso, eu queria rodar o linux lado a lado com o Windows usando o modo Unity e não precisava me preocupar em ver a interface do usuário do VMWare Player. Além disso, o Windows é encontrado excessivamente vinculando GUIs a processos em segundo plano. Uma parte central da história do computador é poder hackear algo para fazer o que você deseja. A ferramenta não está errada, você só precisa saber das limitações.
precisa
6
servidor VMware é obsoleto e tem um baixo "versão vm hw"
Sirber
5

Desculpe pela resposta tardia com isso. Eu estava tentando descobrir isso hoje. Me deparei com esta resposta, imaginei que eu sabia SF.

Você pode realmente ...

  • Adicione isso ao seu arquivo de configuração do VMX para configurar o VMWare Player para não mostrar a interface do usuário:

    msg.noOk = "TRUE"

  • Obtenha o instsrv.exe em um Windows Server Resource Kit para criar seu próprio serviço

  • Na inicialização, faça um arquivo em lote para chamar o serviço que você acabou de criar

Instruções passo a passo podem ser encontradas aqui:

http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm

JamesBarnett
fonte
último link está quebrado
stimpy77
2

Sei que essa é uma pergunta antiga, mas procurei na Internet uma solução para isso e não consegui encontrar algo tão abrangente quanto o que gostaria de compartilhar.

Sim, é possível usar o vmware player como um serviço para Linux (há uma resposta separada para o Windows); é fácil e não há motivo para pensar em não fazê-lo. É especialmente bom para hospedar um servidor sem cabeça a partir de um servidor sem cabeça.

A outra opção orientada à VMware, o VMware Server, foi preterida e a única outra opção de US $ 0 que eu conheço é o VirtualBox. Se você gosta mais do que o VMWare Player, terá mais poder, mas conheço o VMWare Player e não vejo uma razão para não usar um caminho bem suportado para obter o que quero.

Presumivelmente, você deseja que ele seja executado em uma conta não raiz e inicie e encerre nos horários padrão de inicialização / desligamento do serviço. Se for esse o caso, veja como configurá-lo:

  • Obtenha o pacote daemon (geralmente não instalado por padrão):

    apt-get install daemon
    
  • Faça o download do VMware Player e VMware VIX em vmware.com e instale-os para obter o mecanismo da VM e o binário vmrun do VIX (controle de linha de comando da execução da vm).

  • Adicione o serviço à inicialização criando /etc/init.d/<vm_server_name>. Pode ser algo como isto:

    #! /bin/bash
    ### BEGIN INIT INFO
    # Provides:          vm_server_name
    # Required-Start:    $named $remote_fs $syslog
    # Required-Stop:     $named $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: My Server VM
    # Description:       Virtual Machine instance of My Server
    ### END INIT INFO
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    VM="/path/to/vmx_file.vmx"
    USER_TO_RUN_UNDER="username"
    
    if [[ "$USER" == "$USER_TO_RUN_UNDER" ]]; then
      USER_FLAG=""
    else
      USER_FLAG="--user=$USER_TO_RUN_UNDER"
    fi
    
    case "$1" in
        start)
            daemon $USER_FLAG -- vmrun -T player start "$VM" nogui &>/dev/null &
            ;;
        stop)
            vmrun -T player suspend "$VM" &>/dev/null
            while [[ "$(vmrun -T player list | grep -o "$VM")" == "$VM" ]]; do
              sleep 1
            done
            ;;
        *)
            echo "Usage: $0 start|stop" >&2
            exit 3
            ;;
    esac
    
  • Torne o script executável:

    chmod a+x /etc/init.d/vm_server_name
    
  • Adicione o script aos níveis de execução de inicialização / desligamento do serviço linux padrão. Os números garantem que é uma das últimas coisas iniciadas e a primeira a ser encerrada:

    update-rc.d vm_server_name defaults 99 01
    

Notas:

  • Você provavelmente precisará 'sudo' todos os comandos enquanto modifica arquivos pertencentes à raiz.
  • Coloquei um loop para que, no desligamento, o script não retornasse ao sistema operacional até que ele suspendesse completamente o sistema operacional convidado. Não sei se isso é necessário ou não, mas parecia uma boa ideia. Definitivamente desacelerará o desligamento do sistema operacional host, mas vale a pena na minha opinião.
  • Se você precisar interagir com a GUI local do SO convidado, suspenda o servidor executando-o /etc/init.d/vm_server_name stope inicie-o localmente usando a GUI do VMware player. Depois de terminar, suspenda-o e execute /etc/init.d/vm_server_name startpara iniciar a instância sem cabeça novamente.
David Gladfelter
fonte
Se o Vmware player e o Virtual box são a única coisa que você inventou no Linux, não está pesquisando muito. KVM e Xen são as ferramentas preferidas atualmente.
Zoredache
11
Uma boa resposta para usuários de Linux, mas a questão foi perguntando especificamente sobre a execução VMWare Player como um serviço do Windows - Talvez você deve perguntar e responder a uma pergunta separada sobre como fazer isso no Linux :-)
voretaq7
Obrigado pelos ponteiros para outras soluções. Tente pesquisar por 'vm como um serviço' no google e você verá o que eu vi. Acho que o que você está realmente dizendo é que acredita que os hipervisores são a nova moda. Eu acho que existem razões válidas para os amadores escolherem um host linux com outros vm como serviços, mas para escalabilidade, tenho certeza de que você está correto.
David Gladfelter 6/11/12
Ops, eu não vi a palavra 'Windows' na pergunta.
David Gladfelter 6/11/12
hmm, pensando bem, acho que o Windows não foi mencionado na pergunta quando a respondi. Poderia ser errado ...
David Gladfelter