Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

13장. 백업 및 마이그레이션

13.1. Red Hat Virtualization Manager 백업 및 복구

13.1.1. Red Hat Virtualization Manager 백업 - 개요

engine-backup 도구를 사용하여 Red Hat Virtualization Manager의 일반적인 백업을 수행합니다. 도구를 사용하여 engine 데이터 베이스 및 설정 파일을 단일 파일로 백업할 수 있으며 ovirt-engine 서비스를 중단하지 않고 실행할 수 있습니다.

13.1.2. engine-backup 명령 구문

engine-backup 명령은 두 가지 기본 모드 중 하나에서 작동합니다:
# engine-backup --mode=backup
# engine-backup --mode=restore
이 두 가지 모드는 매개 변수 집합으로 추가 확장되어 engine 데이터베이스에 대한 백업 범위 및 다른 인증 정보를 지정할 수 있습니다. 전체 매개 변수 목록 및 기능을 보려면 engine-backup --help를 실행하십시오.

기본 옵션

--mode
명령이 백업 작업을 수행하거나 복원 작업을 수행할 지에 대한 여부를 지정합니다. backuprestore의 두 가지 옵션을 사용할 수 있습니다. 이는 필수 매개 변수입니다.
--file
백업 모드에서 백업된 파일 이름 및 경로와 복원 모드에서 백업 데이터를 읽기 위한 파일 이름 및 경로를 지정합니다. 이는 백업 모드 및 복원 모드 모두에서 필수 매개 변수입니다.
--log
백업 기록 또는 복원 작업이 기록될 파일 경로와 이름을 지정합니다. 이 매개 변수는 백업 모드 및 복원 모드 모두에서 필요합니다.
--scope
백업 또는 복원 작업 범위를 지정합니다. 다음과 같은 네 가지 옵션이 있습니다. all은 모든 데이터베이스 및 설정 데이터를 백업 또는 복원합니다. files는 시스템에 있는 파일만 백업 또는 복원합니다. db는 Manager 데이터베이스만 백업 또는 복원합니다. dwhdb는 Data Warehouse 데이터베이스만 백업 또는 복원합니다. 기본 범위는 all입니다.
--scope 매개 변수는 같은 engine-backup 명령에서 여러 번 지정할 수 있습니다.

Manager 데이터베이스 옵션

다음 옵션은 restore 모드에서 engine-backup 명령을 사용하는 경우에만 사용할 수 있습니다. 아래의 옵션 구문은 Manager 데이터베이스 복원에 적용됩니다. 데이터 웨어하우스 데이터베이스 복원에도 동일한 옵션이 존재합니다. 데이터 웨어하우스 옵션 구문은 engine-backup --help를 참조하십시오.
--provision-db
복원할 Manager 데이터베이스 백업에 대해 PostgreSQL 데이터베이스를 만듭니다. 이는 원격 호스트에서 백업을 복원하거나 PostgreSQL 데이터베이스가 이미 설정되어 있지 않은 새 설치 시 필요한 매개 변수입니다.
--change-db-credentials
백업 자체에 저장된 항목 이외의 인증 정보를 사용하여 Manager 데이터베이스를 복원하는 데 사용할 대체 인증 정보를 지정할 수 있습니다. 이 매개 변수에서 필요한 추가 매개 변수에 대한 내용은 engine-backup --help를 참조하십시오.
--restore-permissions 또는 --no-restore-permissions
데이터베이스 사용자의 권한을 복원하거나 복원하지 않습니다. 백업 복원 시 이러한 매개 변수 중 하나가 필요합니다.

참고

백업에 추가 데이터베이스 사용자에 대한 권한이 포함된 경우 --restore-permissions--provision-db(또는 --provision-dwh-db) 옵션을 사용하여 백업을 복원하면 임의의 암호로 추가 사용자가 만들어집니다. 추가 사용자에게 복원된 시스템에 대한 액세스가 필요한 경우 이러한 암호를 수동으로 변경해야 합니다. 자세한 내용은 https://access.redhat.com/articles/2686731에서 참조하십시오.

