Office Grid Computing utilização de ambientes virtuais - Parte 3

Por Watkin Steven Lloyd , sexta-feira 04 de dezembro 2009 23:37

Introdução

Eu trabalho em uma empresa onde executar trabalhos de processamento batch muitos milhões de registros de dados de cada dia e eu tenho pensado recentemente sobre todas as máquinas que se sentam em torno de cada dia sem fazer nada por várias horas. Não seria bom se pudéssemos usar essas máquinas para reforçar o poder de processamento dos nossos sistemas? Neste conjunto de artigos que eu vou olhar para os potenciais benefícios da contratação de um escritório da rede usando ambientes virtualizados.

Na parte 2 nós olhamos os trabalhos serão executados num servidor, e quantos empregos devem ser configurados para atingir maior quantidade de processamento, enquanto que cada trabalho é processado sem falhar.

Configurar o trabalhador - ou servidor LIMP

O passo seguinte no processo é a criação de seus trabalhadores virtuais. Por isso eu vou usar uma instalação do CentOS usando o VirtualBox. Eu estou indo para instalar mySQL e PHP no servidor, também conhecido como um coxo (Li nux, m ySQL, P HP) Servera (Talvez eu tenha feito esse nome).

  • Instalar VirtualBox em sua máquina Windows (sigam o link)
  • Faça o download e instalar o CentOS (versão atual 5.3) dentro de uma máquina virtual criada

Não adianta eu ir para esse provavelmente há 1,000 's de tutoriais por aí (ok, aqui vai um: Criando e Managing máquina virtual no VirtualBox CentOS ). O ponto importante a nota que eu suponho que é que eu chamei meu GridMachine máquina virtual.

No que diz respeito as minhas escolhas do cliente e virtualização do sistema operacional lá é nenhuma razão convincente para cada grande escolha. VirtualBox é algo que eu uso na minha máquina em casa e é apoiada pelos três principais sistemas operacionais. Eu escolhi o CentOS como um bom sistema operacional estável e eu uso no meu próprio servidor web. Sou um grande crente nas ferramentas certas para o trabalho (embora eu estou aplicando "utilização mais rápida e fácil para você" mentalidade aqui), então se sistema operacional OS X é executado o código mais rápido e mais eficiente utilização que, em vez:)

É importante certificar-se que a VM usa DHCP, caso contrário, para cada nova máquina virtual que precisa ser configurado separadamente, que é algo que não want.By usando DHCP não precisamos configurar definições de rede para as máquinas individualmente trabalhador, DHCP mão fora IPs para você. Portanto, você pode copiar a máquina virtual sobre o escritório sem se preocupar com definição de cada um para cima (isto melhora a escalabilidade e reduz a administração do trabalhador).

O processo que você deve ter por objectivo seria obter uma nova máquina física, instalar o VirtualBox, e depois praticamente implantar a imagem virtual, sem muito mais. Pode ser sábio para instalação todos os seus trabalhadores numa sub-rede diferente para que possa pelo menos ver quantas máquinas estão funcionando. Você também precisa configurar suas máquinas em um arrendamento a longo ou ilimitado DHCP.

Como executar trabalhos sobre o trabalhador

Esta é uma área interessante e existem vários métodos válidos para os trabalhos de processamento do trabalhador. Aqui vou discutir os dois mais óbvios:

  • Perpetuamente executar o script: Um script, seja ele um shell script ou um script PHP é executado uma vez sobre o trabalhador e é executado como parte de um loop infinito. Eu descontado esse método como uma falha do roteiro e, potencialmente, os trabalhadores deixarão de funcionar sem algum tipo de intervenção.
  • Cron execução do script com base em: a cada X minutos o cron daemon inicia uma chamada para o script para fazer as coisas andarem. Sem alguns testes este poderia conduzir a muitas muitas cópias de seu roteiro de trabalho em execução.

Minha decisão foi de ir com o cron que começa um script a cada 10 minutes. meu script realiza as seguintes tarefas:

  1. Faça uma lista de processos e grep isso para 'php'. Se não for encontrado, em seguida continuar.
  2. Chamar seu código de trabalho, no meu caso isso seria algo baseado em PHP
  3. script Trabalhador completa sua execução
  4. Pronto para ir novamente na próxima chamada adequado

Meu script bash é algo como o seguinte:

  #! / Bin / sh
 se ps ax | grep grep-v |> php grep / dev / null
 em seguida,
     echo "O trabalho está processando atualmente, com saída
 mais
     echo "O trabalho não está sendo executado, começar agora"
     yourJobProcessingScript.php php
 fi 

