Solaris format: быстро пролейблить диски
15.06.2010
После добавления новых дисков в Solaris их нужно пролейблить (пример). Обычно это делают руками в команде format, но если дисков много, то это первращается в гемор. Итак, быстрый метод:
# devfsadm
# echo label > /tmp/cmd.txt
# echo quit >> /tmp/cmd.txt
# for i in /dev/rdsk/*s2; do format -f /tmp/cmd.txt $i; done
UPDATE 20100728
Самый простой и быстрый способ:
for i in /dev/rdsk/*s2 ;do echo label | format $i ;done
Ссылки
Первоисточник: Labeling large number of LUNs in Solaris
man format
ssd vs cXtXdX
09.06.2010
Solaris в логах иногда оставляет сообщения, типа
Jun 22 04:07:11
midframe scsi: [ID 799468 kern.info] ssd251 at scsi_vhci0: name g600015d000230b000000000000001707, bus address g600015d000230b000000000000001707
ссылающиеся на ssd имя диска (или на sd, или dad). Как найти соответсвие между экземпляром драйвера и путем, определяемым через cXtXdX ?
Написал для этого небольшой скрипт:
$ ./whatdisk.pl
Device Driver Device SN Device ID
c1t0d0 ssd0 0744BB20JC id1,ssd@n5000cca004141e9c
c1t1d0 ssd1 0816S52E4D id1,ssd@n2000001d38707617
c1t3d0 ssd3 062244LX6L id1,ssd@n20000014c3d9c52d
c1t5d0 ssd4 062244LNCF id1,ssd@n20000014c3d9c1e5
c1t2d0 ssd5 062244LQ4W id1,ssd@n20000014c3d9caa1
Закачать whatdisk.pl
Ссылки в тему:
Немного об именах дисковых устройств в Solaris
man iostat
man sd
Solaris Live Upgrade. Часть 1
12.05.2010
Что такое Live Upgrade?
Если коротко – набор инструментов, которые позоляют создать альтернативную среду загрузки, сделать копию загрузочных устройств текущей системы, или накатить на нее новую ОС, накатить или удалить патчи, пакаджи. Затем активируем ее и перегружаем сервер – вуаля, новая или пропатченная ОС загружена. Если возникли какие-либо сложности – в любой момент можно откатиться обратно. Количество этих альтернативных ОС зависит только от наличия у нас доступных загрузочных дисков (про ZFS будет написано в отдельной статье, там все еще проще).
Устанавливаться можно как с инсталлера, так и jumpstart-а. Но самая главная фишка – все манипуляции проводятся на загруженной рабочей системе, и время простоя – это только время необходимое на перезагрузку. Не нужно многочасовых простоев и работы ночами для наката патчей, не нужно длительных согласований времени простоя системы – установите все днем с помощью LiveUpgrade ;)
Инструменты, которые входят в Live Upgrade:
Читать полностью »
Генератор штрихкодов
28.04.2010
Для работы в ленточных библиотеках ленточки должны быть пролейблены штрихкодом. Если готовых наклеек нет или нужно отметить ленточки, так чтобы не перепутать, или наклейки на LTO3, а нужно воткнуть ленту LTO2 ?
Наткнулся тут на генератор штрихкодов для ленточных библиотек, который решает эти проблемы. Онлайн, бесплатный, генерит pdf-файлы.
Если помните, то для загрузки бездисковых серверов типа 6800 или 25K SUN предлагал полку D240 размером 2U. В зависимости от конфигурации она могла содержать до 4 SCSI дисков, либо два из них могли заменяться на DVD-ROM и TAPE-drive. Полка имела возможность подключаться по одной, либо по двум независимым SCSI шинам, имела два блока питания для отказоустойчивости. Хотя новую полку приобрести Вам и не удастся, однако у многих они стоят и работают, поэтому данная статья может кому-то пригодиться.
Полка выпускалась достаточно долго, настолько долго, что никто не помнит когда её начали выпускать, даже всезнающий Handbook. Она пережила несколько ревизий и между ними есть отличия, о которых, возможно вам будет интересно узнать, потому что кроме как здесь об этом узнать негде…
Сделать 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
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
Когда навалом процессоров… Часть 2
20.11.2009
Смотри также Когда навалом процессоров… Часть 1
Если процессоров не так прямо уж и много, или сервер состоит из системных плат, объединенных через общую шину (типа sf4800, sf6900, e25k итд) – то можно пойти другим путем – привязать процессы к процессорному сэту и запретить прерывания для этого сэта. Тем самым повышаем попадания в кэш, уменьшится трафик между системными платами, можно выделить как бы гарантированный квант процессорных ресурсов приложению.
Итак, пусть у нас средняя железка, 24 процессора. Создадим
процессорный сэт из процессоров 0-7
Читать полностью »
Когда навалом процессоров… Часть 1
13.11.2009
Смотри также Когда навалом процессоров… Часть 2
Для улучшения производительности в многопроцессорных (в том числе Multithreading ) системах с ОС Solaris можно использовать выделенные процессоры для обработки прерываний устройств ввода-вывода. Это позволяем снизить количество переключений контекста для процессоров, увеличить попадания в кэш, в конечном счете отдать больше ресурсов для обработки пользовательских задач.
Solaris 10:
Для того, чтобы привязать процессор к обработке прерываний устройства:
1. Определяем процессор, на который попадает большинство системных прерываний по данному адаптеру (например по сетевому адаптеру nxge):
Читать полностью »