소개
이 문서에서는 Cisco CPS(Policy Suite)에서 /ETC/HOSTS 항목을 추가, 삭제 또는 수정하는 절차에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
참고: CPS CLI에 대한 권한 루트 액세스 권한이 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- CPS 20.2
- MongoDB v3.6.17
- UCS(Unified Computing System)-B
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보
네트워크 트래픽을 호스트로 전송하려면 해당 호스트의 숫자 IP 주소를 알아야 합니다. IP 주소는 일반적으로 xxx.xxx.xxx.xxx로 쓰여집니다. 여기서 각 xxx는 IPv4 네트워크 주소의 0~255의 값을 나타냅니다. 컴퓨터는 이러한 주소를 필요로 하지만, 사람들은 숫자 값을 기억하기가 어렵습니다. Linux 시스템에서 이 읽을 수 있는 이름은 glibc RPM 패키지의 일부로 제공되는 libresolve.so 파일에 포함된 해결 프로그램 라이브러리에 의해 숫자 IP로 변환됩니다. 이 라이브러리에 대한 이름 문제 호출에 대한 숫자 IP 주소를 조회해야 하는 프로그램입니다.
호스트 이름과 IP 주소는 다양한 위치에서 찾을 수 있습니다. 그중 하나는 /ETC/HOSTS 파일입니다.
/ETC/HOSTS 파일에는 로컬 호스트 및 인터넷 네트워크의 다른 호스트에 대한 IP 호스트 이름과 주소가 포함됩니다. 이 파일은 호스트 이름을 주소로 변환하는 데 사용됩니다(즉, 호스트 이름을 해당 인터넷 주소로 변환하는).
[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(Load Balancer) VM(Virtual Machines) 모두에서 이 명령을 실행하고 호스트 세부 정보를 확인합니다.
#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단계. 클러스터 관리자에 로그인하여 로컬 호스트 세부 정보를 /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단계. 이 명령을 실행하여 클러스터 관리자/ETC/HOSTS의 변경 사항을 확인합니다.
#cat /etc/hosts
4단계. 클러스터 관리자에서 이 명령을 실행하여 CPS 패키지를 다시 작성합니다.
[root@installer ~]# /var/qps/install/current/scripts/build_all.sh
5단계. 이 명령을 실행하여 모든 Puppet 스크립트, CPS 소프트웨어 /ETC/HOSTS 파일을 다운로드하고 각 VM을 Cluster Manager에서 새 소프트웨어로 업데이트합니다.
[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