Категорії
FreeBSD 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 заканчивается (естественно, на битый диск мы ничего не пишем, так что ошибок на нём не будет, но и данных тоже).

Для FreeBSD использовать соответственно

# sysctl vfs.zfs.no_scrub_io=1

и после окончанию работ выставить в 0.

Категорії
Solaris

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

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

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

Просмотр сетевых соединений с PID’ами процессов

FreeBSD

$ sockstat

Solaris

$ netstat -u

Linux

$ lsof -i

Категорії
Solaris

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

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

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

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

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

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

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

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

Узнать enviroment запущенного процесса

Linux

# strings –a /proc/<pid_of_the_process>/environ

FreeBSD

# procstat -e <pid_of_the_process>

Solaris

# pargs -e <pid_of_the_process>

Категорії
Solaris

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
Категорії
FreeBSD Solaris

[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
...
Категорії
Programming Solaris

Исходники tcpdrop под Solaris

В рассылке нашёл исходники автора Youzhong Yang. Привожу как есть, используйте на свой страх и риск.

Категорії
Solaris

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.

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