オンライン・デフラグやリサイズも
次世代ファイルシステム「Btrfs」はSSD最適化にも注力
2009/10/23
Linux向けの次世代ファイルシステムとして注目されている「Btrfs」(バター・エフエス)。東京・秋葉原で開催中のThe Linux Symposium 2009で10月23日、Btrfsプロジェクトの創始者で開発をリードするクリス・メイソン氏が、Btrfsで実現する機能や現状について紹介した。
Btrfsは2007年にオラクルが発表した新しいファイルシステムだ。2009年1月にカーネルに取り込まれていて、すでにディスク上のフォーマットはフィックスされていることから、アーリアダプター層などには「すでに十分に使えるレベル」(メイソン氏)になっているという。Btrfsはオラクルが開発していると思われがちだが、IBMやインテルからもコードの貢献があり、例えば次期バージョンに含まれるRAID 5/6/60にはインテルが取り組んでいるという。また、SSDへの最適化も進めており、マウント時に非回転デバイスを認識すると自動的にSSDとしてマウントする。今後SSDの重要性が増すことが見込まれるため、Btrfsでもチューニングに注力していくという。
Btrfsは、主流のext3/ext4など既存ファイルシステムとの互換性はない(ext3/4からのコンバートは可能)。Btrfsは、名称の元になっているB-Tree構造を採用する点でReiserFSに似ていると言われる。すべてのメタデータを1つのB-Treeに収めるため探索が速いことが特徴という。特に一定時間内に行われた変更に高速にアクセス可能で、バックアップ時の効率が良いという。
コピー・オン・ライトによる軽量なスナップショット作成、チェックサム機能、複数デバイスを1つのストレージプールとして扱い、ディスク上のオブジェクト単位でストライピングやミラーリングで分散させることができる機能など、Btrfsはサン・マイクロシステムズのZFSと同世代のモダンなファイルシステムだ。ただ、メイソン氏によればBtrfsとZFSとは根本的に実装が異なり、機能的にも、例えば使用中のデバイスをストレージシステムから取り除くような機能はBtrfsにしかないという違いがあるという。
これまでLinuxでもLVM(Logical Volume Manager)を使えばコピー・オン・ライトによるスナップショット作成は可能だったが、実装の違いにより、例えば400MBのファイルを20回連続して作成するケースではLVMで558秒かかるところ、Btrfsでは1.6秒で済む例があるという。ファイルのクローンも同様に軽量なため、仮想マシンのイメージやデータベースファイルのクローンを、フルスナップショットを作成することなく作れるのもメリットだという。
オンラインのデフラグで起動高速化も
Btrfsではディスク上のデータ配置変更が容易なため、オンラインでボリュームのリサイズやデバイスの除去、デフラグが可能という特徴がある。メイソン氏はミラーリングのデモンストレーションで、一方のデータを破壊してそれをオンラインのまま簡単に修復できる様子や、4GBのボリュームを900MBに縮めてから再び元のサイズに戻すデモンストレーションをシステムを停止することなく行ってみせた。
オンラインのデフラグが可能であることの応用を示すデモンストレーションとしてメイソン氏は、Moblinの起動シーケンストレースパッチを使ってファイルを再配置。OS起動時のI/Oを最適化する様子を、直感的なアニメーションを用いて説明した。
起動時に発生するファイルの読み出しでは、フラグメンテーションがあるために、頻繁にヘッドのシークが発生する。以下の動画では、まず最初に理想的なシーケンシャルなブロック読み出しの様子、次に完全に断片化した通常の状態を説明している。3つ目の流れ星がときどき流れるようなアニメーションが、Btrfsを使ってデフラグした場合のディスクアクセスの様子を示していて、ときどき連続読み出しが起こっている様が見て取れる。
これによってカーネルの初期化とGNOMEの起動、Firefoxの起動までに要する時間が12秒から6秒に短縮。平均のデータ転送レートが5.53MB/秒から12.37MB/秒に改善されたという。「まだ改善の余地はあるが、デフラグは効果がある」(メイソン氏)
関連記事
情報をお寄せください:
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
キャリアアップ
- - PR -
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...
AI導入の効果は効率化だけじゃない もう一つの大事な視点とは?
生成AIの導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...
ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。