1. Compute节点/var/log/nova-compute.log报错
There was a conflict when trying to complete your request.\n\n Conflicting resource provider name: compute already exists.
解决方式:
停止nova-compute服务
sudo systemctl stop nova-compute.service
删除已有的resource provider
openstack resource provider list
openstack resource provider delete [uuid]
重启nova-compute服务
sudo systemctl start nova-compute.service
反思:部署中曾经清过一次库,没有停对应服务,以后清库前要停止相关服务。
2. 创建卷失败
Build of instance d65cb8fa-bd18-403b-ab63-77ad1edf2845 aborted: Unable to update attachment.
解决方式:
需要配置tgt,修改配置文件
sudo vim /etc/tgt/targets.conf
添加
include /var/lib/cinder/volumes/*
重启服务
sudo systemctl restart tgt
sudo systemctl restart cinder-volume.service
反思:官方文档没有写tgt的安装和配置
3. 关于卷创建慢导致实例创建错误的问题,两个配置解决,网上一般只强调单方面,个人实践两个都配置上会更好,首先是延长服务器的等待时长,在控制节点的nova-scheduler和计算节点的nova-compute的nova.conf的Default中添加
block_device_allocate_retries = 300
block_device_allocate_retries_interval = 20
块设备分配尝试次数和尝试间隔,然后重启nova相关的服务
其次是启用卷缓存,修改cinder-volume的cinder.conf配置文件,然后重启cinder相关服务
[Default]
.....
cinder_internal_tenant_project_id = SERVICE_PROJECT_ID
cinder_internal_tenant_user_id = CINDER_USER_ID
[backend_defaults]
...
image_volume_cache_enabled = True