Introducción
Yo trabajo en una empresa en la que nos encontramos muchos puestos de trabajo de procesamiento por lotes de millones de registros de datos de todos los días y he estado pensando últimamente sobre todas las máquinas que se sientan alrededor de cada uno y todos los días sin hacer nada durante varias horas. ¿No sería bueno si pudiéramos utilizar esas máquinas para reforzar el poder de transformación de nuestros sistemas? En este conjunto de artículos que voy a ver los beneficios potenciales del empleo de una oficina de la red utilizando entornos virtualizados.
En la parte 2 nos fijamos en los puestos de trabajo de un servidor se ejecutará, y cuántos empleos se debe configurar con el fin de lograr la mayor cantidad de procesamiento al tiempo que garantiza que cada trabajo se procesa sin falta.
La creación de su trabajador - o servidor LIMP
El siguiente paso en el proceso es la creación de sus trabajadores virtual. Por eso me voy a utilizar una instalación de CentOS con VirtualBox. Voy a instalar MySQL y PHP en el servidor, también conocido como una cojera (nux Li, m ySQL, P HP) Servera (que pueda haber hecho que el nombre de arriba).
- Instalación de VirtualBox en su máquina Windows (seguir el enlace)
- Descargar e instalar CentOS (versión actual 5.3) dentro de una máquina virtual creada
No tiene sentido que me va a este es probable que haya 1,000 's de gran tutoriales por ahí (bueno, aquí va una: Creación y Managing máquina virtual con VirtualBox CentOS ). El punto importante a señalar es que supongo que llamé a mi máquina virtual GridMachine.
En cuanto a mis elecciones de los clientes de virtualización y sistema operativo van no hay ninguna razón convincente grande para cada elección. VirtualBox es algo que yo uso en mi máquina de casa y con el apoyo de los tres principales sistemas operativos. Elegí CentOS como un sistema operativo estable es buena y yo lo uso en mi propio servidor web. Yo soy un gran creyente en las herramientas adecuadas para el trabajo (aunque estoy aplicando "el uso más rápido y más fácil para usted" mentalidad de aquí), así que si el sistema operativo X se ejecuta el código más rápido y más eficiente uso que en su lugar:)
Importante asegurarse de que su máquina virtual utiliza DHCP, de lo contrario para cada máquina virtual nuevo tendrá que ser configurado por separado que es algo que no want.By mediante DHCP que no es necesario configurar los ajustes de red de forma individual para las máquinas de los trabajadores, DHCP mano IPs para usted. Por lo tanto, puede copiar la máquina virtual de la oficina sin tener que preocuparse sobre la configuración de cada uno de ellos hacia arriba (esto mejora la escalabilidad y reduce la administración de los trabajadores).
El proceso que se debe aspirar a alcanzar sería la de obtener una máquina física nueva, instalación de VirtualBox, y luego casi implementar la imagen virtual sin necesidad de mucho más. Podría ser conveniente para la configuración de todos sus trabajadores en una subred diferente para que pueda al menos ver cuántas máquinas están en funcionamiento. También tendrá que configurar su máquina en un contrato de arrendamiento a largo o ilimitado concesión DHCP.
Cómo ejecutar trabajos en el trabajador
Esta es un área interesante y hay varios métodos válidos para el procesamiento de puestos de trabajo del trabajador. Aquí sólo voy a hablar de los dos más obvios:
- Perpetuamente ejecutar el script: Un script, ya sea un script de shell o un script PHP se ejecuta una vez en el trabajador y se ejecuta como parte de un bucle infinito. He descontado este método como un accidente de la escritura y, potencialmente, a sus trabajadores dejarán de funcionar sin algún tipo de intervención.
- Ejecución de cron script basado: cada X minutos el demonio cron se inicia una llamada al script para que funcione. Sin algunas comprobaciones que esto podría dar lugar a muchas muchas copias de sus ejecutar secuencias de comandos de los trabajadores.
Mi decisión fue ir con cron que comienza un script de shell cada minutes. 10 Mi script realiza las siguientes tareas:
- Obtener una lista de procesos y grep para este 'php'. Si no lo encuentra y luego continúe.
- Llame a su código de trabajo, en mi caso esto sería algo basado en PHP
- Guión trabajador termina su ejecución
- Listo para ir de nuevo en la convocatoria correspondiente al lado
Mi script bash se ve algo como lo siguiente:
#! / Bin / sh
si ps ax | grep-v grep | grep php> / dev / null
entonces
echo "Job está procesando, la salida"
más
echo "El trabajo no se ejecuta, comienza ahora"
php yourJobProcessingScript.php
fi Nota: se hacen eco de las casi completamente inútil, pero puede ayudar a la próxima persona que venga a tratar de modificarlos.
Con esto concluye la puesta en marcha de la máquina de trabajo virtual, rápido, sencillo y fácil de copia a cada nueva pieza de hardware que se recibe. La "inteligencia" del sistema de redes realmente no es visualizado en el sistema operativo, es todo que ver con el código creado para procesar los trabajos, la configuración del trabajo, y en asegurarse de que el trabajo se ejecuta en su caso (es decir, cuando el anfitrión está inactivo ).
La configuración de Windows para inicializar los trabajadores
La primera tarea es trabajar en el comando necesario para ejecutar la máquina virtual desde la línea de comandos de Windows. Si has instalado VirtualBox en la ubicación predeterminada y que ha llamado a su trabajador GridMachine el comando para cargar a su trabajador es:
"C: \ Archivos de programa \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Sin embargo, para ejecutar el script en un 'cabeza' del Estado tenemos que usar:
"C: \ Archivos de programa \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off
Esto iniciará la máquina virtual sin la interfaz gráfica de usuario y le permiten guardar el estado de gracia. El segundo argumento se apaga RDP por lo que no entra en conflicto con las ventanas RDP, o le dará un mensaje de escuchar en el puerto 3389. El nombre de máquina virtual entre mayúsculas y minúsculas!
A continuación, tendrá que configurar las ventanas cerradas para dar inicio a nuestra VM de los trabajadores una vez que la máquina ha estado inactiva. Para hacer esto (en Windows XP) tendrá que ir Inicio -> Todos los programas -> Accesorios -> Herramientas del sistema -> Tareas programadas de la siguiente manera:
Luego haga clic en "Agregar tarea programada" seguido por vaya a agregar un programa a medida. Vaya a su guión VBoxManage y haga clic en Aceptar. Programar su tarea para cualquiera de las opciones (vamos a cambiar esto en un minuto) y continuar. Después de saltar la siguiente pantalla, Windows le pedirá que se desea ejecutar esta tarea, te sugiero que sea "Administrador" o crear un nuevo usuario privilegiado. Recuerde que no queremos interferir en la cuenta personal de serie en la máquina en cualquier momento. Haga clic en Siguiente y seleccione Mostrar opciones avanzadas para esta tarea.
Para el final de la caja de texto ejecutar añadir nuestro "startvm GridMachine 'cadena y asegurar que sólo se ejecutan cuando se conecte se queda sin marcar. Visita la tarea de programación que viene y cambiar el calendario de bajar a la opción 'cuando está en reposo ", elija la cantidad de tiempo que le gustaría que la máquina se espera antes de pasar a la siguiente ficha.
Por último, desmarca la opción que establece detener la tarea si se ha estado ejecutando X cantidad de tiempo, pero no marca la opción para detener la tarea si la máquina ya no es ociosa.
Que es continuación de la configuración del host de Windows!
Resumen
En esta parte hemos puesto en marcha una máquina virtual para que actúe como un trabajador, así como la forma en que nos llame y ejecutar scripts de procesamiento de los trabajos (para mí un script PHP). A partir de aquí vamos a ver cómo crear nuestras copias de Windows para poner en marcha la máquina virtual en el modo de cabeza cuando el ordenador esté inactivo, y guardar su estado cuando el usuario reanude el uso de la máquina. Esperemos que en este momento estás viendo lo fácil que es crear un sistema y están ansiosos por conseguir algunos experimentos se va!
La próxima vez
En la Parte 4 vamos a estar buscando en el uso de herramientas para asegurar que se está ejecutando la última versión de las fuentes de código y datos, de modo que los resultados obtenidos están siempre al día con la última información de negocio y la lógica.