JF Linux Kernel 3.x/2.6 Documentation: /usr/src/linux/Documentation/networking/netconsole.txt

networking/netconsole.txt

Linux カーネルメッセージをネットワーク経由でリモートホストに転送する方法 [プレインテキスト版]



started by Ingo Molnar <mingo@redhat.com>, 2001.09.17
2.6 port and netpoll api by Matt Mackall <mpm@selenic.com>, Sep 9 2003

2001/9/17 Ingo Molnar <mingo@redhat.com> により開始
2003/9/9 Matt Mackall <mpm@selenic.com> により 2.6 へ移植と netpoll API

Please send bug reports to Matt Mackall <mpm@selenic.com>

バグ報告は Matt Mackall <mpm@selenic.com> へ送って下さい。

This module logs kernel printk messages over UDP allowing debugging of
problem where disk logging fails and serial consoles are impractical.

このモジュールは、ディスクへの記録に失敗し、しかもシリアルコンソールが
役に立たないような問題をデバッグできるように、UDP 経由でカーネル 
printk メッセージを記録します。

It can be used either built-in or as a module. 

これはカーネル組み込みとモジュールのどちらでも使えます。

As a built-in,
netconsole initializes immediately after NIC cards and will bring up
the specified interface as soon as possible. 

カーネルに組み込んだ場合、netconsole は NIC カードの直後に初期化されて、
指定されたネットワークインターフェースと同時に起動します。

While this doesn't allow
capture of early kernel panics, it does capture most of the boot
process.

netconsole は初期のカーネルパニックのキャプチャには向いていませんが、
起動プロセスのほとんどをキャプチャします。

It takes a string configuration parameter "netconsole" in the
following format:

netconsole は下記のフォーマットで文字列設定パラメータ "netconsole" を
扱います。

 netconsole=[src-port]@[src-ip]/[<dev>],[tgt-port]@<tgt-ip>/[tgt-macaddr]

   where
        src-port      source for UDP packets (defaults to 6665)
        src-ip        source IP to use (interface address)
        dev           network interface (eth0)
        tgt-port      port for logging agent (6666)
        tgt-ip        IP address for logging agent
        tgt-macaddr   ethernet MAC address for logging agent (broadcast)

これらは
        src-port      UDP パケットのソースポート(デフォルトは 6665)
        src-ip        使用するソース IP アドレス(インターフェースアドレス)
        dev           ネットワークインターフェース(eth0)
        tgt-port      記録エージェント用のポート(6666)
        tgt-ip        記録エージェントの IP アドレス
        tgt-macaddr   記録エージェントのイーサネット MAC アドレス(ブロードキャスト)

Examples:

例:

 linux netconsole=4444@10.0.0.1/eth1,9353@10.0.0.2/12:34:56:78:9a:bc

  or

  または

 insmod netconsole netconsole=@/,@10.0.0.2/

Built-in netconsole starts immediately after the TCP stack is
initialized and attempts to bring up the supplied dev at the supplied
address.

カーネル組み込みの netconsole は TCP スタックが初期化された直後にスター
トし、指定されたデバイスを指定されたアドレスで起動しようと試みます。

The remote host can run either 'netcat -u -l -p <port>' or syslogd.

リモートホストは 'netcat -u -l -p <ポート>' または syslogd のどちらか
を実行できます。

WARNING: the default target ethernet setting uses the broadcast
ethernet address to send packets, which can cause increased load on
other systems on the same ethernet segment.

警告:デフォルトのターゲットイーサネット設定では、パケットの送信にブロー
ドキャストイーサネットアドレスを使用します。これは同じイーサネットセグ
メント上の他のシステムの稼働率を増加させる原因になります。

NOTE: the network device (eth1 in the above case) can run any kind
of other network traffic, netconsole is not intrusive. Netconsole
might cause slight delays in other traffic if the volume of kernel
messages is high, but should have no other impact.

注意:ネットワークデバイス (上記のケースでは eth1) はどの種類の他のネッ
トワークトラフィックでも実行でき、netconsole は邪魔しません。カーネル
のメッセージ量が多い場合、netcosnole は他のトラフィックのちょっとした
遅延を引き起こすかも知れませんが、それ以外の影響はないでしょう。

Netconsole was designed to be as instantaneous as possible, to
enable the logging of even the most critical kernel bugs. It works
from IRQ contexts as well, and does not enable interrupts while
sending packets. Due to these unique needs, configuration can not
be more automatic, and some fundamental limitations will remain:
only IP networks, UDP packets and ethernet devices are supported.

最も致命的なカーネルバグでも記録できるように、netconsole は可能な限り
即時処理を行うようデザインされています。これは IRQ コンテキストからで
も同様に動作し、パケットの送信中は割り込みを有効にしません。これらのユ
ニークな必要性の為、設定はこれ以上自動化出来ず、幾つかの基本的な制限事
項が残っています:IP ネットワーク、UDP パケット、イーサネットデバイス
のみサポートしています。

Linux カーネル 3.x/2.6 付属文書一覧へ戻る