问题导读
1.计算节点、控制节点管理网络ip地址分别为什么?
2.如何判断是否支持虚拟机硬件加速按?
3.创建实例之前,需要注意什么问题?
【控制节点】
准备
1.创建数据库,完成下面内容
a.登录mysql
复制代码
b.创建nova数据库
复制代码
c.授权
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS'; 复制代码
d.退出mysql
复制代码
2.生效环境变量
复制代码
内容如下:
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v2.0 复制代码
3.创建服务认证
a.创建一个nova用户
keystone user-create --name nova --pass NOVA_PASS 复制代码
这里使用默认密码,如果更改,在配置文件中需要做相应的修改。
b.给nova用户授予admin角色
keystone user-role-add --user nova --tenant service --role admin 复制代码
c.创建nova服务实例
keystone service-create --name nova --type compute \
--description "OpenStack Compute" 复制代码
4.创建nova服务API endpoints
keystone endpoint-create \
--service-id $(keystone service-list | awk '/ compute / {print $2}') \
--publicurl http://controller:8774/v2/%\(tenant_id\)s \
--internalurl http://controller:8774/v2/%\(tenant_id\)s \
--adminurl http://controller:8774/v2/%\(tenant_id\)s \
--region regionOne 复制代码
安装配置计算控制组件
1.安装包
apt-get install nova-api nova-cert nova-conductor nova-consoleauth \
nova-novncproxy nova-scheduler python-novaclient 复制代码
2.编辑文件,完成下面内容
sudo nano /etc/nova/nova.conf 复制代码
a.在[database]部分,配置数据库连接
[database]
...
connection = mysql://nova:NOVA_DBPASS@controller/nova 复制代码
b.在 [DEFAULT]部分,配置RabbitMQ 消息代理访问
[DEFAULT]
...
rpc_backend = rabbit
rabbit_host = controller
rabbit_password = RABBIT_PASS 复制代码
c. 在[DEFAULT] 和 [keystone_authtoken]部分,配置认证访问
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = nova
admin_password = NOVA_PASS 复制代码
注释掉 auth_host, auth_port, 和 auth_protocol,因为identity_uri 已经含有这些配置。
d.在 [DEFAULT]部分,配置控制节点,管理网络的ip地址my_ip 选项
[DEFAULT]
...
my_ip = 10.0.0.11 复制代码
e.在 [DEFAULT] 部分,配置VNC 代理,使用控制节点管理网络ip地址
[DEFAULT]
...
vncserver_listen = 10.0.0.11
vncserver_proxyclient_address = 10.0.0.11 复制代码
f.在[glance]部分,配置image服务
[glance]
...
host = controller 复制代码
g.为排除故障,在[DEFAULT]部分,启用详细日志
[DEFAULT]
...
verbose = True 复制代码
3.同步数据库
su -s /bin/sh -c "nova-manage db sync" nova 复制代码
完成安装
重启计算服务
service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart 复制代码
如果存在SQLite 数据库,则删除
rm -f /var/lib/nova/nova.sqlite 复制代码
安装配置计算hypervisor 组件[计算节点]
1.安装包
apt-get install nova-compute sysfsutils 复制代码
2.编辑文件 /etc/nova/nova.conf,完成下面内容
a.在[DEFAULT]部分,配置RabbitMQ 消息代理访问
[DEFAULT]
...
rpc_backend = rabbit
rabbit_host = controller
rabbit_password = RABBIT_PASS 复制代码
b.在 [DEFAULT] 和 [keystone_authtoken] 部分,配置认证服务访问
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = nova
admin_password = NOVA_PASS 复制代码
注意:注释掉其它 auth_host, auth_port, 和 auth_protocol ,因为identity_uri 已经配置
c.在 [DEFAULT]部分配置,配置计算节点管理网络ip地址,my_ip 选项
[DEFAULT]
...
my_ip = 10.0.0.31 复制代码
(这里不要配置成控制节点管理网络ip地址)
d.在 [DEFAULT]部分,启用配置远程访问
格式:
[DEFAULT]
...
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS
novncproxy_base_url = http://controller:6080/vnc_auto.html 复制代码
MANAGEMENT_INTERFACE_IP_ADDRESS替换为计算节点管理网络ip地址,即为
[DEFAULT]
...
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 10.0.0.31
novncproxy_base_url = http://controller:6080/vnc_auto.html 复制代码
这个服务组件侦听所有IP地址,代理组件仅监听计算节点管理网络ip地址。novncproxy_base_url表示的是你可以通过浏览器远程访问计算节点产生的实例控制台【也就是我们自己启动的虚拟机】
值得注意的是:
controller必须配置hosts,如果没有配置,可以通过ip地址。
e.在 [glance]部分,配置Image 服务的host
[glance]
...
host = controller 复制代码
f.为排除故障,在[DEFAULT]部分,启用详细日志记录
[DEFAULT]
...
verbose = True 复制代码
完成安装
1.通过下面命令,测试是否支持虚拟机硬件加速
egrep -c '(vmx|svm)' /proc/cpuinfo 复制代码
如果输出的不是0,那么不需要额外配置
如果输出的是0.则使用QEMU 代替KVM
编辑文件/etc/nova/nova-compute.conf,在 [libvirt]部分,修改如下
[libvirt]
...
virt_type = qemu 复制代码
2.重启计算服务
service nova-compute restart 复制代码
3.如果存在SQLite 数据库,则删除
rm -f /var/lib/nova/nova.sqlite 复制代码
核实操作
注意在控制节点 执行
1.生效环境变量
复制代码
2.列出创建成功的组件进程
复制代码
其中四个组件在控制节点,一个组件在计算节点
注意:
在创建实例之前,一定要查看上述服务是否正常,否则会造成虚拟机创建错误,比如实例获取不到ip地址,状态出现error等,这些进程起着非常重要的作用
如果遇到没有启动,可以执行下面命令
service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart 复制代码
3.列出镜像服务目录
复制代码
+--------------------------------------+---------------------+--------+--------------------------------------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------+--------+--------------------------------------+
| 9ec0ceec-0629-406a-9069-159a8b59ea78 | cirros-0.3.3-x86_64 | ACTIVE | |
+--------------------------------------+---------------------+--------+--------------------------------------+
这里多出一个,是因为后面做了镜像快照
相关内容:
openstack【juno】入门 【准备篇】零:整体介绍
openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)
openstack【juno】入门 【准备篇】二::NTP安装
openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装
openstack【juno】入门 【准备篇】四::RabbitMQ 安装
openstack【juno】入门 【keystone篇】五::Keystone部署及介绍
openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法
openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint
openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)
openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本
openstack【juno】入门 【glance 篇】十:glance初步介绍
openstack【juno】入门 【glance 篇】十一:glance安装配置
openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作
openstack【juno】入门 【nova 篇】十三(1):nova简单介绍
openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务
openstack【juno】入门 【网络篇】十四:neutron介绍
openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)
openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)
openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)
openstack【juno】入门 【网络篇】十八:创建实例化网络
openstack【juno】入门 【dashboard篇】十九:添加dashboard
openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】
openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)
openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】
openstack【juno】入门 【swift篇】二十三:安装配置swift节点
openstack【juno】入门 【swift篇】二十四:创建初始rings
openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)
openstack【juno】入门 【实例篇】二十六:创建实例(neutron)
openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录
openstack【juno】入门 【总结篇】二十八:keystone及网络总结