Open-FCoEのすゝめ
  SCSTで作るFCoE Target & Initiator
目次
 自己紹介
 FCoEとDCBのおさらい

 準備するもの

 構築の肝

 今後の展望

 参考リンク




                  2
自己紹介
   名前: 高橋 将人(たかはし まさと)
     Twitter: @metamd
     Blog: http://d.hatena.ne.jp/metonymical/

   仕事: 某独立系NIerのネットワークエンジニア(来春から大学生)
       得意分野: 無線LAN、認証、VoIP (LAN&WANは人並みにゴリゴリと)
   住まい: 23区の南端
   コミュニティ: 自宅SAN友の会
     島崎さんの「Openfilerで自宅につくるFibreChannelSAN」に魅了される
     そして、契約、、、じゃなくて自主的に入会

   趣味: アウトドア、ドライブ、自宅インフラ検証
   性格: 照れや、ちょい頑固


                                                     3
FCoEとDCBの
  おさらい
FCOEとDCB
   FCoE(Fibre Channel over Ethernet)
       FCフレームをEthernetでカプセル化する技術


   DCB(Data Center Bridging)
     10GB Ethernetを拡張したIEEEの通信規格
     複数機能で構成(輻輳通知,拡張伝送選択,PFC,DCBX,TRILLなど)
     類似する呼び名: CEE、DCE
     CEE(Converged Enhanced Ethernet) IBM提唱 参加企業多数
     DCE(Data Center Ethernet) Cisco独自 好きですな~w




                                                      5
FCOEとDCB
   つまるところ(少々乱暴な言い方をすると)
       FCoE
        FCフレームを単純にEthernetでカプセル化するだけ
       DCB
        「ロスレスを担保しないEthernet」⇒「ロスレスを担保するFC」へ
        限りなく近づけるために必要


   ぶっちゃけ勉強用や検証用であれば!!!
       CNA(ConvergedNetworkAdapter)が無くても、、、
        10GB NICが無くても、、、
        DCB動かなくても、、、
        『FCoEだけ』なら安価な1GB NICで動作可能

                                               6
今回は?
       FCoEのみにフォーカスを当てる
           理由は、DCBはまだ規格化が若干流動的。
           DCBはFCoEフレーム用途だけに利用される技術ではなく、
            Ethernet全体に影響を与える幅広い規格。
             例えば、 iSCSI over DCB、STPの撲滅etc…
       なので!


                                   FCoE
                                   こっちやります
                                   DCB
                                   こっちはまた追々で
                                   本気でやるなら、『LIOで作るDCB』
Wikiから転載                                                 7
                                   みたいなサブタイトルを付けますから!
準備するもの
最低限必要なモノ
   物理筐体*2台 これ重要!
     家庭用PCでOK
     会社にあったDELLのOptiplex755(スリム型DesktopPC)*2台で動作確認済み
     VM上(仮想マシン)では動作不可 詳細は後述

   NIC*2個 これも重要!
       Intel e1000系ドライバで動作するチップ←これが必須!!!
       チップは825xx系
       ちなみにDELLのOptiplex755は82566DM-2
       私が愛用しているのは、これ↓
        型番:Intel EXPI9301CT (82574Lチップ:Amazon実売4000円以下)
       DCBもやりたい方はIntel X520(82599系)を準備。でもお値段7万円くらい(涙)
   LANケーブル*1本
     そりゃあEthernetですからね
     光ケーブルなんぞ使わずに普通のUTPでいきたいわけですよ
                                                          9
気になるお値段は?
   今回使ったモノ
    品目                            数量       単価

    HP ML115 G5 (諸々の理由で既にゲット済み)        2    ¥13,000
    Intel EXPI9301CT                   2     ¥3,182
    (2011/11/19 amazonで調査 送料無料)
    UTP                                1        ¥300
    (自宅に1本くらいあっても変態じゃないでしょ?)
    合計(単純トータル)                              ¥32,882
    合計(新規購入分のみ)                            ¥6,364
   なので、、、呑み会を1~2回スルーすれば
    FCoEの自宅検証環境がゲットできるwww

                                                       10
TARGET & INITIATORの構成
   DAS構成で行く!
       TargetとInitiatorは必ず物理マシン同士でDAS接続
       VM上では必ず仮想スイッチ経由となるため動作不可
       Console用PCは最悪無くてもOK。
         Console用PCはシェルを叩ければ何でもOK。
         RS232Cは以下の場合の代替手段なため無くてもOK。

         UTP2用のNICが準備できない場合、NIC2枚挿しができない場合etc




                                                 11
中間まとめ
 勉強用&検証用であればFCoEのみ(DCB無し)でも良い
 DCBは10GB NICが前提のためお金が掛かる

 Intel 825xx系(e1000系ドライバ動作)NICが必須

 DAS構成必須

 VM(ESXi,Xen,KVMなど)上では動作しない

 変態扱いされにくい!!!
       サーバが無くても、スリム型DesktopPCでスマートに検証できるw




                                             12
