これは、Ubuntu14.04.2でのOpenStackKiloの2番目の部分– Cinderの構成です。このチュートリアルでは、Cinderサービスのストレージノードをインストールして構成します。デモの目的で、ディスク全体を占めるパーティション/ dev/sdb1を含むブロックストレージデバイス/dev/sdbを使用してこのストレージノードを構成します。
前提条件:
以下は、ストレージノードのネットワーク構成です。ストレージノードには、管理ネットワーク上に1つのネットワークインターフェイスがあります。
役割 | NWカード1 | NWカード2 | NWカード3 |
---|---|---|---|
ストレージノード | 192.168.12.24 / 24、GW =192.168.12.2 (管理ネットワーク) | NA | NA |
ブロックするノードのホスト名を設定します。
ホストエントリをコントローラノードからストレージノードにコピーし、それに以下を追加します。最終的な出力は次のようになります。
192.168.12.21 controller 192.168.12.22 network 192.168.12.23 compute 192.168.12.24 block
ストレージノードにNTPパッケージをインストールします。
# apt-get install ntp
以下の構成ファイルを編集します。
# nano /etc/ntp.conf
ファイルから他のNTPサーバーを削除し、「server」という単語で始まる行をハッシュします。以下のエントリを追加して、ノードをコントローラノードと同期させます。
server controller
NTPサービスを再起動します。
# service ntp restart
OpenStackパッケージ:
UbuntuCloudアーカイブキーリングとリポジトリをインストールします。
# apt-get install ubuntu-cloud-keyring # echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list
システムのリポジトリを更新します。
# apt-get update
必要に応じて、lvm2パッケージをインストールします。
# apt-get install lvm2
物理ボリューム/dev/ sdb1
を作成します# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
ボリュームグループvg_cinderを作成します。
# vgcreate vg_cinder /dev/sdb1 Volume group "vg_cinder" successfully created
/etc/lvm/lvm.confファイルを編集し、/ dev / sdbデバイスを受け入れ、他のすべてのデバイスを拒否するフィルターを追加します。
# nano /etc/lvm/lvm.conf
デバイスセクションで、変更
から
filter = [ "a/.*/ " ]
宛先
filter = [ "a/sdb/", "r/.*/" ]
Cinderコンポーネントのインストールと構成:
パッケージをストレージノードにインストールします。
# apt-get install cinder-volume python-mysqldb
/etc/cinder/cinder.confファイルを編集します。
# nano /etc/cinder/cinder.conf
以下の設定を変更し、適切なセクションにエントリを配置してください。セクションが存在しない場合はセクションを追加する必要があり、ファイルに欠落しているエントリをすべてではなくいくつか追加する必要がある場合もあります。
[DEFAULT] ... rpc_backend = rabbit auth_strategy = keystone my_ip = 192.168.12.24 ## Management IP of Storage Node enabled_backends = lvm glance_host = controller verbose = True [database] connection = mysql://cinder:password@controller/cinder ## Replace "password" with the password you chose for cinder database [oslo_messaging_rabbit] rabbit_host = controller rabbit_userid = openstack rabbit_password = password ## Replace "password" with the password you chose for the openstack account in RabbitMQ. [keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = cinder password = password ## Replace "password" with the password you chose for cinder user in the identity service ## Comment out or remove any other options in the [keystone_authtoken] section [lvm] volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver volume_group = vg_cinder iscsi_protocol = iscsi iscsi_helper = tgtadm ## Replace vg_cinder with your volume group. [oslo_concurrency] lock_path = /var/lock/cinder ## Comment out the lock_path in (DEFAULT) section.
ブロックストレージサービスを再起動します。
# service tgt restart # service cinder-volume restart
SQLiteデータベースファイルを削除します。
# rm -f /var/lib/cinder/cinder.sqlite
トラブルシューティング:
エラーがないかログを確認してください。
# cat /var/log/cinder/cinder-volume.log
以下のようなエラーの場合。
"Unknown column 'volumes.instance_uuid' in 'field list'") "Unknown column 'volumes.attach_time' in 'field list "Unknown column 'volumes.mountpoint' in 'field list'" "Unknown column 'volumes.attached_host' in 'field list'")
訪問:不明な列
以下のようなエラーの場合。
AMQP server on controller:5672 is unreachable: Too many heartbeats missed. Trying again in 1 seconds.
訪問:心拍数が多すぎます。
確認:
次のコマンドを実行して、APIバージョン2.0を使用するようにBlockStorageクライアントを構成します。
# echo "export OS_VOLUME_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
クレデンシャルをロードします。
# source admin-openrc.sh
サービスコンポーネントを一覧表示します。
# cinder service-list +------------------+------------+------+---------+-------+----------------------------+-----------------+ | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | +------------------+------------+------+---------+-------+----------------------------+-----------------+ | cinder-scheduler | controller | nova | enabled | up | 2015-07-07T20:11:21.000000 | None | | cinder-volume | block@lvm | nova | enabled | up | 2015-07-07T20:11:18.000000 | None | +------------------+------------+------+---------+-------+----------------------------+-----------------+
インスタンスにボリュームをアタッチします:
5GBの仮想ディスク「disk01」を作成し、コントローラーノードで次のコマンドを実行します。
# cinder create --name disk01 5 +---------------------------------------+--------------------------------------+ | Property | Value | +---------------------------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | consistencygroup_id | None | | created_at | 2015-07-07T20:18:34.000000 | | description | None | | encrypted | False | | id | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | | metadata | {} | | multiattach | False | | name | disk01 | | os-vol-host-attr:host | None | | os-vol-mig-status-attr:migstat | None | | os-vol-mig-status-attr:name_id | None | | os-vol-tenant-attr:tenant_id | 9b05e6bffdb94c8081d665561d05e31e | | os-volume-replication:driver_data | None | | os-volume-replication:extended_status | None | | replication_status | disabled | | size | 5 | | snapshot_id | None | | source_volid | None | | status | creating | | user_id | 127a9a6b822a4e3eba69fa54128873cd | | volume_type | None | +---------------------------------------+--------------------------------------+
利用可能なボリュームを一覧表示すると、ステータスが利用可能になります。
# cinder list +--------------------------------------+-----------+--------+------+-------------+----------+-------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+--------+------+-------------+----------+-------------+ | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | available | disk01 | 5 | None | false | | +--------------------------------------+-----------+--------+------+-------------+----------+-------------+
disk01ボリュームを実行中のインスタンス「My-Fedora」に接続します
# nova volume-attach MY-Fedora dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 +----------+--------------------------------------+ | Property | Value | +----------+--------------------------------------+ | device | /dev/vdb | | id | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | | serverId | 7432030a-3cbe-49c6-956a-3e725e22196d | | volumeId | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | +----------+--------------------------------------+
ボリュームを一覧表示すると、ステータスが使用中であることがわかり、My-FedoraのインスタンスIDに添付されている必要があります。
# cinder list +--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+ | dbd9afb1-48fd-46d1-8f66-1ef5195b6a94 | in-use | disk01 | 5 | None | false | 7432030a-3cbe-49c6-956a-3e725e22196d | +--------------------------------------+--------+--------+------+-------------+----------+--------------------------------------+
SSHを使用してMY-Fedoraインスタンスにログインし、fdisk-lコマンドを実行してディスクを一覧表示します。
# ssh -i mykey [email protected] Last login: Mon Jul 6 17:59:46 2015 from 192.168.0.103 [fedora@my-fedora ~]$ sudo su - [root@my-fedora ~]# fdisk -l Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xf1cc8d9d Device Boot Start End Sectors Size Id Type /dev/vda1 * 2048 41943039 41940992 20G 83 Linux Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
上記からわかるように、新しいディスク/ dev/vdbに5GBが追加されています。これは以前に添付したもので、現在はゲストOSに表示されています。
それで全部です。 Ubuntu 14.04.2でブロックストレージサービス(Cinder)を正常に構成しました