Паведамленні з тэгамі: працоўны

Упраўленне 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 асяроддзя - Частка 5

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

Увядзенне

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

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

Перад разгортваннем

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

  • колькі запісаў вы можаце апрацоўваць ў цяперашні час? У дзень? У гадзіну?
  • Колькі часу звычайна патрабуецца, каб разгарнуцца на працу?
  • Наколькі больш магчымасцяў у вас ёсць?

Там таксама дадатковыя пытанні:

  • Калі ваш сервер апрацоўкі (або адзін з сервераў апрацоўкі) падае як гэта паўплывае на вашы магчымасці, вы будзеце калекамі?
  • Якія перавагі вы спадзеяцеся / чакаеце атрымаць ад падвеснай сістэмы?
  • Вашы офіснае абсталяванне можа працаваць працоўныя месцы?
  • Вашы (ці вы можаце быць пераўтвораны працоўных месцаў) у wrok ў гэтым стылі працуе?

Апошняе буйное справа ў тым, каб правесці час якіх-небудзь сур'ёзных змяненняў, як гэта. Абнаўленне апрацоўкі кода для працы з выкарыстаннем новай метадалогіі, тэст зноў. Магчыма наладзіць апрацоўку сервер для запуску віртуальнай машыны, у рэшце рэшт сервер апрацоўкі вашага будзе проста яшчэ адзін рабочы (толькі вельмі магутны адносна). Дайце новы працэс ўрэгулявання.

Разгортванне

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

Разгортванне сістэмы, як гэта павінна быць павольным. Нягледзячы на ​​гэта час адносна просты ва ўсталёўцы гэтай сістэмы паўплывае на ўсю інфраструктуру офіса (і лічбавай). Па-першае, раскачаць на некалькі машын адначасова, маніторынг сеткавага трафіку, як работнік выконвае хастоў у дзень, у дзень аснове. Магчыма, вам прыйдзецца змяніць канфігурацыю вашай працы ў адказ на вашыя высновы.

Пасля таго як сістэма пасяліўся з некалькімі машынамі (скажам 10% усіх офісных машын, гэта значыць 5) весці маніторынг сеткавага трафіку і машыне performance. Далей тэст яшчэ раз, цяпер вы павінны быць апрацоўкі 33% больш працоўных месцаў, чым ваш першы тэстаў. Праверце гэта так, або, што вы па крайняй меры, у гэтым футбольным полі. Калі няма, высветліць, што адбываецца, перш чым рухацца далей. Паўтарыце гэты цыкл, пакуль вы з радасцю ўсё офіснай тэхнікі працуе без забойства індывідуальнай працы машыны або драбнення сеткі ў тупік.

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

Стоп!

Што рабіць, калі вы хочаце спыніць працоўныя працуюць на некаторы час? Яны ўсе там працуе, якое рэгенеруе, і з усіх сіл спрабуюць апрацоўваць дадзеныя, як галодныя казуркі. Адказ можа здацца відавочным, але яго варта дадаць толькі ў выпадку, калі яго ігнараваць. Проста рэдагаваць свае апрацоўкі сцэнараў з выхадам (0) або die () ці іншыя заявы, каб забіць вашага заданні апрацоўкі. Адной з важных прычын, чаму мы заўсёды імкнемся абнавіць да апошняй апрацоўкі сцэнара да таго, як бегчы!

Дэманстрацыя сістэмы

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

Мая дэманстрацыйная сістэма была сапраўды вельмі сціплы. Я выкарыстаў свой звычайны працоўны стол настроены як сервер кіравання заданнямі. На гэтым я ўсталяваў MySQL сервер усталяваная настроены як майстар рэплікацыі, PHP , а, SVN звязаныя праз Apache (для доступу праз працоўны VM).

Затым я стварыў машыну CentOS работніка на VirtualBox на 6-гадовы ноўтбук Windows XP. Я наладзіць запланаваныя задачы, названыя пасля капіявання віртуальнай машыны на машыну і адпусціць яе.

Віртуальная машына была створана з PHP, падрыўной дзейнасці, і MySQL. Я праверыў філіял пад назвай «працоўны» ад маёй працы рэпазітара сервера кіравання і пераканаліся, што ён можа быць абноўлены з дапамогай "запускалі". Затым я ўстаноўка MySQL ў якасці раба і праверыць, што рэплікацыя дадзеных з MySQL на серверы кіравання працай да працоўнага VM. Пасля ўсяго гэтага мне ўсталяваць скрыпт баш і хранічны.

Мой сцэнар апрацоўкі ў асноўным ішлі па лініі гэтага (вельмі простыя рэчы):

  • Чытайце ў поле імя
  • Падлічвалі колькасць падобных імёнаў у табліцу з крыніцы дадзеных праводзіцца на VM
  • Падлічвалі колькасць імёнаў, як і вышэй, але расшчапленне імя прасторы (напрыклад, імя, сярэдні, прозвішча)
  • Паўторны працэс у 1000 разоў

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

Пакінуўшы ноўтбук на халастым ходу ў выніку працаўнік пачынае апрацоўваць заданні з сервера кіравання заданнямі. Пры аднаўленні выкарыстання ноўтбука была затрымка каля 30-60 секунд, гэта шмат часу і персанал павінны быць дасведчаныя, што іх машына можа прыпыніць на некаторы час, вяртаючыся да машыны. Новыя машыны могуць не мець паўзу так доўга. Перавага аб'ём апрацоўкі выконваюцца гэтыя машыны падчас прастою будзе больш, чым перавешваюць супрацоўнікаў чакаючы кароткі тэрмін (скажам, 1 хвіліну), прыбыўшы на свае машыны раніцай (я часта чакаць даўжэй, чым гэта для Windows Defender абнаўленне пройдзе), калі яны былі пастаўлены ў вядомасць аб гэтым (карыснае час, каб захапіць ранішні кава!).

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

Высновы / Ацэнка

Наступным відавочным крокам было б на самой справе атрымаць рэальны прыклад і пачаць разгортванне такой сістэмы, як гэта ў офісе і паглядзець, што адбываецца. Запытаная бізнесу да здзяйснення гэтага без следу палаючага кампаніі, каб даказаць эфектыўнасць тэхналогіі і можа быць крыху больш складана. Сетка / Размеркаваныя вылічэнні вельмі папулярная пэўных колах і мае некаторыя вялікія прыкладанні (BIONC, SETI @ Home, Folding @ Home і г.д.). Я, аднак, не знайсці і ў меншых маштабах і простая сістэма, як гэта ў маіх пошуках, якія маглі б быць разгорнута ў офісе.

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

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

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

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













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

6 наведвальнікаў онлайн
4 госці, 2 ботаў, 0 карыстальнікаў
Макс наведвальнікаў сёння: 14 у 8:05 вечара UTC
У гэтым месяцы: 16 ст 2012/05/01 01:02 вечара UTC
У гэтым годзе: 69 у 2012/02/27 09:56 UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC