みなさんこんにちは。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産業優秀人物賞」を受賞
MaxCDN の料金とプランは何ですか?あの忌々しい Cloudflare を知っていますか?彼は「...
Pacificrack では現在、年間、2 年、3 年払いに限定した VPS の 25% 割引プロモ...
クラウド コンピューティング、その種類、サービス、用途、そして組織にどのようなメリットをもたらすかに...
多くのポータル、特にローカルポータルのホームページでは、百度の重みが6、Google PRが6となっ...
はじめに: Baidu が「トップ 10 リアルタイム ホットスポット」(Baidu ホームページの...
[[350152]] Forrester は 2021 年の一連の技術予測を発表しましたが、その中に...
クラウド移行の旅にまだ着手していない組織にとって、1 つ明らかなことは、傍観者でいる時間は終わったと...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスブランドは、常に生産者と...
[[359262]]今日の企業は、ビジネスと責任の面でますます大きなプレッシャーにさらされています。...
画像 SEO は、非テキスト コンテンツの最適化の一部です。一般的に、検索の約 15% ~ 20% ...
Baiduのアルゴリズムが何度も変更されるにつれて、これまで高く評価されていたSEO手法が軽視される...
インクルージョンは、ウェブサイトの最適化の度合いを測定するための重要な指標です。インクルージョンの品...
医療 SEO では、作業を最適化して促進するためにリンク構築が不可欠です。しかし、リンクや複数のアン...
今日グループでスクリーンショットを見て、とても興味深いと思ったので、下の写真のように、それを記事の冒...
新興インターネットビジネスの急増とビジネスデータの急速な増加により、クラウド ストレージ テクノロジ...