Nota: o de eco são quase completamente inútil, mas pode ajudar a próxima pessoa que vem para tentar editá-los.

Isso conclui a configuração da máquina virtual trabalhador, rápido, simples e fácil de copiar a cada nova peça de hardware que é recebido. A "esperteza" do sistema de rede realmente não é visualizado no sistema operacional, é tudo a ver com o código criado para o emprego de processo, a configuração do trabalho, e em garantir que o trabalho é executado quando (ou seja, apropriada quando a máquina está ociosa ).

Configurando o Windows para inicializar Trabalhadores

A primeira tarefa é elaborar o comando necessário para executar a máquina virtual a partir da linha de comando do Windows. Se você instalou o VirtualBox no local padrão e você nomeou seu GridMachine trabalhador, então o comando necessário para carregar o seu trabalho é:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" GridMachine startvm 

No entanto, para executar o script em um estado "sem cabeça", temos de usar:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe" GridMachine startvm - VRDP = off 

Isto irá iniciar a máquina virtual sem a interface gráfica e permitir que ele salve o estado graciosamente. O segundo argumento desliga RDP por isso não entra em conflito com o Windows RDP, ou dar-lhe uma mensagem sobre a escuta na porta 3389. O nome da máquina virtual é sensível caso!

Em seguida, precisaremos definir janelas até começar a nossa VM trabalhador quando a máquina estiver ociosa. Para fazer isso (no Windows XP) você precisa ir em Iniciar -> Programas -> Acessórios -> Ferramentas do Sistema -> Tarefas agendadas conforme abaixo:

tarefas agendadas

Em seguida clique em "Adicionar tarefa agendada 'seguido por ver a adicionar um programa personalizado. Navegue até o script VBoxManage e clique em OK. Programe a sua tarefa para qualquer uma das opções (vamos mudar isso em um minuto) e continuar. Depois de pular as janelas próxima tela irá pedir que você deseja executar essa tarefa, eu sugiro que seja Administrador, ou criar um novo usuário privilegiado. Lembre-se que nós não queremos interferir com a conta pessoal padrão na máquina em qualquer ponto. Clique ao lado e mostrar opções avançadas de seleção para esta tarefa.

Para o fim do textbox executar adicionar 'startvm' GridMachine string nosso e garantir que apenas funcionam quando conectado fica desmarcado. Visite a tarefa próxima programação e alterar o calendário drop down a opção "quando ocioso", escolha a quantidade de tempo que você gostaria que a máquina ficar ociosa antes de passar para a próxima guia.

Finalmente, desmarque a opção que afirma parar a tarefa se ela foi correndo X quantidade de tempo, mas não marque a opção de parar a tarefa se a máquina não está mais ociosa.

cronograma

É isso aí, em seguida, para a configuração do host windows!

Resumo

Nesta parte temos um conjunto de uma máquina virtual para atuar como um trabalhador, bem como a maneira pela qual nós chamamos e executar nossos scripts de processamento de trabalho (para mim um script PHP). A partir daqui, veremos como configurar o nosso cópias do Windows para iniciar a máquina virtual no modo headless quando o computador fica ocioso, e salvar seu estado quando o usuário retomar a utilização da máquina. Esperamos que neste momento você está vendo como é simples criar um tal sistema e estão ansiosos para começar algumas experiências vão-se!

Da próxima vez

Na parte 4 , vamos estar a olhar para utilizar ferramentas para assegurar que você está rodando a versão mais recente do código e fontes de dados para que os resultados obtidos são sempre atualizados com as últimas informações de negócios e da lógica.

3 Responses to "Office Grid Computing utilização de ambientes virtuais - Parte 3"

  1. [...] Parte 3, vamos criar nossa máquina virtual transformação e configurar as máquinas nossas janelas para se tornar [...]

  2. [...] Parte 3, criamos nossa máquina de processamento virtual e configurar as máquinas Windows para se tornar [...] tempo ocioso

  3. Você é um blogueiro realmente experiente, você quer ter a compreensão de qualidade de que o seu falar ou você fez alguma pesquisa fantástica. Obrigado por este excelente post.

Deixe uma resposta













Panorama Tema por Themocracy

9 visitantes online agora
4 pessoas, 5 bots, 0 membros
Max visitantes hoje: 13 às 12:15 UTC
Este mês: 26 em 2011/07/05 12:35 UTC
Este ano: 130 em 28-03-2011 22:40 UTC
Todos os tempos: 130 em 28-03-2011 10:40 UTC