Ceph オブジェクト ストレージに基づく階層型ハイブリッド クラウド ストレージ ソリューション

Ceph オブジェクト ストレージに基づく階層型ハイブリッド クラウド ストレージ ソリューション

パブリッククラウドストレージサービスは簡単に拡張できます。ユーザーは、ストレージ容量のニーズに応じて、既存のストレージ サービスの容量を簡単に拡張できます。そのため、ユーザーの観点から見ると、パブリッククラウドストレージサービスは最大容量という特徴を持っています。

  • 無制限の容量: パブリック クラウド ストレージ サービスは簡単に拡張できます。ユーザーは、ストレージ容量のニーズに応じて、既存のストレージ サービスの容量を簡単に拡張できます。そのため、ユーザーの観点から見ると、パブリッククラウドストレージサービスは容量無制限という特徴があります。
  • 低コスト: パブリック クラウド ストレージ サービスは従量課金モデルを採用しており、実際の容量使用量に基づいた課金をサポートします。同時に、ストレージインフラストラクチャの要件がないため、コストが低いという利点があります。
  • パフォーマンスが低い: パブリック ネットワーク経由でストレージ サービスにアクセスする際のネットワーク オーバーヘッド、クラウド サービス プロバイダーが使用する共通の共有ハードウェア リソース、および仮想化テクノロジを通じて提供されるサービスにより、パブリック クラウド ストレージ サービスのアクセス パフォーマンスはそれほど高くありません。
  • [[236436]]
  • セキュリティと制御性が不十分: 前述のように、パブリック クラウドでは、すべてのハードウェア、ソフトウェア、およびその他のサポート インフラストラクチャはクラウド サービス プロバイダーによって所有および管理され、すべての組織とテナントが同じハードウェア、ストレージ デバイス、およびネットワーク デバイスを共有します。したがって、データのセキュリティと制御性の観点から、パブリック クラウド ストレージ サービスは理想的な選択肢ではありません。

プライベートクラウドストレージ

  • 高性能: プライベート ネットワークや専用回線によってネットワーク オーバーヘッドが低く抑えられ、ソフトウェアおよびハードウェア リソースの選択に優れた柔軟性があるため、プライベート クラウド ストレージ サービスはパブリック クラウドよりも優れたアクセス パフォーマンスを提供できます。
  • 高いセキュリティと制御性: プライベート クラウド ストレージ サービスでは、ソフトウェアとハ​​ードウェアのリソースが他の組織やテナントと共有されず、サービスを完全にプライベート ネットワーク内に構築できるため、より高いレベルの制御性とセキュリティを実現できます。
  • 容量制限: プライベート クラウド ストレージ サービスの場合、すべてのリソースは自己所有であり、ストレージ クラスターの拡張など、自己メンテナンスが必要です。したがって、容量の観点から見ると、ストレージ クラスターを拡張するための明示的および暗黙的なコストは非常に高くなります。したがって、ユーザーの観点から見ると、プライベート クラウド ストレージ サービスは 100% の容量ではありません。
  • 高コスト: 前述のように、プライベート クラウド ストレージ サービスでは、データ センターの構築と運用、プライベート ネットワークや専用ネットワークの構築、クラスターのメンテナンスなど、すべてのソフトウェアおよびハードウェア リソース コスト、ストレージ クラスターの運用と保守のコストをすべてプライベート クラウド ストレージ サービスのコストに含める必要があります。また、オンデマンドで容量を割り当てて必要な分だけ利用できるパブリッククラウドストレージとは異なり、プライベートクラウドストレージでは、将来予測される最大容量需要を満たし、頻繁な容量拡張による高額な運用・保守コストを回避するために、クラスターを構築する際には計画的な容量で構築されることが多いです。これにより、実際にはストレージ クラスター全体の使用容量が長時間にわたって不飽和状態になり、一部のストレージ リソースが長時間にわたってアイドル状態になります。上記の 2 つの側面により、プライベート クラウド ストレージはパブリック クラウド ストレージよりも高価になるという問題が生じます。

ハイブリッドクラウドストレージ

