목차

소개

배경 정보

약어

MoP의 워크플로

사전 요구 사항

상태 확인

백업

새 OSPD 노드 설치

UCS 서버 설치

Red Hat 설치

Red Hat ISO 이미지 마운트

Red Hat Enterprise Linux 설치

언더클라우드 복원

백업을 기반으로 하는 언더클라우드 설치 준비

Red Hat 등록 완료

언더클라우드 복원

복원된 언더클라우드를 오버클라우드에 다시 연결

완료된 복원 확인

ID 서비스(Keystone) 확인 작업

향후 노드 자체 검사를 위한 이미지 업로드

펜싱 다시 시작

관련 정보

소개

이 문서에서는 Ultra-M 설정에서 OSPD(OpenStack Platform Director)를 호스트하는 결함 있는 서버를 교체하는 데 필요한 단계에 대해 설명합니다.

배경 정보

Ultra-M은 VNF의 구축을 간소화하도록 설계된 사전 패키지 및 검증된 가상 모바일 패킷 코어 솔루션입니다. OpenStack은 Ultra-M용 VIM(Virtualized Infrastructure Manager)이며 다음 노드 유형으로 구성됩니다.

- 컴퓨팅

- 개체 스토리지 디스크 - 컴퓨팅(OSD - 컴퓨팅)

- 컨트롤러

- OSPD

이 그림에는 Ultra-M의 고급 아키텍처와 관련 구성 요소가 나와 있습니다.

UltraM 아키텍처

이 문서는 Cisco Ultra-M 플랫폼에 대해 잘 알고 있는 Cisco 직원을 대상으로 하며, OSPD 서버 교체 시 OpenStack 레벨에서 수행하는 데 필요한 단계에 대해 자세히 설명합니다.

참고: 이 문서의 절차를 정의하기 위해 Ultra M 5.1.x 릴리스가 고려됩니다.

약어

VNF

가상 네트워크 기능

CF

제어 기능

SF

서비스 기능

Esc 키

Elastic Service Controller

자루걸레

절차 방법

OSD

개체 스토리지 디스크

HDD

하드 디스크 드라이브

SSD

SSD(Solid State Drive)

빔

가상 인프라 관리자

VM

가상 머신

엠

요소 관리자

UAS

Ultra Automation 서비스

UUID

보편적으로 고유한 식별자

MoP의 워크플로

교체 절차의 상위 레벨 워크플로

사전 요구 사항

상태 확인

OSPD 서버를 교체하기 전에 Red Hat OpenStack Platform 환경의 현재 상태를 확인하고, 교체 프로세스가 진행 중일 때 복잡성을 방지하기 위해 정상 상태인지 확인하는 것이 중요합니다.

OpenStack 스택 및 노드 목록의 상태를 확인합니다.

[stack@director ~]$ source stackrc

[stack@director ~]$ openstack stack list --nested

[stack@director ~]$ ironic node-list

[stack@director ~]$ nova list

모든 언더클라우드 서비스가 OSP-D 노드에서 로드되고 활성 상태이며 실행 중인지 확인합니다.

[stack@director ~]$ systemctl list-units "openstack*" "neutron*" "openvswitch*"

UNIT                                       LOAD   ACTIVE SUB     DESCRIPTION

neutron-dhcp-agent.service                 loaded active running OpenStack Neutron DHCP Agent

neutron-openvswitch-agent.service          loaded active running OpenStack Neutron Open vSwitch Agent

neutron-ovs-cleanup.service                loaded active exited  OpenStack Neutron Open vSwitch Cleanup Utility

neutron-server.service                     loaded active running OpenStack Neutron Server

openstack-aodh-evaluator.service           loaded active running OpenStack Alarm evaluator service

openstack-aodh-listener.service            loaded active running OpenStack Alarm listener service

openstack-aodh-notifier.service            loaded active running OpenStack Alarm notifier service

openstack-ceilometer-central.service       loaded active running OpenStack ceilometer central agent

openstack-ceilometer-collector.service     loaded active running OpenStack ceilometer collection service

openstack-ceilometer-notification.service  loaded active running OpenStack ceilometer notification agent