構築の肝
手前味噌ですが
   今回のセミナー内容の詳細手順は、Blogにアップ済み

    How to FCoE FCoE Target & FCoE Initiator
    http://d.hatena.ne.jp/metonymical/20110207
     Fedora13にてFCoE Target&Initiatorの構築手順を記載
     注意
        ちなみに私の過去Blog(http://metaphor1.exblog.jp/13532137/)で、
        「Linux FCoE その3 インストール手順」をアップしてますが、
        ググってヒットしても情報が古いので信用しないこと


 今回は重要ポイントのみに絞って説明
 次項より概ね上記サイトの各項目に沿って説明

                                                               14
構築の流れ
   FCoE Target構築の流れ
    1.   事前準備
    2.   各種パッチ当て
    3.   KernelのBuild
    4.   scst,scstadmin,fcst,fcoeadmのインストール(コンパイル含む)
    5.   VLANやHDDの設定とModuleの読み込み
    6.   SCST設定とFCoE Target有効化設定


   FCoE Initiator構築の流れ
    7.   FCoE Initiatorのインストールと設定
    8.   Targetサービス自動起動設定や疎通確認
    9.   FCoEフレームキャプチャ(Blog未記載の番外編)
                                                       15
1.事前準備
 LinuxKernelソースをDL Ver2.6.35
 SCSTソースをDL Ver2.0.0.x
     上記VerはFedora13上にて動作確認済み
     他Verでは組合せによりNGな場合も有

 その他、細かなln –sとかmkdirなど
 基本的にBlogの内容をコピペすればOK
     コピペでFCoEを構築できる
      レベルまで落とし込み済みw
     こんな感じで⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒




                                16
2.各種パッチ当て
   SCSTソースからKernelにSCST本体を当てる
   SCSTソースからKernelにFCSTを当てる ←これが重要
   SCSTとは
         iSCSI
         FC(qla2x00t)
         FCoE(FCST)
         InfiniBand(SRP)
         DATテープ装置(mhvtl)
        などのTarget機能をLinux Kernel上にソフトウエア的に実装
   FCSTとは
    SCST上でFCoE Target機能を実装
           READMEには
             「FCST is a module that depends on
              libfc and SCST to provide FC target support.」
            と書いてあるけど。あんまり気にしない。
                                                              17
3.KERNELのBUILD
   Linux KernelのMakefile設定
       基本的に設定変更不要
        どのような設定になっているか?を確認していくのみ
       逆に下手な変更を加えないよう気を付けて
   Linux KernelのBuild
       ガッツリ時間が掛る
       ML115G5にAMD Phenom X4 9350eの場合で90分程度
       ML110G6にIntel Core i7 870の場合で50分程度
       なので
         make bzImage && make modules && make modules_install &&
         make install && shutdown –h now
        とコマンドを打ち、一風呂浴びて麦ジュース♪
 起動Kernelの選択
 再起動
                                                                   18
4.SCST,SCSTADMIN,FCST,FCOEADMの
インストール
   scstのインストール
   scstadminのインストール
   fcstのインストール
       この辺はコピペで
       SCSTやFCSTのパッチが正常に当たってないとscstのインストで泣く
   fcoeadmのインストール
       yumでfcoe-utilsをインストール
       『yumは絶対使わない!』という漢な方はソースからのコンパイルも可能
       今回の手順通りなら、/usr/src/scst/trunk/fcstにあるREADMEの
        「7. Install the FCoE admin tools, including dcbd and fcoeadm.」を
        解読すれば出来ます。但し、開発者向けなのでお勧めはしない。
       ソースはOpen-FCoEのサイトからDLする。
        その際、open-fcoeとLinux KernelのVerは合わせるべし。
        http://www.open-fcoe.org/openfc/downloads/2.6.35/open-fcoe-2.6.35.tar.gz
                                                                                   19
5.VLANやHDDの設定とMODULEの読み込み
   VLANの設定 その1:FCoEのcfg-ethx.yyyの設定
       vi /etc/fcoe/cfg-eth1.100にて開いたらConfigをコピペ
       cfg-eth1.100の「1」はNIC番号、「100」はVLAN番号
       ★1は今回DCBを使用しないため”no”とする。
       ★2も同様だがAutoVlanスクリプトが動作しないため手動設定(涙)
        ## Type:       yes/no
        ## Default:    no
        # Enable/Disable FCoE service at the Ethernet port
        FCOE_ENABLE="yes"

        ## Type:       yes/no
        ## Default:    yes
        # Indicate if DCB service is required at the Ethernet port
        DCB_REQUIRED="no"       ★1

        ## Type:        yes/no
        ## Default:     yes
        # Indicate if VLAN discovery should be handled by fcoemon
        AUTO_VLAN="no"          ★2                                   20
5.VLANやHDDの設定とMODULEの読み込み
   VLANの設定 その2:FCoEのconfigの設定
          vi /etc/fcoe/configにて開いたらConfigをコピペ
          ★をDefaultファイルから変更
           「DCBが動いてないぞ!」メッセージが大量に出るため
              ## Type:       yes/no
              ## Default:    no
              # Switch on/off debug messages (script & C code)
              DEBUG="no"

              ## Type:        yes/no
              ## Default:     yes
              # All the messages go to syslog and stderr (script & C code)
              USE_SYSLOG="yes" ★
              ↓
              USE_SYSLOG="no"

    注)その他、Linux上でVLAN Interfaceを作成する手順と原則同じ。
    これが難しいと感じたら、(手前味噌ですが)まずは以下を試してください。
    LinuxによるVLAN Interface作成方法を把握するとより理解が深まります。
        VLAN Interface設定
        http://d.hatena.ne.jp/metonymical/20110106                           21
5.VLANやHDDの設定とMODULEの読み込み
   HDDの設定
       以下のような感じでパーティションを作成
       これも通常のLinuxでHDDのパーティション切る作業と同じ
         # sfdisk -l /dev/sdb

         ディスク /dev/sdb: シリンダ数 60801、ヘッド数 255、63 セクタ/トラック
         ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます

         デバイス ブート 始点             終点 #シリンダ #ブロック Id システム
         /dev/sdb1     0+       30399 30400- 244187968+ 83 Linux
         /dev/sdb2 30400        60800 30401 244196032+ 83 Linux




                                                                   22
5.VLANやHDDの設定とMODULEの読み込み
   Moduleの読み込み確認
       読み込みの順番を間違えなければ大丈夫w
       最終的には以下のモジュールが起動すればOK
        ◆=特に重要,★=重要
        # lsmod
            Module            Size     Used by
        ◆ fcst                14292    0
        ◆ scst_disk           8690     0
        ◆ scst_vdisk          49497    0
        ◆ scst                344380   3 fcst,scst_disk,scst_vdisk
        ◆ fcoe                15375    0
        ◆ libfcoe             10524    1 fcoe
        ◆ libfc               66050    3 fcst,fcoe,libfcoe
        ★ e1000e              158454   0
        ★ scsi_transport_fc   33685    3 fcoe,libfc
        ★ scsi_tgt            8506     1 scsi_transport_fc


       VLAN Interface作成時にMTUを2500へ変更してるので再起動を!
        これ地味に重要です。
        Ethernetの場合はMTU=1518+4(802.1qね)とかだけど、
        FCoEの場合はMTU=2112なので。
                                                                     23
6.SCST設定とFCOE TARGET有効化設定
   SCST設定 その1:Module読み込み
       /usr/libexec/fcoe/fcc.shにてmodprobe前後のステータス確認

       Module読み込み前
        # /usr/libexec/fcoe/fcc.sh

        FC HBAs:
        HBA        Port Name               Port ID   State     Device



       Module読み込み後
        # /usr/libexec/fcoe/fcc.sh

        FC HBAs:
        HBA        Port Name               Port ID   State     Device
        host7      20:64:00:1b:21:49:82:fa -         Offline   eth1.100


       この時点ではInitiatorが動作していないのでOfflineでOK
       Port NameはWWPNになるためメモること!
                                                                          24
6.SCST設定とFCOE TARGET有効化設定
   SCST設定 その2:補足Ⅰ WWPNの構成
       WWPN=20:64:00:1b:21:49:82:faの構成を記載。
    2                   決まり文句 (WWNNの場合は「1」)
    0:64                16進数表記のVLAN番号
                        (256*0+16*6+1*4=100)※
    00:1b:21:49:82:fa   NICのMACアドレス
           ※
           例えば、拡張VLAN(VLAN4010)であれば、
            10進表記4010=16進表記0xFAA
           従って
            {256*15(=F)}+{16*10(=A)}+{1*10(=A)}=4010となる。
   WWPNとVLAN番号が密接に関係している
    ようするにVLANを増やすとHBAを追加したイメージとなる                          25
