******************   iaas-install-nova-controller.sh        **********************
#!/bin/bash                              #声明解释器类型
source /etc/xiandian/openrc.sh          #生效环境变量
source /etc/keystone/admin-openrc.sh    #生效admin用户脚本
#mysql nova mysql        #创建数据库 nova, nova_api, nova_cell0mysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS nova ;"
mysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS nova_api ;"
mysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS nova_cell0 ;"
#创建数据库用户并赋予数据库用户权限mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '$NOVA_DBPASS' ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$NOVA_DBPASS' ;"mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '$NOVA_DBPASS' ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '$NOVA_DBPASS' ;"mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '$NOVA_DBPASS' ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '$NOVA_DBPASS' ;"
#nova user role service endpointopenstack user create --domain $DOMAIN_NAME --password $NOVA_PASS nova                       #创建nova用户
openstack role add --project service --user nova admin                                      #将admin 权限赋予 nova 用户openstack service create --name nova --description "OpenStack Compute" compute                #创建nova计算服务 openstack endpoint create --region RegionOne compute public http://$HOST_NAME:8774/v2.1      #创建nova计算服务组件的外部的 API endpoint
openstack endpoint create --region RegionOne compute internal http://$HOST_NAME:8774/v2.1       #创建nova计算服务组件的内部的 API endpoint
openstack endpoint create --region RegionOne compute admin http://$HOST_NAME:8774/v2.1       #创建nova计算服务组件的admin API endpoint
openstack user create --domain $DOMAIN_NAME --password $NOVA_PASS placement
openstack role add --project service --user placement admin
openstack service create --name placement --description "Placement API" placement
openstack endpoint create --region RegionOne placement public http://$HOST_NAME:8778
openstack endpoint create --region RegionOne placement internal http://$HOST_NAME:8778
openstack endpoint create --region RegionOne placement admin http://$HOST_NAME:8778
#nova install        #安装nova的核心组件
yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api -y
#/etc/nova/nova.conf         #配置默认服务信息crudini --set /etc/nova/nova.conf DEFAULT enabled_apis  osapi_compute,metadata                             # 停止使用EC2 API
crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:$NOVA_DBPASS@$HOST_NAME         # 配置RabbitMQ的消息队列访问
crudini --set /etc/nova/nova.conf DEFAULT my_ip $HOST_IP                                                    # 配置控制节点管理IP地址
crudini --set /etc/nova/nova.conf DEFAULT use_neutron  True                                                 # 定义nova支持neutron网络服务组件
crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver             # 关闭nova计算服务组件的防火墙功能
crudini --set /etc/nova/nova.conf api auth_strategy keystone                                                # 配置认证方式为keystone
#配置数据库连接crudini --set /etc/nova/nova.conf api_database connection  mysql+pymysql://nova:$NOVA_DBPASS@$HOST_NAME/nova_api
crudini --set /etc/nova/nova.conf database connection  mysql+pymysql://nova:$NOVA_DBPASS@$HOST_NAME/nova
#配置keystone认证crudini --set /etc/nova/nova.conf keystone_authtoken auth_url  http://$HOST_NAME:5000/v3            # 配置管理员访问端口
crudini --set /etc/nova/nova.conf keystone_authtoken    memcached_servers $HOST_NAME:11211          # 配置缓存服务端口
crudini --set /etc/nova/nova.conf keystone_authtoken auth_type password                             # 配置认证类型为密码认证
crudini --set /etc/nova/nova.conf keystone_authtoken project_domain_name $DOMAIN_NAME               # 配置租户域名
crudini --set /etc/nova/nova.conf keystone_authtoken user_domain_name $DOMAIN_NAME                  # 配置用户域名
crudini --set /etc/nova/nova.conf keystone_authtoken project_name service                           # 配置租户名
crudini --set /etc/nova/nova.conf keystone_authtoken username nova                                  # 配置用户名
crudini --set /etc/nova/nova.conf keystone_authtoken password $NOVA_PASS                            # 配置keystone认证密码
#配置VNC(虚拟网络控制台)crudini --set /etc/nova/nova.conf vnc enabled true                            # 配置VNC开机自启
crudini --set /etc/nova/nova.conf vnc server_listen $HOST_IP                # 配置VNC代理使用控制节点的管理IP地址
crudini --set /etc/nova/nova.conf vnc server_proxyclient_address $HOST_IP   # 使用主机地址为数据网络IP地址
crudini --set /etc/nova/nova.conf glance api_servers http://$HOST_NAME:9292              # 配置glance镜像服务地址
crudini --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp          # 配置lock(文件锁)的文件路径
#配置placementcrudini --set /etc/nova/nova.conf placement os_region_name RegionOne
crudini --set /etc/nova/nova.conf placement project_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf placement project_name service
crudini --set /etc/nova/nova.conf placement auth_type password
crudini --set /etc/nova/nova.conf placement user_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf placement auth_url http://$HOST_NAME:5000/v3
crudini --set /etc/nova/nova.conf placement username placement
crudini --set /etc/nova/nova.conf placement password $NOVA_PASS
#/etc/httpd/conf.d/00-nova-placement-api.conf        #修改placement的apache配置文件00-nova-placement-api.confecho " " >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "<Directory /usr/bin>" >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "  <IfVersion >= 2.4>" >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "          Require all granted" >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "  </IfVersion>" >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "  <IfVersion < 2.4>" >> /etc/httpd/conf.d/00-nova-placement-api.conf             #apache版本
echo "          Order allow,deny" >> /etc/httpd/conf.d/00-nova-placement-api.conf       #允许apache访问/usr/bin目录;否则/usr/bin/placement-api将不允许被访问
echo "          Allow from all" >> /etc/httpd/conf.d/00-nova-placement-api.conf         #允许apache访问
echo "  </IfVersion>" >> /etc/httpd/conf.d/00-nova-placement-api.conf
echo "</Directory>" >> /etc/httpd/conf.d/00-nova-placement-api.conf
#httpd restart
systemctl restart httpd
#su nova mysql       #将nova和nova_api的信息同步到数据库su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" 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
nova-manage cell_v2 list_cells                   #验证Nova数据库是否创建成功
#nova start service
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

