15 Fibre Channel Storage over Ethernet Networks: FCoE #
多くの企業のデータセンターが、そのLANおよびデータトラフィックをEthernetに依存し、またそのストレージインフラストラクチャをファイバチャネルに依存しています。Open Fibre Channel over Ethernet (FCoE)イニシエータソフトウェアは、Ethernetアダプタが付いたサーバが、Ethernetネットワーク上でファイバチャネルストレージに接続できるようにします。このコネクティビティはこれまで、ファイバチャネルファブリック上にファイバチャネルアダプタを有するシステム用に、独占的に確保されていました。FCoEテクノロジは、ネットワークコンバージェンスを支援することで、データセンター内の複雑性を減らします。これにより、ファイバチャネルストレージへの既存の投資を無駄にすることなく、ネットワーク管理を簡素化することができます。
Open-FCoEでは、ホストバスアダプタ上の専有のハードウェアではなく、ホストでファイバチャネルのプロトコルを実行することができます。対象としているのは10 Gbps (ギガバイト/秒)のEthernetアダプタですが、PAUSEフレームに対応したすべてのEthernetアダプタで使用可能です。イニシエータソフトウェアにより、ファイバチャネルプロトコルの処理モジュールと、Ethernetベースのトランスポートモジュールが提供されます。Open-FCoEモジュールは、SCSI用の低レベルドライバの役割を果たします。Open-FCoEトランスポートは、net_device
を使用してパケットの送受信を行います。DCB(データセンターブリッジング)ドライバにより、FCoE向けのサービスの質が提供されます。
FCoEは、ファイバチャネルフレームを変えずに、ファイバチャネルのプロトコルトラフィックをEthernet接続上で動かす、カプセル化プロトコルです。これにより、ネットワークセキュリティとトラフィック管理インフラストラクチャが、ファイバチャネルにおけるのと同じようにFCoEでも機能することができます。
以下の条件が当てはまる企業では、FCoEの導入を選択してもよいでしょう。
すでにファイバチャネルストレージシステムがあり、ファイバチャネルのスキルと知識を持つ管理者がいる。
ネットワーク内に、10 GbpsのEthernetを展開している。
本項では、ネットワークにFCoEを設定する方法を説明します。
15.1 インストール時におけるFCoEインタフェースの設定 #
SUSE Linux Enterprise Server向けのYaSTのインストールでは、サーバとファイバチャネルストレージインフラストラクチャ間の接続用のスイッチでFCoEが有効になっていれば、オペレーティングシステムのインストール時にFCoEディスクの設定を行うことができます。一部のシステムBIOSタイプでは、FCoEディスクを自動的に検出することができ、そのディスクをYaSTのインストールソフトウェアに報告します。ただし、FCoEディスクの自動検出は、すべてのBIOSのタイプでサポートされているわけではありません。その場合、インストールの開始時に次のwithfcoe
オプションをカーネルのコマンドラインに追加することで、自動検出を有効にすることができます。
withfcoe=1
FCoEディスクが検出されると、YaSTのインストールでは、同時にFCoEを設定するオプションがあります。[ディスクアクティベーション]ページで、15.3項 「YaSTを使用したFCoEサービスの管理」を参照してください。
を選択して、FCoEの設定にアクセスします。FCoEインタフェースの設定については、FCoEデバイスはブートプロセス中は非同期で表示されます。これらのデバイスがルートファイルシステム用に正しく設定されていることがinitrdによって保証されるまでの間、他のファイルシステムや/usr
などのマウントポイントでは、これは保証されません。したがって、/usr
や/var
などのシステムマウントポイントはサポートされません。これらのデバイスを使用するには、各サービスとデバイスが正しく同期されていることを確認します。
15.2 FCoEおよびYaSTのFCoEクライアントのインストール #
サーバへの接続用のスイッチでFCoEを有効にすることで、ストレージインフラストラクチャ内にFCoEディスクを設定することができます。SUSE Linux Enterprise Serverオペレーティングシステムのインストール時にFCoEディスクが利用可能であれば、FCoEイニシエータソフトウェアが、その時点で自動的にインストールされます。
FCoEイニシエータソフトウェアとYaST FCoEクライアントソフトウェアがインストールされていない場合は、次の手順で次のコマンドを使用して手動でインストールします。
sudo zypper in yast2-fcoe-client fcoe-utils
または、YaSTソフトウェアマネージャを使用して、これらのパッケージをインストールします。
15.3 YaSTを使用したFCoEサービスの管理 #
YaST FCoEクライアント設定オプションを使用して、お使いのファイバチャネルストレージインフラストラクチャ内のFCoEディスク用のFCoEインタフェースの作成、設定、および削除ができます。このオプションを使用するには、FCoEイニシエータサービス(fcoemon
デーモン)およびLink Layer Discovery Protocolエージェントデーモン(llpad
)がインストールされて実行中であり、FCoE接続が、FCoE対応のスイッチで有効になっている必要があります。
YaSTを起動し、
› の順に選択します。FCoEサービスの開始: Fibre Channel over Ethernetサービスの
fcoemon
デーモンを、サーバの起動時に開始するか、マニュアルで開始するかを指定します。このデーモンは、FCoEインタフェースを制御して、llpad
デーモンとの接続を確立します。値は、 (デフォルト)または です。Lldpadサービスの開始: Link Layer Discovery Protocolエージェント
llpad
デーモンを、サーバの起動時に開始するか、マニュアルで開始するかを指定します。llpad
デーモンは、データセンターブリッジング機能およびFCoEインタフェースの設定について、fcoemon
デーモンに情報を送ります。値は、 (デフォルト)または です。
設定を変更した場合は、
をクリックして変更内容を保存して適用します。- インタフェース名
インタフェースに名前が割り当てられている(
eth4.200
など)場合は、スイッチでFCoEが利用可能であり、FCoEインタフェースがアダプタに対してアクティブになっています。- 未設定:
状態が
である場合は、スイッチでFCoEが有効になっていますが、FCoEインタフェースはアダプタに対してアクティブになっていません。アダプタでインタフェースを有効にするには、アダプタを選択して、 をクリックします。- 使用不可:
状態が
である場合は、FCoEがスイッチ上のその接続に対して有効になっていないため、そのアダプタではFCoEは使えません。
未設定のFCoE対応アダプタを設定するには、そのアダプタを選択し、
をクリックします。問い合わせに対して、 を選択して確認します。アダプタがインタフェース名と共に
列に表示されます。設定済みのアダプタの設定を変更するには、リストでそのアダプタを選択し、
をクリックします。次のオプションを設定できます。
アダプタに対してFCoEインスタンスの作成を有効または無効にします。
データセンターブリッジングがアダプタに必要かどうかを指定します(通常は必要です)。
fcoemon
デーモンでVLANインタフェースを作成するかどうかを指定します。
設定を変更した場合は、
をクリックして変更内容を保存して適用します。設定は、/etc/fcoe/cfg-ethX
ファイルに書き込まれます。fcoemon
デーモンは、初期化時に各FCoEインタフェースの環境設定ファイルを読み込みます。設定済みのインタフェースを削除するには、それをリストで選択します。
をクリックし、 をクリックして確認します。FCoEインタフェースの値が、 に変わります。fcoemon
デーモンからのデバッグメッセージを有効/無効にしたり、メッセージをシステムログに送信するかどうかを指定したりできます。
15.4 コマンドを使用したFCoEの設定 #
端末コンソールを開きます。
YaSTを使用して、Ethernetネットワークインタフェースカード(
eth2
など)を設定します。Link Layer Discovery Protocolエージェントデーモン(
llpad
)を起動します。sudo systemctl start lldpad
お使いのEthernetアダプタ上で、データセンターブリッジングを有効にします。
tux >
dcbtool sc eth2 dcb on Version: 2 Command: Set Config Feature: DCB State Port: eth2 Status: SuccessfulPriority Flow Control (PFC)設定を、データセンターブリッジングに対して有効にします。
sudo dcbtool sc eth<x> pfc e:1 a:1 w:1
引数の設定値は次のとおりです。
- e:<0|1>
機能の有効化を制御します。
- a:<0|1>
機能を、データセンターブリッジング交換プロトコルを介してピアにアドバタイズするかどうかを制御します。
- w:<0|1>
機能が、ピアから受け取った内容に基づいてその運用設定を積極的に変更するかどうかを制御します。
データセンターブリッジングを有効にして、FCoEに対するスイッチの優先度設定を受け入れます。
tux >
sudo dcbtool sc eth2 app:fcoe e:1 Version: 2 Command: Set Config Feature: Application FCoE Port: eth2 Status: SuccessfulデフォルトのFCoE環境設定ファイルを、
/etc/fcoe/cfg-eth2
にコピーします。sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-eth2
FCoEイニシエータサービスを開始します。
systemctl start fcoe.service
Link Layer Discovery Protocolエージェントデーモン(
llpad
)およびFCoEイニシエータサービスを、起動時に開始するよう設定します。systemctl enable llpad fcoe
15.5 FCoE管理ツールを使用したFCoEインスタンスの管理 #
fcoeadm
ユーティリティは、FCoE (Fibre Channel over Ethernet)管理ツールです。これを使用して、所定のネットワークインタフェースのFCoEインスタンスの作成、破棄、およびリセットを行うことができます。fcoeadm
ユーティリティは、ソケットインタフェースを通じて、実行中のfcoemon
プロセスにコマンドを送ります。fcoemon
の詳細については、man 8 fcoemon
を参照してください。
fcoeadm
ユーティリティを使用して、以下に関してFCoEインスタンスにクエリを行うことができます。
インタフェース
ターゲットLUN
ポートの統計データ
fcoeadm
ユーティリティは、fcoe-utils
パッケージの一部です。このコマンドの一般的な構文は、次のようになります。
fcoeadm [-c|--create] [<ethX>] [-d|--destroy] [<ethX>] [-r|--reset] [<ethX>] [-S|--Scan] [<ethX>] [-i|--interface] [<ethX>] [-t|--target] [<ethX>] [-l|--lun] [<ethX>] [-s|--stats <ethX>] [<interval>] [-v|--version] [-h|--help]
詳細については、man 8 fcoeadm
を参照してください。
例#
fcoeadm -c eth2.101
FCoEインスタンスをeth2.101上に作成します。
fcoeadm -d eth2.101
FCoEインスタンス上のeth2.101を破棄します。
fcoeadm -i eth3
インタフェース
eth3
上のFCoEインスタンスすべてに関する情報を表示します。インタフェースが指定されていない場合、FCoEインスタンスが作成されているすべてのインタフェースの情報を表示します。次に、接続eth0.201の情報の例を示します。tux >
sudo fcoeadm -i eth0.201 Description: 82599EB 10-Gigabit SFI/SFP+ Network Connection Revision: 01 Manufacturer: Intel Corporation Serial Number: 001B219B258C Driver: ixgbe 3.3.8-k2 Number of Ports: 1 Symbolic Name: fcoe v0.1 over eth0.201 OS Device Name: host8 Node Name: 0x1000001B219B258E Port Name: 0x2000001B219B258E FabricName: 0x2001000573D38141 Speed: 10 Gbit Supported Speed: 10 Gbit MaxFrameSize: 2112 FC-ID (Port ID): 0x790003 State: Onlinefcoeadm -l eth3.101
接続eth3.101で検出されたすべてのLUNの詳細情報を表示します。接続が指定されていない場合、すべてのFCoE接続で検出されたすべてのLUNの情報を表示します。
fcoeadm -r eth2.101
eth2.101上のFCoEインスタンスをリセットします。
fcoeadm -s eth3 3
FCoEインスタンスが存在する特定のeth3ポートに関する統計情報を3秒間隔で表示します。統計情報は、時間間隔ごとに1行ずつ表示されます。間隔を指定していない場合、デフォルトの1秒が間隔として使用されます。
fcoeadm -t eth3
FCoEインスタンスが存在する特定のeth3ポートから検出されたすべてのターゲットに関する情報を表示します。検出された各ターゲットの後ろに、関連付けられたLUNが列記されます。インスタンスが指定されていない場合、FCoEインスタンスが存在するすべてのポートからのターゲットを表示します。次に、接続eth0.201からのターゲットの情報の例を示します。
tux >
sudo fcoeadm -t eth0.201 Interface: eth0.201 Roles: FCP Target Node Name: 0x200000D0231B5C72 Port Name: 0x210000D0231B5C72 Target ID: 0 MaxFrameSize: 2048 OS Device Name: rport-8:0-7 FC-ID (Port ID): 0x79000C State: Online LUN ID Device Name Capacity Block Size Description ------ ----------- ---------- ---------- ---------------------------- 40 /dev/sdqi 792.84 GB 512 IFT DS S24F-R2840-4 (rev 386C) 72 /dev/sdpk 650.00 GB 512 IFT DS S24F-R2840-4 (rev 386C) 168 /dev/sdgy 1.30 TB 512 IFT DS S24F-R2840-4 (rev 386C)
15.6 追加情報 #
詳細については、以下のマニュアルを参照してください。
Open-FCoEのサービスデーモンについては、
fcoemon(8)
マニュアルページを参照してください。Open-FCoEの管理ツールについては、
fcoeadm(8)
マニュアルページを参照してください。データセンターブリッジング設定ツールについては、
dcbtool(8)
マニュアルページを参照してください。Link Layer Discovery Protocolエージェントデーモンについては、
lldpad(8)
マニュアルページを参照してください。一般的な情報は、Open-FCoEホームページ(http://www.open-fcoe.org/dokuwiki/start)を参照してください。