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
- 명령이 백업 작업을 수행하거나 복원 작업을 수행할 지에 대한 여부를 지정합니다.
backup
및restore
의 두 가지 옵션을 사용할 수 있습니다. 이는 필수 매개 변수입니다. --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 명령 사용 예
- Red Hat Virtualization Manager를 실행하는 시스템에 로그인합니다.
- 백업을 생성합니다:
예 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. 백업을 복원하여 새로 설치하기
- Manager 시스템에 로그온합니다. 원격 호스트에 engine 데이터베이스를 복원하는 경우 해당 호스트에 로그온하여 관련 작업을 수행해야 합니다. 또한 원격 호스트에 데이터 웨어하우스를 복원하는 경우에도 마찬가지로 해당 호스트에 로그온하여 관련 작업을 수행해야 합니다.
- 전체 백업을 복원하거나 데이터베이스만 백업을 복원합니다.
- 전체 백업을 복원하려면 다음을 수행합니다:
# 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.
- 다음 명령을 실행하고 프롬프트에 따라 복원된 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. 기존 설치를 덮어쓰기하여 백업 복원하기
- Red Hat Virtualization Manager 시스템에 로그인합니다.
- 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
# engine-cleanup
- 전체 백업 또는 데이터베이스만 백업을 복원합니다:
- 전체 백업을 복원하려면 다음을 수행합니다:
# 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.
- 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후
ovirt-engine
서비스가 올바르게 설정되어 있는지 확인합니다:# engine-setup
13.1.7. 다른 인증 정보를 사용하여 백업 복원하기
engine-backup
명령을 사용하여 Red Hat Virtualization Manager가 이미 설치 및 설정된 컴퓨터에 백업을 복원할 수 있지만 백업에 있는 데이터 베이스의 인증 정보는 백업이 복원된 컴퓨터에 있는 데이터베이스와 다릅니다. 이는 설치에서 백업을 취하여 백업에서 다른 시스템으로 설치를 복원하고자 하는 경우 유용합니다.
중요
기존 설치를 덮어쓰기하기 위해 백업을 복원할 때
engine-backup
명령을 사용하기 전 engine-cleanup
명령을 실행하여 기존 설치를 정리해야 합니다. engine-cleanup
명령은 engine 데이터베이스만을 정리하고 데이터베이스를 삭제하거나 데이터 베이스를 소유하고 있는 사용자를 삭제하지 않기 때문입니다. 사용자 및 데이터베이스가 이미 존재하고 있기 때문에 새로운 데이터베이스를 생성하거나 데이터베이스 인증 정보를 지정할 필요가 없습니다. 하지만 engine 데이터 베이스 소유자의 인증 정보를 알 수 없는 경우 백업을 복원하기 전 이를 변경해야 합니다.
절차 13.4. 다른 인증 정보를 사용하여 백업 복원하기
- Red Hat Virtualization Manager가 설치된 시스템에 로그인합니다.
- 다음 명령을 실행하여 프롬프트에 따라 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
# engine-cleanup
- 사용자 인증 정보를 알 수 없는 경우 engine 데이터베이스 소유자의 암호를 변경합니다:
- postgresql 명령행에 들어갑니다:
# su postgres $ psql
engine
데이터베이스를 소유한 사용자의 암호를 변경합니다:postgres=# alter role user_name encrypted password 'new_password';
필요한 경우ovirt_engine_dwh
데이터베이스를 소유하는 사용자에 대해 이 명령을 반복 실행합니다.
--change-db-credentials
매개 변수를 사용하여 전체 백업 또는 데이터베이스만 백업을 복구하여 새 데이터베이스의 인증을 전달합니다. Manager에 로컬로 설정된 데이터베이스의 database_location은localhost
입니다.참고
다음 예에서는 각 데이터 베이스마다 암호를 입력하라는 프롬프트에 따라 암호를 지정하지 않고 각 데이터베이스마다--*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.
- 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후
ovirt-engine
서비스가 올바르게 설정되어 있는지 확인합니다:# engine-setup
13.1.8. Engine 데이터 베이스를 원격 서버 데이터 베이스로 마이그레이션
Red Hat Virtualization Manager를 처음에 설정하고 나면
engine
데이터베이스를 원격 데이터베이스 서버로 마이그레이션해야 합니다. engine-backup
을 사용하여 데이터베이스 백업을 생성하고 새 데이터베이스 서버에서 복원합니다. 이 절차에서는 새 데이터베이스 서버에 Red Hat Enterprise Linux 7이 설치되어 있으며 적절한 서브스크립션이 설정되어 있다고 가정합니다. 자세한 내용은 설치 가이드에 있는 필요한 서브스크립션을 등록을 참조하십시오.
절차 13.5. 데이터베이스 마이그레이션
- Red Hat Virtualization Manager 시스템에 로그인하고
ovirt-engine
서비스를 중지하여 engine 백업을 방해하지 않도록 합니다:# systemctl stop ovirt-engine.service
engine
데이터베이스 백업을 만듭니다.# engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
- 백업 파일을 새 데이터베이스 서버에 복사합니다.
# scp /tmp/engine.dump root@new.database.server.com:/tmp
- 새 데이터베이스 서버에 로그인하고
engine-backup
을 설치합니다.# yum install ovirt-engine-tools-backup
- 새 데이터베이스 서버에서 데이터베이스를 복원합니다. file_name은 Manager에서 복사한 백업 파일입니다.
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --no-restore-permissions
- 이제 데이터베이스가 마이그레이션되었습니다.
ovirt-engine
서비스를 시작합니다:# systemctl start ovirt-engine.service