controller上安装计算服务nova

1.3.4.image的服务管理

glance image-create命令

glance image-create命令用于添加新的虚拟机镜像至glance中,glance image-update 命令用于修改已经完成更新的镜像的属性信息。

image-create命令至少要接收三个参数:--name 、--container_format、--disk_format。 其中--disk_format用于指明磁盘镜像文件的格式,包括raw,qcow2,vhd,vmdk,iso,vdi,aki,ari,ami等。--container_format用于表明镜像文件是否包含了虚拟机的元数据信息,然而,目前compute服务并未使用此信息,因此,在不确定的情况下可以将其指定为bare,而常用的格式主要有bare(没有container或元数据信息)、ovf、aki、ari或ami几种。

镜像元数据

glance image-create或glance image-update命令的--property key=value参数能够为镜像文件附加元数据信息,而常用的属性主要有:

architecture: hypervisor必须支持CPU架构,如x866_64、arm等

hypervisor_type: hypervisor类型,其能够使用的值包括xen、qemu、kvm、lxc、uml、vmware、hyper-v及powervm;

vm_mode:定义虚拟机模式,即应用于虚拟机的host/guest ABI;例如hvm,xen,uml,exe等

xenAPI还有其专用的两个属性可以定义:

autho_disk_config:布尔型属性值,true表示在虚拟机实例启动前磁盘的根分区将被自动调整;

os_type:image中安装的操作系统类型,如linux,windows等,xenAPI能够根据此属性值来执行不同的操作,如果为windows则创建fat32格式的交换分区、限制其主机名称少于16个字符等。

Vmware的API也有如下三个专用属性可以定义:

vmware_adaptertype:定义hypervisor使用的虚拟scsi或IDE接口类型,其有效值为lsiLogic,busLogic及ide;

vmware_ostype:Vmware GuestID,用于描述映像文件中的操作系统类型:vmware所支持的类型较多,可以参照thinkvirt.com获取详细信息,默认值为otherGuest;

vmware_image_version:目前未使用,默认值为1;

1.3.5.获取虚拟机镜像

CirrOS(test)镜像

由Scott Moser维护的一系列用于测试目的的微型虚拟机映像,登录名为cirros,下载地址为https://launchpad.net/cirros/+download。在qemu或kvm中测试时,官方建议使用qcow2格式的镜像文件。

Ubuntu镜像

Canonical官方提供了基于Ubuntu的系列镜像,登录名为ubuntu,下载地址为http://uec-images.ubuntu.com。 在QEMU或KVM中部署时,建议使用qcow2格式的镜像文件

Fedora镜像

Fedora官方提供了预制的Fedora JEOS映像,下载地址为http://berrange.fedorapeople.org/images,目前最新的是为x86_64平台提供的QCOW2格式的映像.

OpenSUSE和SLES11镜像

通过SUSE Studio(http://susestudio.com)可以很方便的为OpenSUSE和SLES11构建与Openstack兼容的虚拟应用,比如创建一个OpenSUSE12.1的JEOS镜像

Rackspace云生成器镜像

Rackspace云生成器(https://github.com/rackerjoe/oz-image-build)提供了多种发行版预制的预制镜像,如RedHat,Centos,Fedora,Ubuntu等

1.3.6.制作镜像的专用工具

Oz(KVM):Oz是能够为常见Linux发行版创建映像文件的命令行工具,Rackspace就是使用Oz创建的镜像文件。在Fedora Project的wiki中,提供了使用Oz创建镜像文件的案例,具体请参照:

https://fedoraproject.org/wiki/Getting_started_with_Openstack_Nova#Building_an_Image_with_Oz

VMBuilder(KVM,Xen):VMBuilder能够为不同的hypervisor创建虚拟机镜像文件,它是一个脚本,能够自动收集所需的资源为虚拟机创建镜像文件,Ubuntu为之提供了一个使用案例,具体请参照http://help.ubuntu.com/12.04/serverguide/jeos-and-vmbuilder.html

VeeWee(KVM):VeeWee通常用于创建Vagrant虚拟工作环境,一种基于Virtualbox,Vmware,AWS等虚拟化技术的虚拟化工具,VeeWee也可以用于创建KVM镜像

imagefactory:Aeolus项目的一款工具,用于自动化创建,转换及为不同的云服务商的镜像文件,支持openstack云

若要为openstack定制镜像,镜像文件要与Openstack兼容,需要顾及很多方面的因素。

1.3.7.支持元数据服务或配置驱动(config drive)

openstack支持的映像文件必须能够由openstack获取到其元数据信息,如ssh公钥以及用户在请求镜像文件时提交的用户数据等。这些元数据信息可以通过元数据服务或配置驱动获取,最简单的方式莫过于在映像文件中安装cloud-init程序。cloud-init用于为云实例提供配置及定制功能,项目地址为:http://launchpad.net/cloud-init。

1.3.8.支持对磁盘镜像大小进行调整

虚拟机镜像文件的磁盘大小有创建镜像时的初始大小决定,然而openstack需要在启动实例时通过指定不同的flavor来使用不同大小的磁盘空间。例如,有着磁盘初始大小为5G的镜像文件,在用于创建实例时使用了m1.small这个flavor,虚拟机实例将需要一个大小为10G磁盘,调整实例的磁盘大小是,通过在其尾部填0来完成。

镜像文件的分区大小也需要能够根据用户的需要在实例启动时进行调整,否则,在实例启动后,为了能够访问有flavor的配置指定的超出磁盘原始大小的其他空间就不得不手动去调整分区大小,因此在实例启动时,映像文件需要运行一个脚本以修改分区表,并运行相应的程序(如resize2fs等)调整文件系统,使得其能够适应新的分区大小。

Compute service overview 计算服务概述

OpenStack用于对主机的计算和管理云计算系统。OpenStack的计算是一个基础设施即服务(IaaS)系统的一个重要组成部分。主要模块是用python实现的。

OpenStack计算与OpenStack身份验证交互用来完成认证;OpenStack镜像服务用于磁盘和服务器镜像;用户和管理接口为OpenStack Dashboard。镜像访问受到项目和用户的限制,每个项目的配额是有限的(例如,实例的数量)。OpenStack计算可以在标准硬件上水平缩放,并将镜像下载来启动实例。

OpenStack计算包括以下领域及其组件:

nova-api service:接受并响应终端用户计算API调用。服务支持OpenStack Compute API,亚马逊EC2 API,以及一些特权用户为了执行管理动作的特殊的 Admin API 。它强制执行一些策略并启动很多编排动作,例如运行实例。

nova-api-metadata service:接受来自实例的元数据请求。当您在多主机模式下运行nova-network安装时,通常使用它。

nova-compute service:通过hypervisor APIs来创建和终止虚拟机实例的后台工作守护程序。例如:

XenAPI for XenServer/XCP

libvirt for KVM or QEMU

VMwareAPI for VMware

处理相当复杂。基本上,守护进程接收来自队列的动作和执行一系列的系统命令,例如创建KVM实例并更新它的状态到数据库。

nova-placement-api service:跟踪每个提供者的库及使用情况。

nova-scheduler service:从队列获取虚拟机实例请求并确定它要在哪个计算服务器主机运行。

nova-conductor module:位于nova-compute和数据库的中间层,用来避免nova-compute与数据库直接进行交互。不要将其部署到nova-compute service运行的节点上。

nova-consoleauth daemon:授权控制台代理提供的用户令牌。次服务必须运行,控制台代理服务才能工作。

nova-novncproxy daemon:通过一个VNC连接来提供一个代理访问运行中的实例。支持基于浏览器的novnc客户端。

nova-spicehtml5proxy daemon:通过一个SPICE连接来提供一个代理访问运行中的实例。支持基于浏览器的HTML5客户端。

nova-xvpvncproxy daemon:通过一个VNC连接来提供一个代理访问运行中的实例。支持OpenStack-specific Java客户端。

The queue

在各进程间传递消息的消息队列服务,通常使用RabbitMQ,也可以用其它的AMQP消息队列实现,如ZeroMQ

SQL database

存储云基础架构的构建时和运行时的状态。包含:

Available instance types

Instances in use

Available networks

Projects

 

在controller上安装计算服务nova

前提准备工作:

在安装nova之前,必须创建databases, service credentials, 和API endpoints.

1、使用root登陆数据库

MariaDB [(none)]>  CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>  CREATE DATABASE nova_cell0;
Query OK, 1 row affected (0.00 sec)

1、授权访问新创建的数据库。

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova‘@‘localhost‘  IDENTIFIED BY ‘123456‘;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO ‘nova‘@‘localhost‘ IDENTIFIED BY ‘123.456‘;
Query OK, 0 rows affected (0.00 sec)
Maria [(none)]> GRANT ALL PRIVILEGES ON nova.* TO ‘nova‘@‘%‘  IDENTIFIED BY ‘123.456‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova‘@‘localhost‘ IDENTIFIED BY ‘123.456‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova‘@‘%‘ IDENTIFIED BY ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
[[email protected] /]# source admin-openrc

1、创建计算服务凭证

创建onva用户

[[email protected] /]# openstack user create --domain default --password-prompt nova

将nova用户加入到admin角色和service项目

[[email protected] ~]# openstack role add --project service --user nova admi

创建nova服务项目

[[email protected] ~]# openstack service create --name nova  --description "OpenStack Compute" compute

1、创建计算服务service endpoints
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1

1、创建Placement用户

[[email protected] ~]# openstack user create --domain default --password-prompt placement

1、添加Placement用户到admin角色

[[email protected] /]# openstack role add --project service --user placement admin

1、创建placement API服务项

[[email protected] /]# openstack service create --name placement --description "Placement API" placement

1、创建Placement API service endpoints:

[[email protected] /]# openstack endpoint create --region RegionOne placement public http://controller:8778

[[email protected] /]# openstack endpoint create --region RegionOne placement internal http://controller:8778

安装和配置nova

1、安装包

[[email protected] /]# yum install openstack-nova-api openstack-nova-conductor   openstack-nova-console oopenstack-nova-novncproxy   openstack-nova-scheduler openstack-nova-placement-api  -y

在[api_database]和[database]部分配置数据库连接

在[DEFAULT]部分配置到RabbitMQ消息队列的访问

transport_url = rabbit://openstack:[email protected]

在[api]和[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 = 123456

auth_strategy=keystone  去掉#号

my_ip = 10.0.0.11  添加

use_neutron = True

firewall_driver = nova.virt.firewall.NoopFirewallDriver

在[vnc]部分配置VNC代理,使用controller管理接口IP地址

[vnc]

enabled = true

vncserver_listen = $my_ip

vncserver_proxyclient_address = $my_ip

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

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 = 123456

为了解决包的bug,你必须将以下配置添加到/etc/httpd/conf.d/00-nova-placement-api.conf文件中,来激活Placement API的访问

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

<Directory /usr/bin>

<IfVersion >= 2.4>

Require all granted

</IfVersion>

<IfVersion < 2.4>

Order allow,deny

Allow from all

</IfVersion>

</Directory>

重新启动httpd服务

[[email protected] /]# systemctl restart httpd

1、初始nova_api数据库

[[email protected] /]# su -s /bin/sh -c "nova-manage api_db sync" nova

1、创建cell

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

1、初始nova数据库

[email protected] /]# su -s /bin/sh -c "nova-manage db sync" nova
1、检查nova cell0和cell1是否正确注册
[[email protected] /]# nova-manage cell_v2 list_cells

[[email protected] /]# systemctl enable openstack-nova-api.service   openstack-nova-consoleauth.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-novncproxy.service
[[email protected] /]# systemctl start openstack-nova-api.service   openstack-nova-consoleauth.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-novncproxy.service

在compute上安装nova

本节描述如何在计算节点上安装和配置计算服务。服务支持多种hypervisors部署实例或虚拟机(VM)。为简单起见,这个配置使用带KVM的QEMU扩展计算节点,需要硬件支持虚拟机的硬件加速。在传统的硬件,这样的配置使用通用的QEMU虚拟机管理程序。

安装和配置:

1、安装包

[[email protected]/]# yum install openstack-nova-compute

1、编辑和配置/etc/nova/nova.conf完成以下设置

在[DEFAULT]部分激活仅compute和metadata APIs:

enabled_apis = osapi_compute,metadata

在[DEFAULT]部分配置到RabbitMQ消息队列的访问

在[api]和[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

password = 123456

在[DEFAULT]部分配置my_ip选项,地址指向controller管理IP地址

my_ip = 10.0.0.31

use_neutron = True

firewall_driver = nova.virt.firewall.NoopFirewallDriver

完成安装

1、确定计算节点是否支持虚拟机的硬件加速:

[[email protected] /]# egrep -c ‘(vmx|svm)‘ /proc/cpuinfo

如果返回的值为1或者更大,说明你的计算节点支持硬件加速,通常不需要额外配置,如果返回的值为0,说明你的计算节点不支持硬件加速,你必须将libvirt配置为QEMU,来替代默认的KVM。编辑/etc/nova/nova.conf文件:

virt_type=qemu  修改

2、启动计算服务,包括它的依赖项,并配置它们在系统启动时自动启动:

[[email protected] /]# systemctl enable libvirtd.service openstack-nova-compute.service
[[email protected] /]# systemctl start libvirtd.service openstack-nova-compute.service

如果不能正常启动,一般是controller上的消息服务的5672端口被拒绝访问,配置防火墙允许即可。

添加计算节点到cell数据库

操作在controller节点上

1、提供admin管理凭证以便操作命令,然后确认数据库中有计算主机:

[[email protected] ~]# source  admin-openrc
[[email protected] ~]# openstack compute service list --service nova-compute

1、发现计算主机

[[email protected] /]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

当你添加新的计算节点,你必须要在控制节点上运行“nova-manage cell_v2 discover_hosts”命令来注册这些新的计算节点。或者,你可以在配置文件中设置一个适当的时间间隔:/etc/nova/nova.conf,默认是不自动发现,单位是秒。

[scheduler]

discover_hosts_in_cells_interval = 300

检查操作

检查计算服务的操作,在控制节点上执行以下命令:

1、执行admin命令行运行环境

[[email protected] ~]# source admin-openrc

1、列出服务组件,以验证成功启动和注册的每个进程

[[email protected] ~]# openstack compute service list

其输处中有3个服务组件是激活在控制节点,一个服务组件是激活在计算节点

1、列出身份服务中的API endpoints,以验证与身份服务的连通性,显示结果和安装的组件有关。

[[email protected] ~]# openstack catalog list

1、列出镜像服务的列表,检查和镜像服务的连通性

[[email protected] ~]# openstack image list

1、检查cells和placement API是否成功工作

[[email protected] ~]#  nova-status upgrade check

后期更新OpenStack网络neutron

时间: 2024-11-05 19:04:44

controller上安装计算服务nova的相关文章

openstack部署安装(Icehouse版本)-控制节点(Controller)-计算服务(nova)

nova为计算服务,能够启动虚拟机实例.可以将这些服务配置在单独的节点或同一节点上.大多数服务在控制器节点上运行,在一个专用的计算节点上运行虚拟机运行的服务.此次,我们将compute部署到控制节点上. 4.1 Install Compute controller services(安装计算服务) 4.1.1 安装compute所需要的包 # yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor  

Centos7 install Openstack - (第四节)添加计算服务(Nova)

Centos7 install Openstack - (第四节)添加计算服务(Nova) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack官方文档配置 官方文档地址: http://docs.openstack.org/juno/install-guide/install/yum/content/# 0x01. Install and configure controller node (在控制节点安装配置一下内容) 一) 配置基本环境

OpenStack 计算服务Nova [四]

OpenStack 计算服务Nova [四] openstack 时间:2016年11月28日 Nova简介: Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点.nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上. nova有非常多的组件(服务) Nova服务介绍 AP

在Linux上安装SVN服务

1.安装SVNyum install subversion 2.查看版本svnserve --version3.创建目录mkdir /web/svndata3.创建repo测试库svnadmin create /web/svndata4.配置:开启anon-access=read auth-access=write password-db=passwd :q (退出) vi svnserve.conf5.添加用户(用户=密码) zhang=zhang :q (退出) vi passwd6.启动s

在Centos7上安装git服务

前言 一开始,打算在Windows上安装git服务,折腾了一天,在Copssh(win2008.win7.win2003)上总是配置不成功,最终无功而返,最后只好先放弃Windows了,以后有时间再研究研究. 当然Windows版的还有其它软件可用,比如Gitstack.Gitblit等,不想搞Windows版的了,不是这个限制就是那个问题,麻烦多,所以直接上Linux版的. 下面一段是Linux工具,引用自http://blog.chinaunix.net/uid-15174104-id-38

OpenStack(kilo版本)计算服务Nova的安装部署

OpenStack计算服务是基础设施即服务(IaaS)系统的主要组成部分.OpenStack计算服务使用Keystone来执行其身份验证,使用Horizon作为其管理接口,并使用Glance提供其镜像服务. 一.OpenStack 计算服务包含的组件 图1.1. OpenStack Nova组件 二.OpenStack计算节点基本环境配置 1.配置主机名和网络信息1.1配置主机名 [email protected]:~# vim /etc/hostname compute1 1.2 配置IP地址

[ Openstack ] Openstack-Mitaka 高可用之 计算服务(Nova)

目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群部署    Openstack-Mitaka 高可用之 memcache    Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs高可用集群    Openstack-Mitaka 高可用之 认证服务(keystone)    Openstack-Mitaka

OpenStack 计算服务 Nova部署(七)

介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点.nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上. nova组件(服务) API:负责接受和响应外部请求.支持OpenStack API,EC2 API Cert:负责身份认证EC2 Scheduler:用于云主

OpenStack —— 计算服务Nova(四)

一.Nova介绍 Nova是OpenStack Compute的代号,是OpenStack的重要组成部分,也是IaaS的重要组成部分,它负责维护和管理OpenStack的计算资源,虚拟机生命周期管理也就是通过Nova来实现的. Nova是无共享.基于消息的架构,所以的Nova组件都可以在多台服务器上分布式运行,这就意味着大多数组件与组件之间的通信都需要消息队列,在G版之前,Nova所有组件都会与数据库通信,这样的集中数据库访问在小规模环境下是个不错的选择,但对大集群来说则会产生安全问题,每个节点