NASでターゲットの使用許可したIQNを Linux側のIQNとして設定する
# dnf -y install iscsi-initiator-utils
# vi /etc/iscsi/initiatorname.iscsi
InitiatorName = {Linux側のIQN名}
NASに作成したiSCSIデバイスをLinuxから探してみる
# iscsiadm -m discovery -t sendtargets -p {NASのIPアドレス:ポート} ※{ポートは3260}
{NASのIPアドレス:ポート},1 {ターゲット名1} ※ターゲット名形式:iqn.yyyy-mm.naming-authority:uniqueName
・・・
{NASのIPアドレス:ポート},1 {ターゲット名x} ←今回のターゲット
・・・
{NASのIPアドレス:ポート},1 {ターゲット名n}
安易に見つかった全ターゲットにログインさせてみると・・・
# iscsiadm -m node --login
待ち時間も長いし失敗すると結果も怪しいので
使用するターゲットのみログインする
# iscsiadm --mode node --targetname {ターゲット名x} --portal {NASのIPアドレス:ポート} --login
Logging in to [iface: default, target: {ターゲット名x}, portal: {NASのIPアドレス:ポート}]
Login to [iface: default, target: {ターゲット名x}, portal: {NASのIPアドレス:ポート}] successful.
確認
# iscsiadm -m session -o show
tcp: [2] {NASのIPアドレス:ポート},1 {ターゲット名x} (non-flash)
# cat /proc/partitions
major minor #blocks name
8 0 117220824 sda
8 1 614400 sda1
8 2 1048576 sda2
8 3 115556352 sda3
253 0 72294400 dm-0
253 1 7958528 dm-1
253 2 35299328 dm-2
8 16 134217728 sdb
8 17 134201344 sdb1
ログインしたターゲットにファイルシステムを作成する
# parted --script /dev/sdb "mklabel gpt"
# parted --script /dev/sdb "mkpart primary 0% 100%"
# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=8387584 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=33550336, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
マウントしてみる
# mkdir /mnt/kvm
# mount /dev/sdb1 /mnt/kvm
確認
# df -hT
Filesystem Type Size Used Avail Use% Mounted on
・・・
/dev/sdb1 xfs 128G 3.1G 125G 3% /mnt/kvm ※iSCSIのサイズになってる
・・・
ファイルシステムのタイプは環境依存なので調べてみる ※上のdf -Tでも判る
# mount -l
・・・
/dev/sdb1 on /mnt/kvm type xfs (・・・)
自動ログインの設定をする
# iscsiadm -m node -T {ターゲット名} -o show | grep startup
node.startup = automatic
node.conn[0].startup = manual {両方automaticでないとダメらしい}
起動時は手動になっているので自動に変更
# iscsiadm -m node -T {ターゲット名} -o update -n node.conn[0].startup -v automatic
確認
# iscsiadm -m node -T {ターゲット名} -o show | grep node.startup
node.startup = automatic
node.conn[0].startup = automatic
/etc/fstabにも起動時マウントの指定を追加する
#
# /etc/fstab
# Created by anaconda on Wed Mar 12 20:38:55 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/almalinux_*********-root / xfs defaults 0 0
UUID=********-****-****-****-************ /boot xfs defaults 0 0
/dev/mapper/almalinux_*********-home /home xfs defaults 0 0
/dev/mapper/almalinux_********-swap none swap defaults 0 0
/dev/sdb1 /mnt/kvm xfs _netdev 0 0
で、何に使うかと云えば
# rmdir /var/lib/libvirt/images {imagesディレクトリィを削除し忘れると・・・・}
# ln -s /mnt/kvm /var/lib/libvirt/images {imagesディレクトリィの下に kvm -> /mnt/kvm が出来てしまう}
本当はユーザ/パスワード指定してログインした方がいいし。CHAPも使った方がいい。
vi /etc/iscsi/iscsid.conf
# CHAP有効化
node.session.auth.authmethod = CHAP
# iSCSI ターゲットで設定したユーザー名とパスワードを設定
node.session.auth.username = {ユーザ名}
node.session.auth.password = {パスワード}