Office Computing Grade utilização de ambientes virtuais - Parte 3
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:
- Faça uma lista de processos e grep para este 'php'. Se não for encontrado, em seguida continuar.
- Ligue para o seu código de trabalho, no meu caso isso seria algo baseado PHP
- Roteiro trabalhador completa a sua execução
- 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:
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.
É 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.



















































