燃えがらと迅速なOpenStackの違い、一瞥



Openstack Difference Cinder



トラブルシューティングガイド
1.燃えがらと違いがそれを早めたと思いますか?
二。燃えがらの単一障害点かどうか?
3.燃えがらはどのように進化しましたか?








openstackでは、このような問題が頻繁に発生しますが、cinderとswiftの違いは何ですか?

彼らの目的は何の燃えがらで迅速ですか?
石炭殻仮想マシンをハングアップするために使用されるメモリのブロックです。ハードディスクの拡張は、仮想マシンにリンクされたcindercreateボリュームの外にあります。 Fは、新しいコンポーネントCinderとは関係なく、Nova(Nova-Volume)の永続ストレージ機能ブロックの一部が分離される前のcinderOpenStackバージョンです。

迅速これはアップロードとダウンロードが可能なシステムであり、VMイメージの保存、バックアップとアーカイブ、写真や電子メールメッセージなどの小さなファイルなど、保存されているコンテンツを変更することはほとんどありません。より可能性の高い管理システム


ブロックストレージは、安全で信頼性が高く、高スループットと高同時実行性、低遅延、仕様が豊富で、ファイルシステム、データベース、または元のブロックデバイスシステムソフトウェアやアプリケーションのその他のニーズに対応する使いやすい機能です。



実際、多くの人はトップがあまり直感的ではないと感じています。個人的には、シンダーはパーソナルコンピュータのモバイルハードディスクとして理解でき、自由にフォーマットでき、すぐにアクセスできると考えています。
ネットワークディスクとしての迅速さのために、そして私はクラウド技術の学生にとって、ネットワークディスクへのいくつかの頻繁に使用されるコンテンツが非常に不便であるならば、ネットワークディスクは奇妙であるべきではないと思います。

スイフトかシンダーか?そして、いつ使用するのですか?
Swift still Cinder:では、どのような種類のオブジェクトストレージを使用する必要がありますか?答えはアプリケーションによって異なります。商用またはレガシーアプリケーションを実行する必要がある場合、この選択を実行する必要はめったにありません。これらのアプリケーションは、Swift APIを利用するようにコーディングすることはできませんが、Cinderディスクを簡単にマウントでき、ほとんどのアプリケーションに直接接続されたストアのように動作します。
もちろん、Cinderの新しいアプリケーションを使用することもできますが、Swiftの自動付属機能の柔軟性と冗長性のメリットはありません。プログラマーがこの課題に直面した場合、Swiftの分散型でスケーラブルなアーキテクチャーは検討に値する機能です。


単一障害点
Swiftは分散アーキテクチャであり、単一障害点と水平スケーリングを防止します。
燃えがらの単一障害点はまだ解決されていません




さらに、次のibmデータベースから:


ブロックストレージ(Cinder)
Cinderはプロジェクト名OpenStackBlock Storageであり、ゲスト仮想マシン(VM)として永続的なブロックストレージを提供します。スケーラブルなファイルシステム、最大のパフォーマンス、統合の条件、およびネイティブのブロックレベルのエンタープライズストレージサービスに格納されているアプリケーションにアクセスする必要がある場合、通常、ブロックストレージが必要です。
システムが公開され、デバイスに接続されてから、サーバーに接続およびサーバーから切り離されるサーバー管理サーバーが作成される場合があります。アプリケーションプログラミングインターフェイス(API)は、多数のブロックストレージをバックアップできるスナップショット管理の強化にも役立ちます。




オブジェクトストレージ(Swift)

Swiftは、より成熟した2つの製品です。OpenStackは、その開始以来、コアプロジェクトでした。 Swiftは分散型のアクセス可能なストレージプラットフォームAPIと同様に機能し、アプリケーションに直接統合したり、VMイメージ、バックアップ、アーカイブ、写真や電子メールメッセージなどの小さなファイルを保存したりできます。

オブジェクトストアオブジェクトとコンテナの2つの主要な概念があります。

オブジェクトストレージが主要なエンティティです。すべてのオプションのOpenStackObject StorageSystemに保存されているオブジェクトファイルのコンテンツと関連するメタデータに含まれています。非圧縮データは、オブジェクト名、すべてのコンテナー、およびメタデータオブジェクトのキーペアを含む、暗号化されていない形式で保存されます。 Swiftは、データセンター全体の複数のディスクに分散されたオブジェクトを使用して、レプリケーションとデータの整合性を確保できます。スケーラビリティ、冗長性、および耐久性を強化しながら、商用ハードウェアを使用することにより、運用を低コストで分散できます。

