“ニコ動”の膨大なコンテンツを管理したい:大容量・高パフォーマンス・可用性が人気サービスを支える

巨大なファイルを管理する必要があり、将来的には容量や転送量がどれだけ増えるか予想もつかない、そんなサービスを立ち上げる際、技術者はどのようなストレージを選ぶべきだろうか。「ニコニコ動画」を支えるストレージにドワンゴはHP製品を採用し、「当面は大丈夫」という安心感を得たという。


 もはや改めて説明の必要もないほど人気の「ニコニコ動画」、略して「ニコ動」は、コメント機能などによって今までにないコミュニケーション手段を作り上げた動画投稿共有サービス。インターネット発の新たな流行を生み出しており、日本のインターネット文化にも大きな影響を及ぼしているサービスの1つといえる。

 このサービスのインフラに、日本ヒューレット・パッカード(以下、HP)のストレージが採用されたという。

スループットも容量も柔軟に拡張できるストレージ構成

photo ドワンゴ 開発計画運用部
佐藤哲也氏

 動画コンテンツの商用サービスとしての要件を、どのように満足させていったのかについて、「ニコニコ動画」のサービス構築・運用を行うドワンゴ 開発計画運用部 佐藤哲也氏は次のように話す。

 動画コンテンツの商用サービスとしての要件を、どのように満足させていったのか。「われわれとしては、NFSでアクセスでき、全体を単一のボリュームとして扱えるもので、かつ拡張性も備えている必要がありました。しかも、非常に短い期間で構築しなければならず、当然のことながらできる限り安く調達できることも条件でした。実際、このシステムインフラの検討は2007年の4月から5月にかけて行われ、本稼働は6月でしたから、1カ月ほどで決めて導入したことになります」(佐藤氏)

 「ニコニコ動画」では、大量のユーザーが「重たい」動画コンテンツにアクセスするため、高いスループットのストレージが不可欠だ。また、商用サービスとしては可用性も重視しなければならない。

 「各社の製品を検討したところ、NASヘッドのクラスタ化が2ノードまでという製品がほとんどでした。しかしHPのストレージ製品は、カタログ上で16ノードまでリニアに拡張できるとうたっており、またバックエンドのストレージに関してもEVAシリーズは信頼性が高く、十分に安心できます」(佐藤氏)

 選ばれたのは、「HP StorageWorks 6100 Enterprise Virtual Array(以下、EVA6100)」と、「HP StorageWorks Enterprise File Services Clustered Gateway(以下、Clustered Gateway)」の組み合わせだった。Clustered Gatewayは単なるファイルサーバではなく、ストレージ側はSANで、そしてクライアント側はLANで、それぞれスイッチを介して接続するようになっており、負荷分散や帯域拡張が可能な設計だ。その上、複数のディスクアレイをまとめて1つの論理ディスクとして構成することが可能となっているため、ストレージ側を増設すれば容量を、NASヘッド側ならスループットを、それぞれ必要に応じて拡張できる。

photo EFS CGWの構成イメージ

HPの支援を得てパフォーマンスを検証

 ドワンゴでは、すでにほかのサービスでも、今回とほぼ同様の構成を採用しているという。その信頼性や運用しやすさは、以前から同社の中でも評価が高かったという。

 「Clustered Gatewayへのアクセスはすべて仮想IPで行い、仮想IPは実ノード数に関係なく作成でき、将来の拡張に併せて事前に増やしておくこともできるため運用上のメリットもあります」と佐藤氏は話す。システムを止めずにストレージ容量を拡張でき、かつ全体が1つのストレージプールとして管理されており、データのレベリングを自動で行う点も評価が高かったという。

 しかし、実証済みの構成とはいえ、「ニコニコ動画」での転送量は相当なものになるはず。そこでドワンゴでは、導入に先立って、HPの支援を受けてパフォーマンスの検証を行っている。

 「すでにHPのストレージを導入していたシステムは、モバイル向けのサービスで使っているもの。一方、今回は、モバイル向けと比べて扱うファイルサイズも大きいし、桁違いに高いパフォーマンスを必要とするサービスです。そこで2ノードでは足りないだろうと考えてテストしたところ、4ノードで4Gbps弱、ノードの1Gbpsインターフェイスの限界近くまで性能を引き出すことができました」と佐藤氏。

 HPは、導入時にもClustered Gatewayの設定などのサポートをしている。すでにドワンゴでの過去の導入例があるため、その経験を生かして作業は迅速に進んだという。とはいえ、大容量な動画ファイルを扱うのは、HPにとっても例の少ないことだった。HPによれば、ベストなパフォーマンスを出すために同社の開発部隊にまでドワンゴのニーズをエスカレーションし、課題をクリアしていったという。