ハイブリッド クラウド ストレージは、プライベート クラウド ストレージとパブリック クラウド ストレージを接続し、これら 2 つを組み合わせて外部に共同でストレージ サービスを提供します。プライベートクラウドストレージとパブリッククラウドストレージの利点をすべて統合したものと言えます。

  • 高パフォーマンス: アクティブ データはプライベート クラウド ストレージに保存され、アーカイブ データはパブリック クラウド ストレージに保存されます。まず、パフォーマンスの観点から、アクティブ データと頻繁にアクセスされるデータをプライベート クラウド ストレージに保存することで、ハイブリッド クラウド ストレージはより高いアクセス パフォーマンスを提供できます。
  • 高いセキュリティと制御性: ハイブリッド クラウド ストレージのプライベート クラウド部分のソフトウェアとハ​​ードウェア リソースは自社所有かつ排他的であるため、重要な機密データ情報をプライベート クラウド ストレージに保存すると、より高い制御性とセキュリティを実現できます。
  • 無制限の容量: パブリック クラウド ストレージとの相互接続により、ハイブリッド クラウド ストレージは、パブリック クラウド ストレージの無制限の容量という特性を活用して、無制限の容量という特性も備えています。
  • 比較的低コスト: アーカイブされたデータ、アクセス頻度の低いデータ、アクセス パフォーマンス要件が低いデータをパブリック クラウド ストレージに保存することを選択できます。プライベート クラウド ストレージのコストを節約しながら、パブリック クラウド ストレージをオンデマンドで割り当てるというコスト上の利点も得られます。そのため、ハイブリッド クラウド ストレージには、プライベート クラウド ストレージに比べてコストが低いという利点もあります。

既存のソリューションの限界

パブリック クラウド ストレージやプライベート クラウド ストレージと比較すると、ハイブリッド クラウド ストレージはより包括的で完全です。 Ceph のオブジェクト ストレージは、ハイブリッド クラウド シナリオ向けのソリューション、つまり Cloud Sync 機能も提供します。 Ceph RGW の Cloud Sync 機能は、RGW マルチサイト メカニズムに基づいて実装されています。まず、RGW マルチサイト メカニズムを見てみましょう。

RGW マルチサイト

Ceph RGW のマルチサイト メカニズムは、複数の Ceph オブジェクト ストレージ クラスター間でデータを同期するために使用されます。関連する中核概念は次のとおりです。

  • ゾーン: RGW のグループによって外部サービスが提供される独立したクラスターに対応します。
  • ゾーングループ: 名前が示すように、各ゾーングループは複数のゾーンに対応でき、データとメタデータはゾーン間で同期されます。
  • レルム: 各レルムは、複数のゾーングループを含めることができる独立した名前空間です。メタデータはゾーングループ間で同期されます。

マルチサイトの仕組みは次のとおりです。

Multisite はゾーン レベルの機能処理メカニズムであるため、デフォルトではゾーン レベルのデータ同期になります。つまり、Multisite を構成すると、ゾーン全体のデータが同期されます。

ゾーン全体のレベルでのデータ同期は操作の粒度が粗すぎるため、多くのシナリオには適用できません。現在、Ceph RGW は、より細かい操作粒度と高い柔軟性を備えた、bucket syncenable/disable によるバケット レベルのデータ同期の有効化/無効化もサポートしています。

RGWクラウド同期

Cloud Sync は RGW マルチサイトに基づいて実装されており、Ceph 内のオブジェクト データを S3 インターフェイスをサポートするパブリック クラウド ストレージに同期することをサポートします。デフォルトはゾーン レベルのデータ同期です。上記の紹介から、RGW のマルチサイト メカニズムは、複数の Ceph オブジェクト ストレージ クラスターと複数のデータ センター間のデータ同期を実現するために使用されていることがわかります。ゾーン自体は抽象的な概念です。より抽象的な観点から見ると、単なる Ceph オブジェクト ストレージ クラスター以上のものを表すことができます。

RGW Cloud Sync機能はこの考えに基づいて実装されています。 Cloud Sync フレームワークでは、スレーブ ゾーンは Ceph オブジェクト ストレージ クラスターだけに対応するのではなく、より抽象的な概念になっています。つまり、任意のクラスターを表すことができ、このクラスターは Ceph オブジェクト ストレージ クラスターにすることも、もちろん AWS の S3 にすることもできます。 Cloud Sync 機能は、S3 インターフェースをサポートするストレージ クラスターをスレーブ ゾーンの概念に抽象化し、Multisite メカニズムを通じて Ceph 内のオブジェクト データを外部オブジェクト ストレージに同期します。

