debug
Aktivuje odesílání výstupu z linuxové konzole během zavádění po síti na vzdálený server, kde může být zachytáván do logu.
Princip
Zprávy které diskless vypisuje na lokální konzoli během zavádění jsou viditelné pouze na monitoru. A logy uložené v RAM se při rebootu zahodí. Proto se hodí logování po síti, které lze aktivovat zavedením modulu netconsole.
Obsah obrazovky se ale neposílá automaticky celý. Chceme-li zprávu poslat po síti, je potřeba ji zapsat do /dev/kmsg
, nebo využít funkci 'message' ze sdíleného skriptu _sdileno
, která udělá to samé. U víceřádkových zpráv je ovšem potřeba využít malý trik:
echo """ XXXX XXX XXX XX XX XX XX XX XX XXXX XX XX XX XX XXXX XXX XXX """ | while IFS= read -r line ; do message "${line}" ; done
A je potřeba ve skriptech ošetřit také výstup spouštěných aplikací
grep ${STORAGE} /proc/mounts >/dev/kmsg 2<&1
Parametry pro diskless konfiguraci
logserver="192.168.136.6" #remoteport="6000"
Je-li proměnná logserver zakomentovaná, posílají se zprávy na adresu 0.0.0.0 Číslo cílového portu na stroji adresovaném v proměnné logserver, se počítá z IPv4 adresy stroje. Proměnná remoteport umožňuje posunout utomaticky generovaná čísla těchto portů podle potřeby. Je-li zakomentovaná, používá se pro výpočet portu na který se budou data posílat výchozí hodnota 6000.
Chceme-li zachytávat konkrétní port, je potřeba vypočítat hodnotu pro remoteport následovně
$ port="8888" $ IPv4="192.168.136.200" $ cisloip=$(echo $IPv4 | tr . '\n' | awk '{s = s*256 + $1} END{printf ("%.0f\n", s)}' | cut -c7-10) $ remoteport=$(($port - $cisloip)) $ echo $remoteport $ 8538 $ echo $(($remoteport + $cisloip)) $ 8888
Jaké je aktuální nastavení lokální netconsole lze zjistit přes
# mount -t configfs none /pripojny_bod
A také ho lze vypnout
Verze
MD5SUM | Velikost kB | Datum vytvoření | |
---|---|---|---|
7a60226f06cf16f0ba6ff7f626120077 | 1586 | 2024-01-12 | první verze |