부록 A. 언더클라우드 복원


다음 복원 절차에서는 언더클라우드 노드가 실패했으며 복구할 수 없는 상태라고 가정합니다. 다음 절차에서는 새로운 설치에서 데이터베이스와 중요한 파일 시스템을 복원하는 작업이 포함됩니다. 다음과 같이 가정합니다.

  • 최신 버전의 Red Hat Enterprise Linux 7을 다시 설치했습니다.
  • 하드웨어 레이아웃도 마찬가지입니다.
  • 시스템의 호스트 이름과 Undercloud 설정은 동일합니다.
  • 백업 아카이브가 루트 디렉터리에 복사되었습니다.

절차

  1. root 사용자로 언더클라우드에 로그인합니다.
  2. 시스템을 Content Delivery Network에 등록하고 메시지가 표시되면 고객 포털 사용자 이름과 암호를 입력합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# subscription-manager register
  3. Red Hat OpenStack Platform 인타이틀먼트를 연결합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# subscription-manager attach --pool=Valid-Pool-Number-123456
  4. 기본 리포지토리를 모두 비활성화하고 필수 Red Hat Enterprise Linux 리포지토리를 활성화합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# subscription-manager repos --disable=*
    [root@director ~]# subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms --enable=rhel-ha-for-rhel-7-server-rpms --enable=rhel-7-server-openstack-10-rpms
  5. 시스템에서 업데이트를 실행하여 기본 시스템 패키지가 최신 상태인지 확인합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum update -y
    [root@director ~]# reboot
  6. Undercloud의 시간이 동기화되었는지 확인합니다. 예를 들면 다음과 같습니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y ntp
    [root@director ~]# systemctl start ntpd
    [root@director ~]# systemctl enable ntpd
    [root@director ~]# ntpdate pool.ntp.org
    [root@director ~]# systemctl restart ntpd
  7. Undercloud 백업 아카이브를 Undercloud의 루트 디렉터리에 복사합니다. 다음 단계에서는 undercloud-backup-$TIMESTAMP.tar 을 파일 이름으로 사용합니다. 여기서 $TIMESTAMP는 아카이브의 타임스탬프에 대한 Bash 변수입니다.
  8. 데이터베이스 서버 및 클라이언트 툴을 설치합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y mariadb mariadb-server
  9. 데이터베이스를 시작합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# systemctl start mariadb
    [root@director ~]# systemctl enable mariadb
  10. 데이터베이스 백업 크기를 수용하도록 허용된 패킷을 늘립니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# mysql -uroot -e"set global max_allowed_packet = 1073741824;"
  11. 아카이브에서 데이터베이스 및 데이터베이스 구성을 추출합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/my.cnf.d/*server*.cnf
    [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar root/undercloud-all-databases.sql
  12. 데이터베이스 백업을 복원합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# mysql -u root < /root/undercloud-all-databases.sql
  13. 루트 구성 파일의 임시 버전을 추출합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# tar -xvf undercloud-backup-$TIMESTAMP.tar root/.my.cnf
  14. 이전 root 데이터베이스 암호를 가져옵니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# OLDPASSWORD=$(sudo cat root/.my.cnf | grep -m1 password | cut -d'=' -f2 | tr -d "'")
  15. root 데이터베이스 암호를 재설정합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# mysqladmin -u root password "$OLDPASSWORD"
  16. 임시 디렉터리에서 루트 디렉토리로 루트 구성 파일을 이동합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# mv ~/root/.my.cnf ~/.
    [root@director ~]# rmdir ~/root
  17. 이전 사용자 권한 목록을 가져옵니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# mysql -e 'select host, user, password from mysql.user;'
  18. 나열된 각 호스트에 대한 이전 사용자 권한을 제거합니다. 예를 들면 다음과 같습니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# HOST="192.0.2.1"
    [root@director ~]# USERS=$(mysql -Nse "select user from mysql.user WHERE user != \"root\" and host = \"$HOST\";" | uniq | xargs)
    [root@director ~]# for USER in $USERS ; do mysql -e "drop user \"$USER\"@\"$HOST\"" || true ;done
    [root@director ~]# for USER in $USERS ; do mysql -e "drop user $USER" || true ;done
    [root@director ~]# mysql -e 'flush privileges'

    호스트 IP 및 모든 호스트("%")를 통해 액세스하는 모든 사용자에게 이 작업을 수행합니다.

    참고

    HOST 매개변수의 IP 주소는 컨트롤 플레인에 있는 언더클라우드의 IP 주소입니다.

  19. 데이터베이스를 다시 시작하십시오.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# systemctl restart mariadb
  20. stack 사용자를 생성합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# useradd stack
  21. 사용자 암호를 설정합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# passwd stack
  22. sudo 사용 시 암호를 요구하지 않도록 비활성화합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack
    [root@director ~]# chmod 0440 /etc/sudoers.d/stack
  23. stack 사용자 홈 디렉터리를 복원합니다.

    Copy to Clipboard Toggle word wrap
    # tar -xvC / -f undercloud-backup-$TIMESTAMP.tar home/stack
  24. policycoreutils-python 패키지를 설치합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum -y install policycoreutils-python
  25. openstack-glance 패키지를 설치하고 데이터 및 파일 권한을 복원합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y openstack-glance
    [root@director ~]# tar --xattrs --xattrs-include='*.*' -xvC / -f undercloud-backup-$TIMESTAMP.tar var/lib/glance/images
    [root@director ~]# chown -R glance: /var/lib/glance/images
    [root@director ~]# restorecon -R /var/lib/glance/images
  26. openstack-swift 패키지를 설치하고 데이터 및 파일 권한을 복원합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y openstack-swift
    [root@director ~]# tar --xattrs --xattrs-include='*.*' -xvC / -f undercloud-backup-$TIMESTAMP.tar srv/node
    [root@director ~]# chown -R swift: /srv/node
    [root@director ~]# restorecon -R /srv/node
  27. openstack-keystone 패키지를 설치하고 구성 데이터를 복원합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum -y install openstack-keystone
    [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/keystone
    [root@director ~]# restorecon -R /etc/keystone
  28. openstack-heat 및 복원 구성을 설치합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y openstack-heat*
    [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/heat
    [root@director ~]# restorecon -R /etc/heat
  29. puppet을 설치하고 설정 데이터를 복원합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# yum install -y puppet hiera
    [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/puppet/hieradata/
  30. 언더클라우드에서 SSL을 사용하는 경우 CA 인증서를 새로 고칩니다. 언더클라우드 구성에 따라 사용자 제공 인증서 또는 자동 생성된 인증서의 단계를 사용합니다.

    • 언더클라우드가 사용자 제공 인증서로 구성된 경우 다음 단계를 완료합니다.

      1. 인증서를 추출합니다.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/pki/instack-certs/undercloud.pem
        [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/pki/ca-trust/source/anchors/*
      2. SELinux 컨텍스트를 복원하고 파일 시스템 레이블을 관리합니다.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# restorecon -R /etc/pki
        [root@director ~]# semanage fcontext -a -t etc_t "/etc/pki/instack-certs(/.*)?"
        [root@director ~]# restorecon -R /etc/pki/instack-certs
      3. 인증서를 업데이트합니다.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# update-ca-trust extract
    • certmonger 를 사용하여 언더클라우드의 인증서를 자동으로 생성하는 경우 다음 단계를 완료합니다.

      1. 인증서, CA 인증서 및 certmonger 파일을 추출합니다.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar var/lib/certmonger/*
        [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/pki/tls/*
        [root@director ~]# tar -xvC / -f undercloud-backup-$TIMESTAMP.tar etc/pki/ca-trust/source/anchors/*
      2. SELinux 컨텍스트를 복원하십시오.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# restorecon -R /etc/pki
        [root@director ~]# restorecon -R /var/lib/certmonger
      3. /var/lib/certmonger/lock 파일을 제거합니다.

        Copy to Clipboard Toggle word wrap
        [root@director ~]# rm -f /var/lib/certmonger/lock
  31. stack 사용자로 전환합니다.

    Copy to Clipboard Toggle word wrap
    [root@director ~]# su - stack
    [stack@director ~]$
  32. python-tripleoclient 패키지를 설치합니다.

    Copy to Clipboard Toggle word wrap
    $ sudo yum install -y python-tripleoclient
  33. Undercloud 설치 명령을 실행합니다. stack 사용자의 홈 디렉터리에서 실행해야 합니다.

    Copy to Clipboard Toggle word wrap
    [stack@director ~]$ openstack undercloud install

    설치가 완료되면 언더클라우드에서 오버클라우드에 대한 연결을 자동으로 복원합니다. 노드는 보류 중인 작업에 대해 계속 OpenStack Orchestration(heat)을 폴링합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat, Inc.