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産業優秀人物賞」を受賞

推薦する

次の5つのポイントで、ウェブサイトがダウングレードされる問題を解決できます

最近、ウェブサイトを構築するのはますます難しくなっています。Baidu のアルゴリズムは数日ごとに更...

reliablehostingservices-VPS 30% オフ/大容量ハードディスク/256M メモリ/20 ドル/年

ReliableHostingServices は 2010 年に設立されました。主な事業はホスティ...

百度の提携で勝利するのはどの医療・健康ウェブサイトでしょうか?

インターネットの発展に伴い、10年以上の蓄積を経て、ほとんどのウェブサイトは草の根時代の急成長を経験...

深センガスとテンセントはコラボレーションプラットフォームをアップグレードし、7,500人の従業員をカバー

深センのスマートガス建設は段階的に進展している。 1月12日、深センガスとテンセントはスマートコラボ...

中国インターネット20年:7つのウェブサイトドメイン名がついに歴史に

eName.cnは4月25日、中国のインターネットの過去20年間の発展において、Fanfou、372...

なぜ『老干媽』は宣伝もしていないのにベストセラーになっているのでしょうか?

老干媽は最近とても人気が出ていますが、その人気を支えたのは「南山ピザハット」と3つの「老千媽」です。...

Amazon Kinesis Data Streams の紹介

Amazon Kinesis Data Streams を使用すると、特定のニーズに合わせてストリー...

オンラインプロモーションは当たり前の慣行となっているが、オフラインプロモーションには依然として革新が必要である。

今日のインターネットは、その神秘性を失って久しい。過去数年間、インターネットについて語られると、ほと...

分散アプリケーションを簡単に作成

[[420515]]計算負荷の高いタスクに直面した場合、マルチプロセスに加えて分散コンピューティング...

ピークサーバー - 6.99ドル/KVM/フェニックス/1gメモリ/25gハードディスク/1Tトラフィック

最近、peakservers の広告が多数あり、さまざまな場所で見かけます。この会社についての紹介は...

SEO最適化と安定したキーワードランキングに関する私の操作の詳細について話し合います

周知のとおり、ウェブサイト最適化中のウェブサイトキーワードの安定性は、SEO担当者にとって非常に重要...

冷静に対処すれば、SEOから抜け出す方法はたくさんある

私は同僚が何に忙しいかを知るために、毎日 SEO ニュースをチェックすることに慣れています。もちろん...

コンテンツマーケティングとは何ですか?

「コンテンツ マーケティング」という 4 つの単語はそれほど深い意味はありませんが、その意味を明確に...