Posts tagged: Sun

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

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

Introdução

Eu trabalho em uma empresa onde corremos muitos trabalhos em lote processando milhões de registros de dados de cada dia e eu estive pensando recentemente sobre todas as máquinas que se sentam em torno de cada dia sem fazer nada durante 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 de grade utilização de ambientes virtualizados.

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

Configurar o trabalhador - ou servidor LIMP

O próximo passo no processo é a criação de seus trabalhadores virtuais. Por isso eu vou usar uma instalação do CentOS usando VirtualBox. Vou instalar mySQL e PHP no servidor, também conhecido como Bizkit (Li nux, m ySQL, P HP) Servera (eu possa ter feito esse nome).

  • Instalar VirtualBox em sua máquina windows (seguir link)
  • Baixe e instale o CentOS (versão atual 5.3) dentro de uma máquina virtual criada

Não adianta me ir a este provavelmente há 1.000 's de tutoriais lá fora (ok, aqui vai um: Criando e Managing CentOS máquina virtual no VirtualBox ). O ponto importante a notar é que suponho que eu chamei minha máquina virtual GridMachine.

Tanto quanto as minhas escolhas do cliente de virtualização de sistema operacional e lá não é grande motivo convincente para cada escolha. VirtualBox é algo que eu uso na minha máquina em casa e é apoiado pelos três principais sistemas operacionais. Eu escolhi o CentOS como seu sistema operacional uma boa 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 "usar o mais rápido e mais fácil para você" mentalidade aqui), então se o sistema operacional X executa o código mais rápido e mais eficiente usar isso em vez :)

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

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

Como executar Jobs sobre o trabalhador

Esta é uma área interessante e existem vários métodos válidos para processar os trabalhos sobre o trabalhador. Aqui eu só 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 já descontado este método como um acidente do script e, potencialmente, os trabalhadores deixarão de funcionar sem algum tipo de intervenção.
  • Cron a execução de scripts baseada em: a cada X minutos o daemon cron inicia uma chamada para o script para fazer as coisas acontecerem. Sem alguns testes este poderia levar a muitas muitas cópias de sua corrida roteiro trabalhador.

Minha decisão era ir com o cron que começa um shell script cada minutes. 10 Meu script shell executa as seguintes tarefas:

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

Meu script bash parece algo como o seguinte:

  #! / Bin / sh
 se ps ax | grep-v grep | grep php> / dev / null
 então
     echo "Job está processando, de saída"
 outro
     echo "O trabalho não está sendo executado, começar agora"
     php yourJobProcessingScript.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 de trabalho virtual, rápida, simples e fácil de copiar a cada nova peça de hardware que é recebido. A "inteligência" do sistema de rede realmente não é visualizado no sistema operacional, é tudo a ver com o código criado para trabalhos do processo, a configuração do trabalho, e para garantir que o trabalho é executado quando for o caso (ou seja, quando o anfitrião é ocioso ).

Configurando o Windows para inicializar Trabalhadores

A primeira tarefa é descobrir 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 trabalhador GridMachine então o comando necessário para carregar o seu trabalhador é:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

No entanto, para executar o script em um estado 'sem cabeça', precisamos usar:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off 

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

A seguir, vamos precisar definir janelas até começar a nossa VM trabalhador uma vez que 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 de navegar para adicionar um programa personalizado. Navegue até o script VBoxManage e clique em OK. Agende sua tarefa para qualquer uma das opções (vamos mudar isso em um minuto) e continuar. Depois de pular a próxima tela do Windows irá pedir que você deseja executar esta tarefa, eu sugiro que seja "Administrador" ou criar um novo usuário privilegiado. Lembre-se que não queremos interferir com a conta pessoal padrão na máquina a qualquer momento. Clique ao lado e confira show advanced options para esta tarefa.

Para o fim da caixa de texto longo adicionar nosso string 'startvm GridMachine "e garantir que execução somente quando conectado fica desmarcado. Visite a tarefa seguinte cronograma e alterar o cronograma de cair para a opção 'quando ocioso ", escolha a quantidade de tempo que você gostaria que o computador esteja ocioso 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 assinalar a opção de parar a tarefa se a máquina não está mais ociosa.

programar

É isso então, para a configuração de host do Windows!

Resumo

Nesta parte temos um conjunto de uma máquina virtual para agir 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 nossas cópias do Windows para iniciar a máquina virtual no modo headless quando o computador torna-se ocioso, e salvar seu estado quando o usuário retomar a utilização da máquina. Esperemos que neste momento você está vendo como é simples para configurar um sistema deste tipo e está ansioso para começar algumas experiências vai você mesmo!

Próxima vez

Na Parte 4 , vamos estar a olhar para o uso de ferramentas para garantir que você está rodando a última versão das fontes de código e dados, de modo que os resultados obtidos são sempre up-to-date com as últimas informações do negócio e da lógica.













Tema por Panorama Themocracy

8 visitantes online agora
7 visitantes, 1 bots, 0 membros
Max visitantes hoje: 10 às 01:53 am UTC
Este mês: 40 em 23-05-2012 03:33 am UTC
Este ano: 69 em 27-02-2012 09:56 am UTC
Todos os tempos: 130 em 28-03-2011 10:40 UTC