Паведамленні з тэгамі: халасты ход

Упраўленне Grid Computing з дапамогай Virtual асяроддзя - Частка 3

Па , у пятніцу 4 снежні 2009 года 11:37 вечара

Увядзенне

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

У частцы 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. Мой скрыпт выконвае наступныя задачы:

  1. Атрымаць спіс працэсаў і grep, гэта для "PHP". Калі не знойдзены, то працягнуць.
  2. Звернецеся да працы кода, у маім выпадку гэта было б нешта PHP заснаваны
  3. Работнік скрыпт завяршае свой бег
  4. Гатовыя ісці зноў на наступны адпаведны выклік

Маё баш скрыпт выглядае прыкладна так:

  #! / Бэн / ш
 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 мы разгледзім, як выкарыстоўваць інструменты, каб пераканацца, што вы выкарыстоўваеце апошнюю версію кода і крыніцы дадзеных, так што атрыманыя вынікі з'яўляюцца заўсёды сучаснымі з апошнімі бізнес-інфармацыі і логіку.

Упраўленне Grid Computing з дапамогай Virtual асяроддзя - Частка 1

Па , у пятніцу 4 снежні 2009 года 11:23 вечара

Увядзенне

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

У PHP распрацоўшчык я збіраюся выкарыстоўваць інструменты, якія я выкарыстоўваю кожны дзень, а менавіта, Linux, MySQL , PHP, VirtualBox і Subversion (SVN). Аднак я спадзяюся, што гэта кіраўніцтва будзе адаптавацца да іншых мовах і тэхналогіях гэтак жа добра.

Рашэнне, якое я інфармацыя будзе вельмі слаба ў залежнасці ад тыпу апрацоўкі мы павінны дасягнуць, аднак гэта не можа быць праўдай па ўсёй артыкуле, я нешта змяніць, для прастаты, або для атрымання больш цікавых варыянтаў выкарыстання.

Гэтыя виртуализованных асяроддзях, будзе працаваць на кампутарах з Windows, гэта тое, што большасць офісаў бегчы. Апрацоўкі, офіснай тэхнікі, не павінны перашкаджаць супрацоўнікам выкарыстоўваць гэтыя машыны, павінны не патрабуюць абслугоўвання ў машыну, і быць лёгка адаптуецца да новых машынам, паколькі яны становяцца даступнымі. Акрамя таго, новыя віртуальныя машыны не патрабуе якіх-небудзь дадатковых налад, так як гэта значна зніжае маштабаванасць і лёгкасць, з якой падвесная сістэма можа быць пашырана.

Чаму Разгортванне ГРІД бюро вылічальнай?

Па-першае, вы можаце падумаць, чаму б не выкарыстоўваць рэсурсы хмарных вылічэнняў, такіх як платформы EC2 ад Amazon ? Ну, прычын можа быць некалькі, напрыклад:

  • Вы не будзеце давяраць некаторых дадзеных у асяроддзі хмарных вылічэнняў
  • Вы не можаце змясціць пэўныя дадзеныя ў асяроддзі хмарных вылічэнняў па юрыдычных прычынах (напрыклад, дадзеныя з краіны), што можа па юрыдычных прычынах, напрыклад, NHS запісаў.
  • Вы хочаце, каб ваша апаратура апрацоўкі зачыніць і мець поўны кантроль над апаратным занадта
  • У вас няма сродкаў праекта для запуску воблака выпадках
  • Ваш офіс не мае падлучэння да Інтэрнэту, і таму яго нельга выкарыстоўваць воблака рэсурсаў
  • Вы не любіце дождж, аблокі прапанаваць дождж, таму вы трымаеце далей

Я ўпэўнены, што гэты спіс можна працягваць, але я думаю, што гэта дастаткова.

Перавагі Grid Computing офіса

Ну, давайце рабіць некаторыя матэматыкі (і ў праўдзівым стылі фізікі дазваляе зрабіць некалькі шырокіх здагадках). Уявіце, у вас ёсць вялікі мясісты сервер апрацоўкі працуе 100 рабочых месцаў у дзень. У офісе ў вас ёсць 50 машын, якія прастойваюць па 16 гадзін у дзень, кожная з гэтых машын складае 10%, як магутны, як ваш моцны разарваць апрацоўкі. (Усе вынікі тут акругляюцца да недаацэньваць павелічэння прадукцыйнасці).

Так, 1 машына * 10% магутнасці * 2/3 часу = 0,067 г.зн. 1 працоўны стол апрацоўка ў рэжыме часу можа апрацоўваць 6 поўных працоўных месцаў у дзень.

Калі вы цяпер маштабуецца да гэтага ён займае 15 прастойваюць працоўныя станцыі для апрацоўкі, як шмат працоўных месцаў у дзень у якасці асноўнага сервера апрацоўкі робіць.

Такім чынам, у нашым офісе робяць выгляд 50 машын мы можам павялічыць нашы магутнасці працэсара ад 1 сервера да 4 поўных сервераў апрацоўкі, ці мы маглі б апрацоўкі 400 працоўных месцаў у дзень замест 100.

