Сделать DUMP
27.02.2010
Что делать если Solaris завис намертво? На «break» с системного контроллера не реагирует, в OBP не переходит, если kmdb загружен — и в него не переходит, только reset спасает… Что подвесило — не понятно, походу баг в ядре, или драйвер кривой. Нужно понять в чем проблема, попробовать как-нибудь вытащить дамп при следующем подвисании.
Добавляем в /etc/system параметры:
set snooping=1
set snoop_interval=120000000
и перегружаем сервер.
Этот параметр включает Deadman таймер, который по 15-му прерыванию раз в секунду проверяет, обновилась ли переменная ядра lbolt. Если переменная lbolt не была увеличена за определенный период времени (по умолчанию 50 секунд, или 120 секунд, как в моем примере), то это вызовет панику.
Дальше — анализируем полученный дамп и делаем выводы.
Ссылки
Core Dump Management on the Solaris OS
Writing Device Drivers-Enable the Deadman Feature to Avoid a Hard Hang
Прибил файл, а место не освобождается?
21.01.2010
Обычно, когда заканчивается место на файловой системе — ищем растущие файлы (обычно это логи всякие) и удаляем их.
Итак, как правильно удалять файлы? ;)
Проверяем, что этот файл не открыт каким-нибудь процессом:
fuser /dir/filename
Если файл занят, что прибиваем процесс (или делаем корректные действия, чтобы процесс отпустил файл), после этого удаляем.
А что делать, если никто ничего не проверял, файлик грохнули, а вот место не освободилось?
Читать полностью »
ILOM или ALOM
12.01.2010
Как правильно отметил jsn — если привык к ALOM, то ILOM поначалу сильно раздражает ;) А на серверах t5240, t5440 итд — по умолчанию установлен как раз режим ILOM.
Итак как перейти к привычному виду команд на системном контроллере с ILOM? Создаем нового пользователя и устанавливаем ему режим alom:
-> create /SP/users/admin
Creating user...
Enter new password: ********
Enter new password again: ********
Created /SP/users/admin
-> set /SP/users/admin role=aucro
Set 'role' to 'aucro'
->set /SP/users/admin cli_mode=alom
Set 'cli_mode' to 'alom'
( Роль можно также устанавливается так: -> set /SP/users/admin role=Administrator
)
UPDATE: 2010.01.26
Найдена табличка соответствия между командами ilom и alom в html-виде для T5140-T5240:
Локальная версия / версия на сайте docs.sun.com
Ссылки в тему:
Sun Integrated Lights Out Manager 3.0 Supplement for Sun SPARC Enterprise T5440 Server
Рекомендую также в этом документе посмотреть табличку «ILOM and ALOM CMT Command Comparison»
На новых серверах Sun с поддержкой LDOM (t5440, t5240 итд) просто так в {ok} не перейдешь. Т.е. когда все в порядке — ‘init 0’ и ты там, а вот если какие-нибудь проблемы — тут все и начинается. Когда посылаешь break — вываливаешься в меню типа «нефиг, нафиг, пофиг» (reset, sync, continue). Причем ни reset, ни sync — в {ok} ни разу не приведут.
Итак, танцы с бубном:
Заходим на системный контроллер.
Если установлен режиме ILOM:
set /HOST/bootmode script="setenv auto-boot? false"
reset /SYS
start /SP/console
Если установлен режиме ALOM:
bootmode bootscript="setenv auto-boot? false"
reset
console
Ссылки в тему:
Sun Integrated Lights Out Manager 3.0 Supplement for Sun SPARC Enterprise T5440 Server
UPDATE: 2010.01.12
Удаленный доступ к консоли
05.01.2010
Есть такой убойный сервис у Sun, называется Shared shell. Нужен для предоставления удаленного доступа к telnet-ssh сервисам по https.
Обычно используют RemoteAdmin или что-нибудь подобное, чтобы удаленно настроить приложения, но очень часто у клиентов зарезаны порты и вообще, доступ к интернету сильно ограничен. Это приложение позволяет обойти эти ограничения для настройки терминальных приложений.
Это java приложение, работает через всякие прокси, хорошо себя ведет на слабых каналах. Позволяет предоставить полный доступ к консоли или доступ только для просмотра, тут же есть чат с поддержкой русского языка, карандашик, которым можно выделить что-нибудь. Один человек создает сессию, соединяется по telnet или ssh. Затем, меню «Conference-Invite» получает ключ, который отправляете человеку, который присоединяется к вашей сессии. Весь интерфейс интуитивно понятен. Вообщем — швейцарский нож, рекомендую ;)
Shared shell
Когда навалом процессоров… Часть 2
20.11.2009
Смотри также
Когда навалом процессоров… Часть 1
Когда навалом процессоров… Часть 2
Когда навалом процессоров… Часть 3
Если процессоров не так прямо уж и много, или сервер состоит из системных плат, объединенных через общую шину (типа sf4800, sf6900, e25k итд) — то можно пойти другим путем — привязать процессы к процессорному сэту и запретить прерывания для этого сэта. Тем самым повышаем попадания в кэш, уменьшится трафик между системными платами, можно выделить как бы гарантированный квант процессорных ресурсов приложению.
Итак, пусть у нас средняя железка, 24 процессора. Создадим
процессорный сэт из процессоров 0-7
Читать полностью »
WordPress Plugin. Comments with OpenId
16.11.2009
Aviable version 1.4 (update 2010.04.05)
[Русский] [English]
Настроил тут возможность писать комментсы с openId. Поставил вначале Third Party Accounts Login — типа все заработало. Хотел добавить туда еще Яндекс-id, ан нет — там пишется в табличку, затем из таблички выбирается, вообщем решил переписать по простому (без настроек, без базы данных, без больших картинок, без жаба-скриптов на 100кб). Итак, встречайте — «Comments with OpenId». Подставляет в строку авторизации openId строки для таких провайдеров как yandex, google, livejournal, blogger, flickr, myopenid, claimid. Посмотреть, как это работает можно в комментсах к данному посту ;)
Читать полностью »
Когда навалом процессоров… Часть 1
13.11.2009
Смотри также
Когда навалом процессоров… Часть 1
Когда навалом процессоров… Часть 2
Когда навалом процессоров… Часть 3
Для улучшения производительности в многопроцессорных (в том числе Multithreading ) системах с ОС Solaris можно использовать выделенные процессоры для обработки прерываний устройств ввода-вывода. Это позволяем снизить количество переключений контекста для процессоров, увеличить попадания в кэш, в конечном счете отдать больше ресурсов для обработки пользовательских задач.
Solaris 10:
Для того, чтобы привязать процессор к обработке прерываний устройства:
1. Определяем процессор, на который попадает большинство системных прерываний по данному адаптеру (например по сетевому адаптеру nxge):
Читать полностью »
ShadowImage и ошибки
02.11.2009
Софт Hitachi ShadowImage свои ошибки в log-файле не расшифровывает, поэтому, чтобы определить, что же за проблемы у нас возникли открываем лог (обычно он находится где-то тут /HORCM/log0/curlog/horcmlog_`hostname`/horcm.log
)
и ищем там вот такую строчку:
16:26:26-15981-99999- SSB = 0xb9a0,232a.
Вот 232a — это и есть код нашей ошибки. Ну а расшифровку можно взять из секции troubleshooting в ShadowImage User’s Guide или из нижеприведенной таблички:
Читать полностью »
Есть такой инструмент — PAR Packager , и сделать exe-шник с его помощью проще простого:
C:\ pp -o filename.exe filename.pl
Не помню, входит ли утилитка в состав ActivePerl. Если что — запускаете ppm из командной строки и устанавливаете PAR. Для любителей рисовать окошки из perl — есть логичное продолжение — tkpp. Недостаток конечно есть — размер exe-шника, да и скорость выполнения — будет точно такой же, как и у perl-скрипта.
Что еще можно использовать?
1. Когда-то, для этого же я использовал perl2exe от IndigoStar. Но так как это коммерческий продукт, то по окончании программа выплевывала строчку о том, что это «незарегистрированная версия». К тому же, как отмечают продвинутые камрады — достаточно просто раскомпилировать обратно и получить исходники.
2. Есть такая утилитка — perlcc. Генерирует исходник на C, который можно потом собрать с помощью компилятора. К сожалению, существует не для всех версий perl — последняя версия 5.8.9 (я когда-то пробовал этот путь, но что-то там получалось не очень весело, типа компилировалось только с VisualStudio , плюс еще какой-то геморой с либами, может быть сейчас что-то и изменилось). Но с точки зрения размера выполняемого файла — без вариантов ;)
ЗЫ — только что попробовал скомпилить скриптик в 2 строки под Solaris — компилится, но при выполнении падает в корку ;(, так что ситуация далека от идеала.