6.SCST設定とFCOE TARGET有効化設定
   SCST設定 その3:SCST設定投入
         以下のコマンドでTergetデバイスを設定
    1.論理デバイスの設定
    # scstadmin -open_dev dev00 -handler vdisk_blockio -attributes filename=/dev/sdb1

    Collecting current configuration: done.
    -> Making requested changes.
            -> Opening device 'dev00' using handler 'vdisk_blockio': done.
            -> Done.
    All done.

    2.LUNの設定
    # scstadmin -add_lun 0 -driver fcst -target 20:64:00:1b:21:49:82:fa -device dev00

    Collecting current configuration: done.
    -> Making requested changes.
            -> Adding device 'dev00' at LUN 0 to driver/target 'fcst/20:64:00:1b:21:49:82:fa': done.
            -> Done.
    All done.

         fcstをiscsiやqla2x00tに変えると、iSCSIやFCのTargetになる
         ここはscstadminの操作となるのでhelpも要参照
                                                                                                       26
6.SCST設定とFCOE TARGET有効化設定
        SCST設定 その4:補足Ⅱ (セキュリティ)グループ作成
              「SCST設定 その2:SCST設定投入」と異なる点のみをピックアップ
              scstadminのサンプル設定が無いため、実際にやってみたw
1.論理デバイスの設定
# scstadmin -open_dev dev00 -handler vdisk_blockio -attributes filename=/dev/sdb1

2.グループの設定
# scstadmin -add_group host00 -driver fcst -target 20:64:00:1b:21:49:82:fa

Collecting current configuration: done.
-> Making requested changes.
        -> Adding new group 'host00' to driver/target 'fcst/20:64:00:1b:21:49:82:fa': done.
        -> Done.
All done.

3.LUNの設定
# scstadmin -add_lun 0 -driver fcst -target 20:64:00:1b:21:49:82:fa -group host00 -device dev00

Collecting current configuration: done.
-> Making requested changes.
        -> Adding device 'dev00' at LUN 0 to driver/target/group 'fcst/20:64:00:1b:21:49:82:fa/host00': done.
        -> Done.
All done.                                                                                                       27
6.SCST設定とFCOE TARGET有効化設定
   SCST設定 その5:設定保存と設定ファイル確認
    1.設定保存
    # scstadmin -write_config /etc/scst.conf

    2.設定確認
    # vi /etc/scst.conf

    HANDLER vdisk_blockio {
                DEVICE dev00 {
                            filename /dev/sdb1
                }
    }

    TARGET_DRIVER fcst {
                TARGET 20:64:00:1b:21:49:82:fa {
                            enabled 0
                                        LUN 0 dev00
                }
    }


                                                      28
6.SCST設定とFCOE TARGET有効化設定
   FCoE Target有効化設定
     1.WWPNのディレクトリ確認
     # ls -Fal /sys/kernel/scst_tgt/targets/fcst

     合計 0
     drwxr-xr-x 3 root root 0 2010-10-25 23:33 ./
     drwxr-xr-x 3 root root 0 2010-10-25 23:33 ../
     drwxr-xr-x 5 root root 0 2010-10-25 23:33 20:64:00:1b:21:49:82:fa/

     2.FCoE TargetのEnable化
     # cd /sys/kernel/scst_tgt/targets/fcst
     # LPORT=20:64:00:1b:21:49:82:fa
     # echo 1 > $LPORT/enabled




FCoE Targetの構築はこれにて完了

                                                                          29
7.FCOE INITIATORのインストールと設定
 FCoE Initiator(fcoeadm)のインストール
 VLAN Interface設定

 FCoEサービスの起動設定と再起動
       基本的にはTarget時と同様の操作なのでさほど難しくない
       Initiator固有の値(MACアドレスなど)がTarget側と被らないよう留意


   構築中かなり不安定な挙動を示す場合もある
    何か変だと思ったら迷わずOS(筐体)を再起動




                                                30
7.FCOE INITIATORのインストールと設定
        FCoE Initiatorの動作確認 その1:NIC&LUN動作確認
NIC動作確認                                                LUN動作確認
# fcoeadm -i eth1.100                                  # fcoeadm -l eth1.100

Description:       82574L Gigabit Network Connection   Interface:         eth1.100
Revision:          00                                  Roles:             FCP Target, FCP Initiator
                                                       Node Name:         0x1000001B214982FA
Manufacturer:      Intel Corporation                   Port Name:         0x2064001B214982FA
Serial Number:     001B21570B9C                        Target ID:         0
Driver:            e1000e 1.0.2-k2                     MaxFrameSize:      2112
Number of Ports:   1                                   OS Device Name:    rport-7:0-0
                                                       FC-ID (Port ID):   0x010101
Symbolic Name:     fcoe v0.1 over eth1.100             State:             Online
OS Device Name:    host7                               LUN #0 Information:
Node Name:         0x1000001B21570B9C                    OS Device Name:       /dev/sdb
Port Name:         0x2064001B21570B9C                    Description:          SCST_BIO dev00 (rev    210)
FabricName:        0x0000000000000000                    Ethernet Port FCID:   0x010102
Speed:             Unknown                               Target FCID:          0x010101
                                                         Target ID:            0
Supported Speed:   Unknown                               LUN ID:               0
MaxFrameSize:      2112                                  Capacity:             232.88 GB
FC-ID (Port ID):   0x010102                              Capacity in Blocks:   488375936
State:             Online                                Block Size:           512 bytes
                                                         Status:               Attached
                                                                                                             31
7.FCOE INITIATORのインストールと設定
   FCoE Initiatorの動作確認 その2:Target情報の確認
        # fcoeadm -t eth1.100
        Interface:                eth1.100
        Roles:                    FCP Target, FCP Initiator
        Node Name:                0x1000001B214982FA
        Port Name:                0x2064001B214982FA
        Target ID:                0
        MaxFrameSize:             2112
        OS Device Name:           rport-7:0-0
        FC-ID (Port ID):          0x010101
        State:                    Online

        LUN ID   Device Name     Capacity  Block Size Description
        ------   -----------    ---------- ---------- ----------------------------
             0   /dev/sdb        232.88 GB     512    SCST_BIO dev00 (rev 210)


FCoE Initiatorの構築はこれにて完了
ここまでくれば後はInitiatorに物理HDDを追加したときと同じ。
fdisk、mkfs、mount、hdparmなどが可能。
但し、fstabの修正は要注意。
理由:FCoEサービス起動後にDeviceが認識されるため。
                                                                                     32
