9Tweetはじめに今回は、Keystone、Swift、Glanceに続けて、OpenStackのコアコンポーネントの1つであるCinderを紹介したいと思います。以前紹介したSwiftは、OpenStackに分散オブジェクトストレージを提供していました。それに対してCinderは、仮想マシンインスタンスがディスクドライブとして認識できるブロックストレージを提供します。Cinderが仮想マシンに提供するブロックストレージは、Novaが仮想マシンに提供する一時的なブロックストレージとは異なり、永続的です。サービスを参考にしてインストールを進めていきます。Cinderの構成図は以下のようになります。Cinderが使用するハードディスクは、VirtualBoxの仮想ハードディスクで作成し、以下のようになります。仮想ハードディスクを準備しようVirtualBoxに仮想ハードディスクを増設しましょう。仮想マシン(今回は「Ubuntu-Server-14043-Cinder」という名称です)の設定の中にある「ストレージ」をクリックします。SATA」をクリックし、赤枠部分のアイコンをクリックします。「新規ディスクの作成」をクリックします。Disk)」を選択し、「次へ」をクリックします。「可変サイズ」を選択し、「次へ」をクリックします。ハードディスクの名前とサイズはデフォルトのままで、「次へ」をクリックします。以下のように、仮想ハードディスクが作成されました。仮想マシンを起動させます。追加されたハードディスクが認識されていることを確認します。GiB)これで、ハードディスクの準備は終わりです。ユーザーとして接続します。その後Cinderのデータベースを作成し、アクセス権を付与します。パスワード入力を求められるので、今回は全てのパスワードをubuntuと入力します。password:作成したCinderのデータベースにログインし、データベースの閲覧が可能であることを確認します。quitBye管理者用の環境設定ファイルを読み込みます。~(admin)$cinderユーザーを作成します。|+-----------+----------------------------------+cinderユーザーが作成されたか確認します。サービスには二つのサービスエンティティーが必要なので、cinder、およびcinderv2を作成します。|+-------------+----------------------------------+cinder、およびcinderv2サービスエンティティーが作成されたか確認します。サービスはそれぞれのサービスエンティティーにエンドポイントが必要とされるので二つAPIエンドポイントを作成します。リージョンは、Keystoneをインストールしたときに設定したリージョン「RegionOne」を指定します。|+--------------+-----------------------------------------+一つ目のエンドポイントが作成されたか確認します。|+----------------------------------+-----------+--------------+--------------+---------+-----------+-----------------------------------------+二つ目のエンドポイントを作成します。リージョンは、上記と同様にKeystoneをインストールしたときに設定したリージョン「RegionOne」を指定します。|+--------------+-----------------------------------------+二つ目のエンドポイント作成されたか確認します。|+----------------------------------+-----------+--------------+--------------+---------+-----------+-----------------------------------------+Cinderと必要なパッケージをインストールします。python-cinderclientCinderを設定しようcinder.confの設定を行います。/etc/cinder/cinder.conf[DEFAULT]...#DEBUGレベルのロギングを有効にする。True#冗長ロギングを有効にする。True#認証サービスへのアクセス方法をKeystoneに設定する。/var/lock/cinder#使用するAMQPクライアントを設定する。rabbit#コントローラノードのIPアドレスを設定する。10.0.0.101#バックエンド名を設定する。controller[oslo_messaging_rabbit]#Rabbitサーバーのホスト名を設定する。controller#Rabbitサーバーへアクセスするユーザー名を設定する。openstack#Rabbitサーバーへアクセスするパスワードを設定する。ubuntu[oslo_concurrency]#ロックパスを設定する。/var/lib/cinder/tmp[database]#データベースのアクセス方法を設定する。mysql+pymysql://cinder:ubuntu@controller/cinder[keystone_authtoken]#Keystoneサービス用エンドポイントを設定する。http://controller:5000#Keystone管理用エンドポイントを設定する。http://controller:35357#パスワード認証に設定する。password#KeystoneのプロジェクトドメインIDを設定する。default#KeystoneのユーザードメインIDを設定する。default#Keystoneのプロジェクト名を設定する。service#Keystoneへアクセスするユーザー名を設定する。cinder#Keystoneへアクセスするパスワードを設定する。ubuntu[lvm]#LVMドライバ用を設定する。cinder.volume.drivers.lvm.LVMVolumeDriver#ボリュームグループを設定する。cinder-volumes#iSCSIプロトコルを設定する。iscsi#適切なiSCSIサービスを設定する。tgtadm次のコマンドを実行して正しく設定を行ったか確認します。tgtadmデータベースを初期化します。cinder以下のように表示されれば、正常です。doneCinderの設定を反映させるため、Cinderを再起動します。2871エラーが起きていないことをログで確認します。/usr/lib/python2.7/dist-packages/oslo_config/cfg.py:2235使用しないデータベースファイルを削除します。/var/lib/cinder/cinder.sqlite仮想ハードディスクを使用して、Cinderストレージにしよう上述した増設した仮想ハードディスクを使用します。物理ボリュームを作成します。created作成した物理ボリュームを確認します。HX28dl-QxZ4-E3mm-yyEs-ui2x-8rRZ-PPmeHxボリュームグループを作成し、物理ボリュームを割り当てます。created作成したボリュームグループを確認します。00bmwX-fwJJ-ZEmv-tvIm-aB2D-3cb2-bPUUwu/etc/lvm/lvm.confを編集し、LVMデバイススキャン時にcinder-volumesボリュームグループが含まれるデバイスのみを許可するフィルターを設定します。「r」から始まり、デバイスは正規表現で設定します。"r/.*/"]...次のコマンドを実行して正しく設定を行ったか確認します。]Cinderストレージの設定を反映させるために、Cinder-Volumeのサービスを再起動します。2673iSCSIターゲットの設定を反映するためにtgtサービスを再起動します。2723エラーが起きていないことをログで確認します。/usr/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:327Cinderの動作確認しよう管理者用の環境設定ファイルを読み込みます。Cinderサービスの一覧を表示し、正常に動作していることを確認します。|+------------------+----------------+------+---------+-------+----------------------------+-----------------+サイズをGB単位で指定し、Cinderのボリュームを作成します。|+---------------------+--------------------------------------+Cinderのボリュームが作成されていることとCinderのボリュームのIDを確認します。|+--------------------------------------+--------------+------+作成した論理ボリュームを確認します。252:2論理ボリュームが使用可能になっています。作成した論理ボリュームのスナップショットを取ってみましょう。|+---------------------+--------------------------------------+論理ボリュームを確認します。252:3論理ボリュームのスナップショットを取ることができました。CinderのボリュームのIDを確認します。|+--------------------------------------+------+作成したスナップショットを削除してみましょう。7cc7141d-3073-44f2-8822-0043ac5b4ba0スナップショットのIDを確認します。~(admin)$スナップショットは削除できました。Cinderのボリュームも削除できるか試してみましょう。accepted.CinderのボリュームのIDを確認します。~(admin)$Cinderのボリュームは削除できました。ボリュームグループは残っています。00bmwX-fwJJ-ZEmv-tvIm-aB2D-3cb2-bPUUwu論理ボリュームは削除できました。lvdisplay今度は、Glanceに登録されているイメージからボリュームを作成してみましょう。イメージIDを確認します。|+--------------------------------------+--------+cirrosイメージからボリュームを作成します。|+---------------------------------------+--------------------------------------+CinderのボリュームのIDを確認します。|+--------------------------------------+---------------+------+cirrosイメージから作成した論理ボリュームを確認してみましょう。252:2cirrosイメージから作成した論理ボリュームを削除してみましょう。accepted.cirrosイメージから作成した論理ボリュームのIDを確認します。~(admin)$cirrosイメージから作成した論理ボリュームは削除できました。おわりにKeystone、Swift、Glanceに引き続きでCinderの手動インストールを紹介しました。Cinderを活用することによって、インスタンスの使用幅が広がると思います!次回は、コアコンポーネントの1つNovaについてご紹介したいと思っています。今回も最後までお付き合いを頂き、ありがとうございました。9新年あけましておめでとうございます。3何故、それが読まれたか~上半期・エンジニアブログ閲覧数ランキング~2013.6.12「何」を知っているかではなく、「誰」が知っているか2013.5.28戦後、人間尊重の信念を貫きとおした1人の経営者がいた!2013.5.24健康な心が、健康な会社を作る。2iPhone5発売!LTE普及には切実な背景が...2012.9.12「だれを選ぶか」をまず決めて、その後に「何をすべきか」を決める。2012.8.17会社を回すのに大事な3つの感覚。7プロジェクトはたいてい失敗に終わるんです。6月刊『ニュートップリーダー』に記事掲載&"想いを語る夕べ"体験会やります!2012.1.31【第4回】想いを語る夕べ~フォロー編~2012.1.23タニタの社員食堂は"トップの想い"から生まれた!?2012.1.13【第3回】想いを語る夕べ~実施編~2011.12.27オフィスで簡単エクササイズ!2011.12.13【第2回】想いを語る夕べ~準備編~2011.11.24【第1回】想いを語る夕べ~誕生編~2011.11.17「責任感だけで仕事をしていた・・・。