ノードを追加してすぐに使える拡張性

 ユーザーやコンテンツが増え続ける中で、「ニコニコ動画」は今のところ大きな問題もなく、安定してサービス提供が続けられている。

 「Clustered GatewayのノードはLinuxベースのサーバで、ほかのアプライアンスのようにブラックボックス化された部分が少なく、われわれからすると、中身が分かりやすいので都合が良いという面もありますが、反面『これでいいのか』と、少し心配に思うところもありました。しかし、データ消失など深刻なトラブルは発生しておらず、ノード障害時のフェイルオーバーなども問題なく行われています。サポートも、細かな不具合に関しても問い合わせれば答えてくれます」(佐藤氏)

 現状の運用に関しては順調だと話す佐藤氏だが、「ニコニコ動画」自体のサービスは常に拡大している。ユーザー数も増加を続けているという。そういった環境に対応するため、ストレージに関しても段階的に能力を増強しているとのことだ。

 「ニコニコ動画では、1ファイル当たりの大きさが数Mバイトから100Mバイト、特に20Mバイトから30Mバイトくらいのものが多いのです。このファイルの大きさのため、当社の別のサービスと比べると現時点で約10倍から20倍くらいの容量を使っています。2007年9月には、まず容量が不足してきたのでEVA6100の増設を行いました」と佐藤氏は話す。Clustered Gatewayのノード追加も随時行っているとのことだが、新しく追加したノードからもすぐにストレージを認識でき、ファイルサービスとして迅速に立ち上がるという。

ストレージに関して「当面は大丈夫」という安心感

 「実際、ニコニコ動画として本格的にサービスを開始した時から、動画コンテンツの保存先には頭を抱えていたのですが、今回のHPストレージ採用で、当面は大丈夫だという安心感が得られました。ノードとストレージのそれぞれを必要に応じて増やせる、しかもどちらも現時点では拡張性に余裕があるのですから。容量的にも安心できると分かってきたので、途中から投稿容量上限を緩和するなどの措置も行っています」と佐藤氏。

 なお、Clustered Gatewayは10Gbpsのイーサネットにも対応している。しかしドワンゴでは、今のところ1Gbpsのネットワークで用いているとのこと(パフォーマンス検証テストも1Gbpsイーサネットで実施)。佐藤氏によるとノードで10Gbpsを使うためにはコストが必要となるため、それを避けたということだが、だからこそ、さらにスループットを強化できる余地があると考えているようだ。

 「ノード単体にはまだ余裕がありそうなので、パフォーマンスを強化するには、単純にノード数を増やすだけでなく、1Gbpsインターフェイスを追加してリンクアグリケーションを利用したりする方法も考えられます。あるいはノードのメモリを増強することでもパフォーマンスを向上させることができるようです。こういったアプローチを取ることで、「ニコニコ動画」のサービス拡大に合わせノード単位でもスループットを強化していけると考えています」(佐藤氏)

photo


提供:日本ヒューレット・パッカード株式会社
企画:アイティメディア営業本部/制作:ITmedia エンタープライズ編集部/掲載内容有効期限:2008年8月21日