コンテナのようなWindows®フォルダ。コンテナは、ファイルのセットを格納するためのストレージコンパートメントです。コンテナをネストすることはできませんが、テナントの場合、無制限の数のコンテナを作成できます。オブジェクトはコンテナに格納する必要があります。オブジェクトの格納に使用するコンテナが少なくとも1つ必要です。

従来のファイルサーバーとは異なり、Swiftは複数のシステムに分散されています。各オブジェクトの冗長コピーを自動的に保存するため、可用性とスケーラビリティが最大化されます。オブジェクトのバージョン管理は、データまたはカバレッジの偶発的な損失に対する追加の保護を提供します。


Swiftアーキテクチャ



Swiftアーキテクチャは、サーバーとプロセスループの3つのコンポーネントで構成されています。

サーバSwiftは分散アーキテクチャであり、すべての単一障害点であり、水平方向の拡張を防ぎます。これには4つのサーバーが含まれます。
  • プロキシサーバー
  • オブジェクトサーバー
  • コンテナサーバー
  • アカウントサーバー

プロキシサーバーは、OpenStack ObjectStorageアーキテクチャーの残りの部分に統合されたインターフェースを提供します。コンテナの作成、ファイルのアップロード、またはメタデータリクエストの変更を受け取り、ファイルコンテナのリストを提供したり、保存された表示を表示したりすることもできます。プロキシサーバーは、要求を受信すると、リング内のアカウント、コンテナー、またはオブジェクトの位置を判別し、関連するサーバーに要求を転送します。
Object Serverはシンプルなサーバーであり、管理するデバイス(通常はファイル)に保存されているオブジェクトをアップロード、変更、および取得できます。オブジェクトはローカルファイルシステムに保存され、拡張属性を使用するとすべてのメタデータが保存されます。ハッシュとタイムスタンプオブジェクト名に基づくパス。
Container Serverは、基本的にディレクトリオブジェクトです。それに特定のコンテナ処理オブジェクトを割り当て、要求に応じて船舶のリストを提供します。冗長性を提供するために、リストをクラスター全体に複製できます。
オブジェクトストレージサービスを使用してアカウントを管理することによるアカウントサーバー。その操作は、コンテナ内のサーバーのリストを提供するのと似ています。この場合、アカウントを指定してコンテナに割り当てられたものを列挙します。

処理するコピーサービス、監査手順(監査人)、更新(アップデーター)など、データストレージを管理するための事前定義された内部管理プロセスがいくつかあります。
レプリケーションサービスはプロセスに不可欠です。クラスター全体の一貫性と可用性を確保します。分散ストレージに格納されているオブジェクトの主な魅力であるため、コンポーネントの障害や電源の障害などの一時的なエラー状態で一貫したOpenStack状態を確保する必要があります。データのローカルコピーとリモートコピーを定期的に比較し、これを行うためにすべてのコピーに最新バージョンが含まれていることを確認することによるレプリケーションサービス。
比較を実行するために必要なネットワークトラフィックの量を最小限に抑えるために、サービスは各パーティションセグメントのハッシュ(ハッシュ)を作成し、これらのリストを比較します。コンテナとアカウントを使用してハッシュをコピーすることもできますが、これらの最高水準点(最高水準点)のハッシュによって補足されました。通常、実際の更新がプッシュされますrsyncオブジェクト、コンテナ、およびアカウントをコピーします。
オブジェクト、コンテナー、またはアカウントを削除すると、レプリケーター(レプリケーター)に一貫性のあるデータ削除ガベージコレクションが実装されます。削除すると、システムは画像のトゥームストーンを使用して最新バージョンをマークします。これは、レプリケーターがすべての重複ノード、シグナルコンテナー、またはアカウントからオブジェクトを削除できることを示します。
最高のコピー設計であっても、アセンブリの実現の有効なコピーを所有している場合にのみ、ハードウェア障害またはソフトウェア障害、あるいは製品機能の欠如のために、実稼働環境はこれらの障害を再現できなければなりません。 Swiftでは、この操作は更新および監査手順によって実行され、完了します。
アップデートは、システムに障害が発生したときにシステムの整合性を確保する責任があります。コピーサービスで問題が発生し、更新できないか、コンテナアカウントがない場合、オブジェクトはストアに存在しますが、サーバーにリストされているすべてのコンテナまたはアカウントではありませんが、その間、時間の経過とともに一貫性がなくなります。この場合、システム更新はローカルファイルシステムのキューに入れられ、定期的に更新されるプログラムが更新を再試行します。
監査手順は、この不整合に対して追加レベルの保護を提供します。彼らは定期的にローカルリポジトリをスキャンし、アカウント、コンテナ、オブジェクトの整合性を検証します。損傷を確認したら、要素分離監査プログラムを実行し、別のレプリカからのコピーと交換します。調整不可能な不整合が見つかった場合(たとえば、オブジェクトがどのコンテナにも属していない場合)、監査手順はエラーをログファイルに記録します。
リングOpenStackユーザーおよびその他のプロジェクトは、ロジックストレージエンティティ名に従って参照されますが、最終的には、読み取りまたは書き込みのいずれかのすべてのリクエストを物理的な場所にマッピングする必要があります。この操作を実行するには、プロキシサーバーとバックエンドプロセス(レプリケーションサービスを含む)が論理名を物理的な場所にマップできる必要があります。このマッピングはループ(リング)と呼ばれます。アカウント、コンテナ、およびオブジェクトを個別のリングで。このマッピング、パーティション、およびコピー領域を説明するためのリング装置。
このコンテキストでは、パーティションという用語は、リングロジックに格納されたコンテンツのサブセットを指します。配電設備に関係するパーティションごとに100の推奨事項。 OpenStack ObjectStorageに割り当てられたすべてのデバイスに均等に分散されたパーティション。クラスタが異なるドライブサイズを使用している場合、各デバイスのパーティションの分散のバランスを取るために、再割り当てされる権利が存在する可能性があります。
デフォルトでは、各パーティションは3回複製できます。可用性を最適化するためにより高い数値を使用する場合がありますが、これにより明らかにストレージ消費量が増加します。リングは、ワークロードを引き継ぐ機器の障害シナリオと、デバイスをクラスターに追加したり、デバイスを削除したりするときにパーティションを再割り当てする方法も指定します。
最後の要素はリングマップエリアであり、アフィニティとカウンターアフィニティを有効にするために使用されるデータです。ゾーンは、ストレージデバイス、サーバー、またはラック、チャネル、データセンターなどの物理的な場所を表す場合があり、ユーザーエリアが利用可能です。彼らのニーズを満たすための論理的な概念ですが、一般的には、位置、電源、ネットワーク接続などの物理的要素を反映しています。

燃えがらのアーキテクチャ
Cinderは、オブジェクトの自動配布とレプリケーションを提供しないため、Swiftよりもはるかに単純です。図1は、Cinderのアーキテクチャーを示しています。
燃えがらのアーキテクチャ図。






他のOpenStackプロジェクトと同様に、APIを介してインストルメントパネルとコマンドラインにアクセスするCinder機能。保存されているオブジェクトにアクセスするためのHTTPAPIを使用し、名前を使用して名前を付けることで、状態転送(Representational State Transfer、REST)を行うことができますAuth ManagerPythonクラスは、OpenStackKeystoneに対して認証されます。
APIはすべての着信要求を解析してメッセージキューに転送し、スケジューラサーバーはワークキュー内の実際のボリュームを実行します。新しいボリュームを作成すると、スケジューラーはどのホストがボリュームの処理を担当するかを決定します。デフォルトでは、使用可能なスペースが最も多いノードが選択されます。
ボリューム管理プログラムは、追加のブロックストレージデバイスを動的に管理します。これらのデバイスは、ボリュームとも呼ばれます。これらは、イニシエーター仮想インスタンスとして使用することも、補助ストレージとして追加することもできます。 Cinderは、スナップショット(ボリュームの読み取り専用コピー)用のデバイスも提供します。次に、これらのスナップショットを使用して、読み取りと書き込みに使用する新しいボリュームを作成できます。
ボリュームは通常、iSCSIを介して計算ノードに接続されます。ブロックストレージには、何らかの形式のバックエンドストレージも必要です。デフォルトでは、論理ボリューム管理バックエンドストレージはローカルボリュームグループ上にありますが、ドライバーアレイまたは外部ストレージデバイスに拡張することによって。