バケット同期の有効化/無効化を通じて、バケット レベルのデータ同期を有効化/無効化できます。

クラウド同期の制限

Ceph オブジェクト ストレージを使用する場合、RGW の Cloud Sync 機能は、基本的にハイブリッド クラウド ストレージのアプリケーション シナリオを満たすことができます。ただし、RGW Cloud Sync 機能の現在の実装に関しては、次のような制限が残っています。

サポートされる最も細かい同期粒度はバケット レベルです。一部のアプリケーション シナリオでは、バケット レベルでの同期の粒度が十分に柔軟ではありません。時間制御に関しては、RGW Multisite のデータ同期処理は、RGW 独自のコルーチン ライブラリを通じて実装されます。処理プロセス全体は非同期で完了し、データ同期処理の開始時間を手動で制御することはできません。したがって、このデータ同期処理の時間制御は柔軟性が十分ではなく、時間に敏感なシナリオには適用できません。

UMStor、Ceph をベースにした階層型ハイブリッド クラウド ストレージ ソリューション

上記の制限を踏まえて、より柔軟なデータ管理および移行ソリューションを提供するために、より細かい管理粒度とより優れた時間制御を備えたメカニズムを実装できるかどうかを検討し始めました。オブジェクトデータストレージの階層化、オブジェクトのライフサイクル管理、自動生成と移行などの一連の実践を通じて、Ceph ベースの階層型ハイブリッドクラウドストレージソリューション UMStor を開発しました。

ソリューション1: オブジェクトデータストレージのアップグレード

まず、オブジェクト データのストレージを分類するために、Ceph オブジェクト ストレージでストレージ クラスを実装する方法を紹介します。

ストレージシステムのサイジング

ストレージ システムを分類する必要があるのはなぜですか?以下の3つの側面から考えることができると思います。

1. ストレージメディア

まず、ストレージクラスターでは、アクセス性能やコストなどの考慮により、SSDとHDDの両方を導入する場合があります。この場合、ストレージ階層化が行われないと、アクセス性能要件が低いデータやアーカイブされたデータは SSD に保存され、アクセス性能要件が高いデータは HDD に保存されることになり、データアクセス性能に影響を与え、データ保存コストが増加してしまうことは間違いありません。

2. ストレージ戦略

  • インスタンス
  • インスタンス
  • 消去コード

一部のデータには非常に高い信頼性が求められるため、3 つのコピーの形式で保存します。一部のデータについては、信頼性に対する要件がそれほど高くない場合があります。この場合、ストレージスペースを節約するために 2 つのコピーを保存することをお勧めします。

3. ストレージプロバイダー

  • ユークラウド
  • AWS の

したがって、ストレージ システムでストレージ グレーディングを実行することが実際には非常に重要です。

RGWデータ保存ルール

RGW 自体には、データの保存ルールである配置ルールの概念があります。配置ルールでは、バケット インデックス データを格納するインデックス プール、オブジェクト データを格納するデータ プール、および Multipart 経由で大きなファイルをアップロードするときに一時データを格納するデータ エクストラ プールを定義できます。

配置ルールは使用されるストレージ プールに対して定義され、ストレージ プールはゾーン下の概念であるため、配置ルールは RGW でゾーン レベルの構成として使用され、その影響の粒度はバケット レベルです。つまり、バケットが使用する配置ルールを指定でき、バケットにアップロードされたすべてのオブジェクト データは、バケットの配置ルールで定義された配置ルールに従って保存されます。ユーザーは、異なるバケットに異なる配置ルールを構成して、異なるストレージ メディアの異なるバケットにオブジェクト データを保存したり、異なるストレージ ポリシーを使用したりすることができます。

ただし、バケット レベルのデータ ストレージ ルールは、特定のアプリケーション シナリオのニーズを満たすほど柔軟ではありません。

オブジェクトデータストレージ戦略

