CentOS7安裝OpenStack(Rocky版)-05.安裝一個nova計算節點實例

上一篇文章分享了控制節點的nova計算服務的安裝方法,在實際生產環境中,計算節點一般會安裝一些單獨的節點提供服務,本文分享單獨的nova計算節點的安裝方法html

----------------  完美的分割線 -----------------python

# 參考文章:linux

https://docs.openstack.org/install-guide/environment.htmlredis

https://docs.openstack.org/nova/rocky/install/compute-install-rdo.html數據庫

計算節點的配置方法與控制節點基本相同,只是在時間同步上須要鏈接控制節點,保證openstack集羣內的服務器時間一致,不然會出現問題,須要注意vim

5.1.配置域名解析

1)配置主機名

# 主機名設置好就不能修改,不然會出問題,控制節點和計算節點配置相同,且都須要配置centos

hostname openstack02.zuiyoujie.com
hostname
echo "openstack02.zuiyoujie.com"> /etc/hostname
cat /etc/hostname

2)配置主機名解析

vim /etc/hosts
-----------------------------------
192.168.1.81    openstack01.zuiyoujie.com  controller
192.168.1.82    openstack02.zuiyoujie.com  compute02 block02 object02
-----------------------------------

# 依然是將簡單的集羣內角色名解析也配置上去api

5.2.關閉防火牆和selinux

1)關閉iptables

# 在CentOS7上面是firewalld服務器

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

2)關閉 selinux

setenforce 0
getenforce
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
grep SELINUX=disabled /etc/sysconfig/selinux

5.3.配置時間同步

1)在在計算節點配置時間同步服務

# 安裝時間同步的軟件包網絡

yum install chrony -y

2)編輯配置文件確認有如下配置

vim /etc/chrony.conf
-------------------------------------
# 修改引用控制節點openstack01的IP
server 192.168.1.81 iburst
-------------------------------------

3)重啓chronyd服務,並配置開機自啓動

systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service

4)設置時區,首次同步時間

timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status

# 至此,時間同步配置完成

5.4.配置相關yum源 

1)配置阿里雲的base和epel源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2)安裝openstack-rocky的倉庫

# 很顯然,計算節點也須要安裝openstack的yum源

yum install centos-release-openstack-rocky -y
yum clean all
yum makecache

# 也能夠手動建立OpenStack的阿里雲yum源地址

vim /etc/yum.repos.d/CentOS-OpenStack-Rocky.repo
----------------------------------------
[centos-openstack-rocky]
name=CentOS-7 - OpenStack rocky
baseurl=http://mirrors.aliyun.com/centos/7/cloud/$basearch/openstack-rocky/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud

[centos-openstack-rocky-test]
name=CentOS-7 - OpenStack rocky Testing
baseurl=http://mirrors.aliyun.com/centos/7/cloud/$basearch/openstack-rocky/
gpgcheck=0
enabled=0

[centos-openstack-rocky-debuginfo]
name=CentOS-7 - OpenStack rocky - Debug
baseurl=http://mirrors.aliyun.com/centos/7/cloud/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud

[centos-openstack-rocky-source]
name=CentOS-7 - OpenStack rocky - Source
baseurl=http://mirrors.aliyun.com/centos/7/cloud/$basearch/openstack-rocky/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud

[rdo-trunk-rocky-tested]
name=OpenStack rocky Trunk Tested
baseurl=http://mirrors.aliyun.com/centos/7/cloud/$basearch/rdo-trunk-rocky-tested/
gpgcheck=0
enabled=0
----------------------------------------

3)更新軟件包

yum update -y

4)安裝openstack客戶端相關軟件

yum install python-openstackclient openstack-selinux -y

# 至此,openstack計算節點的系統環境配置完成,虛擬機的話能夠關機作下快照

5.5.安裝nova計算節點相關軟件包

1)計算節點安裝nova軟件包

cd /server/tools
yum install openstack-nova-compute python-openstackclient openstack-utils -y

2)快速修改配置文件(/etc/nova/nova.conf)

