‘IPv6’ カテゴリーのアーカイブ

FreeNAS 0.8 の開発について

2010年2月1日 月曜日

おそらくかなりの人が今後について気になっていると思います。
そこで、週末に取ったSSだけを先行公開しましょう。
現段階ではnano BSDベースの移植は完了していません。
そこで、FreeBSD8.0カーネルを使って、0.7.1(5008)相当の機能を
搭載したバージョンを作成しました。

FreeBSD 8.0には ZFSv13 が搭載されていますので、
非公式7S版でZFSv13を利用している人も問題なく移行できるようになります。

※この作業自体は先月中頃より開始されました。

開発テストには先日より公開しているVirtualBox機能が多大な貢献をしています。
改めてFreeBSDに移植された方々に感謝します。

FreeNAS on FreeNASの作り方についてはフォーラム(英語)を参照してください。
http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=96&t=5597

そういえば、まだ書いていませんでしたが、開発チームに加わった事で、
公式フォーラムのグローバルモデレータ(いわゆる運営スタッフ)になりました。


(クリックで拡大)

FreeBSD自体のセキュリティ保守期間についてはこちらを参照してください。
http://www.freebsd.org/security/security.html
FreeBSD 8.0はNormalタイプが適用されるためリリース後1年間は保守されます。
上記によると、具体的には2010年11月30日までです。
ちなみに7.2は2010年5月31日までです。
現在7.3-BETA1が公開されているので、7.2系はいずれ7.3に移行すると思います。
当然ですが7S系の人は7.3版であれば容易に移行できます。

FreeNAS 0.7用 iSCSIターゲット(istgt)アップデータ 20100125版

2010年1月25日 月曜日

このアップデータはRC1(4735)以降のFreeNAS 0.7用です。
FreeNASの本体を更新することなくiSCSIターゲットのみを更新します。

設定ファイルはすべて保たれますが、バックアップを取ることを推奨します。
システム|バックアップ/リストアから設定のダウンロードをクリックしてください。

istgt-20100125版アップデータ: istgt-update-20100125.tar.gz

ネットに接続できるマシンからは以下のように/tmpなどにダウンロードして、
展開した中にはいっている istgt-install.php を実行します。
これにより現在のファイルが上書きされます。
また、embeddedやlivecdの場合は、設定保存ディレクトリに保存して、
FreeNASの再起動時にコピーして再現できるように、コピー処理コマンドを、
システム|高度な設定|スクリプトに事前実行型のコマンドとして
登録されます。(設定保存領域を約150KBほど消費します。)
すでに登録されている場合はしませんので、何度でもインストール可能です。

以下はFreeNASのコンソール(shell)での作業例になります。

# cd /tmp
# fetch http://www.peach.ne.jp/archives/freenas/istgt-update-20100125.tar.gz
# tar zxf istgt-update-20100125.tar.gz
# cd istgt-update
# ./istgt-install.php
 

このアップデータはi386とamd64のどちらにも適用できます。
それぞれ、full、embedded、livecdのいずれでも適用できます。
これにはistgt本体の他に起動用スクリプトと制御プログラムも含まれます。
FreeNAS0.7リリース版(4919)でiSCSIターゲットが正常に起動しないという問題も
このインストールにより修正されます。

ネットに接続されてない場合は、NFSでもWindowsの共有でもいいので、
fetchのかわりにファイルを手動でコピーして利用してください。

完了したら、WebGUIからサービス|iSCSI ターゲットで再起動します。
診断|ログでこのようなログが現れます。

istgt[1795]: istgt version 0.2 (20100125)

※ESXなどでQueueDepthを指定する場合32以上を推奨します。
※現在アンインストール機能はありません。fullインストールでなければ、
登録されたスクリプトを削除して再起動すれば戻ります。

