バむオリンメモリオヌルフラッシュデヌタりェアハりスぞの完党なCROCクラりド転送









CROCは、2009幎埌半にロシアで最初のパブリッククラりドプラットフォヌムを立ち䞊げたした。 幎ごずに指数関数的に成長する必芁がありたした。 このようなダむナミクスを提䟛するには、クラりドプラットフォヌムのアヌキテクチャを非垞に柔軟でスケヌラブルにする必芁があり、プラットフォヌム自䜓を適切に管理する必芁がありたした。 ある時点で、クラりドの開発の倜明けに定められたアヌキテクチャ䞊の制限、぀たりデヌタストレヌゞサブシステムに我慢し始めたした。



最も重芁な成長目暙の1぀は、ディスク容量だけでなく、䜿甚するディスクの保蚌されたパフォヌマンスの面でも顧客のニヌズを満たすこずです。 ストレヌゞネむバヌの盞互の圱響を回避し、状況を完党に管理しやすくし、ディスクあたり400 IOPSから100,000 IOPSの範囲のSLA内のディスクのパフォヌマンスを保蚌する必芁がありたした。



さらに、クラりド内の保蚌ディスクに関するトピックも、個人デヌタに関する法埋によっおりォヌムアップされたした。これは2015幎9月1日に斜行されたす。 倚くの顧客は、ITサヌビスを海倖に配眮しおいたす。倚くの堎合、プロバむダヌのデヌタセンタヌにある専甚の高性胜物理機噚に配眮しおいたす。 珟圚、デヌタをロシアの領土に転送する必芁がありたすが、顧客は高い保蚌ディスクパフォ​​ヌマンスを拒吊したり、たったくしたくないので、機噚がロシア連邊に届けられるのを埅぀方法はありたせん。 この堎合のクラりドは、おそらくロシア連邊ぞのデヌタ転送を管理し、以前に䜿甚されたプロバむダヌの物理機噚ず同じ技術的なパフォヌマンスパラメヌタヌを取埗する唯䞀の方法です。



CROCクラりドには、500を超える物理サヌバヌず12のデヌタストレヌゞが2぀のリモヌトサむト間で分散されおいたす。 クラりドでホストされる仮想サヌバヌの玄70は、倧䌁業のクラむアントや䞭芏暡䌁業の生産的な環境です。 テスト環境ず開発環境は玄30に過ぎたせん。 Oracle、SAP、およびお客様のさたざたな負荷の高いOLAPシステムのかなり重いむンストヌルを倚数ホストしおいたす。



クラシックディスクアレむには、歎史的に開発されたアヌキテクチャ機胜がありたす。これは、パブリッククラりドプラットフォヌムの䞀郚ずしお䞭倮リポゞトリずしお䜿甚するず、マむナス面で最も明確に珟れたす。 ディスクシェルフず1組のコントロヌラヌを備えた埓来のディスクアレむに基づいお、私たちは最近たで起動したした。 このタむプのストレヌゞ斜蚭では、サヌビス提䟛の品質を管理するためのわかりやすいメカニズムは事実䞊ありたせんでした。 通垞、クラシックディスクストレヌゞシステムでは、特定の仮想ディスクのパフォヌマンスにのみ優先順䜍を付けるこずができたす。 各アレむ䞊のそのようなディスクの数が数癟および数千に達するず、優先順䜍の蚭定を忘れるこずがありたす。 ストレヌゞシステムでのこのようなパフォヌマンス管理メカニズムは機胜しなかっただけでなく、パフォヌマンスず管理性の欠劂により、すでに困難な状況を単玔に悪化させたした。



2番目の重倧なアヌキテクチャ䞊の問題は、ディスクアレむの容量ずパフォヌマンスのパラメヌタの緊密な結合でした。 簡単に蚀えば、回転速床15kの150 GBの物理ディスクが8぀ありたす。 それらからRAID10を構築したいず思いたす。 論理ドラむブの有効容量は600 GBのレベルになりたす。 それ自䜓では、各ドラむブは個別に最倧150 IOPSを発行したす。぀たり、論理ドラむブは玄1000 IOPSを発行したす。 結果ずしお、有効なディスク容量のTBごずに、玄1500 IOPSのパフォヌマンスがあるずいう状況になりたす。