13.1.3. engine-backup 명령으로 백업 생성

Manager가 활성화되어 있는 상태에서 engine-backup 명령을 사용하여 Red Hat Virtualization Manager를 백업할 수 있습니다. --scope에 다음 옵션 중 하나를 추가하여 수행할 백업 범위를 지정합니다:
  • all: Manager에 있는 모든 데이터 베이스 및 설정 파일의 전체 백업
  • files: 시스템에 있는 파일만 백업
  • db: Manager 데이터베이스만 백업
  • dwhdb: 데이터 웨어하우스 데이터만 백업

중요

Red Hat Virtualization Manager를 새로 설치하기 위해 데이터 베이스를 복원하려면 데이터 베이스 백업 하나만으로는 충분하지 않습니다. Manager는 설정 파일에 액세스해야 합니다. 기본값인 all 이외의 범위를 지정하는 모든 백업은 files 범위 또는 filesystem 백업과 함께 복원해야 합니다.

절차 13.1. engine-backup 명령 사용 예

  1. Red Hat Virtualization Manager를 실행하는 시스템에 로그인합니다.
  2. 백업을 생성합니다:

    예 13.1. 전체 백업 생성

    # engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name

    예 13.2. Manager 데이터베이스 백업 생성

    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
    db 옵션을 dwhdb로 변경하여 데이터 웨어하우스 데이터 베이스를 백업합니다.
    지정된 경로 및 파일 이름을 사용하여 백업이 들어있는 tar 파일이 생성됩니다.
백업이 들어 있는 tar 파일은 환경을 복원하는데 사용할 수 있습니다.

13.1.4. engine-backup 명령으로 백업 복원

engine-backup 명령을 사용하여 백업을 복원하는 절차는 복원 대상에 따라 백업 생성 절차와 비교해 볼 때 몇 가지 추가 절차가 필요합니다. 예를 들어 engine-backup 명령으로 로컬 또는 원격 데이터 베이스를 사용하여 기존 Red Hat Virtualization 설치에 Red Hat Virtualization을 새로 설치하기 위해 백업을 복원할 수 있습니다.

중요

백업은 백업과 동일한 메이저 릴리스 환경으로만 복원할 수 있습니다. 예를 들어, Red Hat Virtualization 버전 4.1 환경의 백업은 다른 Red Hat Virtualization 버전 4.1 환경으로만 복원할 수 있습니다. 백업 파일에 들어 있는 Red Hat Virtualization 버전을 확인하려면 백업 파일의 압축을 풀고 압축을 푼 파일의 root 디렉토리에 있는 version 파일 값을 읽습니다.

13.1.5. 백업을 복원하여 새로 설치하기

engine-backup 명령을 사용하여 Red Hat Virtualization Manager를 새로 설치하기 위한 백업을 복원할 수 있습니다. 다음 절차는 기본 운영 체제 및 Red Hat Virtualization Manager에 필요한 패키지가 설치되어 있으나 engine-setup 명령은 아직 실행되지 않은 시스템에서 실행해야 합니다. 다음 절차에서는 백업이 복원되어 있는 컴퓨터에서 백업 파일에 액세스할 수 있다고 간주합니다.

절차 13.2. 백업을 복원하여 새로 설치하기

  1. Manager 시스템에 로그온합니다. 원격 호스트에 engine 데이터베이스를 복원하는 경우 해당 호스트에 로그온하여 관련 작업을 수행해야 합니다. 또한 원격 호스트에 데이터 웨어하우스를 복원하는 경우에도 마찬가지로 해당 호스트에 로그온하여 관련 작업을 수행해야 합니다.
  2. 전체 백업을 복원하거나 데이터베이스만 백업을 복원합니다.
    • 전체 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --restore-permissions
      데이터 웨어하우스도 전체 백업의 일부로 복원하는 경우 추가 데이터베이스를 프로비저닝합니다.
      engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --provision-dwh-db --restore-permissions
    • 설정 파일을 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --restore-permissions
      위의 예시는 Manager 데이터베이스 백업을 복원합니다.
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --provision-dwh-db --restore-permissions
      위의 예시는 데이터 웨어하우스 데이터베이스의 백업을 복원합니다.
    완료시 다음과 같은 출력 결과가 표시됩니다:
    You should now run engine-setup.
    Done.
  3. 다음 명령을 실행하고 프롬프트에 따라 복원된 Manager를 설정합니다.
    # engine-setup