セットアップ実際のインストール手順は、リリースバージョンとOpenStackバージョンで大きく異なります。通常、これらはリリースの一部として使用できます。ただし、同じ基本的なタスクを実行する必要があります。このセクションでは、関連する概念を紹介します。
システム要求OpenStackは64ビットx86アーキテクチャーに依存しています。さらに、商用ハードウェア向けに設計されているため、システム要件が非常に低くなっています。ディストリビューションに含まれる単一アイテムのOpenStack8GBRAMでシステム全体を実行できます。ただし、大規模なワークロードの場合、専用ストレージシステムがクリティカルを達成する必要があります。商用機器に重点を置いているため、独立ディスクの冗長アレイ(独立ディスクの冗長アレイ、RAID)機能は必要ありませんが、少なくとも2つの4コアCPU、8〜12 GB、1 GBのRAM、およびネットワークアダプターを使用します。賢明な動き。明らかに、ハードディスクまたはソリッドステートディスクの冗長性レベルのサイズは、保存するデータの量と希望によって異なります。

インストールリリースに応じたインストール手順、より具体的には、選択したパッケージ管理ユーティリティに応じたインストール手順。多くの場合、リポジトリを宣言する必要があります。したがって、たとえば、Zypperを使用している場合、libzyppに対してオープンなzypperを使用する必要があります。
リストを表示するにはクリックしてください 次に、インストールやCinderパッケージにSwiftが必要です。パッケージ管理ユーティリティは、すべての依存関係を自動的にインストールする必要があります。インストール手順全体は、必要な構成とOpenStackの正確なバージョンによって異なります。インストールガイドの信頼できる手順を必ず確認してください。デモンストレーションの目的で、以下に適切なDebian(Ubuntuなど)、Red Hat(RedHatEnterpriseLinux®、CentOS、Fedoraなど)およびいくつかの主要なものを示します。 openSUSEのコマンド。

Debian :Swiftはすべてのホストに基本パッケージをインストールしました:
  1. sudo apt-get install python-swift
  2. sudo apt-get install swift
  3. およびそれらを実行するホスト上のサーバー固有のパッケージ:
  4. sudo apt-get install swift-auth
  5. sudo apt-get install swift-proxy
  6. sudo apt-get installswift-account
  7. sudo apt-get installswift-container
  8. sudo apt-get install swift-object
コードをコピーする

Cinderパッケージには、APIとボリューム管理プログラムスケジューラが含まれています。
  1. sudo apt-get install cinder-api
  2. sudo apt-get install cinder-scheduler
  3. sudo apt-get install cinder-volume
コードをコピーする
Red Hat :Red Hatシステムでは、次のコマンドを使用します。
  1. sudo yum install openstack-swift
  2. sudo yum install openstack-swift-proxy
  3. sudo yum install openstack-swift-account
  4. sudo yum install openstack-swift-container
  5. sudo yum install openstack-swift-object
  6. sudo yum install openstack-swift-doc
  7. sudo yum install openstack-cinder
  8. sudo yum install openstack-cinder-doc
コードをコピーする



openSUSE :次のコマンドを使用します。
  1. sudo zypper install openstack-swift
  2. sudo zypper install openstack-swift-auth
  3. sudo zypper install openstack-swift-account
  4. sudo zypper install openstack-swift-container
  5. sudo zypper install openstack-swift-object
  6. sudo zypper install openstack-swift-proxy
  7. sudo zypper install openstack-cinder-api
  8. sudo zypper install openstack-cinder-scheduler
  9. sudo zypper install openstack-cinder-volume
コードをコピーする
構成

OpenStack Object Storageのインストールの構成には、パッケージ4つのパッケージごとにカスタマイズされた構成ファイルが含まれます。
  • account-server.conf
  • container-server.conf
  • object-server.conf
  • proxy-server.conf
構成ファイルは/ etc / swift / inにインストールされます。デフォルトのオプションセットは標準インストールで適切に機能しますが、特別なニーズがあり、構成を編集する必要があります。

使用するシーンOpenStackストレージの使用方法を学ぶために、シナリオを想像してください。このシナリオでは、ファイルシステムと新しいコードを使用して、ファイルシステムに保存されている分散オブジェクトと新しいコードを使用するレガシーソフトウェアを実行するサービスがあります。このプロジェクトの環境には、SwiftとCinderが含まれている必要があります。まず、Cinderを見てみましょう。

メンバーの役割を持つユーザーOpenStackダッシュボードにログオンします。


ナビゲーションパネルの[コンピューターの管理]で、[ボリューム]> [ボリュームの作成]をクリックします。



図2.ボリュームの作成




プロジェクトのリストにボリュームが表示されます。
図3.プロジェクトの量





添付ファイルを編集して、計算例に接続されているボリュームを作成します。
4.FIGボリューム管理アタッチメント



OpenStackは、一意のiSCSI修飾名を作成し、現在アクティブなiSCSIセッションがある計算ノードに表示します。インスタンスが論理ストレージ(通常は/ dev / sdXディスク)の場合、Cinderボリュームを使用できます。

プロジェクトにSwiftを使用するには、最初にコンテナーを作成する必要があります。
メンバーロールを持つユーザーとしてOpenStackDashboardにログインし、ObjectStoreナビゲーションパネルで[Containers]> [CreateContainer]をクリックします。 図5.コンテナーの作成



これは単純な操作であり、データは含まれません。名前だけです。コンテナにある場合、通常、オブジェクトを使用し、プログラミングインターフェイスを使用して必要に応じてコンテナを取得するアプリケーションによってコンテナが満たされます。 図6の充填された容器。



ただし、ダッシュボードからオブジェクトをアップロードすることもできます。オブジェクトストアで、[コンテナ]> [オブジェクトのアップロード]をクリックし、保存されたコンテンツを含むファイルを提供します。 図7.オブジェクトのアップロード

7.jpg (130.7 KB、ダウンロード:23)

添付ファイルをダウンロードする アルバムに保存



2014-11-1710:50アップロード



インターフェイスを使用して、オブジェクトをダウンロード、コピー、または削除することもできます。さらに追加:


迅速 -Amazon S3サービスと概念が似ているオブジェクトストア(オブジェクトストレージ)を提供しますが、swiftは強力なスケーラビリティ、冗長性、耐久性を備えており、S3APIとも互換性があります
一目 -保存および管理される仮想マシンイメージ(イメージ)を提供し、AmazonAMIカタログと同様の多くの機能が含まれています。 (最初の実用的な観点からの背景データを一瞥すると、Swiftにあります)。
石炭殻 -メモリブロック(ブロックストレージ)の提供は、Amazon EBSブロックストレージサービスに似ており、現在は仮想マシンのマウントにのみ使用されています。
(Amazonは幻想の反対者であり、OpenStack Objectの設計開始に挑戦しているため、基本的に主要な機能モジュールには対応するプロジェクトがあります。AWSEC2サービスにとって重要な上記の3つのコンポーネントに加えて、OpenStackNovaはEC2 APIと互換性を保持し、実装するさまざまな方法があります)
3つのコンポーネント、主にGlance仮想マシンのイメージ管理。オブジェクトはすでに非常に成熟しているため、比較的単純なSwiftであり、CloudStackでもサポートされています。シンダーブロックストレージは比較的新しく、新しいデザインコンセプトは優れており、商用ストレージと組み合わせる機会があるため、メーカーはより積極的になります。

Swiftがフィールドに表示されます
Swiftのアーキテクチャとディスカッションの展開については、公式Webサイトに加えて、多くのオンライン記事がありますが、ここでは繰り返しません。 (私はまた、上海ステーションプレゼンテーションPPTでの中国でのOpenStackアクティビティの前に読みました)。開発の観点からは、最近の構造調整はあまりないので、主な応用分野の方が適しているとお話ししたいと思います。

