Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Операционные системы -> Linux -> Мониторинг материнских плат в Linux


Мониторинг материнских плат в Linux

При решении задачи по организации мониторинга материнской платы TYAN S2460 Tiger MP оказалось, что одним только файлом справки пакета lm_sensors не обойтись. Дополнительные знания требовались на каждом шагу. Пусть же они помогут в аналогичной ситуации еще кому-нибудь.

К тому же описание данного процесса подойдет к большинству случаев по организации мониторинга различных материнских плат в операционной системе Linux.

Эффективная эксплуатация сложных технических комплексов, в частности компьютерных, невозможна без исчерпывающей и непрерывно поступающей информации об основных параметрах функционирования системы. Особенно эта проблема актуальна для систем, функционирующих по схеме 24 x 7 x 365, а также для систем, к которым персонал имеет ограниченный доступ.

В каждом конкретном случае список таких параметров может содержать сотни позиций. Но практически в любой рабочей станции, сервере, кластере очень важной является информация о техническом состоянии аппаратуры. Основные характеристики материнских плат, подлежащие отслеживанию (мониторингу) таковы:

  • напряжение питания;
  • скорость вращения вентиляторов охладителей;
  • температура процессоров;
  • температура внутри системного блока.

Производители материнских плат и операционных систем предлагают собственные решения для мониторинга. Существуют также и программные средства от третьих производителей.

