2009年 10月 26日 月曜日
やっぱり Sun がスキ!
Solaris 10 で ZFS の Hybrid Storage Pool を作る方法
今回は、今月リリースした Solaris 10 10/09(Update 8) でサポートされた ZFS の L2ARC(Level 2 Adaptive Replacement Cache) 設定方法を紹介します。
L2ARC とは、ZFS Hybrid Storage Pool の Read 用二次キャッシュとして機能 し、通常 SSD が使用され Read 速度の向上を促します。
今まで Solaris 10 で ZFS のプールをする場合、Write 速度の向上させる ZIL(ZFS Intent Log)は作成できましたが、L2ARC を作成する事ができませんでした。
(L2ARC を使用したい場合は OpenSolaris を選択するしかありませんでした。)
Solaris 10 が 10/09 になり、L2ARC がサポートされました ので、これで Solaris 10 上で完全な Hybrid Storage Pool を作成できるように なりました。
それでは早速 Hybrid Storage Pool を作ってみましょう。とっても簡単です。
作成方法は、ZFS pool 作成時のオプションに ZIL を log で指定、L2ARC を cache で指定するだけです。
(通常、log と cache のデバイスは SSD を使用します。)
# zpool create tank raidz c2t0d0 c2t1d0 c2t2d0 c2t3d0 log c2t4d0 cache c2t5d0
# zpool status
プール: tank
状態: ONLINE
スクラブ: 何も要求されませんでした
構成:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
logs
c2t4d0 ONLINE 0 0 0
cache
c2t5d0 ONLINE 0 0 0
エラー: 既知のデータエラーはありません
はい、これで Hybrid Storage Pool が作成できました。logs(ZIL) と cache(L2ARC) にデバイスが 割り当てられております。
ちなみに、ZIL をミラーしたい場合は以下のように指定します。
# zpool create tank raidz c2t0d0 c2t1d0 c2t2d0 c2t3d0 log mirror c2t4d0 c2t5d0
# zpool status
プール: tank
状態: ONLINE
スクラブ: 何も要求されませんでした
構成:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
logs
mirror ONLINE 0 0 0
c2t4d0 ONLINE 0 0 0
c2t5d0 ONLINE 0 0 0
エラー: 既知のデータエラーはありません
L2ARC に SSD を使用する事により、 DRAM だけでキャッシュを構築する場合と比較して 大容量で低価格な構成を提案できるようになります。
Read が多い NFS サーバには最適ですね。
(参考情報)
過去の 「やっぱり Sun がスキ!」blog 記事一覧はこちらを参照下さい。 http://wikis.sun.com/display/yappri/Home
Posted at 05:12午後 10 26, 2009 by Naoyuki Yamada in Sun | 投稿されたコメント[1]
I must say this is a great article i enjoyed reading it keep the good work.
Posted by true religion jeans on 10月月 26日, 2009年 at 07:30 午後 JST #