0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UbuntuでiSCSI共有ストレージをLUNとして見えるようにする

Last updated at Posted at 2025-12-09

はじめに

前回の記事では、OpenNebula MarketplaceからのVM作成と、ISOイメージからのOSインストール方法を解説しました。

本記事では、TrueNAS ScaleをiSCSI Targetとして利用し、OpenNebulaの共有ストレージデータストアを構築する方法を解説します。これにより、以下のメリットが得られます:

  • VMの高速マイグレーション: 共有ストレージによりLive Migrationが可能
  • ストレージの一元管理: すべてのノードから同じストレージにアクセス
  • 容量の効率的な利用: 複数のノードでストレージを共有
  • バックアップの簡略化: ストレージ側でスナップショットを取得可能

検証環境

  • TrueNAS Scale: 192.168.11.4(iSCSI Target)
  • OpenNebula Frontend + Compute: nebula-f1 (192.168.11.110)
  • OpenNebula Compute Node1: nebula-n1 (192.168.11.111)
  • OpenNebula Compute Node2: nebula-n2 (192.168.11.112)
  • ネットワーク: 同一セグメント(192.168.11.0/24)

注意: nebula-f1はフロントエンド機能に加えて、コンピュートノードとしても機能します。


前提条件

以下が完了していることを前提とします:

  • OpenNebula 7.0 が正常にインストールされている
  • nebula-f1がフロントエンド + コンピュートノードとして登録されている
  • TrueNAS Scale が稼働している(192.168.11.4)
  • すべてのノードから TrueNAS にネットワーク接続できる

1. TrueNAS ScaleでのiSCSI Target設定(概要)

本記事では、TrueNAS Scaleの詳細な設定手順は割愛し、以下のような設定が完了しているものとします。

設定内容

Target Global Configuration:

  • Base Name: iqn.2005-10.org.freenas.ctl
  • iSCSI listen port: 3260

Portal:

  • Listen: 192.168.11.4:3260
  • Description: block

Initiators Group:

  • Group ID: 1
  • Initiators: Allow all initiators(全てのInitiatorを許可)

Target:

  • Target Name: block
  • 完全なIQN: iqn.2005-10.org.freenas.ctl:block

Extent:

  • Extent Name: block
  • Device: Zvol(ブロックデバイス)750GB
  • Serial: 31916zfb04c21abe
  • Enabled: Yes

Associated Target:

  • Target: block
  • LUN ID: 0
  • Extent: block

iSCSI Service:

  • Status: Running
  • Start Automatically: Enabled

2. OpenNebulaノードでのiSCSI Initiator設定

2.1 iSCSIイニシエーターのインストール

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# iSCSIイニシエーターとマルチパスツールのインストール
sudo apt update
sudo apt install open-iscsi multipath-tools -y

実行結果例(nebula-n2):

