controller上安装计算服务nova
1.3.4.p_w_picpath的服務(wù)管理
glance p_w_picpath-create命令
glance p_w_picpath-create命令用于添加新的虛擬機(jī)鏡像至glance中,glance p_w_picpath-update 命令用于修改已經(jīng)完成更新的鏡像的屬性信息。
p_w_picpath-create命令至少要接收三個參數(shù):--name 、--container_format、--disk_format。 其中--disk_format用于指明磁盤鏡像文件的格式,包括raw,qcow2,vhd,vmdk,iso,vdi,aki,ari,ami等。--container_format用于表明鏡像文件是否包含了虛擬機(jī)的元數(shù)據(jù)信息,然而,目前compute服務(wù)并未使用此信息,因此,在不確定的情況下可以將其指定為bare,而常用的格式主要有bare(沒有container或元數(shù)據(jù)信息)、ovf、aki、ari或ami幾種。
?
鏡像元數(shù)據(jù)
glance p_w_picpath-create或glance p_w_picpath-update命令的--property key=value參數(shù)能夠?yàn)殓R像文件附加元數(shù)據(jù)信息,而常用的屬性主要有:
architecture: hypervisor必須支持CPU架構(gòu),如x866_64、arm等
hypervisor_type: hypervisor類型,其能夠使用的值包括xen、qemu、kvm、lxc、uml、vmware、hyper-v及powervm;
vm_mode:定義虛擬機(jī)模式,即應(yīng)用于虛擬機(jī)的host/guest ABI;例如hvm,xen,uml,exe等
xenAPI還有其專用的兩個屬性可以定義:
autho_disk_config:布爾型屬性值,true表示在虛擬機(jī)實(shí)例啟動前磁盤的根分區(qū)將被自動調(diào)整;
os_type:p_w_picpath中安裝的操作系統(tǒng)類型,如linux,windows等,xenAPI能夠根據(jù)此屬性值來執(zhí)行不同的操作,如果為windows則創(chuàng)建fat32格式的交換分區(qū)、限制其主機(jī)名稱少于16個字符等。
Vmware的API也有如下三個專用屬性可以定義:
vmware_adaptertype:定義hypervisor使用的虛擬scsi或IDE接口類型,其有效值為lsiLogic,busLogic及ide;
vmware_ostype:Vmware GuestID,用于描述映像文件中的操作系統(tǒng)類型:vmware所支持的類型較多,可以參照thinkvirt.com獲取詳細(xì)信息,默認(rèn)值為otherGuest;
vmware_p_w_picpath_version:目前未使用,默認(rèn)值為1;
1.3.5.獲取虛擬機(jī)鏡像
CirrOS(test)鏡像
由Scott Moser維護(hù)的一系列用于測試目的的微型虛擬機(jī)映像,登錄名為cirros,下載地址為https://launchpad.net/cirros/+download。在qemu或kvm中測試時,官方建議使用qcow2格式的鏡像文件。
Ubuntu鏡像
Canonical官方提供了基于Ubuntu的系列鏡像,登錄名為ubuntu,下載地址為http://uec-p_w_picpaths.ubuntu.com。 在QEMU或KVM中部署時,建議使用qcow2格式的鏡像文件
Fedora鏡像
Fedora官方提供了預(yù)制的Fedora JEOS映像,下載地址為http://berrange.fedorapeople.org/p_w_picpaths,目前最新的是為x86_64平臺提供的QCOW2格式的映像.
OpenSUSE和SLES11鏡像
通過SUSE Studio(http://susestudio.com)可以很方便的為OpenSUSE和SLES11構(gòu)建與Openstack兼容的虛擬應(yīng)用,比如創(chuàng)建一個OpenSUSE12.1的JEOS鏡像
Rackspace云生成器鏡像
Rackspace云生成器(https://github.com/rackerjoe/oz-p_w_picpath-build)提供了多種發(fā)行版預(yù)制的預(yù)制鏡像,如RedHat,Centos,Fedora,Ubuntu等
1.3.6.制作鏡像的專用工具
Oz(KVM):Oz是能夠?yàn)槌R?/span>Linux發(fā)行版創(chuàng)建映像文件的命令行工具,Rackspace就是使用Oz創(chuàng)建的鏡像文件。在Fedora Project的wiki中,提供了使用Oz創(chuàng)建鏡像文件的案例,具體請參照:
https://fedoraproject.org/wiki/Getting_started_with_Openstack_Nova#Building_an_Image_with_Oz
VMBuilder(KVM,Xen):VMBuilder能夠?yàn)椴煌?/span>hypervisor創(chuàng)建虛擬機(jī)鏡像文件,它是一個腳本,能夠自動收集所需的資源為虛擬機(jī)創(chuàng)建鏡像文件,Ubuntu為之提供了一個使用案例,具體請參照http://help.ubuntu.com/12.04/serverguide/jeos-and-vmbuilder.html
VeeWee(KVM):VeeWee通常用于創(chuàng)建Vagrant虛擬工作環(huán)境,一種基于Virtualbox,Vmware,AWS等虛擬化技術(shù)的虛擬化工具,VeeWee也可以用于創(chuàng)建KVM鏡像
p_w_picpathfactory:Aeolus項(xiàng)目的一款工具,用于自動化創(chuàng)建,轉(zhuǎn)換及為不同的云服務(wù)商的鏡像文件,支持openstack云
?
若要為openstack定制鏡像,鏡像文件要與Openstack兼容,需要顧及很多方面的因素。
1.3.7.支持元數(shù)據(jù)服務(wù)或配置驅(qū)動(config drive)
openstack支持的映像文件必須能夠由openstack獲取到其元數(shù)據(jù)信息,如ssh公鑰以及用戶在請求鏡像文件時提交的用戶數(shù)據(jù)等。這些元數(shù)據(jù)信息可以通過元數(shù)據(jù)服務(wù)或配置驅(qū)動獲取,最簡單的方式莫過于在映像文件中安裝cloud-init程序。cloud-init用于為云實(shí)例提供配置及定制功能,項(xiàng)目地址為:http://launchpad.net/cloud-init。
1.3.8.支持對磁盤鏡像大小進(jìn)行調(diào)整
虛擬機(jī)鏡像文件的磁盤大小有創(chuàng)建鏡像時的初始大小決定,然而openstack需要在啟動實(shí)例時通過指定不同的flavor來使用不同大小的磁盤空間。例如,有著磁盤初始大小為5G的鏡像文件,在用于創(chuàng)建實(shí)例時使用了m1.small這個flavor,虛擬機(jī)實(shí)例將需要一個大小為10G磁盤,調(diào)整實(shí)例的磁盤大小是,通過在其尾部填0來完成。
鏡像文件的分區(qū)大小也需要能夠根據(jù)用戶的需要在實(shí)例啟動時進(jìn)行調(diào)整,否則,在實(shí)例啟動后,為了能夠訪問有flavor的配置指定的超出磁盤原始大小的其他空間就不得不手動去調(diào)整分區(qū)大小,因此在實(shí)例啟動時,映像文件需要運(yùn)行一個腳本以修改分區(qū)表,并運(yùn)行相應(yīng)的程序(如resize2fs等)調(diào)整文件系統(tǒng),使得其能夠適應(yīng)新的分區(qū)大小。
?
Compute service overview 計算服務(wù)概述
OpenStack用于對主機(jī)的計算和管理云計算系統(tǒng)。OpenStack的計算是一個基礎(chǔ)設(shè)施即服務(wù)(IaaS)系統(tǒng)的一個重要組成部分。主要模塊是用python實(shí)現(xiàn)的。
OpenStack計算與OpenStack身份驗(yàn)證交互用來完成認(rèn)證;OpenStack鏡像服務(wù)用于磁盤和服務(wù)器鏡像;用戶和管理接口為OpenStack Dashboard。鏡像訪問受到項(xiàng)目和用戶的限制,每個項(xiàng)目的配額是有限的(例如,實(shí)例的數(shù)量)。OpenStack計算可以在標(biāo)準(zhǔn)硬件上水平縮放,并將鏡像下載來啟動實(shí)例。
OpenStack計算包括以下領(lǐng)域及其組件:
nova-api service:接受并響應(yīng)終端用戶計算API調(diào)用。服務(wù)支持OpenStack Compute API,亞馬遜EC2 API,以及一些特權(quán)用戶為了執(zhí)行管理動作的特殊的 Admin API 。它強(qiáng)制執(zhí)行一些策略并啟動很多編排動作,例如運(yùn)行實(shí)例。
nova-api-metadata service:接受來自實(shí)例的元數(shù)據(jù)請求。當(dāng)您在多主機(jī)模式下運(yùn)行nova-network安裝時,通常使用它。
nova-compute service:通過hypervisor APIs來創(chuàng)建和終止虛擬機(jī)實(shí)例的后臺工作守護(hù)程序。例如:
XenAPI for XenServer/XCP
libvirt for KVM or QEMU
VMwareAPI for VMware
處理相當(dāng)復(fù)雜。基本上,守護(hù)進(jìn)程接收來自隊(duì)列的動作和執(zhí)行一系列的系統(tǒng)命令,例如創(chuàng)建KVM實(shí)例并更新它的狀態(tài)到數(shù)據(jù)庫。
nova-placement-api service:跟蹤每個提供者的庫及使用情況。
nova-scheduler service:從隊(duì)列獲取虛擬機(jī)實(shí)例請求并確定它要在哪個計算服務(wù)器主機(jī)運(yùn)行。
nova-conductor module:位于nova-compute和數(shù)據(jù)庫的中間層,用來避免nova-compute與數(shù)據(jù)庫直接進(jìn)行交互。不要將其部署到nova-compute service運(yùn)行的節(jié)點(diǎn)上。
nova-consoleauth daemon:授權(quán)控制臺代理提供的用戶令牌。次服務(wù)必須運(yùn)行,控制臺代理服務(wù)才能工作。
nova-novncproxy daemon:通過一個VNC連接來提供一個代理訪問運(yùn)行中的實(shí)例。支持基于瀏覽器的novnc客戶端。
nova-spicehtml5proxy daemon:通過一個SPICE連接來提供一個代理訪問運(yùn)行中的實(shí)例。支持基于瀏覽器的HTML5客戶端。
nova-xvpvncproxy daemon:通過一個VNC連接來提供一個代理訪問運(yùn)行中的實(shí)例。支持OpenStack-specific Java客戶端。
The queue
??在各進(jìn)程間傳遞消息的消息隊(duì)列服務(wù),通常使用RabbitMQ,也可以用其它的AMQP消息隊(duì)列實(shí)現(xiàn),如ZeroMQ
SQL database
??存儲云基礎(chǔ)架構(gòu)的構(gòu)建時和運(yùn)行時的狀態(tài)。包含:
?Available instance types
?Instances in use
?Available networks
?Projects
?
在controller上安裝計算服務(wù)nova
?
前提準(zhǔn)備工作:
???在安裝nova之前,必須創(chuàng)建databases, service credentials, 和API endpoints.
1、使用root登陸數(shù)據(jù)庫
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、授權(quán)訪問新創(chuàng)建的數(shù)據(jù)庫。
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)[root@Controller?/]#?source?admin-openrc1、創(chuàng)建計算服務(wù)憑證
創(chuàng)建onva用戶
[root@Controller /]# openstack user create --domain default --password-prompt nova
將nova用戶加入到admin角色和service項(xiàng)目
[root@Controller?~]#?openstack?role?add?--project?service?--user?nova?admi創(chuàng)建nova服務(wù)項(xiàng)目
[root@Controller?~]#?openstack?service?create?--name?nova??--description?"OpenStack?Compute"?compute1、創(chuàng)建計算服務(wù)service?endpoints openstack?endpoint?create?--region?RegionOne?compute?internal?http://controller:8774/v2.1
1、創(chuàng)建Placement用戶
[root@Controller ~]# openstack user create --domain default --password-prompt placement
1、添加Placement用戶到admin角色
[root@Controller?/]#?openstack?role?add?--project?service?--user?placement?admin1、創(chuàng)建placement API服務(wù)項(xiàng)
[root@Controller?/]#?openstack?service?create?--name?placement?--description?"Placement?API"?placement1、創(chuàng)建Placement API service endpoints:
[root@Controller?/]#?openstack?endpoint?create?--region?RegionOne?placement?public?http://controller:8778[root@Controller?/]#?openstack?endpoint?create?--region?RegionOne?placement?internal?http://controller:8778安裝和配置nova
1、安裝包
[root@Controller?/]#?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]部分配置數(shù)據(jù)庫連接
在[DEFAULT]部分配置到RabbitMQ消息隊(duì)列的訪問
transport_url = rabbit://openstack:123456@controller
在[api]和[keystone_authtoken]部分配置身份驗(yàn)證服務(wù)的訪問
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服務(wù)
[root@Controller?/]#?systemctl?restart?httpd1、初始nova_api數(shù)據(jù)庫
[root@Controller?/]#?su?-s?/bin/sh?-c?"nova-manage?api_db?sync"?nova1、創(chuàng)建cell
[root@Controller?/]#?su?-s?/bin/sh?-c?"nova-manage?cell_v2?create_cell?--name=cell1?--verbose"?nova1、初始nova數(shù)據(jù)庫
root@Controller?/]#?su?-s?/bin/sh?-c?"nova-manage?db?sync"?nova1、檢查nova?cell0和cell1是否正確注冊[root@Controller?/]#?nova-manage?cell_v2?list_cells[root@Controller?/]#?systemctl?enable?openstack-nova-api.service???openstack-nova-consoleauth.service?openstack-nova-scheduler.service???openstack-nova-conductor.service?openstack-nova-novncproxy.service[root@Controller?/]#?systemctl?start?openstack-nova-api.service???openstack-nova-consoleauth.service?openstack-nova-scheduler.service???openstack-nova-conductor.service?openstack-nova-novncproxy.service在compute上安裝nova
本節(jié)描述如何在計算節(jié)點(diǎn)上安裝和配置計算服務(wù)。服務(wù)支持多種hypervisors部署實(shí)例或虛擬機(jī)(VM)。為簡單起見,這個配置使用帶KVM的QEMU擴(kuò)展計算節(jié)點(diǎn),需要硬件支持虛擬機(jī)的硬件加速。在傳統(tǒng)的硬件,這樣的配置使用通用的QEMU虛擬機(jī)管理程序。
安裝和配置:
1、安裝包
[root@compute/]#?yum?install?openstack-nova-compute1、編輯和配置/etc/nova/nova.conf完成以下設(shè)置
在[DEFAULT]部分激活僅compute和metadata APIs:
enabled_apis = osapi_compute,metadata
在[DEFAULT]部分配置到RabbitMQ消息隊(duì)列的訪問
在[api]和[keystone_authtoken]部分配置身份驗(yàn)證服務(wù)的訪問
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選項(xiàng),地址指向controller管理IP地址
my_ip = 10.0.0.31
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
完成安裝
??1、確定計算節(jié)點(diǎn)是否支持虛擬機(jī)的硬件加速:
[root@Controller?/]#?egrep?-c?'(vmx|svm)'?/proc/cpuinfo如果返回的值為1或者更大,說明你的計算節(jié)點(diǎn)支持硬件加速,通常不需要額外配置,如果返回的值為0,說明你的計算節(jié)點(diǎn)不支持硬件加速,你必須將libvirt配置為QEMU,來替代默認(rèn)的KVM。編輯/etc/nova/nova.conf文件:
virt_type=qemu ?修改
2、啟動計算服務(wù),包括它的依賴項(xiàng),并配置它們在系統(tǒng)啟動時自動啟動:
[root@Controller?/]#?systemctl?enable?libvirtd.service?openstack-nova-compute.service [root@Controller?/]#?systemctl?start?libvirtd.service?openstack-nova-compute.service如果不能正常啟動,一般是controller上的消息服務(wù)的5672端口被拒絕訪問,配置防火墻允許即可。
添加計算節(jié)點(diǎn)到cell數(shù)據(jù)庫
操作在controller節(jié)點(diǎn)上
1、提供admin管理憑證以便操作命令,然后確認(rèn)數(shù)據(jù)庫中有計算主機(jī):
[root@Controller?~]#?source??admin-openrc [root@Controller?~]#?openstack?compute?service?list?--service?nova-compute1、發(fā)現(xiàn)計算主機(jī)
[root@Controller?/]#?su?-s?/bin/sh?-c?"nova-manage?cell_v2?discover_hosts?--verbose"?nova當(dāng)你添加新的計算節(jié)點(diǎn),你必須要在控制節(jié)點(diǎn)上運(yùn)行“nova-manage cell_v2 discover_hosts”命令來注冊這些新的計算節(jié)點(diǎn)。或者,你可以在配置文件中設(shè)置一個適當(dāng)?shù)臅r間間隔:/etc/nova/nova.conf,默認(rèn)是不自動發(fā)現(xiàn),單位是秒。
[scheduler]
discover_hosts_in_cells_interval = 300
檢查操作
??檢查計算服務(wù)的操作,在控制節(jié)點(diǎn)上執(zhí)行以下命令:
1、執(zhí)行admin命令行運(yùn)行環(huán)境
[root@Controller?~]#?source?admin-openrc1、列出服務(wù)組件,以驗(yàn)證成功啟動和注冊的每個進(jìn)程
[root@Controller?~]#?openstack?compute?service?list其輸處中有3個服務(wù)組件是激活在控制節(jié)點(diǎn),一個服務(wù)組件是激活在計算節(jié)點(diǎn)
1、列出身份服務(wù)中的API endpoints,以驗(yàn)證與身份服務(wù)的連通性,顯示結(jié)果和安裝的組件有關(guān)。
[root@Controller?~]#?openstack?catalog?list1、列出鏡像服務(wù)的列表,檢查和鏡像服務(wù)的連通性
[root@Controller?~]#?openstack?p_w_picpath?list1、檢查cells和placement API是否成功工作
[root@Controller?~]#??nova-status?upgrade?check后期更新OpenStack網(wǎng)絡(luò)neutron
轉(zhuǎn)載于:https://blog.51cto.com/chaixinwang/1968056
總結(jié)
以上是生活随笔為你收集整理的controller上安装计算服务nova的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享10个免费H5模版(主题)资源网站
- 下一篇: 能够识别扫描文字图片软件