ストレージクラスの概念自体は、AWS S3 の重要な機能です。 S3 では、各オブジェクトにはオブジェクトのデータのストレージ ポリシーを定義する「ストレージ クラス」属性があります。 S3 のストレージ クラス機能は、次の定義済みストレージ ポリシーをサポートしています。

  • STANDARD は頻繁にアクセスされるデータ用です。
  • STANDARD_IA は、アクセス頻度は低いが、必要なときに高速アクセスが必要なデータに使用されます。
  • ONEZONE_IA は、アクセス頻度は低いが、必要なときに高速アクセスが必要なデータに使用されます。他の Amazon オブジェクトストレージクラスでは少なくとも 3 つのアベイラビリティーゾーン (AZ) にデータが保存されますが、S3 One Zone-IA では 1 つの AZ にデータが保存されます。
  • REDUCED_REDUNDANCY は主に、高いストレージ信頼性を必要としないデータに使用されます。データストレージのコピー数を減らすことで、ストレージコストを削減します。
  • 氷河。

前述の分散ストレージ システムのストレージ分類の要求と、RGW が現在サポートしているデータ配置ルール メカニズムを組み合わせて、Ceph オブジェクト ストレージにオブジェクト ストレージ クラスの概念を導入しました。

  • まず、ストレージ プールの概念をより高いレベルに抽象化しました。現在の Ceph オブジェクト ストレージのサポートに加えて、異なるストレージ メディア (HDD/SSD) に応じてストレージ プールを分割することもできます。異なるストレージ ポリシー (データ冗長性ポリシー) (2 倍のレプリケーション/ 3 倍のレプリケーション/ 消去コード) に従ってストレージ プールを分割します。外部ストレージ(外部パブリック クラウド ストレージおよびプライベート クラウド ストレージを含む)をストレージ プールに抽象化します。
  • RGW ゾーンの配置ルールの範囲は、オブジェクト レベルで機能するように細かく設定されており、オブジェクト レベルのストレージ グレーディングを実現します。同じストレージ バケット内でも、異なるオブジェクト データを異なるストレージ プールに保存できます。

ソリューション2: オブジェクトライフサイクル管理

オブジェクトレベルのストレージクラス機能を実装した後、データ移行時間の制御性をどのように実現するかを検討し始めました。以下で紹介するのはこれです。

AWS S3 オブジェクトライフサイクル管理

オブジェクトのライフサイクル管理も AWS S3 の非常に重要な機能です。バケットのライフサイクル管理ルールを設定することで、バケット内の特定のオブジェクト セットに対してライフサイクル管理を実行できます。現在、AWS S3 オブジェクトライフサイクル管理は以下をサポートしています。

  • 移行処理、つまり、指定された時間間隔後または特定の時点で、バケット内の特定のオブジェクト セットを現在のストレージ クラスから別の指定されたストレージ クラスに移行することをサポートします。
  • 有効期限削除処理では、指定された時間間隔後または特定の時点でバケット内の特定のオブジェクト セットをクリアすることがサポートされます。

RGW オブジェクトライフサイクル管理

現在、Ceph RGW オブジェクト ストレージは、LC オブジェクト ライフサイクル管理もサポートしています。ただし、RGW 自体はオブジェクト ストレージ クラス/配置ルールをサポートしていないため、オブジェクト ライフサイクル管理は現在、有効期限切れアクションと削除処理のみをサポートしています。

完全なオブジェクトライフサイクル管理の実装

上記で実装したオブジェクトストレージクラスをベースに、RGWの既存のLC実装をベースにRGW LCの処理ロジックを拡張し、オブジェクトライフサイクル管理によるオブジェクトデータの他のストレージクラスへの移行をサポートするLC移行機能を実装しました。たとえば、SSD から HDD への移行、3 コピー プールから 2 コピー プールへの移行、コピー プールから消去コード プールへの移行、Ceph クラスターから外部の Ufile パブリック クラウド ストレージへの移行などをサポートし、完全なオブジェクト ライフサイクル管理を実現します。標準の AWS S3 ObjectLifecycle Management 関連インターフェースをサポートします。

上記の紹介から、私たちが実装したストレージクラス機能は、外部ストレージをストレージクラスとして指定することをサポートしています。したがって、バケットの LC ルールを構成することによって、バケット内の特定のオブジェクト セットを UFile、S3 などの外部ストレージに移行することをサポートします。

RGW の Cloud Sync 機能と比較して、LC 移行ルールを設定して Ceph クラスター内のオブジェクト データを外部のクラウド ストレージに移行すると、次の利点があります。

1. 操作の粒度がより細かくなり、オブジェクト内でデータを直接操作できるようになります。

