Категорії
Misc, staff, other Solaris

A disk’s temperature exceeded the limits established by its manufacturer.

После этой ошибки zpool выбросил сбойный диск из пула. Очень странная ошибка. Смотрим smart данного диска:

# smartctl -d scsi -a /dev/rdsk/c6t5000C50056DFD131d0s0
...
Current Drive Temperature:     42 C
Drive Trip Temperature:        40 C
...
Категорії
Solaris

Direct Maps в Solaris

Direct Maps ассоциируются с autofs, то есть по сути с автомонтированием шары при первом доступе. И неважно, это NFS или LOFS. При этом работа очень упрощается – достаточно отредактировать файл и запустить команду automount. Она сама проверит соответствие смонтированных шар и наличием их в файле: ненужные отмонтирует, а новые смонтирует.

Категорії
Solaris

Использование нескольких версий приложений на одной ОС

Что делать, если на до на одной машине иметь несколько разных версий одного и того же приложения (например, python) и иметь возможность очень просто переключаться между разными версиями. Сразу скажу, что этот функционал должен поддерживаться самим приложением и не все приложения его поддерживают. И так, посмотрим список наших приложений и дефолтных версий:

Категорії
FreeBSD Solaris

Быстрое удаление очень большого заполненного пула

Речь идёт о пулах в десятки терабайт, которые заполнены данными. Команды zpool/zfs destroy даже не мощном сервере будет выполняться часами, если не днями.

Оказывается, выход есть.

# zpool export -f data_pool
# zpool create -f data_new raidz2 c5t0d0 ...

То есть экспортируем пул (на всякий случай принудительно), а потом принудительно создаём на тех же дисках новый пул.

Категорії
DataBases FreeBSD Linux Solaris

Тюнинг mysql/postgresql on zfs/ext4

Ниже будет описан тюнинг самой mysql + OS-специфический. Тюнинг будет рассмотрен только для движка InnoDB.

mysql

Обязательно разнести базу и логи (innodb_log_group_home_dir) по разным датасетам (дискам). В идеале вынести на отдельный датасет и tmp_dir для mysql.

Категорії
FreeBSD Linux OpenBSD Security Solaris

Фильтрация по MAC-адресу в различных файерволах

ipfw

add allow all from any to 192.168.2.0/24 via ${natd_interface} mac aa:bb:cc:dd:ee:ff any

pf

(только OpenBSD)

в консоли:

# ifconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1

в pf.conf:

pass in on fxp0 tagged USER1

ipf

Нельзя сделать

iptables

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

Категорії
FreeBSD Linux OpenBSD Solaris

Меняем RPATH

Что такое RPATH? Wikipedia:

rpath is a term in programming which refers to a run-time search path hard-coded in an executable file or library, used during dynamic linking to find the libraries the executable or library requires.

Иными словами это жёстко зашито в заголовке бинарника. Можно попробовать поменять в момент запуска:

LD_LIBRARY_PATH=/var/other myprog &

Но это не всегда возможно и не всегда работает. Для постоянного изменения существует специальные утилиты, которые правят сам бинарник.

Категорії
Solaris

Device /scsi_vhci/disk@g5000c5007171e03f failed to power up

Вот такое сообщения я получаю, когда пробую установить Solaris. И так ругается на все 6 дисков, которые есть в сервере. Как итог: система не ставится, так как все диски в offline.

Мудрые коллеги подсказали, что это проблема контроллера Dell Perc H200, а точнее проблема энергосбережения, а так же подсказали решение , но оно уже годится для установленной системы.

Под FreeBSD под этот контроллер нету энергосбережения, поэтому там таких проблем нет и система на него ставится без проблем.

Категорії
Programming Solaris

Сборка tmux’a под Solaris

Тестовый стенд: tmux-1.8, libevent-2.0.21

Сборка tmux’a под Solaris ещё тот квест с правкой исходников. И так, качаем свежую версию tmux’a, а так же libevent (как зависимость). libevent ставится без проблем:

root@skeletor:/export/home/skeletor/libevent-2.0.21-stable# CFLAGS="-m64 -O2" CPPFLAGS="-m64 -O2" CCASFLAGS="-m64 -O2" CXXFLAGS="-m64 -O2" LDFLAGS="-m64 -O2" ./configure --prefix=/usr --libdir=/lib/64 && gmake && gmake install && gmake clean

А теперь соберём tmux:

Категорії
FreeBSD Linux Solaris WWW

Правильная ротация логов java/tomcat’a

Всё бы хорошо, но tomcat не понимает сигналs HUPSIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP