Openstack Cinderマルチバックエンド


CinderはOpenstackにブロックストレージサービスを提供し、NovaおよびGlanceミラーストレージに永続的なストレージリソースを提供することができる.デフォルトの構成では、Cinderは1つのストレージバックエンド:lvmのみを提供します.しかし、クラウド環境では、ユーザーのストレージニーズは多様であり、典型的には容量型ストレージ、性能型ストレージなどがある.では、Cinderはこのようなニーズを満たすことができますか?答えはCinder Multi-backendを使うことです.

Cinderマルチバックエンド


Cinderは複数のバックエンドの構成をサポートし、各バックエンドはSATAディスクからなる容量ストレージプール、SAS/SSDディスクからなる性能ストレージプールとして構成することができ、従来のストレージアレイSANを使用して1つのストレージプールを構成することもでき、オープンソースSDSストレージ、例えばceph、glusterfsなどをバックエンドストレージとして使用することもできる.Cinderのマルチバックエンド機能は、完全なストレージソリューションを構築するために実行可能な方法を提供し、マルチバックエンドを構成すると、Openstackはバックエンドごとにcinder-volumeサービスを開始します.
各バックエンドは、プロファイル内で1つの構成グループで表され、各バックエンドにはvolume_backend_name=sasなどの名前があります.もちろん、バックエンドの名前は一意を保証する必要はありません.この場合、スケジューラは容量フィルタを使用して最適なバックエンドを選択します.また、バックエンド名に関連付けられたボリュームタイプを作成することもできます.ボリューム作成時にスケジューラは、ユーザーが指定したボリュームタイプに応じて適切なバックエンドを選択して要求を処理します.

マルチバックエンドの構成


cinderマルチバックエンドを有効にするには、/etc/cinder/cinderを構成する必要があります.confファイルのenable_backendsオプション.カンマで区切られた構成グループのリストを定義し、各構成グループがバックエンドに関連付けられます.各構成グループには、バックエンドのプロパティを構成するためのオプションのセットが含まれています.
次に、3つの構成グループの例を示します.
enable_backends =sata,sas,ssd
[sata]
volume_group=cinder-volumes-1
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=sata

[sas]
volume_group=cinder-volumes-2
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=sas

[ssd]
volume_group=cinder-volumes-3
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=ssd

注意:構成グループ名とバックエンド名(volume_backend_name)は関連付けられていません.両方を一致させることなく、構成グループ名とバックエンド名として合法的な文字列を取得できます.
例のvolume_driverオプションは、バックエンドで使用されるブロックデバイスドライバを指定するために使用され、Cinderは複数のストレージバックエンドをサポートします.詳細はvolume driversを参照してください.

ボリュームタイプの設定


各バックエンドにボリュームタイプを関連付けることができ、ボリュームを作成すると、スケジューラはボリュームタイプに応じて適切なバックエンドを選択してリクエストを処理できます.
次の例では、sataというボリュームタイプを作成し、sataというバックエンドに関連付けます.
#> cinder type-create sata
#> cinder type-key sata set volume_backend_name=sata

volume_backend_nameで指定したバックエンドは存在しません.ボリュームを作成すると、フィルタスケジューラは適切なバックエンドが見つからないエラーを返します.

ボリュームの作成


バックエンドとボリュームタイプの関連付けが完了すると、ボリュームを作成できます.もちろん、ボリュームタイプを指定することなく、スケジューラはデフォルトのボリュームタイプ(default_volume_typeで指定)を使用することもできます.
次の例では、サイズ10 Gのsataのボリュームを作成します.
#> cinder create-volume --volume-type sata --display_name sata1 10 

全体の配置過程はやはり比較的に簡単で、本文が入門したばかりのあなたに少し収穫を与えることができることを望みます.:-)