第3章 GNBD ドライバーとコマンドの使用


Global Network Block Device (GNBD) ドライバーはノードがそのローカルストレージを GNBD として ネットワーク上でエキスポートできるようにして、そのネットワークの他の ノードがストレージを共有出来るようにします。GNBD をインポートするクライアントノードは それを普通のブロックデバイスのように使用します。複数クライアント上での GNBD の インポートは、GFS を使用可能にする共有ストレージの設定を形成します。
GNBD ドライバーは以下のコンポーネントを通じて実装されます。
  • gnbd_serv — GNBD サーバーを実装します。これは、 ノードがネットワーク上でローカルストレージをエキスポートできるようにする user-spaceデーモンです。
  • gnbd.ko — GNBD クライアント (GNBD デバイスを使用しているノード) 上で GNBD デバイスドライバーを実装します。
次の2つのユーザーコマンドを使用して GNBD を設定できます:
  • gnbd_export (for servers) — User program for creating, exporting, and managing GNBDs on a GNBD server.
  • gnbd_import (クライアント用) — GNBD クライアント上で 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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.