Introducción
Yo trabajo en una empresa donde corremos muchos puestos de trabajo de procesamiento por lotes millones de registros de datos cada día y he estado pensando sobre todos los equipos que se sientan alrededor de cada uno y cada día sin hacer nada durante varias horas. ¿No sería bueno si pudiéramos utilizar esas máquinas para reforzar la capacidad de procesamiento de nuestros sistemas? En esta serie 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 vimos 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, mientras que garantizar que cada puesto de trabajo se procesa sin falta.
Configuración de su trabajo - o servidor LIMP
El siguiente paso en el proceso es la creación de sus trabajadores virtuales. Para ello 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 (Li nux, m ySQL, HP P) Servera (yo pueda haber hecho el nombre arriba).
- Instalación de VirtualBox en su máquina Windows (seguir el enlace)
- Descargue e instale CentOS (versión actual 5.3) dentro de una máquina virtual creada
No tiene sentido que me va a este probablemente hay 1,000 's de las grandes clases particulares 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 GridMachine máquina virtual.
En cuanto a mis opciones de virtualización de cliente y el sistema operativo vaya no hay gran razón de peso 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 buen sistema operativo estable y lo uso en mi propio servidor web. Soy un gran creyente en las herramientas adecuadas para el trabajo (aunque estoy solicitando la «utilización más rápida 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:)
Es importante asegurarse de que su máquina virtual utiliza DHCP, de lo contrario para cada máquina virtual de nuevo tendrá que ser configurado por separado que es algo que no want.By mediante DHCP no es necesario configurar los ajustes de red de forma individual para las máquinas de los trabajadores, DHCP mano de IPs para usted. Por lo tanto usted puede copiar su máquina virtual sobre la oficina sin tener que preocuparse sobre la configuración de cada uno hacia arriba (esto mejora la escalabilidad y reduce la administración de los trabajadores).
El proceso que deben tratar de lograr sería la de obtener una máquina física nueva, instale VirtualBox, y luego más o menos implementar la imagen virtual sin necesidad de mucho más. Podría ser sabio para configurar todos sus trabajadores en una subred diferente, para que pueda al menos ver cuántas máquinas se están ejecutando. También tendrás que configurar los equipos 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 los trabajos de transformación en el 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 secuencia de comandos y, potencialmente, a sus trabajadores dejarán de funcionar sin algún tipo de intervención.
- ejecución Cron guión basado: Cada X minutos el demonio cron se inicia una llamada a la secuencia de comandos para que funcione. Sin alguna comprobación de esto podría llevar a muchas copias de la secuencia de comandos de trabajo en ejecución.
Mi decisión fue ir con cron que arranca un script de shell cada 10 minutes. Mi script de shell realiza las siguientes tareas:
- Obtener una lista de procesos y grep esto para '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
- script 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 grep-v |> grep php / dev / null
a continuación,
echo "El trabajo está procesando, la salida"
más
echo "El trabajo no se ejecuta, comienza ahora"
php yourJobProcessingScript.php
fi Nota: los ecos son casi completamente inútil, pero puede ayudar a la próxima persona que viene a tratar de editarlos.
Con esto concluye la puesta en marcha de la máquina virtual de trabajo, rápido, simple y fácil de copiar a cada nueva pieza de hardware que se recibe. La 'inteligencia' de la red de distribución realmente no es visualizada en el sistema operativo, su todo que ver con el código creado a los trabajos de proceso, 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 ).
Configuración de Windows para los trabajadores de iniciación
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 ha nombrado a su GridMachine trabajador entonces el comando necesario 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 darle un mensaje acerca de la escucha en el puerto 3389. El nombre de la máquina virtual se distinguen mayúsculas y minúsculas!
A continuación, tendrá que configurar las ventanas para dar inicio a nuestra máquina virtual de los trabajadores una vez que la máquina ha estado inactiva. Para hacer esto (en Windows XP) que necesita para ir a Inicio -> Todos los programas -> Accesorios -> Herramientas del sistema -> Tareas programadas de la siguiente manera:
Luego haga clic en "Agregar tarea programada" seguido de vaya a agregar un programa a medida. Vaya a la secuencia de comandos VBoxManage y haga clic en Aceptar. Programe su tarea para cualquiera de las opciones (vamos a cambiar esto en un minuto) y continuar. Después de saltar de las ventanas de pantalla siguiente le preguntará que desea ejecutar esta tarea, me gustaría sugerir o "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 las opciones de mostrar el siguiente y comprobar avanzadas para esta tarea.
Hasta el final de la caja de texto ejecutar añadir 'startvm' GridMachine nuestra cadena y asegurar que funcionen únicamente cuando se conecte se deja sin marcar. Visite el siguiente horario de trabajo y el cambio horario de la caída hasta la opción 'cuando esté inactivo ", elija la cantidad de tiempo que desea que la máquina se espera antes de pasar a la siguiente pestaña.
Por último desmarque la opción que dice 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.
Eso es todo luego de la configuración del host de Windows!
Resumen
En esta parte hemos creado 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 la tarea (para mí un script PHP). Desde aquí vamos a ver cómo crear nuestras copias de Windows para poner en marcha la máquina virtual en modo de cabeza cuando el equipo queda libre, y guardar su estado cuando el usuario se reanuda 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 obtener 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 los datos y códigos fuente para que los resultados obtenidos son siempre al día con el negocio de la información más reciente y la lógica.