ライン

ポイント:ZFSでraid-z1にして、ファイル共有とESXiのストレージで使う

ライン

 導入

 このサイトに検索エンジン経由で来る方の多くが、FreeNASのキーワードで来られていたようです。
しかしながら、ページを書いている本人はFreeNASを時々試してはいましたが、実用としては使っていませんでした。

 今回、初めて自分で使うために始めました。パーツを集めて導入・設定する FreeNAS 8となります。
今回導入する先は、HP ML110 G5マシンを使うことにします。(ML110 G6はESXi サーバで使うので)

 まず、SourceForge.netよりFreeNAS-8.0-RELEASE-amd64.Full_Install.xzイメージを取得するところから開始します。
フレッツ光で1分以内で入手完了です。これは圧縮された形式なので、解凍してください。
FreeNAS-8.0-RELEASE-amd64.Full_Inst というファイルで953 MBで解凍されました。なかなかの高圧縮でした。

 今回は、USBブートマシンとします。ML110 には内蔵のUSBを刺せる箇所があるので、これを利用するものです。

ハードディスクがお安い状態が続いています。
2TBを2本購入してきました。
ESX側のマシン用にネットワークカードははずしてしまいます。
同様にDVD装置もML110 G6側に移動しました。

今回は、こんな感じでUSBメモリーの2GBを起動メディアとして使います。
500円しないで買えるので、お手軽すぎます。

ちなみに、FreeNASのWIKIページによると、メモリーは8GB程度は必要そうなことが書かれています。
私は実際に8GBで入れています。

 まずは、USBにISOのイメージを転送させましょう。
DDWin.exe をWIndows 7の[ 管理者として実行] で起動し、メディアを書込みします。
※同様のやり方は、他のページを確認してください。ここでは多少割愛して書きます。

xzという形式は初めてでした。
Windows 7上に導入している Lhaplusでは未対応な形式でしたので、Explzhを入れて解凍をしました。
※FreeBSD だと、xzcat で解凍するそうな

これでUSBメモリーは、導入されたのと同じ状態になります。
上記の写真のようにマザーボード上にある内蔵USBに刺した状態でPCを起動すれば、FreeNAS導入状態であがってきます。

さて、DHCPで起動してきたので、ウェブよりアクセスしてみました。
admin freenasの組み合わせはこれまで通りでした。

イメージが少し変わったようです。
以下が、過去のイメージなので差がわかりやすいでしょう。

以降、少し触っていきます。

 ウェブ画面より設定開始

 初期は英語での表示メニューになっているので、日本語に変更する部分から始めます。
System→Setingsで、Languageを変えたいです。

 ところが、プルダウンには英語しか存在しないじゃん。これまでの 0.7.x系を知っている人には不満の残る部分と思う。
いろんな部分で完成されていた部分が、変わっていたり無くなっていたり。
もちろん、増えていたり、クールにはなっていると思うけど。まだまだ熱すぎる感が高い状態に見える。

以前の版だと以下のイメージ。
星取だと減点だな。

 SSH接続して何か試すということもする気にはならなかったので、ユーザ等の追加を含めてスキップしました。

 ZFSでネットワークストレージを使う

 リリース直後のバージョンを使った冒険をしなくても良さそうだけど。
折角パーツも準備しているのだし、ストレージ系は進めていくことにします。

●Storage→Volumes→/mnt/ZFS→Create Volume

これで、2本のお安い "WD20EARS-00MVWB0" をZFSという安易な名前で ミラーリングに設定。
これでボリュームの完成。

この下にぶるさげる データセットはお好きに容量や圧縮レベルなどを決めて作成していけばいい。
 今回は、Windows 系のファイルサーバとVMware ESXi用のiSCSIディスク、
そして個人用のiSCSIターゲットを準備しておきたいと思う。
Windows 7のiSCSI Targetは、ターゲット先はいない(電源が落ちているか、ネットが疎通しないかなど)で
見えなくなると、重くなったりすることがあったので、作業は保留だけど。領域だけは準備しておくつもり。
 ということで、以下のようにデータセットを作成することにした。

