高可用OpenStack(Queen版)集群-10.Nova計算節點


參考文檔:

  1. Install-guide:https://docs.openstack.org/install-guide/
  2. OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html
  3. 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html

十四.Nova計算節點

1. 安裝nova-compute

# 在全部計算節點安裝nova-compute服務,以compute01節點為例
[root@compute01 ~]# yum install python-openstackclient openstack-utils openstack-selinux -y
[root@compute01 ~]# yum install openstack-nova-compute -y

2. 配置nova.conf

# 在全部計算節點操作,以computer01節點為例;
# 注意”my_ip”參數,根據節點修改;
# 注意nova.conf文件的權限:root:nova
[root@compute01 ~]# cp /etc/nova/nova.conf /etc/nova/nova.conf.bak 
[root@compute01 ~]# egrep -v "^$|^#" /etc/nova/nova.conf 
[DEFAULT]
my_ip=172.30.200.41
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata
# 前端采用haproxy時,服務連接rabbitmq會出現連接超時重連的情況,可通過各服務與rabbitmq的日志查看;
# transport_url=rabbit://openstack:rabbitmq_pass@controller:5673
# rabbitmq本身具備集群機制,官方文檔建議直接連接rabbitmq集群;但采用此方式時服務啟動有時會報錯,原因不明;如果沒有此現象,強烈建議連接rabbitmq直接對接集群而非通過前端haproxy
transport_url=rabbit://openstack:rabbitmq_pass@controller01:5672,controller02:5672,controller03:5672
[api]
auth_strategy=keystone
[api_database]
[barbican]
[cache]
[cells]
[cinder]
[compute]
[conductor]
[console]
[consoleauth]
[cors]
[crypto]
[database]
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers=http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[ironic]
[key_manager]
[keystone]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller01:11211,controller02:11211,controller03:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova_pass
[libvirt]
# 通過“egrep -c '(vmx|svm)' /proc/cpuinfo”命令查看主機是否支持硬件加速,返回1或者更大的值表示支持,返回0表示不支持;
# 支持硬件加速使用”kvm”類型,不支持則使用”qemu”類型;
# 一般虛擬機不支持硬件加速
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]
os_region_name=RegionTest
auth_type=password
auth_url=http://controller:35357/v3
project_name=service
project_domain_name=Default
username=placement
user_domain_name=Default
password=placement_pass
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[upgrade_levels]
[vault]
[vendordata_dynamic_auth]
[vmware]
[vnc]
enabled=true
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=$my_ip
# 因某些未做主機綁定的客戶端不能訪問”controller”名字,改為使用具體的ip地址
novncproxy_base_url=http://172.30.200.30:6080/vnc_auto.html
[workarounds]
[wsgi]
[xenserver]
[xvp]

3. 啟動服務

# 全部計算節點操作;
# 開機啟動
[root@compute01 ~]# systemctl enable libvirtd.service openstack-nova-compute.service

# 啟動
[root@compute01 ~]# systemctl restart libvirtd.service
[root@compute01 ~]# systemctl restart openstack-nova-compute.service

查看狀態
[root@compute01 ~]# systemctl status libvirtd.service
[root@compute01 ~]# systemctl status openstack-nova-compute.service

4. 向cell數據庫添加計算節點

# 在任意控制節點操作
[root@controller01 ~]# . admin-openrc

# 確認數據庫中含有主機
[root@controller01 ~]# openstack compute service list --service nova-compute

 1)手工發現計算節點

# 手工發現計算節點主機,即添加到cell數據庫
[root@controller01 ~]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

2)自動發現計算節點

# 在全部控制節點操作;
# 為避免新加入計算節點時,手動執行注冊操作”nova-manage cell_v2 discover_hosts”,可設置控制節點定時自動發現主機;
# 涉及控制節點nova.conf文件的[scheduler]字段;
# 如下設置自動發現時間為5min,可根據實際環境調節
[root@controller01 ~]# vim /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval=300

# 重啟nova服務,配置生效
[root@controller01 ~]# systemctl restart openstack-nova-api.service

5. 驗證

登陸dashboard,管理員-->計算-->虛擬機管理器

如果已注冊成功,在"虛擬機管理器"標簽下可發現計算節點,並能展示出各計算節點的資源;如果未注冊或注冊失敗,則"虛擬機管理器"標簽下無主機。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM