Solaris ZFSの機能を点検する:Solaris ZFS集中講座(2)(2/3 ページ)
Solaris ZFSは新世代のファイルシステムだ。アプリケーションのOSとしてOpenSolarisを使わない人でもNASあるいはiSCSIストレージを簡単に構築できる。本連載では、Solaris ZFSの基本的なコンセプトやアーキテクチャから、その機能や実用・応用例を解説する
3. スナップショット/ロールバック
ZFSスナップショットはファイルシステムの読み取り専用コピーのことです。ほとんど瞬間的に作成することができます。最初のスナップショットを作成した時点では、スナップショットのために余分なディスク領域を消費することはありません。また 2 の 64 乗個のスナップショットを作成することが可能で、事実上個数制限を意識する必要はありません。
またロールバックは、オリジナルのファイルシステムをスナップショットが作成された時の状態に戻すことができます。ロールバックを使用すると、オペレーションミスなどでオリジナルのファイルシステムの必要なファイルを消してしまった場合にも、簡単にスナップショット時の状態に戻すことができます。
コマンド例
スナップショット作成
# zfs snapshot tank/home@monday
ロールバック
# zfs rollback tank/home@monday
使用の具体例
ユーザーのホーム領域を NFSで共有している、UFS のサーバとZFSのサーバを例に挙げて、ZFSスナップショットにどんな利点があるかをまとめたいと思います。ユーザーが間違ってファイルを1つ削除してしまい、それに気が付いたのが 3日後だった場合について、考えてみましょう。
ZFSの場合
定期的(例えば1回/日 を1週間分)にスナップショットを作成する運用をしていて、かつユーザーにそのディレクトリをアナウンスしている場合には、以下のメリットが得られます。
- ユーザーは即座にディレクトリにアクセスし、すぐにコピー等でデータ復旧
- システム管理者には作業が発生しない
UFSの場合
Solaris UFSのスナップショットの仕様は、以下のとおりです。
- 1つのファイルシステムにつき、1 スナップショット
- スナップショットを取得した後にそのスナップショットの内容を確認するためにはmountコマンドなど(root の権限でのコマンド発行)が必要
従って、UFS では 1 日毎に 3 つのスナップショットを残しておく運用が不可能なため、スナップショットを使用した運用はできそうもありません。
ではスナップショットを使わない UFSでの運用ではどのようになるでしょう。
- ユーザーはシステム管理者に電話してバックアップから戻してもらう
ユーザーは戻すまでの間に長時間待たされる可能性がある - システム管理者は、何らかのソフトを使用してバックアップからデータを戻す作業を行う
システム管理者の作業が発生する
ZFSの場合とUFSの場合を比較してみると、ZFSのスナップショットを使用した運用にはいろいろ利点があるのがお分かりいただけたかと思います。
4. クローン
クローンはスナップショットに依存した、書き換え可能なコピーです。スナップショットは Read-Onlyですが、クローンはRead/Writeが可能となっていますので、同じようなテスト環境を複数作成する場合に非常に便利です。スナップショットの場合と同様に、クローンは瞬間的に作成され、最初は追加のディスク領域を消費しません。また、クローンのスナップショットを作成することもできます。
コマンド例
スナップショット作成
# zfs snapshot tank/home@monday
クローン作成
# zfs clone tank/home@monday tank/monday
使用の具体例
例として、ディスクイメージファイルに対してOSをインストールできる種類の仮想化環境の場合を考えてみましょう。
- OSインストール、パッチの適用、必要なファイルの転送などを行う
(インストール先の実体は ZFS ファイルシステム上にあるファイル) - そのファイルを置いてあるファイルシステムのスナップショットを作成
- クローンを作成
上記のような手順により、同じ環境を簡単に複数作ることが可能です。
また、クローンに対してスナップショットを作成することも可能ですので、定期的にクローンに対してスナップショットを取っておくと、もしオペレーションミスなどで重要なファイルを削除してしまった場合にも、簡単に元の環境を復元することができます。
Copyright © ITmedia, Inc. All Rights Reserved.