openstack-glance-api.service               loaded active running OpenStack Image Service (code-named Glance) API server

openstack-glance-registry.service          loaded active running OpenStack Image Service (code-named Glance) Registry server

openstack-heat-api-cfn.service             loaded active running Openstack Heat CFN-compatible API Service

openstack-heat-api.service                 loaded active running OpenStack Heat API Service

openstack-heat-engine.service              loaded active running Openstack Heat Engine Service

openstack-ironic-api.service               loaded active running OpenStack Ironic API service

openstack-ironic-conductor.service         loaded active running OpenStack Ironic Conductor service

openstack-ironic-inspector-dnsmasq.service loaded active running PXE boot dnsmasq service for Ironic Inspector

openstack-ironic-inspector.service         loaded active running Hardware introspection service for OpenStack Ironic

openstack-mistral-api.service              loaded active running Mistral API Server

openstack-mistral-engine.service           loaded active running Mistral Engine Server

openstack-mistral-executor.service         loaded active running Mistral Executor Server

openstack-nova-api.service                 loaded active running OpenStack Nova API Server

openstack-nova-cert.service                loaded active running OpenStack Nova Cert Server

openstack-nova-compute.service             loaded active running OpenStack Nova Compute Server

openstack-nova-conductor.service           loaded active running OpenStack Nova Conductor Server

openstack-nova-scheduler.service           loaded active running OpenStack Nova Scheduler Server

openstack-swift-account-reaper.service     loaded active running OpenStack Object Storage (swift) - Account Reaper

openstack-swift-account.service            loaded active running OpenStack Object Storage (swift) - Account Server

openstack-swift-container-updater.service  loaded active running OpenStack Object Storage (swift) - Container Updater

openstack-swift-container.service          loaded active running OpenStack Object Storage (swift) - Container Server

openstack-swift-object-updater.service     loaded active running OpenStack Object Storage (swift) - Object Updater

openstack-swift-object.service             loaded active running OpenStack Object Storage (swift) - Object Server

openstack-swift-proxy.service              loaded active running OpenStack Object Storage (swift) - Proxy Server

openstack-zaqar.service                    loaded active running OpenStack Message Queuing Service (code-named Zaqar) Server

openstack-zaqar@1.service                  loaded active running OpenStack Message Queuing Service (code-named Zaqar) Server Instance 1

openvswitch.service                        loaded active exited  Open vSwitch

LOAD   = Reflects whether the unit definition was properly loaded.

ACTIVE = The high-level unit activation state, i.e. generalization of SUB.

SUB    = The low-level unit activation state, values depend on unit type.

37 loaded units listed. Pass --all to see loaded but inactive units, too.

To show all installed unit files use 'systemctl list-unit-files'.

백업

백업 프로세스를 수행하기 전에 사용 가능한 디스크 공간이 충분한지 확인합니다. 이 tarball은 최소 3.5GB로 예상됩니다.

[stack@director ~]$df -h

언더클라우드 노드의 데이터를 언더클라우드 백업-[timestamp].tar.gz라는 파일에 백업하려면 루트 사용자로 이 명령을 실행합니다.

[root@director ~]# mysqldump --opt --all-databases > /root/undercloud-all-databases.sql

[root@director ~]# tar --xattrs -czf undercloud-backup-`date +%F`.tar.gz /root/undercloud-all-databases.sql

/etc/my.cnf.d/server.cnf /var/lib/glance/images /srv/node /home/stack

