Cinder AKA OpenStackブロックストレージサービスは、永続ストレージをインスタンスにアドバタイズします。また、ボリュームを管理するためのインフラストラクチャを提供し、コンピューティングサービスと対話してボリュームを提供します。プロビジョニングおよび消費されるストレージの量は、ブロックストレージドライバーによって決定されます。NAS/ SAN、NFS、iSCSI、Cephなどのさまざまなドライバーを利用できます。
ブロックストレージAPIとスケジューラサービスは通常、コントローラーノードで実行されます。使用するドライバーに応じて、ボリュームサービスは、コントローラー、計算ノード、またはスタンドアロンストレージノードで実行できます。
このガイドは、コントローラノードにcinderをインストールして設定するのに役立ちます。このサービスには、インスタンスにボリュームを提供する少なくとも1つの追加のストレージノードが必要です。
コントローラーノードのインストールと構成:
rootユーザーとしてMySQLサーバーにログインします。
#mysql -u root -p
novaデータベースを作成します。
CREATE DATABASE cinder;
novaデータベースに適切な権限を付与します。
すべての特権をcinderに付与します。*TO'cinder'@'localhost' IDENTIFIED BY'password'; GRANT ALL PRIVILEGESONcinder。*TO'cinder'@'%' IDENTIFIED BY'password';
「パスワード」を適切なパスワードに置き換えます。 MySQLを終了します。
環境スクリプトから管理者クレデンシャルをロードします。
#source admin-openrc.sh
サービス資格情報を作成するためのcinderユーザーを作成します。
#openstack user create --password-prompt cinderUser Password:Repeat User Password:+ ---------- + ------------------- --------------- + |フィールド|価値|+---------- + ---------------------------------- + |メール|なし||有効|正しい|| id | f02a9693b5dd4f328e8f1a292f372782 ||名前|燃えがら||ユーザー名|燃えがら|+---------- + ---------------------------------- +
管理者の役割をcinderユーザーに追加します。
#openstack role add --project service --user cinder admin + ------- + -------------------------- -------- + |フィールド|価値|+------- + ---------------------------------- + | id | 33af4f957aa34cc79451c23bf014af6f ||名前|管理者|+------- + ---------------------------------- +
燃えがらサービスエンティティを作成します。
#openstack service create --name cinder --description "OpenStack Block Storage" volume + ------------- + ---------------- ------------------ + |フィールド|価値|+------------- + --------------------------------- -+ |説明| OpenStack Block Storage ||有効|正しい|| id | cc16bd02429842d694ccd4a425513cfc ||名前|燃えがら||タイプ|ボリューム|+------------- + --------------------------------- -+
#openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2 + ------------- + ---------------- ------------------ + |フィールド|価値|+------------- + --------------------------------- -+ |説明| OpenStack Block Storage ||有効|正しい|| id | 926e5dcb46654d228987d61978903b27 ||名前| cinderv2 ||タイプ| volumev2 | + ------------- + --------------------------------- -+
Block StorageserviceAPIエンドポイントを作成します。
#openstack endpoint create --publicurl http:// controller:8776 / v2 /%\(tenant_id \)s --internalurl http:// controller:8776 / v2 /%\(tenant_id \)s --adminurl http:// controller:8776 / v2 /%\(tenant_id \)s --region RegionOne volume + -------------- + ----------------- ---------------------------- + |フィールド|価値|+-------------- + -------------------------------- --------- + | adminurl | http:// controller:8776 / v2 /%(tenant_id)s || id | 4b38b10d227a48cfaf1d6356d23a6481 || internalurl | http:// controller:8776 / v2 /%(tenant_id)s || publicurl | http:// controller:8776 / v2 /%(tenant_id)s ||地域| RegionOne || service_id | cc16bd02429842d694ccd4a425513cfc || service_name |燃えがら|| service_type |ボリューム|+-------------- + -------------------------------- --------- +
#openstack endpoint create --publicurl http:// controller:8776 / v2 /%\(tenant_id \)s --internalurl http:// controller:8776 / v2 /%\(tenant_id \)s --adminurl http:// controller:8776 / v2 /%\(tenant_id \)s --region RegionOne volumev2 + -------------- + ----------------- ---------------------------- + |フィールド|価値|+-------------- + -------------------------------- --------- + | adminurl | http:// controller:8776 / v2 /%(tenant_id)s || id | dcf45538165b40f2a6736bcf5276b319 || internalurl | http:// controller:8776 / v2 /%(tenant_id)s || publicurl | http:// controller:8776 / v2 /%(tenant_id)s ||地域| RegionOne || service_id | 926e5dcb46654d228987d61978903b27 || service_name | cinderv2 || service_type | volumev2 | + -------------- + -------------------------------- --------- +
Cinder(Block Storage)コントローラーコンポーネントのインストールと構成:
次のパッケージをコントローラーノードにインストールします。
#apt-get install cinder-api cinder-scheduler python-cinderclient
/etc/cinder/cinder.confファイルを編集します。
#nano /etc/cinder/cinder.conf
以下の設定を変更し、適切なセクションにエントリを配置してください。セクションが存在しない場合はセクションを追加する必要があり、ファイルに欠落しているエントリをすべてではなくいくつか追加する必要がある場合もあります。
[database] connection =mysql:// cinder:password @ controller / cinder##「password」をcinderデータベース用に選択したパスワードに置き換えます [デフォルト]...rpc_backend =rabbitauth_strategy =keystoneverbose =Truemy_ip =192.168.12.21##コントローラーノードの管理IP [oslo_messaging_rabbit] rabit_host =controllerrabbit_userid =openstackrabbit_password =password##「password」をRabbitMQのopenstackアカウント用に選択したパスワードに置き換えます。 [keystone_authtoken] auth_uri =http:// controller:5000auth_url =http:// controller:35357auth_plugin =passwordproject_domain_id =defaultuser_domain_id =defaultproject_name =serviceusername =cinderpassword =password##「password」をcinderユーザー用に選択したパスワードに置き換えます。 IDサービス##[keystone_authtoken]セクションのその他のオプションをコメントアウトまたは削除します [oslo_concurrency] lock_path =/ var / lock / cinder ##(DEFAULT)セクションのlock_pathをコメントアウトします。
燃えがらデータベースにデータを入力します。
#su -s / bin / sh -c "cinder-manage db sync" cinder
サービスを再開します。
#service cinder-scheduler restart#service cinder-api restart
SQLiteデータベースファイルを削除します。
#rm -f /var/lib/cinder/cinder.sqlite
サービスを一覧表示します。警告は無視してかまいません。
#cinder-manageservicelistBinaryホストゾーンゾーンそれで全部です!!。次は、ストレージノードを構成します。
Ubuntu