Обязательно устанавливайте Array Support Library (ASL) и Array Policy Module (APM, когда он есть) в vxvm для всех используемых массивов. Зачем это нужно? Дело в том, что эти модули используется для повышения надежности доступа к массивам. В частности, vxdmp определяет тип доступа к массиву (active-active, active-passive), для наиболее надежного соединения, скорости переключения при отказе одного из каналов, балансировки нагрузки.
Еще одна причина — информация о дисковой группе хранится не на всех дисках, а по умолчанию — на 10-20% дисков, и vxvm старается раскидать по принципу наибольшей надежности их по разным контроллерам-массивам, а если тип массива не установлен — то информация будет сохраняться без учета особенностей сети хранения данных.

Итак, пример из жизни, реальная ситуация (сбой кластера): не установлена ASL, все тома отзеркалены на разные массивы, оба массива определелись как jbod-ы. В результате все конфигурационные копии попали на ОДИН массив, который, неожиданно отказал. Таким образом получилось, что есть копии всех томов, но дисковую группу импортировать нельзя, так как недоступны все конфигурационные копии.
Читать полностью »

Вообще, инкапсулировать загрузочные диски под управление vxvm следует только, если вы собираетесь их зазеркалить. Если же, такой цели не стоит (например, есть в наличии аппаратный raid-контроллер на внутренние диски), то не стоит городить огород.

Инкапсуляция (rootability, как это теперь называется) запускается командой
# vxdiskadm
Читать полностью »

Как разобраться, хватает ли нам процессорных мощностей и где тот параметр, который нам укажет, что процессора не тянут те задачи, которые мы им вешаем?
Читать полностью »

Очень часто смотришь на текст какого-нибудь awk или sed скрипта и понимаешь, что ничего в нем не понимаешь ;) Куча каких-то непонятных предопределеннх переменных, неадекватный синтаксис… Чтобы быть во всеоружии — нужно под рукой всегда иметь шпаргалку ;)
Очень полезные шпаргалки по awk и sed. Взяты отсюда.

Ну и в догонку — отличная подборка односточников на awk [локальная копия]. В комплекте со «шпаргалкой по AWK» получается отличный набор продвинутого awk-программера ;)

Достаточно часто приходится генирировать последовательности в shell. Например, создать 10 файлов с разными именами, или переименовать, или добавить в vxvm диски, присвоив им новые имена, или отформатировать последовательно диски с командной строки на дисковом массиве, ну и т.д. Самый простой и правильный способ — это использовать команду seq, но к сожалению, ее в solaris по умолчанию нет.
Итак, несколько примеров, как напечатать цифры от 1 до 10:

Эти генерилки работают везде
$ i=0; while [ $i -lt 11 ]; do echo $i; i=`expr $i + 1` ; done
$ for i in  1 2 3 4 5 6 7 8 9 10; do echo $i; done
$ perl -e 'print "$_\n" foreach(1..10)'

Эта работает только в bash
$ for (( i = 1; i < 11; i++ )); do echo $i; done

а эта только в linux
$ seq 1 10

Одностраничные шпаргалки по vxvm и vxfs. Датированы 2002 годом, но актуальность не потеряли ;)

Quick references:

Недавно я затрагивал темы загруженности устройств ввода-вывода Oracle и создания Ram-дисков.
Итак, в системе есть достаточно свободной памяти, менеджер томов — vxvm и есть приложение с высокой нагрузкой по вводу-выводу (например Oracle). А если у нас современный сервер, а Oracle standard edition, то так оно и будет (так как standard edition не может использовать более 2Гб памяти). Такая ситуация часто возникает, например на SAP серверах, когда используются 32-разрядные приложения.
Итак, идея такая:
Читать полностью »

Напоминалка опций unix команды find

Напоминалка опций unix команды find теперь и на русском языке. Удобный online интерфейс поможет вспомнить самые нужные опции и построить свою команду для поиска файлов.
Как и было обещано, перевел свой скриптик на русский язык, добавил немножко ссылок на русскоязычные документы по синтаксису команды, исправил несколько ошибок.

Update: 2013.08.02 Переехал на новый домен, изменился интерфейс и главное — напоминалка опций не только для find, но и для grep, fuser, итд

Иногда ну никак не хватает места на загрузочном диске. То нужно немножко места добавить в корень, то новый слайс нарезать, а диск уже разбит под завязку. В этом случае к нам на помощь приходит swap :)

Слайс swap можно в on-line перекинуть, командой format переразбить диск (подрезать  swap, и увеличить или создать новый слайс на диске).

Итак, выбираем время, когда не сервер нет сильной дисковой нагрузки, тем более, сервер не свопит (пэйджинг не считается ;). Проверяем, сколько занято места в свопе и создаем новый своп файл (больше, чем занятое место в свопе).
# swap -l
swapfile dev swaplo blocks free
/dev/dsk/c0t0d0s1 85,1 16 41945456 40637452

Читать полностью »

Несколько ссылок по регулярным выражениям в unix. Практически все документы на русском языке.

PS Изменено 06.12.2008