Red Hat Virtualization Manager가 백업에 저장된 버전에 복원되었습니다. 새로운 Red Hat Virtualization 시스템의 정규화된 도메인 이름을 변경하는 방법은 18.1.1절. “oVirt Engine Rename 도구”에서 참조하십시오.

13.1.6. 기존 설치를 덮어쓰기하여 백업 복원하기

engine-backup 명령을 사용하여 Red Hat Virtualization Manager가 이미 설치 및 설정된 머신에 백업을 복원할 수 있습니다. 설치를 백업하고 설치를 변경한 후 백업에서 설치를 복원하고자 하는 경우에 유용합니다.

중요

기존 설치를 덮어쓰기하기 위해 백업을 복원할 때 engine-backup 명령을 사용하기 전 engine-cleanup 명령을 실행하여 기존 설치를 정리해야 합니다. engine-cleanup 명령은 engine 데이터베이스만을 정리하고 데이터베이스를 삭제하거나 데이터 베이스를 소유하고 있는 사용자를 삭제하지 않기 때문입니다. 사용자 및 데이터베이스가 이미 존재하고 있기 때문에 새로운 데이터베이스를 생성하거나 데이터베이스 인증을 지정할 필요가 없습니다.

절차 13.3. 기존 설치를 덮어쓰기하여 백업 복원하기

  1. Red Hat Virtualization Manager 시스템에 로그인합니다.
  2. 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
    # engine-cleanup
  3. 전체 백업 또는 데이터베이스만 백업을 복원합니다:
    • 전체 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --restore-permissions
    • 설정 파일을 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --restore-permissions
      위의 예시는 Manager 데이터베이스 백업을 복원합니다. 필요한 경우 데이터 웨어하우스 데이터베이스도 복원합니다.
      # engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name --restore-permissions
    완료시 다음과 같은 출력 결과가 표시됩니다:
    You should now run engine-setup.
    Done.
  4. 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후 ovirt-engine 서비스가 올바르게 설정되어 있는지 확인합니다:
    # engine-setup

13.1.7. 다른 인증 정보를 사용하여 백업 복원하기

engine-backup 명령을 사용하여 Red Hat Virtualization Manager가 이미 설치 및 설정된 컴퓨터에 백업을 복원할 수 있지만 백업에 있는 데이터 베이스의 인증 정보는 백업이 복원된 컴퓨터에 있는 데이터베이스와 다릅니다. 이는 설치에서 백업을 취하여 백업에서 다른 시스템으로 설치를 복원하고자 하는 경우 유용합니다.

중요

기존 설치를 덮어쓰기하기 위해 백업을 복원할 때 engine-backup 명령을 사용하기 전 engine-cleanup 명령을 실행하여 기존 설치를 정리해야 합니다. engine-cleanup 명령은 engine 데이터베이스만을 정리하고 데이터베이스를 삭제하거나 데이터 베이스를 소유하고 있는 사용자를 삭제하지 않기 때문입니다. 사용자 및 데이터베이스가 이미 존재하고 있기 때문에 새로운 데이터베이스를 생성하거나 데이터베이스 인증 정보를 지정할 필요가 없습니다. 하지만 engine 데이터 베이스 소유자의 인증 정보를 알 수 없는 경우 백업을 복원하기 전 이를 변경해야 합니다.