MD5 (istgt-update-20100125.tar.gz) = 3f1c7f84d8854bca1ed053386d93d588
SHA256 (istgt-update-20100125.tar.gz) = 2b9f585ee3e50c44952f63f90448610e9a25a56f357619b8b318e702cbef03d7

istgt (iSCSI target) 20100125版 for FreeBSD 7.x

2010年1月25日 月曜日

ABORT_TASKからエラーリカバリーができなくなる可能性がある問題に
対応するため若干の修正を加えました。
Ivan Vorasさんから提案とパッチを頂きましたので追加してみました。

istgt (tarball): istgt-20010125.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20100125.tar.gz
# cd istgt-20100125
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20100125.tar.gz) = 1af4006dd185b2e2326a356ef17dc2cc
SHA256 (istgt-20100125.tar.gz) = 028dd131300d24b2c425543ef84805735a9361cac79437c829a5062f84532618

主な修正点:
内部でスレッド名を保持するようになりました。
実行待ちのタスクを強制終了させるフラグなどを追加しました。
スレッド条件待ち時間の最小を5秒まで短縮しました。

FreeNAS 0.7(ホストOS)でVirtualBox 3.1.2を動かそうという計画2

2010年1月24日 日曜日

この版から計画1で利用していたパッチは破棄して、
LibVNCServer (ports/net/libvncserver)を利用して自前で
フレームバッファを作るように変更しました。
キーマップは/usr/share/syscons/keymaps/us.pc-ctrl.kbdを元に
修正したkeysym変換テーブルを内蔵してあります。
これはvnckeymapオプションで任意のマップに変更可能です。

VirtualBox 3.1.2 OSE for FreeNAS 0.7(バイナリパッケージ)
http://www.peach.ne.jp/archives/freenas/test/vboxpkg-20100124.tar.gz

未完成のものに同じ事を何度も書くのが面倒なので、
英語で書いてフォーラムに投稿したものを参照してください。
コマンドラインの書式は英語も日本語も同じですし。

このトピックを参照してください。(英語)
http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=13&t=5466

注意点としては現時点は非公式4967版および4986版でのみ動作保証します。
FreeNAS 0.7.1.4967 + istgt 2010/01/12版
http://shell.peach.ne.jp/aoyama/archives/766
FreeNAS 0.7.1 4986版
http://shell.peach.ne.jp/aoyama/archives/789

追記:
公式4997版(nightly build)から対応できるようになりました。
非公式FreeNAS 0.7.1 5008版も利用できます。
http://shell.peach.ne.jp/aoyama/archives/816

FreeNAS 0.7とATAPICAMを使ってSATA接続のDVDマルチドライブをiSCSIデバイスとして構成する

2010年1月13日 水曜日

この機能は非公式のFreeNAS 0.7.1(4967)版から利用できます。
すぐに本家にも取り込まれると思います。

非公式版のダウンロードはこちらから。
http://shell.peach.ne.jp/aoyama/archives/766

ここではATAPICAMでの最低限の情報のみ書きます。
一般的なiSCSIデバイスの作成方法は以前書いたものを参考にしてください。

FreeNAS 0.7 を使って iSCSI Target を構成する
http://shell.peach.ne.jp/aoyama/archives/431

FreeNAS 0.7 で ZFS と iSCSI Target を構成する
http://shell.peach.ne.jp/aoyama/archives/466

まず、準備として初期化前のコマンドとして以下を登録して再起動します。
システム|高度な設定|スクリプト を開き、事前実行で登録します。

/sbin/kldload atapicam

できたら再起動します。


(※画像はクリックですべて拡大します)

正しく登録できていれば、以下のようなログが 診断|ログ に表示されます。
ここではLG電子のGH20NS10(SATA接続)を使いましたが、
IDEでも同様に作成可能かと思います。

Jan 13 02:42:19 freenas kernel: cd0 at ata4 bus 0 target 0 lun 0
Jan 13 02:42:19 freenas kernel: cd0:  Removable CD-ROM SCSI-0 device
Jan 13 02:42:19 freenas kernel: cd0: 150.000MB/s transfers
Jan 13 02:42:19 freenas kernel: cd0: Attempt to query device size failed: NOT READY, Medium not present