実際のケースの観点から私が理解していることから、フィールドSwiftは4つ登場しています(もっとあるはずですが、実際のユースケースのアドバイスをご覧いただければ幸いです)
1.ネットワークディスク。
Swift対称分散アーキテクチャとマルチプロキシマルチノード設計は、大規模なマルチユーザー同時モードであるアプリケーションに適した遺伝子から生まれました。これは、Dropboxに似たネットワークアプリケーションよりも最も一般的なアプリケーションであり、Dropboxは昨年末にすでに終了しています。 100万人を超えるユーザー数、このサイズへのアクセス、優れたアーキテクチャはの根本原因をサポートすることができます。
Swift対称アーキテクチャにより、データノードは論理的に同じレベルになり、各ノードにはデータとメタデータが関連付けられます。また、ハッシュリングを使用したメタデータのコアデータ構造、ノードを増減するコンシステントハッシュアルゴリズムは、データ再配置ループスペースのごく一部であり、優れた障害耐性とスケーラビリティを備えています。さらに、データはステートレスであり、ディスクストレージ上の各データは完全です。これらのポイントを組み合わせることで、ストレージ自体のスケーラビリティが向上します。
さらに、アプリケーションと組み合わせて、Swiftは、HTTPプロトコルが言語であり、インタラクティブなアプリケーションとストレージをシンプルにし、基盤となるインフラストラクチャの詳細を考慮する必要がなく、アプリケーションソフトウェアに全体的な変更を加える必要がないと述べました。システムは非常に大幅に拡張されました。

2.IaaSパブリッククラウド
線形設計の迅速な拡張、高い同時実行性とマルチテナントサポート、およびその他の機能により、IaaS、大規模なパブリッククラウドの選択、このケースを開始するための並行仮想マシンのより多くの経験として非常に適しています。特に保存された仮想マシンイメージ、課題は実際には(Gを超える)大規模な同時読み取りパフォーマンスデータであり、最初はバックグラウンドイメージライブラリとして保存され、次のOpenStackSwiftの後に数千台のマシンの展開のサイズでRACKSpace長年の実践により、Swiftは成熟した選択肢であることが証明されています。
また、トップベースのIaaS SaaSサービスを提供する場合、マルチテナントは避けられない問題です。アーキテクチャ自体はマルチテナントをサポートするようにSwiftで設計されているため、ドッキングがより便利です。
3.バックアップアーカイブ
RackSpaceの主な事業はアーカイブされたデータのバックアップであるため、Swiftは現場で実証されていますが、新しい事業である「ホットアーカイブ」も拡張しています。ロングテール効果により、時間枠データは、アプリケーションが数時間で回復できることを保証するために、ますます長く、ホットなアーカイブデータアーカイブを呼び出す可能性があります。従来のテープアーカイブソリューションは、大きなものです。踏み出す 。

4.モバイルインターネットとCDN
インターネットや携帯電話のゲームは大量のユーザーデータを生成します。データ量はそれほど多くはありませんが、多くのユーザーがいます。これはSwiftエリアで処理できます。

CDN plusとして、Swiftを使用すると、クラウドストレージはモバイルデバイスに直接応答できます。リクエストに応答する特別なHTTPサーバーはありません。データ送信では、モバイルデバイスのファイルシステムを直接HTTPで通過する必要はありません。クラウドをアップロードするためのプロトコル。プラットフォームが頻繁にキャッシュされたデータアクセスである場合、特定の最適化メカニズムの使用、さまざまな場所からのデータをそこでユーザーに配布できるため、アクセス速度を向上させることができます。最近、Swift開発コミュニティがビデオとWebの組み合わせについて話し合っているのを見ました。アプリケーションとSwift、そして私は謙虚に注目に値する方向性であると信じています。

