При заполнении пула почти на 90% (вообще-то у всех по-разному: у кого-то и в 70%, а у кого-то только при 98%) Zfs начинает сильно притормаживать, точнее искать свободное место в пуле, куда-бы записать. Связано это с тем, что по умолчанию установлено слишком большое значение параметра metaslab_min_alloc_size.
Категорія: Solaris
Если вам критичен простой и вы не хотите разбираться с дампом при kernel panic, то можно облегчить себе жизнь, выставив авторебут при kernel panic. Вот как это делается в каждой из ОС.
Внимание
Перезагрузка после Kernel panic имеет и очень серьёзный недостаток, особенно если это изменение не пропадает после первой перезагрузки. В случае, если перезагрузка не устраняет ту ошибку, которая вызывает Kernel panic, система будет останавливаться и перезапускаться вновь и вновь, что может привести к аппаратным ошибкам или потерям данных
Ниже будет приведён скрипт, который позволяет перехватить удаление файла и вывести сообщение на консоль. При этом, на место блока /* INSERT HERE */ можно вставить свои обработчики, которые будут выполняться каждый раз, когда кто-то захочет удалить файл.
По умолчанию, при падении сервиса (и даже при 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 11
После выхода 11-ой версии и очень больших изменениях изменилась и сама процедура обновления. Теперь не нужно никаких LiveUpgrade, всё делается через пакетный менеджер pkg.
Ниже будет описан способ обновления для пользователей, у которых нет поддержки Oracle
Расширение корневого пула zfs
В статье будем рассмотрен механизм замены дисков корневого пула на диски большей ёмкости. Данный метод подходит как для Solaris-family так и для FreeBSD.
Часто бывают такие ситуации, когда вы открыли через vi/vim файл, сделали очень много изменений и в конце понимаете, что забыли выполнить sudo. Что же делать? Заново править файл очень как не хочется. на помощь приходит такая команда:
:w !sudo tee %
а для Solaris можно ещё и такую
:w !pfexec tee %
После этого выдаётся запрос на ввода пароля и подтверждение, что вы хотите перезаписать файл и всё (с вариантом pfexec запрос пароля не происходит).
Количество 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. Он позволяет определять, что вышло из строя и сигнализировать об этом. Этим всем управляет служба svc:/system/fmd:default. Например, вот вывод из системы, где вышел из строя 1 диск из зеркального пула
Обзор нового менеджера пакетов pkg
В Solaris 11 появился новый менеджер пакетов pkg. Он очень удобен, так как позволяет не только работать с пакетами (устанавливать, удалять, обновлять и т.д.), а и обновлять ОС.
В статье расскажу некоторые применения pkg.