Btrfsの先進性 – ReadyNASが先進的なファイルシステムBtrfsを採用している理由

2018年10月11日 - Written by NETGEAR Japan
カテゴリー: ReadyNAS ネットワークストレージ

 

NAS(Network Attached Storage)は、ファイルサーバーとして会社や部門・部署でデータを共有する用途、PCやサーバーのデータをバックアップする用途で用いるストレージ機器です。ビジネスを円滑に進めるためのデータが大量に保存されるNASにとって、データ読み書きのパフォーマンスも無視はできませんが、もっとも重要なのは「データが失われない」ことです。NASにとって最も重要なことは「データを護る」ことなのです。

 

 

全てはデータを護るために

NETGEARのReadyNASは、先進的なファイルシステムBtrfs(バターFS, ベターFS、BツリーFSなどと呼びます)を採用しています。その理由は、多くの「データを護る機能」が標準で備わっているファイルシステムだからです。

Btrfs is a modern copy on write (CoW) filesystem for Linux aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration.

Btrfs公式サイトから引用

Btrfsは、耐障害性と(データの)修復、扱いやすさにフォーカスするとともに先進的な機能の実装を目的とした、Linux用の近代的なCopy on Write(CoW, コピーオンライト)ファイルシステムだ。

※ コピーオンライトについては後述

 

Copy-on-Write(コピーオンライト)が実現する堅牢性

EXT3やEXT4など多くのNASで採用されている従来型のファイルシステムは、ディスク上のデータを書き換える際、ディスク上のデータに上書きします。当たり前のように思えるこの動作は、実はとても危険なのです。
データを書き換えている最中に電源障害やハードウェア故障、その他の不具合が発生すると、中途半端な変更によってデータの不整合が発生したり、データが永久に失われてしまう恐れがあります。ジャーナリング機能などによってデータの修復手段を用意しているNASもありますが、修復に備えるための事前作業や修復自体に時間がかかります。
BtrfsはCopy-on-Write(COW)という仕組みを導入することで、この問題を解決しています。

BtrfsのCopy-on-Writeは、データを書き換える必要が発生すると、既存のデータを上書きするのではなく、ディスク上の新たな場所へ書き込みます。書き込みが問題無く完了したのを確認してから既存の(古い)データを削除することで、書き込み中の不具合によるデータの喪失を防ぐことができるのです。

Btrfs開発のメインプレイヤーである富士通のエンジニアが実施した、BtrfsとEXT4の堅牢性を比較した実験があります。両者を使用している環境で強制的な電源遮断を1000回以上行いましたが、Btrfsは一度も問題が発生しませんでした。それに対してEXT4は、inode(アイノード。ファイルシステム上のファイルやディレクトリなどの情報を保存しているデータ)の破損が32,000も発生し、最終的にはディスクフル状態となってしまいました。

Linux File System Analysis for IVI Systems(富士通のレポート19,20ページ参照)

 

先進的な機能をお求めやすい価格で提供

NETGEARは1996年の創業以来20年以上、「世界中をインターネットに接続することにおいて革新的なリーダーであり続ける」ことを社是とし、従来は大企業向けの製品でしか提供できなかった機能や性能を、革新的な商品開発手法、製造方法、流通システムによって、品質を落とすことなく、専任のIT管理者が居ない中小・中堅企業(SMB)でも手の届く価格帯で提供し続けています。

LANスイッチやWiFiルーター、アクセスポイントに限らず、NASも同様です。特定メーカーの特許技術に頼らず、先進的なデータ保護機能を安価に実現できるファイルシステムBtrfsを採用しているのはそのためです。

 

NETGEARはBtrfsの品質向上に貢献しています

Btrfsは、世界中の個人または企業のエンジニアがボランティアで開発を続けている、特定メーカーの特許技術に依存しないオープンソース・ソフトウェアです。Facebook、富士通、Intel、Oracleといった名だたる企業のエンジニアも積極的に開発に関わり、日々改善され続けています。NETGEARもその中の一人です。5年も前に主要NASメーカーで初めてBtrfsを採用したNETGEARは、性能向上やバグ修正による堅牢性の向上など、ReadyNAS OSの開発成果をBtrfs開発コミュニティにフィードバックし続けています。

Btrfs公式サイト

 

Btrfsが遅いって、いつの時代の話ですか?

ファイルシステムの読み書きパフォーマンスだけを比較することの無意味さ

「Btrfsは低速」「パフォーマンスがすべて」と言い、従来のファイルシステムEXT4にしがみついているNASメーカーがあります。

本当にパフォーマンスがすべてなのでしょうか?

お客様が求めているのは、ビジネスを支えるデータを安心して預けられる場所のはず。私達はそう考え、この信念に違わないReadyNASをお届けしています。

そもそも、ファイルシステムだけを切り出してNASのパフォーマンスを議論することには意味がありません。NASのパフォーマンス比較は、ファイルシステムだけでなくOSのチューニング、搭載するCPUの性能、メモリー容量、ネットワークの帯域すべてで行うべき総合競技です。

ReadyNASは、最新のLinux OS バージョン4、堅牢性の高いBtrfs、Intel製の最新サーバー用CPU、大容量メモリーを搭載し、ラインナップの60%以上が10GBASE-Tを標準搭載することで、高いパフォーマンスを実現しています。

 

Btrfsは進化し続けている

従来のファイルシステムEXT4と違い、Btrfsはより多くのエンジニアが協力して活発に開発を進めています。このことは、Btrfsのバグ修正や機能追加のパッチが、EXT4のそれと比べて2倍も多いことからも分かります。

Linux File System Analysis for IVI Systems

Btrfs開発のメインプレイヤーである富士通のエンジニアによるレポートです(16ページ参照)。少しわかりにくいですが、棒グラフがBtrfsのパッチ数で、赤い折れ線グラフがEXT4です。

Btrfsの優位性は、EXT4開発コミュニティの中心的エンジニアTheodore Ts’oのコメント(2009年,Linux Collaboration Summit)からもうかがえます。

Theodore Ts’o, stated that although ext4 has improved features, it is not a major advance, it uses old technology, and is a stop-gap; Ts’o believes that Btrfs is the better direction because “it offers improvements in scalability, reliability, and ease of management”.

「Teodore Ts’oは、EXT4は”改善した機能を採用しているが大きな前進ではなく、古い技術を使った間に合わせに過ぎない”と述べた。Ts’oは、”Btrfs(の方向に進むの)がベターだ。なぜなら、Btrfsは、拡張性、信頼性、そして管理のしやすさにおいて改善しているから”と信じている」

Teodore Ts’oは、EXT4は「1970年代の技術の焼き直し(a rehash of outdated “1970s technology”)」とも言っています。

 

Btrfsを採用しているReadyNASだからこそ実現できる豊富なデータ保護機能