Категорії
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 OpenBSD 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 – просто удалим то, что создали.

Категорії
Solaris

Обновление Solaris 11

После выхода 11-ой версии и очень больших изменениях изменилась и сама процедура обновления. Теперь не нужно никаких LiveUpgrade, всё делается через пакетный менеджер pkg.

Ниже будет описан способ обновления для пользователей, у которых нет поддержки Oracle

Категорії
Solaris

Расширение корневого пула zfs

В статье будем рассмотрен механизм замены дисков корневого пула на диски большей ёмкости. Данный метод подходит как для Solaris-family так и для FreeBSD.

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

vi/vim и забыли, что нету прав за запись файла

Часто бывают такие ситуации, когда вы открыли через vi/vim файл, сделали очень много изменений и в конце понимаете, что забыли выполнить sudo. Что же делать? Заново править файл очень как не хочется. на помощь приходит такая команда:

:w !sudo tee %

а для Solaris можно ещё и такую

:w !pfexec tee %

После этого выдаётся запрос на ввода пароля и подтверждение, что вы хотите перезаписать файл и всё (с вариантом pfexec запрос пароля не происходит).

Категорії
Solaris

Количество ip/alias на сетевой карте

По умолчанию вы сможете задать на сетевую карту всего 256 ip (или алиасов). Узнаём текущее значение:

# ndd -get /dev/ip ip_addrs_per_if
256

Если нужно больше (допустим, у вас очень много зон), то делаем так:

# ndd -set /dev/ip ip_addrs_per_if 8191

Между прочим, это так же максимальное количество неглобальных зон, которые можно создать в global зоне.

Для сохранения при ребуте, можно внести изменения в /etc/system:

set ip:ip_addrs_per_if=8191

Категорії
Solaris

fmadm или узнаем обо всех проблемах на сервере

В Solaris существует встроенных механизм определения неполадок, называемый fmadm. Он позволяет определять, что вышло из строя и сигнализировать об этом. Этим всем управляет служба svc:/system/fmd:default. Например, вот вывод из системы, где вышел из строя 1 диск из зеркального пула

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