flathill@nebula-n2:~$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Hit:2 http://jp.archive.ubuntu.com/ubuntu noble InRelease
Get:3 http://jp.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Ign:4 https://downloads.opennebula.io/repo/7.0/Ubuntu/24.04 stable InRelease
Hit:5 https://downloads.opennebula.io/repo/7.0/Ubuntu/24.04 stable Release
...
Fetched 6,487 kB in 4s (1,762 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
31 packages can be upgraded. Run 'apt list --upgradable' to see them.
flathill@nebula-n2:~$ sudo apt install open-iscsi multipath-tools -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
open-iscsi is already the newest version (2.1.9-3ubuntu5.4).
open-iscsi set to manually installed.
multipath-tools is already the newest version (0.9.4-5ubuntu8).
multipath-tools set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 31 not upgraded.

2.2 Initiator IQNの確認

各ノードのInitiator IQN(iSCSI Qualified Name)を確認します。

各ノードで実行:

sudo cat /etc/iscsi/initiatorname.iscsi

出力例:

# nebula-f1
InitiatorName=iqn.2004-10.com.ubuntu:01:dfbae5d5031

# nebula-n1
InitiatorName=iqn.2004-10.com.ubuntu:01:dfbae5d5031

# nebula-n2
InitiatorName=iqn.2004-10.com.ubuntu:01:dfbae5d5031

【重要】 各ノードで異なるInitiator IQNが生成されていることを確認します。


【重要】Initiator IQNが重複している場合の対処

問題: ProxmoxでVMをクローンした場合、Initiator IQNが重複してしまいます。

症状:

  • 複数のノードで同じInitiator IQNが表示される
  • iSCSI接続時に競合が発生する
  • 一部のノードしか正常に接続できない

原因:
VMクローン時に /etc/iscsi/initiatorname.iscsi がコピーされるため、各ノードで一意のIQNが生成されていません。


2.3 Initiator IQNの再生成

重複が確認された場合、以下の手順で各ノードのInitiator IQNを再生成します。

2.3.1 Initiator IQNファイルのバックアップ

全ノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# 既存ファイルのバックアップ
sudo cp /etc/iscsi/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi.bak

2.3.2 新しいInitiator IQNの生成

nebula-f1 で実行:

# 既存ファイルを削除
sudo rm /etc/iscsi/initiatorname.iscsi

# 新しいIQNを生成
sudo sh -c "echo InitiatorName=$(sudo iscsi-iname) > /etc/iscsi/initiatorname.iscsi"

# 確認
sudo cat /etc/iscsi/initiatorname.iscsi

nebula-n1 で実行:

# 既存ファイルを削除
sudo rm /etc/iscsi/initiatorname.iscsi

# 新しいIQNを生成
sudo sh -c "echo InitiatorName=$(sudo iscsi-iname) > /etc/iscsi/initiatorname.iscsi"

# 確認
sudo cat /etc/iscsi/initiatorname.iscsi

nebula-n2 で実行:

# 既存ファイルを削除
sudo rm /etc/iscsi/initiatorname.iscsi

# 新しいIQNを生成
sudo sh -c "echo InitiatorName=$(sudo iscsi-iname) > /etc/iscsi/initiatorname.iscsi"

# 確認
sudo cat /etc/iscsi/initiatorname.iscsi

出力例:

# nebula-f1
flathill@nebula-f1:$ sudo cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-04.com.open-iscsi:1ab59e677fe7

# nebula-n1
flathill@nebula-n1:~$ sudo cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-04.com.open-iscsi:7d447c728135

# nebula-n2
flathill@nebula-n2:~$ sudo cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-04.com.open-iscsi:b3c1598e7ef

【重要】 全ノードで異なるInitiator IQNが生成されていることを確認します。


2.4 iSCSI Targetの検出

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# iSCSI Targetの検出
sudo iscsiadm -m discovery -t st -p 192.168.11.4

出力例:

flathill@nebula-f1:~$ sudo iscsiadm -m discovery -t st -p 192.168.11.4
192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block

flathill@nebula-n1:~$ sudo iscsiadm -m discovery -t st -p 192.168.11.4
192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block

flathill@nebula-n2:~$ sudo iscsiadm -m discovery -t st -p 192.168.11.4
192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block

この出力は、TrueNAS Scale上のiSCSI Target block が正常に検出されたことを示しています。


2.5 iSCSI Targetへのログイン

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# iSCSI Targetにログイン
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block --login

出力例:

flathill@nebula-f1:~$ w
Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260]
Login to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260] successful.

flathill@nebula-n1:~$ sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block --login
Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260]
Login to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260] successful.

flathill@nebula-n2:~$ sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block --login
Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260]
Login to [iface: default, target: iqn.2005-10.org.freenas.ctl:block, portal: 192.168.11.4,3260] successful.

ログインが成功すると、iSCSI LUNがブロックデバイスとしてマウントされます。


2.6 iSCSIセッションの確認

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# iSCSIセッションの確認
sudo iscsiadm -m session

出力例:

flathill@nebula-f1:~$ sudo iscsiadm -m session
tcp: [1] 192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block (non-flash)

flathill@nebula-n1:~$ sudo iscsiadm -m session
tcp: [1] 192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block (non-flash)

flathill@nebula-n2:~$ sudo iscsiadm -m session
tcp: [1] 192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block (non-flash)

この出力は、TrueNASへのiSCSI接続が確立されていることを示しています。


2.7 ブロックデバイスの確認

iSCSI LUNがブロックデバイスとして認識されていることを確認します。

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# ブロックデバイスの一覧
lsblk

出力例:

flathill@nebula-f1:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm  /
sdb                         8:16   0   750G  0 disk
sr0                        11:0    1   3.1G  0 rom

flathill@nebula-n1:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm  /
sdb                         8:16   0   750G  0 disk
sr0                        11:0    1   3.1G  0 rom

flathill@nebula-n2:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm  /
sdb                         8:16   0   750G  0 disk
sr0                        11:0    1   3.1G  0 rom

sdb(または類似のデバイス名)が新しく表示されていれば、iSCSI LUNが正常に認識されています。

詳細情報の確認:

# iSCSI LUNのデバイス情報
sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL

出力例:

flathill@nebula-f1:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
├─sda1                        1G
├─sda2                        2G
└─sda3                    196.9G
  └─ubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

flathill@nebula-n1:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
├─sda1                        1G
├─sda2                        2G
└─sda3                    196.9G
  └─ubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

flathill@nebula-n2:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
├─sda1                        1G
├─sda2                        2G
└─sda3                    196.9G
  └─ubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

SERIAL が TrueNAS で設定した値(31916zfb04c21abe)と一致していることを確認します。


2.8 自動ログイン設定

再起動後も自動的にiSCSI Targetにログインするように設定します。

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# 自動ログインの有効化
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block --op update -n node.startup -v automatic

# iSCSIサービスの有効化
sudo systemctl enable open-iscsi iscsid

出力例(nebula-f1):

flathill@nebula-f1:~$ sudo systemctl enable open-iscsi iscsid
Synchronizing state of open-iscsi.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable open-iscsi
Synchronizing state of iscsid.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable iscsid

確認:

# 自動起動設定の確認
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block | grep node.startup

出力例:

flathill@nebula-f1:~$ sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block | grep node.startup
node.startup = automatic

flathill@nebula-n1:~$ sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block | grep node.startup
node.startup = automatic

flathill@nebula-n2:~$ sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block | grep node.startup
node.startup = automatic

3. マルチパス設定

マルチパス機能により、iSCSI LUNへの冗長なアクセスパスを管理できます(冗長構成の場合)。本環境では単一パスですが、将来の拡張に備えて設定します。

3.1 マルチパス設定ファイルの作成

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# 既存設定のバックアップ
sudo cp -p /etc/multipath.conf /etc/multipath.conf.ORG

# マルチパス設定ファイルの作成
sudo tee /etc/multipath.conf > /dev/null <<'EOF'
defaults {
    user_friendly_names yes
    find_multipaths no
}

blacklist {
    devnode "^vd[a-z]"
}

blacklist_exceptions {
    property "(SCSI_IDENT_|ID_WWN)"
}
EOF

