第六节 先电云openstack手动搭建Nova计算服务

2019-04-13 15:33发布

class="markdown_views prism-tomorrow-night"> 在controller节点上配置
一、安装Nova基本组件
1.自动挂载:
(1)进入自动挂载配置文件
#vi /etc/fstab
在配置文件中添加: /opt/CentOS-7-x86_64-DVD-1511.iso /opt/centos iso9660 defaults 0 0 /opt/XianDian-IaaS-v2.2.iso /opt/iaas iso9660 defaults 0 0 注意除了最后两个0是空格隔开,其他的栏位之间是tab键
(2)加载自动挂载文件
#mount -a
(3)查看是否挂载成功
#df -T
2.安装软件包
#yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
二、创建数据库、用户及授权
(1)创建nova数据库
#mysql -uroot -p000000
create database if not exists nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '000000';
(2)创建nova_api数据库
create database IF NOT EXISTS nova_api;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '000000' ;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '000000' ;
(3)修改数据库连接
#vi /etc/nova/nova.conf
在[database]下面添加:
connection=mysql+pymysql://nova:000000@controller/nova 在[api_database]下面添加: connection=mysql+pymysql://nova:000000@controller/nova_api (4)同步数据库,为nova创建数据库表
#su -s /bin/sh -c "nova-manage db sync" nova
#su -s /bin/sh -c "nova-manage api_db sync" nova
可以使用命令查看已创建的表:
#mysql -uroot -p000000 -e"use nova;show tables;"
三、注册Nova服务至Keystone认证
注册用户(user)、租户(project)和端点(endpoint)
其中project在keystone里已经注册了一个service供所有服务使用。
(1)导入环境变量
#source admin-openrc.sh
(2)创建用户
#openstack user create --domain default --password 000000 nova
(3)为nova用户在service租户下分配admin权限
#openstack role add --project service --user nova admin
(4)注册服务信息
#openstack service create --name nova --description "OpenStack Compute" compute
(5)注册端点信息
#openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%(tenant_id)s
#openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%(tenant_id)s
#openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%(tenant_id)s
四、修改配置文件,配置Nova使用消息队列服务
修改下 vi /etc/nova/nova.conf文件
[DEFAULT] enabled_apis = osapi_compute,metadata rpc_backend = rabbit auth_strategy = keystone my_ip = 192.168.100.10 use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver metadata_listen = 0.0.0.0 metadata_listen_port = 8775 [oslo_messaging_rabbit] rabbit_host = controller rabbit_userid = openstack rabbit_password = 000000 [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 = nova password = 000000 [vnc] vncserver_listen = 192.168.100.10 vncserver_proxyclient_address = 192.168.100.10 [glance] api_servers = http://controller:9292 [oslo_concurrency] lock_path = /var/lib/nova/tmp 五、启动服务添加开机自启
#systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
#systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
六、验证Nova
#nova image-list
compute节点 1.安装逻辑卷lvm2管理包
#yum install lvm2 -y
如果无法安装确认一下控制节点的ftp服务是否可以访问,如果不可以访问,查看一下控制节点的防火墙状态,关闭防火墙
#firewall-cmd --state
#setenforce 0
#systemctl stop firewalld
2.安装nova计算服务软件包
#yum install openstack-nova-compute -y
3.配置nova认证和数据库连接
修改 vi /etc/nova/nova.conf [DEFAULT] enabled_apis = osapi_compute,metadata rpc_backend = rabbit my_ip = 192.168.100.20 use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver [oslo_messaging_rabbit] rabbit_host = controller rabbit_userid = openstack rabbit_password = 000000 [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 = nova password = 000000 [vnc] enabled = True vncserver_listen = 0.0.0.0 vncserver_proxyclient_address = 192.168.100.20 novncproxy_base_url = 192.168.200.10:6080/vnc_auto.html [glance] api_servers = http://controller:9292 [oslo_concurrency] lock_path = /var/lib/nova/tmp [libvirt] inject_key = True 4.检查系统处理器是否支持虚拟机的硬件加速
#egrep -c '(vmx|svm)' /proc/cpuinfo
(1)如果该命令返回一个1或更大的值,说明你的系统支持硬件加速,通常不需要额外的配置。
(2)如果这个指令返回一个0值,说明你的系统不支持硬件加速,你必须配置libvirt取代KVM来使用QEMU:
#openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu 5.设置开机启动项并启动服务
#systemctl enable libvirtd.service openstack-nova-compute.service
#systemctl start libvirtd.service openstack-nova-compute.service 6.清除防火墙
-----------controller、compute--------------
#iptables -F
#iptables -X
#iptables -Z 7.在控制节点验证
(1)导入环境变量
#source admin-openrc.sh
#openstack compute service list
openstack日志
日志的位置
统一放在/var/log目录下,每个服务都有自己的日志文件。
各个子服务的日志文件也是单独保存,命名也很规范,容易区分。
比如 nova-api 的日志一般就命名为 /var/log/nova/api.log,其他日志类似。 这条日志我们可以得知:
这是一个 INFO 日志
具体内容是 “Successfully synced instances from host ‘compute’.r”
该日志没有指明源代码位置 时间戳 日志记录的时间,包括 年 月 日 时 分 秒 毫秒
日志等级 有INFO WARNING ERROR DEBUG等
代码模块 当前运行的模块
Request ID 日志会记录连续不同的操作,为了便于区分和增加可读性,每个操 作都被分配唯一的Request ID,便于查找
日志内容 这是日志的主体,记录当前正在执行的操作和结果等重要信息
源代码位置 日志代码的位置,包括方法名称,源代码文件的目录位置和行号。这一项不是所有日志都有
有任何疑问或建议欢迎留言讨论,下一节进行Neutron网络服务的安装欢迎访问,点击传送。
有任何疑问或建议欢迎留言讨论,下一节进行Cinder块存储的安装欢迎访问,点击传送