——Cell
1. 概念:nova为了增加横向扩展以及分布式、大规模(地理位置级别)部署的能力,同时又不增加数据库和消息中间件的复杂度,引入了cell的概念,并引入了nova-cell服务。

2.作用

               1. 解决OpenStack的扩展性和规模瓶颈2. 每个Cell都有自己独立的DB和AMQP,不与其他模块共用DB和AMQP,解决了大规模环境中DB和AMQP的瓶颈问题;3. Cell实现了树形结构(通过消息路由)和分级调度(过滤算法和权重算法),Cell之间通过RPC通讯,解决了扩展性问题;

——nova-Placement:跟踪资源(比如计算节点,存储资源池,网络资源池等)的使用情况,提供自定义资源的能力,为分配资源提供服务。
——nova-API:负责接收和响应外部请求。
——nova-Scheduler:负责调度虚拟机所在的物理机。
——nova-Conductor:计算节点访问数据库的中间件。
——nova-Consoleauth:用于控制台的授权认证。
——nova-Novncproxy:VNC 代理,用于显示虚拟机操作终端。由于云主机instance所在的compute一般在内网运行,而instance的VNC端口是绑定在compute的IP地址上的。外网的用户,需要访问instance的VNC,就需要使用Proxy代理**

用户访问VNC,一般采用两种方式的客户端,分别对应两种Proxy:
1.支持web socket的浏览器,如Chrome、Firefox等,使用NoVNC
2.java客户端代理,使用Xvpvncproxy

             ******************   iaas-install-nova-comput.sh    ******************
