Журнал LinuxFormat - перейти на главную

LXF134:DrBrown3

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Со­зер­цая Landscape

Управ­ляй­те не­сколь­ки­ми ком­пь­ю­те­ра­ми с Ubuntu че­рез ин­туи­тив­ный web-ин­тер­фейс – ес­ли вас уст­раи­ва­ет, что он не впол­не сво­бо­ден.

Ад­минист­ра­то­ры боль­ших се­тей хо­ро­шо зна­ют, что об­нов­лять ПО на ка­ж­дом ком­пь­ю­те­ре по от­дель­но­сти, под­хо­дя к нему и встав­ляя ту­да диск, невоз­мож­но – не хва­тит ника­ко­го вре­мени. Они не мо­гут по­зво­лить се­бе за­дач, уси­лия на ре­шения ко­то­рых линей­но воз­раста­ли бы с ростом чис­ла ком­пь­ю­те­ров. Необ­хо­ди­мо ка­кое-то цен­тра­ли­зо­ван­ное мас­шта­би­руе­мое ре­шение. Ес­ли на ком­пь­ю­те­рах уста­нов­ле­на Ubuntu, то та­ким ре­шением мо­жет стать сер­вис Landscape от Canonical.

Для ра­бо­ты Landscape на ка­ж­дый ком­пь­ю­тер, ко­то­рым вы хо­ти­те управ­лять, нуж­но уста­но­вить неболь­шую агент­скую про­грам­му (па­кет landscape-client). Эти аген­ты пе­рио­ди­че­ски свя­зы­ва­ют­ся с цен­траль­ным сер­ве­ром Landscape и со­об­ща­ют ему со­стояние про­цес­сов, ин­фор­ма­цию о про­грам­мах и ап­па­рат­ной час­ти, ис­поль­зо­вании ре­сур­сов и т. д. и по­лу­ча­ют из оче­ре­ди за­про­сы на вы­полнение об­нов­лений па­ке­тов или на за­пуск скрип­тов. Сер­вер Landscape об­ща­ет­ся с ка­ж­дым из управ­ляе­мых уз­лов, ад­минист­ра­тор ра­бо­та­ет с сер­ве­ром че­рез web-ин­тер­фейс.

Из­на­чаль­но Landscape мог ра­бо­тать толь­ко на сер­ве­рах Ca­nonical; сей­час сер­вер мож­но взять свой. Canonical на­зы­ва­ет это Dedicated Server Edition (ре­шение с вы­де­лен­ным сер­ве­ром). Оно мо­жет пред­став­лять ин­те­рес для ком­паний, по­ли­ти­ка безо­пас­но­сти ко­то­рых не раз­ре­ша­ет пе­ре­да­вать дан­ные по пуб­лич­ным се­тям, или для уста­но­вок с ог­раничен­ным ин­тернет-со­единением. Но не пы­тай­тесь най­ти па­кет landscape-server в ре­по­зи­то­рии сво­его ди­ст­ри­бу­ти­ва – его там нет. Ис­ход­ный код сер­ве­ра не яв­ля­ет­ся от­кры­тым (см. «По­лу­чение учет­ной запи­си» ниже).

С по­мо­щью Landscape мож­но по­лу­чить спи­сок обо­ру­до­вания ком­пь­ю­те­ров, спи­сок про­цес­сов, за­пу­щен­ных на них (и за­вер­шить за­блуд­шие про­цес­сы), по­стро­ить гра­фи­ки средней за­груз­ки, ис­поль­зо­вания па­мя­ти, фай­ла под­кач­ки и диско­во­го про­стран­ства. Эта ин­фор­ма­ция при­го­дит­ся при планиро­вании ха­рак­те­ри­стик обо­ру­до­вания. Мож­но да­же напи­сать соб­ствен­ные скрип­ты обо­лоч­ки для по­строения про­из­воль­ных гра­фи­ков (ве­ро­ят­но, по ти­пу мо­ду­лей рас­ши­рения Munin от поль­зо­ва­те­лей, для по­строения гра­фи­ков ис­поль­зо­вания ре­сур­сов). Так­же мож­но соз­да­вать но­вые учет­ные запи­си поль­зо­ва­те­лей. Но, по­жа­луй, са­мая важ­ная функ­ция Landscape с точ­ки зрения си­сад­ми­на – воз­мож­ность ав­то­ма­ти­за­ции уста­нов­ки, об­нов­ления и уда­ления па­ке­тов на управ­ляе­мых ком­пь­ю­те­рах.


