Рубрика: Linux Автор: Hottab :: Вторник 3 июля 2012 в 11:53

Поставили на новые серверы вот такие Host Bus контроллеры (LSI SAS9211-4i ).
Помимо 6Гб/c оно умеет еще и raid (1,0).
Ну а раз умеет - почему бы и не использовать, заодно и посмотрим как оно себя ведет.

Поставили - значит нужно мониторить, вопрос чем.
Так как это не полноценные raid-контроллеры, megacli оно не поддерживается, mpt-status выдает только :
ioctl: No such device

На сайте LSI для данного контроллера предлагают использовать MegaRAID Storage Manager.
А раз так - попробуем, хотя оно и с java.

Система на серверах :

Centos 6.2
[root@host ~]# uname -rsmpo
Linux 2.6.32-220.23.1.el6.x86_64 x86_64 x86_64 GNU/Linux

Для начала качаем архив, с сайта LSI, MSM_linux_installer-6.90-05.tar.gz
Распаковываем его, читаем readme.txt и ставим нужные компоненты:

[root@host ~]# yum install net-snmp net-snmp-utils net-snmp-libs libstdc++ compat-libstdc++-33.x86_64 compat-libstdc++-33.i686

Запускаем установщик, файл install.sh. В процессе установки я выбрал режим Standalone (3)
Читаем все что выводится на экран, ошибок быть не должно.

Конфигурируем snmpd (конфигурация по умолчанию, только как рабочий пример) :

[root@host ~]# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.old
[root@host ~]# cp /etc/lsi_mrdsnmp/lsi_mrdsnmpd.conf /etc/snmp/snmpd.conf

Подключаем Mib-ы LSI :

[root@host ~]# mkdir ~/.snmp/ && mkdir ~/.snmp/mibs
[root@host ~]# cp /etc/lsi_mrdsnmp/sas-ir/LSI-AdapterSASIR.mib ~/.snmp/mibs/LSI-AdapterSASIR.mib
[root@host ~]# cp /etc/lsi_mrdsnmp/sas/LSI-AdapterSAS.mib ~/.snmp/mibs/LSI-AdapterSAS.mib

Включаем старт при загрузке snmpd :

[root@host ~]# chkconfig snmpd on

И рестартуем сервисы :

[root@host ~]# service lsi_mrdsnmpd restart
[root@host ~]# service snmpd restart

Проверяем - все должно работать:

Список всех Mib-ов
[root@host ~]# snmpwalk -v1 -c public localhost .1.3.6.1.4.1.3582 -m +LSI-megaRAID-SAS-IR-MIB

Статус массива
[root@host ~]# snmpwalk -v1 -c public localhost LSI-megaRAID-SAS-IR-MIB::vdDegradedCount.0 -m +LSI-megaRAID-SAS-IR-MIB
).

О возможных ошибках
1. Если на этапе установки MegaRAID Storage Manager возникли проблемы, например не поставились какие либо зависимости, то для корректной установки (после решения проблем с зависимостями) его надо переустановить.

Для этого идем в директорию установки и запускаем uninstaller :

[root@host ~]# cd /usr/local/MegaRAID\ Storage\ Manager
[root@host MegaRAID Storage Manager]# ./uninstaller.sh

После этого снова можно запускать install.sh

2. При попытке просмотреть информацию командой snmpwalk выходит примерно такое :

[root@host ~]# snmpwalk -v1 -c public localhost
/etc/snmp/snmp.conf: line 60: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 61: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 62: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 63: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 64: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 65: Warning: Unknown token: com2sec.
/etc/snmp/snmp.conf: line 72: Warning: Unknown token: group.
/etc/snmp/snmp.conf: line 79: Warning: Unknown token: view.
/etc/snmp/snmp.conf: line 85: Warning: Unknown token: access.
/etc/snmp/snmp.conf: line 128: Warning: Unknown token: syslocation.
/etc/snmp/snmp.conf: line 129: Warning: Unknown token: syscontact.
/etc/snmp/snmp.conf: line 416: Warning: Unknown token: pass.
/etc/snmp/snmp.conf: line 425: Warning: Unknown token: pass.
Timeout: No Response from localhost

У меня проблема решилась просто, причина в опечатке.
Файл /etc/snmp/snmpd.conf назывался /etc/snmp/snmp.conf.
Должно быть именно /etc/snmp/snmpd.conf .
После переименования и рестарта сервиса snmpd все заработало.

