Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Global Network Block Device
Red Hat Enterprise Linux 5
Red Hat Global File System を持つ GNBD の使用
エディッション 3
概要
このドキュメントは Red Hat Enterprise Linux 5 対応の Red Hat GFS を 持つ Global Network Block Device (GNBD) の使用に関する概要を提供します。
はじめに
1. このガイドについて
このガイドは、Global File System (GFS) を持つ Global Network Block Device (GNDB) の使い方を 説明しています。デバイスマッパーマルチパス、GNDB ドライバーとコマンドの使用法、 そして GNBD サーバーノード上での GFS の実行についての説明が含まれます。
2. 対象者
このガイドは、Linux オペレーティングシステムを実行しているシステムの 管理に携わるシステム管理者によって使用されることを意図しています。そして Red Hat Enterprise Linux 5 及び GFS ファイルシステムの管理に精通している 必要があります。
3. ソフトウェアバージョン
表1 ソフトウェアバージョン
ソフトウェア | 説明 |
---|---|
RHEL5
|
RHEL5 とそれ以降を意味します
|
GFS
|
RHEL5 とそれ以降対応の GFS を意味します
|
4. 関連ドキュメント
Red Hat Enterprise Linux の使用法に関する情報には以下の資料を参照して 下さい:
- 『Red Hat Enterprise Linux インストールガイド』 — Red Hat Enterprise Linux 5 のインストールに関する情報を提供します。
- 『Red Hat Enterprise Linux 導入ガイド』 — Red Hat Enterprise Linux 5 の導入、設定、及び管理に関する情報を提供します。
Red Hat Enterprise Linux 5 対応の Red Hat Cluster Suite に関する詳細情報には、以下の資料を参照して 下さい:
- 『Red Hat Cluster Suite 概要』 — Red Hat Cluster Suite について 高度なレベルの概要を提供します。
- 『Red Hat Cluster の設定と管理』 — Red Hat Cluster コンポーネントのインストール、設定、及び管理に 関する情報を提供します。
- 『LVM Administrator's Guide: Configuration and Administration』 — Provides a description of the Logical Volume Manager (LVM), including information on running LVM in a clustered environment.
- 『Global File System: 設定と管理』 — Red Hat GFS (Red Hat Global File System) のインストール、 設定、及び維持に関する情報を提供します。
- 『Global File System 2: 設定と管理』 — Red Hat GFS2 (Red Hat Global File System 2) のインストール、設定、 及び維持に関する情報を提供します。
- 『Device-Mapper Multipath の使用法』 — Red Hat Enterprise Linux 5 の Device-Mapper Multipath 機能の使用に関する情報を提供します。
- 『Linux Virtual Server の管理』 — Linux Virtual Server (LVS) でのハイパフォーマンスシステムとサービスの設定に関する情報を提供します。
- 『Red Hat Cluster Suite リリースノート』 — Red Hat Cluster Suite の最新リリースに関する情報を提供します。
Red Hat Cluster Suite のドキュメントとその他の Red Hat ドキュメントは、Red Hat Enterprise Linux ドキュメント CD 及び、http://www.redhat.com/docs/ でのオンラインで HTML、PDF、及び RPM のバージョンで入手できます。
5. フィードバック
誤字・脱字を見つけたり、又はこのマニュアルを改善するアイデアをお持ちの場合は、 弊社までご連絡下さい。その際には、このコンポーネント
rh-cs
に対して Bugzilla ( http://bugzilla.redhat.com/bugzilla/) 内でレポートを提出して下さい。
Be sure to mention the manual's identifier:
Bugzilla component: Documentation-cluster Book identifier: Global_Network_Block_Device(EN)-5 (2009-01-05T15:25)
By mentioning this manual's identifier, we know exactly which version of the guide you have.
ドキュメントの改善案をお持ちの場合は、できるだけ詳しい記述をお願いします。 エラーを発見された場合は、そのセクション番号や周辺の文章を含めて頂くと 弊社で簡単に発見できるようになります。
第1章 Red Hat GFS と共に GNBD を使用
GNBD (Global Network Block Device) は イーサネット LAN でのブロックレベルの ストレージアクセスを提供します。GNBD コンポーネントは GFS ノードではクライアント として稼働し、GNBD サーバーノードではサーバーとして稼働します。GNBD サーバーノードは そのローカルストレージ(直接接続したストレージ、又は SAN ストレージ)から GFS ノードへ ブロックレベルのストレージをエキスポートします。
表1.1「GNBD ソフトウェアサブシステムコンポーネント」 summarizes the GNBD software subsystems components.
表1.1 GNBD ソフトウェアサブシステムコンポーネント
ソフトウェアサブシステム | コンポーネント | 説明 |
---|---|---|
GNBD | gnbd.ko | クライアント上に GNBD デバイスドライバーを実装するカーネルモジュール。 |
gnbd_export | GNBD サーバー上で GNBD 群を作成、エキスポート、及び管理するコマンド。 | |
gnbd_import | GNBD クライアント上で GNBD 群をインポートと管理するコマンド。 | |
gnbd_serv | ノードがネットワーク上でローカルストレージをエキスポート出来るようにするサーバーデーモン。 |
GNBD サーバーがデバイスマッパーマルチパスと一緒に機能するように設定することが できます。デバイスマッパーマルチパスを持つ GNBD により、複数の GNBD サーバー ノードを設定してストレージデバイスまでの冗長パスを提供することができるように なります。GNBD サーバー群はそこで、冗長 GNBD 群を介して GFS ノード群への 複数ストレージパスを提供します。デバイスマッパーマルチパスを持つ GNBD を使用する時、 1つの GNBD サーバーノードが使用不可能になった場合は、他の GNBD サーバーノードが GFS ノードにストレージデバイスへのアクセスを提供します。
これは、Red Hat GFS を持つ GNBD の使用法を文書化しており、以下の章で構成 されます:
- 2章Device-Mapper Multipath を持つ GNBD の使用を考慮する, which describes some of the issues you should take into account when configuring multipathed GNBD server nodes
- 3章GNBD ドライバーとコマンドの使用, which describes the restrictions that apply when you are running GFS on a GNBD server node
- 4章GNBD サーバーノード上で GFS の実行, which describes the user commands that configure GNBD
第2章 Device-Mapper Multipath を持つ GNBD の使用を考慮する
デバイスマッパーマルチパスを使用する GNBD により、複数の GNBD サーバーノード (GNBD 群を GFS ノードにエキスポートするノード群)を設定してストレージ デバイスへの冗長パスを提供できるようになります。GNBD サーバーノード群は、そこで 冗長 GNBD 群を介して GFS ノードへの複数ストレージパスを提供します。デバイスマッパー マルチパスを持つ GNBD を使用する時、1つの GNBD サーバーノードが使用不可能に なった場合には、別の GNBD サーバーノードが、GFS ノードにストレージへのアクセスを提供することができます。
デバイスマッパーマルチパスを持つ GNBD を使用している場合、以下の事項を 考慮する必要があります:
- Linux page caching, as desribed in 「Linux ページキャッシング」.
- Fencing GNBD server nodes, as described in 「GNBD サーバーノードフェンシング」.
- GNBD device names; export names for GNBD devices must be unique. Additionally, you must specify the
-u
or-U
when using thegnbd_export
command. Exporting GNBD devices is described in 3章GNBD ドライバーとコマンドの使用.
2.1. Linux ページキャッシング
For GNBD with device-mapper multipath, do not specify Linux page caching (the
-c
option of the gnbd_export
command). All GNBDs that are part of a logical volume must run with caching disabled. Data corruption occurs if the GNBDs are run with caching enabled. Refer to 「サーバーから GNBD をエキスポート」 for more information about using the gnbd_export
command for GNBD with device-mapper multipath.
2.2. GNBD サーバーノードフェンシング
GNBD サーバーノードは、ネットワークから物理的にノードを取り除くフェンシング メソッドを使用してフェンスされる必要があります。物理的に GNBD サーバーノードを 取り除くには、次の項目以外の他のフェンシングデバイスを使用します:
fence_brocade
フェンスエージェント、fence_vixel
フェンスエージェント、fence_mcdata
フェンスエージェント、 fence_sanbox2
フェンスエージェント、fence_scsi
フェンスエージェント。更に、GNBD フェンシングデバイス(fence_gnbd
フェンシングエージェント)を使用して GNBD サーバーノードをフェンスすることは できません。 GNBD サーバーノード用のフェンシングの設定に関する詳細情報には、『Global File System 』 マニュアルを参照して下さい。
第3章 GNBD ドライバーとコマンドの使用
Global Network Block Device (GNBD) ドライバーはノードがそのローカルストレージを GNBD として ネットワーク上でエキスポートできるようにして、そのネットワークの他の ノードがストレージを共有出来るようにします。GNBD をインポートするクライアントノードは それを普通のブロックデバイスのように使用します。複数クライアント上での GNBD の インポートは、GFS を使用可能にする共有ストレージの設定を形成します。
GNBD ドライバーは以下のコンポーネントを通じて実装されます。
gnbd_serv
— GNBD サーバーを実装します。これは、 ノードがネットワーク上でローカルストレージをエキスポートできるようにする user-spaceデーモンです。gnbd.ko
— GNBD クライアント (GNBD デバイスを使用しているノード) 上で GNBD デバイスドライバーを実装します。
次の2つのユーザーコマンドを使用して GNBD を設定できます:
3.1. サーバーから GNBD をエキスポート
gnbd_serv
デーモンは、それが GNBD としてストレージを エキスポートできるようになるにはノード上で稼働している必要があります。以下のように して gnbd_serv
コマンドを使用して、gnbd_serv
デーモンを開始します:
#gnbd_serv
gnbd_serv: startup succeeded
ローカルストレージがエキスポート用に識別されると、そのエキスポートの ために
gnbd_export
コマンドが使用されます。
注記
デバイスマッパーマルチパスを持つ GNBD サーバーを設定する時は、ページキャッシングを 使用してはいけません。論理ボリュームの一部となっている全ての GNBD 群はキャッシングを 無効にして実行する必要があります。デフォルトで、
gnbd_export
コマンドはキャッシングをオフにしてエキスポートします。
注記
GNBD をインポートするのはクライアントであるため、サーバーは GNBD をインポートしてそれを 使用すべきではありません。サーバーがキャッシュ化されていないデバイスをエキスポート した場合、背後にあるデバイスも
gfs
によって使用されます。
使用法
gnbd_export -d
pathname
-e
gnbdname
[-c
][-u
][-U
pathname
- エキスポートするストレージデバイスを指定します。
gnbdname
- GNBD の為に選択された任意の名前を指定します。これは GNBD クライアント上で デバイス名として使用されます。この名前は、ネットワーク内でエキスポートされる 全ての GNBD 群内で特有のものである必要があります。
-o
- 読み込み専用としてデバイスをエキスポートします。
-c
- キャッシングを有効にします。エキスポートされた GNBD から読み込み、Linux ページ キャッシングを活用します。デフォルトで、
gnbd_export
コマンドはキャッシングを 有効にしません。注記
デバイスマッパーマルチパスを持つ GNBD サーバーを設定する時は、-c
オプションを指定しないで下さい。論理ボリュームの一部となっている全ての GNBD 群は キャッシングを無効にして実行される必要があります。注記
GFS 5.2 又はそれ以前のバージョンを使用していて、GNBD 設定を変更したくない 場合は、-c
オプションを指定する必要があります。 GFS Release 5.2.1 以前は、Linux キャッシングはgnbd_export
用に デフォルトで有効になっていました。-c
オプションが指定されていない 場合は、GNBD は認知できるほどのパフォーマンス低下を受けます。また、-c
オプションが指定されていないと、エキスポートされた GNBD はデフォルトの タイムアウト値 (-t
オプション) を使用してタイムアウトモードで動作します。gnbd_export
コマンドとそのオプションに関する詳細情報についてはgnbd_export
man ページを参照して下さい。 -u
uid
- エキスポートされたデバイスに手動で、汎用識別子(UIDーUniversal Identifier)をセットします。 このオプションは
-e
と一緒に使用されます。UID はデバイスマッパー マルチパスによって使用されて、マルチパスマップ内に所属するデバイスを決定します。 マルチパス化をするにはデバイスは UID を持っている必要があります。しかし、ほとんどの SCSI デバイスでは、デフォルトの Get UID コマンド/usr/sbin/gnbd_get_uid
が適切な値を返します。注記
UID は GNBD 自身ではなく、エキスポートされているデバイスを参照します。 2つの GNBD デバイスの UID は、同じ背後のデバイスをエキスポートしている 場合にのみ同一となる必要があります。これは、両方の GNBD サーバーが 同じ物理デバイスに接続されていると言う意味です。注記
-U
command
オプションが機能 しない場合に、このオプションは共有ストレージデバイスのエキスポートの為にのみ 使用されるものです。この状態は SCSI デバイスではほとんど発生しません。2つの GNBD デバイスが同じ背後のデバイスをエキスポートしていないのに、同じ UID を与えて ある場合には、データ破損が生じます。 -U
Command
- UID 取得のコマンドです。UID コマンドは、
gnbd_export
コマンドがエキスポートされたデバイス用に汎用識別子を取得する 為に実行するコマンドです。UID は GNBD でデバイスマッパーマルチパスを使用する 為に必要となります。このコマンドは実行したい実行ファイルの完全なパスを使用する 必要があります。そのコマンドには、%M、%m、あるいは、%n のエスケープシーケンスを 含むことができます。%M はエキスポートされたデバイスのメジャー番号に展開され、%m は エキスポートされたデバイスのマイナー番号に展開されます。そして %n はそのデバイスのsysfs
名に展開されます。コマンドが与えられない場合は、GNBD は デフォルトのコマンド/usr/sbin/gnbd_get_uid
を使用します。 このコマンドはほとんどの SCSI デバイスで機能します。
サンプル
このサンプルは GNBD マルチパスで設定された GNBD サーバーの為のものです。 これは デバイス
/dev/sdc2
を GNBD gamma
としてエキスポートします。キャッシュはデフォルトで無効になっています。
gnbd_export -d /dev/sdc2 -e gamma -U
このサンプルは GNBD マルチパスで設定されていない GNBD サーバーの為のものです。これはデバイス
/dev/sdb2
を キャッシュが 有効になっている GNBD delta
としてエキスポートします。
gnbd_export -d /dev/sdb1 -e delta -c
このサンプルは デバイス
/dev/sdb2
を GNBD delta
としてキャッシュを有効に した状態でエキスポートします。
gnbd_export -d /dev/sdb2 -e delta -c
3.2. クライアント上で GNBD をインポート
gnbd.ko
カーネルモジュールは、それが GNBD 群を インポートできるようになるには、ノード上でロードされている必要があります。 GNBD 群がインポートされる時には、デバイスノード群がその為に /dev/gnbd/
内で作成されてそれがエキスポートされた時の名前を割り当てられています。
使用法
gnbd_import -i
Server
Server
- GNBD 群のインポート元となるホスト名、又は IP アドレスによって GNBD サーバーを 指定します。このサーバーからエキスポートされた全ての GNBD 群はこのコマンドを 実行しているクライアント上でインポートされます。
サンプル
このサンプルは
nodeA
と言う名前のサーバーから全ての GNBD 群をインポートします。
gnbd_import -i nodeA
第4章 GNBD サーバーノード上で GFS の実行
GFS は少々の制限を持って、 GNBD サーバーノード上で実行することが できます。その上、GNBD サーバーノード上で GFS を実行すると、パフォーマンスが 減少します。以下の制限が GNBD サーバーノード上で GFS を実行する場合に適用 されます。
重要
GNBD サーバーノード上で GFS を実行している場合には、一覧表示してある制限に 従わなければなりません。さもないと GNBD サーバーノードは失敗します。
- GNBD サーバーノードは、GFS ファイルシステムをマウントするのに必要な 全てのストレージデバイスにローカルアクセスできなければなりません。 GNBD サーバーノードは、他の GNBD デバイスをインポートして(
gnbd_import
コマンド)ファイルシステムを実行することは出来ません。 - GNBD サーバーは、全ての GNBD を非キャッシュ化モードでエキスポート しなければなりません。そして、論理ボリュームデバイスではなく、生の (raw)デバイスをエキスポートしなければなりません。
- GFS は生の(raw)デバイスではなく、論理ボリュームデバイス上で 実行しなければなりません。
注記
低下したパフォーマンスを受け入れるために、エキスポートした GNBD 上で タイムアウトの期間を増加する必要があるかも知れません。タイムアウトの期間を 増加する必要度はハードウェアの品質により決定されます。
付録A 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 3-7.400 | 2013-10-31 | Rüdiger Landmann | |
| |||
改訂 3-7 | 2012-07-18 | Anthony Towns | |
| |||
改訂 1.0-0 | Thu Jan 29 2009 | ||
|
索引
D
- device-mapper multipath, Device-Mapper Multipath を持つ GNBD の使用を考慮する
- fencing GNBD server nodes, GNBD サーバーノードフェンシング
- Linux page caching, Linux ページキャッシング
- driver and command usage, GNBD ドライバーとコマンドの使用
- exporting from a server, サーバーから GNBD をエキスポート
- importing on a client, クライアント上で GNBD をインポート
E
- exporting from a server daemon, サーバーから GNBD をエキスポート
F
- feedback, フィードバック
- fencing GNBD server nodes, GNBD サーバーノードフェンシング
G
- GFS, using on a GNBD server node, GNBD サーバーノード上で GFS の実行
- GNBD, using with Red Hat GFS, Red Hat GFS と共に GNBD を使用
- gnbd.ko module, GNBD ドライバーとコマンドの使用, クライアント上で GNBD をインポート
- gnbd_export command , GNBD ドライバーとコマンドの使用, 使用法
- gnbd_import command , GNBD ドライバーとコマンドの使用, 使用法
- gnbd_serv daemon, GNBD ドライバーとコマンドの使用, サーバーから GNBD をエキスポート
I
- importing on a client module, クライアント上で GNBD をインポート
L
- Linux page caching, Linux ページキャッシング
S
- software subsystem components, Red Hat GFS と共に GNBD を使用
法律上の通知
Copyright © 2009 Red Hat, Inc.
This 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, OpenShift, 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 Torvalds 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.
The 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.