openstack-config --set  /etc/nova/nova.conf DEFAULT my_ip 192.168.1.82
openstack-config --set  /etc/nova/nova.conf DEFAULT use_neutron True
openstack-config --set  /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set  /etc/nova/nova.conf DEFAULT enabled_apis  osapi_compute,metadata
openstack-config --set  /etc/nova/nova.conf DEFAULT transport_url  rabbit://openstack:openstack@controller
openstack-config --set  /etc/nova/nova.conf api auth_strategy  keystone 
openstack-config --set  /etc/nova/nova.conf keystone_authtoken auth_url http://controller:5000/v3
openstack-config --set  /etc/nova/nova.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set  /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set  /etc/nova/nova.conf keystone_authtoken project_domain_name default
openstack-config --set  /etc/nova/nova.conf keystone_authtoken user_domain_name default
openstack-config --set  /etc/nova/nova.conf keystone_authtoken project_name  service
openstack-config --set  /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set  /etc/nova/nova.conf keystone_authtoken password nova
openstack-config --set  /etc/nova/nova.conf vnc enabled True
openstack-config --set  /etc/nova/nova.conf vnc server_listen 0.0.0.0
openstack-config --set  /etc/nova/nova.conf vnc server_proxyclient_address  '$my_ip'
openstack-config --set  /etc/nova/nova.conf vnc novncproxy_base_url  http://controller:6080/vnc_auto.html
openstack-config --set  /etc/nova/nova.conf glance api_servers http://controller:9292
openstack-config --set  /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set  /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set  /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set  /etc/nova/nova.conf placement project_name service
openstack-config --set  /etc/nova/nova.conf placement auth_type password
openstack-config --set  /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set  /etc/nova/nova.conf placement auth_url http://controller:5000/v3
openstack-config --set  /etc/nova/nova.conf placement username placement
openstack-config --set  /etc/nova/nova.conf placement password placement

# 服務器組件監聽全部的 IP 地址,而代理組件僅僅監聽計算節點管理網絡接口的 IP 地址。

# 查看生效的配置:

egrep -v "^#|^$" /etc/nova/nova.conf
-------------------------------------------------------------
[root@openstack02 nova]# egrep -v "^#|^$" /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack@controller
my_ip = 192.168.1.82
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
log_date_format=%Y-%m-%d %H:%M:%S
log_file=nova-compute.log
log_dir=/var/log/nova
[api]
auth_strategy = keystone
[api_database]
[barbican]
[cache]
[cells]
[cinder]
[compute]
[conductor]
[console]
[consoleauth]
[cors]
[database]
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers = http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[ironic]
[key_manager]
[keystone]
[keystone_authtoken]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
[libvirt]
virt_type = qemu
[matchmaker_redis]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[pci]
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = placement
[placement_database]
[powervm]
[profiler]
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[upgrade_levels]
[vault]
[vendordata_dynamic_auth]
[vmware]
[vnc]
enabled = True
server_listen = 0.0.0.0
server_proxyclient_address = 192.168.1.82
novncproxy_base_url = http://controller:6080/vnc_auto.html
[workarounds]
[wsgi]
[xenserver]
[xvp]
[zvm]
-------------------------------------------------------------

# ok

3)配置虛擬機的硬件加速

# 首先肯定您的計算節點是否支持虛擬機的硬件加速。

egrep -c '(vmx|svm)' /proc/cpuinfo

# 若是返回位0,表示計算節點不支持硬件加速,須要配置libvirt使用QEMU方式管理虛擬機,使用如下命令:

openstack-config --set  /etc/nova/nova.conf libvirt virt_type  qemu
egrep -v "^#|^$" /etc/nova/nova.conf|grep 'virt_type'

# 若是返回爲其餘值,表示計算節點支持硬件加速且不須要額外的配置,使用如下命令:

openstack-config --set  /etc/nova/nova.conf libvirt virt_type  kvm 
egrep -v "^#|^$" /etc/nova/nova.conf|grep 'virt_type'

4)啓動nova相關服務,並配置爲開機自啓動

# 須要啓動2個服務

systemctl start libvirtd.service openstack-nova-compute.service 
systemctl status libvirtd.service openstack-nova-compute.service
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl list-unit-files |grep libvirtd.service
systemctl list-unit-files |grep openstack-nova-compute.service

5)將計算節點增長到cell數據庫

# 如下命令在控制節點操做:

cd /server/tools
source keystone-admin-pass.sh 

# 檢查確認數據庫有新的計算節點

openstack compute service list --service nova-compute

# 實例演示:

[root@openstack01 tools]# openstack compute service list --service nova-compute
openstack compute service list
+----+--------------+---------------------------+------+---------+-------+----------------------------+
| ID | Binary       | Host                      | Zone | Status  | State | Updated At                 |
+----+--------------+---------------------------+------+---------+-------+----------------------------+
|  6 | nova-compute | openstack02.zuiyoujie.com | nova | enabled | up    | 2018-10-29T12:02:40.000000 |
+----+--------------+---------------------------+------+---------+-------+----------------------------+

