Шпаргалка по SVM
02.04.2010
Я понимаю, что «Solaris volume manger» (SVM) как бы практически в прошлом (с ZFS его сравнивать даже близко нельзя ;), но все же кое-где используется.
Шпаргалка по основным командам SVM
[локальная копия]
Смотри также шпаргалки по vxvm
Сделать 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
Если процессоров не так прямо уж и много, или сервер состоит из системных плат, объединенных через общую шину (типа sf4800, sf6900, e25k итд) — то можно пойти другим путем — привязать процессы к процессорному сэту и запретить прерывания для этого сэта. Тем самым повышаем попадания в кэш, уменьшится трафик между системными платами, можно выделить как бы гарантированный квант процессорных ресурсов приложению.
Итак, пусть у нас средняя железка, 24 процессора. Создадим
процессорный сэт из процессоров 0-7
Читать полностью »
Когда навалом процессоров… Часть 1
13.11.2009
Смотри также Когда навалом процессоров… Часть 2
Для улучшения производительности в многопроцессорных (в том числе Multithreading ) системах с ОС Solaris можно использовать выделенные процессоры для обработки прерываний устройств ввода-вывода. Это позволяем снизить количество переключений контекста для процессоров, увеличить попадания в кэш, в конечном счете отдать больше ресурсов для обработки пользовательских задач.
Solaris 10:
Для того, чтобы привязать процессор к обработке прерываний устройства:
1. Определяем процессор, на который попадает большинство системных прерываний по данному адаптеру (например по сетевому адаптеру nxge):
Читать полностью »
Сколько же памяти занимает ядро?
28.09.2009
Несколько скриптов-однострочников для быстрого взгляда на то, как используется память в Solaris:
Физическая память:
kstat -n system_pages | nawk 'BEGIN{ "/usr/bin/pagesize" | getline pgsize ; } /physmem/ { print "Physical memory = " $2 * pgsize/1073741824 "Gb"}'
Память ядра:
kstat -n system_pages | nawk 'BEGIN{ "/usr/bin/pagesize" | getline pgsize ; } /pp_kernel/ { print "Kernel memory = " $2 * pgsize/1073741824 "Gb"}'
Разделяемая (shared) память:
ipcs -mb | awk '/^m/ {sm=sm+$7}END{ print "Shared memory " sm/1073741824 "Gb"}'
Свободная память:
kstat -n system_pages | nawk 'BEGIN{ "/usr/bin/pagesize" | getline pgsize ; } /freemem/ { print "Free memory = " $2 * pgsize/1073741824 "Gb"}'
И еще, если присмотреться, то можно увидеть, как в awk можно выполнить команду shell и прочитать ее вывод ;)
Updated: 29.09.2009/Добавлен однострочник для свободной памяти. Вообщем-то получился не плохой скриптик — все однострочники в одном файле:
solarismem
Пример вывода:
# ./solarismem.sh
Physical memory = 31.2031Gb
Kernel memory = 3.29826Gb
Shared memory 12.9697Gb
Free memory = 13.5944Gb
До Solaris10 управлять мультипатингом MPxIO можно было только с помощью luxadm, да и то, очень ограничено.
В Solaris 10 появилась командочка mpathadm, которая позволяет облагородить этот процесс,
не танцевать с бубном, а нормально админить ;)
Итак, вспоминаем — включение MPxIO на весь сервер:
stmsboot -e ; reboot
Можно включить на некоторые порты итд ( man stmsboot )
Обычно этим и ограничиваются все настройки ;) но попробуем заглянуть глубже.
Диски
Посмотреть диски:
Читать полностью »

