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

LXF143:DrBrown2

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

Уда­лен­ное управ­ле­ние

Док­тор на­хо­дит за­ме­ну сво­ей ко­чер­ге для управ­ле­ния сер­ве­ром.


Рань­ше я по­ла­гал, что когда я вы­клю­чаю свои сер­ве­ры, они... кхе... вы­клю­ча­ют­ся. Но не тут-то было. Ока­зы­ва­ет­ся, ма­лень­кая мик­ро­схем­ка, кон­трол­лер управ­ления ба­зо­вой пла­той (BMC), про­дол­жа­ет ра­бо­тать – как туск­лая свеч­ка в окне сто­рож­ки у во­рот зам­ка, по­гру­жен­но­го в ноч­ную мглу. BMC – часть ин­тел­лек­ту­аль­но­го ин­тер­фей­са управ­ления плат­фор­мой (IPMI), че­рез ко­то­рый мы по­лу­ча­ем ин­фор­ма­цию о со­стоянии уст­ройств: тем­пе­ра­ту­ру, на­пря­жения, ско­ро­сти вра­щения вен­ти­ля­то­ров, от­кры­то­сти кор­пу­са, со­стоянии пи­тания и т. д. С по­мо­щью IPМI так­же мож­но по­лу­чать ин­фор­ма­цию об уст­рой­ст­вах, пе­ре­да­вать пре­ду­пре­ж­дения и да­же уда­лен­но вклю­чать и от­клю­чать пи­тание сер­ве­ра.

Из­на­чаль­но ого­во­рен­ный Intel, HP, Nec и Dell, стан­дарт IPМI оп­ре­де­ля­ет об­щие ин­тер­фей­сы управ­ления сис­те­мой, ко­то­рые зна­чи­тель­но об­лег­ча­ют управ­ление ге­те­ро­ген­ным на­бо­ром сер­ве­ров. Соб­ст­вен­но стан­дарт – 644 страницы тек­ста, не для сла­бых духом. Про­честь его мож­но по ссыл­ке http://www.intel.com/design/servers/ipmi.

В ар­хи­тек­ту­ре IPMI оп­ре­де­ля­ет­ся уст­ра­шаю­щее количе­ст­во ва­ри­ан­тов под­клю­чений к BМС. Есть «Ши­на управ­ления ин­тел­лек­ту­аль­ной плат­фор­мой» для под­клю­чения до­черних кон­трол­ле­ров, ин­тер­фейс для под­клю­чения к глав­ной сис­тем­ной шине и под­клю­чения к дат­чи­кам и управ­ляю­щим це­пям, хранили­ще жур­на­ла со­бы­тий внут­ри се­ан­са под­клю­чения и за­пи­сей дан­ных дат­чи­ков, а так­же внешние под­клю­чения к локаль­ной се­ти че­рез локаль­ный порт и/или се­те­вую кар­ту. Доступ к BMC че­рез се­те­вое со­единение, фи­зи­че­­ски раз­де­ляе­мое с глав­ным се­те­вым со­единением ком­пь­ю­те­ра – это удоб­ное ре­шение, не тре­бую­щее до­полнитель­ных разъ­е­мов и ка­бе­лей, и этот под­ход ис­поль­зу­ет­ся в мо­ем сер­ве­ре Dell PowerEdge.

Linux, конечно, располагает ути­ли­тами для ра­бо­ты с IPMI. Они мо­гут от­сле­жи­вать и управ­лять сис­те­мой на локаль­ном ком­пь­ю­те­ре, взаи­мо­дей­ст­вуя с BMC че­рез драй­вер яд­ра и ин­тер­фейс сис­тем­ной ши­ны. Есть так­же ва­ри­ант «IPMI че­рез локаль­ную сеть». Я при­ве­ду при­ме­ры обо­их под­хо­дов. И сразу же про­ясним: ра­бо­та BMC со­вер­шен­но не за­ви­сит от BIOS или лю­бой локаль­ной ОС. На са­мом де­ле, BMC бу­дет ра­бо­тать да­же при от­клю­чен­ном основ­ном про­цес­со­ре.

Что­бы оп­ро­бо­вать локаль­ное управ­ление сер­ве­ром, я уста­но­вил Fedora 14 и па­кет ipmiutil. В нем есть ути­ли­та Ipmiutil – по су­ти это команд­ная оберт­ка про­то­ко­ла IPMI, по­зво­ляю­щая от­прав­лять IPMI-ко­ман­ды и по­лу­чать ре­зуль­та­ты. На­при­мер, ско­рость вра­щения вен­ти­ля­то­ра мож­но уз­нать та­ким об­ра­зом:

