OpenStack之计算服务(Nova) |
您所在的位置:网站首页 › openstack云计算基础架构平台技术与应用 › OpenStack之计算服务(Nova) |
一、Nova的基本概念
Nova负责管理OpenStack中云主机实例的创建、删除、启动、停止等。Nova位于OpenStack架构的中心,其他服务或者组件(如Glance、Placement、Cinder、Neutron等)对它提供支持。Nova自身并没有任何虚拟化能力,它通过虚拟机管理器(Hypervisor)来创建和管理云主机。Hypervisor为多种虚拟化程序(如KVM、Xen、VMware ESX、QEMU)提供统一接口服务。 1、Nova的组件架构——Nova的模块构成Nova这一组件功能强大且结构复杂,由多种模块组成,这些模块分属若干单元(Cell)。每个单元又是若干计算节点的集合。 | **模块 ** | 功能介绍 | | — | — | | nova-scheduler | 该模块负责虚拟机调度服务,与Placement合作,负责从计算机集群中选择某一主机创建虚拟机 | | nova-api | 该模块用于接收和响应外部请求,也是外部可用于管理Nova的唯一入口 | OpenStack中的计算节点被分成若干小单元进行管理,除了顶层管理单元“cell0”外,每个单元都有自己的消息队列和数据库,“cell0”只有数据库。其中单元“cell0”包含接口模块(nova-api)和调度模块(nova-scheduler)。而其余的单元如“cell1”“cell2”负责具体的云主机实例的创建与管理。 为Nova各个单元服务的数据库一共有3个,分别是“nova_api”“nova_cell0”“nova”。顶层管理单元“cell0”使用了“nova_api”“nova_cell0”数据库。“nova_api”数据库存放的是全局信息,如单元的信息、实例类型(创建云主机的模板)信息等。“nova _cell0”数据库的作用是当某台云主机调度失败时,此时云主机的信息将不属于任何一个单元,而只能存放到“nova_cell0”数据库中,因此“nova_cell0”数据库用于存放云主机调度失败的数据以集中管理。而“nova”数据库为其他所有单元服务,存储单元中云主机的相关信息。 将配置文件去掉注释和空行 第1步,备份配置文件。 cp /etc/nova/nova.conf /etc/nova/nova.bak第2步,去掉所有注释和空行,生成新的配置文件。 grep -Ev '^$|#' /etc/nova/nova.bak >/etc/nova/nova.conf编辑新的配置文件 第1步,打开配置文件进行编辑。 vi /etc/nova/nova.conf第2步,修改“[api_database]”和“[database]”部分,实现与数据库“nova_api”“nova”的连接。 [api_database] connection = mysql+pymysql://nova:123456@controller/nova_api [database] connection = mysql+pymysql://nova:123456@controller/nova第3步,修改“[api]”与“[keystone_authtoken]”部分,实现与Keystone交互。 [api] auth_strategy = keystone project_domain_name = Default user_domain_name = Default project_name = project username = nova password = 123456 [keystone_authtoken] auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = project username = nova password = 123456第4步,修改“[placement]”部分,实现与Placement交互。 [placement] auth_url = http://controller:5000 auth_type = password project_domain_name = Default user_domain_name = Default project_name = project username = placement password = 123456 region_name = RegionOne project_domain_name = Default user_domain_name = Default project_name = project username = nova password = 123456第5步,修改“[glance]”部分,实现与Glance交互。 [glance] api_servers = http://controller:9292第6步,修改“[oslo_concurrency]”,配置锁路径。 [oslo_concurrency] lock_path = /var/lib/nova/tmp第7步,修改“[DEFAULT]”部分,配置使用消息队列及防火墙等信息 [DEFAULT] enabled_apis = osapi_compute,metadata transport_url = rabbit://rabbitmq:123456@controller:5672 my_ip = 192.168.10.10 use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver第8步,修改“[vnc]”部分,配置VNC连接模式。 [vnc] enabled = true server_listen = $my_ip server_proxyclient_address = $my_ip 初始化Nova的数据库初始化“nova_api”数据库。 第1步,初始化“nova_api”数据库。 su nova -s /bin/sh -c "nova-manage api_db sync"第2步,创建“cell1”单元,该单元将使用“nova”数据库。 su nova -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1"第3步,映射“nova”到“cell0”数据库,使“cell0”的表结构和“nova”的保持一致。 su nova -s /bin/sh -c "nova-manage cell_v2 map_cell0"第4步,初始化“nova”数据库,由于映射的存在,在“cell0”中同时创建相同数据表。 su nova -s /bin/sh -c "nova-manage db sync" 2、在控制节点安装与配置Nova检查单元注册情况 nova-manage cell_v2 list_cells 3、Nova组件初始化 创建Nova用户并分配角色第1步,导入环境变量模拟登录。 . admin-login第2步,在OpenStack云计算平台中创建用户“nova”。 openstack user create --domain default --password 123456 nova第3步,给用户“nova”分配“admin”角色 openstack role add --project project --user nova admin 创建Nova服务及端点(1)创建服务 创建名为“nova”、类型为“compute”的服务。 openstack service create --name nova compute(2)创建计算服务端点 OpenStack组件的服务端点有3种,分别对应Admin用户(admin)、内部组件(internal)、公众用户(public)服务 的地址。 第1步,创建公众用户访问的服务端点。 openstack endpoint create --region RegionOne nova public http://controller:8774/v2.1第2步,创建内部组件访问的服务端点。 openstack endpoint create --region RegionOne nova internal http://controller:8774/v2.1第3步,创建Admin用户访问端点。 openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1 启动Nova服务设置开机启动 systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy立即启动 systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy 检测控制节点的Nova服务查看端口占用情况8774和8775 netstat -nutpl|grep 8774 netstat -nutpl|grep 8775查看计算服务列表 openstack compute service list 4、安装与配置Nova在计算节点只需要安装Nova的计算模块“nova-compute”,按照以下方法进行安装 安装Nova软件包 yum -y install openstack-nova-compute 修改Nova配置文件(1) 将配置文件去掉注释和空行 第1步,备份配置文件。 cp /etc/nova/nova.conf /etc/nova/nova.bak第2步,去掉所有注释和空行,生成新的配置文件。 grep -Ev '^$|#' /etc/nova/nova.bak >/etc/nova/nova.conf(2) 编辑新的配置文件 第1步,打开配置文件进行编辑。 vi /etc/nova/nova.conf第2步,修改“[api]”与“[keystone_authtoken]”部分,实现与Keystone交互。 [api] auth_strategy = keystone [keystone_authtoken] auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = project username = nova password = 123456第3步,修改“[placement]”部分,实现与Placement交互。 auth_url = http://controller:5000 auth_type = password project_domain_name = Default user_domain_name = Default project_name = project username = placement password = 123456 region_name = RegionOne第4步,修改“[glance]”部分,实现与Glance交互。 api_servers = http://controller:9292第5步,修改“[oslo_concurrency]”,配置锁路径。 lock_path = /var/lib/nova/tmp第6步,修改“[DEFAULT]”部分,配置使用消息队列及防火墙等信息。 enabled_apis = osapi_compute,metadata transport_url = rabbit://rabbitmq:123456@controller:5672 my_ip = 192.168.10.20 use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver第7步,修改“[vnc]”部分,配置VNC连接模式。 [vnc] enabled = true server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = http://192.168.10.10:6080/vnc_auto.html第8步,配置“[libvirt]”部分,设置虚拟化类型为QEMU。 [libvirt] virt_type = qemu 启动计算节点Nova服务首先,设置开机启动服务。 systemctl enable libvirtd openstack-nova-compute立即启动服务。 systemctl start libvirtd openstack-nova-compute 发现计算节点并检验服务控制节点检查 (1)导入环境变量模拟登录 . admin-login(2)发现新的计算节点 su nova -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose"设置自动发现 第1步,打开配置文件,修改“[scheduler]”,设置每隔60s自动执行发现一次 vi /etc/nova/nova.conf [scheduler] discover_hosts_in_cells_interval = 60第2步,重启“nova-api”服务,使修改过的配置文件生效。 systemctl restart openstack-nova-api 验证Nova服务(控制节点)(1)查看计算服务列表 openstack compute service list(2)查看所有OpenStack服务及端点列表 openstack catalog list(3)用Nova状态检测工具检查 nova-status upgrade check |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |