目录

简介

先决条件

要求

使用的组件

背景信息

问题

添加、删除或修改/ETC/HOSTS条目的步骤

简介

本文档介绍在思科策略套件(CPS)中添加、删除或修改/ETC/HOSTS条目的过程。

先决条件

要求

Cisco 建议您了解以下主题：

- Linux

- CPS

注意：思科建议您必须拥有对CPS CLI的根访问权限。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 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文件，并使用群集管理器中的新软件更新每个VM。

[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