Якщо у вас сервер, який не дозволяє через iDRAC/IPMI підсвічували диски для заміни, то ця стаття буде вам корисна. Вашій увазі пропонується декілька варіантів утиліт під різні ОС.
Якщо у вас сервер, який не дозволяє через iDRAC/IPMI підсвічували диски для заміни, то ця стаття буде вам корисна. Вашій увазі пропонується декілька варіантів утиліт під різні ОС.
Для чого взагалі ця конструкція? А для того, щоб визначити аргументи з якими запускається програма. Це буває дуже корисно. Так от, є деякі нюанси та відмінності в роботі на різних ОС.
Ось простий приклад використання:
#!/usr/sbin/dtrace -s #pragma D option quiet proc:::exec-success { printf("%s", curpsinfo->pr_psargs); }
Формат використання опцій у /etc/resolv.conf:
options option ...
Примусові запити через TCP (встановлюється флаг RES_USEVC в _res.options).
Для цього використовуємо такі опції
Нещодавно дізнався про fallback правила для файервола PF. Але, це більше залежить від конкретної ОС. Серед тих ОС які підтримують PF і з якими я маю справу лише FreeBSD і Solaris мають такий функціонал.
Що ж таке fallback rules? Це альтернативний набір правил, який буде застосований, якщо основний конфіг буде мати помилку і pf не зможе його застосувати.
Дана помилка означає, що побилася база 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
Як бути в курсі чи немає вразливостей у вашій ОС чи в пакетах? Звісно, обовʼязково бути підписаним на різні security news, але простіше користуватися відповідними інструментами, які заточені під вашу ОS/pkgs.
Це буде коротке нагадування у випадку, коли iostat показує велике навантаження на диски, але через dtrace (rwsnoop, …) ви не бачите, щоб якийсь процес так навантажував диски. Тут варіанти 2: або запущений scrub на цьому пулі або активно використовується swap, який розташований на цих дисках.
Варіанти рішення: зупинити scrub (якщо це він) або перенести swap на інший пул (якщо це можливо).
В 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
В даній статті мова йтиме саме про необхідні privileges при запуску сервісів. Для звичайного запуска можна використати ppriv .
Отже, маємо сервіс, який запускається, але в логах скаржиться на permission denied. Зрозуміло, що йому чогось не вистачає, але проблема ускладнюється тим, що це fork від мастер-процесу і він викликається по запиту. Тобто, просто так натравити ppriv не можна.
Нагадаю, що таке ToS (Type of Service) – це можливість пріоритезувати певний трафік за рахунок виставлення спеціального байта у заголовку IP пакету. DSCP – деяке розширення (або в деякому сенсі новіша версія ToS), бо має більше різних пріоритетів (64 проти 7 у ToS).