テスト用のFreeNASのダウンロードはこちらから。
http://sourceforge.net/project/showfiles.php?group_id=151951&package_id=229704
※テスト用の空いてるUSBメモリがもうないので余っていたmicroSDカードに
FreeNAS 0.7.4531 (i386)をインストールしました。
1.FreeNASの初期設定
起動したらコンソールからネットワークカードとIPを設定します。
設定できたらブラウザで設定したIPを開きます。
System>Generalを開きます。
LanguageをJapaneseに変更します。
Time zoneをAsia/Tokyoに変更します。
「Save」をクリックします。
パスワードタブで新しいパスワードを設定してWebGUIを開き直します。

追加のアダプタがある場合はネットワークから設定します。
このテストマシンにはオンボード1個、PCIe拡張スロットに
シングルポートのアダプタを2個装備してありますので、
LAN,OPT1,OPT2の合計三個にIPを設定しました。
(再起動を要求されるので一旦再起動)

2.ディスクの用意
ディスク>マネージメントを開きます。
FreeNASで利用するドライブを追加します。
テストマシンは500GBのSATAドライブが1台なのでそれを指定しました。

ディスク>フォーマットを開きます。
UFS (GPT with Soft Updates)などでフォーマットを実行します。
ディスク>マウントポイントを開きます。
dataなどにマウントします。

3.iSCSIターゲットの設定
サービス>iSCSIターゲットを開きます。
iSCSIターゲットを構成する前に、利用する領域をエクステントに、
サービスの待ち受けに利用するIPアドレスやポート番号をPortal Groupに、
アクセスを許可するイニシエータ名やIPアドレスをInitiator Groupに、
それぞれ設定します。
CHAPによる認証機能を使う場合はAuth Groupに設定します。
グループ設定は一個のみ設定して共通で使っても、
複数設定して使い分けてもどちらでも構いません。
最低1個のPortal GroupとInitiator Groupを予め設定しないと
iSCSIターゲットを構成できません。
3.1.ポータルグループの作成
サービス>iSCSIターゲット>Portalsを開きます。
追加のボタンをクリックすると、最初のグループ(Tag1)として、FreeNASに
設定したIPとiSCSI標準ポートの3260を使ったデフォルト設定が作成されます。
複数で分ける必要がない場合は修正せずに、そのまま追加をクリックします。

3.2.イニシエータグループの作成
サービス>iSCSIターゲット>Initiatorsを開きます。
追加のボタンをクリックすると、最初のグループ(Tag1)として、FreeNASに
設定したIPとネットマスクからデフォルト設定が作成されます。
接続を許可するIPをさらに厳しく制限したり、
イニシエータ名を制限する場合はここで変更しておきます。
(または後ほど新規グループを作成して適用する事も可能です)
※クラスタ対応のファイルシステムを使わない限り、
1ターゲット=1イニシエータの関係は必須事項です。
必要な変更が終わったら、追加をクリックします。

3.3.認証グループの作成(オプション)
サービス>iSCSIターゲット>Authsを開きます。
追加のボタンをクリックすると、ユーザ名とシークレットを入力する画面
になります。初期入力では一度に4ユーザまでしか追加できません。
5個以上必要な場合は一度4個追加した後に編集でさらに追加します。
一般的にユーザ名はイニシエータの名前がデフォルトになっています。
詳しくは利用するイニシエータの説明書を参照してください。
マイクロソフトのイニシエータを使う場合はシークレットに
12文字以上16文字以下の文字列を設定します。
相互認証を使う場合は、接続先のユーザ名とシークレットを入力します。

3.4.エクステントの作成
サービス>iSCSIターゲット>Targetsを開きます。
エクステント名は設定を変更したりするときに利用するだけなので、
デフォルト値のまま利用します。
タイプは現時点のWebGUIではファイルのみサポートしています。
追記:r4928から生デバイスを、r4960からZFSボリュームを選択できるようになりました。
パスはマウント済みの領域のいずれかを選択し、ファイル名を書きます。
ここではテスト用に/mnt/data/test-disk0としました。
ファイルサイズはMiB/GiB/TiBのいずれかの単位を選択して指定します。
(MiB=2^20, GiB=2^30, TiB=2^40)
ここではテスト用に20GiBで作成しました。

3.5.ターゲットの作成
サービス>iSCSIターゲット>Targetsを開きます。
上記項目で作成してき待ち受けIPアドレスやポート番号、
許可するイニシエータ名やIPアドレス、認証データ、
ディスク領域をイニシエータから見える形にするのがこの項目です。
ターゲット名はiqn.を含まない省略形でデフォルトとして入力されています。
もし必要ならばiqn.YYYY-MM.reverse-domain:optionalの完全形式も入力可能です。
タイプは現時点のWebGUIではディスクのみサポートしています。
追記:r4912でDVDとTape(DLT8000型)とパススルーが追加されました。
フラグはrw(読み書き用)かro(読み込み専用)のどちらかを選択します。
Portal GroupとInitiator Groupは上記で作成した物を指定します。
LUN0のストレージに作成したエクステント(ディスク領域)を割り当てます。
SCSI仕様上は少なくともLUN255までは利用できるはずですが、
現時点のWebGUIはLUN0のマップのみ作成可能です。

CHAP認証を行うには、高度な設定から
Auth MethodでCHAPを選択し、
Auth Groupに上記で作成したグループを指定します。
コマンドキューイングを有効にするには、高度な設定で
Queue Depthを1~255の数値にします。
現時点のテスト済み推奨値は16です。
キューが深くなるとメモリ消費量が増えますので注意が必要です。
追記:FreeNAS0.7.4919以降はQueue Depth 32 を推奨値とします。

3.6.iSCSIサービスの起動
サービス>iSCSIターゲット>設定を開きます。
右側にある有効のチェックボックスに印を入れて、
「保存して再起動」をクリックします。

以上でターゲットが作成されました。
後はイニシエータ側で接続して自由に利用できます。
現時点で少なくとも以下のイニシエータに接続できる事を確認してあります。
Windows Server 2008
Windows Server 2003 + MS iSCSI initiator 2.08
Windows XP + MS iSCSI initiator 2.08
VirtualBOX 2.1.2
ESXi 3.5 U3
Xen Server 5.0.0 U3
PRO1000/PT Server Adpater (iSCSI Remote Boot 2.1.22)
性能の方はと言うと別にFreeNASにしたから高速化するなんて事はなくて、
いつもどおり書き込みは遅いですね!な状態です。
↓コマンドキューイングあり(深さ16)で1000MBをGbE1本で実行した結果

(クリックで拡大)
↓コマンドキューイングあり(深さ16)で1000MBをGbE2本で実行した結果

(クリックで拡大)
現時点の制限:
iSCSI初期パラメータがターゲット毎に設定できない。