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

[ZFS] Import broken pool

Маємо наступну ситуацію:

root@solaris:~# zpool import -f -N -F 9663859789121603598 sata_pool
cannot import 'rpool' as 'sata_pool': one or more devices is currently unavailable
root@solaris:~# zpool import -f -N -F -o readonly=on 9663859789121603598 sata_pool
cannot import 'rpool' as 'sata_pool': one or more devices is currently unavailable
root@solaris:~# zpool import
    pool: rpool
      id: 9663859789121603598
   state: UNAVAIL
  status: One or more devices are missing.  There are insufficient
        replicas for the pool to continue functioning.
  action: The pool cannot be imported. Connect the missing
        device(s) and try again.
     see: http://support.oracle.com/msg/ZFS-8000-6X
    scan: resilvered 33.2G in 9m23s with 0 errors on Fri Oct  3 10:17:14 2025
  config:
 
        NAME        STATE
        root        UNAVAIL
          mirror-0  DEGRADED
            c1t1d0  ONLINE
            c1t0d0  UNAVAIL

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

Підсвітити порт/слот при заміні диску

Якщо у вас сервер, який не дозволяє через iDRAC/IPMI підсвічували диски для заміни, то ця стаття буде вам корисна. Вашій увазі пропонується декілька варіантів утиліт під різні ОС.

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

[Dtrace] curpsinfo->pr_psargs

Для чого взагалі ця конструкція? А для того, щоб визначити аргументи з якими запускається програма. Це буває дуже корисно. Так от, є деякі нюанси та відмінності в роботі на різних ОС.

Ось простий приклад використання:

#!/usr/sbin/dtrace -s
#pragma D option quiet
proc:::exec-success
{
     printf("%s", curpsinfo->pr_psargs);
}

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

resolv.conf: деякі цікаві опції

Формат використання опцій у /etc/resolv.conf:

options option ...

Примусові запити через TCP (встановлюється флаг RES_USEVC в _res.options).

Для цього використовуємо такі опції

  • usevc (FreeBSD)
  • tcp (OpenBSD)
  • usevc/use-vc (Linux), доступно з glibc 2.14
  • usevc/use-vc (Solaris), встановлюється як property config/options в сервісі network/dns/client, доступно з 11.4 SRU 66

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

[pf] Fallback правила

Нещодавно дізнався про fallback правила для файервола PF. Але, це більше залежить від конкретної ОС. Серед тих ОС які підтримують PF і з якими я маю справу лише FreeBSD і Solaris мають такий функціонал.

Що ж таке fallback rules? Це альтернативний набір правил, який буде застосований, якщо основний конфіг буде мати помилку і pf не зможе його застосувати.

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

[Solaris] di_cro_init() failed

Дана помилка означає, що побилася база CRO (інформація про диски, шассі, експандери,…). Рекомендація від oracle

# pkg fix system/fault-management
# svcadm restart svc:/system/fmd:default

не завжди допомагає. Мені – ні разу не допомогло, тому довелося шукати інший шлях.

Якщо є файл /var/fm/fmd/topo/latest/cro_db.old то копіюємо в /var/fm/fmd/topo/latest/cro_db і пробуємо.

Якщо немає, тоді робимо symlink з іменем latest із найновішого (або будь-якого іншого) UUID в папці /var/fm/fmd/topo на latest.

Якщо раптом немає жодного UUID в /var/fm/fmd/topo немає, то можна скопіювати зі схожого серверу.

В самому кінці зробити

# svcadm restart svc:/system/fmd:default

Категорії
FreeBSD Linux Misc, staff, other OpenBSD Security Solaris

Audit OS/pkgs

Як бути в курсі чи немає вразливостей у вашій ОС чи в пакетах? Звісно, обовʼязково бути підписаним на різні security news, але простіше користуватися відповідними інструментами, які заточені під вашу ОS/pkgs.

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

[Solaris] Диски навантажені, але dtrace не дає відповіді хто саме

Це буде коротке нагадування у випадку, коли iostat показує велике навантаження на диски, але через dtrace (rwsnoop, …) ви не бачите, щоб якийсь процес так навантажував диски. Тут варіанти 2: або запущений scrub на цьому пулі або активно використовується swap, який розташований на цих дисках.

Варіанти рішення: зупинити scrub (якщо це він) або перенести swap на інший пул (якщо це можливо).

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

[Solaris] SMF: кому належить процес?

В Solaris є таке поняття, як contract id (ctid). Перекласти його українською не можна, бо втрачається суть. Так ось, він повʼязує між собою процеси і служби smf.

Розглянемо це на прикладі, щоб краще зрозуміти. У нас є запущені процес, але ми не знаємо, який сервіс їх запускає. Для цього, нам треба дізнатися ctid цих процесів:

$ ps -efc -o ctid,comm,args,pid,user | grep python
1759 python3 python3 /export/home/user01/run_daemon.py --skip-origin 938206 webservd
1759 python3 python3 /export/home/user01/run_daemon.py --skip-origin 201025 webservd

А тепер знайдемо сервіс з ctid 1759:

$ svcs -o CTID,SVC | grep 1759
1759 application/pm2

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

[Solaris] Debug service privileges

В даній статті мова йтиме саме про необхідні privileges при запуску сервісів. Для звичайного запуска можна використати ppriv .

Отже, маємо сервіс, який запускається, але в логах скаржиться на permission denied. Зрозуміло, що йому чогось не вистачає, але проблема ускладнюється тим, що це fork від мастер-процесу і він викликається по запиту. Тобто, просто так натравити ppriv не можна.

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