Июн 14 2010

Linux. Изменение runlevel.

По работе с Linux приходится сталкиваться редко. В основном это если, кто то из клиентов приносит сервер на колокейшен и приходится заглядывать внутрь их, если что то ломается.
И когда заглядываешь, почему то часто обнаруживается, что, казалось бы сервер, в стойке, без признаков постоянно подключенного монитора, а стоят X-сы и, что пародаксально иногда стоит автологин. По факту получается, что часть полезных ресурсов расходуется на никому не нужную графическую оболочку. Чаще всего такая картина наблюдается с установленым Ubuntu Desctopом на сервере.
Read more »

Май 31 2010

dd на удаленный сервер по ssh.

Применяя на некоторых своих серверах в USB Flash диски я столкнулся с проблемой бекапа. Первое решение — это применение rsync. Он минимален по используемым ресурсам и не требует много пространства. В принципе этого достаточно для бекапа серверов. Но хочется иметь готовый образ диска, который можно будет в любой момент влить на флешку и в случае выхода из строя обоих флеш дисков(они у меня собраны в RAID1 с помощью gmirror) быстро поменять диски или в случае аварии связанной с физическим разрушением сервера быстро установить flash диски в резервный сервер и с минимумом правок запустить маршрутизатор в работу.
Read more »

Июл 06 2009

Cisco Catalist 3750 считаем маки во вланах с помощью SNMP

Иногда выпадают такие нетривиальные задачи. Если вы обеспечиваете клиентам транспорт по второму уровню, объеденение оффисов и тому подобное, то мониторить работоспособность можно только с помощью подсчета маков во влане. Метод достаточно неточный, поскольку авария может уже случится, а мак еще может хранится в таблице. Но тем не менее, бывают такие клиенты, которых нужно хоть как то мониторить.
Я использую такую команду:

/usr/local/bin/snmpwalk -Os -c netstat@501 -v 1 192.168.5.5 .1.3.6.1.2.1.17.4.3.1.1

Здесь 192.168.5.5 — адрес свитча,
501 — номер влана который мониторится, а .1.3.6.1.2.1.17.4.3.1.1 — MiB котрый выводит маки которые присутствуют в этом влане.
Результат будет такой:

mib-2.17.4.3.1.1.0.20.169.37.168.40 = Hex-STRING: 00 A4 C9 25 D8 38 
mib-2.17.4.3.1.1.0.30.122.229.194.156 = Hex-STRING: 00 1F 7C E5 C5 9C

Как есть два мака, по одному с каждой стороны транспорта.
На свитчах отличных от catalyst 3750 этот MiB я не проверял, гарантировать что будет работать не могу.

Июл 06 2009

Авторизация на Cisco Catalyst через GNU Radius.

Централизованная авторизация через radius server имеет ряд неоспоримых достоинств. Если у вас обслуживанием оборудования занимается несколько человек и штат сотрудников время от времени меняется, а не меняться он не может, то правильней всего завести один источник авторизации на котором можно завести пользователя или заблокировать одним движением, а не обходя оборудование по кругу и блокируя аккаунты. Во вторых источником авторизации может служить все что угодно, радиус сервера могут обращаться к SQL базам, к хранилищу в виде простого файла, и наконец к PAM, как мы сегодня и настроим.
Почему я выбрал авторизацию через PAM? Да просто потому что так исторически сложилось. И система мониторинга авторизуется через апачевский mod_auth_pam.
Read more »

Июн 16 2009

Perl скрипт для Ices

Ices очень простая, но в то же время очень эффективная программа для проигрывания музыки на Icecast, пример настройки я приводил в статье IceCast2 и Ices0 — строим интернет радио, но в той статье я описывал проигрывание файлов из директории случайным образом, все хорошо, но подобная схема не даст гибко обновлять мелодии в директории для проигрывания, в данной схеме прийдется прервать вещание для того, что бы обновить список мелодий, но можно задействовать возможность Ices использовать вызовы скриптов для получения списка мелодий в директории для проигрывания.
Теперь файл настроек Ices будет выглядеть так:
Read more »

Апр 28 2009

Утилита unix2tcp.

Недавно очень помогла утилита unix2tcp.
Убирали с одного из серверов MySQL, базы перенесли, все хорошо, все красиво заработало, но как выяснилось в части проектов, хостясщихся на этом сервере настройки в MySQL зарыты в исходных текстах и искать их долго, а перенести надо максимально быстро.
Поэтому из портов был установлен unix2tcp:

cd /usr/ports/net/unix2tcp/
make install clean

А использовать эту програмку очень просто, к примеру сервер MySQL находится на адресе 192.168.254.5 порт 3306, локальный unix сокет должен быть /tmp.mysql.sock, соответственно запускать его надо так:

unix2tcp /tmp/mysql.sock 192.168.254.5 3306

Собственно и все. Я не привожу стартовый скрипт для этого решения, просто потому, что никто не рассматривает это решение как долгосрочное. Но у нас оно проработало почти неделю и нареканий не вызвало.
Только помните, что теперь нужно на удаленном сервере все равно в MySQL задать нужные права на базы от IP адреса сервера с которого вы будете соединяться.

Янв 13 2009

Настройка PureFTP c MySQL и UserManager.

Одной из любимых тем у системных администраторов — это интеграция всего всего, для авторизации через одну базу. База эта, чаще всего оказывается MySQL, в общем самое популярное решение. Сейчас мы настроим взаимодействие PureFTP с MySQL и сверху добавим, для удобства управления UserManager.
Read more »

Янв 12 2009

Настройка своего CVSup сервера FreeBSD

Если у вас в компании больше 2 серверов под FreeBSD, есть смыcл настроить свой сервер CVSup. Стоит сделать это по целому ряду причин, во первых вы обновляете всего один сервер, меньше загружая внешний канал, во вторых обновлять с внутреннего сервера остальные сервера будет быстрее. Итак, начнем:

cd /usr/ports/net/cvsup-mirror
make install clean

Read more »