Ubuntu 16.04 / Debian 8: iscsiターゲットをインストールする

ディスクボリュームのネットワーク共有を可能にするiscsiターゲットをUbuntu 16.04 / Debian 8にインストールする手順を記載します。

 

1 環境

内部ネットワークは192.168.11.0/24です。

内部ネットワークのドメイン名はmy.netです。

2 iscsitargetのインストール

aptでiscsitargetをインストールします。

$ sudo apt-get install -y iscsitarget

3 /etc/default/iscsitarget

ISCSITARGET_ENABLEをtrueにします。

$ diff -uprN /etc/default/iscsitarget{.org,}
--- /etc/default/iscsitarget.org        2016-05-05 14:28:56.574153766 +0900
+++ /etc/default/iscsitarget    2016-05-05 14:29:03.398123667 +0900
@@ -1,4 +1,4 @@
-ISCSITARGET_ENABLE=false
+ISCSITARGET_ENABLE=true
 ISCSITARGET_MAX_SLEEP=3

4 /etc/iet/targets.allow

ローカルホストと内部ネットワークからアクセスできるようにします。

$ cat /etc/iet/targets.allow
ALL 127.0.0.1,192.168.11.0/24

5 公開するボリューム

ファイルをボリュームとして公開します。

$ sudo mkdir /var/lib/iscsi
$ sudo dd if=/dev/zero of=/var/lib/iscsi/fileio.img bs=1 count=0 seek=20G

/dev/vdbをボリュームとして公開します。

LVMやUSB等の読み書き可能なブロックデバイスなら公開できます。

$  cat /proc/partitions | grep vdb
 253       16   20971520 vdb

6 /etc/iet/ietd.confの設定

ファイルならTypeでfileioを、ブロックデバイスならTypeでblockioを指定します。

$ sudo cat /etc/iet/ietd.conf
Target iqn.2016-05.net.my:fileio.img
  Lun 0 Path=/var/lib/iscsi/fileio.img,Type=fileio
Target iqn.2016-05.net.my:blockio.img
  Lun 0 Path=/dev/vdb,Type=blockio

7 iscsitargetの起動

systemdで起動します。

$ sudo systemctl enable iscsitarget
$ sudo systemctl restart iscsitarget

8 Windows 10から接続

Windows 10にはデフォルトでiscsiイニシエータがあるので用います。

コントロールパネル -> システムとセキュリティ -> 管理ツール -> iSCSIイニシエーター

0001_Windows-iSCSI-initiator.png

接続した後、ディスク管理ツールでボリュームを初期化すればDドライブ等として使うことができます。