Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 SUSE Linux Enterprise Server 11 SP4

16 Fibre Channel Storage over Ethernet Networks: FCoE

多くの企業のデータセンターが、そのLANおよびデータトラフィックをEthernetに依存し、またそのストレージインフラストラクチャをファイバチャネルに依存しています。Open Fibre Channel over Ethernet (FCoE)イニシエータソフトウェアは、Ethernetアダプタが付いたサーバが、Ethernetネットワーク上でファイバチャネルストレージに接続できるようにします。このコネクティビティはこれまで、ファイバチャネルファブリック上にファイバチャネルアダプタを有するシステム用に、独占的に確保されていました。FCoEテクノロジは、ネットワークコンバージェンスを支援することで、データセンター内の複雑性を減らします。これにより、ファイバチャネルストレージへの既存の投資を無駄にすることなく、ネットワーク管理を簡素化することができます。

Open Fibre Channel over Ethernet SAN
図 16.1: Open Fibre Channel over Ethernet SAN

Open-FCoEでは、ホストバスアダプタ上の専有のハードウェアではなく、ホストでファイバチャネルのプロトコルを実行することができます。対象としているのは10 Gbps (ギガバイト/秒)のEthernetアダプタですが、PAUSEフレームに対応したすべてのEthernetアダプタで使用可能です。イニシエータソフトウェアにより、ファイバチャネルプロトコルの処理モジュールと、Ethernetベースのトランスポートモジュールが提供されます。Open-FCoEモジュールは、SCSI用の低レベルドライバの役割を果たします。Open-FCoEトランスポートは、net_deviceを使用してパケットの送受信を行います。DCB(データセンターブリッジング)ドライバにより、FCoE向けのサービスの質が提供されます。

FCoEは、ファイバチャネルフレームを変えずに、ファイバチャネルのプロトコルトラフィックをEthernet接続上で動かす、カプセル化プロトコルです。これにより、ネットワークセキュリティとトラフィック管理インフラストラクチャが、ファイバチャネルにおけるのと同じようにFCoEでも機能することができます。

以下の条件が当てはまる企業では、Open-FCoEの導入を選択してもよいでしょう。

  • すでにファイバチャネルストレージシステムがあり、ファイバチャネルのスキルと知識を持つ管理者がいる。

  • ネットワーク内に、10 GbpsのEthernetを展開している。

この項では、ネットワークにFCoEを設定する方法を説明します。

16.1 FCoEおよびYaSTのFCoEクライアントのインストール

サーバへの接続用のスイッチでFCoEを有効にすることで、ストレージインフラストラクチャ内にFCoEディスクを設定することができます。SUSE Linux Enterprise Serverオペレーティングシステムのインストール時にFCoEディスクが利用可能であれば、FCoEイニシエータソフトウェアが、その時点で自動的にインストールされます。

FCoEイニシエータソフトウェアとYaST FCoEクライアントソフトウェアがインストールされていない場合は、次のプロシージャを使用して、既存のシステムにマニュアルでインストールします。

  1. サーバにrootユーザとしてログインします。

  2. YaSTで、ソフトウェアソフトウェア管理を選択します。

  3. 次のFCoEパッケージを検索して選択します。

    • open-fcoe

    • yast2-fcoe-client

    たとえば、検索フィールドにfcoeを入力して、検索をクリックしてソフトウェアパッケージを見つけてから、インストールしたい各ソフトウェアパッケージの横にあるチェックボックスをオンにします。

  4. 承諾をクリックし、次に続行をクリックして自動変更を承諾します。

16.2 インストール時におけるFCoEインタフェースの設定

SUSE Linux Enterprise Server向けのYaSTのインストールでは、サーバとファイバチャネルストレージインフラストラクチャ間の接続用のスイッチでFCoEが有効になっていれば、オペレーティングシステムのインストール時にFCoEディスクの設定を行うことができます。一部のシステムBIOSタイプでは、FCoEディスクを自動的に検出することができ、そのディスクをYaSTのインストールソフトウェアに報告します。ただし、FCoEディスクの自動検出は、すべてのBIOSのタイプでサポートされているわけではありません。その場合、インストールの開始時に次のwithfcoeオプションをカーネルのコマンドラインに追加することで、自動検出を有効にすることができます。