2. 時間制御可能。 LC ルールで操作が有効になる時間を設定および指定し、データ移行の時間を手動で制御できるため、時間の制御性が高まります。

これまでに、ゾーン レベルからバケット レベル、そしてオブジェクト レベルまで、Ceph オブジェクト ストレージに基づく完全かつ完全な粒度データ移行処理メカニズムを実装しており、基本的にすべてのアプリケーション シナリオの共通ニーズをカバーできます。

ソリューション3: 移行戦略を自動的に生成する

バケットログ

バケット ログは、特定のバケットに対する操作とアクセスを記録および追跡するために使用される機能です。バケット ログ内の各ログ レコードには、要求の開始者、バケット名、要求時刻、要求された操作、返されたステータス コードなど、対応するバケットへの操作アクセス要求の詳細が記録されます。

移行戦略を自動的に生成

バケット ログの操作記録と設定可能なスケール パラメータに基づいて、バケット内のオブジェクト データの人気度が分析され、分析結果に応じて移行戦略が自動的に生成され、オブジェクト データが管理されます。このプロセスを要約した図を以下に示します。

  • ターゲット バケットからバケット ログを読み取ります。
  • 日記レコードをフィルタリングして分析し、ユーザーが設定したルールでマークされたオブジェクト データのアクセス人気を取得します。
  • 対応するライフサイクル管理ルールを生成します。
  • 生成されたライフサイクル管理ルールを対応するバケットに設定します。

将来について

Ceph オブジェクト ストレージに基づく階層型ハイブリッド クラウド ストレージ ソリューションは、ユーザーのニーズを十分に満たすことができますが、双方向のデータ同期やプロキシの読み取りと書き込みなどの機能のサポートには、まだ改善の余地があります。

<<:  テンセントクラウドのオーディオとビデオのAI技術は、超高速高解像度ワールドカップライブ放送の「舞台裏のヒーロー」です

>>:  【フォーカス】さまざまなクラウドサービス形態におけるKubernetesの優れた実践

推薦する

タオバオライブはなぜ

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています基本的に、...

sugarhosts - 仮想ホストが 60% オフ / VPS トラフィック拡張が無料

Sugarhosts は最近、比較的信頼できるニュースを 2 つ発表しました。すべての VPS のト...

コミュニティの次の形は、新しい小売会員システムです。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています過激な分裂...

分散ライブラリの使用の難しさを打破する: データ シャーディング戦略

分散データベースが成熟するにつれて、その推進と利用の面でより深い領域に入り始めています。このプロセス...

ページ最適化でSEO最適化ライフを変えましょう

優れたオンページ最適化と強力な注目度構築の価値を過小評価しないでください。SEO 最適化担当者として...

2014年、レノボ・モバイルは「空約束」を実現できるだろうか?

2014 年 4 月 22 日の午後、オリンピック スポーツ センターの国立オリンピック体育館で、レ...

Docker で Node.js アプリケーションをコンテナ化する方法

コンテナ化されたアプリケーションは、ほぼすべてのプロジェクト チームが直面する主要な問題のいくつかを...

百度のアルゴリズム異常は「砂糖で覆われた弾丸」の疑い

みなさんこんにちは。私は梁磊です。百度はここ数日、異常な動きを見せています。皆さんも慣れていると思い...

クラウドの停止中に企業は損失を回復できますか?

クラウド コンピューティングは、効率性の向上、データ セキュリティの強化、利益の増加という魅力的な可...

新しいウェブサイトを素早くインデックスさせるためのヒント

基本的に、私たちは毎日主要な SEO フォーラム プラットフォームにログインして、記事や最新情報を読...

法律業界のウェブサイト構築プロセスと計画

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています今日では、...

クラウドコンピューティング開発のための3カ年行動計画(2017-2019)

1. 背景クラウド コンピューティングは、情報技術の発展とサービス モデルの革新を凝縮したものです。...

コンバージョン率、それともコンバージョン率?もうやめても大丈夫です。

友達と外食するとき、街のホテルの食事はどんどん悪くなっているとよく言われます。おいしいおやつを食べた...

クラウドネイティブアーキテクチャ: 可用性とスケーラビリティに優れた最新のインターネットアプリケーションの構築

クラウド コンピューティング テクノロジーの急速な発展により、クラウド ネイティブ アーキテクチャは...