ログを確認できたら、そこに表示されているデバイス名(/dev/を付ける)を使って、
エクステントを作成します。
ここではcd0になっているので /dev/cd0 を利用します。

タイプ=>ファイル
パス=>/dev/cd0
ファイルサイズ=>オート

次に作成したエクステントをパススルーモードでターゲットを作成します。

タイプ=>Device Pass-through
フラグ=>読込み/書込み(rw)
ストレージ=>上記で作成したもの (/dev/cd0)

設定を終えるとこんな感じになります。

ではさっそく使ってみます。
ここではイニシエータにはESXi4.0の仮想マシンにインストールした
Windows Server 2008R2(評価版)を使ってみました。

 

DVDマルチドライブを利用したのでISOイメージを書込みしたりもできます。
もちろん再生アプリケーションが対応していればDVD動画も見れます。

FreeBSD 7.2のCD-Rを作成するとこんな感じ。

ちなみにここで使った2008R2は下記テストのために
FreeNAS上のiSCSIディスク(/dev/ad4)に作成したものです。
http://shell.peach.ne.jp/aoyama/archives/679
一度でも仮想マシンとiSCSIの便利さに慣れるとiSCSIなしの環境が面倒になってくると思う。
簡単に構築できるFreeNASを使っていろいろ試してみて欲しいと思います。
もちろんFreeBSDサーバでもistgtの最新版を利用すれば同様の事が可能です。

istgt (iSCSI target) 20100112版 for FreeBSD 7.x

2010年1月12日 火曜日

更新>istgt 2010/01/25版

パススルーが正常に動かなくなっていました。
ATAPICAMをロードしてSATA接続のDVDライタを使い、
iSCSI経由でメディアに書き込む事は確認しました。

istgt (tarball): istgt-20010112.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20100112.tar.gz
# cd istgt-20100112
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20100112.tar.gz) = de95e0888103d2f978d94a90288834de
SHA256 (istgt-20100112.tar.gz) = eecf9e9611ff33c8da1ac8b1aa807a5170722e1c179cf9760fa82a3853fc9342

主な修正点:
センスデータ長の間違いを修正しました。
MMCデバイスにMODESENSE(6)を発行しないように修正しました。
パススルーでBlockDescriptorがない場合に誤動作するのを修正しました。

istgt (iSCSI target) 20100105版 for FreeBSD 7.x

2010年1月6日 水曜日

更新>istgt 2010/01/12版

遅くなりましたが、あけましておめでとうございます。
今年もよろしくお願いします。

BSD系OSの場合はkqueue/keventを利用するようになりました。
FreeNASフォーラムで仮想テープに関する書き込みがあったので、
少し前倒しでリムーバブルメディアの扱いを調整しました。
最低限使えるところまで変更したのでお試しください。
WebGUIは開発中ですが、最低限の機能を搭載した版を用意しましたので、
こちらもすぐにアップします。
なお、ZFSボリュームは前バージョンから対応してあります。
本バージョンよりリムーバブルデバイス(DVD/TAPE)が/dev/null指定で
スロットにメディア挿入せずに起動できるようになりました。
空で起動した場合はistgtcontrolでメディア交換する必要があります。

istgt (tarball): istgt-20010105.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20100105.tar.gz
# cd istgt-20100105
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20100105.tar.gz) = a8e7ebb77eb3f1e23fd1cb8c538cfe39
SHA256 (istgt-20100105.tar.gz) = f4cb6e0df3f6e75ec1315a8d458d2593c57c2ebefbe3594d503b43463f19fc89

新規コンフィグキー:

  MediaDirectory /var/istgt

リムーバブルメディアのあるディレクトリを指定します。
(現時点は一個だけ指定可能です)