3. Команда [root@host ~]# snmpwalk -v1 -c public localhost .1.3.6.1.4.1.3582 -m +LSI-megaRAID-SAS-IR-MIB ничего не выводит.
Отключаем selinux.


Рубрика: Linux Автор: Hottab :: Понедельник 14 мая 2012 в 10:14

Привык пользоваться Daisy-доком (удобный лаунчер).
В Kubuntu 12.04 его поломали и из списка виджетов убрали.
Но, это же линукс :)

Вообщем можно собрать и поставить, хотя и не совсем тру.

Идем на https://github.com/gabm/Daisy , качаем там zip-архив с кодом виджета.
Ставим нужные пакеты , собираем по инструкции и радуемся :)

А теперь более подробно.

Создаем в home директорию.

# mkdir ~/daisy

Скачиваем туда zip-архив и раскрываем.

# unzip gabm-Daisy-c555160.zip

Устанавливаем нужные пакеты

# sudo apt-get install kdebase-workspace-dev kdelibs5-dev make cmake gcc g++ gettext

Переходим в директорию с кодом и далее по инструкции (файл INSTALL)

# cd gabm-Daisy-c555160
# mkdir build
# cd build
# cmake ../ -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
# make
# sudo make install
# kbuildsycoca4

После этого виджет Daisy станет доступен в меню добавления виджетов.


Рубрика: Хостинг Автор: Hottab :: Пятница 10 февраля 2012 в 11:06

При переносе базы данных выяснилось что дампы создаются некорректно, при перекодировке дампа ругалось на double-encoded UTF-8 , вообщем ничего толкового не выходило.
Видимо при создании базы была указана кодировка latin1, а данные уже заливались в utf-8.

Облегчало ситуацию то что данные на старом сервере были доступны и отдавались корректно.

Вообщем решение простое, с использованием средств mysql сервера, mysqldump и mysql

1. Создаем дамп (на старом сервере):
serv# mysqldump -h host -u user -p --quote-names --skip-set-charset --default-character-set=latin1 dbname > ./dump.sql

2. Втягиваем на новом сервере:
serv# mysql -h host -u user -p --default-character-set=utf8 dbname < ./dump.sql

вот и все :)


Рубрика: Linux Автор: Hottab :: Понедельник 5 декабря 2011 в 16:10

Суть проблемы - Centos 5.6 не видит сетевой чип Atheros Communications AR8121 .
Решение подключаем репозиторий elrepo.org (спасибо, что уже собрали) и ставим модуль ядра kmod-atl1 (kmod-atl1e, kmod-atl2)

Все просто (спасибо, что уже собрали) :)


Рубрика: Linux, Хостинг Автор: Hottab :: Понедельник 28 ноября 2011 в 10:00

Обнаружилась проблема.

На чистой установке ISPManager (Centos 5.7, php-5.1.6) не подключается php.ini пользователя (если php для домена переключен в режим php-cgi).

Решение - костыль, но работает.
Перезаписываем файл php-bin/php (в директории пользователя) на сам бинарный php-cgi.
Т.е.
mv /usr/bin/php-cgi ./php

и не забываем сделать chown.
В таком варианте - конфиг подхватывается

Про багу отписал на форуме ISP - http://forum.ispsystem.com/ru/showthread.php?t=17160 , они ее даже приняли :)

