Увядзенне
Я працую ў кампаніі, дзе мы запускаем шмат працоўных месцаў, пакетная апрацоўка мільёны запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэтай серыі артыкулаў, я буду глядзець на патэнцыйныя выгоды ад выкарыстання офіса сеткі выкарыстанне виртуализированных асяроддзях.
У частцы 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 мы будзем глядзець на выкарыстанні прылады для таго, што вы выкарыстоўваеце апошнюю версію кода і дадзеных крыніц, з тым, што атрыманыя вынікі, заўсёды актуальныя, актуальны з апошнімі бізнес-інфармацыі і логіку.