Posts Tagged ‘ FreeBSD

Error — requested NFS version or transport protocol is not supported

Настроил на FreeBSD NFS сервер, пробую на Debian подмонтировать и получаю вот такую вот ошибочку:

root@deb:~# mount -t nfs nfsserver:/usr/home /home/black/nfs
mount.nfs: requested NFS version or transport protocol is not supported

Долго проверял настройки, гуглил еще дольше. Вот что помогло мне:
1. В /etc/hosts на сервере должна быть запись о localhost. Хотя бы так: 127.0.0.1 localhost
2. В /etc/hosts.allow на сервере нужно розрешить доступ для клиента (сети/хоста) на сервер к rpcbind. У меня так:

rpcbind : 10.10.10.0/255.255.255.0 : allow
rpcbind : ALL : deny

После перезагрузки сервера — nfs шара прекрасно монтируется.
Enjoy!

Настройка master — slave репликации в MySQL

Предистория: имею 3 сервера под FreeBSD 9.x версии, на них mysql-server версии 5.5. Нужно организовать репликацию одной базы данных с главного сервера (master) на 2 бекапных сервера (slave)
Сначала рихтуем настройки mysql на мастере:
Действия на master-сервере
IP Address: 111.111.111.11
DB для репликации: mydb

Добавим в конфиг mysql, который обычно находится здесь /var/db/mysql/my.cnf такие опции:

log-bin             = mysql-bin
binlog_format       = mixed
binlog-do-db        = mydb
max_binlog_size     = 100M
expire_logs_days    = 30
sync_binlog         = 1
server-id           = 1

Перегружаем mysql-server на master:

root@master:~# service mysql-server restart

Читать полностью

FreeBSD — Tekram areca raid controller

Захотелось посмотреть как там поживают винты в серваке HP на FreeBSD. Контроллер Areca — узнал из dmesg
Итак, под эти контроллеры в портах системы есть утилита areca-cli — установим!

root@ns:/root # cd /usr/ports/sysutils/areca-cli/ && make install clean

У проги отличный help — не побрезгуйте ознакомиться.
Мне пригодились следующие команды:

root@ns:/root # areca-cli hw info
The Hardware Monitor Information
===========================================
Fan#1 Speed (RPM)   : N.A.
Battery Status      : Not Installed
HDD #1  Temp.       : 36
HDD #2  Temp.       : 38
HDD #3  Temp.       : 30
HDD #4  Temp.       : 30
===========================================
GuiErrMsg<0x00>: Success.
root@ns:/root #

Читать полностью

FreeBSD — S.M.A.R.T. на сервере HP

Захотелось вот смарты по винтам просмотреть, ато есть уже опыт с битым веником … Система FreeBSD 8.2, сервак HP
Для начала поставим тулзу для чтения S.M.A.R.T.

[root@mail ~]# cd /usr/ports/sysutils/smartmontools

Собираем

[root@mail /usr/ports/sysutils/smartmontools]# make install clean

Пользуем так:

[root@mail ~]# smartctl -d sat+cciss,0 -a /dev/ciss0

Это для первого винта, вот так для второго:

[root@mail ~]# smartctl -d sat+cciss,1 -a /dev/ciss0

Ну и тд и тп.
На основании данных полученных со смарта можно примерно представить сколько еще прослужит винчестер. Также рекомендую сделать скрипт для розпарсивания основных параметров и отсылки информации админу о проблеме любым доступным на сервере способом (SMS, Mail, SNMP)
Удачи!

Мониторинг загрузки CPU сервера под FreeBSD в Zabbix

Интересная петрушка, но для меня было неожиданностью что нету простого и однозначного рецепта по мониторингу загрузки CPU сервера под FreeBSD через SNMP. Максимум что удалось найти — догадки как это можно делать в принципе, но вот будет работать или нет — никто не гарантирует. Мдяяяяя……
Ну чтоже, очень неуверенно, но всеже заявляю что удалось настроить, в моем конкретном случае «вроде бы как» показывает более-менее честно.
Есть вот такая дока по zabbix, которая описывает принцип вычисления загрузки CPU в Linux/Solaris/AIX/HP-UX системах. Некоторые товарищи в инете утверждают что для FreeBSD подходит формула вычисления множителя для Linux. Поверим на слово и попробуем настроить, дальше посмотрим, совпадет ли с реальной нагрузкой или нет. Читать полностью

Удаленное обновление по SSH FreeBSD 8.4-STABLE до FreeBSD 9.1-RELEASE

В продолжение темы обновления серваков под управлением FreeBSD решил черконуть и про обновление с 8-ки до 9-ки.
Тут все оказалось намного проще чем с 7-ки до 8-ки.
Практически все точно так же как в предыдущем посте, но есть пара отличий. Ну во первых это настройка в файле supfile

/root/>cp /usr/share/examples/cvsup/standard-supfile /root/supfile.9

В данном файле я поправил 2 строчки:

*default host=cvsup5.ua.FreeBSD.org
*default release=cvs tag=RELENG_9_1_0_RELEASE

После этого запускам закачку сорс-файлов:

/root/>csup -L 2 /root/supfile.9

Читать полностью

Bacula — обновляем самоподписные ssl сертификаты

