第4回 一瞬でのバックアップを実現するSolaris ZFS


サン・マイクロシステムズ株式会社
OpenSolarisエバンジェリスト
川井 聡
2008/4/8


ZFS上にブログサーバ環境を構築してみよう!

 ここからは、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 create mypool /disk

 これでストレージプールが作成できました。zpool listコマンドで確認してみましょう。

# zpool list
NAME        SIZE   USED   AVAIL CAP HEALTH   ALTROOT
mypool     19.9G   110K   19.9G  0% ONLINE   -

 dfコマンドを実行してみると、すでに/mypoolでマウントされていることが確認できます。

 zpool(1M)コマンドの実行だけで、ストレージプールを作り、プールと同じ名前のファイルシステムとマウントポイントを自動的に作成し、実際にマウントするところまで行ってくれます。しかも、コマンドに要する時間は一瞬です。約20GBytesのファイルシステムが、formatやnewfsコマンドの実行なしに一瞬で作成できるのです。これだけでもかなり魅力を感じますね。

2 ZFSファイルシステムの作成

  次に、ゾーン用のファイルシステムを作成します。ZFSファイルシステムの作成や管理には、zfs(1M)コマンドを使用します。

# zfs create mypool/zones
# zfs list
NAME             USED AVAIL REFER MOUNTPOINT
mypool           130K 19.6G   18K /mypool
mypool/zones      18K 19.6G   18K /mypool/zones

 ここでマウントポイントを変えたければ、以下の方法で変更できます。

# zfs set mountpoint=/export/zones mypool/zones
# zfs list
NAME             USED AVAIL REFER MOUNTPOINT
mypool           130K 19.6G   18K /mypool
mypool/zones      18K 19.6G   18K /export/zones

 これでゾーン用のZFSファイルシステムの作成は終了です。あとは前回と同様、zonecfgを使ってゾーンを構成します。

# zonecfg -z blog_zone
zonecfg:blog_zone> create
zonecfg:blog_zone> set zonepath=/export/zones/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

2/4

Index
OpenSolarisでサーバ構築
 第4回 一瞬でのバックアップを実現するSolaris ZFS
  Page 1
 誕生のきっかけは「引っ越し」だった
 ZFSの概要と特長
  Page 2
 ZFS上にブログサーバ環境を構築してみよう!
 容易なストレージプールの拡張
  Page 3
 ZFSスナップショットで瞬時にバックアップ
 ZFSをiSCSIターゲットとして利用する
  Page 4
 ゾーンのプロビジョニングで迅速な拡張を
 エンディアンに中立なデータ構造

Linux Square全記事インデックス


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH