2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iSCSIストレージをマウントするCHEFクックブック

Last updated at Posted at 2015-10-06

#[SoftLayerクッキングLABO] (http://qiita.com/MahoTakara/items/464da29ccf932698b753)

このクックブックで実現すること

SoftLayerで提供される パフォーマンス・ストレージ や エンデュランス・ストレージは、iSCSI プロトコルを利用してサービスが提供されます。このクックブックは、仮想サーバーや物理サーバーの設定をおこない、iSCSIのユーザー認証からブロック・ストレージのマウントするまでを実施します。

iSCSIストレージを利用するケースでは、アクティブ・スタンバイの構成の共有ディスクとして利用する事が多いため、このクックブックでも、アクティブ側とスタンバイ側の設定を選択できます。

クックブック要約

この iscsiStorage01 クックブックは、次の箇条書きの項目を実施します。

  • open-iscsi、マルチパスのモジュールの導入
  • SCSIイニシエーター名の設定
  • iscsid.confの認証設定
  • iscsiデバイスのディスカバリー
  • WWID の取得
  • マルチパスとデバイスの設定
  • fstabに対してマウント・ポイントの追加
  • マウント・ポイントのディレクトリ作成
  • マスターノードであればマウント実行

このクックブックは、attribute の ["iscsi_host"]設定により、次の図の様な、アクティブ側とスタンバイ側の設定が実施できます。
スクリーンショット 2015-11-09 16.08.46.png

レシピの置き場所

最新版のクックブックは次のURLにあります。

対応するソフトレイヤー活用ガイド

このレシピを利用することで、以下の設計パターンや設定作業を自動化することができます。

テスト済みのLinuxディストリビューション

こちらのURL https://github.com/takara9/iscsiStorage01/の README.md に記載しています。

クックブックの説明

iSCSIストレージの準備

このレシピを実行する前に、パフォーマンス・ストレージ、または、エンデュランス・ストレージ を確保しておく必要があります。例えば、ブロック・ストレージのリストの中に以下の様に表示されている必要があります。

スクリーンショット 2015-10-05 17.44.18.png

slcli コマンドでは、次の様な状態になっている必要があります。

chef@ChefWs:~$ slcli iscsi list
:.........:............:......:.................:..................:.............:
:    id   : datacenter : size :     username    :     password     :    server   :
:.........:............:......:.................:..................:.............:
: 6429159 :   tok02    : 20GB : IBM01SL289550-1 :        -         :  10.3.78.55 :
:.........:............:......:.................:..................:.............:

iSCSIストレージにアクセスを許可するサーバーの指定は、slcliコマンドに実装されていないので、カスタマーポータルから実施します。
メニューバーから「Storage」->「Block Storage」->「Lun Name」を選択して以下の画面を表示します。 そして、赤枠のリンクをクリックして、「Authorized Hosts」の欄に、アクセスを許可するサーバーを追加します。 アクティブ・スタンバイ構成を組むのであれば、2台分のサーバーをセットします。

スクリーンショット 2015-10-05 21.50.51.png

後ほど、このスクリーンコピーの黄色の吹き出し部分の値を拾って、attributes/default.rbのファイルにセットしていきます。

クックブックのファイル

このクックブックに必要なファイルは、以下のディレクトリ・ツリーに表す様に3本です。次の実行結果は不要部分を省略しています。

$ tree iscsiStorage01/
iscsiStorage01/
├── CHANGELOG.md
├── README.md
├── attributes
│   └── default.rb   <-- (1) iSCSIストレージの認証などの情報(パラメータ)
├── recipes
│   └── default.rb  <--- (2) レシピ本体
└── templates
    └── default
        └── iscsid.conf.erb  <--- (3) iscsiデーモンの設定ファイル

(1) iSCSIストレージの認証などの情報(パラメータ)

このファイル attributes/default.rb は、iSCSIストレージを設定するためのパラメータです。 以下の(A)〜(D)までは必須設定項目です。それ以外の項目は、必要に応じて変更できます。

default["iscsi_target_ipaddr"] = "(A)ターゲットIPアドレス"
default["iscsi_user_name"]     = "(B)サーバー毎に付与されるユーザー名"
default["iscsi_user_password"] = "(C)ユーザー名に対応するパスワード"
default["initiator_name"]      = "(D)イニシエータを識別する名前 Host IQN"

default["multipath_device"]["name1"]  = "/dev/mapper/iscsimp1"  <--- マルチパスデバイスの名前
default["multipath_device"]["mount1"] = "/data1" <--- 上記デバイスのマウントポイント

default["iscsi_host"] = 'master'   <--- "master"とすればマウントまで実行、"backup"ではデバイスの認識まで実施

(2) レシピ本体

レシピ本体のコードは、GitHub の https://github.com/takara9/iscsiStorage01/blob/master/recipes/default.rb を参照ねがいます。 処理のブロック単位でコメントを書いていますので、コメントを追えば何をしているか判るようになっています。

(3) iscsiデーモンの設定ファイル

iscsidの設定ファイルをテンプレートファイルで置き換えます。 以下の抜粋部分の様に、iSCSIストレージのユーザー名とパスワードに置き換えます。
このユーザー名とパスワードは、アトリビュートの以下の項目からセットされます。

  • default["iscsi_user_name"] = "(B)サーバー毎に付与されるユーザー名"
  • default["iscsi_user_password"] = "(C)ユーザー名に対応するパスワード"
iscsid.conf.erb
省略
# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
node.session.auth.username = <%= @username %>
node.session.auth.password = <%= @password %>
省略
# To set a discovery session CHAP username and password for the initiator
# authentication by the target(s), uncomment the following lines:
discovery.sendtargets.auth.username = <%= @username %>
discovery.sendtargets.auth.password = <%= @password %>
省略

適用手順と確認方法

GitHUB https://github.com/takara9/iscsiStorage01 のREADME.md を参照ねがいます。

Chef 関連マニュアル

このレシピを作るにあたって参照したCHEFマニュアルのリンクです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?