ここからは、ZFSによる実際のストレージプールの作成方法や管理方法を紹介しましょう。そのほかの特長についても、項目ごとにその都度説明することにします。
では、早速、前回のブログサーバ環境をZFS上に構築してみましょう。前回は、Solarisコンテナを用いて、ブログサーバとデータベースを異なるゾーン上に構築する方法を紹介しましたが、今回は、これらのゾーンをZFS上に構築します。
1 ストレージプールの作成
まず、基本的なストレージプールの作り方を紹介します。ストレージプールの作成や管理は、zpool(1M)コマンドで行います。例えば、2つの未使用の物理ディスク「c1t1d0」と「c1t2d0」を使用する場合、以下のように入力します。
# zpool create mypool c1t0d0 c1t2d0 |
これでmypoolというストレージプールが作成できます。これらのディスクはすべて、/dev/dskディレクトリに作成され、適切な名前が自動的に割り当てられます。このストレージプールは1つの大きなスライスで構成され、データは両方のディスクに動的にストライピングされます。
このようなデータの冗長構成について、ZFSは、「ミラー」および「RAID-Z」という構成を用意しています。上記の2つのディスクをミラー構成にしたければ、ZFS作成時のキーワードとしてmirrorを指定するだけです。
# zpool create mypool mirror c1t1d0 c1t2d0 |
データは、両方のミラーにまたがって動的にストライプ化され、各ディスク間で適切に冗長化されます。
また、RAID-ZはRAID-5に似ていますが、可変ストライプ幅を使用しているので、RAID-5に起こる「書き込みホール」の問題がありません。RAID-Zでは、シングルパリティのraidzとダブルパリティのraidz2(RAID-6相当)の指定が可能です。いずれも、上記コマンドで、キーワードにraidzやraidz2を指定するだけで設定できます(ただし、それぞれ適切な数のディスクが必要になることはお忘れなく)。
いずれにせよ、たった1行のコマンドを実行するだけでRAID環境を構築できます。一度ZFSを使うと、もうほかのファイルシステムには戻りたくなくなるかもしれませんね。
ディスクの冗長化の説明をした後ですが、今回テストに使用したマシンには未使用のディスクがなかったので、mkfileで20GBytesのファイルを作成し、その上にストレージプールを作成することにします。もし手元に未使用のディスクがあれば、それを使ってください(物理ディスクが1つしかなくてもストレージプールは作成できます)。
# mkfile 20g /disk |
これでストレージプールが作成できました。zpool listコマンドで確認してみましょう。
# zpool list |
dfコマンドを実行してみると、すでに/mypoolでマウントされていることが確認できます。
zpool(1M)コマンドの実行だけで、ストレージプールを作り、プールと同じ名前のファイルシステムとマウントポイントを自動的に作成し、実際にマウントするところまで行ってくれます。しかも、コマンドに要する時間は一瞬です。約20GBytesのファイルシステムが、formatやnewfsコマンドの実行なしに一瞬で作成できるのです。これだけでもかなり魅力を感じますね。
2 ZFSファイルシステムの作成
次に、ゾーン用のファイルシステムを作成します。ZFSファイルシステムの作成や管理には、zfs(1M)コマンドを使用します。
# zfs create mypool/zones |
ここでマウントポイントを変えたければ、以下の方法で変更できます。
# zfs set mountpoint=/export/zones mypool/zones |
これでゾーン用のZFSファイルシステムの作成は終了です。あとは前回と同様、zonecfgを使ってゾーンを構成します。
# zonecfg -z blog_zone |
前回と異なっている点は、zonepathで指定した先のファイルシステムが、ZFSファイルシステムになっているという点だけです。
あとは、zoneadmコマンドを使ってアプリケーションをインストール、ブートして、Apache Rollerのセットアップを行ってください。同じようにdb_zoneのzonepathには/export/zones/db_zoneを指定してゾーンを作成してみてください。
これで、両方のゾーンがZFSファイルシステムの上に構築されました。
関連記事
▼第2回 Cool Stackで手軽に「SAMP」
http://www.atmarkit.co.jp/flinux/rensai/opensolaris02/opensolaris02a.html
ZFSの扱いやすさが分かっていただけたと思いますが、ZFSのメリットはこれだけではありません。例えば、データがどんどん大きくなって、ディスクが足りなくなってきたとしましょう。こんなときもZFSであれば、以下のコマンドを実行するだけで、簡単にストレージを拡張することができます。
# zpool add mypool c2t3d0 |
Copyright © ITmedia, Inc. All Rights Reserved.