#!/bin/bash
source /etc/xiandian/openrc.sh#nova-compute install
yum install openstack-nova-compute -y#/etc/nova/nova.conf
crudini --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:$NOVA_DBPASS@$HOST_NAME
crudini --set /etc/nova/nova.conf DEFAULT my_ip $HOST_IP_NODE
crudini --set /etc/nova/nova.conf DEFAULT use_neutron True
crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDrivercrudini --set /etc/nova/nova.conf api auth_strategy keystonecrudini --set /etc/nova/nova.conf keystone_authtoken auth_url http://$HOST_NAME:5000/v3
crudini --set /etc/nova/nova.conf keystone_authtoken memcached_servers $HOST_NAME:11211
crudini --set /etc/nova/nova.conf keystone_authtoken auth_type password
crudini --set /etc/nova/nova.conf keystone_authtoken project_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf keystone_authtoken user_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf keystone_authtoken project_name service
crudini --set /etc/nova/nova.conf keystone_authtoken username nova
crudini --set /etc/nova/nova.conf keystone_authtoken password $NOVA_PASS#配置VNC以启用远程终端的访问
crudini --set /etc/nova/nova.conf vnc enabled True
crudini --set /etc/nova/nova.conf vnc server_listen 0.0.0.0                                         # 不监听任何端口
crudini --set /etc/nova/nova.conf vnc server_proxyclient_address $HOST_IP_NODE                      # 使用主机地址为数据网络IP地址
crudini --set /etc/nova/nova.conf vnc novncproxy_base_url http://$HOST_IP:6080/vnc_auto.html        # 代理服务地址crudini --set /etc/nova/nova.conf glance api_servers http://$HOST_NAME:9292crudini --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmpcrudini --set /etc/nova/nova.conf placement os_region_name RegionOne
crudini --set /etc/nova/nova.conf placement project_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf placement project_name service
crudini --set /etc/nova/nova.conf placement auth_type password
crudini --set /etc/nova/nova.conf placement user_domain_name $DOMAIN_NAME
crudini --set /etc/nova/nova.conf placement auth_url http://$HOST_NAME:5000/v3
crudini --set /etc/nova/nova.conf placement username placement
crudini --set /etc/nova/nova.conf placement password $NOVA_PASS
#检查本机是否支持硬件加速virt_num=`egrep -c '(vmx|svm)' /proc/cpuinfo`
if [ $virt_num = '0' ];thencrudini --set /etc/nova/nova.conf libvirt virt_type  qemu
fi
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl restart libvirtd.service openstack-nova-compute.service
#添加计算节点ssh $HOST_IP << EOF
source /etc/xiandian/openrc.sh
source /etc/keystone/admin-openrc.sh
openstack compute service list --service nova-compute
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
exit
EOF

——nova-compute:运行在计算节点上,负责创建、删除、启动、暂停和关闭虚拟机等功能。

——Libvirt是由Redhat开发的一套开源的软件工具,目标是提供一个通用和稳定的软件库来高效、安全地管理一个节点上的虚拟机,并支持远程操作。

