にほんブログ村
Ubuntu を使って、外部ストレージの iSCSI ターゲットに接続させた時のメモです。
今回の構成は、以下の通りです。
Ubuntu と QNAP は同じセグメントに設置していますが、別のセグメントであっても OK です。ただし、遅延がない程度の距離にした方が良いです。
以前 10ミリ秒 もないくらいの距離で試しましたが、遅くて使い物になりませんでした。同じ LAN 内にした方が良いです。
iSCSI イニシエーターのインストール
iSCSI イニシエーターのモジュールをインストールします。
kk@Jackson:~$ sudo apt -y install open-iscsi
[sudo] password for kk:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
<省略>
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: Generating /boot/initrd.img-6.5.0-15-generic
kk@Jackson:~$
iSCSI の設定
「/etc/iscsi/」のフォルダーができますので、その中の「initiatorname.iscsi」のファイルを編集します。
kk@Jackson:/etc/iscsi$ ls -la
total 36
drwxr-xr-x 2 root root 4096 Feb 6 12:01 .
drwxr-xr-x 149 root root 12288 Feb 6 12:01 ..
-rw------- 1 root root 348 Feb 6 12:01 initiatorname.iscsi <<< このファイルを編集
-rw-r--r-- 1 root root 13334 Jan 19 2022 iscsid.conf
kk@Jackson:/etc/iscsi$
kk@Jackson:/etc/iscsi$ sido vim initiatorname.iscsi
iSCSI ターゲットとなるストレージ側で設定しているターゲット名(IQN)を指定します。
## 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:c317f55f6df
InitiatorName=iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748 <<< iSCSI ターゲットを指定
次に、同じフォルダーにある「iscsid.conf」ファイルを編集します。
kk@Jackson:/etc/iscsi$ ls -la
total 36
drwxr-xr-x 2 root root 4096 Feb 6 12:10 .
drwxr-xr-x 149 root root 12288 Feb 6 12:01 ..
-rw------- 1 root root 415 Feb 6 12:10 initiatorname.iscsi
-rw-r--r-- 1 root root 13334 Jan 19 2022 iscsid.conf <<< このファイルを編集
kk@Jackson:/etc/iscsi$
kk@Jackson:/etc/iscsi$ sido vim iscsid.conf
58行目から70行目にかけて設定をしていきます。
まず、CHAP 認証を有効にします。
次に、iSCSI ターゲット側で設定しているユーザー名とパスワードを指定します。
# *************
# CHAP Settings
# *************
# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
#node.session.auth.authmethod = CHAP
node.session.auth.authmethod = CHAP <<< コメントを外して有効化
# To configure which CHAP algorithms to enable set
# node.session.auth.chap_algs to a comma seperated list.
# The algorithms should be listen with most prefered first.
# Valid values are MD5, SHA1, SHA256, and SHA3-256.
# The default is MD5.
#node.session.auth.chap_algs = SHA3-256,SHA256,SHA1,MD5
# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
#node.session.auth.username = username
#node.session.auth.password = password
node.session.auth.username = kkint <<< ユーザー名を指定
node.session.auth.password = 1234567890abcde <<< パスワードを指定
iSCSI のデーモンを再起動して、設定変更を読み込ませます。
kk@Jackson:/etc/iscsi$ sudo systemctl restart iscsid open-iscsi
kk@Jackson:/etc/iscsi$ systemctl status iscsid open-iscsi.service
● iscsid.service - iSCSI initiator daemon (iscsid)
Loaded: loaded (/lib/systemd/system/iscsid.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2024-02-06 12:18:43 JST; 18s ago
TriggeredBy: ● iscsid.socket
Docs: man:iscsid(8)
Process: 808615 ExecStartPre=/lib/open-iscsi/startup-checks.sh (code=exited, status=0/SUCCESS)
Process: 808618 ExecStart=/sbin/iscsid (code=exited, status=0/SUCCESS)
Main PID: 808620 (iscsid)
Tasks: 2 (limit: 4488)
Memory: 4.4M
CPU: 42ms
CGroup: /system.slice/iscsid.service
├─808619 /sbin/iscsid
└─808620 /sbin/iscsid
Feb 06 12:18:43 Jackson systemd[1]: Starting iSCSI initiator daemon (iscsid)...
Feb 06 12:18:43 Jackson iscsid[808618]: iSCSI logger with pid=808619 started!
Feb 06 12:18:43 Jackson systemd[1]: Started iSCSI initiator daemon (iscsid).
Feb 06 12:18:44 Jackson iscsid[808619]: iSCSI daemon with pid=808620 started!
○ open-iscsi.service - Login to default iSCSI targets
Loaded: loaded (/lib/systemd/system/open-iscsi.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Condition: start condition failed at Tue 2024-02-06 12:18:43 JST; 18s ago
├─ ConditionDirectoryNotEmpty=|/etc/iscsi/nodes was not met
└─ ConditionDirectoryNotEmpty=|/sys/class/iscsi_session was not met
Docs: man:iscsiadm(8)
man:iscsid(8)
Feb 06 12:01:54 Jackson systemd[1]: Condition check resulted in Login to default iSCSI targets be>
Feb 06 12:18:43 Jackson systemd[1]: Condition check resulted in Login to default iSCSI targets be>
kk@Jackson:/etc/iscsi$
iSCSI 接続
ディスカバリーをしてみます。
iSCSI ターゲットの IP アドレスを指定します。
ストレージが見えましたね。
kk@Jackson:/etc/iscsi$ sudo iscsiadm -m discovery -t sendtargets -p 172.16.26.4
172.16.26.4:3260,1 iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748
kk@Jackson:/etc/iscsi$
状態を確認します。
こちらでもストレージが見えています。
kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node -o show
# BEGIN RECORD 2.1.5
node.name = iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748
node.tpgt = 1
node.startup = manual
node.leading_login = No
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.ipaddress = <empty>
iface.prefix_len = 0
iface.hwaddress = <empty>
iface.transport_name = tcp
<省略>
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD
kk@Jackson:/etc/iscsi$
iSCSI ターゲットにログインします。
「successful」が表示されれば OK です。
表示されない場合、IQN や IP アドレス、ユーザー名、パスワードが間違っている可能性があります。
kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node --login -p 172.16.26.4
Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748, portal: 172.16.26.4,3260]
Login to [iface: default, target: iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748, portal: 172.16.26.4,3260] successful.
kk@Jackson:/etc/iscsi$
接続確認
確立しているセッションを確認します。
kk@Jackson:/etc/iscsi$ sudo iscsiadm -m session -o show
tcp: [1] 172.16.26.4:3260,1 iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748 (non-flash)
kk@Jackson:/etc/iscsi$
QNAP の方の設定も見てみます。
Ubuntu (172.16.26.10)から接続されていますね。
システムの起動時に自動で接続するようにするには、以下の設定を入れておきます。
kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node -p 172.16.26.4 -o update -n node.startup -v automatic
kk@Jackson:/etc/iscsi$
パーティションを見てみましょう。
「sdb」で、ストレージの iSCSI 領域が見えてますね。
kk@Jackson:/etc/iscsi$ cat /proc/partitions
major minor #blocks name
7 0 4 loop0
7 1 64988 loop1
7 2 65444 loop2
7 3 75892 loop3
7 4 75676 loop4
7 6 268812 loop6
7 7 358084 loop7
8 0 31266648 sda
8 1 524288 sda1
8 2 30740480 sda2
7 8 358088 loop8
7 9 508804 loop9
7 10 508908 loop10
7 11 93888 loop11
7 12 47032 loop12
7 13 12620 loop13
7 14 41836 loop14
7 15 41400 loop15
7 16 452 loop16
7 17 428 loop17
7 18 268380 loop18
8 16 2411724800 sdb <<<
8 17 2411722752 sdb1
kk@Jackson:/etc/iscsi$
面白かったら、フォローしてください!
関連するブログ:
- 複数の宛先に ping を打つことができる「fping」
- Raspberry PiでのPi-Hole設定ガイド
- UbuntuとQNAPのiSCSI統合方法
- Linux の Cron の基本的な使い方と設定方法
- Server Name Indication (SNI) とは
- LPIC を学ぶ(1) lsof コマンドについて
- QNAPでのiSCSI構成: VMware ESXiの完全ガイド
- QNAP NASのポートトランキング設定ガイド
- QNAPとESXiでNFSストレージを使う方法
- モバイル PC で SaaS の快適アクセス
最近の人気ブログ TOP 10:
- 夢の国で起きた悲劇 ~ディズニーリゾートで心中した一家~
- 新潟六日町のトンネル事件:恋愛に狂った暴力団員の極限の嫉妬
- 知られざる女子高生コンクリ詰め殺人発覚当時の報道(後編)
- 仙台アルバイト女性集団暴行殺人
- 犬鳴峠リンチ焼殺事件 ~超凶悪少年犯罪~
- 浜田省吾ファン必見の聖地巡礼訪問地リスト
- 広島の魅力: 浜田省吾ファン必見のスポット
- 未成年に踏みにじられた25歳の純情 ―実録・おやじ狩り被害―
- R40、テルの今:城東工業高校の伝説のその後
- 高崎山の王・ベンツ ~ミスターニホンザルの生涯~
最近の記事:
- 複数の宛先に ping を打つことができる「fping」
- ネイティブの英語 7 “A cup of joe”
- 死刑確定囚・野比のび太 – 第二十三話・昇華するのび太の鬱屈
- 死刑確定囚・野比のび太 – 第二十二話・静の怒りと武の苛立ち
- 死刑確定囚・野比のび太 – 第二十一話・夫婦間の亀裂とのび太の影響
- 死刑確定囚・野比のび太 – 第二十話・のび太の初出勤: 恐れと葛藤
- 死刑確定囚・野比のび太 – 第十九話・ジャイアンとのび太の絆
- 死刑確定囚・野比のび太 – 第十八話・引きこもりの息子と家族のジレンマ
- 死刑確定囚・野比のび太 – 第十七話・ドラえもんと30歳ののび太の葛藤
- 死刑確定囚・野比のび太 – 第十六話・剛田商店の成長と静香の貢献