・ファイル共有500GB
・個人用のiSCSI Target 200GB
・残りを ESXiに使わせる

 これで進める。
Compression Levelにより、ディスクの速度が変わります。
後半に出していますが、圧縮のレベルによりベンチマークの評価に変化が見られます。
以下は、8.0.1の版で日本語にした画面ですが、圧縮レベルにはこの選択が可能です。
fastestにすれば速いですね。今回、推奨となっているlzjbを試していません。
そういえば、FreeBSD 8.1でZFSした際に、
「# zfs create -o compression=lzjb -o setuid=off zroot/usr/ports 」
みたくやったのを思い出しました。
/mnt/ZFS/SHARED-ZFS のパーミッションを変更しておく。
こんなイメージにしてみた(つもり)。
atimeというのは、アクセスした日の記録ということだと思うけど、Windowsでこんなの使ったことないし、無視することに。
圧縮レベルは、個人用は圧縮率を重視、ファイル共有用は速さ重視みたいなイメージに。iSCSIディスクに関してはボリュームの内容を継承する形にした。

まず、ファイル共有を設定します。

●Sharing→Windows shares

こんなにしてみた。
●Services→Control Services
●Services→CIFS
実際に見てみると、freenasというノードは見えていて、フォルダも見えてきている。
でもどういうわけだか、認証が来ない。そのままスルーで使える。
共有の箇所に allow hostを入れると認証なしでも使えるのだろうか。
(※ 8.0.1で入れ直しした際には認証が来ました)

これでファイル共有は大丈夫ということにした。
net use Q: "\\freenas\SHARED-ZFS"
を入力して、ドライブを確認してみた状態。ちゃんと500GBとして認識できていました。

 次に、ESXi からiSCSIとして使うのを試そうと思う。
ML110 G6に入れているESXi 4.1を起動します。ちょうど入れ替え前なので、遊び倒せます。

●Sharing→ISCSI
この部分にはメニューがいろいろ存在する。
今まであった、[有効] とする部分がここに集中しているのが、結構忘れやすい。
今回、ここで iSCSI と SSH を有効にしているが、実際には iSCSIだけでいい。(SSHはついでに入れただけ)

以下、必要な詳細を加える。
- イニシエータ(Authorized Initiator)
使える範囲を指定した。自分が使うレンジの範囲を指定している。直のアドレス/32でも良い。
- ポータル(potals)
自ノード(FreeNAS)のIPアドレスで指定
- ターゲット(Targets/Extents/Associated Targets)
1.4TBあるはずだけど、1TBと指定してみた。


- Target Global Configuration)
これで完了。
以下は、vSphere Clientの構成→ストレージアダプタで、
構成→ストレージアダプタ→[iSCSIソフトウェアアダプタ] を選択。
プロパティをクリックする。
ステータスは、最初は無効になっている。構成を選択し、ステータスの有効にクリックを入れる
OKを押す。
動的検出タブで追加をクリック。
以下のようにFreeNASのアドレスを指定する。
これで再スキャンがかかると以下のように認識された
ここで、ハードウェア→ストレージ→ストレージの追加を選択する。
以下のように、ディスク/LUNを選択して先に進める。
この辺りのネーミングは適当。
このプルダウンはどれにしていいかわからず。先に進めた。
(たぶん、一番大きなサイズでよいとは思うけど)
完了するところまで到着できました。
こんな感じで iSCSIディスクを追加することができました。
ちなみに、ゲストOS(Windows 2003)上から参照したベンチマークです。
そこそこいい感じで実用速度が出ていると思っています。
上記は、ゲストOSの32bit Windows XPでの実施結果です。
ZFSの異なる部分にマウントした箇所で実施しているのもあり、上記2つは正確には同じ条件ではないです。