一目
Glanceは比較的単純で、仮想マシンのイメージストレージです。フロントエンドnova(またはインストールされている他の仮想管理プラットフォームGlance-client's)は、ストレージ、クエリ、取得などのミラーサービスを提供します。モジュール自体は大量のデータを保存しません。実際の画像データを保存するためにバックグラウンドストレージ(Swift、S3 ...)をマウントする必要があります。

Glanceには、次のセクションが含まれています。
1.APIサービス:glance-apiは、主にさまざまなNova api呼び出し要求を受け入れるために使用され、要求はRBMQバックグラウンド処理を配置するために渡されます。

2.メタデータミラーを相互作用、保存、または取得するためのGlacne-registryおよびMySQLデータベース、Swiftに記載されている注記、ストレージサーバーのSwiftは保存されたメタデータではありません。メタデータは、メタデータに関する情報の一部をミラーリングするMySQLデータベースに保存されます。一瞥。

3.イメージストア:バックステージストレージインターフェイス。ミラーイメージを介して利用できます。背景はデフォルトのストレージマウントSwiftですが、他のミラーリングAmazonS3などもサポートしています。

いくつかの点で、Glanceは仮想ストレージに少し似ており、APIも提供しているため、より完全な画像管理機能を実現できます。したがって、理論的には、他のクラウドプラットフォームで使用できます。

比較的シンプルで限られた内部クラウドを一瞥するので、これ以上議論することはできません。Cinderから新しいブロックストレージコンポーネントを確認することをお勧めします。現在、Cinderに関する私の基本的な見解は、全体的な設計、機能が優れており、必要な詳細がたくさんあります。少し離れたところから成熟した製品を改善します。

石炭殻
F OpenStackのバージョンを比較的大きな変更に変更しました。その1つは、新しいコンポーネントCinderとは関係なく、前のセクションNovaの永続メモリ機能ブロック(Nova-Volume)で分離されています。 APIを使用してサービスを提供するために、さまざまなバックエンドストレージ、ブロックストレージインターフェイスを外部に統合することで、メインコアはボリュームの管理であり、ボリューム、ボリュームのタイプ、スナップショットボリュームを処理できるようにします。 。

燃えがらは3つの主要なコンポーネントで構成されています

APIサービス:Cinder-apiは、外部のAPIリクエストの受信と処理を担当するプライマリサービスインターフェースであり、リクエストはRabbitMQキューに入れられ、バックエンドの実行に渡されます。 Cinderは現在VolumeAPIV2を提供しています

スケジューラサービス:タスクキュータスクを処理し、タスクを実行するための所定の戦略に従って適切なボリュームサービスノードを選択します。現在のバージョンのcinderは、シンプルスケジューラのみを提供します。最小数のスケジューラが、アクティブノードのボリュームを選択してボリュームを作成します。

ボリュームサービス:サービスは、ストレージノード、ストレージ管理、メンテナンスステータス列の燃えがらデータベースで実行され、読み取りおよび書き込み要求、メッセージキューを処理し、ストレージデバイスまたはソフトウェアブロック上の他のプロセスと直接対話します。各ストレージノードにはボリュームサービスがあり、そのようないくつかのストレージノードが一緒になってストレージリソースのプールを構成できます。

さまざまなタイプとモデルのストレージをサポートするために、指定されたドライバーにさまざまなベンダーを追加してシンダーします。現在、商用ストレージ機器をサポートしていますEMCとIBMはいくつかありますが、ローカルストレージのLVMサポートとNFS NASストレージプロトコルのサポートを通じてもサポートされているため、Huaweiも取り組んでいるように、NetappのNASは問題ありません。 IBMのGPFS分散ファイルシステムは、将来のバージョンでこれまでに追加される必要があり、Attachが必要な仮想マシンインスタンスボリュームを提供するNova CinderのOpenstackの主要な内部相互作用が、理論的にはブロックストレージのみを外界に提供できます。


展開時に、3つのサービスを単一のサーバーに展開できます。また、異なる物理ノードに個別に展開することもできます。
現在、Cinderはまだ十分に成熟しておらず、いくつかの明らかな問題がまだ解決されていません。1つのコモディティストレージが十分でなく、FC SANをサポートしていません。別の単一障害点のリスクが解決されておらず、内部スケジュールスケジューリングアルゴリズムが単純すぎます。別の管理レイヤーが付属しているため、さまざまなストレージ統合に加えて、解決策はありますが、効率は確かに影響力があり、パフォーマンスが低下するはずですが、これは方法ではありません。

Openstackは、2年以上の開発により、ますます巨大になっています。現在、光ストレージには、オブジェクトストレージ、イメージストレージ、ストレージブロックの3種類があります。これは、オープンソースプロジェクトの柔軟で高速な特性を反映して、より多様なニーズを満たすためでもあります。一般に、将来を考慮してストレージシステムを選択する場合、複数のアプリケーションで一般的に使用されるため、長期的な決定と見なす必要があります。オープンシステムとしてのOpenstack、最も重要なのはハードウェアとソフトウェアのベンダーロックインの問題を解決することです。いつでも新しいハードウェアサプライヤーを選択できます。新しいハードウェアと既存のハードウェアハイブリッドクラスター、統合管理はもちろんです。ソフトウェアテクノロジーサービスプロバイダーに置き換えられました。アプリケーションを移動しないでください。これがオープンソース自体の利点です!

元のリンク:http://www.aboutyun.com/thread-10060-1-1.html