# 手動將新的計算節點添加到openstack集羣

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

# 實例演示:

[root@openstack01 tools]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
Found 2 cell mappings.
Skipping cell0 since it does not contain hosts.
Getting computes from cell 'cell1': c078477e-cb43-40c9-ad8b-a9fde183747d
Found 0 unmapped computes in cell: c078477e-cb43-40c9-ad8b-a9fde183747d

# 設置新建立節點自動註冊的任務(已經添加到配置文件中)

[scheduler]
discover_hosts_in_cells_interval = 300

# 至此,計算節點安裝完畢,接下來須要進行測試,檢查nova節點的狀態

5.6.在控制節點進行驗證

# 參考文章:https://docs.openstack.org/nova/rocky/install/compute-install-rdo.html

1)應用管理員環境變量腳本

cd /server/tools
source keystone-admin-pass.sh 

2)列表查看安裝的nova服務組件

# 驗證是否成功註冊並啓動了每一個進程

openstack compute service list

# 實例演示:

[root@openstack01 tools]# openstack compute service list
+----+------------------+---------------------------+----------+---------+-------+----------------------------+
| ID | Binary           | Host                      | Zone     | Status  | State | Updated At                 |
+----+------------------+---------------------------+----------+---------+-------+----------------------------+
|  1 | nova-conductor   | openstack01.zuiyoujie.com | internal | enabled | up    | 2018-10-29T12:02:47.000000 |
|  2 | nova-scheduler   | openstack01.zuiyoujie.com | internal | enabled | up    | 2018-10-29T12:02:47.000000 |
|  5 | nova-consoleauth | openstack01.zuiyoujie.com | internal | enabled | up    | 2018-10-29T12:02:42.000000 |
|  6 | nova-compute     | openstack02.zuiyoujie.com | nova     | enabled | up    | 2018-10-29T12:02:40.000000 |
+----+------------------+---------------------------+----------+---------+-------+----------------------------+

3)在身份認證服務中列出API端點以驗證其鏈接性

openstack catalog list

# 實例演示:

[root@openstack01 tools]# openstack catalog list
+-----------+-----------+-----------------------------------------+
| Name      | Type      | Endpoints                               |
+-----------+-----------+-----------------------------------------+
| keystone  | identity  | RegionOne                               |
|           |           |   admin: http://controller:5000/v3/     |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:5000/v3/  |
|           |           | RegionOne                               |
|           |           |   public: http://controller:5000/v3/    |
|           |           |                                         |
| glance    | image     | RegionOne                               |
|           |           |   admin: http://controller:9292         |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:9292      |
|           |           | RegionOne                               |
|           |           |   public: http://controller:9292        |
|           |           |                                         |
| nova      | compute   | RegionOne                               |
|           |           |   internal: http://controller:8774/v2.1 |
|           |           | RegionOne                               |
|           |           |   admin: http://controller:8774/v2.1    |
|           |           | RegionOne                               |
|           |           |   public: http://controller:8774/v2.1   |
|           |           |                                         |
| placement | placement | RegionOne                               |
|           |           |   public: http://controller:8778        |
|           |           | RegionOne                               |
|           |           |   admin: http://controller:8778         |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:8778      |
|           |           |                                         |
+-----------+-----------+-----------------------------------------+

#

4)在鏡像服務中列出已有鏡像已檢查鏡像服務的鏈接性

openstack image list

# 實例演示:

[root@openstack01 tools]# openstack image list
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| 78f5671b-fb2d-494f-8da7-25dbe425cad6 | cirros | active |
+--------------------------------------+--------+--------+

#

5)檢查nova各組件的狀態

# 檢查placement API和cell服務是否正常工做

nova-status upgrade check

# 實例演示:

[root@openstack01 tools]# nova-status upgrade check
+-------------------------------+
| 升級檢查結果                  |
+-------------------------------+
| 檢查: Cells v2                |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+
| 檢查: Placement API           |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+
| 檢查: Resource Providers      |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+
| 檢查: Ironic Flavor Migration |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+
| 檢查: API Service Version     |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+
| 檢查: Request Spec Migration  |
| 結果: 成功                    |
| 詳情: None                    |
+-------------------------------+

# 至此,nova計算節點,安裝完畢並添加到openstack集羣中

========= 完畢,呵呵呵呵 ========

相關文章
相關標籤/搜索