Введение
Я работаю в компании, где мы запускаем много рабочих мест, пакетная обработка миллионы записей данных каждый день, и я думал недавно обо всех машинах, которые сидят каждый день ничего не делать в течение нескольких часов. Не было бы хорошо, если мы могли бы использовать эти машины для укрепления вычислительной мощности наших систем? В этой серии статей, я буду смотреть на потенциальные выгоды от использования офиса сетки использование виртуализированных средах.
В части 2 мы рассмотрели работу сервер будет работать, и как рабочие места должны быть настроены с целью достижения наибольшей степени обработки в то время как обеспечение того, чтобы каждое требование обслуживается в обязательном порядке.
Настройка рабочего - или LIMP сервере
Следующим шагом в этом процессе, чтобы настроить виртуальные рабочие. Для этого я буду использовать установки CentOS использовании VirtualBox. Я собираюсь установить MySQL и PHP на сервере, также известный как LIMP (Li ммк, м ySQL, Р л.с.) Сервера (я, возможно, сделали это имя вверх).
- Установить VirtualBox на вашей машине окна (следуйте ссылке)
- Скачать и установить CentOS (текущая версия 5.3) в пределах создаваемых виртуальных машин
Там нет смысла мне будет это там, наверное, 1000-х годах большое учебники там (ну ладно, вот один: Создание и Managing CentOS виртуальной машине под VirtualBox ). Важно отметить, я полагаю, является то, что я назвал свою виртуальную машину GridMachine.
Что касается моего выбора виртуализации клиентов и операционной системы, туда не такое уж большое веских причин для каждого варианта. VirtualBox является то, что я использую на моем домашнем компьютере и при поддержке трех основных операционных систем. Я выбрал CentOS как его хорошим стабильным ОС и я использую его на свой веб-сервер. Я очень верю в правильные инструменты для работы (хотя я подаю заявление "использовать быстрый и простой для вас" менталитет здесь), так что, если операционная система X работает ваш код быстрее и более эффективно использовать его вместо:)
Важно убедиться, что ваша VM использует DHCP, в противном случае для каждой новой виртуальной машины должны быть настроены отдельно, что то, что мы не want.By использованием DHCP нам не нужны для настройки сетевых параметров индивидуально для рабочего машин, DHCP вручит из IP-адресов для вас. Поэтому вы можете скопировать ваши виртуальные машины около офиса, не заботясь о настройке каждого из вверх (это улучшает масштабируемость и снижает работник администрации).
Процесс, который вы должны стремиться к достижению бы получить новую физическую машину, установить VirtualBox, а затем в значительной степени развернуть виртуальный образ, не более того. Это может быть мудрым, чтобы настроить все ваши работники в другой подсети, чтобы можно было хотя бы узнать, сколько машин работает. Вам также необходимо настроить машины на долгосрочную аренду или неограниченное аренды DHCP.
Как запустить Вакансии на работника
Это интересное направление и Есть несколько допустимых методов для обработки заданий на работника. Здесь я просто обсудить два наиболее очевидных:
- Постоянно работает сценарий: сценарий, будь то скрипт или скрипт PHP выполняется один раз на работника и работает как часть бесконечного цикла. Я скидкой этот метод как один крах сценария и, возможно, ваши работники перестанут работать без какого-то вмешательства.
- Cron основан выполнения скрипта: Каждые Х минут хрон демон стартует звонок на ваш сценарий, чтобы получить вещи, идущие. Без какой-либо проверки это может привести ко многим много копий ваших запущенных сценариев работника.
Мое решение было пойти с хрон который стартует скрипт каждые 10 minutes. Мой скрипт выполняет следующие задачи:
- Получить список процессов и GREP это для 'PHP'. Если не найден, то продолжить.
- Позвоните своему работы кода, в моем случае это было бы что-то PHP основанных
- Работник скрипт завершает свой бег
- Готовы идти снова на следующей соответствующий вызов
Мой Баш скрипт выглядит примерно так:
#! / Бен / ш
пс, если топор | Grep-V GREP | GREP PHP> / Dev / нуль
затем
эхо "Работа в настоящее время обработки, выход"
еще
эхо "Работа не работает, начните прямо сейчас"
PHP yourJobProcessingScript.php
Fi Примечание: эха почти полностью бессмысленным, но может помочь следующий человек, который приходит, чтобы попробовать и редактировать их.
На этом мы завершаем настройку работника виртуальной машине, быстро, просто и легко скопировать, к каждому новому часть оборудования, которое получено. 'Ум' сетки система действительно не в визуализированы ОС, ее все делать с код, созданный для обработки заданий, работу конфигурации, а в том, чтобы задание выполняется в случае необходимости (например, когда хозяин находится в режиме ожидания ).
Настройка ОС Windows для инициализации рабочих
Первой задачей является выработка команд, необходимых для запуска виртуальной машины из командной строки Windows. Если вы установили VirtualBox в папку по умолчанию, и вы назвали ваш рабочий GridMachine то команда требует, чтобы загрузить ваш работник является:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Однако, чтобы запустить сценарий в "безголовый" государство мы должны использовать:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = выкл
Это приведет к запуску виртуальной машины без графического интерфейса пользователя и позволяет ему сохранить состояние изящно. Второй аргумент выключается RDP поэтому он не вступает в противоречие с окнами, RDP, или дать вам сообщение о том, на порту 3389. Имя виртуальной машины с учетом регистра!
Далее, мы должны установить окна вверх, чтобы начать наш рабочий В. М. раз машина была простаивать. Для этого (на Windows XP), вы должны будете пойти Пуск -> Все программы -> Стандартные -> Служебные -> Назначенные задания, как показано ниже:
Затем нажмите на "Добавить задание" с последующим просмотром, чтобы добавить пользовательские программы. Перейдите на VBoxManage сценарий и нажмите кнопку ОК. Расписание ваша задача для любого из вариантов (мы изменим это в минуту) и продолжить. После пропуска следующем экране окна будут просить вас, кто вы хотите выполнить эту задачу, я предлагаю либо "Администратор" или создание нового привилегированного пользователя. Помните, что мы не хотим вмешиваться в стандартной учетной персонала на машине в любой момент. Нажмите кнопку Далее и проверьте показать дополнительные параметры для этой задачи.
К концу запустить текстовое добавить нашу строку 'startvm GridMachine и гарантии, которые работают только тогда, когда вошли в систему остается данную опцию. Посетить Расписание задания следующего и изменить график опуститься до опцию 'в режиме ожидания ", выберите количество времени вы хотите машину сидеть сложа руки, прежде чем перейти к следующей закладке.
Наконец снимите опцию в котором говорится, остановить задачу, если она работает уже в X количество времени, но отметьте опцию, чтобы остановить задачу, если машина не простаивает.
Вот именно тогда для установки хост окна!
Резюме
В этой части мы создали виртуальную машину для работы в качестве работника, а также то, как мы называем и выполнить наши сценарии обработки заданий (для себя сценарий PHP). Отсюда мы рассмотрим, как настроить наши копии окна для запуска виртуальной машины в режиме безголовый, когда компьютер бездействует, и сохранить свое состояние, когда пользователь возобновляет использование машины. Надеюсь, в этот момент вы видите, как просто создать такую систему и зуд, чтобы получить некоторые эксперименты собираетесь сами!
Следующий раз
В части 4 мы будем смотреть на использовании инструменты для того, что вы используете последнюю версию кода и данных источников, с тем, что полученные результаты, всегда актуальны, актуальный с последними бизнес-информации и логику.