8.TARGETサービス自動起動設定や疎通確認
   Targetサービス自動起動設定
           Mustではないため割愛
           但し、やってみて損はないので詳細はBlogで
   疎通確認
           こんな↓感じで
             # fcping -h eth1.100 -F 010101 -c 5

             sending echo to 0x010101
             echo    1 accepted                        0.194 ms
             echo    2 accepted                        0.132 ms
             echo    3 accepted                        0.170 ms
             echo    4 accepted                        0.129 ms
             echo    5 accepted                        0.167 ms
             5 frames sent, 5 received 0 errors, 0.000% loss, avg. rt time 0.158 ms

           各Optionについて以下に補足
             -h =Interface(HBA)を指定
             -F =宛先Port IDを指定
             -c =fcpingの回数を指定
                                                                                      33
9.FCOEフレームキャプチャ
(BLOG未記載の番外編)

   環境構築したのはいいけれど、
    実際のシーケンスがわからないと・・・
       お勉強してもいまいちピンと来ない&理解が深まらない
       本当に規格通り動作しているのか怪しいと疑ってしまう(私だけかも?)
       トラシューがすごく辛い


   容易にキャプチャできる環境はあった方が良い!
    でも、FCのキャプチャは比較的敷居が高い

   だけど、FCoEのキャプチャはどうなの?イケるの?
    結論: Wiresharkで簡単にイケるwww
    普通のEthernetをキャプチャするのと同じ

                                            34
9.FCOEフレームキャプチャ
   具体的にはWiresharkに同梱されるTSharkを使用
       実際のところGUI環境であってもTSharkの使用をお勧め
       当然ですがデータ量が半端ないのでGUIだと負荷増大

   キャプチャ前準備
       今回はFCoE Target側で操作すること想定して記載
       yum -y install wireshark にてインスト後、
        キャプチャ元のインターフェース番号を確認
          # tshark –D
          1. eth0
          2. eth1
          3. eth1.100
          4. usbmon1 (USB bus number 1)
          5. usbmon2 (USB bus number 2)
          6. any (Pseudo-device that captures on all interfaces)
          7. lo


       通常は「2. eth1」の「2」でOK 802.1qタグも付与されるw
       複数VLANを切っている場合「3. eth1.100」 「4. eth1.200」 「5. eth1.300」のよう
        なイメージで複数表示。特定VLANのみをキャプる場合にはこっちを使う。
                                                                     35
9.FCOEフレームキャプチャ
   キャプチャ開始
              # tshark -n -i 2 -w /root/fcoe01.pcap
              Running as user "root" and group "root". This could be dangerous.
              Capturing on eth1
              21 ←キャプチャしたフレーム数

           各Optionについて以下に補足
             -n=キャプチャ時の名前解決をDisable(負荷軽減)
             -i=インターフェース番号(今回は「2. eth1」なので「2」)
             -w=キャプチャファイルの保存先Path
   その他
           大容量&長時間キャプチャするなら以下も知っ得Option
             -b duration:10=10秒毎にファイルを生成
             -b files:50=50ファイル生成後にファイルローテーション
           こんな感じでOK
            # tshark -n -i 2 -w /root/fcoe01.pcap –b duration:10 –b files:50

           注意
            Fedora13のyumでインストされる「wireshark-1.2.17-1.fc13.x86_64」だと
            上記Option未対応なので新しめ(1.6系)のwiresharkをインストしてください。
                                                                                  36
9.FCOEフレームキャプチャ
            キャプチャ結果 その1:Initiator起動       ①

             ①シーケンス
             ②Ethernet
             ③FCoE
             ④FC



                                       ②

                                       ③
1.   Initiator:シャットダウン
2.   Target:キャプチャ開始
                                       ④
3.   Initiator:電源On
4.   Initiator:起動完了
5.   Target:キャプチャ終了
                                               37
9.FCOEフレームキャプチャ
             キャプチャ結果 その2:txtファイルコピー           ①
             ①シーケンス
             ②データ部
             ③バイナリ


                                       ②




1.   Initiator:Diskマウント
2.   Target:キャプチャ開始                        ③
3.   Initiator:ファイルcp開始
4.   Initiator:ファイルcp完了
5.   Target:キャプチャ終了
                                                   38
9.FCOEフレームキャプチャ
   活用方法
       DCBが未動作/動作時のキャプチャを比較すると、
        FCoEとDCBの挙動の違いを把握
       FCoE対応SW有/無時のキャプチャを比較すると、
        FIP(FCoE Initialization Protocol)とFCoEの挙動の違いを把握
       もちろんバイナリレベルでの調査&トラシューが可能
   キャプチャ結果ファイルはアップ済み
       その1:Initiator起動
        http://bit.ly/uSRsHR
       その2:txtファイルコピー
        http://bit.ly/sbPhwh
   構築は面倒、でもサクッとお勉強したい方はどうぞ!
       「バイナリを見ていると萌える」という方も、もちろんどうぞ!
                                                          39
まとめ
 FCoE Target&Initiatorの構築は自宅でできる時代
 SCSTは様々なTarget機能をLinuxKernel上にソフトウエア実装

 FCSTはSCST上でFCoE Target機能を実装

 FCoEはWWPNとVLAN番号が密接に関係

 構築中に怪しい挙動がしたら迷わずOS再起動

 fstabの修正は要注意

 FCoEはWiresharkで簡単にキャプチャできる!

 自分で構築した検証環境でキャプチャすれば
  FCoEに対する理解がもっと深まる!
 FCoEが一般的&主流になる前の今がチャンス!


                                           40
今後の展望
現在の主流とINTEL X540
   LIO/TCMで作るFCoE Target
     本家Open-FCoE.orgのサイトでは、LIO/TCMが現在の主流
     但し、LIO/TCMではDCBの実装が必須っぽいので10GBのNICが必要。
     そもそもSCST用FCoE Targetモジュール(FCSTのことね)は、
      CiscoのJoe Eykholt氏が開発用に作成したもので現在は開発停止中。

   待望のIntel x540/x540T搭載NIC(DCB実装可能な10GB)
     Intel x540/x540Tは、Intel x520(82599)や82598系チップの後継にあたる。
     LinuxはもちろんSolarisやESXi5.x系でも既にドライバが組込済 or DL可能。
     IDF2010での発表から1年。もうぼちぼち世に出てくれても良いのに。
     Port単価は以下の通り
        •   Intel 82598系       $599/port
        •   Intel x520(82599)系 $399/port
        •   Intel x540系        $2xx/port になりそげな状況
            (今は円高だからD万円を割り込むと勝手に想定)                           42
ちょっと戯言
   今後のインフラエンジニアは
     いかに安価に、いかに早く新技術を習得できるかが、
      これからのインフラエンジニアに求められると想定しています。
     『自宅SAN友の会』の醍醐味も、まさしくここにアリ。
      だから、これからも自宅でSANの自主トレに精進していきましょう。
     『LIO/TCMで作るFCoE+DCB Target&Initiator』といったような
      サブタイトルでDCBを掘り下げたセミナーとかやりたいなぁ。。。

   お・ね・が・い☆
     「○○(例えばCNA)が無いとFCoEができない。」なんていう戯言は、
      もう言わない、と。 ←ちょいダサい(と思う)
     今までできなかったことを、できるようにするのがエンジニアw ←イケてる♪
     それを手助けしてくれるのがオープンソースであり、
      『自宅SAN友の会』の主旨でもある! ←カッコイイでしょ?(ちょい変態扱いされてるけど)


        まずやってみよう!                                    43