절차 13.4. 다른 인증 정보를 사용하여 백업 복원하기

  1. Red Hat Virtualization Manager가 설치된 시스템에 로그인합니다.
  2. 다음 명령을 실행하여 프롬프트에 따라 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
    # engine-cleanup
  3. 사용자 인증 정보를 알 수 없는 경우 engine 데이터베이스 소유자의 암호를 변경합니다:
    1. postgresql 명령행에 들어갑니다:
      # su postgres
      $ psql
    2. engine 데이터베이스를 소유한 사용자의 암호를 변경합니다:
      postgres=# alter role user_name encrypted password 'new_password';
      필요한 경우 ovirt_engine_dwh 데이터베이스를 소유하는 사용자에 대해 이 명령을 반복 실행합니다.
  4. --change-db-credentials 매개 변수를 사용하여 전체 백업 또는 데이터베이스만 백업을 복구하여 새 데이터베이스의 인증을 전달합니다. Manager에 로컬로 설정된 데이터베이스의 database_locationlocalhost입니다.

    참고

    다음 예에서는 각 데이터 베이스마다 암호를 입력하라는 프롬프트에 따라 암호를 지정하지 않고 각 데이터베이스마다 --*password 옵션을 사용합니다. 이러한 옵션의 명령 자체에 암호를 지정할 수 있지만 암호는 셸 기록에 저장되므로 권장되지 않습니다. 다른 방법으로 각 데이터베이스에 대해 --*passfile=password_file 옵션을 사용하여 인터랙티브 (interactive) 프롬프트없이 engine-backup 도구에 암호를 안전하게 전달할 수 있습니다.
    • 전체 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --no-restore-permissions
      데이터 웨어하우스도 전체 백업의 일부로 복원하는 경우 추가되는 두 가지 데이터 베이스의 변경된 인증 정보를 포함시켜야 합니다:
      engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password --no-restore-permissions
    • 설정 파일을 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 수행합니다:
      # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --no-restore-permissions
      위의 예시는 Manager 데이터베이스의 백업을 복원합니다.
      # engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password --no-restore-permissions
      위의 예시는 데이터 웨어하우스 데이터베이스의 백업을 복원합니다.
    완료시 다음과 같은 출력 결과가 표시됩니다:
    You should now run engine-setup.
    Done.
  5. 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후 ovirt-engine 서비스가 올바르게 설정되어 있는지 확인합니다:
    # engine-setup

13.1.8. Engine 데이터 베이스를 원격 서버 데이터 베이스로 마이그레이션

Red Hat Virtualization Manager를 처음에 설정하고 나면 engine 데이터베이스를 원격 데이터베이스 서버로 마이그레이션해야 합니다. engine-backup을 사용하여 데이터베이스 백업을 생성하고 새 데이터베이스 서버에서 복원합니다. 이 절차에서는 새 데이터베이스 서버에 Red Hat Enterprise Linux 7이 설치되어 있으며 적절한 서브스크립션이 설정되어 있다고 가정합니다. 자세한 내용은 설치 가이드에 있는 필요한 서브스크립션을 등록을 참조하십시오.

절차 13.5. 데이터베이스 마이그레이션

  1. Red Hat Virtualization Manager 시스템에 로그인하고 ovirt-engine 서비스를 중지하여 engine 백업을 방해하지 않도록 합니다:
    # systemctl stop ovirt-engine.service
  2. engine 데이터베이스 백업을 만듭니다.
    # engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
  3. 백업 파일을 새 데이터베이스 서버에 복사합니다.
    # scp /tmp/engine.dump root@new.database.server.com:/tmp
  4. 새 데이터베이스 서버에 로그인하고 engine-backup을 설치합니다.
    # yum install ovirt-engine-tools-backup
  5. 새 데이터베이스 서버에서 데이터베이스를 복원합니다. file_name은 Manager에서 복사한 백업 파일입니다.
    # engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --no-restore-permissions
  6. 이제 데이터베이스가 마이그레이션되었습니다. ovirt-engine 서비스를 시작합니다:
    # systemctl start ovirt-engine.service