ricsanfre.iscsi_target
Ansibleロール: iSCSIターゲット
このロールは、Linuxホスト上で targetcli
を使用してLinux-LIOベースのiSCSIターゲットを設定します。
さらに、このロールにはターゲットCLIコマンドとやり取りするための独自のPythonモジュールも含まれており、より高度な機能のために別々に使用できます。モジュールは、チェック、作成、および削除を実装しています。
注意: LIOおよびターゲットに関するドキュメントは こちら で見つけることができます。
要件
このロールは、ディスクやパーティション、論理ボリュームを作成しません。これらはすでにマシン上に存在するか、他のロールによって作成されるべきです。例えば、ricsanfre.storage。
ロール変数
iSCSIターゲットを設定するためには、次のネストされた変数が使用され、この設定がどのように見えるべきかを定義します。
iscsi_targets:
- name: "iqn.2021-07.com.ricsanfre:target_server"
disks:
- name: lun_node1
path: /dev/vg_iscsi/vg_iscsi_lv_node1
type: block
lunid: 0
- name: lun_node2
path: /dev/vg_iscsi/vg_iscsi_lv_node2
type: block
lunid: 1
- name: lun_node3
path: /dev/vg_iscsi/vg_iscsi_lv_node3
type: block
lunid: 2
- name: lun_node4
path: /dev/vg_iscsi/vg_iscsi_lv_node4
type: block
lunid: 3
initiators:
- name: iqn.2021-07.com.ricsanfre:node1
authentication:
userid: node1
password: passwd1
userid_mutual: sharedkey
password_mutual: sharedsecret
mapped_luns:
- mapped_lunid: 0
lunid: 0
- mapped_lunid: 1
lunid: 2
- name: iqn.2021-07.com.ricsanfre:node2
authentication:
userid: node2
password: passwd2
mapped_luns:
- mapped_lunid: 0
lunid: 1
- mapped_lunid: 1
lunid: 3
write_protect: 1
portals:
- ip: 192.168.1.45
port: 5555
- ip: 192.168.2.10
依存関係
なし。
例: プレイブック
この例では、iSCSIターゲットを設定するために必要な論理ボリュームを作成するために ricsanfre.storage
ロールを使用します。
- hosts: all
become: true
gather_facts: true
vars:
storage_partitions:
- name: /dev/vdb
number: 1
flags:
- lvm
part_end: 1GB
storage_volumegroups:
- name: vg_iscsi
devices:
- /dev/vdb1
storage_volumes:
- name: vg_iscsi_lv_node1
vg: vg_iscsi
size: 100
- name: vg_iscsi_lv_node2
vg: vg_iscsi
size: 100
- name: vg_iscsi_lv_node3
vg: vg_iscsi
size: 100
- name: vg_iscsi_lv_node4
vg: vg_iscsi
size: 100
iscsi_targets:
- name: "iqn.2021-07.com.ricsanfre:{{ ansible_facts['nodename'] }}"
disks:
- name: lun_node1
path: /dev/vg_iscsi/vg_iscsi_lv_node1
type: block
lunid: 0
- name: lun_node2
path: /dev/vg_iscsi/vg_iscsi_lv_node2
type: block
lunid: 1
- name: lun_node3
path: /dev/vg_iscsi/vg_iscsi_lv_node3
type: block
lunid: 2
- name: lun_node4
path: /dev/vg_iscsi/vg_iscsi_lv_node4
type: block
lunid: 3
initiators:
- name: iqn.2021-07.com.ricsanfre:node1
authentication:
userid: node1
password: passwd1
mapped_luns:
- mapped_lunid: 0
lunid: 0
- mapped_lunid: 1
lunid: 2
- name: iqn.2021-07.com.ricsanfre:node2
authentication:
userid: node2
password: passwd2
mapped_luns:
- mapped_lunid: 0
lunid: 1
- mapped_lunid: 1
lunid: 3
write_protect: 1
portals:
- ip: "{{ ansible_default_ipv4.address | default(ansible_all_ipv4_addresses[0]) }}"
roles:
- ricsanfre.storage
- ricsanfre.iscsi_target
ライセンス
MIT/BSD
著者情報
リカルド・サンチェス(ricsanfre)によって作成され、Ondrej Fameraの開発 targetcli を基にしています。ondrej-xa2iel8u@famera.cz