ディスクボリュームのネットワーク共有を可能にするiscsiターゲットをUbuntu 16.04 / Debian 8にインストールする手順を記載します。
Table of Contents
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イニシエーター
接続した後、ディスク管理ツールでボリュームを初期化すればDドライブ等として使うことができます。