Архив рубрики: Solaris

Solaris и файл hosts

По умолчанию файл /etc/hosts в Solaris отсутствует. Но это совсем не означает, что он пуст! В Solaris он располагается по другому пути — /etc/inet/hosts (это можно увидеть, натравив, например, truss на nscd и он сразу покажет, какие файлы запрашивает). И так, правильный выход из ситуации — сделать симлинк /etc/hosts на файл /etc/inet/hosts. Именно так, и не иначе. В противном случае, после апдейта, могут быть конфликты или ссылка затрётся.

[ZFS] Замена сбойного диска сбойным

Не знаю, проявляется ли это на новых версиях ZFS, но достаточно интересный хак. И так, ситуация следующая: при замене диска в пуле, в процесс перестройки, выпал заменяемый диск. Тогда пул навсегда замирает в состоянии DEGRADED. Как быть? Вот здесь подсмотрел хак. Приведу цитатой:

echo zfs_no_scrub_io/W0t1 | mdb -kw

После этого надо дать resilver закончиться (он пройдёт достаточно быстро), и «zpool offline» сбойное устройство.

Потом поменять параметр назад:

echo zfs_no_scrub_io/W0t0 | mdb -kw

и «zpool replace» его работающим диском.

Принцип работы хака: в треде, где идёт resilver, мы пропускаем собственно часть, которая пишет данные; resilver заканчивается (естественно, на битый диск мы ничего не пишем, так что ошибок на нём не будет, но и данных тоже).

 

Solaris verbose boot process

По умолчанию, Solaris при загрузке очень краток: 3 строки и хватит. Что бы «разговорить» его (по аналогии, как это в Linux/FreeBSD) можно пойти 2-мя путями: править grub или «true Solaris-way«. О втором методе ниже:

# /usr/sbin/svccfg -s system/svc/restarter:default
svc:/system/svc/restarter:default> addpg options application
svc:/system/svc/restarter:default> setprop options/logging = astring: verbose
svc:/system/svc/restarter:default> exit

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

Перенос зоны с помощью archiveadm

В 11.2 появился новый инструмент для переноса зон — archiveadm. Теперь не нужно создавать отдельно конфигурацию зоны, сжимать файлы — всё делается автоматически.

1) Создание архива.

# archiveadm create --exclude-media -z archived-zone /path/to/archive.uar

После этого можно переносить архив на другую машину.

Читать далее

NAT with multiple outgoing IPs

IPFilter

map net0 10.10.10.0/24 -> 192.168.0.2/24 round-robin
map net0 10.10.10.0/24 -> 192.168.0.3 round-robin

Iptables

# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0/24
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0-1.2.3.4 --to 1.2.3.6-1.2.3.254

Читать далее

FAQ по pkg (solaris)

pkg CVE

Начиная с SRU 11.2.5.X.X доступен поиск по базе CVE. Подробнее можно прочесть здесь. Так же можно проверить, исправлен ли нужный баг:

$ pkg search -f ':set:com.oracle.service.bugid:7146824'
INDEX                    ACTION VALUE   PACKAGE
com.oracle.service.bugid set    7146824 pkg:/library/security/openssl@1.0.0.7-0.175.0.5.0.3.0

Читать далее

[dtrace] Просмотр открытых файлов

В комплекте dtrace tool kit есть скрипт opensnoop, который позволяет просматривать открытые файлы в режиме реального времени.

Пример использования.

./opensnoop.d -x -n php
  UID    PID COMM          FD PATH
  620   8483 php           -1 /var/ld/ld.config
  620   8483 php           -1 /bin//php-cli.ini
  620   8483 php           -1 /soft/sun_free/php/php-cli.ini
  620   8483 php           -1 /bin//php.ini
...

Читать далее