
第4回 一瞬でのバックアップを実現するSolaris ZFS
| この連載では、サーバOSとして十数年発展してきた「Solaris」をオープンソース化した「OpenSolaris」を紹介し、ブログサーバ「Roller」と組み合わせて運用していくうえで有用なさまざまな知識を紹介していきます。(編集部) |
サン・マイクロシステムズ株式会社
OpenSolarisエバンジェリスト
川井 聡
2008/4/8
前回の「Solarisコンテナでセキュリティを強化」では、仮想化技術であるSolarisコンテナを用いて、ブログサイトをセキュアな環境に移行する方法について解説しました。Solarisコンテナを用いると、思ったよりも簡単な手順で仮想環境が構築できることがお分かりいただけたと思います。
今回は、最新のSolaris ZFS(以下ZFS)ファイルシステムを用いたデータ管理方法やSolarisコンテナとZFSの組み合わせによるプロビジョニングなどの優位点を紹介します。
ZFS誕生のきっかけは「引っ越し」だった
これまでSolarisは、ファイルシステムとしてUFS(Unix File System)を採用してきました。しかしこのUFSは、20年以上も前に設計されたファイルシステムであるうえに、バージョンアップのたびにさまざまな拡張を積み重ねてきた結果、ソースコードが複雑化していました。また管理も難しくなり、パフォーマンスや拡張性という面でも行き詰まっていました。
そんなある日、サン・マイクロシステムズ(以下サン)のエンジニアチームがキャンパスの引っ越しに伴いハードディスクのアップグレードを行いました。そこで、ディスクにアクセスできないという問題が起こってしまいます。
このとき、エンジニアの1人が「メモリはマシンのカバーを開けてDIMMを差し込んで電源を入れるだけで増設できるのに、なぜ、ハードディスクでは同じようにできないのか?」と放った一言が、ZFS開発のスタートになったとか(Solaris 10ファイルシステムZFS誕生エピソード「心を解き放て!」参照)。
そこで、この20年に及ぶ陳腐化した前提を一掃し、新しいアプローチでゼロから設計したファイルシステムがZFSです。ZFSは、サンのエンジニアとOpenSolarisコミュニティのメンバーにより、さまざまなアイデアや専門知識が持ち寄られ、革新的なファイルシステムへと成長していきました。
| 関連記事: | |
| ノートPCでこそ使いたいZFS(@ITNews) http://www.atmarkit.co.jp/news/200706/29/zfs.html |
|
ZFSの概要と特長
ZFSは、従来のファイルシステムに存在するさまざまな問題点に取り組んだファイルシステムです。では、簡単にその特長を説明しましょう。
■巨大なスケーラビリティ
ZFSは、「Zettabyte(ゼタバイトと読む)File System」の略です。「ゼタバイト」なんて、初めて耳にした人も多いのではないでしょうか?
このゼタバイトは、ビットで表すと70ビットの長さとなり、何と10億テラバイトにもなります。しかもZFSは、128ビットのファイルアドレッシングを採用しており、実に256 Quadrillion(注1)Zettabytesという膨大な大きさを表現できるファイルシステムになっています。現在のデータの肥大化がどんなに進んでも、ディスク容量のことを気にする必要はないといえます。
| 注1:Quadrillion=1000兆 |
■データの完全性と安全性
ファイルシステムにとって最も重要なことは、データの完全性と安全性ではないでしょうか?
ZFSは、従来のファイルシステムとは異なり、不慮の電源断などが起こってもファイルシステムが破壊されることはありません。fsckコマンドも、ロギングやジャーナリングも必要ありません。
ZFSは、トランザクションベースのCopy-on-write(COW)という技術を使用しています。COWではデータ変更の際、図1のように、当該ブロックの内容を未使用ブロックにコピーし、そこで変更を行ってから、最後に使用中のデータへのブロックポインタと置き換えます。これは、最上位のuberblock(注2)まで、ツリー全体に対して行われます。
| 注2:uberblockは、UFSのスーパーブロックと同様、プールの内容にアクセスするのに必要な情報を含んでいるラベル部分です。 |
すべてがトランザクションで処理されるため、ファイル操作の途中でアクシデントが発生したとしても変更前の状態に戻るだけで、データやファイルシステムが壊れることはありません。
![]() |
| 図1 COWの仕組み |
またZFSでは、ファイルシステム全体にわたるエンドツーエンドのチェックサムを提供します。
従来のファイルシステムは、ブロック内でチェックサムを保持していたので、自己のビット破損を防ぐだけでした。一方ZFSでは、それぞれの親ブロックのポインタにチェックサムが保存されるツリー構造になっているため、ファイルシステム全体の整合性がチェックされます(ただし最上位のuberblockだけは、自己診断を行うチェックサムを持っています)。
■管理が簡単に
ZFSを使えば、新しいディスクを使うためにformatコマンドを使ってパーティショニングしたり、newfsコマンドでファイルシステムを作ってディレクトリにマウントするなんていう面倒な作業は、一切必要ありません。zpool(1M)コマンドを使ってストレージプールを作るだけです。これだけの作業で、すぐにファイルシステムを利用することができます。
冒頭で「ディスクをメモリのように扱うことができないのか」という問い掛けが、ZFS開発のスタートになったというエピソードを紹介しましたが、ZFSは、ストレージプールに仮想メモリの概念を取り入れた画期的なファイルシステムです。ディスク容量が足りなくなったら、メモリと同じようにストレージプールにディスクを追加するだけで、すぐに利用することができます。
| 第3回へ |
1/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系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

