isca0.mpath
Mpath
iSCSIブロックストレージをマルチパスでインストール、マウント、またはアンマウントします。この方法はSoftLayerのブロックストレージでテストされていますが、他のiSCSIマルチパスストレージでも動作します。
このロールのロジックは以下の通りです:
インストール中
- マルチパスとiSCSIを使用するためのパッケージ依存関係をインストール
- /etc/multipath.confを設定
- dm-multipathカーネルモジュールをプローブ
- multipathdを有効化し、開始
- (multipath -l)でリストしてmultipathdハンドラをトリガー
- /etc/iscsi/initiatorname.iscsiを設定
- /etc/iscsi/iscsid.confでchap認証を編集
- ポータルで自動ログインを試み、失敗した場合は通常のログインを使用
- /etc/multipath/bindingsにエイリアスを作成
- "/dev/mapper/mydeviceid"を"/mnt/myaliasname"にマウント
- iSCSIとiscsidを開始および有効化
- /etc/fstabにエントリを追加
アンマウント中
- デバイス"/dev/mapper/mydeviceid"のlsof pidを取得
- デバイスが使用中の場合、強制的にリリース
- デバイスを遅延方式でアンマウント (umount -l device)
- デバイスをアンマウントし、fstabエントリを削除
- (multipath -f device)でマルチパスをフラッシュ
- セッションポータルターゲットからログアウト
- ハンドラをトリガーしてiSCSI、iscsid、およびmultipathdサービスを停止および無効化
要件
iSCSIマルチパスブロックストレージとiqnのログイン情報とパスワードが必要です。また、完全なイニシエーターiqnパスとiSCSIマッパーIDも必要です。例: /dev/mapper/3600...
ロール変数
プレイブックで調整が必要な変数です。
iscsint はイニシエーターiqn名です。
例:
iscsint: iqn.1994-05.com.redhat:47c98423c167
複数のイニシエーターを配列として設定できます:
iscsint:
- iqn.1994-05.com.redhat:47c98423c167
- iqn.1994-05.com.redhat:47c98423c167-2
- iqn.1994-05.com.redhat:47c98423c167-3
mpathip はターゲットのIPアドレスです。
mpathip: 10.150.10.20
filesystem: デフォルトはext4に設定されていますので、必要に応じて変更できます。
サポートされているファイルシステムはAnsibleマウントモジュールで確認してください。
map: trueに設定すると、すべてのインストールと設定タスクが実行されます。
falseに設定すると、デバイスマッパーがアンマウントされ、その後アンマウントプロセスに従います。
wwid はマルチパスデバイスのエイリアスで、バインディングファイルの設定に使用されます。
この変数は非常に重要であり、全体のロールでデバイスをマウントおよびアンマウントする際にIDに基づいて使用されます。
構文は次のようになります:
wwid:
- { id: '360009827346', alias: 'mylun0' }
- { id: '360782378662', alias: 'mylun1' }
...
packs はインストールするパッケージのリストです。iSCSI、マルチパス、およびlsofをインストールします。
credentials はログインとパスワードでプレイブックに調整する必要があります。
例:
credentials:
- name: "My Credentials"
login: mylogin
pass: mypassword
注意!
login と password は引用符 " または シングルクォート ' なしで宣言する必要があります。
依存関係
なし
例プレイブック
以下はプレイブックのサンプルです。このプレイブックは、somehostにマルチパスデバイスをインストールおよびマウントします:
- name: "Deploy | Running isca0.mpath role"
hosts: somehost
become: yes
remote_user: myuser
vars:
mpathip: "10.200.10.100"
credentials:
- name: "Multipath"
login: MyLogin
pass: Mypassword
iscsint:
- "iqn.1994-05.com.redhat:47c98423c167"
wwid:
- { id: '3600a0980383888835645961', alias: 'blk' }
roles:
- mpath
特定のホストにマウントする前に、ホストグループでデバイスをアンマウントしたい場合、最初にアンマウントプレイブックを実行し、その後「インストール/マウント」プレイブックを実行できます。
アンマウントプレイブックのサンプルは以下の通りです:
- name: "Deploy | Running isca0.mpath role"
hosts: groupofhosts
become: yes
remote_user: myuser
vars:
map: false
mpathip: "10.200.10.100"
wwid:
- { id: '3600a098038303631a35645961', alias: 'blk' }
roles:
- mpath
見ての通り、map を false に設定して、ロールがアンマウントタスクのみを実行するようにします。:wink:
今後の計画
- 自動マウントのサポートを追加
ライセンス
LGPL-3.0
著者情報
このロールは2017年にiscaによって作成されました。