はじめに
- iSCSIによる Proxmox のLVM作成メモ
- 以下の構成
[Proxmox VE ノード]
|
10GbE (iSCSI)
|
[RHEL系 Linuxサーバ]
└─ /dev/nvme0n2(物理ディスク)を iSCSI でエクスポート
- Proxmox側 IP : 192.168.100.10
- Redhat側 IP : 192.168.100.50
- Proxmox VE は 8.3
- Redhat は 9.5
Proxmox側作業
IQNの確認
# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1993-08.org.debian:01:b050c6ec3120
- ここでは、
iqn.1993-08.org.debian:01:b050c6ec3120
が、Proxmox側のIQNとする。
Redhat側作業
- NVMeは
/dev/nvme0n2
- IQN(iSCSI Qualified Name)は任意だが、ルールは「iqn.年-月.ドメイン:名前」なので、Redhat側IQNは
iqn.2025-03.com.example:nvme-target
とする
iSCSI Target を構築
Firewall設定
$ sudo firewall-cmd --permanent --add-port=3260/tcp
$ sudo firewall-cmd --reload
iSCSI Target をインストール
$ sudo dnf install -y targetcli
NVMeデバイスをiSCSIエクスポート
targetcliで設定開始
$ sudo targetcli
targetcli shell version 2.1.57
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/>
バックストア(NVMeデバイス)を作成
/> /backstores/block create name=nvme_disk dev=/dev/nvme0n2
iSCSIターゲットを作成
/> /iscsi create iqn.2025-03.com.example:nvme-target
LUNとしてディスクを追加
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/luns create /backstores/block/nvme_disk
ポータルを作成(iSCSIの待ち受けアドレス)
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/portals create 0.0.0.0 3260
ACLを作成(Proxmoxからのアクセス制御)
- 上記でProxmoxから取得したIQNを設定する。
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/acls create iqn.1993-08.org.debian:01:b050c6ec3120
設定を保存して終了
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
設定のバックアップ
- auto save になっているので必要ないことも。
# sudo targetcli saveconfig
Configuration saved to /etc/target/saveconfig.json
設定の復元のサービスを有効化
# systemctl enable --now target
# systemctl status target
● target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; preset: disabled)
Active: active (exited) since Fri 2025-03-21 14:08:15 JST; 44min ago
Process: 928 ExecStart=/usr/bin/targetctl restore (code=exited, status=0/SUCCESS)
Main PID: 928 (code=exited, status=0/SUCCESS)
CPU: 83ms
Mar 21 14:08:14 san1 systemd[1]: Starting Restore LIO kernel target configuration...
Mar 21 14:08:15 san1 systemd[1]: Finished Restore LIO kernel target configuration.
Proxmox側作業
CLIから設定するパターン
iSCSIターゲットスキャン
# iscsiadm -m discovery -t sendtargets -p 192.168.100.50
192.168.100.50:3260,1 iqn.2025-03.com.example:nvme-target
ログインしてセッションを作成
# iscsiadm -m node -T iqn.2025-03.com.example:nvme-target -p 192.168.100.50 -l
Logging in to [iface: default, target: iqn.2025-03.com.example:nvme-target, portal: 192.168.100.50,3260]
Login to [iface: default, target: iqn.2025-03.com.example:nvme-target, portal: 192.168.100.50,3260] successful.
iSCSIデバイス確認
# lsblk
:
:
sdc 8:32 0 100G 0 disk
:
:
Proxmoxでストレージ追加
Datacenter → Storage → Add → LVM でを行う
GUIから設定するパターン
- Datacenter → Storage → Add → iSCSI で追加を行う
- IDは任意、Portalは
192.168.100.50
を入力、Targetはiqn.2025-03.com.example:nvme-target
を選択、Use LUNs Directory
のチェックを外す
- IDは任意、Portalは
- Datacenter → Storage → Add → LVM などでディスクを追加する際に、Base Storageに上記のiSCSIを利用する。
その他
Proxmox側作業
ログアウト(接続解除)
# iscsiadm -m node -T iqn.2025-03.com.example:nvme-target -p 192.168.100.10 -u
Logging out of session [sid: 2, target: iqn.2025-03.com.example:nvme-target, portal: 192.168.100.50,3260]
Logout of [sid: 2, target: iqn.2025-03.com.example:nvme-target, portal: 192.168.100.50,3260] successful.
ノード情報を削除
# iscsiadm -m node -o delete -T iqn.2025-03.com.example:nvme-target -p 192.168.100.10
確認
# iscsiadm -m node
192.168.100.50:3260,1 iqn.2025-03.com.example:nvme-target
Redhat側作業
ACLの削除
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/acls delete iqn.1993-08.org.debian:01:b050c6ec3120
ポータルの削除
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/portals delete 0.0.0.0 3260
LUNの削除
/> /iscsi/iqn.2025-03.com.example:nvme-target/tpg1/luns delete 0
iSCSIターゲットの削除
/> /iscsi delete iqn.2025-03.com.example:nvme-target
バックストアの削除
/> /backstores/block delete nvme_disk
設定の保存と確認
/> saveconfig
Configuration saved to /etc/target/saveconfig.json
確認
/> ls
さいごに
簡単でしたね