1.2. シリアルコンソールを使う理由

普通のユーザーには、シリアルコンソールよりも、 直接つながっているキーボードと画面をコンソールにしている方が、 メリットは大きいものです。 シリアルコンソールはもっと低速で、 80桁24行の画面を埋めるのにかかる時間は 1 秒にもなります。 それに普通は、 非プロポーショナルフォントの ASCII テキストしかサポートしませんし、 英語以外の言語サポートも限られています。 価格にしても、中古の PC より新品の端末の方が高額になることがあります。

それでもシリアルコンソールが役に立つ場面がいくつかあります。 それは、

遠隔地にあるコンピュータのシステム管理をする

Linux は無人サイトに配置するのに適したオペレーティングシステムです。 それに DNS サービスや DHCP サービスといった、 ネットワークインフラの核になるサービスのホスティングにも適しています。 このようなサービスは、一般に組織のどの部門でも設置します。 中には、規模が小さ過ぎたり遠距離すぎて、 情報技術スタッフを配置できないところもあるでしょう。

そういった遠隔地にあるコンピュータのシステム管理には、 普通は SSH を使います。 しかし、ソフトウェア障害を診断して修正するには、 コンソールにアクセスするしか手が無い時があります。 インストール済みのディストリビューションに対して、 危険を伴う重要なアップグレードを行なう時も、 コンソールにアクセスする必要があるかもしれません。

こういう場合は、シリアルコンソールをモデムにつなぎます。 そしてそのモデムに電話すれば、 遠隔地のコンピュータからコンソールへアクセスできるようになります。 こうすれば、どのような電話からでも、 コンソールに到達できるようになります。

コンピュータを高密度ラックにマウントする

パーソナルコンピュータをクラスターにすると、 メインフレームコンピュータよりも優れた性能が発揮できます。 それに、アプリケーションによっては、 他に負けないようなスーパーコンピュータも作れます。 クラスタリングの詳細は、 Cluster-HOWTO を参照して下さい。

こういったクラスターは、 一般に 19 インチの通信装置用ラックに組まれており、 各コンピュータのシステムユニットの厚さは、通常 1 ラック単位(つまり 1.75 インチ)(訳注: 1U)になっています。 ですから、 キーボードとモニターはラックに置かない方がいいです。 小さなブラウン管のモニターでも、16 ラック単位 (訳注: 16U)分のスペースは使い切ってしまうでしょうからね。

この場合、一見、 モニターとキーボードの切替器をつけるのが最良の解決法のように思えます。 しかしモニターへ出力する VGA 信号は微弱です。 ですから、スイッチをつけたとしても、 モニターをコンピュータのラックからあまり離して置くことはできません。

それよりも、マシンルームのような非常に費用のかかる場所に置かず、 むしろコンピュータセンターのオペレータルームで、 コンソールが監視できるようにしたいですね。 遠隔制御ができて、 光ファイバーで延長できるモニタースイッチも使えますが、 この方法は費用が高額になることがあります。

一方、RS-232 だと、標準的なケーブルでも、 長さが15メートルのものがありますし、 もっと長くするのも簡単です。 それにケーブルの引き回しも安く済みます。 ターミナルサーバーを使えば、 端末 1 台で最大 90 台のシリアルコンソールにアクセスできるようになります。

コンソールメッセージを記録する

これは二種類のまったく異なる状況で役に立ちます。

カーネルのエラーメッセージは、 表示されてもその後瞬時にコンピュータがリブートしてしまうので、 そのエラー内容は分かりません。 カーネルのプログラマはこういったことによく直面します。 このメッセージを記録しておくのに、シリアルコンソールが使えます。 他の Linux マシンをシリアル端末にしてもかまいません。

安全性を考慮して設置したマシンの中には、 セキュリティに関わるイベントをすべて、 手を加えずそのままログに記録する必要があるものがあります。 コンソールメッセージをすべて印刷するというのが、 この要件を満たす一つの方法です。 シリアルコンソールをシリアルプリンターに接続すれば、 この条件は達成できます。 [1]

組み込みソフトウェアを開発する

Linux は、 組み込みアプリケーションのオペレーティングシステムとして、 ますます使われるようになっています。 このようなコンピュータにはキーボードも画面もありません。

この組み込みコンピュータに、 ソフトウェア開発者が直接アクセスできるようする簡単な方法が、 シリアルポートを使うことです。 これはデバッグにはまことに貴重なものです。 組み込みコンピュータ用に設計されているチップセットのほとんどに シリアルポートがあるのは、まさにこのためなのです。

この RS-232 ポートは、 出荷する製品では、外部コネクタに出す必要はありませんが、 出しておいて、 アップデートするソフトウェアをダウンロードするのにもよく使います。

通信装置用保守端末にする

Linux は通信装置内のオペレーティングシステムとして、 ますます使われるようになっています。 Carrier Grade Linux コンソーシアムでは、この流れを加速し一元化したいと 思っています。

ほとんどの通信装置は、 離れた場所にあるコンピュータが遠隔管理しています。 でもサイトの技術者たち (通信業界用語では 保守要員 といいます)は、 この装置にアクセスして、設置の変更状況を調べたり、 報告された障害を調べたりする必要があります。 この保守要員が使う端末のことを 保守端末 といいます。 保守端末は通信装置の 保守インタフェース プラグに差し込んであります。 シリアルコンソールは理想的な保守インタフェースになるのです。

ミニコンピュータシステムとは違い、 IBM PC は シリアルコンソールを使うような設計にはなっていませんでした。 しかし、これでは不都合なことが二つ出てきます。

第一に、電源投入時のセルフテストメッセージと基本入出力システム (つまり BIOS)のメッセージは画面に送られ、 ユーザーの入力はキーボードから受け取るようになります。こうなると、 シリアルポートを使って BIOS を再設定するのが難しくなり、 電源投入時のセルフテストのエラーもわからなくなります。

ラックマウント サーバー 装置の製造業者数はますます増加しており、 その製造業者は自分たちの BIOS を変更して、 RS-232 ポートをオプションで使えるようにしています。 これは BIOS を設定したり、テストメッセージを受け取るためのものです。 マシン、具体的にいえばシリアルコンソールを用いて運用するマシンを 購入するつもりなら、この機能が備わっているものにしてください。 どうしてもシリアルポートから BIOS へアクセスする必要がある既存のマシンについては、 PC Weasel 2000 などの、ハードウェアによる解決方法があります。

第二に、 IBM PCRS-232 ポートは、 モデムの接続用に設計されています。 よって、 PC のシリアルポートを端末に接続する場合は、 ヌルモデムケーブルが必要になります。

Notes

[1]

Linux のバージョン 2.4 カーネルも、コンソール メッセージを Centronics または IEEE 1284-2000 の、 パラレルプリンタインタフェースに出力する機能をサポートしています。