tar: Removing leading `/' from member names

새 OSPD 노드 설치

UCS 서버 설치

새 UCS C240 M4 서버를 설치하는 단계와 초기 설정 단계는 Cisco UCS C240 M4 서버 설치 및 서비스 가이드에서 참조할 수 있습니다.

CIMC IP를 사용하여 서버에 로그인합니다.

펌웨어가 이전에 사용한 권장 버전에 따라 다르면 BIOS 업그레이드를 수행합니다. BIOS 업그레이드 단계는 Cisco UCS C-Series Rack-Mount Server BIOS Upgrade Guide에 나와 있습니다.

물리적 드라이브의 상태를 확인합니다. 구성되지 않은 상태여야 합니다. 정상:

여기 이미지에 표시된 대로 Storage(스토리지) > Cisco 12G SAS Modular Raid Controller (SLOT-HBA)(Cisco 12G SAS 모듈형 RAID 컨트롤러(SLOT-HBA)) > Physical Drive Info(물리적 드라이브 정보)로 이동합니다.

RAID 레벨 1의 물리적 드라이브에서 가상 드라이브를 생성합니다.

이미지에 표시된 대로 Storage(스토리지) > Cisco 12G SAS Modular Raid Controller (SLOT-HBA) > Controller Info(컨트롤러 정보) > Create Virtual Drive from Unused Physical Drives(사용되지 않은 물리적 드라이브에서 가상 드라이브 만들기)로 이동합니다.

VD를 선택하고 이미지에 표시된 대로 Set as Boot Drive(부트 드라이브로 설정)를 구성합니다.

IPMI over LAN 활성화:

이미지에 표시된 대로 Admin(관리) > Communication Services(통신 서비스) > Communication Services(통신 서비스)로 이동합니다.

하이퍼스레딩을 비활성화합니다.

이미지에 표시된 대로 Compute(컴퓨팅) > BIOS > Configure BIOS(BIOS 구성) > Advanced(고급) > Processor Configuration(프로세서 컨피그레이션)으로 이동합니다.

참고: 여기에 표시된 이미지 및 이 섹션에서 설명한 컨피그레이션 단계는 펌웨어 버전 3.0(3e)을 참조하며, 다른 버전에서 작업하는 경우 약간의 차이가 있을 수 있습니다.

Red Hat 설치

Red Hat ISO 이미지 마운트

1. OSP-D 서버에 로그인합니다.

2. KVM 콘솔을 시작합니다

3. 다음으로 이동 Virtual Media > 가상 디바이스 활성화. 세션을 수락하고 향후 연결에 대한 설정을 기억하는 것을 활성화합니다.

4. 선택 Virtual Media > CD/DVD 매핑Red Hat ISO 이미지를 매핑합니다

5. 선택 전원 > 시스템 재설정(웜 부팅) 시스템을 재부팅합니다.

6. 다시 시작하면 F6및 선택 Cisco vKVM 매핑 vDVD1.22및 입력 사항.

Red Hat Enterprise Linux 설치

참고: 이 섹션의 절차는 구성해야 하는 최소 매개변수 수를 식별하는 설치 프로세스의 간소화된 버전을 나타냅니다.

1. 설치를 시작하려면 Red Hat Enterprise Linux(RHEL)를 설치하는 옵션을 선택합니다.

2. 소프트웨어 선택 > 최소 설치만을 선택합니다.

3. 네트워크 인터페이스(eno1 및 eno2)를 구성합니다.

4. 네트워크 및 호스트 이름.

- 외부 통신에 사용할 인터페이스를 선택합니다(eno1 또는 eno2).

- Configure를 클릭합니다

- IPv4 Settings(IPv4 설정) 탭을 선택하고 Manual(수동) 방법을 선택한 후 Add(추가)를 클릭합니다

- 이전에 사용한 매개 변수(주소, 넷마스크, 게이트웨이, DNS 서버)를 설정합니다

5. 일자 및 시간을 선택하고 지역 및 시를 지정합니다.

6. 네트워크 시간을 활성화하고 NTP 서버를 구성합니다.

7. 설치 대상을 선택하고 ext4 파일 시스템을 사용합니다.

참고: 삭제/홈/ 루트/에서 용량을 재할당합니다.

8. Kdump를 비활성화합니다.

9 . 루트 비밀번호만 설정합니다.

10. 설치를 시작합니다.

언더클라우드 복원

백업을 기반으로 하는 언더클라우드 설치 준비

시스템이 RHEL 7.3과 함께 설치되고 정상 상태이면 디렉터를 설치하고 실행하는 데 필요한 모든 서브스크립션/저장소를 다시 활성화합니다.

호스트 이름 구성:

[root@director ~]$sudo hostnamectl set-hostname <FQDN_hostname>

[root@director ~]$sudo hostnamectl set-hostname --transient <FQDN_hostname>

편집/etc/hosts 파일:

[root@director ~]$ vi /etc/hosts

<ospd_external_address>  <server_hostname>  <FQDN_hostname>

10.225.247.142  pod1-ospd pod1-ospd.cisco.com

호스트 이름 확인:

[root@director ~]$ cat /etc/hostname

pod1-ospd.cisco.com

DNS 컨피그레이션 검증:

[root@director ~]$ cat /etc/resolv.conf

#Generated by NetworkManager

nameserver <DNS_IP>

프로비저닝 nic 인터페이스를 수정합니다.

[root@director ~]$ cat /etc/sysconfig/network-scripts/ifcfg-eno1

DEVICE=eno1

ONBOOT=yes

HOTPLUG=no

NM_CONTROLLED=no

PEERDNS=no

DEVICETYPE=ovs

TYPE=OVSPort

OVS_BRIDGE=br-ctlplane

BOOTPROTO=none

MTU=1500

Red Hat 등록 완료

rh-satellite를 사용하기 위해 subscription-manager를 구성하려면 이 패키지를 다운로드하십시오.

[root@director ~]$ rpm -Uvh http://

/pub/katello-ca-consumer-latest.noarch.rpm

[root@director ~]$ subscription-manager config

RHEL 7.3에 이 액티베이션 키를 사용하여 rh-satellite에 등록합니다.

[root@director ~]$subscription-manager register --org="<ORG>" --activationkey="<KEY>"

서브스크립션을 보려면

[root@director ~]$ subscription-manager list –consumed

이전 OSPD 재배치와 유사한 저장소를 활성화합니다.

[root@director ~]$ sudo subscription-manager repos --disable=*

[root@director ~]$ subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rh

el-7-server-openstack-10-rpms --enable=rhel-7-server-rh-common-rpms --enable=rhel-ha-for-rhel-7-server-rpm

최신 기본 시스템 패키지가 있는지 확인하고 시스템을 재부팅하려면 시스템에서 업데이트를 수행합니다.

[root@director ~]$sudo yum update -y

[root@director ~]$sudo reboot

언더클라우드 복원

서브스크립션을 활성화한 후 백업된 언더클라우드 tar 파일 undercloud-backup-date +%F`.tar.gz를 새 OSP-D 서버 루트 디렉토리 /root로 가져옵니다.