В дистрибутивах Линукс, которые в последнее время нашли широкое распространение в серверных системах, стандартом де-факто для программ мониторинга материнских плат стал пакет lm_sensors (http://www.lm-sensors.nu/). Он поставляется в составе некоторых дистрибутивов Linux и имеет широкие возможности.

Однако, чем сложнее и универсальнее инструмент, тем труднее его освоение.

Настоящий материал призван осветить практические вопросы настройки пакета lm_sensors для мониторинга материнских плат TYAN S2460 Tiger MP.

К сожалению, в документации на пакет (файл quickstart) не изложены некоторые тонкие особенности настройки. Попробуем восполнить этот пробел.

Шаг 1

Сначала проверим, установлены ли исходники и/или готовые модули для мониторинга на компьютере. Готовые модули лежат** в
/lib/modules/(номер_версии_ОС)/kernel/drivers/sensors и
/lib/modules/(номер_версии_ОС)/kernel/drivers/i2c.

В первом каталоге ищем модуль с именем w83781d, во втором - модули i2c-core, i2c-amd756, i2c-dev, i2c-proc.

Если они есть, значит, модули мониторинга в вашей операционной системе установлены.

Нам понадобятся также исходники.

Шаг 2

Не помешает проверить, подгружены ли упомянутые выше модули при загрузке операционной системы (может, помимо вас, кто-то еще мониторит уже плату). В консоли (дальше все действия выполняем в консоли, где необходимо - с правами root'а) надо дать команду:

lsmod

В выводе команды ищем названия модулей:

i2c-core, i2c-amd756, i2c-dev, i2c-proc, w83781d.

Если все они есть - значит, кто-то уже позаботился о мониторинге и вам повезло.

Но предположим, что вам не повезло - ничего не найдено. То есть начинаем работу на машине, где отсутствуют исходники и готовые модули пакета lm_sensors. Те же, у кого пакет уже установлен, разобравшись в документации, а также внимательно и творчески изучив данный документ, смогут без проблем добиться успеха.

Шаг 3

Итак, начнем с получения дистрибутива lm_sensors. Лучше всего загрузить его с сайта разработчиков (http://secure.netroedge.com/~lm78/download.html), где он выложен для свободного скачивания. Так мы обеспечим себя последней версией пакета. Если интернет по какой-либо причине недоступен, то пакет в виде rpm-файла можно будет найти и в вашем дистрибутиве. Учтите - нужны именно исходники.

Шаг 4

Добытые исходники положим в какой-нибудь каталог в распакованном виде. Неплохим будет выбор каталога /usr/src/linux.

Шаг 5

Теперь самое интересное: компилируем и устанавливаем пакет lm_sensors. В каталоге /usr/src/linux/lm_sensors-номер_версии последовательно выполним несколько команд:

make
make install
depmod -a

Шаг 6

Теперь проверим, появился ли в каталоге
/usr/src/linux/lm_sensors-номер_версии/kernel/busses
модуль i2c-amd756.o, дата создания совпадает которого с текущей датой.

Шаг 7

Аналогичн_м образом следует проверить наличие "свежего" модуля w83781d.o в каталоге /usr/src/linux/lm_sensors-номер_версии/chips. Теперь заглянем в файл /etc/ld.so.conf. Ищем там строку /usr/local/lib. Если такой не находим -добавляем ее туда вручную, после чего выполняем команду:

ldconfig

Теперь внимание! До этого момента мы только компилировали и устанавливали необходимые для мониторинга программные компоненты. Часть компонентов, согласно концепции Линукс, в задаче мониторинга является файлами устройств. Элементам материнской платы - таким как термодатчики, датчики оборотов вентиляторов, датчики напряжений питания - в пакете lm_sensors соответствуют файлы виртуальных устройств, располагающиеся в каталоге /proc/sys/dev/sensors. Самое время заглянуть в указанный каталог.

При заходе в /proc/sys/dev мы не увидим подкаталога sensors. Это и понятно - его никто еще не создавал, поэтому датчики платы нам недоступны. Следующая команда как раз и предназначена для создания файлов датчиков платы. Выполните ее:

/usr/src/linux/lm_sensors-номер_версии/prog/mkdev/mkdev.sh

Вывод команды покажет Вам имена создаваемых устройств.

Шаг 8

Итак, необходимые программные файлы откомпилированы, файлы устройств созданы. Теперь необходима настройка системы. В ее ходе мы обеспечим подгрузку необходимых модулей, откорректируем файлы инициализации, чтобы все необходимое запускалось при старте операционной системы; создадим шаблон для вывода на консоль информации о контролируемых параметрах. Далее кратко и практически без комментариев приводится последовательность действий по настройке lm_sensors применительно к плате TYAN S2460 Tiger MP.

Шаг 9

В каталоге /usr/src/linux/lm_sensors-номер_версии/lib ищем файл libsensors.so.x.x.x (например, libsensors.so.1.2.1) и копируем его в /lib. Вместе с этим файлом хранятся две ссылки на него: libsensors.so и libsensors.so.1 - копируем в /lib и их (если же этих ссылок нет, то в /lib следует их создать).

Шаг 10

В каталоге /usr/src/linux/lm_sensors-номер_версии/prog/init находим файл lm_sensors.init и копируем его в каталог /etc/rc.d/init.d под именем lm_sensors.

Шаг 11

В каталоге /usr/src/linux/lm_sensors-номер_версии/prog/init вручную редактируем файл lm_sensors.sysconfig. В самом его конце оставляем незакомментированными только строки:

MODULE_1=i2c-amd756
MODULE_2=i2c-dev
MODULE_3=w83781d

Далее копируем этот файл в каталог /etc/sysconfig под именем lm_sensors.

Шаг 12

Из каталога /usr/src/linux/lm_sensors-номер_версии/prog/sensors копируем в каталог /usr/bin файл с именем sensors. Он должен иметь права на выполнение.

Шаг 13

В файле /etc/modules.conf добавим в конце строку:

alias char-major-89 i2c-dev

Шаг 14

В файле /etc/rc.d/rc в конце добавим приведенные ниже строки (для загрузки необходимых модулей в процессе старта операционной системы):

modprobe i2c-amd756
modprobe i2c-dev
modprobe w83781d init=0

Шаг 15

В каталоге /usr/src/linux/lm_sensors-номер_версии/kernel/busses найдите файл
i2c-amd756.o, заархивируйте его командой:

gzip i2c-amd756.o.

На выходе должен получиться файл i2c-amd756.o.gz. Полученный файл скопируйте в каталог /lib/modules/(номер_версии_Линукс) kernel/drivers/i2c.

Шаг 16

В каталоге /usr/src/linux/lm_sensors-номер_версии/kernel/chips найдите файл w83781d.o и заархивируйте его командой:

gzip w83781d.o

На выходе должен получиться файл w83781d.o.gz. Скопируйте его в каталог /lib/modules/(номер_версии_Линукс) kernel/drivers/sensors.

Шаг 17

После этого можно последовательно выполнить с консоли команды, описанные в предыдущем пункте:

modprobe i2c-amd756
modprobe i2c-dev
modprobe w83781d init=0

ВНИМАНИЕ! Последняя команда, запущенная без параметра init=0, намертво завешивает систему! Поэтому не делайте этого, если на системе в данный момент выполняются критичные приложения. Иначе придется перезагружаться. Но чтобы избежать зависания, при плановой перезагрузке не забывайте этот параметр ни при ручной подгрузке модуля, ни в файле /etc/rc.d/rc.

После выполнения трех указанных команд проверим, что изменилось в системе. Сначала выполним

lsmod

Должна появиться информация о том, что загружены модули:

i2c-core, i2c-amd756, i2c-dev, i2c-proc, w83781d

Теперь самое время посмотреть в /proc/sys/dev. Там должен появиться подкаталог sensors, а в нем подкаталог w83782d-i2c-0-2d и файл chips. В файле chips ничего интересного нет, а вот в w83782d-i2c-0-2d надо бы заглянуть. Там мы увидим достаточно много файлов, среди которых можно по названиям узнать датчики мониторинга платы. Например, fan1, fan2, fan3 - датчики вентиляторов; temp1, temp2 - датчики температуры и т.д. Это файлы виртуальных устройств, которые были созданы нами ранее. Они становятся доступными при подгрузке соответствующих модулей, что мы и увидели. Под этими же названиями они используются в файле настройки шаблона вывода информации на консоль.

Шаг 18

Файл настройки шаблона вывода информации на консоль должен находиться в каталоге /etc/sysconfig и иметь имя sensors.conf. Туда мы его и копируем (с переименованием) из каталога /usr/src/linux/lm_sensors-номер_версии/etc, где этой файл имеет имя sensors.conf.eg.

Файл написан с учетом всех поддерживаемых микросхем мониторинга. Но нам так много не нужно. Нам достаточно одной только секции, начинающейся строкой:

chip "w83782d-*" "w83783s-*" "w83627hf-*"

Все, что выше этой строки, вплоть до самых комментариев можно удалить. Комментарии оставьте - пригодятся. Удалите также остальные секции, начинающиеся со строки (и вместе с ней):

chip "w83697hf-*"

Вообще-то говоря, удалять лишнее вовсе не обязательно - на работе системы это никак не отразится. Просто в более коротком файле, где нет ничего лишнего, гораздо проще будет разобраться при настройке формата вывода на консоль. Комментарии, которые имеются в начале этого файла, исчерпывающи настолько, что добавить нечего**.

Отметим только, что для правильного отображения температуры процессоров надо в соответствующих строках sensors.conf указать второй тип термодатчика - то есть строки с описанием типа термодатчика должны выглядеть так:

set sensor1 2
set sensor2 2
set sensor3 2

Шаг 19

Для удобства получения информации о состоянии системы создадим скрипт и положим его в каталог /usr/bin. Скрипт перечитывает файл sensors.conf для правильного отображения информации и запускает команду sensors вывода информации на консоль. Назовем файл sensor. Его содержание очень простое:

#! /bin/bash
cd /etc/sysconfig
bash /usr/bin/sensors -s -c /etc/sysconfig/sensors.conf
/usr/bin/sensors

Не забываем дать этому файлу права на исполнение. Теперь, если модули загружены, команда sensor с консоли выводит информацию о состоянии датчиков материнской платы. Как поступить с этой информацией дальше: отправить по почте, на SMS сисадмину или же записать в лог - каждый решит сам.

Рис. 1. Вывод команды sensors на консоль Рис. 2. Параметры платы в KDE отображаются гораздо симпатичнее

Дополнение

Если необходимо организовать мониторинг нескольких материнских плат S2460 Tiger MP (например, в кластере), то не обязательно проводить все указанные операции, включая компиляцию на всех компьютерах. Достаточно проделать это один раз, и использовать потом полученные файлы на других компьютерах. Для этого нужно только поместить эти файлы в соответствующие каталоги.

Изложенный подход с успехом можно использовать и для организации мониторинга других материнских плат (в том числе - плат других производителей). Для этого необходимо учесть отличия в исполнении конкретной материнской платы, например: что за чипсет используется, какая внутренняя шина, с которой пакетом lm_sensors считываются данные, каков внешний чип (в рассмотренном случае это были, соответственно, AMD 760MP, I2C и W83781d). Поддерживаемые чипсеты, шины и внешние чипы приведены в файле /lm_sensors/etc/sensors.conf.eg дистрибутива lm_sensors.

Автор выражает особую благодарность разработчикам пакета lm_sensors, всем, кто участвовал в его отладке и поделился информацией об его использовании, а также производителям платы TYAN S2460 Tiger MP, выпустившим отличное "железо".

Автор: Виталий Колесник
Источник: www.comizdat.com

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.