withfcoe=1

FCoEディスクが検出されると、YaSTのインストールでは、同時にFCoEを設定するオプションがあります。[ディスクアクティベーション]ページで、FCoEインタフェースの設定を選択して、FCoEの設定にアクセスします。FCoEインタフェースの設定については、16.3項 「YaSTを使用したFCoEサービスの管理」を参照してください。

16.3 YaSTを使用したFCoEサービスの管理

YaST FCoEクライアント設定オプションを使用して、お使いのファイバチャネルストレージインフラストラクチャ内のFCoEディスク用のFCoEインタフェースの作成、設定、および削除ができます。このオプションを使用するには、FCoEイニシエータサービス(fcoemonデーモン)およびLink Layer Discovery Protocolエージェントデーモン(lldpad)がインストールされて実行中であり、FCoE接続が、FCoE対応のスイッチで有効になっている必要があります。

  1. rootユーザとしてログインし、YaSTを起動します。

  2. YaSTで、ネットワークサービスFCoEクライアントの設定と選択します。

    [Fibre Channel over Ethernet Configuration]ダイアログボックスには、次の3つのタブがあります。

    • サービス

    • インタフェース

    • 環境設定

  3. サービスタブで、FCoEサービスとLldpad (Link Layer Discovery Protocolエージェントデーモン)サービスの開始時刻を確認し、必要に応じて変更します。

    • FCoEサービスの開始: Fibre Channel over Ethernetサービスのfcoemonデーモンを、サーバの起動時に開始するか、マニュアルで開始するかを指定します。このデーモンは、FCoEインタフェースを制御して、lldpadデーモンとの接続を確立します。値は、起動時(デフォルト)またはマニュアルです。

    • Lldpadサービスの開始: Link Layer Discovery Protocolエージェントlldpadデーモンを、サーバの起動時に開始するか、マニュアルで開始するかを指定します。lldpadデーモンは、データセンターブリッジング機能およびFCoEインタフェースの設定について、fcoemonデーモンに情報を送ります。値は、起動時(デフォルト)またはマニュアルです。

    設定を変更した場合は、OKをクリックして変更内容を保存して適用します。

  4. インタフェースタブで、サーバ上で検出されたすべてのネットワークアダプタに関する情報(VLANおよびFCoEの設定に関する情報を含む)を確認します。また、FCoE VLANインタフェースの作成や既存のFCoEインタフェース設定の変更、FCoEインタフェースの削除もできます。

    FCoE情報の参照: 

    FCoEインタフェーステーブルには、各アダプタに関する次の情報が表示されます。

    • デバイス名: eth4などのアダプタ名を示します。

    • モデル: アダプタのモデル情報を示します。

    • FCoE VLANインタフェース: 

      • インタフェース名: インタフェースに名前が割り当てられている(eth4.200など)場合は、スイッチでFCoEが利用可能であり、FCoEインタフェースがアダプタに対してアクティブになっています。

      • 未設定: 状態が未設定である場合は、スイッチでFCoEが有効になっていますが、FCoEインタフェースはアダプタに対してアクティブになっていません。アダプタでインタフェースを有効にするには、アダプタを選択して、FCoE VLANインタフェースを作成をクリックします。

      • 使用不可: 状態が使用不可である場合は、FCoEがスイッチ上のその接続に対して有効になっていないため、そのアダプタではFCoEは使えません。

    • FCoEの有効化: アダプタ接続に対して、スイッチでFCoEを有効にするかどうかを指定します。(はいまたはいいえ)

    • DCBが必要: アダプタでデータセンターブリッジングが必要かどうかを指定します。(はいまたはいいえ)

    • Auto VLAN: アダプタでVLAN設定を有効にするかどうかを指定します。(はいまたはいいえ)

    • DCB対応: アダプタがデータセンターブリッジングをサポートするかどうかを指定します。(はいまたはいいえ)

    FCoE設定を変更: 

    FCoE VLANインタフェースを選択して、ページの下部にある設定を変更をクリックして、[FCoE設定を変更]ダイアログボックスを開きます。

    • FCoEの有効化: アダプタに対してFCoEインスタンスの作成を有効または無効にします。値は、はいまたはいいえです。

    • DCBが必要: データセンターブリッジングがアダプタに必要かどうかを指定します。値は、はい(デフォルト)またはいいえです。DCBは通常、必要です。

    • Auto VLAN: fcoemonデーモンでVLANインタフェースを作成するかどうかを指定します。値は、はいまたはいいえです。

    設定を変更した場合は、次へをクリックして変更内容を保存して適用します。設定は、/etc/fcoe/ethXファイルに書き込まれます。fcoemonデーモンにより、同デーモンが初期化された時に、各FCoEインタフェースに対して環境設定ファイルが読み込まれます。すべてのFCoEインタフェースに対してファイルがあります。

    FCoE VLANインタフェースを作成: 

    FCoEが有効になっていてもまだ構成されていないアダプタを選択して、はいをクリックして、FCoEインタフェースを構成します。割り当てられたインタフェース名(eth5.200など)が一覧に表示されます。

    FCoEインタフェースを削除: 

    削除したいFCoEインタフェースを選択して、ページの下部にあるインタフェースを削除をクリックし、続行をクリックして確定します。FCoEインタフェースの値が、未構成に変わります。

  5. 設定タブで、FCoEシステムサービスの全般設定を確認または変更します。

    • デバッグ: FCoEのサービススクリプトおよびfcoemonデーモンからの、デバッグのメッセージを有効または無効にします。値は、はいまたはいいえ](デフォルト)です。

    • syslogを使用: メッセージをシステムログ(/var/log/syslog)に送信するかどうかを指定します。値は、はい(デフォルト)またはいいえです。(データは、/var/log/messagesにログされます。)

    設定を変更した場合は、OKをクリックして変更内容を保存して適用します。設定は、/etc/fcoe/configファイルに書き込まれます。

  6. OKをクリックして、変更内容を保存して適用します。

