簡介
本檔案介紹在思科原則套件(CPS)中新增、刪除或修改/ETC/HOSTS專案的程式。
必要條件
需求
思科建議您瞭解以下主題:
附註:思科建議您必須具有對CPS CLI的Root訪問許可權。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- CPS 20.2
- MongoDB v3.6.17
- 整合運算系統(UCS)-B
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
若要將網路流量傳送到主機,該主機的數字IP位址必須已知。IP地址傳統上寫為xxx.xxx.xxx.xxx,其中每個xxx代表IPv4網路地址的0到255之間的值。電腦需要這些地址,但人類很難記住數值。在Linux系統上,這些可讀名稱會通過解析程式庫轉換為數字IP對等項,該解析程式庫包含在作為glibc RPM軟體包一部分提供的libresolve.so檔案中。需要查詢數字IP地址以發現名稱問題的程式呼叫此庫。
主機名及其IP地址可在各種位置找到。其中一個是/ETC/HOSTS文件。
/ETC/HOSTS檔案包含本地主機和Internet網路中其他主機的IP主機名和地址。此檔案用於將名稱解析為地址(即將主機名轉換為其Internet地址)。
[root@installer ~]# cat /etc/hosts
127.0.0.1 localhost
#BEGIN_QPS_LOCAL_HOSTS
xxx.xxx.xxx.xxx lb01 dc1-lb01
xxx.xxx.xxx.xxx lb02 dc1-lb02
xxx.xxx.xxx.xxx sessionmgr01 dc1-sessionmgr01
xxx.xxx.xxx.xxx sessionmgr02 dc1-sessionmgr02
xxx.xxx.xxx.xxx qns01 dc1-qns01
xxx.xxx.xxx.xxx qns02 dc1-qns02
xxx.xxx.xxx.xxx pcrfclient01 dc1-pcrfclient01
xxx.xxx.xxx.xxx pcrfclient02 dc1-pcrfclient02
#END_QPS_LOCAL_HOSTS
#BEGIN_QPS_OTHER_HOSTS
xxx.xxx.xxx.xxx ntp-primary ntp
xxx.xxx.xxx.xxx ntp-secondary btp
xxx.xxx.xxx.xxx lbvip01 lbvip01
xxx.xxx.xxx.xxx lbvip02 lbvip02
xxx.xxx.xxx.xxx arbitervip arbitervip
#END_QPS_OTHER_HOSTS
xxx.xxx.xxx.xxx installer
[root@installer ~]#
問題
每當需要向CPS新增、刪除或更新本地主機或對等體的資訊時,必須將其主機詳細資訊新增、刪除或修改到/ETC/HOSTS中。
新增、刪除或修改/ETC/HOSTS條目的過程
1.在OpenStack中託管CPS的方法。
步驟1.備份/ETC/HOSTS和其他檔案。
從群集管理器運行以下命令:
# cp /etc/hosts /var/tmp/hosts_bkp_$(date +%Y-%m-%d)
# cp /var/qps/config/deploy/json/AdditionalHosts.js /var/tmp/AdditionalHosts.js_bkp
# cp /qsb_config/features/system/system.json /var/tmp/system.json_bkp
步驟2.驗證系統狀態。
從群集管理器運行此命令:
#curl -s http://installer:8458/api/system
Expected Output:
{"state":"deployed"}
步驟3.備份當前的其他主機配置。
從群集管理器運行此命令:
$ curl -k -X GET http://installer:8458/api/system/config/additional-hosts > /var/tmp/additional_hosts_$(date +%Y-%m-%d).yaml
步驟4.準備yaml檔案,並提供所需的附加主機詳細資訊。
從群集管理器運行此命令:
# cp /var/tmp/additional_hosts_$(date +%Y-%m-%d).yaml /var/tmp/additional_hosts_new.yaml
在additional_hosts_new.yaml中新增、刪除或修改條目。
例如:
$ vi /var/tmp/additional_hosts_new.yaml
---
- name: "ntp-primary"
ipAddress: "xxx.xxx.xxx.xxx"
alias: "ntp-primary"
- name: "ntp-secondary"
ipAddress: "xxx.xxx.xxx.xxx"
alias: "ntp-secondary"
- name: "corporate_nms_ip"
ipAddress: "xxx.xxx.xxx.xxx"
alias: "corporate_nms_ip"
- name: "corporate_syslog_ip"
ipAddress: "xxx.xxx.xxx.xxx"
alias: "corporate_syslog_ip"
步驟5.從集群管理器運行PUT API呼叫命令,以便在/ETC/HOSTS中新增所需的主機詳細資訊。
curl -i -X PUT http://installer:8458/api/system/config/additional-hosts -H "Content-Type: application/yaml" --data-binary "@additional_hosts_new.yaml"
附註:此命令必須從放置additional_hosts_new.yaml檔案的同一目錄執行。
步驟6.在glibc/ETC/HOSTS中驗證主機詳細資訊。
從兩個負載平衡器(LB)虛擬機(VM)運行此命令並驗證主機詳細資訊。
#cat /etc/hosts
步驟7.重新啟動兩個LB上的所有Qns進程。
運行此命令可重新啟動LB Qns進程。
Command Syntax:
#monit stop {Process Name}
#monit start {Process name}
Command example:
#monit stop qns-1
#monit start qns-1
2.在VMware中託管CPS的方法。
步驟1.根據需要登入到Cluster Manager,並分別在/var/qps/config/deploy/csv/Hosts.csv中新增、刪除或修改本地主機詳細資訊和/var/qps/config/deploy/csv/AdditionalHosts.csv中的對等體詳細資訊。
運行此命令可新增、刪除或修改Hosts.csv檔案中的本地主機詳細資訊。
#vi /var/qps/config/deploy/csv/Hosts.csv.
運行此命令可新增、刪除或修改AdditionalHosts.csv檔案中的對等體詳細資訊。
#vi /var/qps/config/deploy/csv/AdditionalHosts.csv.
步驟2.運行此命令以將新配置匯入到群集管理器。
#/var/qps/install/current/scripts/import/import_deploy.sh
步驟3.運行此命令以驗證Cluster Manager /ETC/HOSTS中的更改。
#cat /etc/hosts
步驟4.從群集管理器運行此命令以重建CPS包。
[root@installer ~]# /var/qps/install/current/scripts/build_all.sh
步驟5.運行此命令可下載所有Puppet指令碼、CPS軟體/ETC/HOSTS文件,並使用群集管理器中的新軟體更新每個虛擬機器。
[root@installer ~]# /var/qps/install/current/scripts/upgrade/reinit.sh
步驟6.運行此命令以驗證LB/ETC/HOSTS中的更改。
#cat /etc/hosts
步驟7.重新啟動兩個LB上的所有Qns進程。
運行此命令可重新啟動LB Qns進程。
Command Syntax:
#monit stop {Process Name}
#monit start {Process name}
Command exampls:
#monit stop qns-1
#monit start qns-1