다음과 같이 mariadb 서버를 설치합니다.

[root@director ~]$ yum install -y mariadb-server

MariaDB 컨피그레이션 파일 및 데이터베이스(DB) 백업을 추출합니다. 이 작업을 루트 사용자로 수행합니다.

[root@director ~]$ tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/my.cnf.d/server.cnf

[root@director ~]$ tar -xzC / -f undercloud-backup-$DATE.tar.gz root/undercloud-all-databases.sql

/etc/my.cnf.d/server.cnf을 편집하고 bind-address 항목이 있으면 주석 처리합니다.

[root@tb3-ospd ~]# vi /etc/my.cnf.d/server.cnf

MariaDB 서비스를 시작하고 max_allowed_packet 설정을 임시로 업데이트합니다.

[root@director ~]$ systemctl start mariadb

[root@director ~]$ mysql -uroot -e"set global max_allowed_packet = 16777216;"

특정 권한 정리(나중에 다시 만들 권한):

[root@director ~]$ for i in ceilometer glance heat ironic keystone neutron nova;do mysql -e "drop user $i";done

[root@director ~]$ mysql -e 'flush privileges'

참고: 이전에 설정에서 ceilometer 서비스가 비활성화되어 있는 경우 이 명령을 실행하고 ceilometer를 제거하십시오.

stackuser 계정을 생성합니다.

[root@director ~]$ sudo useradd stack

[root@director ~]$ sudo passwd stack << specify a password

[root@director ~]$ echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack

[root@director ~]$ sudo chmod 0440 /etc/sudoers.d/stack

스택 사용자 홈 디렉토리를 복원합니다.

[root@director ~]$ tar -xzC / -f undercloud-backup-$DATE.tar.gz home/stack

swift and glance 기본 패키지를 설치한 다음 데이터를 복원합니다.