# ipmiutil sensor -c -g fan
ipmiutil ver 2.68
isensor: version 2.68
-- BMC version 1.30, IPMI version 2.0
supports device sdrs
Full sensor [000f] | snum 30 | FAN 1 RPM | OK* | 2280.00 RPM
isensor completed successfully

Для при­ве­дения в дей­ст­вие «IPMI че­рез локаль­ную сеть» на це­ле­вом ком­пь­ю­те­ре нуж­но кое-что на­стро­ить. В BIOS я мо­гу уста­но­вить MAC-ад­рес и IP-ад­рес ин­тер­фей­са LAN, ко­то­рые не сов­па­да­ют с се­те­вы­ми на­строй­ка­ми ком­пь­ю­те­ра. Там так­же мож­но за­дать имя поль­зо­ва­те­ля, па­роль и уро­вень при­ви­ле­гий, как объ­яс­ня­ет­ся в разделе «Управ­ление досту­пом». Так­же обя­за­тель­но вклю­чи­те «IPMI по локаль­ной се­ти» [IPMI-over-LAN]. По­сле это­го вы смо­же­те по­об­щать­ся с уда­лен­ным ком­пь­ю­те­ром че­рез IPMI, для че­го я ре­шил при­менить дру­гой на­бор ути­лит (ipmitool) на уда­лен­ном ком­пь­ю­те­ре с Ubuntu. На сей раз мне нуж­но ука­зать IP-ад­рес уда­лен­но­го ком­пь­ю­те­ра, а так­же имя поль­зо­ва­те­ля и па­роль для ау­тен­ти­фи­ка­ции. В сле­дую­щем при­ме­ре я вклю­чаю сер­вер:

$ ipmitool -I lan -H 192.168.1.120 -U root -P mysecret chassis power on
Chassis Power Control: Up/On

На­ко­нец, мож­но так­же про­чи­тать жур­нал со­бы­тий дат­чи­ка, ко­то­рый ле­жит во по­сто­ян­ном хра­ни­ли­ще в BMC, ко­ман­дой:

$ ipmitool -I lan -H 192.168.1.120 -U root -P farkle sel list
1 | 03/03/2010 | 14:06:32 | Event Logging Disabled #0x72 | Log area reset/cleared | Asserted
2 | Pre-Init Time-stamp | Physical Security #0x73 | General Chassis intrusion | Asserted
3 | Pre-Init Time-stamp | Physical Security #0x73 | General Chassis intrusion | Deasserted

Управ­ление досту­пом

Вы мо­же­те по­ин­те­ре­со­вать­ся, как об­сто­ит де­ло с безо­пас­но­стью. Ес­ли ка­кой-нибудь бол­ван че­рез Ин­тернет уз­на­ет тем­пе­ра­ту­ру мое­го про­цес­со­ра, горе тут невелико, но да­вать ему воз­мож­ность уда­лен­но вы­клю­чить сер­вер – это уж бу­дет квалифицироваться как ата­ка ти­па от­каз сер­ви­са [DoS].

К сча­стью, про­то­кол IPMI по­зво­ля­ет вве­сти в се­анс IPMI при­ну­ди­тель­ную ау­тен­ти­фи­ка­цию. Под­дер­жи­ва­ет­ся несколь­ко ти­пов ау­тен­ти­фи­ка­ции, вклю­чая ее от­сут­ст­вие [None] и ау­тен­ти­фи­ка­цию с па­ро­лем [Straight Password], а так­же ме­то­ды с шиф­ро­ванием MD2 и MD5. Сам IPMI-тра­фик то­же мож­но за­шиф­ро­вать, и это воз­ла­га­ет боль­шую вы­чис­ли­тель­ную ра­бо­ту на скром­ный про­цес­сор BMC. Вдо­ба­вок поль­зо­ва­те­лям на­зна­ча­ют­ся уровни при­ви­ле­гий – От­вет [Callback], Поль­зо­ва­тель [User], Опе­ра­тор [Operator] и Ад­минист­ра­тор [Administrator]. Ка­ж­дая ко­ман­да IPMI тре­бу­ет оп­ре­де­лен­но­го уров­ня при­ви­ле­гий. В об­щих чер­тах, Поль­зо­ва­те­ли мо­гут толь­ко чи­тать ин­фор­ма­цию о со­стоянии сис­те­мы. Опе­ра­то­ры мо­гут ме­нять на­строй­ки ти­па по­ро­гов сра­ба­ты­вания дат­чи­ков и управ­лять сис­те­мой (вклю­чать и от­клю­чать пи­тание). Ад­минист­ра­тор мо­жет так­же на­страи­вать сам IPMI, на­при­мер, за­да­вать име­на поль­зо­ва­те­лей и па­ро­ли. По су­ти это же­ст­кая схе­ма управ­ления досту­пом на осно­ве ро­лей.

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