Так как у сер­ве­ра Landscape есть доступ к ре­по­зи­то­ри­ям Ubuntu и спи­ски уста­нов­лен­но­го на ком­пь­ю­те­рах ПО, он зна­ет, когда нуж­но его об­но­вить. Сна­ча­ла нуж­но вы­брать ком­пь­ю­те­ры, ну­ж­даю­щие­ся в об­нов­лении ПО, по от­дель­но­сти или с по­мо­щью тэ­гов. По­том вы­бе­ри­те па­ке­ты, на­жми­те на кноп­ку «Apply Changes» [При­менить из­менения] – и го­то­во! Кста­ти, пусть моя ма­лень­кая диа­грам­ма ар­хи­тек­ту­ры Landscape не сби­ва­ет вас с тол­ку. Па­ке­ты при уста­нов­ке или об­нов­лении за­гру­жа­ют­ся на управ­ляе­мые ком­пь­ю­те­ры на­пря­мую из ре­по­зи­то­ри­ев, а не че­рез сер­вер Landscape. Вы поч­ти на­вер­ня­ка за­хо­ти­те уста­но­вить кэш па­ке­тов вро­де apt-proxy или Squid или да­же соз­дать пол­ное зерка­ло ре­по­зи­то­ри­ев локаль­ной се­ти с по­мо­щью apt-mirror, что­бы ком­пь­ю­те­ры не тра­ти­ли тра­фик, за­гру­жая па­ке­ты ка­ж­дый раз.

Про­фи­ли па­ке­тов, но­вая воз­мож­ность Landscape, поя­вив­шая­ся в вер­сии 1.5, по­зво­ля­ют ра­бо­тать с це­лым на­бо­ром па­ке­тов как с од­ной име­но­ван­ной сущ­но­стью. Ска­жем, нам нуж­но уста­но­вить LAMP на но­вый сер­вер с Ubuntu. До по­яв­ления про­фи­лей при­шлось бы соз­да­вать от­дель­ные на­бо­ры команд для уста­нов­ки Apache, PHP и MySQL. С по­яв­лением про­фи­лей нуж­но соз­дать толь­ко про­филь с одним именем, где бы­ли бы опи­са­ны эти за­ви­си­мо­сти. По­том про­филь про­сто при­меняется ко всем ком­пь­ю­те­рам, у ко­то­рых есть, на­при­мер, тэг «lamp». Этот ме­ханизм об­ла­да­ет боль­шой гиб­ко­стью и боль­ши­ми воз­мож­но­стя­ми.

Пре­ду­пре­ж­дения

Когда поя­вит­ся что-то, по мнению Landscape, тре­бую­щее ва­ше­го внимания, он по­ка­жет «пре­ду­пре­ж­дение». Это мо­гут быть но­вые ком­пь­ю­те­ры, «ожи­даю­щие» прие­ма в сеть, но­вые об­нов­ления па­ке­тов или от­сут­ствие от­ве­та от то­го или ино­го ком­пь­ю­те­ра в те­чение оп­ре­де­лен­но­го вре­мени. Пре­ду­пре­ж­дения мож­но уви­деть на до­машней странице Landscape (Dashboard) по­сле вхо­да в систе­му. Так­же мож­но подпи­сать­ся на пре­ду­пре­ж­дения то­го или ино­го ти­па по элек­трон­ной поч­те.

При вы­полнении уста­нов­ки или об­нов­ления па­ке­тов или за­пуске скрип­тов на уда­лен­ных ком­пь­ю­те­рах нуж­но вы­брать це­ле­вые ком­пь­ю­те­ры. Са­мый про­стой спо­соб сде­лать это – вы­брать их по од­но­му с по­мо­щью га­ло­чек. Но тогда мы сно­ва воз­вра­ща­ем­ся к схе­ме «уси­лия про­пор­цио­наль­ны ко­ли­че­ству ком­пь­ю­те­ров», ко­то­рой тщи­лись из­бе­жать. По­это­му ка­ж­до­му из ком­пь­ю­те­ров мож­но на­зна­чить тек­сто­вые мет­ки (тэ­ги) и про­из­во­дить дей­ствия с ком­пь­ю­те­ра­ми, ко­то­рые по­ме­че­ны оп­ре­де­лен­ным тэ­гом. На­при­мер, мож­но за­пустить об­нов­ление Tomcat на всех ком­пь­ю­те­рах с тэ­гом «webserver» или за­пустить скрипт об­нов­ления те­мы окош­ка вхо­да в систе­му на всех ком­пь­ю­те­рах с тэ­гом «sales-desktop». Обыч­но тэ­ги ком­пь­ю­те­ра за­да­ют­ся при его на­чаль­ной ре­ги­ст­ра­ции в Landscape. Тэг мо­жет опи­сы­вать роль ком­пь­ю­те­ра, его ап­па­рат­ную часть или фи­зи­че­ское рас­по­ло­жение. Од­но­му ком­пь­ю­те­ру мож­но на­зна­чить несколь­ко тэ­гов: так, на­при­мер, мож­но разом уста­но­вить па­кет на все че­ты­рехъ­ядер­ные поч­то­вые сер­ве­ры в Бри­сто­ле.