[root@director ~]$ yum install -y openstack-glance openstack-swift

[root@director ~]$ tar --xattrs -xzC / -f undercloud-backup-$DATE.tar.gz srv/node var/lib/glance/images

데이터가 올바른 사용자가 소유하고 있는지 확인합니다.

[root@director ~]$ chown -R swift: /srv/node

[root@director ~]$ chown -R glance: /var/lib/glance/images

언더클라우드 SSL 인증서를 복원합니다(선택 사항 - 설정에서 SSL 인증서를 사용하는 경우에만 수행).

[root@director ~]$ tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/pki/instack-certs/undercloud.pem

[root@director ~]$ tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/pki/ca-trust/source/anchors/ca.crt.pem

Undercloud 설치를 stackuser로 다시 실행하고 stack user 홈 디렉터리에서 실행했는지 확인합니다.

[root@director ~]$ su - stack

[stack@director ~]$ sudo yum install -y python-tripleoclient

호스트 이름이 /etc/hosts에 올바르게 설정되어 있는지 확인합니다.

언더클라우드를 다시 설치합니다.

[stack@director ~]$ openstack undercloud install

<snip>

#############################################################################

Undercloud install complete.

The file containing this installation's passwords is at

/home/stack/undercloud-passwords.conf.

There is also a stackrc file at /home/stack/stackrc.

These files are needed to interact with the OpenStack services, and must be

secured.

#############################################################################

복원된 언더클라우드를 오버클라우드에 다시 연결

이 단계를 완료하면 언더클라우드가 오버클라우드에 대한 연결을 자동으로 복원합니다. 노드는 몇 초마다 실행되는 간단한 HTTP 요청을 사용하여 보류 중인 작업에 대해 오케스트레이션(heat)을 계속 폴링합니다.

완료된 복원 확인

새로 복원된 환경의 상태 확인을 수행하려면 다음 명령을 사용합니다:

[root@director ~]$ su - stack

Last Log in: Tue Nov 28 21:27:50 EST 2017 from 10.86.255.201 on pts/0

[stack@director ~]$ source stackrc

[stack@director ~]$ nova list

+--------------------------------------+--------------------+--------+------------+-------------+------------------------+

| ID | Name | Status | Task State | Power State | Networks |

+--------------------------------------+--------------------+--------+------------+-------------+------------------------+

| b1f5294a-629e-454c-b8a7-d15e21805496 | pod1-compute-0 | ACTIVE | - | Running | ctlplane=192.200.0.119 |

| 9106672e-ac68-423e-89c5-e42f91fefda1 | pod1-compute-1 | ACTIVE | - | Running | ctlplane=192.200.0.120 |

| b3ed4a8f-72d2-4474-91a1-b6b70dd99428 | pod1-compute-2 | ACTIVE | - | Running | ctlplane=192.200.0.124 |

| 677524e4-7211-4571-ac35-004dc5655789 | pod1-compute-3 | ACTIVE | - | Running | ctlplane=192.200.0.107 |

| 55ea7fe5-d797-473c-83b1-d897b76a7520 | pod1-compute-4 | ACTIVE | - | Running | ctlplane=192.200.0.122 |

| c34c1088-d79b-42b6-9306-793a89ae4160 | pod1-compute-5 | ACTIVE | - | Running | ctlplane=192.200.0.108 |

| 4ba28d8c-fb0e-4d7f-8124-77d56199c9b2 | pod1-compute-6 | ACTIVE | - | Running | ctlplane=192.200.0.105 |

| d32f7361-7e73-49b1-a440-fa4db2ac21b1 | pod1-compute-7 | ACTIVE | - | Running | ctlplane=192.200.0.106 |

| 47c6a101-0900-4009-8126-01aaed784ed1 | pod1-compute-8 | ACTIVE | - | Running | ctlplane=192.200.0.121 |

| 1a638081-d407-4240-b9e5-16b47e2ff6a2 | pod1-compute-9 | ACTIVE | - | Running | ctlplane=192.200.0.112 |

<snip>

[stack@director ~]$ ssh heat-admin@192.200.0.107

[heat-admin@pod1-controller-0 ~]$ sudo pcs status