Но судя по changelog`у ждать придется не меньше месяца , а это напрягает.. бага весьма критичная.


Рубрика: Linux Автор: Hottab :: Пятница 25 ноября 2011 в 14:13

Сервер: Centos 5.7
2 HDD .
На сервере разделы собраны в md (raid-1), один диск вылетел.
Задача: добавить новый диск .
Состояние до добавления такое :

[root@serv]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 hdc1[0]
521984 blocks [2/1] [U_]

md4 : active raid1 hdc2[0]
102398208 blocks [2/1] [U_]

md5 : active raid1 hdc3[0]
81923392 blocks [2/1] [U_]

md1 : active raid1 hdc7[0]
4096448 blocks [2/1] [U_]

md0 : active raid1 hdc8[0]
98952256 blocks [2/1] [U_]

md3 : active raid1 hdc5[0]
20482752 blocks [2/1] [U_]

Делается просто.
1. Ставится новый диск.
2. Копируем таблицу разделов
[root@serv]# sfdisk -d /dev/hdc | sfdisk /dev/hda

3. Проверяем таблицы разделов
[root@serv]# fdisk -l /dev/hdc
Disk /dev/hdc: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 65 522081 fd Linux raid autodetect
/dev/hdc2 66 12813 102398310 fd Linux raid autodetect
/dev/hdc3 12814 23012 81923467+ fd Linux raid autodetect
/dev/hdc4 23013 38913 127724782+ 5 Extended
/dev/hdc5 23013 25562 20482843+ fd Linux raid autodetect
/dev/hdc6 25563 26084 4192933+ 82 Linux swap / Solaris
/dev/hdc7 26085 26594 4096543+ fd Linux raid autodetect
/dev/hdc8 26595 38913 98952336 fd Linux raid autodetect

[root@serv]# fdisk -l /dev/hda
Disk /dev/hda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 65 522081 fd Linux raid autodetect
/dev/hda2 66 12813 102398310 fd Linux raid autodetect
/dev/hda3 12814 23012 81923467+ fd Linux raid autodetect
/dev/hda4 23013 38913 127724782+ 5 Extended
/dev/hda5 23013 25562 20482843+ fd Linux raid autodetect
/dev/hda6 25563 26084 4192933+ 82 Linux swap / Solaris
/dev/hda7 26085 26594 4096543+ fd Linux raid autodetect
/dev/hda8 26595 38913 98952336 fd Linux raid autodetect

4. Добавляем в md разделы нового диска
[root@serv]# mdadm /dev/md0 - -add /dev/hda8
[root@serv]# mdadm /dev/md1 - -add /dev/hda7
[root@serv]# mdadm /dev/md2 - -add /dev/hda1
[root@serv]# mdadm /dev/md3 - -add /dev/hda5
[root@serv]# mdadm /dev/md4 - -add /dev/hda2
[root@serv]# mdadm /dev/md5 - -add /dev/hda3

5. Смотрим как собирается
[root@serv]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 hda1[2] hdc1[0]
521984 blocks [2/1] [U_]
resync=DELAYED

md4 : active raid1 hda2[2] hdc2[0]
102398208 blocks [2/1] [U_]
resync=DELAYED

md5 : active raid1 hda3[2] hdc3[0]
81923392 blocks [2/1] [U_]
resync=DELAYED

md1 : active raid1 hda7[2] hdc7[0]
4096448 blocks [2/1] [U_]
resync=DELAYED

md0 : active raid1 hda8[2] hdc8[0]
98952256 blocks [2/1] [U_]
[>....................] recovery = 1.2% (1214464/98952256) finish=906.5min speed=1795K/sec

md3 : active raid1 hda5[2] hdc5[0]
20482752 blocks [2/1] [U_]
resync=DELAYED


Рубрика: Linux Автор: Hottab :: Среда 26 октября 2011 в 12:43

Понадобилось писать в базу все то, что чекает нагиос.
Взял для этого NDO2Utils .

Система где установлен nagios : Centos 5.7 2.6.18-274.3.1.el5
Nagios : 3.3.1

Все встает по инструкции, без проблем.
Но при рестарте сервиса nagios в логе /usr/local/nagios/var/nagios.log вылезает ошибка:

[1283518804] LOG VERSION: 2.0
[1283518804] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1283518804] ndomod: Could not open data sink! I’ll keep trying, but some output may get lost…

Проверка и перепроверка конфига ndo2db.cfg и ndomod.cfg ничего не дала.

Решение данного бага простое - ndomod хочет видеть свой конфиг ndomod.cfg только в директории /etc/nagios3.

Т.е. создаем директорию , копируем туда конфиг и правим конфиг nagios-а ( nagios.cfg )

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/etc/nagios3/ndomod.cfg

После этого ошибка пропала, в базу полились данные.


Рубрика: FreeBSD, Linux Автор: Hottab :: Пятница 22 апреля 2011 в 11:00

Задача - добавить функционал к уже установленному на сервере php5.
Установка из репозитория или из портов - невозможна, так как не совпадают версии.

Решается просто.
В моем случае это Centos 5.4, php5.2.16 (но схема должна работать почти везде).
Нужно добавить поддержку imap (подключить imap.so)

Решение.
Скачиваем исходники php нужной версии и распаковываем их в /root/php-5.2.16
Делаем phpize (тем, что уже уставнолен на сервере - whereis phpize )

serv# cd /root/php-5.2.16/ext/imap
serv# /usr/bin/phpize

Запускаем configure:

serv# ./configure --with-kerberos --with-imap --with-imap-ssl

У меня конфигурация сразу не прошла, доставил нужные зависимости (openssl-devel и т.д.)
В итоге все сконфигурировалось.

serv# make install

И не забываем подключить собранный imap.so:

serv# echo "extension=imap.so" > /etc/php.d/imap.ini

Рестартуем апач и радуемся. :)


Рубрика: FreeBSD Автор: Hottab :: Вторник 5 апреля 2011 в 12:16

Система FreeBSD 6.2, обновлены порты до последних.
Не ставится libxml2.

Вылетает с ошибкой:

./configure.lineno: 14571: Syntax error: Bad substitution

Решение:

в файле /usr/ports/textproc/libxml2/work/libxml2-2.7.8/configure
закомментировать следующую строку :

WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython${PYTHON_VERSION//./}"

Найдено здесь


Рубрика: FreeBSD Автор: Hottab :: Среда 30 марта 2011 в 12:14

Обновлял мир и ядро на FreeBSD 6.2.
После обновления решил обновить и пакеты.

Не собрался mc, как выяснилось из-за glib
glib вылетал с такой ошибкой:

./de.po:15: keyword “msgctxt” unknown
./de.po:15: parse error

Проблема была с gettext, т.е. сначала надо было обновить его.
Потом все взлетело :)


Рубрика: FreeBSD, Хостинг Автор: Hottab :: Вторник 29 марта 2011 в 11:13

В рамках некрофилии и прочих извращений :)
Добавляем поддержку frontpage на web-сервер под управлением hsphere

Все делается на самом сервере:

www# cd /hsphere/pkg
www# fetch http://www.psoft.net/shiv/HS/FBSD6/hsphere-frontpage-5.0_11.tgz
www# pkg_add -f hsphere-frontpage-5.0_11.tgz
www# /usr/local/etc/rc.d/apache.sh restart

Hsphere - 2.6
web-сервер - FreeBSD 6.2


Рубрика: Linux, Хостинг Автор: Hottab :: Воскресенье 20 марта 2011 в 8:58

Обнаружил интересный баг.
Есть два сервера PSBM, на каждом крутится по 5-6 VM (виртуальных машин). VM подключены к сети в режиме bridge.
Выяснилось что скорость передачи по tcp между VM-ами на разных серверах не превышает 40-60 кб/c. При этом скорость с внешними ресурсами и на самих серверах была вполне нормальной.

Оказалось, проблема с generic-receive-offload на адаптере, на котором висят бриджи.

Решение достаточно простое.
Во первых, обновляем ethtool, нужна версия больше 6.3

vm# yum info ethtool
...
Installed Packages
Name : ethtool
Arch : x86_64
Version : 6
Release : 4.el5
Size : 149 k
Repo : installed
Summary : Ethernet settings tool for PCI ethernet cards
URL : http://sourceforge.net/projects/gkernel/
License : GPL
Description: This utility allows querying and changing of ethernet card settings, such as speed, port, autonegotiation, and PCI locations.

vm# yum update ethtool

Во вторых, отключаем собственно gro

vm# ethtool -K eth0 gro off

Проверяем

vm# ethtool -k eth0

Offload parameters for eth0:
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off
generic segmentation offload: off
generic-receive-offload: off

И добавляем строку в /etc/rc.local, чтобы при перезагрузке отключалось

vm# echo -e "ethtool -K eth0 gro off" >> /etc/rc.local

Должно помочь :)

З.ы.
Если при выполнении команды

vm# ethtool -K eth0 gro off

Появится такое - “no offload settings changed” , значит ethtool старой версии.

Надеюсь что Parallels эту багу пофиксят.


Рубрика: Linux, Хостинг Автор: Hottab :: Среда 9 марта 2011 в 12:40

Довольно часто , при переносе сайтов с виртуального хостинга на VPS , нужно менять DOC_ROOT в suexec.
Небольшая инструкция для Centos ( но в принципе, на других дистрибутивах все аналогично).

Устанавливаем gcc (если не установлен):

serv# yum install gcc

Сначала узнаем какой версии установленный у нас Apache:

serv# httpd -v
Server version: Apache/2.2.3
Server built: Aug 30 2010 12:32:08

Потом скачиваем исходники нужного apache, например отсюда :
http://archive.apache.org/dist/httpd/

serv# wget http://archive.apache.org/dist/httpd/httpd-2.2.3.tar.gz

Распаковываем и конфигурируем с нужными параметрами (так как нам нужен только suexec - указываем параметры только для suexec):

serv# tar -xzf ./httpd-2.2.3.tar.gz
serv# cd httpd-2.2.3
serv# ./configure --enable-suexec --with-suexec-caller=apache --with-suexec-userdir=cgi-bin --with-suexec-docroot=/home --with-suexec-uidmin=500 --with-suexec-gidmin=500 --with-suexec-logfile=/var/log/httpd/suexec.log

И собираем, !но не устанавливаем! :

serv# make

Дальше смотрим права и владельца на установленный в системе suexec

serv# ls -lah /usr/sbin/suexec
-r-s--x--- 1 root apache 12K Aug 30 2010 /usr/sbin/suexec

Копируем на место старого новый suexec, ставим нужные права и владельца, и проверяем:

serv# cp ./support/suexec /usr/sbin/suexec
serv# chown root:apache /usr/sbin/suexec
serv# chmod 4510 /usr/sbin/suexec

serv# ls -lah /usr/sbin/suexec
-r-s--x--- 1 root apache 23K Mar 9 12:45 /usr/sbin/suexec

Рестартуем apache и все :)

До модификации:

serv# suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=500
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="cgi-bin"

После:

serv# suexec -V
-D AP_DOC_ROOT="/home"
-D AP_GID_MIN=500
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="cgi-bin"


Рубрика: Linux Автор: Hottab :: Понедельник 28 февраля 2011 в 11:12

Собрал домашний сервер, на Centos.
Все задачи, маршрутизацию на 2 локальные сетки, на пиринговые ресурсы внешние сделал.
IPTV через igmpproxy прикрутил. Интернет раздается провайдером по VPN (l2tp), использовал xl2tpd.

Но вот потребовалось подключаться к VPN-серверу на площадке (mpd5). Как не бился с форвардингом - не работало.

Картина такая - на интерфейсе домашнего сервера , который смотрит во внутреннюю локалку - пакеты GRE уходят, но ответов не приходит.

На интерфейсе сервера на площадке - обратная картина - GRE посылается на домашний сервер, но нет ответа.

На ppp0 - тоже видно что пакеты приходят с площадки, но из локалки ничего нет.

Решение задачи простое - загрузить модуль ядра :

serv# modprobe ip_nat_pptp

и все взлетело :)

Ну и чтобы загружалось всегда - прописываем модуль здесь - /etc/sysconfig/iptables-config, строка - IPTABLES_MODULES=”ip_conntrack_netbios_ns ip_nat_pptp”

З.ы. VPN соединение создавалось не на домашнем сервере, а на компьютере в домашней локальной сети.


Рубрика: FreeBSD Автор: Hottab :: Среда 16 февраля 2011 в 12:55

Если вдруг сломалась очередь qmail-a, есть полезная утилита для ее восстановления.
Называется queue-fix, ставится из портов:

serv# cd /usr/ports/mail/queue-fix
serv# make config
serv# make install

После установки переименовываем старую очередь (расположение по дефолту):

serv# mv /var/qmail/queue /var/qmail/queue.old

Останавливаем qmail полностью, чтобы никаких его процессов не висело в памяти

например так:

serv# /usr/local/etc/rc.d/qmail.sh stop

и фиксим очередь :

serv# /var/qmail/bin/queue-fix -i /var/qmail/queue

Запускаем qmail

serv# /usr/local/etc/rc.d/qmail.sh start

должно заработать.

Если не заработало - надо проверять.

У меня например, на qmail был наложен патч BIG TODO.
Поэтому при установке queue-fix этот патч также надо использовать (make config).

Посмотреть с какими патчами был собран qmail (если он собирался из портов конечно) можно, например, так:

serv# cat /var/db/ports/qmail/options

Как-то так.. :)


Следующая страница »

Copyright © 2009 Горячий [TAB].