Menu Close
Settings Close

Language and Page Formatting Options

20.2. 네트워크 노드 교체

특정 상황에서 고가용성 클러스터에 Networker 프로필이 있는 RHOSP(Red Hat OpenStack Platform) 노드가 실패할 수 있습니다. 네트워크 노드를 교체하려면 openstack overcloud deploy 명령을 실행하여 오버클라우드를 새 노드로 업데이트해야 합니다.

사전 요구 사항

  • RHOSP 배포는 3개 이상의 Networker 노드가 있는 고가용성입니다.
  • 추가하는 노드는 네트워크를 통해 클러스터의 다른 노드에 연결할 수 있어야 합니다.
  • 에서 설명한 단계를 수행했습니다. 20.1절. “네트워크 노드 교체 준비”

절차

  1. stack 사용자로 언더클라우드에 로그인합니다.
  2. 언더클라우드 인증 정보 파일을 소싱합니다.

    예제

    $ source ~/stackrc

  3. 삭제할 노드의 인덱스를 확인합니다.

    $ openstack baremetal node list -c UUID -c Name -c "Instance UUID"

    샘플 출력

    +--------------------------------------+------+--------------------------------------+
    | UUID                                 | Name | Instance UUID                        |
    +--------------------------------------+------+--------------------------------------+
    | 36404147-7c8a-41e6-8c72-6af1e339da2a | None | 7bee57cf-4a58-4eaf-b851-f3203f6e5e05 |
    | 91eb9ac5-7d52-453c-a017-0f2fb289c3cd | None | None                                 |
    | 75b25e9a-948d-424a-9b3b-0f2fb289c3cd | None | None                                 |
    | 038727da-6a5c-425f-bd45-16aa2bc4ba91 | None | 763bfec2-9354-466a-ae65-1fdf45d35c61 |
    | dc2292e6-4056-46e0-8848-165d06fcc948 | None | 2017b481-706f-44e1-852a-57fb03ecef11 |
    | c7eadcea-e377-4392-9fc3-716f1bd57527 | None | 5f73c7d7-4826-49a5-b6be-0a95c6bdd2f8 |
    | da3a8d19-8a59-4e9d-923a-29254d688f6d | None | cfefaf60-8311-4bc3-9416-46852e2cb83f |
    | 807cb6ce-6b94-4cd1-9969-d390650854c7 | None | c07c13e6-a845-4791-9628-c8514585fe27 |
    | 0c245daa-7817-4ae9-a883-fed2e9c68d6c | None | 844c9a88-713a-4ff1-8737-30858d724593 |
    | e6499ef7-3db2-4ab4-bfa7-feb44c6591c6 | None | aef7c27a-f0b4-4814-b0ff-d3f792321212 |
    | 7545385c-bc49-4eb9-b13c-201368ce1c62 | None | c2e40164-c659-4849-a28f-a7b270ed2970 |
    +--------------------------------------+------+--------------------------------------+

  4. baremetal 노드 유지보수 set 명령을 사용하여 노드를 유지보수 모드로 설정합니다.

    예제

    $ openstack baremetal node maintenance set e6499ef7-3db2-4ab4-bfa7-ef59539bf972

  5. JSON 파일을 생성하여 RHOSP director가 포함된 노드 풀에 새 노드를 추가합니다.

    예제

    {
      "nodes":[
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.168.24.207"
        }
      ]
    }

    자세한 내용은 Director 설치 및 사용 가이드 의 오버클라우드에 노드 추가를 참조하십시오.

  6. openstack overcloud node import 명령을 실행하여 새 노드를 등록합니다.

    예제

    $ openstack overcloud node import newnode.json

  7. 새 노드를 등록한 후 다음 명령을 사용하여 인트로스펙션 프로세스를 시작합니다.

    $ openstack baremetal node manage <node>
    $ openstack overcloud node introspect <node> --provide
  8. openstack baremetal node set 명령을 사용하여 Networker 프로필로 새 노드의 태그를 지정합니다.

    예제

    $ openstack baremetal node set --property \
        capabilities='profile:networker,boot_option:local' \
        91eb9ac5-7d52-453c-a017-c0e3d823efd0

  9. 삭제하려는 노드의 인덱스를 정의하는 ~/templates/remove-networker.yaml 환경 파일을 생성합니다.

    예제

    parameters:
    NetworkerRemovalPolicies:
       [{'resource_list': ['1']}]

  10. ~/templates/node-count-networker.yaml 환경 파일을 생성하고 파일에 있는 Networker 노드의 총 개수를 설정합니다.

    예제

    parameter_defaults:
     OvercloudNetworkerFlavor: networker
     NetworkerCount: 3

  11. openstack overcloud deploy 명령을 실행하고 코어 heat 템플릿, 환경 파일 및 수정한 환경 파일을 포함합니다.

    중요

    후속 환경 파일에 정의된 매개 변수와 리소스가 우선하기 때문에 환경 파일의 순서가 중요합니다.

    $ openstack overcloud deploy --templates \
    -e <your_environment_files> \
    -e /home/stack/templates/node-count-networker.yaml \
    -e /home/stack/templates/remove-networker.yaml

    RHOSP director는 기존 Networker 노드를 삭제하고, 새 노드를 생성한 후 오버클라우드 스택을 업데이트합니다.

검증

  1. 오버클라우드 스택의 상태를 확인합니다.

    $ openstack stack list --nested
  2. 새 Networker 노드가 나열되고 이전 노드가 제거되었는지 확인합니다.

    $ openstack server list -c ID -c Name -c Status

    샘플 출력

    +--------------------------------------+------------------------+--------+
    | ID                                   | Name                   | Status |
    +--------------------------------------+------------------------+--------+
    | 861408be-4027-4f53-87a6-cd3cf206ba7a | overcloud-compute-0    | ACTIVE |
    | 0966e9ae-f553-447a-9929-c4232432f718 | overcloud-compute-1    | ACTIVE |
    | 9c08fa65-b38c-4b2e-bd47-33870bff06c7 | overcloud-compute-2    | ACTIVE |
    | a7f0f5e1-e7ce-4513-ad2b-81146bc8c5af | overcloud-controller-0 | ACTIVE |
    | cfefaf60-8311-4bc3-9416-6a824a40a9ae | overcloud-controller-1 | ACTIVE |
    | 97a055d4-aefd-481c-82b7-4a5f384036d2 | overcloud-controller-2 | ACTIVE |
    | 844c9a88-713a-4ff1-8737-6410bf551d4f | overcloud-networker-0  | ACTIVE |
    | c2e40164-c659-4849-a28f-507eb7edb79f | overcloud-networker-2  | ACTIVE |
    | 425a0828-b42f-43b0-940c-7fb02522753a | overcloud-networker-3  | ACTIVE |
    +--------------------------------------+------------------------+--------+

추가 리소스