openstack
時間:2016年11月28日
Nova是openstack最早的兩塊模塊之一,另一個是對象存儲swift
。在openstack體系中一個叫做計算節(jié)點
,一個叫做控制節(jié)點
。這個主要和nova相關(guān),我們把安裝為計算節(jié)點nova-compute
,把除了nova-compute叫做控制節(jié)點。nova-compute是創(chuàng)建虛擬機的,只是創(chuàng)建虛擬機,所有的控制都在另一臺上。
nova有非常多的組件(服務)
Nova服務介紹API:
負責接受和響應外部請求。支持OpenStack API,EC2 APICert:
負責身份認證EC 2Scheduler:
用于云主機調(diào)度Conductor:
計算節(jié)點訪問數(shù)據(jù)的中間件Consoleauth:
用于控制臺的授權(quán)驗證Novncproxy:
VNC代理
提示:EC 2
是亞馬遜云主機的意思
Nova scheduler
Nova scheduler
模塊在openstack中的作用就是決策虛擬機創(chuàng)建在那個主機(計算節(jié)點)上
決策一個虛擬機應該調(diào)度到那個物理節(jié)點,需要分兩個步驟:
1、過濾(Fliter)
2、計算權(quán)值(Weight)
提示:我們經(jīng)常會出現(xiàn)找不到有效的主機?為什么?
因為nova scheduler
認為沒有資源創(chuàng)建虛擬機,即使你有100G
內(nèi)存,如果nova scheduler
認為你沒有資格照樣無法進行創(chuàng)建。scheduler
作用就是決策虛擬機創(chuàng)建在那個主機上
經(jīng)過主機過濾后,需要對主機進行權(quán)值的計算,根據(jù)策略選擇相應的某一臺主機(對于每一個要創(chuàng)建的虛擬機而言)
控制節(jié)點設置:
數(shù)據(jù)庫以及keystone修改我們在前面已經(jīng)完成,所以在此跳過
安裝軟件包
[root@linux-node1 ~]# yum install openstack-nova-api openstack-nova-conductor \> openstack-nova-console openstack-nova-novncproxy \> openstack-nova-scheduler在配置文件中修改數(shù)據(jù)庫的連接地址
[root@linux-node1 ~]# vim /etc/nova/nova.conf…[database]connection=mysql+pymysql://nova:nova@192.168.56.11/nova…[api_database]connection=mysql+pymysql://nova:nova@192.168.56.11/nova_api提示:不要修改錯了,每個都在在相對應的模塊下面進行修改
同步數(shù)據(jù)庫
[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage api_db sync" nova[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage db sync" nova提示:db的有警告可以忽略
檢查是否有表結(jié)構(gòu)
[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova -pnova -e "use nova;show tables;"[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova_api -pnova_api -e "use nova_api;show tables;"配置keystone
[root@linux-node1 ~]# vim /etc/nova/nova.conf…[keystone_authtoken]auth_uri = http://192.168.56.11:5000auth_url = http://192.168.56.11:35357memcached_servers = 192.168.56.11:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = nova…[DEFAULT]auth_strategy=keystone#打開注釋,此行代表使用keystone進行認證RabbitMq(消息隊列配置)
因為nova
服務之間使用消息隊列進行溝通,所以我們需要配置rabbitmq
配置nova自己的一些功能
設置啟用的元數(shù)據(jù)API[root@linux-node1 ~]# vim /etc/nova/nova.conf[DEFAULT]enabled_apis=osapi_compute,metadata啟動網(wǎng)絡服務支持use_neutron=true關(guān)閉防火墻firewall_driver=nova.virt.firewall.NoopFirewallDriver提示:默認情況下,計算服務使用內(nèi)置的防火墻服務。由于網(wǎng)絡服務包含了防火墻服務,你必須使用nova.virt.firewall.NoopFirewallDriver
防火墻服務來禁用掉計算服務內(nèi)置的防火墻服務
我們不配置my IP
,因為My IP是一個大坑
配置VNC
代理使用控制節(jié)點的管理接口IP地址
配置glance鏡像服務API
[root@linux-node1 ~]# vim /etc/nova/nova.conf[glance]api_servers=http://192.168.56.11:9292配置鎖路徑
[oslo_concurrency]…lock_path=/var/lib/nova/tmpnova配置說明
[root@linux-node1 ~]# grep '^[a-z]' /etc/nova/nova.confenabled_apis=osapi_compute,metadata #啟動apiauth_strategy=keystone #設置keystonefirewall_driver=nova.virt.firewall.NoopFirewallDriver #關(guān)閉防火墻use_neutron=true #使用neutronrpc_backend=rabbit #使用rabbitmqconnection = mysql+pymysql://nova:nova@192.168.56.11/nova_api #數(shù)據(jù)庫地址connection = mysql+pymysql://nova:nova@192.168.56.11/nova #數(shù)據(jù)庫地址api_servers=http://192.168.56.11:9292 #glance api地址auth_uri = http://192.168.56.11:5000 #keystoneauth_url = http://192.168.56.11:35357 #keystonememcached_servers = 192.168.56.11:11211 #keystoneauth_type = password #keystoneproject_domain_name = default #keystoneuser_domain_name = default #keystoneproject_name = service #keystone username = nova #keystonepassword = nova #keystonelock_path=/var/lib/nova/tmp #鎖路徑rabbit_host=192.168.56.11 #rabbitmqrabbit_port=5672 #rabbitmqrabbit_userid=openstack #rabbitmqrabbit_password=openstack #rabbitmqvncserver_listen=192.168.56.11 #VNCvncserver_proxyclient_address=192.168.56.11 #VNC設置開機啟動,并啟動服務
# 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.servicenova啟動成功之后還需要去keystone
上進行注冊,否則別人無法進行連接
創(chuàng)建nova服務
[root@linux-node1 ~]# source admin-openstack.sh [root@linux-node1 ~]# openstack service create --name nova --description "Openstack Compute " compute+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | Openstack Compute || enabled | True || id | c9aca55493924f2ba9cb5b304cb1322f || name | nova || type | compute |+-------------+----------------------------------+創(chuàng)建Compute服務api端點
[root@linux-node1 ~]# openstack endpoint create --region RegionOne \> compute public http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 71414f00b2834e8190ee25c219e3d3c4 || interface | public || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne compute admin http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 9162f57b72e244f799086eeca3b7df6c || interface | admin || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne compute internal http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 8fb3d0da5ee64ed693b7b4608844d5ff || interface | internal || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+檢查控制節(jié)點是否成功
[root@linux-node1 ~]# openstack host list+---------------------------+-------------+----------+| Host Name | Service | Zone |+---------------------------+-------------+----------+| linux-node1.abcdocker.com | consoleauth | internal || linux-node1.abcdocker.com | conductor | internal || linux-node1.abcdocker.com | scheduler | internal |+---------------------------+-------------+----------+我們在架構(gòu)中想構(gòu)建幾個虛擬機就要看計算節(jié)點的配置,虛擬化工具我們只能使用VMware,因為VMware支持嵌套虛擬化,其他的虛擬化軟件不支持
我們nova計算節(jié)點IP是192.168.56.12
需要開啟虛擬化技術(shù)
因為需要使用kvm來創(chuàng)建虛擬機,所以我們需要開啟虛擬化。如果是服務器需要在bios上開啟
環(huán)境準備
[root@linux-node2 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-node2 ~]# uname -r3.10.0-327.36.2.el7.x86_64時間同步
[root@linux-node1 ~]# yum install ntpdate -y[root@linux-node1 ~]# ntpdate time1.aliyun.com[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai #設置時區(qū)[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm安裝openstack倉庫
[root@linux-node2 ~]# yum install -y centos-release-openstack-mitaka安裝openstack客戶端
[root@linux-node1 ~]# yum install -y python-openstackclient因為控制節(jié)點的nova和計算節(jié)點的配置除了沒有數(shù)據(jù)庫其他的都是相同的,這里我們采取scp
的形式進行修改
安裝openstack SELinux管理包
[root@linux-node2 ~]# yum install -y openstack-selinux安裝nova
[root@linux-node2 ~]# yum install -y openstack-nova-compute步驟:
1、從控制節(jié)點scp nova.conf
2、 刪除數(shù)據(jù)庫的配置
3、 vnc的配置進行變更
4、 設置一個虛擬化的選項
提示:要注意nova.conf
文件的權(quán)限
時間必須同步!!!!
1.將控制節(jié)點的nova.conf
復制到計算節(jié)點上
2.進入計算節(jié)點進行修改
首先保證權(quán)限一致[root@linux-node2 nova]# ll /etc/nova/nova.conf -rw-r----- 1 root nova 184332 Nov 18 17:02 /etc/nova/nova.conf3.修改配置文件
[root@linux-node2 nova]# vim /etc/nova/nova.conf#connection =#connection =搜索mysql將mysql路徑注釋掉配置vnc
novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.htmlvncserver_listen=0.0.0.0vncserver_proxyclient_address=192.168.56.125384行enabled=true提示:服務器組件監(jiān)聽所有的 IP 地址,而代理組件僅僅監(jiān)聽計算節(jié)點管理網(wǎng)絡接口的 IP 地址。基本的 URL 指示您可以使用 web 瀏覽器訪問位于該計算節(jié)點上實例的遠程控制臺的位置。
選擇虛擬化類型
確定您的計算節(jié)點是否支持虛擬化
的硬件加速。egrep -c '(vmx|svm)' /proc/cpuinfo
如果這個命令返回了1
或不等于0
的值,那么你的計算節(jié)點支持硬件加速且不需要額外的配置。
如果這個命令返回了 0
值,那么你的計算節(jié)點不支持硬件加速。你必須配置 libvirt
來使用 QEMU
去代替 KVM
KVM文章:http://www.abcdocker.com/abcdocker/1627
在 /etc/nova/nova.conf
文件的 [libvirt]
區(qū)域做出如下的編輯:
總結(jié)nova.conf
修改了如下五行
設置開機啟動
[root@linux-node2 ~]# systemctl enable libvirtd openstack-nova-compute[root@linux-node2 ~]# systemctl start libvirtd openstack-nova-compute列出服務組件,以驗證是否成功啟動并注冊了每個進程:
[root@linux-node1 ~]# source admin-openstack.sh [root@linux-node1 ~]# openstack host list+---------------------------+-------------+----------+| Host Name | Service | Zone |+---------------------------+-------------+----------+| linux-node1.abcdocker.com | consoleauth | internal || linux-node1.abcdocker.com | conductor | internal || linux-node1.abcdocker.com | scheduler | internal || linux-node2.abcdocker.com | compute | nova |+---------------------------+-------------+----------+該輸出應該顯示三個服務組件在控制節(jié)點上啟用,一個服務組件在計算節(jié)點上啟用。查看nova
和keystone
是否正常
查看nova和glance服務相互是否正常
[root@linux-node1 ~]# nova p_w_picpath-list+--------------------------------------+--------+--------+--------+| ID | Name | Status | Server |+--------------------------------------+--------+--------+--------+| fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros | ACTIVE | |+--------------------------------------+--------+--------+--------+再次提示:時間必須同步!!!
nova
安裝到此截止!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:OpenStack計算服務Nova[四]-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://vcdvsql.cn/article10/ieggo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、ChatGPT、域名注冊、面包屑導航、移動網(wǎng)站建設、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)