16.4 コマンドを使用したFCoEの設定

  1. rootユーザとしてサーバにログインして、端末コンソールを起動します。

  2. YaSTを使用して、Ethernetネットワークインタフェースカード(eth2など)を設定します。

  3. Link Layer Discovery Protocolエージェントデーモン(lldpad)を起動します。

    rclldpad start
  4. お使いのEthernetアダプタ上で、データセンターブリッジングを有効にします

    dcbtool sc eth2 dcb on
      Version:       2
      Command:       Set Config
      Feature:       DCB State
      Port:          eth2
      Status:        Successful
  5. Priority Flow Control (PFC)設定を、データセンターブリッジングに対して有効にします。

    dcbtool sc eth<x> pfc e:1 a:1 w:1

    引数の設定値は次のとおりです。

    e:<0|1>

    機能の有効化を制御します。

    a:<0|1>

    機能を、データセンターブリッジング交換プロトコルを介してピアにアドバタイズするかどうかを制御します。

    w:<0|1>

    機能が、ピアから受け取った内容に基づいてその運用設定を積極的に変更するかどうかを制御します。

  6. データセンターブリッジングを有効にして、FCoEに対するスイッチの優先度設定を受け入れます。

    dcbtool sc eth2 app:fcoe e:1
      Version:       2
      Command:       Set Config
      Feature:       Application FCoE
      Port:          eth2
      Status:        Successful
  7. デフォルトのFCoE環境設定ファイルを、/etc/fcoe/cfg-eth2にコピーします。

    cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-eth2
  8. FCoEイニシエータサービスを開始します。

    rcfcoe start
      Starting FCoE initiator service
  9. Link Layer Discovery Protocolエージェントデーモン(lldpad)およびFCoEイニシエータサービスを、起動時に開始するよう設定します。

    chkconfig boot.lldpad on
    
    chkconfig boot.fcoe on

