Упраўленне Grid Computing з дапамогай Virtual асяроддзя - Частка 3
Увядзенне
Я працую ў кампаніі, дзе мы запускаем шмат працоўных месцаў, пакетную апрацоўку мільёнаў запісаў дадзеных кожны дзень, і я думаў у апошні час пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэтай серыі артыкулаў я буду глядзець на патэнцыйныя выгоды ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.
У частцы 2 мы разгледзелі працу сервер будзе працаваць, як і працоўныя месцы павінны быць настроены для дасягнення найбольшай колькасці апрацоўкі ў той час як забеспячэнне кожнага задання апрацоўваюцца ў абавязковым парадку.
Налада працоўнага - ці LIMP сервер
Наступным крокам у гэтым працэсе заключаецца ў наладзе віртуальных рабочых. Для гэтага я буду выкарыстоўваць ўстаноўкі CentOS выкарыстаннем VirtualBox. Я збіраюся ўсталяваць MySQL і PHP на серверы, таксама вядомы як LIMP (Li ММК, м ySQL, P л.з.) Сервера (я, магчыма, зрабілі гэтае імя ўверх).
- Усталёўка VirtualBox на кампутары Windows (варта спасылка)
- Запампаваць і ўсталяваць 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 заснаваны
- Работнік скрыпт завяршае свой бег
- Гатовыя ісці зноў на наступны адпаведны выклік
Маё баш скрыпт выглядае прыкладна так:
#! / Бэн / ш PS калі сякера | Grep-V GREP | GREP PHP> / Dev / нуль затым рэха "Праца ў цяперашні час апрацоўкі, выхад" яшчэ echo "Праца не працуе, пачніце прама цяпер" 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 і забеспячэння, якія працуюць толькі тады, калі ўвайшлі ў сістэму застаецца дадзеную опцыю. Наведайце наступны графік задачы і змяніць графік апусціцца да опцыю "ў рэжыме чакання, выбраць колькасць часу, вы хочаце машыну сядзець склаўшы рукі, перш чым перайсці да наступнай закладцы.
Нарэшце прыбраць галачку опцыі у якім гаворыцца, спыніць задачу, калі яна ўжо працуе пэўную колькасць часу, але не адзначце опцыю, каб спыніць задачу, калі машына не прастойвае.
Вось тады для ўстаноўкі вокнаў гаспадар!
Рэзюмэ
У гэтай частцы мы стварылі віртуальную машыну для працы ў якасці работніка, а таксама тое, як мы называем, і выконваць нашы сцэнары апрацоўкі заданняў (для сябе сцэнар PHP). Тут мы разгледзім, як наладзіць нашы копіі вокны для запуску віртуальнай машыны ў абезгалоўлены рэжым, калі кампутар становіцца свабоднай, і захаваць свой стан, калі карыстач аднаўляе выкарыстанне машыны. Спадзяюся, у гэты момант вы бачыце, як проста стварыць такую сістэму і свярбяць, каб атрымаць некаторыя эксперыменты збіраецеся самі!
Наступны раз
У частцы 4 мы разгледзім, як выкарыстоўваць інструменты, каб пераканацца, што вы выкарыстоўваеце апошнюю версію кода і крыніцы дадзеных, так што атрыманыя вынікі з'яўляюцца заўсёды сучаснымі з апошнімі бізнес-інфармацыі і логіку.



















































