Takayuki Okazaki's Weblog
ブログ: 岡崎 - Okazaki's blog
20051120 2005年 11月 20日 日曜日
Solaris ZFSを試してみました
English Translation: (Yahoo!) / (Google)
Solaris 10の目玉機能として開発されていたZFSを含むSolaris Expressのビルド27aがリリースされています。今日は早速このビルド27aを入れてZFSを試してみました。
ZFSはZFSのプレゼンテーションを見る限り画期的なファイルシステムで、高性能、高信頼性、大容量を実現しながらかつ、複雑なオペレーションがいらないシンプルな操作性と今までのファイルシステムでは実現していなかったものを一気に実現しているファイルシステムです。
従来のファイルシステムがジャーナリングによって高信頼性を確保しているのに対し、ZFSはジャーナリングなしでそれ以上の信頼性と性能を実現しているという点がとても興味深いですね。ジャーナリングによりfsckによるチェック時間が大幅に短縮されたときも大きな衝撃でしたが、ZFSでは当然、fsckによるチェックも必要ありませんし、常にデータが正常な状態であるような工夫がなされています。
今回使用しているのはノートPCなので、ZFSの主要な機能であるRAID-Zやミラーリングを使用することはできないのですが、それでも256ビットのチェックサムによる高信頼性の確保、パフォーマンスの向上、スナップショットなどディスク1本しかないシステムでも十分導入してうれしい改善点があります。
ZFSは今までのディスク管理の概念であるボリューム(/dev/dsk/c0d0t0s0とか)ではなく、すべてのディスクをプールとして扱うことでディスクのRAID構成やミラーリングといった構成がどうなっているか、または実際のボリュームがどれなのかということを意識することなく使用することができるようになっています。使い方は至って簡単で、(1)プールを作成する、(2)プール上でファイルシステムを作成する、(3)プールのマウントポイントを設定する。という基本操作を覚えればよいだけです。

(1) プールを作成する

# zpool create mypool c0t0d0s7
ここでmypooolはプール名、c0t0d0s7はボリュームです /dev/dskといったパスの指定は必要ありません。

(2) プール上でファイルシステムを作成する

# zfs create mypool/home
mypool上にhomeという名前のファイルシステムを作成しました。

(3) プールのマウントポイントを設定する。

# zfs set mountpoint=/export/home mypool/home
mypool/homeファイルシステムを/export/homeにマウントしました。

たったこれだけです。まあ、従来のUFSなんかでももっともシンプルに使用する場合にはほとんど同じような手順でしたが、zfsのすごいところはRAID構成にしていても、ミラーリングがしてあっても全く同じ手順で行えることろです。
ほかにも便利なのはスナップショット、バックアップ、リストアあたりでしょうか。

スナップショットをとる

# zfs snapshot mypool/home/takayuki@snapshot1
このスナップショットは mypool/home/takayukiが /export/home/takayukiにマウントしてあるとすると /export/home/takayuki/.zfs/snapshot/snapshot1 から簡単に中身を取り出すことができます。

フルバックアップをとる

# zfs backup mypool/home/takayuki@snapshot1 > /net/backupserver/takayuki.bak
たった一つのコマンドでmypool/home/takayuki@snapshot1に対するバックアップが取得完了です。

差分バックアップをとる

# zfs backup -i mypool/home/takayuki@snapshot1 mypool/home/takayuki@snapshot2 > /net/backupserver/takayuki.bak.2-1
差分バックアップも簡単です。zfs backupコマンドに -iオプションをつけ、差分の対象となるスナップショットを2つ指定するだけです。

リストアする

# cat /net/backupserver/takayuki.bak | zfs restore -d mypool/takayuki
このようにリストアも簡単です。

ZFSは性能もそうですがこのように簡単に管理が行えるという点がとても便利で、コマンドが単純であるということは操作ミスも減り、人的なミスによる可用性低下が防がれると期待できます。
# ZFSとは関係ありませんが、Build 27aにはいっているJava SEは1.5.0_06でした。
# java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b04)
Java HotSpot(TM) Client VM (build 1.5.0_06-b04, mixed mode, sharing)


投稿されたコメント:

★ お名前を空欄にするとIPアドレスが、お名前欄に記入されます。
コメント
コメントは無効になっています。
過去の記事
« 6月 2009
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
今日
Click me to subscribe このブログを購読(RSS)
検索

このブログ著者について
ソフトウエア・インフラストラクチャー・ソリューション本部のソリューション・アーキテクトでした(2008年8月退職)。 本業はSOAソリューションならびにSun Java CAPSによるソリューションのプリセールスをお手伝いするエンジニア、とJavaエバンジェリストグループに参加してセミナーに行ったり、趣味のプログラミング・ネタをこのブログで紹介したりしていました。現在は、ふらふらとwatermint.orgで活動中〜。
リンク
 
SunホットトピックPodcast - SunホットトピックPodcast
 


 

Today's Page Hits: 966