openstack-快速新增計算節點
阿新 • • 發佈:2020-07-14
準備工作
在一個已經安裝好nova及neutron服務的計算節點上,將nova和neutron服務下的所有配置檔案及目錄進行打包,拷貝到需要進行計算節點新增的伺服器的指定目錄下 ##nova 1、cd /etc/nova/ 2、tar czvf nova-compute.tar.gz ./* 3、scp nova-compute.tar.gz 172.31.7.109:/usr/local/src/openstack-compute/ ##neutron 1、cd /etc/neutron/ 2、tar czvf neutron-compute.tar.gz ./* 3、scp neutron-compute.tar.gz 172.31.7.109:/usr/local/src/openstack-compute/ ##sysctl.conf核心引數檔案 1、scp /etc/sysctl.conf 172.31.7.109:/usr/local/src/openstack-compute/ #核心引數中需要有net.bridge.bridge-nf-call-iptables = 1 和 net.bridge.bridge-nf-call-ip6tables = 1 ##limits資源限制檔案 1、scp /etc/security/limits.conf 172.31.7.109:/usr/local/src/openstack-compute/ ##拷貝openstack網橋裝置自動繫結eth0網絡卡修改後的py檔案 1、scp /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py 172.31.7.109:/usr/local/src/openstack-compute
在新的node節點上編輯自動新增計算節點的指令碼
1、mkdir /usr/local/src/openstack-compute 2、cd /usr/local/src/openstack-compute 3、vim openstack-compute-install.sh #!/bin/bash echo "即將開始時間同步" sleep 1 /usr/sbin/ntpdate time1.aliyun.com && hwclock -w echo "時間同步完成" echo "當前伺服器時間: `date '+%Y年%m月%d日 %H點%M分%S秒'`" sleep 1 echo "即將開始系統優化,包括核心引數、資源限制以及歷史命令格式" sleep 1 \cp limits.conf /etc/security/limits.conf #\cp是強制拷貝,覆蓋已有檔案 \cp sysctl.conf /etc/sysctl.conf sleep 1 echo 'export HISTTIMEFORMAT="%F %T `whoami` "'>> /etc/profile OPENSTACK_VIP="172.31.7.248" echo "${OPENSTACK_VIP} openstack-vip.linux.local" >> /etc/hosts echo "系統引數優化完成" sleep 1 #install openstack-T yum repo echo "即將開始安裝openstack T版yum源" yum install centos-release-openstack-train.noarch -y yum install python-openstackclient openstack-selinux -y echo "openstack T版yum源安裝完成" sleep 1 #install nova echo "即將開始安裝nova" yum install openstack-nova-compute -y echo "nova服務安裝完成,即將開始替換配置檔案" sleep 1 tar xvf nova-compute.tar.gz -C /etc/nova/ NODE_IP=`ifconfig eth0 | grep -w "inet" | awk '{print $2}'` echo "當前計算節點的管理IP是: ${NODE_IP}" sed -i "s/^server_proxyclient_address.*/server_proxyclient_address = ${NODE_IP}/" /etc/nova/nova.conf echo "nova配置檔案替換成功" sleep 1 echo "即將啟動nova服務" systemctl start openstack-nova-compute libvirtd if [ $? = 0 ];then systemctl enable openstack-nova-compute libvirtd echo "nova服務啟動成功" sleep 1 else echo "nova服務啟動失敗" exit 7 fi #install neutron echo "即將開始安裝neutron" yum install openstack-neutron-linuxbridge ebtables ipset -y echo "neutron安裝完成" sleep 1 tar xvf neutron-compute.tar.gz -C /etc/neutron/ \cp linuxbridge_neutron_agent.py /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/ systemctl start neutron-linuxbridge-agent if [ $? = 0 ];then echo "neutron服務啟動成功" sleep 1 systemctl enable neutron-linuxbridge-agent && sysctl -p echo "當前伺服器時間: `date '+%Y年%m月%d日 %H點%M分%S秒'`" sleep 1 else echo "neutron服務啟動失敗" exit 7 fi echo "當前計算節點nova和neutron服務安裝並配置完成,一分鐘後將重啟伺服器,請在伺服器重啟後檢視nova和neutron日誌是否有異常日誌或到controller節點驗證" sleep 3 shutdown -r +1 "系統將在一分鐘後重啟,請重啟後驗證服務是否正常" #-r引數是關機後重啟;使用shutdown關機會有互動過程,這樣可以不會立即重啟 4、ll /usr/local/src/openstack-compute -rw-r--r-- 1 root root 593 Apr 27 17:42 limits.conf -rw-r--r-- 1 root root 47076 Apr 27 19:49 linuxbridge_neutron_agent.py -rw-r--r-- 1 root root 15466 Apr 27 19:25 neutron-compute.tar.gz -rw-r--r-- 1 root root 51206 Apr 27 17:57 nova-compute.tar.gz -rwxr-xr-x 1 root root 2436 Apr 27 20:20 openstack-compute-install.sh -rw-r--r-- 1 root root 2310 Apr 27 17:45 sysctl.conf 5、bash openstack-compute-install.sh #進行自動化部署
驗證測試
##controller節點執行 1、neutron agent-list #檢視是否能夠檢視到新新增節點的neutron服務 2、nova service-list #檢視是否能夠檢視到新新增節點的nova服務 ##新增完的計算節點需要檢視日誌 1、tail -f /var/log/neutron/*.log #日誌中不能有任何報錯 2、tail -f /var/log/nova/*.log ##在dashboard上建立虛擬機器進行測試,檢視新建立的虛擬機器是否分配到新新增的node節點上 1、brctl show #在新新增的node節點上檢視建立完虛擬機器後,brq網橋裝置是否繫結到物理機上的eth0網絡卡 2、virsh list #檢視當前node節點的虛擬機器列表
從openstack中下線node節點
當從openstack中的nova和neutron服務列表中刪除了需要下線的node節點後,就可以把需要下線的伺服器進行下線即可
1、neutron agent-list #檢視需要下線的node節點的neutron服務的ID
2、neutron agent-delete ID #從openstack的neutron服務列表中,刪除指定的node節點
3、nova service-list #檢視需要下線的node節點的nova服務的ID
4、nova service-delete ID #從openstack的nova服務列表中,刪除指定的node節點