スキップしてメイン コンテンツに移動

iSER/iSERT を Initiator/Target 共に Debian12 で構成する

前回に加え、今回は、ターゲット(サーバ 10.1.56.50 i50)側でiSERTを有効にし、iSERなイニシエータ(クライアント 10.1.56.109 sv109)を追加してみました。流れは前回とほぼ同じで一部重複する部分がありますが、設定は以下の通りです。
# target(server) 側の追加設定

# rdma-coreがインストールされていない場合
apt-get install rdma-core

# backup
cp -a /etc/rdma/modules/rdma.conf /etc/rdma/modules/rdma.conf.orig

# edit /etc/rdma/modules/rdma.conf
# uncomment 
ib_isert

# rdma-load-modules service を再起動しモジュールをロードさせる
systemctl restart rdma-load-modules@rdma.service

# iSERT の 設定
targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> cd /iscsi
/iscsi> ls
o- iscsi ...................................................... [Targets: 1]
  o- iqn.1868-01.com.example:i50.rd4gb01 ......................... [TPGs: 1]
    o- tpg1 .................................... [no-gen-acls, auth per-acl]
      o- acls .................................................... [ACLs: 1]
      | o- iqn.1868-01.com.example:sv106 ...... [1-way auth, Mapped LUNs: 1]
      |   o- mapped_lun0 ....................... [lun0 ramdisk/rd4gb01 (rw)]
      o- luns .................................................... [LUNs: 1]
      | o- lun0 ....................... [ramdisk/rd4gb01 (default_tg_pt_gp)]
      o- portals .............................................. [Portals: 1]
        o- 0.0.0.0:3260 ............................................... [OK]

# iSERT を有効にする
/iscsi> cd iqn.1868-01.com.example:i50.rd4gb01/tpg1/portals/0.0.0.0:3260
/iscsi/iqn.18.../0.0.0.0:3260> enable_iser true
iSER enable now: True

# イニシエータを追加する
/iscsi/iqn.18.../0.0.0.0:3260> cd /iscsi/iqn.1868-01.com.example:i50.rd4gb01/tpg1/acls
/iscsi/iqn.18...b01/tpg1/acls> create iqn.1868-01.com.example:sv109
Created Node ACL for iqn.1868-01.com.example:sv109
Created mapped LUN 0

/iscsi/iqn.18...b01/tpg1/acls> ls
o- acls .......................................................... [ACLs: 2]
  o- iqn.1868-01.com.example:sv106 ............ [1-way auth, Mapped LUNs: 1]
  | o- mapped_lun0 ............................. [lun0 ramdisk/rd4gb01 (rw)]
  o- iqn.1868-01.com.example:sv109 ............ [1-way auth, Mapped LUNs: 1]
    o- mapped_lun0 ............................. [lun0 ramdisk/rd4gb01 (rw)]

# 追加したイニシエータのユーザ名とパスワードを設定する
/iscsi/iqn.18...b01/tpg1/acls> cd iqn.1868-01.com.example:sv109
/iscsi/iqn.18...example:sv109> set auth userid=user02
Parameter userid is now 'user02'.
/iscsi/iqn.18...example:sv109> set auth password=P@ssW0rd
Parameter password is now 'P@ssW0rd'.

# 設定終了
cd /
saveconfig
exit

# ターゲット側の iSERTの設定およびイニシエータの追加は以上

=============================================================

# 以下追加したイニシエータでiSERでの接続設定

# パッケージのインストール
apt-get install open-iscsi rdma-core

# バックアップ
cp -a /etc/iscsi/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi.orig
# 編集 /etc/iscsi/initiatorname.iscsi

--snip--
#InitiatorName=iqn.1993-08.org.debian:01:507914736b41
InitiatorName=iqn.1868-01.com.example:sv106


# バックアップ
cp -a /etc/iscsi/iscsid.conf /etc/iscsi/iscsid.conf.orig