空メディアの指定例:

[LogicalUnit3]
  TargetName "dvd2"
  Mapping PortalGroup1 InitiatorGroup1
  AuthMethod Auto
  AuthGroup None
  UseDigest Auto
  ReadOnly Yes
  UnitType DVD
  LUN0 Removable "ro" /dev/null 0

主な修正点:
uctl: パススルーデバイスを出力するようになりました。
uctl: LUNタイプを出力するようになりました。
MediaDirectoryの中にないメディアへの交換を拒否するようになりました。
全書き込みビットがないファイルを読み込み専用と認識するようになりました。
テープ作成前に制御ブロックが破損していないか検査するようになりました。
istgtcontrol: 認証系の処理を改善しました。
/dev/nullのメディアを空スロットと認識するようになりました。
BSD系ではkqueue/keventを利用するになりました。

istgt (iSCSI target) 20091225版 for FreeBSD 7.x

2009年12月26日 土曜日

更新>istgt 2010/01/05版

規格外の文字があるとMSイニシエータから見えないようなので、
起動時に警告を出すようにしてみました。動作自体には変更ありません。
パススルーでモードセンスコマンドがない場合に起動できない問題がありました。

istgt (tarball): istgt-20091225.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091225.tar.gz
# cd istgt-20091225
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091225.tar.gz) = baa35331503f15ac9807f480bf08ec78
SHA256 (istgt-20091225.tar.gz) = 7bbe4ec587788404ae6c15f3886124ea043b70585536f7577dbdf884339354b0

主な修正点:
パススルーでMODESENSEに失敗する場合を考慮するようにしました。
iSCSIターゲット名に規格外の文字があるか調べるようになりました。

istgt (iSCSI target) 20091222版 for FreeBSD 7.x

2009年12月22日 火曜日

更新>istgt 2009/12/25版

ESXから利用時に書き込み処理が間に合わないと、ESXからABORT_TASKが
発行されますが、その処理方法に問題がありました。
詳しくはわかりませんが、およそ5~10秒以内にSCSI反応できないと、
発行されるようです。
(シーケンシャル書き込みが連続しているとライトキャッシュで発生)
この為に再接続処理でVMFSに対する応答速度が犠牲になっていました。
ESXに関してはさらなる負荷テストを必要とします。
余裕があれば後ほどESX接続によるSSをアップします。

istgt (tarball): istgt-20091222.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091222.tar.gz
# cd istgt-20091222
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091222.tar.gz) = 67403ae7ea4035a226d86606bc6dc7b9
SHA256 (istgt-20091222.tar.gz) = 9d1f73667833339aee4bcc63f893436ad84dd97dd47913923300ce53f3ed89a6

主な修正点:
デフォルトのキューサイズを32に変更しました。
syslogプライオリティをconfigure時に変更可能にしました。
待ち時間を増加、タイムアウト値と連動するように修正しました。
タスクの処理開始時間を記録するようにしました。
ベンダ定義のVPDに対してエラーではなく警告を出すようにしました。
TASK管理のStatSN処理を変更しないようにしました。

istgt (iSCSI target) 20091218版 for FreeBSD 7.x

2009年12月18日 金曜日

更新>istgt 2009/12/22版

今回からWS08R2+HV2の環境下でのVM稼動を開始しました。
FreeNASのビルド及びテストも試験的にR2環境下で行っています。

istgt (tarball): istgt-20091218.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091218.tar.gz
# cd istgt-20091218
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091218.tar.gz) = f9a1f32136c2f69692147ede2fd63613
SHA256 (istgt-20091218.tar.gz) = 1f2830c76395d8d18f15f7286f0ea06f5c2eebab24ecda62495f563bc8fa2b98

主な修正点:
StarPortとの接続問題を修正しました。
サポート最大数の増加、予約セッション数の増加をしました。
syslogファシリティを変更するコマンドラインスイッチを追加しました。