2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
神尾皓氏:神尾と申します。まず自己紹介させてください。
入社以来一貫してOpenStack関連業務に従事していて、普段はOpenStackベースのプライベートクラウドの開発やハイパーバイザーの最適化、パフォーマンスチューニングをメインとしています。
では、本題に入ります。アジェンダについては「既存のクラウドストレージの課題」「Yahoo! JAPANの新しいクラウドストレージ」「クラウドステージのこれから」の順で進めたいと思います。
では、まず「既存のクラウドストレージの課題」です。先ほど奥村から話がありました通り、現在Yahoo! JAPANでは多くのOpenStackのクラスタが存在し、さらにKubernetesのクラスタがそのOpenStack上で走っています。そして、その上のさまざまなサービスのインフラとして利用されています。
当然、各OpenStackや各Kubernetesのバックエンドにあるストレージは非常にたくさん存在します。
それこそ先ほどOpenStackの説明であったように、162のクラスタに対してさらにそのコンポーネント毎に異なるバックエンドストレージが存在するので、それだけたくさんのクラウドストレージが存在しています。
これらはオペレーションコストの増大につながります。コンポーネントの数だけさまざまなストレージシステムが存在するからです。
続いて、新しいクラウドストレージについてお話しします。
新しいクラウドストレージへの取り組みとして、SDSに取り組んでいます。従来のアプライアンスストレージには、その導入までのリードタイムが長い、または、構成を後から変えることが難しいのでスモールスタートしにくいというデメリットがありました。
そこでSDSを用いて、通常の汎用機・汎用のサーバでソフトウェアを使ってストレージを組むといったソリューションです。
この場合、汎用のサーバを用いるため導入までのリードタイムが短く、さまざまな構成をとることができるので、サーバの構成の面やサーバ全体の構成においてフレキシブルです。さらにストレージノードの追加だけでスケールすることが実現できるので、非常にスケーラブルというのがメリットかなと思います。
続いて、私たちが探していたストレージについてお話ししたいと思います。先ほどもお話ししたようにOpenStackであれば、ObjectのSwift、BlockのCinder、File StorageのManila、またKubernetesのPersistent Volumeとしてのバックエンドのストレージといった、主に扱っているこの4種類のストレージのシステムがありました。
これらのストレージのシステムに対して、すべてに利用できるようなストレージを探していました。
そして、さまざまなSDSの製品を検証した結果、Quobyteというストレージシステムを選択しました。
さまざまなストレージをバックエンドにしていたそれぞれのストレージを、1つのストレージのアーキテクチャに統一することでオペレーションの負荷を軽減できると考えています。
Quobyteの各ストレージのバックエンドとしての振る舞いを見ていきます。
まず、Object Storageとして使う場合です。
Object Storageとして使う場合には、Quobyteの提供するS3 ProxyというS3互換APIを用いて、VMが直接APIにアクセスします。
続いて、OpenStackのCinder。Block Storageとして利用する場合のユースケースです。
この場合では、ハイパーバイザーでファイルストレージとしてマウントしたあと、そこにQCOW2などのQEMUのバッキングファイルをここに配置して、それをQEMUがブロックデバイスとしてアタッチします。
こちらはOpenStackのManila、ファイルストレージとして使う場合です。
この場合は、QuobyteがNFS proxyというNFSをプロキシするための仕組みを持っているので、VMから直接NFSマウントすることができます。
KubernetesのPersistent Volumeとして使う場合です。
KubeNodeにファイルストレージとしてマウントしたあと、それらを直接PodからPersistent Volumeとしてコンテナから見せています。
続いて、SDSを運用する上でのチャレンジについて、お話ししていきます。
まず挙げられることは、アプライアンスストレージに比べて運用が難しいということが一般に言えるかなと思います。
SDSというのは分散システムになってきますので、システムのFail-OverやPartition、Split-Brainといった、分散システムでよく挙げられる難しさがあると思います。
また、ネットワークがストレージのバックプレーンになるところが大きく違っているかなと思います。これまでだとストレージの内部バスや専用のインターコネクトに流れていたような通信が、イーサネットのEAST-WESTのトラフィックになってくるところがポイントです。
それに対して、SDSを運用する上で一番重要なポイントがネットワークです。
先ほど話したEAST-WESTに広帯域なネットワークとしてClos Networkを採用しています。
また、ネットワークの監視の面で、従来のNICのエラーカウンタ監視を行っていたのに加えてPingmesh監視を用いています。
この右の図がPingmeshのモニター画面のスクリーンショットです。縦軸横軸がそれぞれのサーバに対応していて、その当たったマスが、それぞれのpingのレイテンシーがそのまま緑や赤で表現されています。
平常時は左のように全部緑で、なにか問題があったとき右のように「このサーバがおかしそうだ」と視覚的にわかるのがメリットです。
次に、今回構築したシステムについてお話しします。こちらがシステムの構成図です。
Clos Networkの上に構築していて、それぞれのストレージノードまでL3が伸びてきていて、それぞれのノードで経路交換して、そのL3で冗長をとっている構成です。
L3で冗長を取ることで、これまでLeaf SwitchでL2の状態、Switch間でMLAGのような機能が必須でしたが、L3を喋ることでそのような機能が特に必須な要件にならず、Switchの選択肢が広がったのもメリットかなと思います。
こちらがシステムの概要ですが、詳しい内容についてはOpenStack Summit Berlinの方で発表していますので、気になる方はそちらをご覧いただければ幸いです。
今回構築したソフトウェアストレージのパフォーマンスについて少し見ていきます。こちらはクライアントが1ノードのときのRead性能です。
比較対象はLocalのNVMeを比較対象としています。図の右側がSequential Readで、図の左側がRandom Readの結果になっています。
Sequential Readですと圧倒的にNVMeの方が性能がいいのですが、Random ReadではNVMeに比べても遜色ない性能が出ているかなと思います。これはQuobyteが分散ストレージで分散のIOに強いからです。
次にWriteの性能です。
こちらもSequential WriteはNVMeの方がいいですが、Random WriteはNVMe並か、それ以上の性能が発揮できています。
気になるストレージとしての性能です。
こちらが全体のストレージのRead性能です。Read IOPSが1000kIOPS以上、PeakのReadの帯域が40GB/s以上と、オールフラッシュストレージ並みの性能が出ているのかなと思います。
続いてWriteです。
Writeも300kIOPS・12GB/sと十分な性能が出ています。これらのパフォーマンス測定の条件は、先ほど言ったOpenStack Summitの動画を見ていただけますと幸いです。
次に「クラウドストレージのこれから」についてお話しします。
繰り返しになりますが、従来のクラウドストレージではそれぞれOpenStackやKubernetesのクラスタのバックエンドごとにストレージというものが存在していて、オペレーションコストの増大につながっていました。これらを1つのアーキテクチャに統一していくことで、オペレーションコストを下げていくことができると考えています。
さらに、OpenStackクラスタやKubernetesのストレージを集約していくことで、さらに効率のいい運用ができるかなということを期待しています。
SDSの柔軟性やストレージ設計・構成の最適化を行っていて、1つのストレージアーキテクチャに統一することでオペレーションコストの削減ができると考えています。
最後に、クラウドストレージのまとめになります。
既存のクラウドストレージは、クラスタ/コンポーネントごとに用意されていたため、運用や管理が非常に煩雑でした。SDSは構築完了までのリードタイムが短く、さらに柔軟な構成が取れるため、あとからの構成の変更なども比較的容易です。今後は、適材適所でSDSに置き換えていくことで、クラウドストレージ全体の設計や構成の最適化を行っていきます。
続きまして、「ネットワーク運用の取り組み」を安藤が発表いたします。
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05