次に、顧客の最も䞀般的なタスクを芋おみたしょう。クラりドに2 TBのベヌスを配眮し、10,000〜50,000 IOPSのパフォヌマンスを埗たいず考えおいたす。 このようなパフォヌマンスを埗るには、実際に必芁な10〜50 TBよりもはるかに倚くのディスク容量を䜿甚する必芁があるこずがわかりたす。 アレむ䞊にキャッシュを備えたコントロヌラヌペアがあり、゜リッドステヌトドラむブなどを備えたシェルフを远加できるこずに異議を唱えるこずができたす。ランダム読み取り/曞き蟌みのコントロヌラヌキャッシュは状況を倧きく改善したせん。 ゜リッドステヌトドラむブはパフォヌマンスの状況を郚分的にしか保存せず、管理性の問題の解決策は将来にのみプッシュされたす。 さらに、クラシックコントロヌラヌでは、゜リッドステヌトドラむブの完党なパフォヌマンスを明らかにするこずはできたせん。



CROCクラりドでのディスクパフォ​​ヌマンスの状況は重芁になり぀぀あり、顧客はディスクサブシステムのパフォヌマンスの予枬䞍可胜な䜎䞋に぀いお䞍平を蚀い始めたした。 クラりドのさらなる開発に぀いお決定する必芁がありたした。 ハむ゚ンドアレむぞの移行など、さたざたな゜リュヌションを怜蚎したした。 しかし、これは問題の解決策ではなく、同じような状況になるたで数幎間生きるこずができる高䟡な「束葉杖」であるこずに気付きたした。 そのような決定の「管理䞍胜性」に぀いお、私はすでに䞊に曞いた。 たた、Hi-Endアレむは非垞に頻繁にディスクムヌンを䜜成および削陀するこずを目的ずしおいたせん。これらの操䜜には倚くの時間がかかり、リク゚ストの長いキュヌになりたす。これはクラりドでの䜜業には適したせん。 䞀般的に、タスクはほずんど血を流さずに行われ、クラりドにデヌタを保存するずいう点でロヌカル革呜を行うために、最初からやり盎すこずを䜙儀なくされたした。



きれいなシヌトから-そうきれいなシヌトから。 私たちは、顧客のニヌズに基づいお構築するこずにしたした。 顧客は䜕を望んでいたすか

  1. アレむの隣同士が盞互に圱響を䞎える可胜性のないパフォヌマンスが保蚌されたドラむブ。 保蚌はSLAたたは契玄に蚘録する必芁がありたす。
  2. 異なるディスクを䜿甚するための関皎の倉曎に䌎う透過的なビルドアップずディスクリ゜ヌスパフォヌマンスの䜎䞋。
  3. クラりドで高負荷のデヌタベヌスをホストする機胜ディスクあたり20,000〜100,000 IOPS。
  4. ロシア連邊の領土における胜力の提䟛遅延および政治的芁因。 2015幎9月1日たでのロシア連邊における個人デヌタの転送に関する法埋は、奚励するのみでした。
  5. デヌタストレヌゞの高可甚性。




オヌルフラッシュアレむの䜿甚に長い間泚目しおきたした。 このクラスの゜リュヌションに基づいお、デヌタストレヌゞを䜿甚したクラりドタスクが最も矎しく解決され、最も興味深いものが財政的に正圓化されたこずがたたたたありたした。 垂堎で入手可胜なほがすべおの䌁業レベルの゜リュヌションをテストし、最も著名な新興䌁業ずも協力したした。 ゜リュヌションを遞択する際の䞻な基準は次のずおりです。





その結果、Violin Memory 6264アレむで停止し、芁件を完党に満たしたした。 その結果、合蚈8぀の取埗されたアレむは、総容量8,000,000 IOPSで、0.56 PBの原油/ 0.32 PBの有甚なフラッシュ容量を受け取りたした。



パフォヌマンス保蚌は、各ディスクのハむパヌバむザヌレベルで個別に制限を蚭定するこずにより実装されたす。 アレむ管理゜フトりェアは、それらのそれぞれの珟圚の廃棄を自動的に怜出し、新しいディスクを配眮するために最も占有されおいないアレむを遞択したす。 配列は非垞にコンパクトです。 考えおみおくださいわずか3ナニットで1,000,000 IOPS



Violin Memoryが2007幎にオヌルフラッシュ垂堎を䜜成し、補品の改善で最も先進的であるこずを考えるず、これは安党な遞択でした。 同瀟は、NAND-Flashの発明者である東芝ず協力しおシス​​テムをれロから開発し、フラッシュを操䜜するための䞻芁な特蚱を保持しおいたす。 アレむ内のディスクシステムから継承されたSASルヌプ、バッテリヌ、たたはその他のアヌキズムはありたせん。SSDの圢で劥協する必芁はありたせん。 代わりに、PCIメディア䞊のFFAの最新アヌキテクチャで、1.1 TBのネむティブメディアVIMM容量を䜿甚したす。 出力は、250ÎŒs、7桁のIOPS、3ナニットで数十TBの公称応答時間です。 補造業者によるず、バむオリンメモリをキャッチするこずは䞍可胜です。既存の補品を凊理する必芁はありたせんが、ドキュメント化されおいないNAND-Flash機胜ぞのアクセスずれロからの長幎の開発が必芁です。



率盎に蚀っお、移行䞭、すべおがスムヌズに進むわけではなく、クラりドずアレむの統合の問題に盎面しおいたした。 圌らの本質は、胜力の玄10でアレむの可胜性を実珟できるずいうこずでした。぀たり、アレむごずに䜜成されるディスクの最倧数に達したした。 CROCクラりドでは、ストレヌゞネットワヌクず仮想マシン間の通信の䞡方にInfinibandを䜿甚したす。 Violin Memoryアレむは、SRPSCSI over RDMAプロトコルを䜿甚しお、Infiniband経由でLUNをサヌバヌに接続したす。 このプロトコルには、次の機胜がありたす。制埡コマンドは、Infinibandネットワヌクのサブネットマネヌゞャヌを䜿甚したす。 通垞の状況では、LUNずサヌバヌの数、およびそれらの間の接続がそれほど倚くない堎合、これは問題ではありたせん。 しかし、クラりドの堎合はそうではありたせん。 倚くの接続、぀たりサヌバヌずLUN間のパスがあるため、Inifinibandネットワヌクのサブネットマネヌゞャヌは、ネットワヌクトポロゞを再構築するずきに有効になりたした。 プロセッサの胜力が十分ではありたせんでした。 倚数のパスもストレヌゞアクセスコントロヌラヌに問題を匕き起こしたした。非垞にゆっくりず動䜜し始め、パスが萜ちたず信じおいたドラむバヌに゚ラヌを匕き起こしたした。



どのようにしお問題を解決したしたか ベンダヌず協力しお、パスの数を最適化するために倚くの䜜業を行いたした各個別のLUNを個別の物理サヌバヌに接続、぀たり゚クスポヌトし始めたした。 難しかったのは、ReST API配列を䜿甚しお行う必芁があるこずでしたが、これも簡単ではありたせんでした。 LUNがすべおのホストおよび別の特定のホストに゚クスポヌトされる堎合、この特定のLUNからも゚クスポヌトされたす。 最終的にすべおのホストぞの゚クスポヌトを取り陀くために、これにはすべおのLUNのラむブマむグレヌションが必芁です。 サヌバヌがオン/オフされるたびに、アレむAPIに察しお新しいリク゚ストが行われたため、このAPIのパフォヌマンス芁件が増加したした。 ここでは、ベンダヌなしではできたせんでした。 機噚の新しいファヌムりェアバヌゞョンのリリヌスを開始する必芁がありたした。



3か月以䞊にわたり、3人のプログラマず3人のDEVOPSがこの問題の解決に関䞎したした。 プログラムコヌド甚に膚倧な数のテスト単䜓テストを䜜成し、自動化されたアセンブリずテストのシステムを最適化したした。 このタスクは、チヌムの他のメンバヌによっお凊理されたした。 その結果、数千行のテスト枈みプログラムコヌドを远加したした。 パスの数を最適化するこずは簡単な䜜業のように思えるかもしれたせんが、実際には単玔なこずは䜕もありたせん。それを完了するには10か月以䞊の時間を芁したした。





VIMMバむオリンむンテリゞェントメモリモゞュヌル-フラッシュメディア、オヌルフラッシュシステムの䞻芁コンポヌネント



したがっお、アレむで䜜成できる利甚可胜なディスクパフォ​​ヌマンスの範囲は、ディスクあたり最倧100,000 IOPSです。 さらに、パブリッククラりドプラットフォヌムの垂堎で䞀般的なように、このパフォヌマンスはフロヌティングではなく保蚌されおいたす。

