一、介绍

  参照官网部署:https://docs.openstack.org/nova/pike/install/

     继续上一博客进行部署:http://www.cnblogs.com/weijie0717/p/8563294.html

二、部署 Nova-controller 

  1、配置数据库  (任意controller 节点操作)

    # mysql  -uroot -p

    a、创建数据库

      MariaDB [(none)]> CREATE DATABASE nova_api;

      MariaDB [(none)]> CREATE DATABASE nova;

      MariaDB [(none)]> CREATE DATABASE nova_cell0;

    b、创建用户,分配权限      

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

  2、配置 Nova用户 和API 信息(任意controller 节点操作)

    a、获取管理员认证权限

      #  source admin-openrc

    b、创建用户

      # openstack user create --domain default --password-prompt nova

      

    c、分配 Nova 到 指定project 和 role

      # openstack role add --project service --user nova admin

    d、创建 openstack Nova 服务

      # openstack service create --name nova  --description "OpenStack Compute" compute

      

    e、创建 Nova API (admin,public,internal)

      # openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1

      

      #openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1

      

      #openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1

      

    f、创建 Placement 用户

      # openstack user create --domain default --password-prompt placement

      

    g、分配 Placement 到 指定project 和 role

      # openstack role add --project service --user placement admin

    h、创建 Placement API (admin,public,internal)

      #  openstack endpoint create --region RegionOne placement public http://controller:8778

      #  openstack endpoint create --region RegionOne placement internal http://controller:8778

      #  openstack endpoint create --region RegionOne placement admin http://controller:8778

      

  3、 Nova 包安装 (所有controller-node)

    #   yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api -y

  4、修改 nova 配置文件  

    a、# vim  /etc/nova/nova.conf

