はじめに
Rook + Ceph を Kubernetes 環境に導入する中で、iSCSI を使った構成に興味を持ちました。しかし iSCSI という技術そのものに馴染みがなく、仕組みや設定方法を一から学ぶ必要がありました。本記事では targetcli-fb を使った iSCSI ターゲットの構築方法について、自身の学習記録を兼ねてまとめています。iSCSI を初めて扱う方にも理解しやすいよう、構築手順だけでなく基本的な概念や注意点も丁寧に解説していきます。
第1章. iSCSIとは何か?
iSCSI(Internet Small Computer Systems Interface)は、SCSI(Small Computer System Interface)コマンドを TCP/IP ネットワーク経由で転送するプロトコルです。つまり、リモートにあるディスクやストレージ装置を、まるでローカル接続されているかのようにクライアントに見せるための仕組みです。
| 用語 | 説明 |
|---|---|
| イニシエーター(Initiator) | iSCSIターゲットに接続するクライアント側。OS内の iSCSI ソフトウェア(例: iscsiadm)がその役割を担う。 |
| ターゲット(Target) | ストレージを提供するサーバー側。iSCSI サービスによってブロックデバイスを公開する。 |
| LUN(Logical Unit Number) | ターゲット内にある個別の論理デバイスを識別する番号。各LUNが1つのストレージ領域を表す。 |
iSCSI は、SCSIコマンドを IPパケットにカプセル化して送信することで、ネットワーク越しにディスクI/Oを実現します。これにより、物理的には遠隔地にあるストレージも、クライアント側には「ローカルディスク」のように見えます。
[Client: Initiator] ←(TCP/IP)→ [Server: Target (iSCSI Daemon)] → [Disk or LVM]
第2章:targetcli-fbとは
targetcli-fbは、Linux において iSCSI ターゲットを構成するための対話型 CLI ツールです。targetcli とも呼ばれ、バックエンドには Linux Kernel の LIO(Linux I/O Target)サブシステムを利用しています。LIO は、Linux カーネルに組み込まれているネイティブなストレージターゲット機能であり、iSCSI をはじめ、Fibre Channel や FCoE、SRP など複数のプロトコルをサポートしています。
targetcli-fbの概要
このツールを使うことで、iSCSIターゲットの設定を直感的に構成でき、「ディレクトリ構造」に見立てた対話的なコマンドラインインターフェースで管理され、複雑な設定を整理しやすくなっています。
コマンドラインインターフェースについては、追って実際の動作をご確認ください。
| 構成要素 | 説明 | 例 |
|---|---|---|
| backstores(バックストア) | iSCSIターゲットが提供する実体ストレージ。物理ディスク、LVM、ファイル、RAMディスクなどを指定可能。 |
/backstores/block/backstores/fileio
|
| targets(ターゲット) | イニシエーター(クライアント)が接続するエンドポイント。IQN(iSCSI Qualified Name)で識別される。 | /iscsi/iqn.2025-07.local.domain:target01 |
| luns(論理ユニット番号) | ターゲット配下に割り当てられるストレージ単位。バックストアと1対1で紐づけられ、クライアントに見えるデバイス。 | /iscsi/…/tpg1/luns/lun0 |
| ACLs(アクセス制御リスト) | 接続を許可するイニシエーターのIQNを指定。ACLを設定することで、認証やアクセス制限が可能になる。 | /iscsi/…/tpg1/acls/iqn.2025-07.client01 |
第3章:環境構築の前提
今回の環境は、ターゲットとして1台のサーバーに2つのディスクを追加しました。そのそれぞれのディスクに対して2台のイニシエーターからアクセスできるようにします。
- イニシエーター:2台
- ターゲット:1台
環境構築の前提 - イニシエーター(2台)
- Rocky Linux 9.5 (Blue Onyx)
環境構築の前提 - ターゲット
- Ubuntu 24.04.2 LTS (Noble Numbat)
ターゲットサーバーには、ディスクを2つ追加しており、それぞれsdbとsdcとしてボリュームが確認できます。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 32G 0 disk
tqsda1 8:1 0 1M 0 part
tqsda2 8:2 0 2G 0 part /boot
mqsda3 8:3 0 30G 0 part
mqubuntu--vg-ubuntu--lv 252:0 0 15G 0 lvm /
sdb 8:16 0 128G 0 disk
sdc 8:32 0 128G 0 disk
sr0 11:0 1 3G 0 rom
targetcli-fbのインストール
ターゲットとなるサーバーに以下の手順でtargetcli-fb`をインストールします。
$ sudo apt -y install targetcli-fb
出力例
$ sudo apt -y install targetcli-fb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
python3-configshell-fb python3-pyudev python3-rtslib-fb python3-typing-extensions python3-urwid python3-wcwidth
Suggested packages:
python3-wxgtk4.0 python3-pyqt5 python-urwid-doc
The following NEW packages will be installed:
python3-configshell-fb python3-pyudev python3-rtslib-fb python3-typing-extensions python3-urwid python3-wcwidth targetcli-fb
0 upgraded, 7 newly installed, 0 to remove and 82 not upgraded.
Need to get 418 kB of archives.
After this operation, 3,296 kB of additional disk space will be used.
Get:1 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-typing-extensions all 4.10.0-1 [60.7 kB]
Get:2 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-wcwidth all 0.2.5+dfsg1-1.1ubuntu1 [22.5 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-urwid amd64 2.6.10-1 [183 kB]
Get:4 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-configshell-fb all 1:1.1.28-2.1 [28.4 kB]
Get:5 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-pyudev all 0.24.0-1 [33.0 kB]
Get:6 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 python3-rtslib-fb all 2.1.74-0ubuntu5 [49.9 kB]
Get:7 http://jp.archive.ubuntu.com/ubuntu noble/main amd64 targetcli-fb all 1:2.1.53-1ubuntu3 [40.3 kB]
Fetched 418 kB in 1s (301 kB/s)
Selecting previously unselected package python3-typing-extensions.
(Reading database ... 86802 files and directories currently installed.)
Preparing to unpack .../0-python3-typing-extensions_4.10.0-1_all.deb ...
Unpacking python3-typing-extensions (4.10.0-1) ...
Selecting previously unselected package python3-wcwidth.
Preparing to unpack .../1-python3-wcwidth_0.2.5+dfsg1-1.1ubuntu1_all.deb ...
Unpacking python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ...
Selecting previously unselected package python3-urwid.
Preparing to unpack .../2-python3-urwid_2.6.10-1_amd64.deb ...
Unpacking python3-urwid (2.6.10-1) ...
Selecting previously unselected package python3-configshell-fb.
Preparing to unpack .../3-python3-configshell-fb_1%3a1.1.28-2.1_all.deb ...
Unpacking python3-configshell-fb (1:1.1.28-2.1) ...
Selecting previously unselected package python3-pyudev.
Preparing to unpack .../4-python3-pyudev_0.24.0-1_all.deb ...
Unpacking python3-pyudev (0.24.0-1) ...
Selecting previously unselected package python3-rtslib-fb.
Preparing to unpack .../5-python3-rtslib-fb_2.1.74-0ubuntu5_all.deb ...
Unpacking python3-rtslib-fb (2.1.74-0ubuntu5) ...
Selecting previously unselected package targetcli-fb.
Preparing to unpack .../6-targetcli-fb_1%3a2.1.53-1ubuntu3_all.deb ...
Unpacking targetcli-fb (1:2.1.53-1ubuntu3) ...
Setting up python3-wcwidth (0.2.5+dfsg1-1.1ubuntu1) ...
Setting up python3-typing-extensions (4.10.0-1) ...
Setting up python3-pyudev (0.24.0-1) ...
Setting up python3-rtslib-fb (2.1.74-0ubuntu5) ...
Created symlink /etc/systemd/system/multi-user.target.wants/rtslib-fb-targetctl.service → /usr/lib/systemd/system/rtslib-fb-targetctl.service.
Setting up python3-urwid (2.6.10-1) ...
Setting up python3-configshell-fb (1:1.1.28-2.1) ...
/usr/lib/python3/dist-packages/configshell/console.py:39: SyntaxWarning: invalid escape sequence '\['
_re_ansi_seq = re.compile('(\033\[..?m)')
/usr/lib/python3/dist-packages/configshell/shell.py:116: SyntaxWarning: invalid escape sequence '\+'
var = Word(alphanums + '?;&*$!#,=_\+/.<>()~@:-%[]')
/usr/lib/python3/dist-packages/configshell/shell.py:118: SyntaxWarning: invalid escape sequence '\-'
keyword = Word(alphanums + '_\-')
/usr/lib/python3/dist-packages/configshell/shell.py:124: SyntaxWarning: invalid escape sequence '\['
pathstd = Regex('([A-Za-z0-9:_.\[\]]|-)*' + '/' + '([A-Za-z0-9:_.\[\]/]|-)*') \
/usr/lib/python3/dist-packages/configshell/shell.py:124: SyntaxWarning: invalid escape sequence '\['
pathstd = Regex('([A-Za-z0-9:_.\[\]]|-)*' + '/' + '([A-Za-z0-9:_.\[\]/]|-)*') \
/usr/lib/python3/dist-packages/configshell/shell.py:131: SyntaxWarning: invalid escape sequence '\|'
readline.set_completer_delims('\t\n ~!#$^&(){}\|;\'",?')
/usr/lib/python3/dist-packages/configshell_fb/console.py:39: SyntaxWarning: invalid escape sequence '\['
_re_ansi_seq = re.compile('(\033\[..?m)')
/usr/lib/python3/dist-packages/configshell_fb/shell.py:116: SyntaxWarning: invalid escape sequence '\+'
var = Word(alphanums + '?;&*$!#,=_\+/.<>()~@:-%[]')
/usr/lib/python3/dist-packages/configshell_fb/shell.py:118: SyntaxWarning: invalid escape sequence '\-'
keyword = Word(alphanums + '_\-')
/usr/lib/python3/dist-packages/configshell_fb/shell.py:124: SyntaxWarning: invalid escape sequence '\['
pathstd = Regex('([A-Za-z0-9:_.\[\]]|-)*' + '/' + '([A-Za-z0-9:_.\[\]/]|-)*') \
/usr/lib/python3/dist-packages/configshell_fb/shell.py:124: SyntaxWarning: invalid escape sequence '\['
pathstd = Regex('([A-Za-z0-9:_.\[\]]|-)*' + '/' + '([A-Za-z0-9:_.\[\]/]|-)*') \
/usr/lib/python3/dist-packages/configshell_fb/shell.py:131: SyntaxWarning: invalid escape sequence '\|'
readline.set_completer_delims('\t\n ~!#$^&(){}\|;\'",?')
Setting up targetcli-fb (1:2.1.53-1ubuntu3) ...
/usr/lib/python3/dist-packages/targetcli/ui_root.py:161: SyntaxWarning: invalid escape sequence '\s'
backups = [line for line in prefs.read().splitlines() if re.match('^max_backup_files\s*=', line)]
Processing triggers for man-db (2.12.0-4build2) ...
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
第4章:環境構築
それでは実際にターゲットで環境構築をしていきます。
以下の流れで構築していきます。
0. 事前確認
1. Blockバックストアの作成
2. iSCSIターゲットの作成
3. LUNの作成
4. ACLの作成
それでは順番に実施していきます。
事前確認
まず、targetcliを使って、構築前のステータスを確認しておきます。現時点では当然何も作成されておりません。
$ sudo targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 0]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 0]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
/>
設定変更 - Blockバックストアの作成
Blockバックストアの作成は以下のコマンドで作成できます。それぞれのdiskに対してバックストアを作成しています。
$ sudo targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> /backstores/block create disk1 /dev/sdb
Created block storage object disk1 using /dev/sdb.
/>
/> /backstores/block create disk2 /dev/sdc
Created block storage object disk2 using /dev/sdc.
/>
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- disk1 ........................................................................ [/dev/sdb (128.0GiB) write-thru deactivated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- disk2 ........................................................................ [/dev/sdc (128.0GiB) write-thru deactivated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 0]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
/>
設定変更 - iSCSIターゲットの作成
iSCSIターゲット(=イニシエーターが接続するためのエンドポイント)を作成します。作成に当たってIQNについて少し言及しておきます。
IQN(iSCSI Qualified Name)は、iSCSI におけるターゲットやイニシエーターを一意に識別するための名前です。例えば、イニシエーターのIQNは以下のコマンドで調べられます。
$ sudo cat /etc/iscsi/initiatorname.iscsi
## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator. The InitiatorName must be unique
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
InitiatorName=iqn.2004-10.com.ubuntu:01:68299635f96d
一般的にIQNは以下のフォーマットで構成されるようです。
iqn.yyyy-mm.識別ドメイン名:識別子(一意の文字列)
これに従って、iSCSIターゲットを作成していきます。
/> /iscsi create iqn.2025-07.local.kube-iscsi-01:target
Created target iqn.2025-07.local.kube-iscsi-01:target.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/>
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- disk1 ........................................................................ [/dev/sdb (128.0GiB) write-thru deactivated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- disk2 ........................................................................ [/dev/sdc (128.0GiB) write-thru deactivated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2025-07.local.kube-iscsi-01:target ............................................................................ [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 0]
| o- luns .......................................................................................................... [LUNs: 0]
| o- portals .................................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ..................................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
/>
設定変更 - LUNの作成
戦術の通り、LUNはターゲット配下に割り当てられるストレージ単位。バックストアと1対1で紐づけられ、クライアントに見えるデバイスです。それぞれのそれぞれのディスクに対してLUNを作成していきます。
/> /iscsi/iqn.2025-07.local.kube-iscsi-01:target/tpg1/luns create /backstores/block/disk1
Created LUN 0.
/> /iscsi/iqn.2025-07.local.kube-iscsi-01:target/tpg1/luns create /backstores/block/disk2
Created LUN 1.
/>
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- disk1 .......................................................................... [/dev/sdb (128.0GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- disk2 .......................................................................... [/dev/sdc (128.0GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2025-07.local.kube-iscsi-01:target ............................................................................ [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 0]
| o- luns .......................................................................................................... [LUNs: 2]
| | o- lun0 ...................................................................... [block/disk1 (/dev/sdb) (default_tg_pt_gp)]
| | o- lun1 ...................................................................... [block/disk2 (/dev/sdc) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ..................................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
/>
設定変更 - ACLの作成
各イニシエーターに、どのLUNを見せるかを設定していきます(ACL)。まずは、各イニシエーターのIQNを調べます。
$ cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:6d82585edfb7
$ cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:1ed6783b6ec
上記のIQNをもとに、実際にACLを設定していきます。
/> /iscsi/iqn.2025-07.local.kube-iscsi-01:target/tpg1/acls/iqn.1994-05.com.redhat:6d82585edfb7 create tpg_lun_or_backstore=lun0 mapped_lun=0
Created Mapped LUN 0.
/>
/> /iscsi/iqn.2025-07.local.kube-iscsi-01:target/tpg1/acls/iqn.1994-05.com.redhat:1ed6783b6ec create tpg_lun_or_backstore=lun1 mapped_lun=1
Created Mapped LUN 1.
/>
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 2]
| | o- disk1 .......................................................................... [/dev/sdb (128.0GiB) write-thru activated]
| | | o- alua ................................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| | o- disk2 .......................................................................... [/dev/sdc (128.0GiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2025-07.local.kube-iscsi-01:target ............................................................................ [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 2]
| | o- iqn.1994-05.com.redhat:1ed6783b6ec ................................................................... [Mapped LUNs: 1]
| | | o- mapped_lun1 ................................................................................. [lun1 block/disk2 (rw)]
| | o- iqn.1994-05.com.redhat:6d82585edfb7 .................................................................. [Mapped LUNs: 1]
| | o- mapped_lun0 ................................................................................. [lun0 block/disk1 (rw)]
| o- luns .......................................................................................................... [LUNs: 2]
| | o- lun0 ...................................................................... [block/disk1 (/dev/sdb) (default_tg_pt_gp)]
| | o- lun1 ...................................................................... [block/disk2 (/dev/sdc) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ..................................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
/>
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/rtslib-fb-target/backup/.
Configuration saved to /etc/rtslib-fb-target/saveconfig.json
設定変更 - サービスの起動
最後にtargetサービスの起動をします。
$ sudo systemctl status target
○ target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; disabled; preset: enabled)
Active: inactive (dead)
$ sudo systemctl enable target
Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
$ sudo systemctl start target
$ sudo systemctl status target
● target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; preset: enabled)
Active: active (exited) since Sun 2025-07-20 02:51:12 UTC; 29s ago
Process: 1768 ExecStart=/usr/bin/targetctl restore (code=exited, status=0/SUCCESS)
Main PID: 1768 (code=exited, status=0/SUCCESS)
CPU: 101ms
Jul 20 02:51:12 kube-iscsi-01 systemd[1]: Starting target.service - Restore LIO kernel target configuration...
Jul 20 02:51:12 kube-iscsi-01 systemd[1]: Finished target.service - Restore LIO kernel target configuration.
これでターゲット側の設定が完了しました。次にイニシエーター側の設定をしていきます。
第5章:イニシエーターの設定
イニシエーターではiscsiadmコマンドを使って、ディスクを認識させます。iscsiadm discoveryコマンドを実行してターゲットを検出し、その後targetにログインすることで、ディスクを認識することができます。
イニシエーターの設定 - ノード-1
$ sudo iscsiadm -m discovery -t sendtargets -p kube-iscsi-01
172.21.0.33:3260,1 iqn.2025-07.local.kube-iscsi-01:target
$ sudo iscsiadm -m node -T iqn.2025-07.local.kube-iscsi-01:target -p 172.21.0.33:3260 --login
Logging in to [iface: default, target: iqn.2025-07.local.kube-iscsi-01:target, portal: 172.21.0.33,3260]
Login to [iface: default, target: iqn.2025-07.local.kube-iscsi-01:target, portal: 172.21.0.33,3260] successful.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 128G 0 disk
tqsda1 8:1 0 600M 0 part /boot/efi
tqsda2 8:2 0 1G 0 part /boot
mqsda3 8:3 0 126.4G 0 part
tqrl-root 253:0 0 70G 0 lvm /
tqrl-swap 253:1 0 5.9G 0 lvm
mqrl-home 253:2 0 50.5G 0 lvm /home
sdb 8:16 0 128G 0 disk
sr0 11:0 1 10.7G 0 rom
$ sudo iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.1.9
Target: iqn.2025-07.local.kube-iscsi-01:target (non-flash)
Current Portal: 172.21.0.33:3260,1
Persistent Portal: 172.21.0.33:3260,1
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
Iface Initiatorname: iqn.1994-05.com.redhat:6d82585edfb7
Iface IPaddress: 172.21.0.17
Iface HWaddress: default
Iface Netdev: default
SID: 4
iSCSI Connection State: LOGGED IN
iSCSI Session State: LOGGED_IN
Internal iscsid Session State: NO CHANGE
*********
Timeouts:
*********
Recovery Timeout: 120
Target Reset Timeout: 30
LUN Reset Timeout: 30
Abort Timeout: 15
*****
CHAP:
*****
username: <empty>
password: ********
username_in: <empty>
password_in: ********
************************
Negotiated iSCSI params:
************************
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
FirstBurstLength: 65536
MaxBurstLength: 262144
ImmediateData: Yes
InitialR2T: Yes
MaxOutstandingR2T: 1
************************
Attached SCSI devices:
************************
Host Number: 33 State: running
scsi33 Channel 00 Id 0 Lun: 0
Attached scsi disk sdb State: running
イニシエーターの設定 - ノード-2
$ sudo iscsiadm -m discovery -t sendtargets -p kube-iscsi-01
172.21.0.33:3260,1 iqn.2025-07.local.kube-iscsi-01:target
$ sudo iscsiadm -m node -T iqn.2025-07.local.kube-iscsi-01:target -p 172.21.0.33:3260 --login
Logging in to [iface: default, target: iqn.2025-07.local.kube-iscsi-01:target, portal: 172.21.0.33,3260]
Login to [iface: default, target: iqn.2025-07.local.kube-iscsi-01:target, portal: 172.21.0.33,3260] successful.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 128G 0 disk
tqsda1 8:1 0 600M 0 part /boot/efi
tqsda2 8:2 0 1G 0 part /boot
mqsda3 8:3 0 126.4G 0 part
tqrl-root 253:0 0 70G 0 lvm /
tqrl-swap 253:1 0 5.9G 0 lvm
mqrl-home 253:2 0 50.5G 0 lvm /home
sdb 8:16 0 128G 0 disk
sr0 11:0 1 10.7G 0 rom
$ sudo iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.1.9
Target: iqn.2025-07.local.kube-iscsi-01:target (non-flash)
Current Portal: 172.21.0.33:3260,1
Persistent Portal: 172.21.0.33:3260,1
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
Iface Initiatorname: iqn.1994-05.com.redhat:1ed6783b6ec
Iface IPaddress: 172.21.0.25
Iface HWaddress: default
Iface Netdev: default
SID: 2
iSCSI Connection State: LOGGED IN
iSCSI Session State: LOGGED_IN
Internal iscsid Session State: NO CHANGE
*********
Timeouts:
*********
Recovery Timeout: 120
Target Reset Timeout: 30
LUN Reset Timeout: 30
Abort Timeout: 15
*****
CHAP:
*****
username: <empty>
password: ********
username_in: <empty>
password_in: ********
************************
Negotiated iSCSI params:
************************
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
FirstBurstLength: 65536
MaxBurstLength: 262144
ImmediateData: Yes
InitialR2T: Yes
MaxOutstandingR2T: 1
************************
Attached SCSI devices:
************************
Host Number: 33 State: running
scsi33 Channel 00 Id 0 Lun: 1
Attached scsi disk sdb State: running
次回、ここで作成したディスクを利用したCephを構築していきます。
以上です。