失敗から成功まで、HDFSでRAIDを利用するFacebookの挑戦バグや失敗をどう解決した?

FacebookはHadoop分散ファイルシステムにRAIDを展開して、容量削減を実現した。だが、当初は期待通りに削減できず、データの破損に悩まされた。彼らはいかにして課題を解決したのだろうか。

2014年07月17日 08時00分 公開
[Archana VenkatramanComputer Weekly]

 米Facebookは2013年、大規模なHadoop分散ファイルシステム(HDFS)にRAIDを展開して、空き容量を数十Pバイト増やすと同時にデータの複製(レプリケーション)処理を減らした。しかしこのプロジェクトを進める間に、同社のエンジニアリングチームはデータの破損や大規模なディレクトリシステム全体にわたるRAIDの実装に苦戦するなど、数多くの課題に直面した。

 同社が今回実装したテクノロジーの例として、HDFS内のErasure Codingが挙げられる。これによってHDFSでデータの複製が発生する要因を減らしている。

 RAID(Redundant Array of Independent Disks)は、同一のデータを複数のHDDに保存する(すなわち冗長性を持たせる)手法である。HDFSは、Hadoopが使用するプライマリストレージシステムだ。HDFSはHadoopクラスタ全体にわたって、データへのアクセスについて高いパフォーマンスを実現する。また、ビッグデータの管理とビッグデータのアナリティクスをサポートしているという点で、HDFSは重要なツールとして大規模組織からの注目を集めている。

 HDFSで複製できるファイルは、デフォルトでは3つまでとなっている。Facebookのエンジニアリングチームによると、この制約のためにメディア容量の大きなオーバーヘッドが発生することがあったという。そこで同社はHDFSのRAIDテクノロジーを活用し、データの複製の実行回数を減らすとともに、使用する領域のオーバーヘッドを減らすことにも成功した。

 「2013年、当社のデータウェアハウスのHDFSクラスタに全面的にRAIDを展開した。クラスタでデータの複製が発生する要因を減らすことで、2013年末までに数十Pバイトのメディア容量を節減できた」と、Facebookのエンジニアリングチームは同社の公式ブログに投稿している。

 ただし、数百Pバイトの大規模なHDFSクラスタにRAIDを展開する過程で、Facebookは幾つもの課題に直面した。「そこでわれわれが学んだ教訓を共有したいと思った」と、同社エンジニアリングチームはブログに記している。

メディア容量を節約する工夫

 FacebookがRAIDを本番環境に展開した当初、節減できたメディアの容量は予測よりもずっと少なかった。「調査の結果、RAIDに深刻な問題があることが分かった。われわれは『微小ファイル問題』の洗礼を受けた」とエンジニアはブログに記している。

 エンジニアリングチームは、ファイルサイズが論理ブロック10個程度の場合に、容量の節減効果が最も大きくなることを発見した。それよりもファイルが小さくなると、容量削減の効果は落ちる。2ブロック以下のファイルでは、RAIDの容量削減効果は全くなくなる。

 同チームの分析では、本番環境のクラスタに保存されているファイルのうち50%以上が、その小さすぎる(2ブロック以下の)ファイルだった。

 この問題の解決策として、ITチームは複数ブロックをまとめてグループ化した。「微小ファイル問題への対策として、ある単純な観察結果から発想を得て、ディレクトリRAIDを開発した。その観察結果とは、(Hadoop MapReduceのツールである)Hiveを使用していると、リーフディレクトリ下のファイルは、作成後ほとんど変更されないということだ。だとすると、リーフディレクトリ全体を1つのファイルとして扱えばファイルのサイズが(見かけ上は)大きくなる。そのファイルをRAIDに展開すればいいと考えた」(エンジニアリングチームのブログ投稿記事より)

データ破損の防止策

 HDFSでRAIDを利用する際のもう1つの課題として、RAIDの再構築ロジックにバグがあるために、データが壊れるというものがあった。




続きを読むには、[続きを読む]ボタンを押して
会員登録あるいはログインしてください。






Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...