解读先电2.4 iaas-install-nova-{controller,comput}.sh 脚本相关推荐

  1. 弘辽科技:经济内循环助推电商发展,解读未来电商新趋势

    原标题<弘辽科技:经济内循环助推电商发展,解读未来电商新趋势> 2020双十一已经落下帷幕,今年双十一不仅创多个新高,而且加入了多种新玩法,"尾款人"热词就这么横空出世 ...

  2. SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析

    (1) yarn install (2) 进到 storefrontapp-e2e-cypress 目录再次 yarn install (3) yarn build:libs 脚本命令: cypres ...

  3. 抖音电商直播间SOP主播工作计划脚本话术模板方案

    抖音电商直播间SOP主播工作计划脚本话术模板方案 网盘文档下载地址https://pan.baidu.com/s/1EeI_qPZBKH-hmwiG2bX-ZQ?pwd=rrh4 一家公司十几万的人是 ...

  4. kaldi单音素模型训练 - train_mono.sh脚本解读

    提示:本文适合kaldi的初学者,但最好有过运行kaldi的经验,并且大概了解EM算法.本文比较细致地对train_mono.sh脚本进行了解读,包括其源码,输入输出,以及对输出文件的内容都有详细的解 ...

  5. DDOS-deflate工具:ddos.sh脚本解读(预防DDOS攻击脚本)

    DDOS-deflate工具:ddos.sh脚本解读(预防DDOS攻击脚本) [root@server ddos]# cat ddos.sh #!/bin/sh ################### ...

  6. 解读先电2.4版 iaas-install-mysql.sh 脚本

    #!/bin/bash #声明解释器路径 source /etc/xiandian/openrc.sh #生效环境变量 ping $HOST_IP -c 4 >> /dev/null 2& ...

  7. xiandian云计算平台IAAS图文篇-controller节点

    首先第一步就是配置虚拟机网卡信息,方法如下 具体参数如下 配置好之后重启网络并使其生效 配置完成IP之后,我们开始上传镜像文件并挂载,在IAAS只需要上传IAAS镜像和Centos镜像 这是传输过程 ...

  8. 抖音电商主播运营带货话术脚本策划方案流程计划表格

    直播带货方案大全(点此网盘下载) 这节课由我来给大家教授 CD 2018 基础操作命令.那么我们现在所看到的就是一个 2018 的界面.那么在这个界面我们没有像以前的 2014 的一样,2007的一样 ...

  9. MCN公会电商抖音主播话术技巧脚本方案资料模板ppt

    文件网盘下载地址(点这) 那你看这个嘴巴,它的高光非常的细腻,那我们,给它放大.发现什么没有这个高光源,就是几个白色的格子,但是我们这样看起来它就非常的真实了对吧?所以说在我们这个 PS 里面它最神奇 ...

最新文章

  1. 【C++】C++11 STL算法(十):使用STL实现排序算法
  2. Product生命周期
  3. tmp ubuntu 自动删除吗_Linux tmp目录自动清理总结
  4. Dubbo 注解驱动(Annotation-Driven)
  5. VTK:PolyData之CellEdgeNeighbors
  6. 详解 MySql InnoDB 中意向锁的作用
  7. python 字节字符串_Python字符串转换为字节,字节转换为字符串
  8. java大学实用教程(第四版)_Java大学实用教程(第4版)
  9. C语言程序设计100个经典例子
  10. 关于WES7的系统还原与恢复
  11. Linux下安装Eclipse的PHP插件(PHPEclipse)
  12. win7电脑屏幕亮度怎么调节
  13. 【安全牛学习笔记】密码嗅探、中间人攻击
  14. 中国人误传了数千年的七句话(不可不看!) 转帖
  15. @TOM VIP邮箱,打造商务办公新场景,定位职场人的贴心助手!
  16. 5G新型网络架构和5G新型网络架构关键技术
  17. 弹性布局自动排列DIV
  18. 微积分(三)-- 一阶常微分方程解法
  19. 【Vue】解析渲染markdown文件
  20. origin绘图分享

热门文章

  1. php中word下载
  2. java ganymed ssh2_java ganymed-ssh2,session 执行多条指令,最好可以在前一条的基础上,执行下一条。...
  3. 计算机相关专业毕业论文选题推荐
  4. DevOps实战系列【第六章】:详解Docker私服Nexus3篇
  5. 使用wmi显示rpc服务器不可用,WMI:“RPC服务器不可用”错误只为域用户
  6. 博士Science发文:后悔为科研牺牲健康,“卷”坏身体!
  7. 药一点医疗管理软件供应商—诊所管理系统
  8. Linux——开机启动流程
  9. 盘点丨北斗短报文在短信物联的几个常见行业应用
  10. 电信SMGP协议,基于开源的jar文件smgpapi20100113.jar进行实现