OpenStack の紹介と 3 つの主要なストレージ コンポーネントの簡単な分析

OpenStack の紹介と 3 つの主要なストレージ コンポーネントの簡単な分析

みなさんこんにちは。OpenStack について聞いたことがあると思います。多くの人は、OpenStack のアーキテクチャ全体は比較的複雑で、多くのコンポーネントが関係しており、学習プロセス中に習得するのが難しいと感じています。

1. OpenStackを理解する

OpenStack は、データセンター全体のコンピューティング、ストレージ、ネットワーク リソースの大規模なプールを制御するクラウド オペレーティング システムです。これらはすべて、管理者が制御できるダッシュボードを通じて管理され、ユーザーは Web インターフェイスを通じてリソースをプロビジョニングできます。

上記は公式サイトによるOpenStackの定義です。 OpenStack は、データセンター全体のコンピューティング、ストレージ、ネットワーク リソースの統合管理を提供します。クラウド コンピューティング プラットフォームはサービス指向アーキテクチャであり、提供されるサービスに応じて、IaaS (Infrastructure as a Service)、PaaS (Platform as a Service)、SaaS (Software as a Service) に分類できます。上記の公式サイトの定義によると、OpenStack は IT インフラストラクチャを対象としており、IaaS レイヤーのクラウド オペレーティング システムです。

OpenStack は誕生から 9 年が経ちました。新しいバージョンは 6 か月ごとにリリースされ、バージョン名はアルファベット順に付けられます。現在は第18作目のロッキー(バージョンR)まで登場しています。当初の 2 つのモジュール (サービス) から、現在では数十のモジュールにまで発展し、各モジュールは独立したサブプロジェクトとして開発されています。では、サービスモジュールが非常に多いため、どのように効率的に学習すればよいのでしょうか?次の図に示すように、OpenStack の最も重要な点 (コンピューティング、ストレージ、ネットワーク リソースの統合管理と制御) を把握する必要があります。

OpenStack のような巨大なアーキテクチャでは、コンピューティング、ストレージ、ネットワーク リソースの管理を担当するコンポーネントはどれですか?コンポーネントは互いにどのように連携しますか? (以下の絵は「神絵」といいます。少し大きいので横向きでご覧ください)

建築は良いものです。物事の全体的な構造をより高い視点から見るのに役立ちます。上の図は、OpenStack のさまざまなコンポーネント間およびコンポーネント内の相互作用を示しています。実際にはそれほど複雑ではありません。今日はまず、OpenStack の 3 つの主要なストレージ コンポーネントである Glance、Cinder、Swift について学習します。

2. OpenStackの3つの主要ストレージコンポーネントGlance、Cinder、Swiftの簡単な分析

I. Glance、Cinder、Swift とは何ですか?

まず、Glance、Cinder、Swift が何であるかを理解する必要があります。 OpenStack では、Glance がイメージ サービスを提供する役割を担っています。いわゆるイメージ サービスとは、イメージを管理し、ユーザーがイメージを検索、取得、保存できるようにすることです。イメージは、基本的なオペレーティング システムとその他のアプリケーション ソフトウェアを含むテンプレートです。クラウド環境の需要が高いため、システムの(大規模な)手動インストールと展開は柔軟性に欠け、時間がかかり、非効率的です。現時点では、より効率的なソリューション、つまりイメージが必要です。 Cinderを見てみましょう。 OpenStack では、ブロック ストレージ サービスを提供するために Cinder が使用されます。ブロックストレージとは何ですか?実際のところ、これは単純に裸のハードディスクとして理解することができます。特定のプロトコル (SCSI、iSCSI、SAN など) を介してベア ハード ディスクをマウントし、パーティション分割、フォーマット、ファイル システムの作成を行ったり、ベア ハード ディスクを直接使用してデータ保存用のストレージ領域を提供したりできます。 Swift は、Amazon Web Service の S3 シンプル ストレージ サービスに似た、OpenStack 用の分散型永続仮想オブジェクト ストレージを提供します。 Swift は、ノード間で数百のオブジェクトを保存する機能があり、冗長性とフェイルオーバー管理が組み込まれており、アーカイブとメディア ストリーミングも処理できます。特に大容量データ(ギガバイト)や大容量(オブジェクト数が多い)に効果的です。このサービスは必須ではなくオプションです。次に、3 つの主要コンポーネントの内部アーキテクチャと各サブコンポーネントの機能について詳しく見ていきましょう。

II.一目

Glance-api: REST API リクエストを受信し、他のモジュール (glance-registry およびイメージ ストア) を通じてイメージの検索、取得、アップロード、削除などの操作を完了します。