2つ目のESXi用の使用ディスク(iSCSI)もうまくいきました。
vCenterから、切り替えて逆側のESXより起動するようにすることができました。
ストレージが同じな訳ですが、CPUが異なるので、あがってきた内容を眺めると面白いです。
非常にスムースですね。HAの設定は良く把握できなくて、×マークつきっぱなしでした。
この辺りは宿題です。

 日本語メニュー

 日本語表示をしていたのに。Ver 8になって英語になってしまったのが少し残念でした。
現段階、できあがっているものを反映して表示させてみることにしました。

 日本語は、/usr/local/lib/python2.7/site-packages/django/conf/locale/ja/LC_MESSAGES 以下に置けばいいようです。
見ると、djangojs.moもdjango.moも存在していました。
Settings - Freenas を見る限り "select the localization from the drop-down menu; currently, only English is supported" とは書かれているけど。8.0.1-BETA4にあげればいいんかな?
(…とやってみたら、FreeNASあがらなくなってしまいました。あー入れ直しかな)

 FreeNAS 8.0.1 BETA4のUSBイメージを取得し、結局入れ直し。USBメモリーの容量は、2GBほとんどを消費するようになったみたいです。
ブートマネージャーにFreeBSDが2つ見えているので、2ついるという感じなのかな。

USBメモリーは初期化してしまいましたが、ストレージはZFSだし、ボリュームの自動インポートで復活しました。
やっぱりZFSは良いな、と思ってしまう。
これまでのディスクの状態もそのままだし、ちょっと感動してしまう。

日本語にもなりました。コンバーターでXPの複製を作成。ちゃんと動作することを確認しました。

新しいバージョンの FreeNASは、個人的には新しくなった分使い勝手の変更や機能の変更などで不満も残りますが、ちゃんと動作することは確認できたので安心しました。

皆さんにこのページをそのまま公開しますが、間違えた記述がございましても、own your riskということで。あくまでご参考になる部分があればということでよろしくお願いいたします。

※以下、ページを追加記述しましたので、まとめ文章の後ですが追加します

 Windows 7に接続するiSCSI

 自分専用のiSCSIディスクをマウントしてしまう例。

 ローカルのディスクが故障しても、個人用の専用領域に保存していれば安心ですよね。
ZFSだし、ミラーにしているし。

 コントロール パネル\すべてのコントロール パネル項目の管理ツールを選択。

iSCSIイニシエーターを選択。
アドレスは、FreeNASのIPアドレスを指定。
ポートは、FreeNASの画面で設定したポートです。
こんな風に見えてくるわけです。
ディスクの管理では、Zドライブにして作ってみました。

FreeNAS上はどのようにしているかというと、
ターゲット
エクステント
アソシエーティッドターゲット
ポータル

前の部分は、FreeNASのIPアドレス、コロン以降は指定するポート番号。デフォルトの3260は他で使っているので、この番号にした。
認証されたイニシエータ

許可するIPアドレスの範囲を指定しています。
固定のマシンそのものを指定する場合は固定でも良いと思う。

192.168.1.107 だったら、192.168.1.107/32 と指定しておけばいい。
最後に、Target Global Configrationは、このようにしたのでドメインが付いています。

 なかなか便利に面白く使えます。
IPアドレスで限定する他に、ちゃんと認証を取る方法もあるでしょう。職場などではそのようなやり方が適切そうです。
家庭内NASなどとして使っているFreeNASだったら、使い勝手をより優先で良いと思います。


【改訂履歴】作成:2011/06/09  改訂: 2011/7/18
【参考リンク】

ISCSI - Freenas…FreeNAS 8.0のiSCSIの設定方法について書かれています
「RAID-Z」で高速ストレージを構築しよう(2) ? VMWare ESXiでFreeNAS iSCSIボリュームを利用する≪ OTTOSERVER Blog…いつも貴重な設定方法を残していただいているおっと店さんのブログ

ioPLAZA【アイ・オー・データ直販サイト】
Copyright © 1996,1997-2006,2007- by F.Kimura,