16.5 FCoE管理ツールを使用したFCoEインスタンスの管理

fcoeadmユーティリティは、Open-FCoEプロジェクト用の、Fibre Channel over Ethernet (FCoE)管理ツールです。これを使用して、所定のネットワークインタフェースのFCoEインスタンスの作成、破棄、およびリセットを行うことができます。fcoeadmユーティリティは、ソケットインタフェースを通じて、実行中のfcoemonプロセスにコマンドを送ります。fcoemonの詳細については、fcoemon(8)マニュアルページを参照してください。

fcoeadmユーティリティを使用して、以下に関してFCoEインスタンスにクエリを行うことができます。

  • インタフェース

  • ターゲットLUN

  • ポートの統計データ

fcoeadmユーティリティは、fcoe-utilsパッケージの一部です。Open-FCoEプロジェクトにより保守管理されています。

構文

Fiber Channel over Ethernet Administrationバージョン1.0.12.

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]
オプション
-c, --create <ethX>

指定したネットワークインタフェースに基づいてFCoEインスタンスを作成します。fcoemon設定ファイルがOpen-FCoEサービスデーモンインタフェース(/etc/fcoe/cfg-ethxfcoemon(8)マニュアルページを参照)に対して存在しない場合、作成したFCoEインスタンスはデータセンターブリッジングを必要としません。

例: FCoEインスタンスをeth2.101上に作成する:

fcoeadm -c eth2.101
-d, --destroy <ethX>

指定したネットワークインタフェース上のFCoEインスタンスを破棄します。これによって、fipvlanで作成されたFCoEインスタンスが破棄されることはありません。

例: FCoEインスタンス上のeth2.101を破棄する:

fcoeadm -d eth2.101
-h, --help

fcoeadmコマンドの使用に関するメッセージを表示します。

-i, --interface [<ethX>]

指定したネットワークインタフェース上のFCoEインスタンスに関する情報を表示します。ネットワークインタフェースを指定しない場合は、すべてのFCoEインスタンスに関する情報を表示します。

例: 

FCoEインスタンスが作成されているアダプタとそのポートのすべてに関する情報を表示する:

fcoeadm -i

インタフェースeth3上のFCoEインスタンスすべてに関する情報を表示する:

fcoeadm -i eth3
-l, --lun [<ethX>]

指定したネットワークインタフェース上のFCoEインスタンスに関連付けられた、検出されたSCSI LUNに関する詳細情報を表示します。ネットワークインタフェースを指定しない場合は、すべてのFCoEインスタンスからのSCSI LUNに関する情報を表示します。

例: 

すべてのFCoE接続上で検出されたLUNのすべてに関する詳細情報を表示する:

fcoeadm -l

eth3.101など、特定の接続上で検出されたLUNのすべてに関する情報を表示する:

fcoeadm -l eth3.101
-r, --reset <ethX>

指定したネットワークインタフェース上のFCoEインスタンスをリセットします。これによって、fipvlanで作成されたFCoEインスタンスがリセットされることはありません。

例: eth2.101上のFCoEインスタンスをリセットする:

fcoeadm -r eth2.101
-s, --stats <ethX> [interval]

指定したネットワークインタフェース上のFCoEインスタンスの統計情報(FC4統計情報を含む)を表示します。一定の時間間隔で1行ずつ表示します。間隔の値を、0より大きい整数で指定します。間隔の値は、秒単位での間隔の経過時間です。間隔を指定しない場合、デフォルトの間隔は1秒です。

例: 

FCoEインスタンスを持つ特定のeth3ポートに関する統計情報を表示できます。統計情報は、時間間隔ごとに1行ずつ表示されます。このコマンドでは、デフォルトの間隔である1秒は指定していません。

fcoeadm -s eth3