glance-registry: MySQL データベースと対話してイメージのメタデータを保存または取得するために使用されます。

イメージストア: ストレージインターフェース層です。このインターフェースを通じて、Glance は画像を取得できます。イメージストアでサポートされているストレージには、Amazon の S3、OpenStack 独自の Swift、ceph、sheepdog、GlusterFS などの分散ストレージが含まれます。

III.シンダー

Cinder クライアントは、Cinder が提供する REST インターフェースをカプセル化し、CLI の形式でユーザーに提供します。

Cinder API は外部に REST API を提供し、操作要件を解析し、API をルーティングして対応する処理方法を見つけます。ボリュームの追加、削除、変更、クエリ(ソースボリューム、ミラー、スナップショットからの作成を含む)、スナップショットの追加、削除、変更、クエリ、バックアップ、ボリュームタイプの管理、マウント/アンマウント(Nova 呼び出し)などが含まれます。

Cinder スケジューラは、バックエンドから報告された容量と機能の情報を収集し、設定されたアルゴリズムに従って指定された cinder ボリュームにボリュームをスケジュールする役割を担います。

Cinder ボリュームは、異なる構成ファイルを使用して複数のノードにデプロイされ、異なるバックエンド デバイスに接続されます。各ストレージ ベンダーは、デバイスと対話してデバイスの容量と機能に関する情報の収集とボリューム操作を完了するためのドライバー コードを挿入します。

Cinder バックアップは、ボリューム データを他のストレージ メディアにバックアップすることを実装します (現在は Swift/Ceph/TSM がドライバーを提供しています)。

SQL DB は、ストレージ ボリューム、スナップショット、バックアップ、その他のデータを提供し、Mysql、PG、MSSQL などの SQL データベースをサポートします。

IV.スウィフト

プロキシ サーバー: 外部にオブジェクト サービス API を提供します。ステートレスな REST リクエスト プロトコルを使用しているため、水平方向に拡張して負荷を分散できます。 ◎アカウントサーバー:アカウントのメタデータと統計情報を提供し、コンテナのリストを管理するサービス。各アカウントの情報は SQLite データベースに保存されます。 ◎コンテナ サーバー: コンテナのメタデータと統計情報を提供し、含まれるオブジェクトのリストを管理するサービス。各コンテナの情報も SQLite データベースに保存されます。 ◎オブジェクトサーバー:オブジェクトメタデータとコンテンツサービスを提供します。各オブジェクトの内容はファイル形式でファイル システムに保存され、メタデータはファイル属性として保存されます。拡張属性をサポートする XFS ファイル システムを使用することをお勧めします。

レプリケーター: ローカル パーティション レプリカとリモート レプリカが一致しているかどうかを確認します。不整合が見つかった場合は、プッシュを使用してリモート レプリカを更新し、削除対象としてマークされたオブジェクトがファイル システムから削除されるようにします。 ◎アップデータ:高負荷のためオブジェクトをすぐに更新できない場合、タスクはシリアル化され、サービスが復旧した後に非同期更新のためにローカルファイルシステムにキューイングされます。監査人: オブジェクト、コンテナ、アカウントの整合性をチェックします。ビットレベルのエラーが見つかった場合、ファイルは分離され、他のコピーがコピーされてローカルの破損したコピーが上書きされます。その他の種類のエラーはログに記録されます。

Account Reaper: 削除対象としてマークされたアカウントを削除し、そのアカウントに含まれるすべてのコンテナーとオブジェクトを削除します。

3. 3つの主要なストレージコンポーネントの違い

機能の違い

Glance は、検出や登録などのイメージ管理を担当するイメージ サービスを提供します。イメージは、仮想マシンのシステム ディスクを生成するためのテンプレートです。 Cinder は、仮想マシンにブロックレベルの永続ボリュームを提供します。 Cinder を使用して、ボリュームを作成、マウント、スナップショットできます。 Swift は、OpenStack が提供する分散型の永続的な仮想オブジェクト ストレージです。

ストレージスペースの違い

Glance はイメージを保存しませんが、代わりにデータをバックエンド ストレージ (Swift、ローカル ストレージ、OBS など) に渡して保存します。Cinder 自体はボリュームを保存しませんが、Driver を通じてさまざまなストレージを引き継ぎ、これらのストレージを使用して仮想マシンにスペースを提供できます。 Huawei VRM Datastore、VMware Datastore、Huawei FusionStorage、Huawei OceanStorV3、LVM などを引き継ぐことができます。 Swift は独自のスペースを維持し、通常はローカル ストレージ + XFS ファイル システムを使用して外部にオブジェクト ストレージ サービスを提供します。

