3.5. 수동으로 언더클라우드 노드 데이터베이스 복원


언더클라우드 복원 프로세스의 일부로 언더클라우드 데이터베이스를 복원하지 않으면 데이터베이스를 수동으로 복원할 수 있습니다. 이전에 독립 실행형 데이터베이스 백업을 생성한 경우에만 데이터베이스를 복원할 수 있습니다.

사전 요구 사항

절차

  1. director 언더클라우드 노드에 root 사용자로 로그인합니다.
  2. 모든 tripleo 서비스를 중지합니다.

    [root@director ~]# systemctl  stop  tripleo_*
    Copy to Clipboard
  3. 다음 명령을 입력하여 서버에서 실행 중인 컨테이너가 없는지 확인합니다.

    [root@director ~]# podman ps
    Copy to Clipboard

    컨테이너가 실행 중인 경우 다음 명령을 입력하여 컨테이너를 중지합니다.

    [root@director ~]# podman stop <container_name>
    Copy to Clipboard
  4. 현재 /var/lib/mysql 디렉터리의 백업을 생성한 다음 디렉터리를 삭제합니다.

    [root@director ~]# cp -a /var/lib/mysql /var/lib/mysql_bck
    [root@director ~]# rm -rf /var/lib/mysql
    Copy to Clipboard
  5. 데이터베이스 디렉터리를 다시 생성하고 새 디렉터리의 SELinux 속성을 설정합니다.

    [root@director ~]# mkdir /var/lib/mysql
    [root@director ~]# chown 42434:42434 /var/lib/mysql
    [root@director ~]# chmod 0755 /var/lib/mysql
    [root@director ~]# chcon -t container_file_t /var/lib/mysql
    [root@director ~]# chcon -r object_r /var/lib/mysql
    [root@director ~]# chcon -u system_u /var/lib/mysql
    Copy to Clipboard
  6. mariadb 이미지의 로컬 태그를 생성합니다. <image_id><undercloud.ctlplane.example.com> 을 사용자 환경에 적용할 수 있는 값으로 바꿉니다.

    [root@director ~]# podman images | grep mariadb
    <undercloud.ctlplane.example.com>:8787/rh-osbs/rhosp16-openstack-mariadb                 	16.2_20210322.1   <image_id>   3 weeks ago   718 MB
    Copy to Clipboard
    [root@director ~]# podman tag <image_id> mariadb
    Copy to Clipboard
    [root@director ~]# podman images | grep maria
    localhost/mariadb                                                                         	latest        	<image_id>   3 weeks ago   718 MB
    <undercloud.ctlplane.example.com>:8787/rh-osbs/rhosp16-openstack-mariadb                 	16.2_20210322.1   <image_id>   3 weeks ago   718 MB
    Copy to Clipboard
  7. /var/lib/mysql 디렉터리를 컨테이너로 초기화합니다.

    [root@director ~]# podman run --net=host -v /var/lib/mysql:/var/lib/mysql localhost/mariadb mysql_install_db --datadir=/var/lib/mysql --user=mysql
    Copy to Clipboard
  8. 데이터베이스로 가져올 데이터베이스 백업 파일을 복사합니다.

    [root@director ~]# cp /root/undercloud-all-databases.sql /var/lib/mysql
    Copy to Clipboard
  9. 데이터베이스 서비스를 시작하여 데이터를 가져옵니다.

    [root@director ~]# podman run --net=host -dt -v /var/lib/mysql:/var/lib/mysql  localhost/mariadb  /usr/libexec/mysqld
    Copy to Clipboard
  10. 데이터를 가져오고 max_allowed_packet 매개변수를 구성합니다.

    1. 컨테이너에 로그인하여 구성합니다.

      [root@director ~]# podman exec -it <container_id> /bin/bash
          ()[mysql@5a4e429c6f40 /]$ mysql -u root -e "set global max_allowed_packet = 1073741824;"
          ()[mysql@5a4e429c6f40 /]$ mysql -u root < /var/lib/mysql/undercloud-all-databases.sql
          ()[mysql@5a4e429c6f40 /]$ mysql -u root -e 'flush privileges'
          ()[mysql@5a4e429c6f40 /]$ exit
          exit
      Copy to Clipboard
    2. 컨테이너를 중지합니다.

      [root@director ~]# podman stop <container_id>
      Copy to Clipboard
    3. 실행 중인 컨테이너가 없는지 확인합니다.

      [root@director ~]# podman ps
      CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES
      [root@director ~]#
      Copy to Clipboard
  11. 모든 tripleo 서비스를 다시 시작하십시오.

    [root@director ~]# systemctl start multi-user.target
    Copy to Clipboard
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.