一、介绍

  参照官网部署: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. mybatis二(参数处理和map封装及自定义resultMap)

    .单个参数 mybatis不会做特殊处理. #{参数名/任意名}:取出参数值. .多个参数 mybatis会做特殊处理. 多个参数会被封装成 一个map. key:param1...paramN,或者 ...

  2. workerman-todpole 执行流程(2)

    上一篇文章 workerman-todpole 执行流程(1),我们已经分析完了主进程的执行流程,这篇文章主要分析一下子进程的 run() 流程. 有必要提一下,在 run() 开始之前,其实针对角色 ...

  3. python3下安装Selenium插件和驱动

    import sysimport osimport shutilimport time os.system('pip install selenium') file_name="IEDriv ...

  4. Retrofit简介与使用方法(翻译)

    简介 Retrofit 是一个Square开发的类型安全的REST安卓客户端请求库.这个库为网络认证.API请求以及用OkHttp发送网络请求提供了强大的框架.Retrofit库让从web api下载 ...

  5. word中怎样设置页码包含总页数

    一个同事做毕业论文,论文是Word格式,1-2页是封面和目录,不需要页码,第3-10页是论文内容,需要从第1页开始显示,并显示论文内容的总页数8 页.具体为页脚处显示“第*页共*页”.他让我帮忙设置一 ...

  6. Delphi处理TWebBrowser的Close事件

    当TWebBrowser控件访问的 Web 页上的脚本调用window.close方法时,TWebBrowser控件可能会在窗体中消失.我们的程序应该对此作出反应,否则再次访问TWebBrowser控 ...

  7. C语言复习:文件操作

    文件操作专题 C语言文件读写概念 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁 ...

  8. Java动态代理的两种实现方法

    注:文章转载自:https://blog.csdn.net/m0_38039437/article/details/77970633 一.代理的概念 动态代理技术是整个java技术中最重要的一个技术, ...

  9. Linux sort命令使用方法

    sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...

  10. Linux创建SSH信任关系

    Linux服务器创建信任关系可以解决远程执行命令.远程传输文件多次手工输入的麻烦.可以实现环境一键打包备份. 测试环境 SuSE 手工创建 假设服务器A与B间要建立信任关系.用户想从服务器A免密码登录 ...