上一篇文章分享了控制節點的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
# 主機名設置好就不能修改,不然會出問題,控制節點和計算節點配置相同,且都須要配置centos
hostname openstack02.zuiyoujie.com hostname echo "openstack02.zuiyoujie.com"> /etc/hostname cat /etc/hostname
vim /etc/hosts ----------------------------------- 192.168.1.81 openstack01.zuiyoujie.com controller 192.168.1.82 openstack02.zuiyoujie.com compute02 block02 object02 -----------------------------------
# 依然是將簡單的集羣內角色名解析也配置上去api
# 在CentOS7上面是firewalld服務器
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
setenforce 0 getenforce sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux grep SELINUX=disabled /etc/sysconfig/selinux
# 安裝時間同步的軟件包網絡
yum install chrony -y
vim /etc/chrony.conf ------------------------------------- # 修改引用控制節點openstack01的IP server 192.168.1.81 iburst -------------------------------------
systemctl restart chronyd.service
systemctl status chronyd.service
systemctl enable chronyd.service
systemctl list-unit-files |grep chronyd.service
timedatectl set-timezone Asia/Shanghai
chronyc sources
timedatectl status
# 至此,時間同步配置完成
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
# 很顯然,計算節點也須要安裝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 ----------------------------------------
yum update -y
yum install python-openstackclient openstack-selinux -y
# 至此,openstack計算節點的系統環境配置完成,虛擬機的話能夠關機作下快照
cd /server/tools
yum install openstack-nova-compute python-openstackclient openstack-utils -y
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
# 首先肯定您的計算節點是否支持虛擬機的硬件加速。
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'
# 須要啓動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
# 如下命令在控制節點操做:
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節點的狀態
# 參考文章:https://docs.openstack.org/nova/rocky/install/compute-install-rdo.html
cd /server/tools source keystone-admin-pass.sh
# 驗證是否成功註冊並啓動了每一個進程
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 | +----+------------------+---------------------------+----------+---------+-------+----------------------------+
#
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 | | | | | +-----------+-----------+-----------------------------------------+
#
openstack image list
# 實例演示:
[root@openstack01 tools]# openstack image list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | 78f5671b-fb2d-494f-8da7-25dbe425cad6 | cirros | active | +--------------------------------------+--------+--------+
#
# 檢查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集羣中
========= 完畢,呵呵呵呵 ========