設定の説明:

  • user_friendly_names yes: デバイス名を分かりやすくする(例: /dev/mapper/mpatha
  • find_multipaths no: シングルパスでもマルチパスデバイスを強制的に作成します
  • blacklist: ローカルディスク(vda)をマルチパス対象から除外
  • blacklist_exceptions: SCSI識別子を持つデバイス(iSCSI LUN)をブラックリストから除外します

3.2 マルチパスサービスの起動

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# マルチパスサービスの有効化と起動
sudo systemctl enable multipathd
sudo systemctl restart multipathd

# マルチパスデバイスの手動作成
sudo multipath -v3
sudo multipath -r

# ステータス確認
sudo systemctl status multipathd

出力例(nebula-n1):

flathill@nebula-n1:~$ sudo systemctl enable multipathd
flathill@nebula-n1:~$ sudo systemctl restart multipathd
flathill@nebula-n1:~$ sudo systemctl status multipathd
● multipathd.service - Device-Mapper Multipath Device Controller
     Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-12-09 07:47:06 UTC; 14s ago
TriggeredBy: ● multipathd.socket
    Process: 3192026 ExecStartPre=/sbin/modprobe dm-multipath (code=exited, status=0/SUCCESS)
   Main PID: 3192029 (multipathd)
     Status: "up"
      Tasks: 7
     Memory: 18.4M (peak: 18.6M)
        CPU: 27ms
     CGroup: /system.slice/multipathd.service
             └─3192029 /sbin/multipathd -d -s

Dec 09 07:47:06 nebula-n1 systemd[1]: Starting multipathd.service - Device-Mapper Multipath Device Controller...
Dec 09 07:47:06 nebula-n1 multipathd[3192029]: multipathd v0.9.4: start up
Dec 09 07:47:06 nebula-n1 multipathd[3192029]: reconfigure: setting up paths and maps
Dec 09 07:47:06 nebula-n1 systemd[1]: Started multipathd.service - Device-Mapper Multipath Device Controller.

3.3 マルチパスデバイスの確認

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# マルチパスデバイスの一覧
sudo multipath -ll

出力例:

flathill@nebula-f1:~$ sudo multipath -ll
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk
size=750G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 7:0:0:0 sdb 8:16 active ready running

flathill@nebula-n1:~$ sudo multipath -ll
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk
size=750G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 7:0:0:0 sdb 8:16 active ready running

flathill@nebula-n2:~$ sudo multipath -ll
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk
size=750G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 7:0:0:0 sdb 8:16 active ready running

重要な情報:

  • デバイス名: mpathb
  • パス: /dev/mapper/mpathb
  • サイズ: 750G
  • ステータス: active ready running

この /dev/mapper/mpathb が、今後使用するiSCSI LUNのデバイスパスになります。


3.4 デバイスパスの確認

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# マルチパスデバイスの詳細確認
ls -l /dev/mapper/

出力例:

flathill@nebula-f1:~$ ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 Dec  4 01:50 control
lrwxrwxrwx 1 root root       7 Dec  9 13:30 mpathb -> ../dm-1
lrwxrwxrwx 1 root root       7 Dec  4 01:50 ubuntu--vg-ubuntu--lv -> ../dm-0

flathill@nebula-n1:~$ ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 Dec  4 01:50 control
lrwxrwxrwx 1 root root       7 Dec  9 07:56 mpathb -> ../dm-1
lrwxrwxrwx 1 root root       7 Dec  4 01:49 ubuntu--vg-ubuntu--lv -> ../dm-0

flathill@nebula-n2:~$ ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 Dec  4 01:47 control
lrwxrwxrwx 1 root root       7 Dec  9 07:55 mpathb -> ../dm-1
lrwxrwxrwx 1 root root       7 Dec  4 01:47 ubuntu--vg-ubuntu--lv -> ../dm-0

/dev/mapper/mpathb/dev/dm-1 へのシンボリックリンクとして作成されています。


3.5 lsblkでの最終確認

すべてのノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# ブロックデバイスの階層表示
lsblk

出力例:

flathill@nebula-f1:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part  /boot/efi
├─sda2                      8:2    0     2G  0 part  /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm   /
sdb                         8:16   0   750G  0 disk
└─mpathb                  252:1    0   750G  0 mpath
sr0                        11:0    1   3.1G  0 rom

flathill@nebula-n1:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part  /boot/efi
├─sda2                      8:2    0     2G  0 part  /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm   /
sdb                         8:16   0   750G  0 disk
└─mpathb                  252:1    0   750G  0 mpath
sr0                        11:0    1   3.1G  0 rom

flathill@nebula-n2:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                         8:0    0   200G  0 disk
├─sda1                      8:1    0     1G  0 part  /boot/efi
├─sda2                      8:2    0     2G  0 part  /boot
└─sda3                      8:3    0 196.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.5G  0 lvm   /
sdb                         8:16   0   750G  0 disk
└─mpathb                  252:1    0   750G  0 mpath
sr0                        11:0    1   3.1G  0 rom

mpathbmpath タイプとして表示されていれば、マルチパス設定は成功です。


4. 全ノードでの動作確認

4.1 全ノードから同じLUNが見えることを確認

全ノード(nebula-f1, nebula-n1, nebula-n2)で実行:

sudo multipath -ll | grep mpathb

出力例:

flathill@nebula-f1:~$ sudo multipath -ll | grep mpathb
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk

flathill@nebula-n1:~$ sudo multipath -ll | grep mpathb
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk

flathill@nebula-n2:~$ sudo multipath -ll | grep mpathb
mpathb (36589cfc0000007974c3b8445544ea1fc) dm-1 TrueNAS,iSCSI Disk

全ノードで同じ WWID36589cfc0000007974c3b8445544ea1fc)が表示されていれば、同一のiSCSI LUNにアクセスできています。