Ес­ли вы хо­ти­те вы­пол­нять ка­кие-то дей­ствия, ко­то­рые вы­хо­дят за рам­ки воз­мож­но­стей Landscape, мож­но напи­сать соб­ствен­ные скрип­ты, со­хранить их на сер­ве­ре Landscape и при­менить их к за­дан­но­му на­бо­ру ком­пь­ю­те­ров. При соз­дании скрип­та вы за­дае­те его имя, ис­поль­зуе­мый ин­тер­пре­та­тор, мак­си­маль­ное вре­мя вы­полнения и поль­зо­ва­те­ля, под ко­то­рым его нуж­но за­пустить.

За­пуск скрип­тов

Конеч­но, по­тре­бу­ет­ся вве­сти и сам код скрип­та. Ес­ли ему нуж­ны дру­гие фай­лы, их мож­но до­ба­вить в виде вло­жений. Все это де­ла­ет­ся че­рез web-ин­тер­фейс Landscape. На­при­мер, этот ма­лень­кий скрипт уста­но­вит в ка­че­стве фо­на ра­бо­че­го сто­ла изо­бра­жение, пе­ре­дан­ное в ка­че­стве вло­жения:

cp $LANDSCAPE_ATTACHMENTS/moon.png $HOME/gconftool-2 --type string --set \
/desktop/gnome/background/picture_filename $HOME/moon.png

Вот бо­лее тон­кий при­мер из од­ной стро­ки, ко­то­рый вы­да­ет при­гла­ше­ние ко­манд­ной стро­ки на управ­ляе­мом ком­пь­ю­те­ре:

ssh -R 2048:localhost:22 foo.example.com

Эта ко­ман­да соз­даст об­рат­ный тун­нель на foo.example.com на пор­те 2048, ко­то­рый уй­дет об­рат­но на управ­ляе­мый ком­пь­ю­тер, и по­том мож­но бу­дет зай­ти с не­го по SSH:

ssh -p 2048 localhost

Для его ра­бо­ты ме­ж­ду ком­пь­ю­те­ра­ми долж­на быть на­строе­на SSH-ау­тен­ти­фи­ка­ция.

Раз­ре­шение вы­полнения скрип­тов, несо­мнен­но, влия­ет на безо­пас­ность, и при ре­ги­ст­ра­ции ком­пь­ю­те­ра в Landscape мож­но вы­брать, раз­ре­шае­те ли вы сер­ви­су это де­лать, и оп­ре­де­лить поль­зо­ва­те­лей, за­пускаю­щих скрип­ты. Пре­ду­смот­ри­тель­но бы­ло бы ог­раничить скрип­ты поль­зо­ва­те­лем nobody, но тогда скрип­ты бу­дут ог­раниче­ны пра­ви­лом «смот­ри, но не тро­гай», по­то­му что у поль­зо­ва­те­ля nobody очень ма­ло при­ви­ле­гий. Дру­гой крайний слу­чай – раз­ре­шить за­пуск скрип­тов от имени root. Од­на­ко (на­де­юсь, это не нуж­но про­яс­нять, но я все рав­но про­яс­ню) в этом слу­чае дан­ные ау­тен­ти­фи­ка­ции Landscape ста­но­вят­ся по су­ти от­мыч­кой к до­мам на це­лой ули­це. И ес­ли вы раз­ре­шае­те Canonical раз­ме­щать сер­вер у се­бя, спро­си­те се­бя, до­ве­ряе­те ли вы им безо­пас­ность их соб­ствен­но­го сай­та. Это про­сто на­по­ми­нание о том, как об­сто­ит де­ло в дей­стви­тель­но­сти, а не кри­ти­ка в ад­рес Canonical.


Вот как управ­ля­ют­ся ком­пь­ю­те­ры че­рез Landscape:

  1. По­лу­чить учет­ную запись на сер­ве­ре Landscape (см. «По­лу­чение учет­ной запи­си»).
  2. Уста­но­вить кли­ен­та на ка­ж­дый ком­пь­ю­тер, ко­то­рым вы хо­ти­те управ­лять. Для это­го доста­точ­но вы­полнить коман­ду: $ sudo apt-get install landscape-client
  3. За­ре­ги­ст­ри­ро­вать ком­пь­ю­тер на сер­ве­ре Landscape ко­ман­дой landscape-config.
  4. Вой­ти в свою учет­ную за­пись и одоб­рить ожи­даю­щий за­прос на ре­ги­ст­ра­цию.

