openstack 问题一览(持续总结中)

★名词

Qemu:它也是一种虚拟化技术,主要提供对IO,网络等外设的虚拟化管理。结合KVM(对CPU和内存管理),提供较为完整的虚拟化管理功能。

Libvirt:提供了针对各种虚拟机技术的接口,来管理机器上的虚拟机。包括各种虚拟机技术,kvm、xen与lxc等,都可以调用libvirt提供的api对虚拟机进行管理。

【1】置换版本:git clone https://git.openstack.org/openstack-dev/devstack -b stable/liberty
修改为:git clone https://git.openstack.org/openstack-dev/devstack -b stable/newton

【2】创建的stack账户,可以手动设置密码:sudo passwd stack。否则不能切换。su stack.
【3】root账户打开virt-manager报错:

Error starting Virtual Machine Manager: No D-BUS daemon running

方法1,使用以下命令可以正常打开:

root@ubuntu:/# dbus-launch virt-manager

方法2,输入以下命令,然后输入:virt-manager即可打开。

root@ubuntu:/# dbus-uuidgen > /var/lib/dbus/machine-id

root@ubuntu:/# virt-manager

【4】ubuntu14.04 打开KVM出错

error: failed to connect to the hypervisor
error: no valid connection
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory

第一步:可能是由于libvirt-bin服务没有启动
sudo service libvirt-bin start 发现不能启动

第二步:
查看日志 tail /var/log/libvirt/libvirtd.log
发现error : virNetTLSContextCheckCertFile:117 : Cannot read CA certificate '/etc/pki/CA/cacert.pem': No such file or directory
※暂未解决。

【5】ubuntu设置固定IP地址

openstack 问题一览(持续总结中)

【6】openstack octca 缺少 placement Service 解决办法

根据官方文档安装,当启动nova-compute时会报错

PlacementNotConfigured: This compute is not configured to talk to the placement service

原因:官方文档中遗漏了-nova-placement-api的安装。

解决步骤:

①控制节点

yum install openstack-nova-placement-api

openstack service create --name placement --description "OpenStack Placement" placement

openstack endpoint create --region RegionOne placement public http://<ip>:8778
openstack endpoint create --region RegionOne placement admin http://<ip>:8778
openstack endpoint create --region RegionOne placement intenal http://<ip>:8778

systemctl restart httpd

②计算节点

编辑 /etc/nova/nova.conf,增加

[placement]

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 = nova

password = ******

os_region_name = RegionOne

重启 systemctl restart openstack-nova-compute.service

【7】问题:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

解决办法:
1,apt-get命令安装软件是不允许同时开启两个apt-get 的。
用ps -ef | grep apt-get命令找到相关进程,然后使用Kill -9 进程号
2,确定没开两个APT-GET ,可以强行解锁。
sudo rm /var/lib/dpkg/lock

【8】Juno版配置错误

1,keystone tenant-create --name admin --description "Admin Tenant"
Unable to establish connection to http://controller:35357/v2.0/tenants

解决方法:
删除 vi /etc/keystone/keystone.conf ->[token] 中,
driver = keystone.token.persistence.backends.sql.Token

2, CRITICAL keystone [-] OperationalError: (OperationalError) (1045, "Access
denied for user 'keystone'@'localhost' (using password: YES)") None None
解决方法:
Grant命令中的密码部分有空格导致的。

3,service keystone restart 重启服务时,出错:
stop: Unknown instance:
解决方法:
删除sqlite文件:
rm -f /var/lib/keystone/keystone.db
因为keystone安装会默认生成一个SQLite文件,但我们这里用的是mysql数据库,
所以用不到此文件,将其删除。

4, 查看 /var/log/keystone/keystone.log
ImportError: No module named persistence.backends.sql
解决方法:
删除 /etc/keystone/keystone.conf
driver = keystone.token.persistence.backends.sql.Token

5, keystone --os-tenant-name admin --os-username admin --ospassword abcd1234!
--os-auth-url http://controller:35357/v2.0 token-get
解决方法:
把--ospassword改为:--os-password

6,上传镜像时,
glance image-create --name "cirros-0.3.3-x86_64" --file /tmp/images/
cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare
--is-public True --progress

出现错误:
Request returned failure status.
Invalid OpenStack Identity credentials.

解决方法:
1,查看日志 cat /var/log/glance/api.log

日志内容:
2015-03-27 10:22:43.856 18493 ERROR keystoneclient.middleware.auth_token [-]
HTTP connection exception: [Errno 1] _ssl.c:510: error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown protoc

修改源码:
vi /usr/local/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py

cfg.StrOpt('auth_protocol',
default='https', #修改为http
help='Protocol of the admin Identity API endpoint'
'(http or https)'),
将上面的https修改为http

2,上述方法1不行,继续:
修改配置文件
vi /etc/glance/glance-api.conf

[DEFAULT]

notification_driver = noop

verbose = True

[database]

connection = mysql://glance:abcd1234!@controller1/glance

[keystone_authtoken]

auth_uri = http://controller1:5000/v2.0

identity_uri = http://controller1:35357
最后这两句,应该按配置文件中的格式配置,否则会导致上面的错误。

7,出错:
Unable to locate package python-keystonemiddleware
解决方法:
从官网上下载https://pypi.python.org/pypi/keystonemiddleware/
.whl文件。
用命令:
pip install keystonemiddleware-1.5.0-py2.py3-none-any.whl
service swift-proxy restart

【9】问题:openstack: No valid host was found.

解决方法:
查看log:/var/log/nova/compute.log
看到CommunicationError: Error communicating with http://10.20.0.30:9292 [Errno 111] ECONNREFUSED
发现是glance server配置出错了。修改了/etc/nova/nova.conf中glance_host的配置,问题解决。

上一篇:openstack安装过程遇到的问题


下一篇:SpringMVC项目案例之---数据的获取与显示