ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 FreeBSD 11でiSCSI Targetを作る まえがき ターゲットとイニシエータ 試した環境 基本設定 Macから繋いでみる FreeBSD 11でiSCSI Targetを作る まえがき FreeBSD 10.0で登場したctld(8)により、FreeBSDもネイティブでiSCSIをサポートするようになった。本記事では、そのctldを用いたiSCSIターゲットの構築方法を説明する。FreeBSD 9以前では事情が大きく異なるので注意されたい。 ターゲットとイニシエータ 超乱暴に言えばiSCSIはケーブルがLANケーブルに変わっただけのSCSIなので、用語や概念はSCSIのそれを踏襲している。馴染みが薄く自分でも混乱するので簡単にまとめておく。 Target SCSIコマンドを受け取る側。要はSCSI機器(HDDとか光学ドライブとか) Initiator SCSIコマンドを発行する側。要はSCSIホストバスアダプタ(SCSIカード) サーバ/クライアントの視点から見ると、iSCSIによるストレージサービスを提供するサーバ側がTargetで、それを利用するクライアント側がInitiatorという事になる。何となくイメージと逆なように感じるがそういうもんだから仕方ない(HBAって何となくサーバっぽいじゃん?) 試した環境 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-12-04 18:17by Decomo