参考リンク
   Open-FCoE.org
    http://www.open-fcoe.org/open-fcoe
   SCST
    http://scst.sourceforge.net/index.html
   LIO/TCM
    http://linux-iscsi.org/wiki/Main_Page
   大原雄介の最新インターフェイス動向 10GBase-Tその3
    http://pc.watch.impress.co.jp/docs/column/interface/20101126_409100.html




                                                                               44
ご清聴ありがとうございました
つづきは懇親会で♪



                 45

Open-FCoE_osc2011tokyofall_20111119

  • 1.
  • 2.
    目次  自己紹介  FCoEとDCBのおさらい 準備するもの  構築の肝  今後の展望  参考リンク 2
  • 3.
    自己紹介  名前: 高橋 将人(たかはし まさと)  Twitter: @metamd  Blog: http://d.hatena.ne.jp/metonymical/  仕事: 某独立系NIerのネットワークエンジニア(来春から大学生)  得意分野: 無線LAN、認証、VoIP (LAN&WANは人並みにゴリゴリと)  住まい: 23区の南端  コミュニティ: 自宅SAN友の会  島崎さんの「Openfilerで自宅につくるFibreChannelSAN」に魅了される  そして、契約、、、じゃなくて自主的に入会  趣味: アウトドア、ドライブ、自宅インフラ検証  性格: 照れや、ちょい頑固 3
  • 4.
  • 5.
    FCOEとDCB  FCoE(Fibre Channel over Ethernet)  FCフレームをEthernetでカプセル化する技術  DCB(Data Center Bridging)  10GB Ethernetを拡張したIEEEの通信規格  複数機能で構成(輻輳通知,拡張伝送選択,PFC,DCBX,TRILLなど)  類似する呼び名: CEE、DCE CEE(Converged Enhanced Ethernet) IBM提唱 参加企業多数 DCE(Data Center Ethernet) Cisco独自 好きですな~w 5
  • 6.
    FCOEとDCB  つまるところ(少々乱暴な言い方をすると)  FCoE FCフレームを単純にEthernetでカプセル化するだけ  DCB 「ロスレスを担保しないEthernet」⇒「ロスレスを担保するFC」へ 限りなく近づけるために必要  ぶっちゃけ勉強用や検証用であれば!!!  CNA(ConvergedNetworkAdapter)が無くても、、、 10GB NICが無くても、、、 DCB動かなくても、、、 『FCoEだけ』なら安価な1GB NICで動作可能 6
  • 7.
    今回は?  FCoEのみにフォーカスを当てる  理由は、DCBはまだ規格化が若干流動的。  DCBはFCoEフレーム用途だけに利用される技術ではなく、 Ethernet全体に影響を与える幅広い規格。 例えば、 iSCSI over DCB、STPの撲滅etc…  なので! FCoE こっちやります DCB こっちはまた追々で 本気でやるなら、『LIOで作るDCB』 Wikiから転載 7 みたいなサブタイトルを付けますから!
  • 8.
  • 9.
    最低限必要なモノ  物理筐体*2台 これ重要!  家庭用PCでOK  会社にあったDELLのOptiplex755(スリム型DesktopPC)*2台で動作確認済み  VM上(仮想マシン)では動作不可 詳細は後述  NIC*2個 これも重要!  Intel e1000系ドライバで動作するチップ←これが必須!!!  チップは825xx系  ちなみにDELLのOptiplex755は82566DM-2  私が愛用しているのは、これ↓ 型番:Intel EXPI9301CT (82574Lチップ:Amazon実売4000円以下)  DCBもやりたい方はIntel X520(82599系)を準備。でもお値段7万円くらい(涙)  LANケーブル*1本  そりゃあEthernetですからね  光ケーブルなんぞ使わずに普通のUTPでいきたいわけですよ 9
  • 10.
    気になるお値段は?  今回使ったモノ 品目 数量 単価 HP ML115 G5 (諸々の理由で既にゲット済み) 2 ¥13,000 Intel EXPI9301CT 2 ¥3,182 (2011/11/19 amazonで調査 送料無料) UTP 1 ¥300 (自宅に1本くらいあっても変態じゃないでしょ?) 合計(単純トータル) ¥32,882 合計(新規購入分のみ) ¥6,364  なので、、、呑み会を1~2回スルーすれば FCoEの自宅検証環境がゲットできるwww 10
  • 11.
    TARGET & INITIATORの構成  DAS構成で行く!  TargetとInitiatorは必ず物理マシン同士でDAS接続  VM上では必ず仮想スイッチ経由となるため動作不可  Console用PCは最悪無くてもOK。  Console用PCはシェルを叩ければ何でもOK。  RS232Cは以下の場合の代替手段なため無くてもOK。  UTP2用のNICが準備できない場合、NIC2枚挿しができない場合etc 11
  • 12.
    中間まとめ  勉強用&検証用であればFCoEのみ(DCB無し)でも良い  DCBは10GBNICが前提のためお金が掛かる  Intel 825xx系(e1000系ドライバ動作)NICが必須  DAS構成必須  VM(ESXi,Xen,KVMなど)上では動作しない  変態扱いされにくい!!!  サーバが無くても、スリム型DesktopPCでスマートに検証できるw 12
  • 13.
  • 14.
    手前味噌ですが  今回のセミナー内容の詳細手順は、Blogにアップ済み How to FCoE FCoE Target & FCoE Initiator http://d.hatena.ne.jp/metonymical/20110207  Fedora13にてFCoE Target&Initiatorの構築手順を記載  注意 ちなみに私の過去Blog(http://metaphor1.exblog.jp/13532137/)で、 「Linux FCoE その3 インストール手順」をアップしてますが、 ググってヒットしても情報が古いので信用しないこと  今回は重要ポイントのみに絞って説明  次項より概ね上記サイトの各項目に沿って説明 14
  • 15.
    構築の流れ  FCoE Target構築の流れ 1. 事前準備 2. 各種パッチ当て 3. KernelのBuild 4. scst,scstadmin,fcst,fcoeadmのインストール(コンパイル含む) 5. VLANやHDDの設定とModuleの読み込み 6. SCST設定とFCoE Target有効化設定  FCoE Initiator構築の流れ 7. FCoE Initiatorのインストールと設定 8. Targetサービス自動起動設定や疎通確認 9. FCoEフレームキャプチャ(Blog未記載の番外編) 15
  • 16.
    1.事前準備  LinuxKernelソースをDL Ver2.6.35 SCSTソースをDL Ver2.0.0.x  上記VerはFedora13上にて動作確認済み  他Verでは組合せによりNGな場合も有  その他、細かなln –sとかmkdirなど  基本的にBlogの内容をコピペすればOK  コピペでFCoEを構築できる レベルまで落とし込み済みw  こんな感じで⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ 16
  • 17.
    2.各種パッチ当て  SCSTソースからKernelにSCST本体を当てる  SCSTソースからKernelにFCSTを当てる ←これが重要  SCSTとは  iSCSI  FC(qla2x00t)  FCoE(FCST)  InfiniBand(SRP)  DATテープ装置(mhvtl) などのTarget機能をLinux Kernel上にソフトウエア的に実装  FCSTとは SCST上でFCoE Target機能を実装  READMEには 「FCST is a module that depends on libfc and SCST to provide FC target support.」 と書いてあるけど。あんまり気にしない。 17
  • 18.
    3.KERNELのBUILD  Linux KernelのMakefile設定  基本的に設定変更不要 どのような設定になっているか?を確認していくのみ  逆に下手な変更を加えないよう気を付けて  Linux KernelのBuild  ガッツリ時間が掛る  ML115G5にAMD Phenom X4 9350eの場合で90分程度  ML110G6にIntel Core i7 870の場合で50分程度  なので make bzImage && make modules && make modules_install && make install && shutdown –h now とコマンドを打ち、一風呂浴びて麦ジュース♪  起動Kernelの選択  再起動 18
  • 19.
    4.SCST,SCSTADMIN,FCST,FCOEADMの インストール  scstのインストール  scstadminのインストール  fcstのインストール  この辺はコピペで  SCSTやFCSTのパッチが正常に当たってないとscstのインストで泣く  fcoeadmのインストール  yumでfcoe-utilsをインストール  『yumは絶対使わない!』という漢な方はソースからのコンパイルも可能  今回の手順通りなら、/usr/src/scst/trunk/fcstにあるREADMEの 「7. Install the FCoE admin tools, including dcbd and fcoeadm.」を 解読すれば出来ます。但し、開発者向けなのでお勧めはしない。  ソースはOpen-FCoEのサイトからDLする。 その際、open-fcoeとLinux KernelのVerは合わせるべし。 http://www.open-fcoe.org/openfc/downloads/2.6.35/open-fcoe-2.6.35.tar.gz 19
  • 20.
    5.VLANやHDDの設定とMODULEの読み込み  VLANの設定 その1:FCoEのcfg-ethx.yyyの設定  vi /etc/fcoe/cfg-eth1.100にて開いたらConfigをコピペ  cfg-eth1.100の「1」はNIC番号、「100」はVLAN番号  ★1は今回DCBを使用しないため”no”とする。  ★2も同様だがAutoVlanスクリプトが動作しないため手動設定(涙) ## Type: yes/no ## Default: no # Enable/Disable FCoE service at the Ethernet port FCOE_ENABLE="yes" ## Type: yes/no ## Default: yes # Indicate if DCB service is required at the Ethernet port DCB_REQUIRED="no" ★1 ## Type: yes/no ## Default: yes # Indicate if VLAN discovery should be handled by fcoemon AUTO_VLAN="no" ★2 20
  • 21.
    5.VLANやHDDの設定とMODULEの読み込み  VLANの設定 その2:FCoEのconfigの設定  vi /etc/fcoe/configにて開いたらConfigをコピペ  ★をDefaultファイルから変更 「DCBが動いてないぞ!」メッセージが大量に出るため ## Type: yes/no ## Default: no # Switch on/off debug messages (script & C code) DEBUG="no" ## Type: yes/no ## Default: yes # All the messages go to syslog and stderr (script & C code) USE_SYSLOG="yes" ★ ↓ USE_SYSLOG="no" 注)その他、Linux上でVLAN Interfaceを作成する手順と原則同じ。 これが難しいと感じたら、(手前味噌ですが)まずは以下を試してください。 LinuxによるVLAN Interface作成方法を把握するとより理解が深まります。 VLAN Interface設定 http://d.hatena.ne.jp/metonymical/20110106 21
  • 22.
    5.VLANやHDDの設定とMODULEの読み込み  HDDの設定  以下のような感じでパーティションを作成  これも通常のLinuxでHDDのパーティション切る作業と同じ # sfdisk -l /dev/sdb ディスク /dev/sdb: シリンダ数 60801、ヘッド数 255、63 セクタ/トラック ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます デバイス ブート 始点 終点 #シリンダ #ブロック Id システム /dev/sdb1 0+ 30399 30400- 244187968+ 83 Linux /dev/sdb2 30400 60800 30401 244196032+ 83 Linux 22
  • 23.
    5.VLANやHDDの設定とMODULEの読み込み  Moduleの読み込み確認  読み込みの順番を間違えなければ大丈夫w  最終的には以下のモジュールが起動すればOK ◆=特に重要,★=重要 # lsmod Module Size Used by ◆ fcst 14292 0 ◆ scst_disk 8690 0 ◆ scst_vdisk 49497 0 ◆ scst 344380 3 fcst,scst_disk,scst_vdisk ◆ fcoe 15375 0 ◆ libfcoe 10524 1 fcoe ◆ libfc 66050 3 fcst,fcoe,libfcoe ★ e1000e 158454 0 ★ scsi_transport_fc 33685 3 fcoe,libfc ★ scsi_tgt 8506 1 scsi_transport_fc  VLAN Interface作成時にMTUを2500へ変更してるので再起動を! これ地味に重要です。 Ethernetの場合はMTU=1518+4(802.1qね)とかだけど、 FCoEの場合はMTU=2112なので。 23
  • 24.
    6.SCST設定とFCOE TARGET有効化設定  SCST設定 その1:Module読み込み  /usr/libexec/fcoe/fcc.shにてmodprobe前後のステータス確認  Module読み込み前 # /usr/libexec/fcoe/fcc.sh FC HBAs: HBA Port Name Port ID State Device  Module読み込み後 # /usr/libexec/fcoe/fcc.sh FC HBAs: HBA Port Name Port ID State Device host7 20:64:00:1b:21:49:82:fa - Offline eth1.100  この時点ではInitiatorが動作していないのでOfflineでOK  Port NameはWWPNになるためメモること! 24
  • 25.
    6.SCST設定とFCOE TARGET有効化設定  SCST設定 その2:補足Ⅰ WWPNの構成  WWPN=20:64:00:1b:21:49:82:faの構成を記載。 2 決まり文句 (WWNNの場合は「1」) 0:64 16進数表記のVLAN番号 (256*0+16*6+1*4=100)※ 00:1b:21:49:82:fa NICのMACアドレス ※ 例えば、拡張VLAN(VLAN4010)であれば、 10進表記4010=16進表記0xFAA 従って {256*15(=F)}+{16*10(=A)}+{1*10(=A)}=4010となる。  WWPNとVLAN番号が密接に関係している ようするにVLANを増やすとHBAを追加したイメージとなる 25
  • 26.
    6.SCST設定とFCOE TARGET有効化設定  SCST設定 その3:SCST設定投入  以下のコマンドでTergetデバイスを設定 1.論理デバイスの設定 # scstadmin -open_dev dev00 -handler vdisk_blockio -attributes filename=/dev/sdb1 Collecting current configuration: done. -> Making requested changes. -> Opening device 'dev00' using handler 'vdisk_blockio': done. -> Done. All done. 2.LUNの設定 # scstadmin -add_lun 0 -driver fcst -target 20:64:00:1b:21:49:82:fa -device dev00 Collecting current configuration: done. -> Making requested changes. -> Adding device 'dev00' at LUN 0 to driver/target 'fcst/20:64:00:1b:21:49:82:fa': done. -> Done. All done.  fcstをiscsiやqla2x00tに変えると、iSCSIやFCのTargetになる  ここはscstadminの操作となるのでhelpも要参照 26
  • 27.
    6.SCST設定とFCOE TARGET有効化設定  SCST設定 その4:補足Ⅱ (セキュリティ)グループ作成  「SCST設定 その2:SCST設定投入」と異なる点のみをピックアップ  scstadminのサンプル設定が無いため、実際にやってみたw 1.論理デバイスの設定 # scstadmin -open_dev dev00 -handler vdisk_blockio -attributes filename=/dev/sdb1 2.グループの設定 # scstadmin -add_group host00 -driver fcst -target 20:64:00:1b:21:49:82:fa Collecting current configuration: done. -> Making requested changes. -> Adding new group 'host00' to driver/target 'fcst/20:64:00:1b:21:49:82:fa': done. -> Done. All done. 3.LUNの設定 # scstadmin -add_lun 0 -driver fcst -target 20:64:00:1b:21:49:82:fa -group host00 -device dev00 Collecting current configuration: done. -> Making requested changes. -> Adding device 'dev00' at LUN 0 to driver/target/group 'fcst/20:64:00:1b:21:49:82:fa/host00': done. -> Done. All done. 27
  • 28.
    6.SCST設定とFCOE TARGET有効化設定  SCST設定 その5:設定保存と設定ファイル確認 1.設定保存 # scstadmin -write_config /etc/scst.conf 2.設定確認 # vi /etc/scst.conf HANDLER vdisk_blockio { DEVICE dev00 { filename /dev/sdb1 } } TARGET_DRIVER fcst { TARGET 20:64:00:1b:21:49:82:fa { enabled 0 LUN 0 dev00 } } 28
  • 29.
    6.SCST設定とFCOE TARGET有効化設定  FCoE Target有効化設定 1.WWPNのディレクトリ確認 # ls -Fal /sys/kernel/scst_tgt/targets/fcst 合計 0 drwxr-xr-x 3 root root 0 2010-10-25 23:33 ./ drwxr-xr-x 3 root root 0 2010-10-25 23:33 ../ drwxr-xr-x 5 root root 0 2010-10-25 23:33 20:64:00:1b:21:49:82:fa/ 2.FCoE TargetのEnable化 # cd /sys/kernel/scst_tgt/targets/fcst # LPORT=20:64:00:1b:21:49:82:fa # echo 1 > $LPORT/enabled FCoE Targetの構築はこれにて完了 29
  • 30.
    7.FCOE INITIATORのインストールと設定  FCoEInitiator(fcoeadm)のインストール  VLAN Interface設定  FCoEサービスの起動設定と再起動  基本的にはTarget時と同様の操作なのでさほど難しくない  Initiator固有の値(MACアドレスなど)がTarget側と被らないよう留意  構築中かなり不安定な挙動を示す場合もある 何か変だと思ったら迷わずOS(筐体)を再起動 30
  • 31.
    7.FCOE INITIATORのインストールと設定  FCoE Initiatorの動作確認 その1:NIC&LUN動作確認 NIC動作確認 LUN動作確認 # fcoeadm -i eth1.100 # fcoeadm -l eth1.100 Description: 82574L Gigabit Network Connection Interface: eth1.100 Revision: 00 Roles: FCP Target, FCP Initiator Node Name: 0x1000001B214982FA Manufacturer: Intel Corporation Port Name: 0x2064001B214982FA Serial Number: 001B21570B9C Target ID: 0 Driver: e1000e 1.0.2-k2 MaxFrameSize: 2112 Number of Ports: 1 OS Device Name: rport-7:0-0 FC-ID (Port ID): 0x010101 Symbolic Name: fcoe v0.1 over eth1.100 State: Online OS Device Name: host7 LUN #0 Information: Node Name: 0x1000001B21570B9C OS Device Name: /dev/sdb Port Name: 0x2064001B21570B9C Description: SCST_BIO dev00 (rev 210) FabricName: 0x0000000000000000 Ethernet Port FCID: 0x010102 Speed: Unknown Target FCID: 0x010101 Target ID: 0 Supported Speed: Unknown LUN ID: 0 MaxFrameSize: 2112 Capacity: 232.88 GB FC-ID (Port ID): 0x010102 Capacity in Blocks: 488375936 State: Online Block Size: 512 bytes Status: Attached 31
  • 32.
    7.FCOE INITIATORのインストールと設定  FCoE Initiatorの動作確認 その2:Target情報の確認 # fcoeadm -t eth1.100 Interface: eth1.100 Roles: FCP Target, FCP Initiator Node Name: 0x1000001B214982FA Port Name: 0x2064001B214982FA Target ID: 0 MaxFrameSize: 2112 OS Device Name: rport-7:0-0 FC-ID (Port ID): 0x010101 State: Online LUN ID Device Name Capacity Block Size Description ------ ----------- ---------- ---------- ---------------------------- 0 /dev/sdb 232.88 GB 512 SCST_BIO dev00 (rev 210) FCoE Initiatorの構築はこれにて完了 ここまでくれば後はInitiatorに物理HDDを追加したときと同じ。 fdisk、mkfs、mount、hdparmなどが可能。 但し、fstabの修正は要注意。 理由:FCoEサービス起動後にDeviceが認識されるため。 32
  • 33.
    8.TARGETサービス自動起動設定や疎通確認  Targetサービス自動起動設定  Mustではないため割愛  但し、やってみて損はないので詳細はBlogで  疎通確認  こんな↓感じで # fcping -h eth1.100 -F 010101 -c 5 sending echo to 0x010101 echo 1 accepted 0.194 ms echo 2 accepted 0.132 ms echo 3 accepted 0.170 ms echo 4 accepted 0.129 ms echo 5 accepted 0.167 ms 5 frames sent, 5 received 0 errors, 0.000% loss, avg. rt time 0.158 ms  各Optionについて以下に補足  -h =Interface(HBA)を指定  -F =宛先Port IDを指定  -c =fcpingの回数を指定 33
  • 34.
    9.FCOEフレームキャプチャ (BLOG未記載の番外編)  環境構築したのはいいけれど、 実際のシーケンスがわからないと・・・  お勉強してもいまいちピンと来ない&理解が深まらない  本当に規格通り動作しているのか怪しいと疑ってしまう(私だけかも?)  トラシューがすごく辛い  容易にキャプチャできる環境はあった方が良い! でも、FCのキャプチャは比較的敷居が高い  だけど、FCoEのキャプチャはどうなの?イケるの? 結論: Wiresharkで簡単にイケるwww 普通のEthernetをキャプチャするのと同じ 34
  • 35.
    9.FCOEフレームキャプチャ  具体的にはWiresharkに同梱されるTSharkを使用  実際のところGUI環境であってもTSharkの使用をお勧め  当然ですがデータ量が半端ないのでGUIだと負荷増大  キャプチャ前準備  今回はFCoE Target側で操作すること想定して記載  yum -y install wireshark にてインスト後、 キャプチャ元のインターフェース番号を確認 # tshark –D 1. eth0 2. eth1 3. eth1.100 4. usbmon1 (USB bus number 1) 5. usbmon2 (USB bus number 2) 6. any (Pseudo-device that captures on all interfaces) 7. lo  通常は「2. eth1」の「2」でOK 802.1qタグも付与されるw  複数VLANを切っている場合「3. eth1.100」 「4. eth1.200」 「5. eth1.300」のよう なイメージで複数表示。特定VLANのみをキャプる場合にはこっちを使う。 35
  • 36.
    9.FCOEフレームキャプチャ  キャプチャ開始 # tshark -n -i 2 -w /root/fcoe01.pcap Running as user "root" and group "root". This could be dangerous. Capturing on eth1 21 ←キャプチャしたフレーム数  各Optionについて以下に補足  -n=キャプチャ時の名前解決をDisable(負荷軽減)  -i=インターフェース番号(今回は「2. eth1」なので「2」)  -w=キャプチャファイルの保存先Path  その他  大容量&長時間キャプチャするなら以下も知っ得Option  -b duration:10=10秒毎にファイルを生成  -b files:50=50ファイル生成後にファイルローテーション  こんな感じでOK # tshark -n -i 2 -w /root/fcoe01.pcap –b duration:10 –b files:50  注意 Fedora13のyumでインストされる「wireshark-1.2.17-1.fc13.x86_64」だと 上記Option未対応なので新しめ(1.6系)のwiresharkをインストしてください。 36
  • 37.
    9.FCOEフレームキャプチャ  キャプチャ結果 その1:Initiator起動 ①  ①シーケンス  ②Ethernet  ③FCoE  ④FC ② ③ 1. Initiator:シャットダウン 2. Target:キャプチャ開始 ④ 3. Initiator:電源On 4. Initiator:起動完了 5. Target:キャプチャ終了 37
  • 38.
    9.FCOEフレームキャプチャ  キャプチャ結果 その2:txtファイルコピー ①  ①シーケンス  ②データ部  ③バイナリ ② 1. Initiator:Diskマウント 2. Target:キャプチャ開始 ③ 3. Initiator:ファイルcp開始 4. Initiator:ファイルcp完了 5. Target:キャプチャ終了 38
  • 39.
    9.FCOEフレームキャプチャ  活用方法  DCBが未動作/動作時のキャプチャを比較すると、 FCoEとDCBの挙動の違いを把握  FCoE対応SW有/無時のキャプチャを比較すると、 FIP(FCoE Initialization Protocol)とFCoEの挙動の違いを把握  もちろんバイナリレベルでの調査&トラシューが可能  キャプチャ結果ファイルはアップ済み  その1:Initiator起動 http://bit.ly/uSRsHR  その2:txtファイルコピー http://bit.ly/sbPhwh  構築は面倒、でもサクッとお勉強したい方はどうぞ!  「バイナリを見ていると萌える」という方も、もちろんどうぞ! 39
  • 40.
    まとめ  FCoE Target&Initiatorの構築は自宅でできる時代 SCSTは様々なTarget機能をLinuxKernel上にソフトウエア実装  FCSTはSCST上でFCoE Target機能を実装  FCoEはWWPNとVLAN番号が密接に関係  構築中に怪しい挙動がしたら迷わずOS再起動  fstabの修正は要注意  FCoEはWiresharkで簡単にキャプチャできる!  自分で構築した検証環境でキャプチャすれば FCoEに対する理解がもっと深まる!  FCoEが一般的&主流になる前の今がチャンス! 40
  • 41.
  • 42.
    現在の主流とINTEL X540  LIO/TCMで作るFCoE Target  本家Open-FCoE.orgのサイトでは、LIO/TCMが現在の主流  但し、LIO/TCMではDCBの実装が必須っぽいので10GBのNICが必要。  そもそもSCST用FCoE Targetモジュール(FCSTのことね)は、 CiscoのJoe Eykholt氏が開発用に作成したもので現在は開発停止中。  待望のIntel x540/x540T搭載NIC(DCB実装可能な10GB)  Intel x540/x540Tは、Intel x520(82599)や82598系チップの後継にあたる。  LinuxはもちろんSolarisやESXi5.x系でも既にドライバが組込済 or DL可能。  IDF2010での発表から1年。もうぼちぼち世に出てくれても良いのに。  Port単価は以下の通り • Intel 82598系 $599/port • Intel x520(82599)系 $399/port • Intel x540系 $2xx/port になりそげな状況 (今は円高だからD万円を割り込むと勝手に想定) 42
  • 43.
    ちょっと戯言  今後のインフラエンジニアは  いかに安価に、いかに早く新技術を習得できるかが、 これからのインフラエンジニアに求められると想定しています。  『自宅SAN友の会』の醍醐味も、まさしくここにアリ。 だから、これからも自宅でSANの自主トレに精進していきましょう。  『LIO/TCMで作るFCoE+DCB Target&Initiator』といったような サブタイトルでDCBを掘り下げたセミナーとかやりたいなぁ。。。  お・ね・が・い☆  「○○(例えばCNA)が無いとFCoEができない。」なんていう戯言は、 もう言わない、と。 ←ちょいダサい(と思う)  今までできなかったことを、できるようにするのがエンジニアw ←イケてる♪  それを手助けしてくれるのがオープンソースであり、 『自宅SAN友の会』の主旨でもある! ←カッコイイでしょ?(ちょい変態扱いされてるけど) まずやってみよう! 43
  • 44.
    参考リンク  Open-FCoE.org http://www.open-fcoe.org/open-fcoe  SCST http://scst.sourceforge.net/index.html  LIO/TCM http://linux-iscsi.org/wiki/Main_Page  大原雄介の最新インターフェイス動向 10GBase-Tその3 http://pc.watch.impress.co.jp/docs/column/interface/20101126_409100.html 44
  • 45.