4 ノード スタックに OpenStack Mitaka をインストールして構成しようとしています。1 つのコントローラー、1 つのコンピューティング、1 つのブロック ストレージ、および 1 つのオブジェクト ストレージ。ブロック ストレージ ノードを作成しようとすると、ダッシュボードからボリュームを作成できません。ベース OS は Ubuntu 14.04 で、前述のように OpenStack の Mitaka リリースです。
コントローラーノードの cinder.conf は次のとおりです。
[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = tgtadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.11
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iscsi
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = *********
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = **********
[database]
connection = mysql+pymysql://cinder:********@controller/cinder
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
Cinder (ブロック ストレージ) ノードの cinder.conf は次のとおりです。
[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = tgtadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.41
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = **********
enabled_backends = lvm
glance_api_servers = http://controller:9292
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = ********
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[database]
#connection = mysql+pymysql://cinder:*******@controller/cinder
connection = mysql+pymysql://cinder:*******@controller/cinder
#connection = mysql://cinder:******@controller/cinder
[api_database]
connection = mysql+pymysql://cinder:*******@controller/cinder_api
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
ボリューム作成後のステータスは「エラー」です。これは、コントローラーノードのcinder-scheduler.logファイル内に表示されるエラー行です。
2016-09-07 17:14:22.291 10607 ERROR cinder.scheduler.flows.create_volume [req-272c5387-a2e3-4371-8a14-8330831910d0 a43909277cbb418fa12fab4d22e0586c 64d180e39e2345ac9bbcd0c389b0a7c4 - - -] Failed to run task cinder.scheduler.flows.create_volume.ScheduleCreateVolumeTask;volume:create: No valid host was found. No weighed hosts available
これは、私が信じているエラー メッセージの最も重要な部分です。
volume:create: 有効なホストが見つかりませんでした。重み付けされたホストは利用できません
コントローラーノードからコマンド「cinder service-list」を実行すると、次の出力が得られます。
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller | nova | enabled | up | 2016-09-07T22:13:11.000000 | - |
| cinder-volume | cinder | nova | enabled | up | 2016-09-07T22:13:30.000000 | - |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
ホスト名がcinderであることに注意してください。Mitaka のインストール ガイドでは、ホスト名は block1@lvm です。なぜ私のものが違うのか、それが関連しているのかどうかはわかりません。それは興味深いものであり、おそらく私の問題の手がかりであることがわかりました。
このことから、Cinder ノードとコントローラー ノードは相互に「認識」または通信できると思われます。Cinder ノード内で lvm を適切に構成したと思います。念のため、lvm.conf ファイルのフィルター セクションを次に示します。
filter = [ "a/sda/", "a ...
このすべてが言われています。パーティション/ハードドライブのフォーマットの問題だと思います。または、rabbitmq (メッセージング サービス) の問題です。私はCinder ノードに rabbitmq-server をインストールしていますが、これはガイドが設定した方法ではないことがわかっています。つまり、おそらく間違っています。私が今やろうとしているのは、Cinder Nodeから rabbitmq-server を削除することです。私が直面すると思われる問題は、Cinder NodeとController Nodeがお互いを「認識」しないことです。その場合、現在実行している 3 つのノードのいずれかの cons ファイルに何か問題があるのでしょうか? 現在実行中の 3 つのノードは、Controller、Compute、および Cinder です。
皆さんの考えを教えてください。コンスファイルに問題がある場合は、教えてください。最後の段落は、私の考えとプロジェクトの現状を説明するためにあります。私のロジックに誤りがある場合、または問題を解決するためのより良い方法があると思われる場合は、私は完全に耳を傾けます!
みんな、ありがとう!