4.2 デバイスの詳細情報を確認

全ノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# デバイス情報の表示
sudo fdisk -l /dev/mapper/mpathb

出力例:

flathill@nebula-f1:~$ sudo fdisk -l /dev/mapper/mpathb
Disk /dev/mapper/mpathb: 750 GiB, 805306368000 bytes, 1572864000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 8388608 bytes

flathill@nebula-n1:~$ sudo fdisk -l /dev/mapper/mpathb
Disk /dev/mapper/mpathb: 750 GiB, 805306368000 bytes, 1572864000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 8388608 bytes

flathill@nebula-n2:~$ sudo fdisk -l /dev/mapper/mpathb
Disk /dev/mapper/mpathb: 750 GiB, 805306368000 bytes, 1572864000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 8388608 bytes

全ノードで同じサイズ(750 GiB)が表示されていることを確認します。


4.3 シリアル番号の確認

全ノード(nebula-f1, nebula-n1, nebula-n2)で実行:

# シリアル番号の確認
sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL

出力例:

flathill@nebula-f1:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
tqsda1                        1G
tqsda2                        2G
mqsda3                    196.9G
  mqubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
mqmpathb                    750G
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

flathill@nebula-n1:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
├─sda1                        1G
├─sda2                        2G
└─sda3                    196.9G
  └─ubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
└─mpathb                    750G
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

flathill@nebula-n2:~$ sudo lsblk -o NAME,SIZE,SERIAL,VENDOR,MODEL
NAME                        SIZE SERIAL          VENDOR   MODEL
sda                         200G drive-scsi0     QEMU     QEMU HARDDISK
├─sda1                        1G
├─sda2                        2G
└─sda3                    196.9G
  └─ubuntu--vg-ubuntu--lv  98.5G
sdb                         750G 3191e2b04c21abe TrueNAS  iSCSI Disk
└─mpathb                    750G
sr0                         3.1G QM00003         QEMU     QEMU DVD-ROM

全ノードで同じシリアル番号(31916zfb04c21abe)が表示されていることを確認します。これはTrueNASで設定したExtentのSerialと一致します。


まとめ(現在の状態)

達成したこと