# edit /etc/iscsi/iscsid.conf like below:
--snip ( 以下コメント解除 )
node.session.auth.authmethod = CHAP
--snip( 以下コメント解除および設定 )
node.session.auth.username = user01
node.session.auth.password = P@ssW0rd
--snip

# iscsid と open-iscsi の再起動
systemctl restart iscsid open-iscsi

# ターゲット を iSER で discovery(発見)
iscsiadm -m discovery -t sendtargets -p 10.1.56.50 -I iser
10.1.56.50:3260,1 iqn.1868-01.com.example:i50.rd4gb01

# 確認
iscsiadm -m node -o show
# BEGIN RECORD 2.1.8
node.name = iqn.1868-01.com.example:i50.rd4gb01
--snip
iface.transport_name = iser
--snip

# ターゲットにログイン(接続)
iscsiadm -m node --login -p 10.1.56.50 -I iser
Logging in to [iface: iser, target: iqn.1868-01.com.example:i50.rd4gb01, portal: 10.1.56.50,3260]
Login to [iface: iser, target: iqn.1868-01.com.example:i50.rd4gb01, portal: 10.1.56.50,3260] successful.

# 起動時にターゲットに自動的にログイン(接続)する場合
iscsiadm -m node -p 10.1.56.50 -o update -n node.startup -v automatic

# 接続の確認
dmesg | tail
[ 3125.117222] scsi 7:0:0:0: Direct-Access     LIO-ORG  rd4gb01          4.0  PQ: 0 ANSI: 6
[ 3125.119556] sd 7:0:0:0: Attached scsi generic sg3 type 0
[ 3125.119650] sd 7:0:0:0: [sdc] 8388608 512-byte logical blocks: (4.29 GB/4.00 GiB)
[ 3125.119731] sd 7:0:0:0: [sdc] Write Protect is off
[ 3125.119735] sd 7:0:0:0: [sdc] Mode Sense: 43 00 00 08
[ 3125.119850] sd 7:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 3125.119958] sd 7:0:0:0: [sdc] Preferred minimum I/O size 512 bytes
[ 3125.119961] sd 7:0:0:0: [sdc] Optimal transfer size 4294967288 logical blocks > dev_max (65535 logical blocks)
[ 3125.121129]  sdc: sdc1
[ 3125.121294] sd 7:0:0:0: [sdc] Attached SCSI disk

# マウント
mount /dev/sdc1 /mnt

# 接続解除
cd
umount /mnt
iscsiadm -m node --logout -p 10.1.56.50
今回は以上です。それでは。

コメント

このブログの人気の投稿

wsdd を使ってSamba サーバをネットワークに表示

Windows 10のアップデートで、セキュリティー対応のため、smbv1がデフォルトではインストールされなくなり、Samba serverがエクスプローラーのネットワークに表示されなくなってしまいました。そこで、いくつか方法を調べたのですが、linuxでwsdの実装がないか探したところ、 https://github.com/christgau/wsdd が、見つかりましたので、さっそくインストールしてみました。まだパッケージにはないようですが、インストール自身は簡単です。wsdd自体は以下のように取得し、linkを張っておきます。 cd /usr/local/bin/ sudo wget https://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py sudo chmod 755 wsdd.py sudo ln -sf wsdd.py wsdd こちらのsambaサーバはDebianなので、/etc/systemd/system/wsdd.serviceは以下のようにしました。 [Unit] Description=Web Services Dynamic Discovery host daemon Requires=network-online.target After=network.target network-online.target multi-user.target [Service] Type=simple ExecStart=/usr/local/bin/wsdd -d MYDOMAIN [Install] WantedBy=multi-user.target wsdd -d MYDOMAINのところを、環境にあわせて書き換えてください。 次に、systemdに登録・起動テストを行います。 systemctl enable wsdd systemctl start wsdd 起動に成功すると、エクスプローラーのネットワークに表示されます。  なおこのwsddはpython3が必要です。一度試してみてください。SMBv1/CIFSを停止していても、大丈夫です。 cで書かれたほかのwsddの実装もあるようなので、いずれパッケージになるかも...