[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:Nihao.521@controller1:5672,openstack:Nihao.521@controller2:5672,openstack:Nihao.521@controller3:5672
my_ip = 10.6.32.51 #各控制节点配置不同之处
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
osapi_compute_listen=10.6.32.51 #各控制节点配置不同之处
osapi_compute_listen_port=8774

novncproxy_host=10.6.32.51
novncproxy_port=6080


[api_database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api [database]
# ...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova [api]
# ...
auth_strategy = keystone [keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA_PASS [vnc]
enabled = true
# ...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip [glance]
# ...
api_servers = http://controller:9292 [oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp [placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS

    b、#vim /etc/httpd/conf.d/00-nova-placement-api.conf

Listen 10.6.32.51:    #修改此处,各控制节点配置不同之处

#最后添加如下行
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>

    c、同步配置文件到其他节点,然后分别修改配置文件不同之处

      # scp /etc/nova/nova.conf root@controller2:/etc/nova/nova.conf

      # scp /etc/nova/nova.conf root@controller3:/etc/nova/nova.conf

      # scp /etc/httpd/conf.d/00-nova-placement-api.conf root@controller2:/etc/httpd/conf.d/00-nova-placement-api.conf

      # scp /etc/httpd/conf.d/00-nova-placement-api.conf root@controller3:/etc/httpd/conf.d/00-nova-placement-api.conf

    d、重启httpd 服务(所有controller节点)

      # systemctl restart httpd

    e、按照官网初始化数据库 (任意控制节点)

      # su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

      # su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

      # su -s /bin/sh -c "nova-manage db sync" nova

    f、查看

      #  nova-manage cell_v2 list_cells

        

      #   openstack host list

        

    g、启动服务和开机自启动

      #  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

    h、配置 Haproxy

      博客:http://www.cnblogs.com/weijie0717/p/8530102.html

      更具博客 配置:nova-api  server 、nova novncproxy server 、nova-placement-api  server

三、部署 Nova -computer

  1、包安装 
    # yum install openstack-nova-compute

  2、修改 Nova 配置文件

    #vim /etc/nova/nova.conf     

[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:Nihao.521@controller1:5672,openstack:Nihao.521@controller2:5672,openstack:Nihao.521@controller3:5672
my_ip = 10.6.32.54
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver [api]
# ...
auth_strategy = keystone [keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA_PASS [vnc]
# ...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://10.6.32.200:6080/vnc_auto.html [glance]
# ...
api_servers = http://controller:9292 [oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp [placement]
# ...
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = PLACEMENT_PASS 另外执行以下命令,如果返回值大于0使用默认kvm,如果等于零,需要修改为qemu。
# egrep -c '(vmx|svm)' /proc/cpuinfo
[libvirt]
# ...
virt_type = qemu

    3、启动服务,并开机自启动

      # systemctl enable libvirtd.service openstack-nova-compute.service

      # systemctl start libvirtd.service openstack-nova-compute.service

    4、添加 computer 节点到 call database. (任意computer 节点运行)

      # source admin-openr

      # openstack compute service list --service nova-compute

      # su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

 四、 验证 (控制节点)

  1、List service components to verify successful launch and registration of each process:

    # openstack compute service list

    

  2、List API endpoints in the Identity service to verify connectivity with the Identity service:

    #  openstack catalog list

    

  3、List images in the Image service to verify connectivity with the Image service:

    # openstack image list

    

  4、Check the cells and placement API are working successfully:

    # nova-status upgrade check

    

 完成

openstack(Pike 版)集群部署(四)--- Nova 部署的更多相关文章

  1. openstack高可用集群16-ceph介绍和部署

    Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...

  2. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  3. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  4. CentOS7.2非HA分布式部署Openstack Pike版 (实验)

    部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...

  5. VLAN 模式下的 OpenStack 管理 vSphere 集群方案

    本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...

  6. 搭建高可用mongodb集群(四)—— 分片

    按照上一节中<搭建高可用mongodb集群(三)—— 深入副本集>搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的 ...

  7. 搭建高可用mongodb集群(四)—— 分片

    按照上一节中<搭建高可用mongodb集群(三)-- 深入副本集>搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的 ...

  8. Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...

  9. [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...

  10. 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s

    实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...

随机推荐

  1. MySQL配置文件以及服务的开启关闭重启

    linux系统中,配置文件路径一般为/etc/my.cnf [root@host ~]# mysql --help|grep my.cnf                       order of ...

  2. 42. oracle通过两张表的一个字段对应,update其中一张表的某个字段

    update A a set a.A2 = (select b.B2 from B b where b.B1=a.A1) where exists (select 1 from B where B.B ...

  3. java reflect反射获取方法变量参数

    类的成员包含变量(Field),方法(Method),构造器(Constructor) 类定义 package Reflect; public class MyTest { public int a; ...

  4. Mysql 获取表属性

    获取表字段信息: select column_name from information_schema.COLUMNS where table_name='表名' nformation_schema. ...

  5. 认识JavaWeb,servlet, JSP, Tomcat, http协议,Web服务器

    JavaWeb通常指服务器端的Java应用开发. 一般来说,服务器是在网络通信条件下工作的,这就离不开http协议. HTTP协议,是为服务器和客户端通信提供的规范,其中规定了信息的格式,符合规范格式 ...

  6. mui longtap 事件无效

    1.mui  的部分事件默认是关闭的 需要在init中单独配置事件开关 mui.init({ gestureConfig: { longtap: true, //默认为false } })

  7. Mongodb集群节点故障恢复场景分析(转)

    一个适当配置的Mongodb分片集群是没有单点故障.本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的.1.Mongos节点宕机一个Mongos进程应 ...

  8. python流程控制while和if

    流程控制 1.流程控制if if的4种语法 语法1:   #结构形式 #if条件: # 代码1 # 代码2 # 代码3 # ... key_bak=123 key=int(input('key:')) ...

  9. CSRF学习小结

    什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...

  10. Python操作远程服务器paramiko模块介绍

    paramiko模块是基于Python实现的SSH远程安全连接,可以提供在远程服务器上执行命令.上传文件到服务器或者从指定服务器下载文件的功能. paramiko模块安装方法 paramiko模块不是 ...