Cluster name: tripleo_cluster

Stack: corosync

Current DC: pod1-controller-0 (version 1.1.15-11.el7_3.4-e174ec8) - partition with quorum

3 nodes and 22 resources configured

Online: [ pod1-controller-0 pod1-controller-1 pod1-controller-2 ]

Full list of resources:

ip-10.1.10.10 (ocf::heartbeat:IPaddr2): Started pod1-controller-0

ip-11.120.0.97 (ocf::heartbeat:IPaddr2): Started pod1-controller-1

Clone Set: haproxy-clone [haproxy]

Started: [ pod1-controller-0 pod1-controller-1 pod1-controller-2 ]

Master/Slave Set: galera-master [galera]

Masters: [ pod1-controller-0 pod1-controller-1 pod1-controller-2 ]

ip-192.200.0.106 (ocf::heartbeat:IPaddr2): Started pod1-controller-0

ip-11.120.0.95 (ocf::heartbeat:IPaddr2): Started pod1-controller-1

ip-11.119.0.98 (ocf::heartbeat:IPaddr2): Started pod1-controller-0

ip-11.118.0.92 (ocf::heartbeat:IPaddr2): Started pod1-controller-1

Clone Set: rabbitmq-clone [rabbitmq]

Started: [ pod1-controller-0 pod1-controller-1 pod1-controller-2 ]

Master/Slave Set: redis-master [redis]

Masters: [ pod1-controller-0 ]

Slaves: [ pod1-controller-1 pod1-controller-2 ]

openstack-cinder-volume (systemd:openstack-cinder-volume): Started pod1-controller-0

my-ipmilan-for-controller-0 (stonith:fence_ipmilan): Stopped

my-ipmilan-for-controller-1 (stonith:fence_ipmilan): Stopped

my-ipmilan-for-controller-2 (stonith:fence_ipmilan): Stopped

Failed Actions:

* my-ipmilan-for-controller-0_start_0 on pod1-controller-1 'unknown error' (1): call=190, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:45 2017', queued=0ms, exec=20005ms

* my-ipmilan-for-controller-1_start_0 on pod1-controller-1 'unknown error' (1): call=192, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:53:08 2017', queued=0ms, exec=20005ms

* my-ipmilan-for-controller-2_start_0 on pod1-controller-1 'unknown error' (1): call=188, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:23 2017', queued=0ms, exec=20004ms

* my-ipmilan-for-controller-0_start_0 on pod1-controller-0 'unknown error' (1): call=210, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:53:08 2017', queued=0ms, exec=20005ms

* my-ipmilan-for-controller-1_start_0 on pod1-controller-0 'unknown error' (1): call=207, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:45 2017', queued=0ms, exec=20004ms

* my-ipmilan-for-controller-2_start_0 on pod1-controller-0 'unknown error' (1): call=206, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:45 2017', queued=0ms, exec=20006ms

* ip-192.200.0.106_monitor_10000 on pod1-controller-0 'not running' (7): call=197, status=complete, exitreason='none',

last-rc-change='Wed Nov 22 13:51:31 2017', queued=0ms, exec=0ms

* my-ipmilan-for-controller-0_start_0 on pod1-controller-2 'unknown error' (1): call=183, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:23 2017', queued=1ms, exec=20006ms

* my-ipmilan-for-controller-1_start_0 on pod1-controller-2 'unknown error' (1): call=184, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:23 2017', queued=0ms, exec=20005ms

* my-ipmilan-for-controller-2_start_0 on pod1-controller-2 'unknown error' (1): call=177, status=Timed Out, exitreason='none',

last-rc-change='Wed Nov 22 13:52:02 2017', queued=0ms, exec=20005ms

Daemon Status:

corosync: active/enabled

pacemaker: active/enabled

pcsd: active/enabled

[heat-admin@pod1-controller-0 ~]$ sudo ceph status

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_OK

monmap e1: 3 mons at {pod1-controller-0=11.118.0.40:6789/0,pod1-controller-1=11.118.0.41:6789/0,pod1-controller-2=11.118.0.42:6789/0}

election epoch 58, quorum 0,1,2 pod1-controller-0,pod1-controller-1,pod1-controller-2

osdmap e1398: 12 osds: 12 up, 12 in

flags sortbitwise,require_jewel_osds

pgmap v1245812: 704 pgs, 6 pools, 542 GB data, 352 kobjects

1625 GB used, 11767 GB / 13393 GB avail

704 active+clean

client io 21549 kB/s wr, 0 op/s rd, 120 op/s wr

ID 서비스(Keystone) 확인 작업

이 단계에서는 사용자 목록을 쿼리하여 Identity Service 작업을 검증합니다.

[stack@director ~]$ source stackrc

[stack@director ~]$ openstack user list

+----------------------------------+------------------+

| ID | Name |

+----------------------------------+------------------+

| 69ac2b9d89414314b1366590c7336f7d | admin |

| f5c30774fe8f49d0a0d89d5808a4b2cc | glance |

| 3958d852f85749f98cca75f26f43d588 | heat |

| cce8f2b7f1a843a08d0bb295a739bd34 | ironic |

| ce7c642f5b5741b48a84f54d3676b7ee | ironic-inspector |

| a69cd42a5b004ec5bee7b7a0c0612616 | mistral |

| 5355eb161d75464d8476fa0a4198916d | neutron |

| 7cee211da9b947ef9648e8fe979b4396 | nova |

| f73d36563a4a4db482acf7afc7303a32 | swift |

| d15c12621cbc41a8a4b6b67fa4245d03 | zaqar |

| 3f0ed37f95544134a15536b5ca50a3df | zaqar-websocket |

+----------------------------------+------------------+

[stack@director ~]$

[stack@director ~]$ source <overcloudrc>

[stack@director ~]$ openstack user list

+----------------------------------+------------+

| ID | Name |

+----------------------------------+------------+

| b4e7954942184e2199cd067dccdd0943 | admin |

| 181878efb6044116a1768df350d95886 | neutron |

| 6e443967ee3f4943895c809dc998b482 | heat |

| c1407de17f5446de821168789ab57449 | nova |

| c9f64c5a2b6e4d4a9ff6b82adef43992 | glance |

| 800e6b1163b74cc2a5fab4afb382f37d | cinder |

| 4cfa5a2a44c44c678025842f080e5f53 | heat-cfn |

| 9b222eeb8a58459bb3bfc76b8fff0f9f | swift |

| 815f3f25bcda49c290e1b56cd7981d1b | core |

| 07c40ade64f34a64932129175150fa4a | gnocchi |

| 0ceeda0bc32c4d46890e53adef9a193d | aodh |

| f3caab060171468592eab376a94967b8 | ceilometer |

+----------------------------------+------------+

[stack@director ~]$

향후 노드 자체 검사를 위한 이미지 업로드

이 단계를 진행하지 않을 경우 /httpboot 및 이 모든 파일 inspector.ipxe, agent.kernel, agent.ramdisk를 검증합니다.

[stack@director ~]$ ls /httpboot

inspector.ipxe

[stack@director ~]$ source stackrc

[stack@director ~]$ cd images/

[stack@director images]$ openstack overcloud image upload --image-path /home/stack/images

Image "overcloud-full-vmlinuz" is up-to-date, skipping.

Image "overcloud-full-initrd" is up-to-date, skipping.

Image "overcloud-full" is up-to-date, skipping.

Image "bm-deploy-kernel" is up-to-date, skipping.

Image "bm-deploy-ramdisk" is up-to-date, skipping.

[stack@director images]$ ls /httpboot

agent.kernel agent.ramdisk inspector.ipxe

[stack@director images]$

펜싱 다시 시작

OSPD 복구 후 펜싱이 중단된 상태가 됩니다. 이 절차를 수행하면 펜싱이 활성화됩니다.

[heat-admin@pod1-controller-0 ~]$ sudo pcs property set stonith-enabled=true

[heat-admin@pod1-controller-0 ~]$ sudo pcs status

[heat-admin@pod1-controller-0 ~]$sudo pcs stonith show

관련 정보

- Director Undercloud 백업 및 복원

- 컨트롤러 노드 펜싱

- 기술 지원 및 문서 − Cisco Systems