✅ TrueNAS Scale でiSCSI Targetを設定
✅ OpenNebulaの3つのノード(nebula-f1, nebula-n1, nebula-n2)からiSCSI Targetを検出
✅ 全ノードでiSCSI Targetにログイン成功
✅ 全ノードでiSCSI LUNがブロックデバイスとして認識される(/dev/sdb
✅ マルチパス設定により /dev/mapper/mpathb としてアクセス可能
✅ 全ノードから同一のLUNが見えることを確認(同じWWIDとシリアル番号)

現在のデバイス状態

各ノードでの状態:

iSCSI Target: 192.168.11.4:3260
Target IQN: iqn.2005-10.org.freenas.ctl:block
LUN ID: 0
デバイスパス: /dev/mapper/mpathb
サイズ: 750 GiB
シリアル: 31916zfb04c21abe
WWID: 36589cfc0000007974c3b8445544ea1fc

次のステップ

次回の記事では、以下の手順を解説します:

  1. クラスタファイルシステムの構築: OCFS2を使用して、全ノードから同時書き込み可能なファイルシステムを作成
  2. OpenNebulaデータストアの作成: 共有ストレージをデータストアとして登録
  3. 動作確認: イメージのアップロードとVMの作成

トラブルシューティング

問題1:iSCSI Targetが検出されない

症状:

sudo iscsiadm -m discovery -t st -p 192.168.11.4
# (何も表示されない)

原因:

  • TrueNASのiSCSIサービスが起動していない
  • ファイアウォールでポート3260がブロックされている
  • ネットワーク接続の問題

解決方法:

# TrueNASへの接続確認
ping -c 3 192.168.11.4

# ポート3260の確認
nc -zv 192.168.11.4 3260

# 出力例(成功):
# Connection to 192.168.11.4 3260 port [tcp/iscsi-target] succeeded!

問題2:ログインは成功するがデバイスが見えない

症状:

sudo iscsiadm -m session
# tcp: [1] 192.168.11.4:3260,1 iqn.2005-10.org.freenas.ctl:block (non-flash)

lsblk
# (iSCSI LUNが表示されない)

原因:

  • カーネルモジュールがロードされていない
  • デバイスの初期化に時間がかかっている

解決方法:

# iSCSIカーネルモジュールの確認
lsmod | grep iscsi

# 数秒待ってから再確認
sleep 5
lsblk

# iSCSIセッションの再起動
sudo systemctl restart open-iscsi
sudo iscsiadm -m session --rescan

問題3:マルチパスデバイスが作成されない

症状:

sudo multipath -ll
# (何も表示されない)

原因:

  • multipath.confの設定ミス
  • multipathd サービスが起動していない

解決方法:

# サービスの状態確認
sudo systemctl status multipathd

# 設定ファイルの構文チェック
sudo multipath -t

# 手動でマルチパスデバイスを作成
sudo multipath -v3
sudo multipath -r

# 再起動
sudo systemctl restart multipathd
sudo multipath -ll

問題4:再起動後にiSCSI LUNが見えない

原因:

  • 自動ログイン設定がされていない
  • サービスの起動順序の問題

解決方法:

# 自動ログイン設定の確認
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block | grep node.startup

# automatic になっていない場合は設定
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:block --op update -n node.startup -v automatic

# サービスの有効化
sudo systemctl enable open-iscsi
sudo systemctl enable iscsid
sudo systemctl enable multipathd

参考情報

使用したコマンド一覧

# iSCSI Target検出
sudo iscsiadm -m discovery -t st -p <TARGET_IP>

# iSCSI Targetログイン
sudo iscsiadm -m node -T <TARGET_IQN> --login

# iSCSIセッション確認
sudo iscsiadm -m session

# マルチパスデバイス確認
sudo multipath -ll

# ブロックデバイス確認
lsblk

重要なファイルパス

  • /etc/iscsi/initiatorname.iscsi: Initiator IQN
  • /etc/iscsi/iscsid.conf: iSCSI設定ファイル
  • /etc/multipath.conf: マルチパス設定ファイル
  • /dev/mapper/mpathb: マルチパスデバイスのパス

参考資料

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?