最近の変更サイトマップ

FreeBSD 11でiSCSI Targetを作る

まえがき

FreeBSD 10.0で登場したctld(8)により、FreeBSDもネイティブでiSCSIをサポートするようになった。本記事では、そのctldを用いたiSCSIターゲットの構築方法を説明する。FreeBSD 9以前では事情が大きく異なるので注意されたい。

ターゲットとイニシエータ

超乱暴に言えばiSCSIはケーブルがLANケーブルに変わっただけのSCSIなので、用語や概念はSCSIのそれを踏襲している。ネットワーク脳からすると、馴染みが薄く自分でも混乱するので簡単に

|iSCSI Target| SCSIコマンドを受け取る側 |iSCSI Initiator|

iSCSI Host Bus Adapter

試した環境

  • FreeBSD 11.0-STABLE r308494
    • 当方環境の都合でSTABLEになっているだけで、RELEASEでも問題ないと思われる。理論上は10.0-RELEASE以降で行けるハズ。

基本設定

/etc/ctl.confでiSCSIターゲットの設定を行う。

portal-group pg0 {
    discovery-auth-group no-authentication
    listen 0.0.0.0
    listen [::]
}

target iqn.2002-03.info.decomo:target0 {
    auth-group no-authentication
    portal-group pg0

    lun 0 {
        path /dev/zvol/zvols/ROOT/target0-0
#       size 100G
    }
}

iSCSIターゲットで公開する領域はzfs create -V 100g zvols/ROOT/target0-0で、ZFSからzvolとして切り出したものを使う。

ctl.confがデフォルトのパーミッションだと、デーモン起動時にctld: /etc/ctl.conf is world-readableと怒られるので落しておく。この先、アカウント情報も書く事になるので、忘れずに落しておく。

# chmod 640 /etc/ctl.conf

お馴染/etc/rc.confでctldを有効にし、デーモンを起動する。

# echo 'ctld_enable="YES"' >> /etc/rc.conf
# service ctld start
Starting ctld.

Macから繋いでみる

iSCSI Initiator for macOSを使って、作成したiSCSIターゲットにMacから繋いでみる。

$ sudo iscsictl add target iqn.2002-03.info.decomo:target0,172.16.0.1
The specified target has been added
$ sudo iscsictl login iqn.2002-03.info.decomo:target0.172.16.0.1
Attached iqn.2002-03.info.decomo:target0 <scsi domain 0, target 0>
    FREEBSD CTLDISK 0001
    Serial Number MYSERIAL   0
    lun 0: type 0x00 (Block device)

こんな感じで無事マウントできた。

freebsd/freebsd_11_configure_iscsi_target.txt · 最終更新: 2017-05-24 19:18 by decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0