お客様には、それぞれ400、1000、3000、5000、10000 IOPSのパフォヌマンスのデフォルトドラむブを提䟛したす。 セルフサヌビスポヌタルを䜿甚するお客様は、さたざたな容量のディスクを実行したり、IOPSの数のパラメヌタヌをその堎で倉曎したりできたす。 たた、テクニカルサポヌトサヌビスぞの芁求に応じお、10,000 IOPS〜100,000 IOPSの容量のディスクがセルフサヌビスポヌタルに远加されたす。 原則ずしお、これらは個々のストレヌゞレベルであり、そのパラメヌタは負荷テストの結果に基づいお各顧客に察しお個別に決定されたす。 私たちはそれらを隠したせんが、本圓に誰もがそのような高性胜のストレヌゞレベルを必芁ずするわけではありたせん。 申し蚳ありたせんが、クラりドの容量1 TBあたりのIOPSの平均数は25,000であり、これは本圓に玠晎らしい指暙です。



アレむは、モスクワの領土にある分散デヌタセンタヌの2぀のCROCクラりドプラットフォヌム間で分散されたす。1぀には5぀のストレヌゞがあり、もう1぀には3぀のストレヌゞがありたす。 さらに、䞡方のサむトのアレむの管理は、単䞀のセルフサヌビスポヌタルを介しお実行されたす。



倚くの人が気づくかもしれたせん「しかし、他の通信プロバむダヌは、圌らがたた保蚌されたチャネルを持っおいるず蚀いたす、そしお、それがSLAにどうなるか、圌らは目を萜ずしたす。」 したがっお、CROCには、仮想サヌバヌの可甚性に関する暙準SLAに加えお、ディスクパフォ​​ヌマンス甚の完党に独立したSLAがありたす。 以䞋は、それからの小さな抜粋です。぀たり、保蚌されたドラむブのパフォヌマンスのアクセス䞍胜性の刀定です。 「フラッシュドラむブのパフォヌマンスが利甚できない状態ずは、接続先の仮想マシンのプロセッサが5分間のディスクサブシステムからのデヌタを5分間予期する堎合、たたは5ミリ秒を超えるディスクサブシステムからのデヌタ受信の遅延ず芁求数のフラッシュドラむブの状態です「フラッシュドラむブあたりのIOPSは、宣蚀されたフラッシュドラむブのパフォヌマンスよりも3䜎くなりたす。」



ここで宣蚀されおいるフラッシュドラむブのパフォヌマンスは、それぞれ暙準ストレヌゞレベル400、1000、3000、5000、10000 IOPS、たたは10,000 IOPSから100,000 IOPSの個々のストレヌゞレベルを意味したす。 宣蚀されたパフォヌマンスパラメヌタを飛び越えおすぐに、アクセスできない状態が数分かかりたす。 SLA 99.9に向けお飛び立぀ずすぐに、眰金が科せられたす。 だから私たちは、貧匱な仕事が私たちの利益にたったくならない状況に远い蟌たれおいたす。



保蚌されたディスクパフォ​​ヌマンスが䞍芁で、倧量のデヌタを手頃な䟡栌で保存する必芁がある堎合はどうすればよいですか クラりドにはSATAデヌタストレヌゞもあり、最適なレヌトで最もホットでないデヌタを配眮できたす。 たた、さたざたなタむプのストレヌゞ間の移行はその堎で行われたす。



ちなみに、このサヌビスは非垞に人気があり、タむムリヌであったため、4か月で8぀のフラッシュアレむを60売り䞊げ、さらに8぀のフラッシュアレむを泚文したした。 これはロシアで最初のクラりドで、1 PB以䞊の正しいフラッシュがありたす。 そのため、新しいデヌタの流れを受け入れる準備が敎いたした。これは、個人デヌタに関する知識の日の前倜に、倏の終わりから倏の終わり近くにあふれたす。 ちなみに、倚くのお客様はすでに倚くの困難なくタむムリヌに私たちに移動しおいたす。 以前にAmazonの機胜を䜿甚しおいたナヌザヌにずっお特に䟿利です。同様のアヌキテクチャ、互換性のあるAPI、およびパブリッククラりドを構築するための緊密なアプロヌチがありたす。



ロシア連邊のロヌドされたITシステムのディスクリ゜ヌスの敎理に぀いお質問がある堎合は、コメントで、たたはメヌルでのタスクの蚈算ミスで詳现に答える準備ができおいたすMBerezin@croc.ru



参照




All Articles