Категорії
Linux Solaris

fastreboot

Перезагрузка сервера – достаточно долгий момент, порой может доходить до 10 минут: пока произойдёт инициализация железа, пока передастся управление загрузчику ОС. Если нужно перегрузить только саму ОС, без полного ребута сервера – можно использовать удобный механизм fastreboot. Рассмотрим, как он реализован в разных ОСях.

Категорії
FreeBSD Linux OpenBSD Solaris

Медленный arp, netstat, ping

Если слишком медленно получаем вывод сетевых утилит типа arp, netstat, то достаточно добавить ключ ‘-n’ что бы не резолвились имена и получим моментальный вывод. Медленный вывод замечал только на Linux/Solaris, на FreeBSD/OpenBSD вывод быстрый.

Пример: arp -an, netstat -rn, ping -n HOST

Категорії
Linux Solaris WWW

Ставим Selenuim на Solaris/Linux

Что такое Selenuim – можно прочитать на wiki. Здесь опишу только установку

Тестовый стенд: Solaris 11.1 x86, selenium-server-standalone-2.30.0, Debian linux 7.2

Скачиваем selenium-server-standalone с официального сайта http://selenium.googlecode.com/files/selenium-server-standalone-2.30.0.jar в папку /opt/selenium.

Категорії
Solaris

Обновляем Solaris 10

Для обновления Solaris 10-ой версии нужно использовать luupgrade.

Тестовый стенд: Solaris 10 (Generic_147441-01)

1) Подготовка.

Я использовал скачанный образ Solaris 10u11 в качестве источника для обновлений. Монтируем указанный образ в /mnt:

# mount -F hsfs /dev/dsk/c0t0d0s2 /mnt
# uname -a
SunOS sol10new 5.10 Generic_147441-01 i86pc i386 i86pc

Категорії
FreeBSD Solaris

[Dtrace] Исследуем нагрузку

Ниже буде приведены однострочники для dtrace, которые можно использовать под Solaris/FreeBSD. Примеры взяты из книги по dtrace

Категорії
Misc, staff, other Programming Solaris

php-fpm и Solaris = не собирается их исходников

Если при компиляции php из исходников с поддержкой php-fpm вы получаете ошибку

cc: acomp failed for php-5.4.9/sapi/fpm/fpm/fpm.c
gmake: *** [sapi/fpm/fpm/fpm.lo] Error 1

то это известный баг https://bugs.php.net/bug.php?id=62708 решение которого довольно простое: в файле php-5.4.9/sapi/fpm/fpm/fpm_sockets.h меняем слово *sun на *s_un. Дело в том, что слово sun зарезервировано на Solaris-подобных ОСях.

Категорії
FreeBSD Solaris

zfs начинает тупить/притормаживать при заполнении почти всего пула

При заполнении пула почти на 90% (вообще-то у всех по-разному: у кого-то и в 70%, а у кого-то только при 98%) Zfs начинает сильно притормаживать, точнее искать свободное место в пуле, куда-бы записать. Связано это с тем, что по умолчанию установлено слишком большое значение параметра metaslab_min_alloc_size.

Категорії
FreeBSD Linux Solaris

autoreboot after panic

Если вам критичен простой и вы не хотите разбираться с дампом при kernel panic, то можно облегчить себе жизнь, выставив авторебут при kernel panic. Вот как это делается в каждой из ОС.

Внимание

Перезагрузка после Kernel panic имеет и очень серьёзный недостаток, особенно если это изменение не пропадает после первой перезагрузки. В случае, если перезагрузка не устраняет ту ошибку, которая вызывает Kernel panic, система будет останавливаться и перезапускаться вновь и вновь, что может привести к аппаратным ошибкам или потерям данных

Категорії
FreeBSD Solaris

[dtrace] Протоколируем удалённые файлы

Ниже будет приведён скрипт, который позволяет перехватить удаление файла и вывести сообщение на консоль. При этом, на место блока /* INSERT HERE */ можно вставить свои обработчики, которые будут выполняться каждый раз, когда кто-то захочет удалить файл.

Категорії
Misc, staff, other Solaris

Отключаем SMF Auto-restart

По умолчанию, при падении сервиса (и даже при kill -9) он автоматически поднимается через restarter. Бывают моменты, когда это нужно отключить. И так, выполняем такие действия (покажу на примере nginx’a)

#svccfg -s svc:/network/cswnginx:default
svc:/network/cswnginx:default>  addpg startd framework

Если выругается, что группа уже есть, просто переходите к следующему пункту

svc:/network/cswnginx:default>  setprop startd/duration = astring: transient
svc:/network/cswnginx:default> validate

Команда validate покажет, если есть какие-то ошибки. Если ничего не выдало, просто выходим через exit

Теперь применяем конфигурацию:

#svcadm refresh svc:/network/cswnginx:default

Если вдруг не сработало, тогда ещё сделайте disable/enable сервису.

Что бы включить обратно restarter – просто удалим то, что создали.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP