Red Hat Enterprise MRG 2 Realtime インストールガイド

Red Hat Enterprise MRG 2
Realtime インストールガイド
Red Hat Enterprise MRG Realtime コンポーネントに関するインストール
情報
エディッション 3
Lana Brindley
Alison Young
Cheryn Tan
Red Hat Enterprise MRG 2 Realtime インストールガイド
Red Hat Enterprise MRG Realtime コンポーネントに関するインストール
情報
エディッション 3
Lana Brindley
Red Hat Engineering Co ntent Services
Aliso n Yo ung
Red Hat Engineering Co ntent Services
Cheryn Tan
Red Hat Engineering Co ntent Services
[email protected] m
法律上の通知
Copyright © 2012 Red Hat, Inc.
T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. If you distribute this document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be
removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux ® is the registered trademark of Linus T orvalds in the United States and other countries.
Java ® is a registered trademark of Oracle and/or its affiliates.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or
endorsed by the official Joyent Node.js open source or commercial project.
T he OpenStack ® Word Mark and OpenStack Logo are either registered trademarks/service marks or
trademarks/service marks of the OpenStack Foundation, in the United States and other countries and
are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or
sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
概要
本ガイドは、Red Hat Enterprise MRG 分散コンピューティングプラットフォームの MRG Realtime コン
ポーネントをダウンロードおよびインストールする方法について説明しています。MRG Realtime の
チューニングについての詳細は MRG Realtime チューニングガイド を参照してください。
目次
目次
.前書き
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . .
1. 本書の表記規則
3
1.1. 書体の表記規則
3
1.2. 引用文の表記規則
5
1.3. 注記および警告
5
2. フィードバックのお願い
6
. . .1章
第
. . . .レイテンシを最適化するためになぜ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MRG
. . . . . .Realtime
. . . . . . . . . を使用するのか
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . . . . . . . . .
. . .2章
第
. . . .ダウンロード
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. . . . . . . . . .
2.1. MRG Realtime カーネルの種類
9
2.2. Yum を使用した MRG Realtime のインストール
10
2.3. ディスクレスブートを使用した MRG Realtime のインストール
11
2.4. 利用可能なパッケージ — RPM
13
2.5. インストール後の手順
15
. . .3章
第
. . . MRG
. . . . . .Realtime
. . . . . . . . . カーネルチューニング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
............
. . .4.章
第
. . .その他の情報
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
............
4.1. バグの報告
19
4.2. 関連資料
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
改訂履歴
............
1
Red Hat Enterprise MRG 2 Realtime インストールガイド
2
前書き
前書き
Red Hat Enterprise MRG
このマニュアルには、 Red Hat Enterprise MRG の MRG Realtime コンポーネントのインストールと
チューニングに関する基本情報が記載されています。 Red Hat Enterprise MRG は以下の 3 つのコンポー
ネントから構成される高パフォーマンスな分散コンピューティングプラットフォームです。
1. Messaging — Advanced Message Queuing Protocol (AMQP) 標準を使用した、 クロスプラット
フォームで高パフォーマンスかつ信頼性が高いメッセージング
2. Realtime — マイクロ秒のレイテンシが必要なアプリケーション向けの、 安定した低レイテンシお
よび予測可能な応答時間
3. Grid — 分散 HT C (High T hroughput) および HPC (High Performance Computing)
Red Hat Enterprise MRG のすべての 3 つのコンポーネントは、 プラットフォームの一部として使用する
よう設計されていますが、 個別に使用することもできます。
MRG Realtime
多くの産業 (特に金融業界と通信業界) および組織では、非常に高いパフォーマンスのコンピューティング
が必要であり、低くて予測可能なレイテンシが必要になることがあります。 レイテンシ、つまり応答時間
はイベントとシステム応答との間の時間として定義され、通常マイクロ秒 (μs) 単位で測定されます。
Linux 環境で動作するほとんどの汎用アプリケーションでは、基本的なパフォーマンスチューニングを行
うことによりレイレンシは十分に改善されます。レイテンシが低いだけでなくその責任の所在が明確で予
測可能である必要がある業界のために、Red Hat はこれを提供する「ドロップイン」カーネルを開発しま
した。MRG Realtime は Red Hat Enterprise MRG の一部として配布され、Red Hat Enterprise Linux 6 と
のシームレスな統合を提供します。MRG Realtime により、クライアントは組織内でレイテンシ時間を測
定、設定、記録できるようになります。
1. 本 書 の 表 記 規 則
本ガイドでは、一部の単語や語句を強調して、特定の情報に対する読者の注意を促すために、以下のよう
な表記規則を採用しています。
本ガイドの PDF および紙書籍版では、Liberation フォントセットの書体を使用しています。また、
Liberation フォントセットがご使用のシステムにインストールされている場合には、HT ML 版もこの書体
で表示されます。インストールされていない場合には、別の対応する書体で表示されます。なお、Red
Hat Enterprise Linux 5 以降のバージョンでは、Liberation フォントセットがデフォルトでインストールさ
れる点に注意してください。
1.1. 書体の表記規則
本ガイドでは、特定の単語や語句に対する注意を促すために、4 つの書体表記規則を採用しています。こ
れらの表記規則および適用される状況は、以下のとおりです。
太字の等幅フォント
シェルコマンド、ファイル名、パスなど、システムへの入力を強調するために使用します。また、キー名
やキーの組み合わせを強調するのにも使用します。以下が例となります。
作業ディレクトリ内の m y_next_bestselling_novel というファイルの内容を表示する
には、シェルプロンプトで cat m y_next_bestselling_novel というコマンドを入力し
て Enter キーを押し、そのコマンドを実行します。
上記の例には、ファイル名、シェルコマンド、キー名が含まれており、すべて太字の等幅フォントで表示
3
Red Hat Enterprise MRG 2 Realtime インストールガイド
されていますが、文脈で区別することができます。
キーの組み合わせは、プラス記号 (+) で各キーがつながれているので、個別のキーと区別することができ
ます。以下が例となります。
Enter を押してコマンドを実行します。
Ctrl+Alt+F2 を押して仮想ターミナルに切り替えます。
第 1 の例では、押すべき特定のキー名が強調されています。第 2 の例では、3 つのキーを同時に押す、
キーの組み合わせが強調されています。
ソースコードを記載する場合、その段落で言及されるクラス名、メソッド、関数、変数名、戻り値は上記
のように 太字の等幅フォント で表示されます。以下が例となります。
ファイル関連のクラスには、filesystem (ファイルシステム)、file (ファイル)、dir
(ディレクトリ) などがあります。各クラスにそれぞれ独自のパーミッションセットが関連付
けられています。
太字の可変幅フォント
この書体は、アプリケーション名、ダイアログボックスのテキスト、ラベル付きボタン、チェックボック
ス/ラジオボタンのラベル、メニュータイトル、サブメニュータイトルなど、システムで表示される単語や
語句であることを示します。以下が例となります。
メインメニューバーから システム → 設定 → マウス の順で選択し、マウスの設定 を起動
します。全般 タブで 左利き のラジオボタンを選択して 閉じる をクリックし、マウスの主
ボタンを左から右へ切り替えます (左利きのユーザーが使用するのに適切な設定に変更しま
す)。
gedit ファイルに特殊文字を入力するには、メインのメニューバーから アプリケーション
→ アクセサリ → 文字マップ の順に選択します。次に 文字マップ のメニューバーから 検
索 → 検索 … の順に選択して 検索 フィールドに文字名を入力し、次を検索 をクリックしま
す。検索対象の文字が 文字テーブル に強調表示されます。その文字をダブルクリックして
コピーする文字列 のフィールドに表示されたら、コピー ボタンをクリックします。この後
に編集中のドキュメントに戻り、gedit のメニューバーから 編集 → 貼り付け の順で選択し
ます。
上記のテキストには、アプリケーション名、システム全体のメニュー名と項目、アプリケーション固有の
メニュー名、GUI インターフェースで使用されているボタンおよびテキストが含まれており、これらはす
べて、太字の可変幅フォントで表示されていますが、文脈で区別することができます。
太字斜体の等幅フォント または 太字斜体の可変幅フォント
太字の等幅フォントおよび太字の可変幅フォントに斜体を使用した場合には、いずれも置き換え可能な可
変テキストであることを意味します。斜体は、記載されている通りには入力しないテキスト、あるいは状
況によって変化するテキストを示します。以下が例となります。
ssh を使用してリモートマシンに接続するには、シェルプロンプトで ssh
username@ domain.name と入力します。リモートマシンが exam ple.com で、そのマシン
上のユーザー名が john である場合には、ssh john@ exam ple.com と入力してください。
m ount -o rem ount file-system のコマンドは、指定したファイルシステムを再マウン
トします。たとえば、/hom e ファイルシステムを再マウントするコマンドは m ount -o
rem ount /hom e となります。
4
前書き
現在インストール済みのパッケージのバージョンを確認するには、rpm -q package のコマ
ンドを使用します。その結果、次のような出力が返されます: package-version-release
ユーザー名、ドメイン名、ファイルシステム、パッケージ、バージョン、およびリリースが太字のイタ
リック体で表示されている点に注意してください。これらの語句はプレースホルダーで、コマンドを発行
する際に入力するテキストまたはシステムによって表示されるテキストのいずれかです。
斜体は、著作物のタイトルを表すという標準的な用途の他に、重要な用語の初出時にも使用されます。以
下が例となります。
Publican は DocBook の出版システムです。
1.2. 引用文の表記規則
端末の出力とソースコードは、周囲のテキストとは視覚的に区切られて表示されます。
端末に送信される出力は、ローマン体の等幅フォント を使用して以下のように表示されます。
books
books_tests
Desktop
Desktop1
documentation
downloads
drafts
images
mss
notes
photos
scripts
stuff
svgs
svn
ソースコードの表示にも ローマン体の等幅フォント が使用されますが、以下のような構文強調表示が追
加されます。
static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
struct kvm_assigned_pci_dev *assigned_dev)
{
int r = 0;
struct kvm_assigned_dev_kernel *match;
mutex_lock(&kvm->lock);
match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
assigned_dev->assigned_dev_id);
if (!match) {
printk(KERN_INFO "%s: device hasn't been assigned before, "
"so cannot be deassigned\n", __func__);
r = -EINVAL;
goto out;
}
kvm_deassign_device(kvm, match);
kvm_free_assigned_device(kvm, match);
out:
mutex_unlock(&kvm->lock);
return r;
}
1.3. 注記および警告
本ガイドでは、見落としがちな情報に注意を促すために、次にあげる 3 つの視覚的スタイルを使用してい
ます。
5
Red Hat Enterprise MRG 2 Realtime インストールガイド
注記
注記には、対象のタスクに関するヒント、ショートカット、その他のアプローチなどを記載してい
ます。注記を無視しても、悪影響はありませんが、作業を効率的に行うためのコツを見逃してしま
う可能性があります。
重要
重要の欄には、現行セッションのみに適用される設定の変更や、更新を適用するのに再起動が必要
なサービスなど、見落としがちな情報を記載しています。「重要」と記載された事項を無視して
も、データ損失などには至りませんが、作業が思ったようにスムーズに進まなくなる可能性があり
ます。
警告
警告は、無視しないでください。警告を無視すると、データ損失が発生する可能性が非常に高くな
ります。
2. フ ィ ー ド バ ッ ク の お 願 い
MRG Realtime Installation Guide でタイプミスを見つけた場合や、このマニュアルの改善案をお持ちの場
合は、是非ご連絡ください。Bugzilla (http://bugzilla.redhat.com/) で製品 Red Hat Enterprise MRG と
バージョン 2.2 に対するレポートを作成してください。
バグ報告を提出される場合は、ドキュメントの識別子となる Realtime_Installation_Guide も忘れずに添え
てください。
本ガイドに対する改善案をお持ちの場合は、 できるだけ詳細にご報告頂けるようお願いします。 エラー
を発見された場合には、 セクション番号および前後の文章も報告頂けると迅速な対応が可能になります。
6
第1章 レイテンシを最適化するためになぜ MRG Realtime を使用するのか
第 1章 レイテンシを最適化するためになぜ MRG Realtime を使
用するのか
MRG Realtime カーネルのパフォーマンス上の利点を評価する場合は、チューニングの重要性と適切なパ
フォーマンスを確立する方法の両方を理解することが重要です。
MRG Realtime は、決定論の要件が極めて高いアプリケーション用に十分にチューニングされたシステム
で使用するよう設計されています。カーネルシステムチューニングにより、決定論が大幅に改善されま
す。たとえば、多くのワークロードでは、システムチューニングを入念に行うことにより、結果の整合性
が約 90% 向上します。このため、通常は MRG Realtime を使用する前にまず標準の Red Hat Enterprise
Linux の提示されたシステムチューニングを実行して目的に一致するかどうかを確認することを推奨しま
す。
標準的な Red Hat Enterprise Linux の場合と同様に MRG Realtime カーネルを使用する場合はシステム
チューニングが重要です。 実際には、 単にチューニングされていないシステムで標準的な Red Hat
Enterprise Linux を稼働し、 MRG Realtime カーネルを Red Hat Enterprise Linux リリースの一部として
提供されたストックカーネルに置き換えた場合、 利点には気づかないことがほとんです。 標準的な
チューニングにより、決定論は 90% 向上します。 MRG Realtime カーネルは、 ほとんどの大きな負荷で
要求される残りの 10% の決定論を提供します。
適切なパフォーマンスを確立する際は、 MRG Realtime カーネルが万能でないことに注意してください。
MRG Realtime カーネルの目的は、 整合的で低レイテンシ決定論により予測可能な応答時間を提供するこ
とです。 MRG Realtime カーネルには追加のカーネルオーバーヘッドが関連付けられています。 この主な
理由は、 別々にスケジュールされたスレッドでハードウェア中断を処理するためです。 一部の負荷で
オーバーヘッドが増加すると、 スループット全体が低下します。 どれぐらい低下するかは、 負荷に依存
します (0% 〜 30%)。 ただし、 これは決定論のコストです。
カーネルレイテンシ要件がミリ秒 (ms) の範囲である通常の負荷の場合は、標準的な Red Hat Enterprise
Linux 6 カーネルで十分です。中断処理やプロセススケジューリングなどのコアカーネル機能に対する厳
密な低レイテンシ決定論の要件がマイクロ秒 (μs) の範囲である負荷の場合は、MRG Realtime カーネルを
使用します。
図 1.1 標準的なカーネルシステムチューニングに対して MRG Realtime を使用する利点
7
Red Hat Enterprise MRG 2 Realtime インストールガイド
上記は、Red Hat Enterprise Linux 6 および MRG Realtime カーネルをそれぞれ使用した無数のサンプル
マシンを比較したグラフです。グラフ内の赤い点は、チューニングされた Red Hat Enterprise Linux 6
カーネルを実行しているマシンのシステム応答時間 (ミリ秒単位) を表しています。緑色の点は、チューニ
ングされた MRG Realtime カーネルを実行しているマシンのシステム応答時間を示しています。このグラ
フから、グラフ全体に点が散らばり変動が大きい Red Hat Enterprise Linux 6 と比べて、MRG Realtime
カーネルの応答時間が非常に安定していることは明らかです。
8
第2章 ダウンロード
第 2章 ダウンロード
システム要件
MRG Realtime カーネルをインストールするための前提条件は、ユーザーまたは管理者が Red Hat
Enterprise Linux 6 の新規インストールを最初に実行することです。ただし、以下の点に注意してくださ
い。
システムへの Red Hat Enterprise Linux 6 の完全なインストールが必要です。
Red Hat Enterprise Linux 5 は MRG Realtime との使用にはサポートされていません。
オペレーティングシステムを初めてインストールする場合は、ご使用のアプリケーション環境のニー
ズを満たすパッケージセットを選択してください。初めてのインストールでは、 MRG Realtime 固有
のパッケージは必要ありません。
Red Hat Enterprise Linux 6 をインストールしたら、「Yum を使用した MRG Realtime のインストール」
で示された手順に従って、別の yum リポジトリから MRG Realtime 固有のパッケージを追加します。
MRG Realtime と標準カーネルの違い
MRG Realtime は標準的な Red Hat Enterprise Linux 6 カーネルとは大きく異なります。
サードパーティのカーネルモジュールは、標準的な Red Hat Enterprise Linux 6 と互換性がありませ
ん。
カーネルモジュールは、本質的にビルドの対象となるカーネルに固有です。MRG Realtime カーネ
ルは標準的な Red Hat Enterprise Linux 6 カーネルと大きく異なるため、カーネルモジュールは互
換性がありません。つまり、Red Hat Enterprise Linux 6 からサードパーティのドライバーモ
ジュールを取得して、そのまま MRG Realtime で使用することはできません。
現在 MRG Realtime のビルドを提供していない、標準の Red Hat Enterprise Linux 6 用に出荷され
ている一部のサードパーティ製ドライバーの例を以下に示します。
EMC Powerpath
NVidia グラフィック
Qlogic 製の高度なストレージアダプター設定ユーティリティ
重要
ユーザースペース syscall インターフェースは、標準的な Red Hat Enterprise Linux 6 と互換性
があります。これらの互換性の制限は、Red Hat によって提供されていないカーネルモジュールに
のみ 関連しています。
2.1. MRG Realtime カ ー ネ ル の 種 類
さまざまな種類のカーネルが提供されています。 各種のカーネルは単にさまざまな設定オプションのサ
ポートとともにコンパイルされた MRG Realtime カーネルの 1 つのバージョンです。 この場合、 各種の
カーネルは異なる診断機能を提供します。一連のカーネルが x86_64 (64 ビット) システムに提供されま
す。MRG 2.0 以降は、i686 (32 ビット) カーネルはサポートされなくなりました。
主要なデプロイメント MRG Realtime カーネルは、 以下で Production として示されています。 また、 さ
らに診断的なコードがコンパイルされた複数のデバッグカーネルが存在します。 この理由は、 デバッグ
コードの量が増えると、 オーバーヘッドも増えるからです。 kernel-rt-trace のオーバーヘッドは
kernel-rt-debug よりも小さくなります。
9
Red Hat Enterprise MRG 2 Realtime インストールガイド
最後に、Vanilla カーネルには、MRG Realtime 機能は含まれていません。この機能を使用すると、バ
グが MRG Realtime 機能に含まれているかどうか、またはバグがベースラインカーネルに固有のバグであ
るかどうかを簡単に区別できます。詳細については、「バグの報告」 を参照してください。
表 2.1 AMD64 および Intel 64 システム用 MRG Realtime カーネル
カーネルの種類
用途
備考
x86_64 (kernel-rt)
Production - 標準的な 64 ビット
本番稼働カーネル
x86_64 tracing (kernel-rttracing)
Debugging - 64 ビットトレース
カーネル
有効化されたレイテンシトレー
サー - レイテンシホットスポッ
トを見つけるために使用されま
す。
x86_64 debug (kernel-rtdebug)
Debugging - 64 ビットデバッグ
カーネル
レイテンシトレーサーが無効化
されたデバッグオプションが含
まれます。 MRG Realtime カー
ネルをデバッグするために使用
されます。
x86_64 vanilla (kernel-rtvanilla)
Debugging - 64 ビットベース
カーネル
MRG Realtime 機能 (比較に使用
される) なし
2.2. Yum を 使 用 し た MRG Realtime の イ ン ス ト ー ル
MRG Realtime をインストールするには、使用しているシステムを Red Hat Network で登録する必要があ
ります。以下の表は、MRG Realtime について Red Hat Network で利用可能な Red Hat Enterprise MRG
チャネルを一覧表示しています。
表 2.2 Red Hat Network で利用可能な Red Hat Enterprise MRG Realtime チャネル
チャネル名
オペレーティングシステム
アーキテクチャー
Red Hat Enterprise MRG
Realtime
RHEL-6 Server
32 ビット、64 ビット
重要
Red Hat Enterprise MRG をインストールする前に、 ハードウェアとプラットフォームがサポート
されていることを確認します。 完全なリストは Red Hat Enterprise MRG Supported Hardware
Page で参照できます。
手順 2.1 MRG Realtime コンポーネントのインストール
1. MRG Realtime グループをインストールするには次のように yum コマンドを使用します。
# yum groupinstall "MRG Realtime"
MRG Realtim e グループにより次の 5 つのパッケージがインストールされます。
rt-setup により、 MRG Realtime が必要な基本的な環境が設定されます。
kernel-rt は標準的な MRG Realtime カーネルパッケージです。
10
第2章 ダウンロード
rtctl は、さまざまなカーネルスレッドのプロパティを設定する起動スクリプトです。
rtcheck は、稼働しているシステムの MRG Realtime 機能をテストするプログラムです。
tuna は、 使用している MRG Realtime アプリケーションを管理するために使用するグラフィ
カルツールです。 T una の実行については、MRG Realtime チューニングガイド を参照してく
ださい。
2. rpm -ql コマンドを使用すると、 インストール場所と、コンポーネントが正常にインストールさ
れたことを確認できます。
# rpm -ql rt-setup
/etc/security/limits.d/realtime.conf
# rpm -ql kernel-rt
注記
MRG Realtime カーネルのインストールに問題がありヘルプが必要な場合は、「関連資料」 を参照
してください。
2.3. デ ィ ス ク レ ス ブ ー ト を 使 用 し た MRG Realtime の イ ン ス ト ー
ル
ディスクレスブートを使用すると、システム管理者は同数のローカルストレージデバイスを設定しなくて
も多くの計算ノードをデプロイすることができます。このセクションは、PXE ブートクライアントにより
マウントされた NFS ファイルシステムを使用してリモートのディスクレスシステムを設定する手順を説
明しています。すでに MRG Realtime をインストールした環境で以下の手順を実行してください。
手順 2.2 MRG Realtime 用のディスクレスブートの設定
1. PXE でブートする基本的なリモートディスクレスシステムを設定するために必要な以下のパッケー
ジをインストールします。
# yum install tftp-server xinetd dhcp syslinux dracut-network -y
重要
NFS および DHCP サービスが適切に設定、起動していることを確認してください。
system-config-firewall により事前定義されたファイアウォールルールは、tftp トラ
フィックをブロックして、クライアントのブートを妨げる場合があります。サーバー上
でファイアウォールルールを調節する必要があります。
2. tftp サービスを有効にして、ネットワーク経由の PXE ブートを可能にします。そのために
は、/etc/xinetd.d/tftp ファイルを編集して、Disabled パラメーターを No に設定します。
3. /usr/share/syslinux/pxelinux.0 を /var/lib/tftpboot の tftp root ディレクトリにコ
ピーします。
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4. tftp root ディレクトリ内に pxelinux.cfg ディレクトリを作成します。
11
Red Hat Enterprise MRG 2 Realtime インストールガイド
# mkdir -p /var/lib/tftpboot/pxelinux.cfg/
5. tftp トラフィックを許可するためのファイアウォールルールを設定します。テキストエディターを
使用して、次の行を /etc/hosts.allow に追加してください。
tftpd: .hostname.com
.hostname.com をインストールを行う対象のクライアントのドメイン名に置き換えます。ファイ
アウォールルールの詳細については、hosts_access の man ページを参照してください。
6. DHCP サーバーで PXE ブートを有効にするには、以下の設定を /etc/dhcp/dhcpd.conf に追
加します。
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server server-ip;
filename "pxelinux.0";
}
server-ip を tftp および DHCP サービスが存在するホストマシンの IP アドレスに置き換えま
す。
7. エクスポートされるファイルシステムの root ディレクトリ (ネットワークのディスクレスクライア
ントにより使用) は NFS 経由で共有されます。root ディレクトリをエクスポートするように NFS
サービスを設定するには、そのディレクトリを以下の形式で /etc/exports ファイルに追加しま
す。
/exported/root/directory hostname.com(rw,sync)
例の設定では、/export/root/directory のディレクトリを read-write パーミッションがつい
た状態で hostname.com ネットワーク上の全ホストにエクスポートします。sync オプションによ
り、以前の要求によって行われた変更がディスクに書き込まれるまで NFS サーバーは要求に応答し
ないようにできます。
8. ディスクレスクライアントを完全に対応させるには、MRG Realtime の完全なインストールが root
ディレクトリに含まれているようにしてください。これを rsync で実行中のシステムと同期できま
す。以下を実行してください。
# rsync -a -e ssh --exclude='/proc/*' --exclude='/sys/*' hostname.com:/
/exported/root/directory
hostname.com を rsync で同期する実行しているシステムのホスト名に置き換えま
す。/exported/root/directory はエクスポートされるファイルシステムへのパスです。
9. 以下の設定をエクスポートされるファイルシステムの /etc/fstab ファイルに追加します。
none /tmp tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
10. ディスクレスクライアントが使用するカーネル (vm linuz-rt-kernel-version) を選択し
て、tftp boot ディレクトリにコピーします。
12
第2章 ダウンロード
# cp /boot/vmlinuz-rt-kernel-version /var/lib/tftpboot/
11. initram fs ディスクイメージ (initram fs-rt-kernel-version.im g) をネットワークサポー
トで作成して、tftp boot ディレクトリにコピーします。
# dracut initramfs-rt-kernel-version.img rt-kernel-version
# cp initramfs-rt-kernel-version.img /var/lib/tftpboot/
12. /var/lib/tftpboot 内で initram fs ディスクイメージと Realtime カーネルを使用するよう、
デフォルトのブート設定を編集します。この設定は、ディスクレスクライアントがエクスポートさ
れるファイルシステム (/exported/root/directory) を読み取りおよび書き込みのパーミッ
ションでマウントするよう指示します。これを行うには、次のようにして
/var/lib/tftpboot/pxelinux.cfg/default を設定します。
default realtime
label realtime
kernel vmlinuz-rt-kernel-version
append initrd=initramfs-rt-kernel-version.img root=nfs:serverip:/exported/root/directory rw
server-ip を エクスポートされる NFS root パーティションが存在するホストマシンの IP アドレ
スに置き換えます。
これで、NFS 共有がディスクレスクライアントにエクスポートする準備が整いました。ディスクレスクラ
イアントは MRG Realtime を PXE によるネットワークでブートできるようになりました。
注記
リモートのディスクレスシステムを設定する詳細については、Red Hat Enterprise Linux 6 スト
レージ管理ガイド を参照してください。
2.4. 利 用 可 能 な パ ッ ケ ー ジ — RPM
このセクションでは、 MRG Realtime 用リポジトリで利用可能な RPM パッケージを示します。
MRG Realtime 固有かどうか の列は、RPM が標準的な Red Hat Enterprise Linux 6 メンテナンススト
リームと異なるかどうか、あるいは RPM が標準的なカーネルに適用不可能かどうかを示しています。こ
の列に「いいえ」とある場合は、RPM が Red Hat Enterprise Linux 6 でも同様に実行することを意味しま
す。
必須かどうか の列は、MRG Realtime が正しく動作するためにパッケージが必要かどうかを示していま
す。この列に「いいえ」とある場合は、その使用がオプションであることを意味します。
13
Red Hat Enterprise MRG 2 Realtime インストールガイド
表 2.3 基本的な MRG Realtime カーネルパッケージ
RPM パッケージ名
説明
MRG Realtime 固有か
どうか
必須かどうか
kernel-rt
低レイテンシおよびプ
リエンプション機能
はい
はい
rtctl
カーネルスレッドのデ
フォルトの MRG
Realtime スケジュール
優先度を設定するため
に使用するシステム起
動スクリプト
はい
はい
kernel-rtfirm ware
一部のハードウェアド
ライバーにより有効に
するためにロードされ
るファームウェアファ
イル
はい
はい
kernel-rt-doc
MRG Realtime のドキュ
メント
はい
通知
以下のパッケージには、 MRG Realtime で使用するテストプログラムが含まれます。
表 2.4 MRG Realtime テストパッケージ
RPM パッケージ名
説明
kernel-rt-devel
カーネル開発用のヘッダとライブラリ
kernel-rt-trace
トレーシング機能がコンパイルされれた MRG
Realtime カーネル
kernel-rt-trace-devel
トレースカーネルの開発用のヘッダとライブラリ
kernel-rt-debug
デバッグ機能がコンパイルされた MRG Realtime
カーネル (低速)
kernel-rt-debug-devel
デバッグカーネルの開発用のヘッダとライブラリ
kernel-rt-vanilla
比較用の基本カーネル
kernel-rt-vanilla-devel
vanilla カーネルの開発用のヘッダとライブラリ
rt-tests
システムのレイテンシを測定し、mutex の優先度
継承が正常に機能していることを証明するための
ユーティリティ
rtcheck
実行しているシステムの MRG Realtime 機能をテ
ストするプログラム
perf
Linux カーネル用のパフォーマンスモニタリング
以下の一連のパッケージは、 oprofile、 system tap、 カーネルクラッシュダンプを分析するクラッ
シュユーティリティでの使用のために提供されます。 デバッグパッケージは、 複数のシンボルテーブル
から構成され、 規模が非常に大きくなります。 このため、 これらのパッケージは、 他の MRG Realtime
パッケージとは別々に配布されます。
これらのパッケージは、Red Hat Network の Red Hat Enterprise MRG Realtim e Debuginfo
チャネルからダウンロードできます。
14
第2章 ダウンロード
表 2.5 MRG Realtime デバッグパッケージ
RPM パッケージ名
説明
kernel-rt-debuginfo
プロファイリングおよびデバッグで使用す
る、oprofile や system tap などのシンボル
kernel-rt-trace-debuginfo
プロファイリングおよびトレーシングのシンボル
kernel-rt-debug-debuginfo
プロファイリングおよびトレーシングのシンボル
kernel-rt-vanilla-debuginfo
プロファイリングおよびトレーシングのシンボル
kernel-rt-debuginfo-com m on
その他の debuginfo パッケージ間で共有される共
通の debuginfo ファイル
重要
MRG Realtime を実行するにあたり、表2.4「MRG Realtime テストパッケージ」 と 表2.5「MRG
Realtime デバッグパッケージ」 のパッケージは必須ではありません。これらのパッケージは、診
断ツールとしてのみ提供されてるので、通常には実行しないでください。さもなければ、パッケー
ジが影響を受け、MRG Realtime カーネルの使用によって得られる利点がほとんどなくなります。
2.5. イ ン ス ト ー ル 後 の 手 順
インストールプロセス中に MRG Realtime カーネルは、 デフォルトのブートカーネルとして自動的に指定
されません。 カーネル代替のインストール後は、 リブートして GRUB メニューで MRG Realtime カーネ
ルを手動で選択することが推奨されます。
手順 2.3 MRG Realtime をデフォルトカーネルとして実行
1. MRG Realtime カーネルがシステムで完全に稼働していることを確認したら、grub.conf を修正
してデフォルトのブートカーネルに設定できます。grub.conf ファイルは
/boot/grub/grub.conf に存在します。任意のテキストエディターを使用してそのファイルを
参照します。その内容は以下のようになるはずです。
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (realtime) (kernel-rtversion)
root (hd0,0)
kernel /vmlinuz-kernel-rtversion ro root=/dev/Root rhgb quiet
initrd /initrd-kernel-rtversion.img
title Red Hat Enterprise Linux Server (kernel-version)
root (hd0,0)
kernel /vmlinuz-kernel-version ro root=/dev/Root rhgb quiet
initrd /initrd-kernel-version.img
2. 上記の例では、default=1 は使用されるデフォルトカーネルが標準の Red Hat Enterprise Linux
カーネルであることを示しています。MRG Realtime カーネルを使用するには、以下のように
default の値を 0 に変更して、変更を保存します。
15
Red Hat Enterprise MRG 2 Realtime インストールガイド
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (realtime) (kernel-rtversion)
root (hd0,0)
kernel /vmlinuz-kernel-rtversion ro root=/dev/Root rhgb quiet
initrd /initrd-kernel-rtversion.img
title Red Hat Enterprise Linux Server (kernel-version)
root (hd0,0)
kernel /vmlinuz-kernel-version ro root=/dev/Root rhgb quiet
initrd /initrd-kernel-version.img
3. また、/etc/sysconfig/kernel の編集も必要です。これにより、システムアップグレードを
行っても grub ファイルに行った変更がデフォルトのままになります。このファイルを編集するた
めに、テキストエディターでファイルを開きます。内容は以下のようになるはずです。
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel
4. DEFAULT KERNEL= パラメーターを kernel-rt に変更するだけです。
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel-rt
5. これで、シェルプロンプトで root ユーザーとして unam e コマンドを実行すると、システムが
MRG Realtime カーネルを実行していることを確認できます。RT が表示されているか出力を確認し
てください。表示されている場合は MRG Realtime カーネルは実行しています。
[root@mrg-rt-server ~]# uname -a
Linux mrg-rt-server.redhat.com kernel.number-rtversion.number.el6rt.x86_64
#1 SMP PREEMPT RT Tue May 10 00:49:01 EDT 2011 x86_64 x86_64 x86_64
GNU/Linux
注記
kexec/kdum p を有効にすることによりクラッシュダンプ情報を提供するよう MRG Realtime を設
定できます。カーネルクラッシュ情報を取得するようシステムを設定する方法については、MRG
Realtime チューニングガイド を参照してください。
16
第3章 MRG Realtime カーネルチューニング
第 3章 MRG Realtime カーネルチューニング
MRG Realtime カーネルは、Red Hat Enterprise Linux 6 で利用できない数多くのパフォーマンスチューニ
ングパラメーターを提供します。最適なローレイテンシ決定論を実現するには、MRG Realtime 固有のシ
ステムチューニングを実行する必要があります。
注記
チューニングに関する包括的な情報については、MRG Realtime チューニングガイド を参照してく
ださい。
T una
MRG Realtime カーネルで提供される主要な診断機能は T una です。T una は、スレッド (スケジュールポ
リシー、スケジューラー優先度、およびプロセッサーアフィニティ) と割り込み (プロセッサーアフィニ
ティ) の属性を変更するために使用するコマンドラインツールとグラフィカルインターフェースの両方を
提供します。このツールは、実行中のシステムで使用されるように設計されており、変更内容は直ちに反
映されます。これにより、変更後直ちにアプリケーション固有の測定ツールを使用してシステムパフォー
マンスを確認および分析することができます。
診断ツール
MRG Realtime カーネルは、レイテンシのテストとレポートを行うための診断ツールをいくつか提供して
います。
latency tracer は、最も長く実行されている非プリエンプティブなカーネルコードパスの特定に使用
する、ピーク検出ツールです。これは、非決定論パフォーマンスの結果がカーネルまたはユーザースペー
スコンポーネントに影響されるかどうかを識別するのに特に有用です。このツールは、お客様のデプロイ
メント環境で、遅延がカーネルにあるか、アプリケーションにあるかを区別するのに最も役立ちます。
ftrace ユーティリティは、ユーザースペースの外部で発生するレイテンシおよびパフォーマンス問題の
分析とデバッグに使用します。このユーティリティには様々なオプションがあり、数多くの異なる方法で
使用することができます。コンテキストスイッチの追跡、優先順位の高いタスクの起動所要時間の測定、
割り込みが無効な時間の測定、一定の時間内に実行されるすべてのカーネル機能の一覧表示に使用するこ
とができます。
直接メモリアクセス (rm em .ko を使用 )
MRG Realtime には、rm em .ko という名前のカーネルモジュールが含まれます。このモジュールはデ
フォルトではロードされず、リアルタイム Java 準拠テスト(特に、Real T ime Specification for Java
(RT SJ) の準拠スイート内の T echnology Compatibility Kit (T CK) テスト)に対応する目的のみに提供され
ます。この準拠テストの RT SJ 要件として、Java プログラムが物理メモリに直接アクセスできる必要が
あります。この /dev/rm em 機能により、ユーザーアプリケーションで任意のメモリ領域をマップできる
ようになります。
この機能は、 直接的な root システム管理者のアクションの結果によってのみ有効にできます。 間違った
使用を防ぐために、 grub.conf ファイルで unprotected_address_space=1 がモジュールのオプショ
ンとして指定されていない限りこの機能は無効になります。 rm em .ko カーネルモジュールが明示的に
ロードされた場合、 カーネルには tainted フラグが設定されます。 この場合は、 Red Hat Global
Support によって rm em .ko なしで問題を再現するよう要求されることがあります。
17
Red Hat Enterprise MRG 2 Realtime インストールガイド
警告
rm em .ko を有効にすると、アプリケーションが物理メモリに直接アクセスできるようになりま
す。通常の多くのセキュリティメカニズムは省略され、 システムは悪意を持ったユーザーからの攻
撃を受けやすくなります。このため、本機能は RT SJ 証明書のために のみ 使用することが強く推
奨されます。 製品のデプロイには rm em .ko モジュールを 使用しないでください。
この機能には関連する別のブートオプションが存在します。このブートオプションを使用すると、今後の
Java ランタイムでの使用のためにブート時に連続的な物理カーネルメモリを予約できます。このメモリ
は、システムメモリが断片化する前に boot に割り当てられます。この目的は、連続する大規模なメモリ
に対して割り当てが失敗しないようにすることです。grub.conf ファイルに追加する必要がある行は以
下のとおりです。memsize パラメーターはバイト単位で示されています。
alloc_rtsj_mem.size=memsize
18
第4章 その他の情報
第 4章 その他の情報
4.1. バ グ の 報 告
バグの診断
バグレポートを作成する前に、以下の手順に従って問題が発生した場所を診断してください。これによ
り、問題の修正が非常に簡単になります。
1. 最新バージョンの Red Hat Enterprise Linux 6 カーネルが搭載されていることを確認して、grub メ
ニューからそのカーネルをブートします。標準的なカーネルで問題を再現し、問題が引き続き発生
する場合は、MRG Realtime ではなく Red Hat Enterprise Linux 6 に対してバグを報告してくださ
い。
2. 標準的なカーネルで問題が発生しない場合、バグは以下のいずれかで行われた変更の結果である可
能性があります。
a. MRG Realtime のベースとなっているアップストリームカーネル。たとえば、Red Hat
Enterprise Linux 6 は 2.6.32、MRG Realtime は 3.2 をベースにしています。
b. ベースライン (3.2) カーネルに Red Hat が適用した MRG Realtime 固有の拡張機能。
問題を特定するには、変更されていないアップストリームの 3.2 カーネルで問題を再現してみてく
ださい。この理由により、MRG Realtime カーネル以外に vanilla カーネルも提供されていま
す。vanilla カーネルは MRG Realtime が追加されていないアップストリームのカーネルビルド
です。
バグの報告
バグが MRG Realtime に固有であることがわかった場合は、 以下の手順に従ってバグレポートを作成して
ください。
1. Bugzilla アカウントを作成します。
2. ログインして、Enter A New Bug Report をクリックします。
3. バグが発生した製品を指定する必要があります。Red Hat 製品リストの Red Hat Enterprise
MRG の下に MRG Realtime が表示されます。バグが発生した製品を正しく選択することが重要で
す。
4. 該当するコンポーネントを選択し、問題の詳細を入力していきます。問題を説明する場合は、標準
の Red Hat Enterprise Linux 6 または提供されている vanilla カーネルで問題が再現できたかど
うかに関する詳細も必ず入力をお願いします。
4.2. 関 連 資 料
Red Hat Enterprise MRG および MRG Realtime の製品情報
http://www.redhat.com/mrg
MRG Realtime およびその他の Red Hat Enterprise MRG のドキュメント
http://docs.redhat.com/docs/en-US/index.html
Red Hat ナレッジベース
https://access.redhat.com/knowledge/search
19
Red Hat Enterprise MRG 2 Realtime インストールガイド
改訂履歴
改訂 3.0-1.3.4 00
2013-10-31
Landmann Rüdiger [FAMILY
Given]
T ue Sep 18 2012
T ranslator's credit [FAMILY
Given]
Mon Sep 17 2012
T ranslator's credit [FAMILY
Given]
T hu Aug 16 2012
T ranslator's credit [FAMILY
Given]
Rebuild with publican 4.0.0
改訂 3.0-1.3
日本語に翻訳
改訂 3.0-1.2
日本語に翻訳
改訂 3.0-1.1
XML ソース 3-1 と翻訳ファイルを同期
改訂 3.0-1
Rebuild for Publican 3.0.
Fri Aug 10 2012
T an Cheryn [FAMILY Given]
改訂 3.0-0
発行の準備 (MRG 2.2)
T hu Jun 14 2012
T an Cheryn [FAMILY Given]
改訂 2.0-5
Fri Jun 1 2012
T an Cheryn [FAMILY Given]
BZ #805755 - ディスクレスブートのセクションに関してテクニカルレビューからの変更を適用
改訂 2.0-4
Fri May 18 2012
T an Cheryn [FAMILY Given]
BZ #800226 - MRG Realtime のダウンロードに必要な RHN チャネルを更新
改訂 2.0-3
Fri Apr 27 2012
T an Cheryn [FAMILY Given]
BZ #800724 - カーネルのバージョン番号を更新
BZ #748391 - RT と RHEL6 システムの応答時間を比較したグラフを追加
BZ #805755 - ディスクレスブートの設定について文書化
改訂 2.0-2
T hu Mar 15 2012
BZ #748391 - システム要件から RHEL 5.6 を削除
Docs QE レビュー
T an Cheryn [FAMILY Given]
改訂 2.0-1
T ue Feb 28 2012
新しい発行ツールの設定ファイルを更新
Hildred T im [FAMILY Given]
改訂 2.0-0
発行の準備
Young Alison [FAMILY Given]
Wed Dec 7 2011
改訂 1.0-6
Wed Nov 16 2011
BZ #752406 - RHEL のバージョンを変更
Young Alison [FAMILY Given]
改訂 1.0-2
Young Alison [FAMILY Given]
20
Mon Oct 03 2011
改訂履歴
BZ #694596 - x86 を i686 に変更
改訂 1.0-1
バージョンの番号付けを変更
T hu Sep 22 2011
Young Alison [FAMILY Given]
改訂 1.0-0
発行の準備
T hu Jun 23 2011
Young Alison [FAMILY Given]
改訂 0.1-7
RHEL4 への言及を削除
Fri Jun 03 2011
Young Alison [FAMILY Given]
改訂 0.1-6
マイナーな更新
T hu May 19 2011
Young Alison [FAMILY Given]
改訂 0.1-5
マイナーな更新
Mon May 16 2011
Young Alison [FAMILY Given]
改訂 0.1-4
テクニカルレビューの更新
Mon May 16 2011
Young Alison [FAMILY Given]
改訂 0.1-3
Wed May 11 2011
BZ #694596 - 32 ビットカーネルに関する情報を削除
Young Alison [FAMILY Given]
改訂 0.1-2
Wed Apr 20 2011
BZ #694596 - PAE 対応カーネルに関する情報を削除
Young Alison [FAMILY Given]
改訂 0.1-1
T hu Mar 03 2011
Young Alison [FAMILY Given]
BZ #666960 - RHEL6 向けに MRG Realtime インストールガイドを更新
改訂 0.1-0
1.3 からのフォーク
T ue Feb 22 2011
Young Alison [FAMILY Given]
21