FCoEインスタンスを持つ特定のeth3ポートに関する統計情報を、3秒間隔で表示する場合。統計情報は、時間間隔ごとに1行ずつ表示されます。

fcoeadm -s eth3 3
-S, --Scan <ethX>

指定したネットワークインタフェースに対する新規のターゲットとLUNを再スキャンします。これによって、同じポート上で作成されたNPIV (N_Port ID Virtualization)インスタンスが再スキャンされることはなく、また fipvlanにより作成されたFCoEインスタンスが再スキャンされることもありません。

-t, --target [<ethX>]

指定したネットワークインタフェース上のFCoEインスタンスに関連付けられた、検出されたターゲットに関する情報を表示します。ネットワークインタフェースを指定しない場合は、すべてのFCoEインスタンスからの検出されたターゲットに関する情報を表示します。

例: 

FCoEインスタンスを持つポートのすべてからの、検出されたターゲットのすべてに関する情報を表示できます。ターゲットは、異なるアダプタカード上のものであることもあります。検出された各ターゲットの後ろに、関連付けられたLUNが列記されます。

fcoeadm -t

FCoEインスタンスを持つ所定のeth3ポートからの、検出されたターゲットのすべてに関する情報を表示できます。検出された各ターゲットの後ろに、関連付けられたLUNが列記されます。

fcoeadm -t eth3
-v, --version

fcoeadmコマンドのバージョンを表示します。

FCoEの応答例
FC-IDノード/ポート番号に対するFCoEイニシエータの状態を表示
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:             Online
FC-IDノード/ポート番号に対するFCoEターゲットを表示
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)

16.6 FCoEイニシエータディスク用のパーティションの設定

fdisk(8)コマンドを使用して、FCoEイニシエータディスク用のパーティションを設定できます。

fdisk /dev/sdc
  Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel.
  Building a new DOS disklabel with disk identifier 0xfc691889.
  Changes will remain in memory only, until you decide to write them.
  After that, of course, the previous content won’t be recoverable.

  Warning: Invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

  Command (n for help): n
  Command action
     e    extended
     p    primary partition (1-4)

  p
     Partition number (1-4): 4
     First cylinder (1-1017, default 1): 
       Using default value 1
     Last cylinder, *cylinders or *size(K,M,G) (1-1017, default 1017):
       Using default value 1017

  Command (n for help): w
     The partition table has been altered!

     Calling loctl() to re-read partition table.
     Syncing disks.

16.7 FCoEイニシエータディスクでのファイルシステムの作成

mkfs(8)コマンドを使用して、FCoEイニシエータディスクにファイルシステムを作成できます。

mkfs /dev/sdc
  mke2fs 1.41.9 (22-Aug-2011)
  /dev/sdc is entire device, not just one partition!
  Proceed anyway? (y, n) y
  Filesystem label=
  OS type: Linux
  Block size=4096 (log-2)
  262144 inodes, 1048576 blocks
  52428 blocks (5.00%) reserved for the super user
  First data block=0
  Maximum filesystem blocks=1073741824
  32 block groups
  32768 blocks per group, 32768 fragments per group
  8192 inodes per group
  Superblock backups stored on blocks:
          32768, 98304, 163840, 229376, 294912, 819200, 804736

  Writing inode tables: done
  Writing superblocks and filesystem accounting information: done

  This filesystem will be automatically checked every 27 mounts or
  180 days, whichever comes first. Use tune2fs -c or -i to override.

16.8 追加情報

詳細については、以下のマニュアルを参照してください。

  • Open-FCoEのサービスデーモンについては、fcoemon(8)マニュアルページを参照してください。

  • Open-FCoEの管理ツールについては、fcoeadm(8)マニュアルページを参照してください。

  • データセンターブリッジング設定ツールについては、dcbtool(8)マニュアルページを参照してください。

  • Link Layer Discovery Protocolエージェントデーモンについては、lldpad(8)マニュアルページを参照してください。

  • Open Fibre Channel over Ethernet Quick Start

このページを印刷