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

[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
...

Читать далее

Solaris, tshark, snoop

Не используйте ни tshark, ни tcpdump на Solaris, тем более на SPARC системах. Иначе получите полное подвисание сервера. Даже в официальной документации сказано:

System Might Hang When Running the tshark Command on an Interface With Network Traffic (7202371)
The system might hang when you run the tshark command on an interface with network traffic.

Workaround: Use the snoop command instead of tshark or wireshark command.

Читать далее