Заўважце, не для інвестыцый у новае абсталяванне Ваша кампанія толькі павялічыў свой ​​пакет перапрацоўчых магутнасцяў у 4 разы! Патэнцыйна вы збіраецеся павялічыць спажыванне энергіі, але ў большасці офісаў Я быў на машынах, як правіла, застаецца на ноч у любым выпадку, каб вы маглі бачыць гэта як зялёны ініцыятыву.

Іншыя перавагі таксама азначае, што інвестыцыі ў новы (або абноўлены) сервераў апрацоўкі можа быць адкладзенае, калі ваша машына офіса дастаткова, і як палепшыць харчаванне вашай машыны офіс офіс сеткі становіцца ўсё больш магутным аўтаматычна.

Тэхналогіі

Што вам трэба? (Ці, дакладней тое, што я выкарыстаў):

  • Idle офіснае абсталяванне (у маім выпадку запасны старыя вокны XP ноўтбук)
  • VirtualBox (або іншага праграмнага забеспячэння для віртуалізацыі кліентаў)
  • Віртуальная машына з PHP, MySQL running працуе зрэзаная АС, я называю гэта маёй LIMP сервераў :)
  • Вакансіі для запуску
  • Праца сервера (можа быць іншай віртуальнай машыне дзесьці)

Тыповыя Вакансіі

Відаў работ, што гэтая сістэма прызначана для працы выглядае наступным чынам:

  • Сістэма атрымлівае спіс дадзеных, на якіх мы павінны адпавядаць і вяртаць вынікі
  • Адпаведныя ўключае праверку / пошуку некалькі (даволі статычны) крыніц дадзеных
  • Вынікі з крыніц дадзеных могуць спатрэбіцца дадатковыя праверкі, зліваючыся, праверка дадатковых крыніц дадзеных у адказ на вынікі
  • Дадзеныя вяртаюцца з адпаведнымі запісамі, цалкам правераныя і апрацаваны
  • Кожны запіс у працы не залежыць ад астатніх

Таму ў асноўным мы глядзім на выконваюцца заданняў, якія патрабуюць сумесь пошук у базе дадзеных і некаторага ліку храбусценне, даволі тыповы сцэнар у бізнес-асяроддзі.

Сетка рашэння не толькі выгадна для апрацоўкі рабочых месцаў такога тыпу. У прынцыпе, любы працэс, які можа быць падзелены на незалежныя блокі могуць выконвацца паралельна. Глядзіце гэты Вікіпедыі прыклады і больш падрабязную інфармацыю: Grid Computing , але пару вядомых прыкладаў Seti @ Home і BIONC . Ёсць рамкі для выканання вылічальных сетак, і гэта таксама заслугоўвае вывучэння.

Што ж мы дасягнулі?

Да канца гэтых артыкулах я спадзяюся паказаць, што разгортванне сеткі офіса не павінны быць вельмі дарагімі, або часу. Я збіраюся абмеркаваць наступныя пытанні:

  • Налада сістэмы кіравання заданнямі, праца канфігурацыі
  • Стварэнне адпаведнай апрацоўкі віртуальнай машыны
  • Як наладзіць сістэму на машыне акна
  • Забеспячэнне вы выкарыстоўваеце апошнюю версію кода і дадзеных
  • Разгортвання і тэсціравання
  • Зазіраючы наперад

Я буду дома (добра, я пабудаваў, то напісаў) прыклад прыкладанні для праверкі канцэпцыі, на лакальным кампутары ў Windows XP і мой "GridMachine" віртуальнай машыны. Мая праца серверны элемент кіравання будзе маёй асноўнай машынай, якая працуе Fedora 11 .

Гэта ніякім чынам не азначала, каб прадэманстраваць цалкам працоўны надзейныя сістэмы, яе значыла больш, дэманстрацыі і абмеркавання паказваюць, што гэтыя рэчы могуць быць дасягнуты ў досыць сціснутыя тэрміны і з мінімальнымі выдаткамі. Калі ласка, не саромейцеся, дасылайце мне любыя заўвагі, выпраўленні і паляпшэнні, і я зраблю ўсё магчымае, каб захаваць гэты артыкул абнаўлення, каб адпавядаць.

Наступны раз

У частцы 2 я пачну, гледзячы на сістэмы кіравання працай, і вывучыць, як працоўныя месцы павінны быць настроены для дасягнення найбольшай колькасці апрацоўкі ў той час як забеспячэнне кожнага задання апрацоўваюцца ў абавязковым парадку.













Панарама Тэма Themocracy

3 наведвальнікаў онлайн
2 гасцей, 1 ботаў, 0 карыстальнікаў
Макс наведвальнікаў сёння: 8 у 12:00 UTC
У гэтым месяцы: 56 у 2012/04/25 08:41 раніцы UTC
У гэтым годзе: 69 у 2012/02/27 09:56 UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC