[iSCSI]LinuxでiSCSIのディスク領域を共有する その1 ~ iSCSIターゲット – イニシエータ設定

自宅の環境で仮想マイグレーション構成のテストをしたかったのだが、色々な問題(主に設備面)があって頓挫していた。
しかし、この前仕事でストレージ屋と一緒になったのでおすすめのSOHO向けNASを教えてもらい購入。ついでに追加のHPサーバを購入してようやくサーバ×2、NAS×1の構成が実現し、ついに仮想マイグレーションへの準備が整った。

仮想マイグレーション環境を実現するためにまずは仮想OSのイメージを格納する領域をiSCSIでマウントすることに。

参考にした記事はこちら。

今回の構成はこちら。

ホスト 役割 機種/OS IPアドレス マウントポイント
QNAS iSCSIターゲット QNAP TS-219P II 192.168.1.250 VirtMachines
Quickstep iSCSIイニシエータ1 CentOS 6.2 x86_64 192.168.1.2 /home/VirtMachines
Omegapharma iSCSIイニシエータ2 CentOS 6.3 x86_64 192.168.1.3 /home/VirtMachines

まず、NAS側にiSCSIターゲットを作成する。

  1. Webブラウザで以下のアドレスにアクセスしてログイン。SSL通信するかどうかはお好みで。
    http://[NASのアドレス]:8080/

  2. メイン画面の左側のメニューから「ディスク管理」→「iSCSI」を選択。
  3. iSCSIの管理画面から「ポータル管理」を開き、「iSCSIターゲットサービスを有効にする」にチェックして「適用」ボタンをクリック。
  4. 「ターゲット管理」→「クイックコンフィグレーションウィザード」をクリック。

  5. クイックコンフィグレーションウィザードでは「LUNがマッピングされているiSCSIターゲット」を選択して「次へ」をクリック。

  6. iSCSIターゲットのターゲット名とターゲットエイリアスを聞かれるので、それぞれ「VirtualMachines」を入力して「次へ」をクリック。
  7. iSCSIターゲットに接続する際にはCHAP認証をかけることができるが今回はかけずに「次へ」をクリック。
  8. iSCSI LUNの作成では、LUN配分に「シンプロヴィジョン(必要なときに領域を配分する)」、LUN名にターゲットと同じく「VirtualMachines」を入力して「次へ」をクリック。
  9. 最後に設定内容の確認を行い、「次へ」をクリック。
  10. 正常に作成できたら下図のダイアログが表示される。

これでNAS側の作業は完了。次にiSCSIサービスを利用するサーバ側の構築を行う。

  1. 受け側のLinuxサーバにiSCSIイニシエータユーティリティをインストール。
    # yum install iscsi-initiator-utils
  2. iSCSIサービスを起動、OS起動時に自動的にサービス起動するためにchkconfigのiSCSIサービスを有効。
    # service iscsi start
    # chkconfig iscsi on
  3. 接続可能なiSCSIターゲットを調べるには、以下のコマンドを実行する。正しく動作していればさきほどのiSCSIターゲットが表示されるはず。
    # iscsiadm --mode=node
    192.168.1.250:3260,1 iqn.2004-04.com.qnap:ts-219pii:iscsi.virtmachines.c989a8

    表示されない場合は、以下のコマンドでISCSIターゲットを探索する。一度探索で引っかかれば /var/lib/iscsi/nodes に保存される。

    # iscsiadm --mode=discovery --type=sendtargets --portal=192.168.100.250:3260
    192.168.1.250:3260,1 iqn.2004-04.com.qnap:ts-219pii:iscsi.virtmachines.c989a8
  4. さきほど調べたiSCSIターゲットにiSCSIイニシエータから接続する。
    # iscsiadm --mode=discovery --type=sendtargets --portal=192.168.100.250 192.168.100.250:3260,1 iqn.2004-04.com.qnap:ts-219pii:iscsi.virtmachines.c989a8
    192.168.1.250:3260,1 iqn.2004-04.com.qnap:ts-219pii:iscsi.virtualmachines.c989a8
  5. 接続が完了したら/dev以下にsd*(ローカルサーバに接続されているHDDによって変わる)として表示される。今回はローカルに1台しかHDDを接続していないため、iSCSIターゲットはsdbとして認識されている。
    # ls /dev/sd*
    sda sda1 sda2 sda3 sda4 sdb
  6. 同様の操作をもう一台のサーバでも実行する。

これで2台のサーバ間で同じディスク領域にアクセスすることができた。あとはフォーマットして利用するだけなのだが、そこで一つ問題が。

通常、Linux上で使用されているext3やext4は一見書き込みが即時に反映されているように見えても実際にディスクに書き込まれるのには遅延が発生する。
ローカル内でのみマウントされている場合は全く問題はないのだが、複数台からマウントされていて、しかも同一ファイルに同時に書き込みした場合、ファイルの整合性が取れなくなってしまう。これはHDDイメージにとっては致命傷である。

この問題を解決するために分散ファイルシステムを導入する必要があるのだが、文面が長くなったので次回に回す。

Popular Posts:

 
このエントリーをはてなブックマークに追加
はてなブックマーク - [iSCSI]LinuxでiSCSIのディスク領域を共有する その1 ~ iSCSIターゲット – イニシエータ設定
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`grow` not found]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>