После обновления openssl отвалились бекапы в бакуле, поглядев что там в логах, увидел что матерится на TLS, что мол неверные сертификаты и прочее … прочее. И еще чтото про то что простроченные. Не долго думая, решил просто перегенерить и не разбираться. Тем более что дело то пяти минут.
Итак, как это делается? Просто!
Создадим папку где будут храниться сертификаты:

root@gw:~# mkdir /usr/local/etc/bacula-ssl

Перейдем в нее:

root@gw:~# cd /usr/local/etc/bacula-ssl

Создадим необходимые для генерации сертификатов файлы:

root@gw:/usr/local/etc/bacula-ssl# touch ./index.txt && echo "01" > ./serial

Скопируем дефолтный конфиг openssl:

root@gw:/usr/local/etc/bacula-ssl# cp /etc/ssl/openssl.cnf .

Для упрощения создания сертификатов я заполнил своей инфой в конфиге все строчки с суффиксом _default. В принципе это не обязательно, но если этого не сделать то придется вручную много одинаковой инфы вводить, что лениво 🙂 Читать полностью

FreeBSD — Ошибка при обновлении nginx

После бинарного обновления с FreeBSD 8.3 до FreeBSD 8.4 решил обновить portupgrade-ом порты и нарвался на вот такую ошибку при сборке nginx

........
gd_webp.lo gd_tiff.lo gd_tga.lo gd_bmp.lo gd_xbm.lo  gd_color_match.lo  -ljpeg -lz -lm  -L/usr/local/lib -lpng15   -L/usr/local/lib -lfreetype   -L/usr/local/lib -ltiff
grep: /usr/local/lib/liblzma.la: No such file or directory
sed: /usr/local/lib/liblzma.la: No such file or directory
libtool: link: `/usr/local/lib/liblzma.la' is not a valid libtool archive
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 1
1 error
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop in /usr/ports/graphics/gd.
*** Error code 1

Stop in /usr/ports/graphics/gd.
*** Error code 1

Stop in /usr/ports/www/nginx.
*** Error code 1

Stop in /usr/ports/www/nginx.

Проблема была в отсутствии файлика /usr/local/lib/liblzma.la который требовался для сборки порта graphics/gd и еще нескольких портов по зависимостям nginx. Как гласит /usr/ports/UPDATING порт archivers/lzmautils удален и вместо него рекомендуют использовать обычный lzma, но то было давно и я давным давно сделал все как просили в UPDATING но вот неожиданно нарвался на такой бок. Читать полностью

Мониторинг Postfix в Zabbix через SNMP

Нашел забавный скриптик для мониторинга MTA, в моем случае postfix, через SNMP.
Заинтересовался, решил попробовать, но скрипт адаптирован под Cacti, а у меня Zabbix. Но это не беда — понимая суть прикрутить к заббиксу пара пустяков.
Для работы необходим snmp, установите самостоятельно, ничего сложного нету.
Скачать скрипт можно на форуме о Cacti.
Правим основной конфиг SNMPD /ust/local/etc/snmpd.conf
Кроме всякой ерунды, типа задание коммюнити и прочее, важно добавить вот такую строчку:

pass .1.3.6.1.4.1.2021.255 /usr/local/bin/fetch_mail_statistics.pl /var/log/maillog /var/log/mailstats.db .1.3.6.1.4.1.2021.255

После чего перегрузить snmpd

service snmpd restart

После этого на сервере с zabbix проверяем:

snmpwalk -Oav -v 2c -c public my.server.com.ua .1.3.6.1.4.1.2021.255
INTEGER: 13
INTEGER: 19
INTEGER: 0
INTEGER: 0
INTEGER: 2
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0

Гуд! Теперь важно понять легенду тех данных что мы получили, если бегло глянуть в код скрипта, то становится ясно, что:
1. Received
2. Sent
3. Deferred
4. Bounced
5. Rejected
6. Clean
7. Pspam (Greylisting)
8. Spam (RBL and spammassassin Blocked)
9. Infected (ClamAV)
10. Bad Header
11. Banned
Если вам ненужно так много, можно некоторые записи поудалять прямо со скрипта, или оставить но не использовать их … можно переписать на то что больше вам подходит, хорошо что скрипт на perl — вобщем дерзайте!
Удачи!

Проверить корректность отработки SSL в postfix/dovecot/courier

Както давненько был куплен сертификат для mail сервера, я его закинул на сервак, прописал путь к нему и к CA что предоставил центр сертификации где покупали, и усе. При этом outlook при первом обращении на него всетаки ругнулся, но достаточно было один раз ткнуть чтото типа «Доверяю и не спрашивать больше» и все прекрасно заработало. Времени копать дальше не было, как обычно, проехали-забыли. Но осадок остался … вот выдалось время разобраться в этом деле поглубже, для начала пара полезных команд:

openssl s_client -CApath /etc/ssl/certs/ -connect mail.nixcraft.net:443
openssl s_client -CApath /etc/ssl/certs/ -connect mail.somadomain.com.ua:995
openssl s_client -CApath /etc/ssl/certs/ -connect mail.somedomain.com.ua:587 -starttls smtp

А теперь по существу «моей проблемы». Чтобы все работало верно сертификат со стороны сервера должен состоять из сертификатов CA (очень желательно всех до корня) и сертификата выданого на данный сервер. Как проверить что у нас есть в данный момент? Просто!
Например:
Запускаем тест соединения с SMTP сервером с поддержкой TLS

openssl s_client -CApath /etc/ssl/certs/ -connect mail.somedomain.com.ua:995

Читать полностью