まとめると、今日は OpenStack の性質と機能、および 3 つの主要なストレージ コンポーネントについて学びました。より深く学びたい学生は、授業後に OpenStack の関連ドキュメントを参照することができます。対応するドキュメントを参照して、体系的な研究のために OpenStack 実験環境を構築することもできます。長年の開発を経て、Openstack の組織構造全体がますます大きくなってきています。オープンソース プロジェクトの柔軟で高速な特性を反映し、さまざまなニーズを満たすさまざまなストレージ サービスを提供します。一般的に、ストレージを選択する際には、将来的に複数のアプリケーションで使用されることを考慮すると、長期的な決定として検討する必要があります。 Openstack はオープン システムとして、主にソフトウェアおよびハードウェア ベンダーのロックインの問題を解決します。新しいハードウェア サプライヤーはいつでも選択でき、新しいハードウェアと既存のハードウェアを混合クラスターに組み合わせて統合管理できます。もちろん、アプリケーションを変更せずにソフトウェア技術サービスプロバイダーを置き換えることもできます。これがオープンソース自体の利点です。

<<:  オープンソースの分散トランザクションミドルウェアFescarについて、開発者が懸念する13の問題点をまとめました

>>:  平安科技区海英が51CTO「2018年中国IT産業優秀人物賞」を受賞

推薦する

百度の外部リンクアルゴリズム調整に関する意見まとめ

Baidu は最近、外部リンクのアルゴリズムを調整し、現在も更新中です。これは北京の SEO 専門家...

SEOはウェブサイト運営の成功に関係しています。仮想ホストの選択に注意する必要があります

SEO がウェブサイトの運用に与える影響については多くの人が知っていると思いますが、仮想ホスティング...

2013年の外部リンクの4つの傾向を解釈する

諺にあるように、物事は時間とともに変化します。SEO では、検索エンジンのトレンドに常に追従する必要...

Kafka+Flinkプラットフォーム設計に基づいて、リアルタイムデータウェアハウスも次のように構築できます。

この記事は、NetEase Cloud Music のリアルタイム コンピューティング プラットフォ...

ショッピングガイドがなぜ良いビジネスでありながら成功が難しいのかを説明する3つのストーリー

過去2年間、ソーシャル電子商取引はITメディア界で頻繁に登場した。ウェブサイト分野の新興企業であるP...

検索エンジンマーケティングとソーシャルメディアマーケティングのどちらがエンタープライズマーケティングに適しているかについての洞察

ゲスト マーケティングの大きな発展に伴い、ソーシャル メディア マーケティングと検索エンジン マーケ...

WeChatのユーザー数は3億人を突破。SEO担当者はまだ冷静でいられるだろうか?

1. WeChatとは何ですか? WeChat は、2012 年 1 月 21 日に Tencent...

クラウドファンディングを解読する: 初期段階のウェブサイトは変革に忙しく、収益モデルはまだ模索中

【概要】クラウドファンディングというレッテルを剥がす時期は過ぎ去り、本来のエクイティ型クラウドファン...

ウェブサイトのホームページの価値に影響を与えるいくつかの主要な要因の分析

ご存知のとおり、ウェブサイトを最適化して運用する過程で、ホームページはウェブサイト全体の中で最も重み...

アマゾン、10億ドル超でMicrosoft 365クラウドサービスを利用へ

10月18日、Business Insiderは内部文書と関係者の話として、マイクロソフトがクラウド...

#NewYearPromotion# dogyun: クラウド サーバーが 30% オフ、ルートが完全に最適化、香港\日本\韓国\米国\ドイツ\オランダ\ロシア

Dogyun は新年プロモーションを実施しており、新しいエラスティック クラウドが 30% 割引、新...

ウェブサイト構築におけるSEO最適化の考慮方法

SEO 最適化は、ウェブサイト構築の秘訣となっています。今日、顧客はオンライン マーケティングをます...

Baidu 検索でウェブサイトの ICO アイコンを表示する方法

ICO アイコンは、アイコン ファイルの略語です。Web サイト管理者にとって、Web サイトの I...

Weiboマーケティングには知られていないテクニックがあるのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスまず、Weiboマーケテ...

SEOデータ分析に関する簡単な説明:ウェブサイトのインクルージョンを改善する方法

SEOデータ分析は久しぶりですが、実際にSEOがどのように行われているのか、実践的な内容を書いてみよ...