Это про­ще, чем ка­жет­ся. На са­мом де­ле, в ус­та­нов­щи­ке Ubun­tu Server есть ок­но по­ли­ти­ки об­нов­ле­ния (Upgrade Policy), в ко­то­ром мож­но ус­та­но­вить, на­стро­ить и за­ре­ги­ст­ри­ро­вать ком­пь­ю­тер как кли­ент Landscape пря­мо во вре­мя ус­та­нов­ки. На треть­ем ша­ге обыч­ная ко­ман­да на­строй­ки Landscape мо­жет вы­гля­деть так:

$ sudo landscape-config --computer-title=saturn \
--accout-name=fredflinstone \
--script-users=nobody,landscape,root \
--tags=webserver,training

Здесь saturn – имя ком­пь­ю­те­ра, под ко­то­рым он бу­дет из­вестен Landscape, па­ра­метр --script-users за­да­ет, от имени ка­ко­го поль­зо­ва­те­ля мож­но за­пускать скрип­ты на управ­ляе­мом ком­пь­ю­те­ре (че­рез Landscape), а --tags со­дер­жит про­стые тек­сто­вые мет­ки, ис­поль­зуе­мые для иден­ти­фи­ка­ции груп­пы ком­пь­ю­те­ров. landscape-config мож­но за­пустить и без па­ра­мет­ров, тогда он сам за­про­сит нуж­ные.

По­сле ре­ги­ст­ра­ции кли­ен­та зай­ди­те на сер­вер Landscape (http://landscape.canonical.com), зай­ди­те на вклад­ку Pending Computers [Ожи­даю­щие ком­пь­ю­те­ры], вы­бе­ри­те ком­пь­ю­тер(ы) и на­жми­те Accept [При­нять]. Прой­дет неко­то­рое вре­мя, пре­ж­де чем ком­пь­ю­тер поя­вит­ся на эк­ра­нах Landscape – помните, что сер­вер ви­дит кли­ен­та толь­ко тогда, когда тот со­об­ща­ет ему ин­фор­ма­цию.

Для бо­лее под­роб­ной ин­фор­ма­ции зай­ди­те на сайт http://www.youtube.com/user/CanonicalLandscape или на http://help.landscape.canonical.com.

Landscape и об­ла­ко

Об­лач­ные вы­чис­ления мо­гут, как ни стран­но, по­вы­сить на­груз­ку на систем­но­го ад­минист­ра­то­ра. Фи­зи­че­ских ком­пь­ю­те­ров, с ко­то­рых нуж­но вы­ти­рать пыль, мо­жет быть мень­ше, но «ло­ги­че­ских» ком­пь­ю­те­ров, на ко­то­рых нуж­но уста­нав­ли­вать, на­страи­вать и об­нов­лять ПО, боль­ше. Landscape мо­жет по­мочь управ­лять об­ла­ком Amazon EC2 и внут­ренними эк­зем­п­ля­ра­ми Eucaliptus, за­ста­вив их ав­то­ма­ти­че­ски ото­бра­жать­ся как за­ре­ги­ст­ри­ро­ван­ные ком­пь­ю­те­ры.

Сна­ча­ла за­ре­ги­ст­ри­руйте об­ла­ко в Landscape и пре­доста­вьте ему клю­чи досту­па к web-сер­ви­сам Amazon или Eucaliptus. Су­ще­ствую­щие ком­пь­ю­те­ры в об­ла­ке долж­ны поя­вить­ся в Landscape. С по­мо­щью web-ин­тер­фей­са Landscape мож­но так­же до­бав­лять но­вые ком­пь­ю­те­ры, за­пускать и оста­нав­ли­вать их. В AMI (Amazon Machine Image), ко­то­рый ис­поль­зу­ет­ся в об­ла­ке, дол­жен быть уста­нов­лен­ный и на­стро­ен­ный landscape-client.

Ес­ли его нет, управ­лять AMI через Landscape нельзя. Я это­го не про­бо­вал, а до­ку­мен­та­ция созда­ет впе­чат­ление о чем-то явно но­вом, но не ста­вшем обиходным. См. https://help.landscape.canonical.com/ManagingEC2.

По­лу­че­ние учет­ной за­пи­си

Landscape – про­грам­ма, ни бес­плат­ная как пи­во, ни сво­бод­ная как сло­во. Это сер­вис Canonical, рас­про­стра­няю­щий­ся по под­пис­ке. Все кон­трак­ты под­держ­ки Canonical вклю­ча­ют не­ог­ра­ни­чен­ное ис­поль­зо­ ва­ние сер­ви­са Landscape. Так­же мож­но ку­пить го­до­вую под­пис­ку от­дель­но (http://www.canonical.com/contact/sales) или за­про­сить 60-днев­ную бес­плат­ную проб­ную вер­сию (http://www.canonical.com/landscape/register).

Персональные инструменты
купить
подписаться
Яндекс.Метрика