Windows デバイス暗号化 のサポートで "許可されていない dma 対応バス/デバイスが検出されました"の対処

Windows でセキュリティー関係を見ているのですが、とあるPCでmsinfo32で確認すると"デバイス暗号化のサポート"で"許可されていない dma 対応バス/デバイスが検出されました"と出ていました。このPCの場合、それ以外はOK(なにも表示されない)だったのですが、ネットでしらべるとMSのドキュメントではハードウェアベンダーに問い合わせるなどと敷居が高く具体的にどこが引っかかっているかわかりません。そこでほかに方法はないかとしらべやってみたところ、"前提条件をみたしています"まで持って行けたので、本稿を挙げた次第です。 具体的には、以下のようにします。 1-a. 許可するDMA対応バス・デバイスを指定するレジストリの所有権と書き込み設定をおこなう。 以下のレジストリキーの所有者を自分自身(管理ユーザ)のものにし、フルコントロール権を付与する。 HKLM\SYSTEM\CurrentControlSet\Control\DmaSecurity\AllowedBuses もしくは 1-b. MicrosoftよりPsExecをダウンロードし、System権限でRegeditを立ち上げ編集する。 Microsoftより、https://docs.microsoft.com/en-us/sysinternals/downloads/psexec にある こちら をダウンロードし、解凍する。解凍すると、x64の場合、PsExec64.exeがあるので、管理者権限で以下を実行し、システム権限でregeditを立ち上げることが出来るようになる。 cd Downloads\PSTools .\PsExec64.exe -sid C:\Windows\regedit.exe 2-a. パワーシェルスクリプトを実行し、PnPデバイスのうちインスタンスがPCIで始まるものを"AllowedBuses"に追加する。 以下のパワーシェルスクリプトを作成する。たとえばDocuments\allow-dma-bus-device.ps1として作成する。( こちらの記事のものを使用させていただきました: Thank you! ) $tmpfile = "$($env:T...

フレッツ光クロス:MAP-E ROUTER by Debian Box (iptables)

フレッツ光クロスがようやく開通したので、Debianにてrouterを構成し接続してみました。なお、プロバイダーを選ぶにあたっては、IPoE方式がそれぞれ異なるため検討したところ、IPoEでは、MAP-Eでもv6plusとocnバーチャルコネクトがあり、前者がポート数240なのに対し、後者は約4倍のポート数が使えるようなネットの情報をみて、OCNバーチャルコネクトを選択しました。(プロバイダーとしてはぷららです。なおDS-LiteはCE側でのNATではないので今回は見送りました。)そこで、OCN バーチャルコネクトをDebian(iptables)で実現するとどうなるかと思い、ネットの情報を頼りにしつつ、設定した次第です。 実際に試した結果、とりあえず通信できていますが、MAP-Eは本来マッピングルールをマップサーバから取得するはずなので、今回のやり方が正解とはいえませんし、仕様変更されると通信できなくなる可能性があります。あくまでも参考程度ですが、本稿をUPしてみました。 2023/03/16追記: こちら にゲームコンソールNAT越え(Nintendo Switch ナットタイプ A判定)対応版を投稿しました。 2023/03/28追記:※1の記述および3行無効化によりNAT越え(Nintendo Switch ナットタイプ B判定)できるようになりました。 構成は以下の通りです。 ルーターがDebianで回線がOCNバーチャルコネクトであること以外はなにも特別なところはない構成です。 さて、いきなり設定ですが、まず、割り当てられたプレフィックスを確認します。 確認は、 dhclient -6 -d -P enp2s0 とします。出力の中に 前略 RCV: | | X-- IAPREFIX 2400:4050:5c71:af00::/56 後略 このようにプレフィックスが表示されるので、その確認したプレフィックスを書き留めておきます。これを こちらで 入力します。すると、 CE: 2400:4050:5c71:af00:99:f171:c600:2f00 IPv4 アドレス: 153.241.113.198 ポート番号:(1776-1791 2800-2815 3824-3839) 4848-4863 5872-5887 6896-...