freebsd:freebsd_11_configure_iscsi_target

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
freebsd:freebsd_11_configure_iscsi_target [2017-03-22 00:01]
Decomo 作成
freebsd:freebsd_11_configure_iscsi_target [2017-12-04 18:17] (現在)
Decomo
行 1: 行 1:
 ====== FreeBSD 11でiSCSI Targetを作る ====== ====== FreeBSD 11でiSCSI Targetを作る ======
 +
 +===== まえがき =====
 +
 +FreeBSD 10.0で登場した[[https://www.freebsd.org/cgi/man.cgi?query=ctld&apropos=0&sektion=8&manpath=FreeBSD+11.0-RELEASE&arch=default&format=html|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   * FreeBSD 11.0-STABLE r308494
-    * 当方環境の都合でSTABLEになっているだけで、RELEASEでも問題ないと思われる。理論上は10.0-RELEASE以降で行けるハズ。+    * 当方環境の都合でSTABLEになっているだけで、RELEASEでも問題ないと思われる。試してないけど10.0-RELEASE以降で行けるハズ。
  
 ===== 基本設定 ===== ===== 基本設定 =====
行 10: 行 23:
 ''/etc/ctl.conf''でiSCSIターゲットの設定を行う。 ''/etc/ctl.conf''でiSCSIターゲットの設定を行う。
  
-</code>+まずは認証なしで公開してみる。 
 + 
 +<code>
 portal-group pg0 { portal-group pg0 {
     discovery-auth-group no-authentication     discovery-auth-group no-authentication
行 28: 行 43:
 </code> </code>
  
 +iSCSIターゲットで公開する領域は''zfs create -V 100g zvols/ROOT/target0-0''で、ZFSからzvolとして切り出したものを使う。
  
 +ctl.confがデフォルトのパーミッションだと、デーモン起動時に''ctld: /etc/ctl.conf is world-readable''と怒られるので落しておく。この先、アカウント情報も書く事になるので、忘れずに落しておく。
 +<code>
 +# chmod 640 /etc/ctl.conf
 +</code>
 +
 +お馴染/etc/rc.confでctldを有効にし、デーモンを起動する。
 +
 +<code>
 +# echo 'ctld_enable="YES"' >> /etc/rc.conf
 +# service ctld start
 +Starting ctld.
 +</code>
 +
 +==== Macから繋いでみる ====
 +
 +[[https://github.com/iscsi-osx/iSCSIInitiator|iSCSI Initiator for macOS]]を使って、作成したiSCSIターゲットにMacから繋いでみる。
  
-$ sudo iscsictl add target iqn.2002-03.info.decomo:target0,172.20.1.2+<code> 
 +$ sudo iscsictl add target iqn.2002-03.info.decomo:target0,172.16.0.1
 The specified target has been added The specified target has been added
-$ sudo iscsictl login iqn.2002-03.info.decomo:target0,172.20.1.2+$ 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> Attached iqn.2002-03.info.decomo:target0 <scsi domain 0, target 0>
  FREEBSD CTLDISK 0001  FREEBSD CTLDISK 0001
  Serial Number MYSERIAL   0  Serial Number MYSERIAL   0
  lun 0: type 0x00 (Block device)  lun 0: type 0x00 (Block device)
 +</code> 
 +こんな感じで無事マウントできた。
 {{ :freebsd:mount_iscsi_target_on_osx.png |}} {{ :freebsd:mount_iscsi_target_on_osx.png |}}
  • freebsd/freebsd_11_configure_iscsi_target.1490108484.txt.gz
  • 最終更新: 2017-03-22 00:01
  • by Decomo