13장. 백업 및 마이그레이션
13.1. Red Hat Virtualization Manager 백업 및 복원
13.1.1. Red Hat Virtualization Manager 백업 - 개요
engine-backup 도구를 사용하여 Red Hat Virtualization Manager의 정기적인 백업을 수행합니다. 툴은 엔진 데이터베이스 및 구성 파일을 단일 파일로 백업하고 ovirt-engine 서비스를 중단하지 않고 실행할 수 있습니다.
13.1.2. engine-backup 명령의 구문
engine-backup 명령은 다음 두 가지 기본 모드 중 하나로 작동합니다.
# engine-backup --mode=backup
# engine-backup --mode=restore
이러한 두 가지 모드는 백업의 범위와 엔진 데이터베이스의 다른 자격 증명을 지정할 수 있는 매개변수 세트로 추가로 확장됩니다. 전체 매개변수 및 해당 함수에 대해 engine-backup --help 를 실행합니다.
기본 옵션
--mode
- 명령이 백업 작업 또는 복원 작업을 수행할지 여부를 지정합니다.
백업
및복원
의 두 가지 옵션을 사용할 수 있습니다. 필수 매개변수입니다. --file
- 백업 모드에서 백업을 수행할 파일의 경로와 이름과 복원 모드에서 백업 데이터를 읽을 파일의 경로와 이름을 지정합니다. 이는 백업 모드 및 복원 모드에서 필수 매개 변수입니다.
--log
- 백업 또는 복원 작업의 로그를 작성할 파일의 경로와 이름을 지정합니다. 이 매개변수는 백업 모드와 복원 모드에서 모두 필요합니다.
--scope
- 백업 또는 복원 작업의 범위를 지정합니다.
모든
데이터베이스 및 구성 데이터를 백업하거나 복원하는 모든 옵션은 모두 있습니다. 즉, 시스템의파일만
백업하거나 복원하는 파일, Manager 데이터베이스만 백업하거나 복원하는db
. 및dwhdb
.이 데이터베이스 백업 또는 복원 데이터베이스만 백업하거나 복원하는 dwhdb입니다. 기본 범위는all
입니다.--scope
매개변수는 동일한 engine-backup 명령에서 여러 번 지정할 수 있습니다.
관리자 데이터베이스 옵션
다음 옵션은
복원
모드에서 engine-backup 명령을 사용하는 경우에만 사용할 수 있습니다. 아래 옵션 구문은 Manager 데이터베이스 복원에 적용됩니다. 데이터ECDHE 데이터베이스를 복원하는 데 동일한 옵션이 있습니다. DataECDHE 옵션 구문은 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 명령을 사용하여 백업 생성
Red Hat Virtualization Manager는 Manager가 활성 상태인 동안 engine-backup 명령을 사용하여 백업할 수 있습니다. 수행할 백업을 지정하려면
--scope
에 다음 옵션 중 하나를 추가합니다.
모두
: Manager에서 모든 데이터베이스 및 구성 파일의 전체 백업files
: 시스템에 있는 파일만 백업DB
: Manager 데이터베이스만 백업dwhdb
: 데이터ECDHE 데이터베이스만 백업
중요
Red Hat Virtualization Manager의 새로 설치로 데이터베이스를 복원하려면 데이터베이스 백업만으로는 충분하지 않습니다. 관리자도 구성 파일에 액세스해야 합니다. 기본값이 아닌 범위를 지정하는
모든
백업은 파일 범위 또는 파일
시스템 백업을 동반해야 합니다.
절차 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. 관리자 데이터베이스 백업 생성
# engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
db
옵션을dwhdb
로 교체하여 DataECDHE 데이터베이스를 백업합니다.백업이 포함된tar
파일은 지정된 경로와 파일 이름을 사용하여 생성됩니다.
백업이 포함된
tar
파일을 사용하여 환경을 복원할 수 있습니다.
13.1.4. engine-backup 명령을 사용하여 백업 복원
engine-backup 명령을 사용하여 백업을 복원하려면 복원 대상에 따라 백업을 생성하는 것보다 더 많은 단계가 필요합니다. 예를 들어 engine-backup 명령을 사용하여 Red Hat Virtualization을 새로 설치한 후 로컬 또는 원격 데이터베이스를 사용하여 백업을 Red Hat Virtualization을 새로 설치할 수 있습니다.
중요
백업은 백업과 동일한 주요 릴리스 환경으로만 복원할 수 있습니다. 예를 들어 Red Hat Virtualization 버전 4.0 환경 백업은 다른 Red Hat Virtualization 버전 4.0 환경으로만 복원할 수 있습니다. 백업 파일에 포함된 Red Hat Virtualization 버전을 보려면 백업 파일의 압축을 풀고 압축 해제된 파일의 루트 디렉터리에 있는
버전
파일의 값을 읽습니다.
13.1.5. 새로 고침으로 백업 복원
engine-backup 명령을 사용하여 Red Hat Virtualization Manager 신규 설치에 백업을 복원할 수 있습니다. 기본 운영 체제가 설치되어 있고 Red Hat Virtualization Manager에 필요한 패키지가 설치되어 있지만 engine-setup 명령이 아직 실행되지 않은 시스템에서 다음 절차를 수행해야 합니다. 이 절차에서는 백업을 복원할 시스템에서 백업 파일 또는 파일에 액세스할 수 있다고 가정합니다.
절차 13.2. 새로 고침으로 백업 복원
- Manager 시스템에 로그인합니다. 엔진 데이터베이스를 원격 호스트에 복원하는 경우 해당 호스트에 로그인하여 관련 작업을 수행해야 합니다. 마찬가지로 데이터를 원격 호스트에 복원할 수도 있는 경우 해당 호스트에 로그인하여 해당 호스트에서 관련 작업을 수행해야 합니다.
- 전체 백업 또는 데이터베이스 전용 백업을 복원합니다.
- 전체 백업을 복원하십시오.
# 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
위의 예에서는 데이터ECDHE 데이터베이스의 백업을 복원합니다.
성공하면 다음 출력이 표시됩니다.You should now run engine-setup. Done.
- 다음 명령을 실행하고 프롬프트에 따라 복원된 관리자를 구성합니다.
# engine-setup
Red Hat Virtualization Manager가 백업에 보존된 버전으로 복원되었습니다. 새 Red Hat Virtualization 시스템의 정규화된 도메인 이름을 변경하려면 18.1.1절. “oVirt Engine Rename Tool” 을 참조하십시오.
13.1.6. 기존 설치를 덮어쓰도록 백업 복원
engine-backup 명령은 Red Hat Virtualization Manager가 이미 설치 및 설정된 머신으로 백업을 복원할 수 있습니다. 이 기능은 설치를 백업하고, 해당 설치에서 변경 사항을 수행한 다음 백업에서 설치를 복원하려는 경우에 유용합니다.
중요
백업을 복원하여 기존 설치를 덮어쓸 때 engine-cleanup 명령을 실행하여 engine-backup 명령을 사용하기 전에 기존 설치를 정리해야 합니다. engine-cleanup 명령은 엔진 데이터베이스만 정리하고 데이터베이스를 삭제하거나 해당 데이터베이스를 소유한 사용자를 삭제하지 않기 때문에 사용자와 데이터베이스가 이미 존재하므로 새 데이터베이스를 만들거나 데이터베이스 자격 증명을 지정할 필요가 없습니다.
절차 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-cleanup 명령을 실행하여 engine-backup 명령을 사용하기 전에 기존 설치를 정리해야 합니다. engine-cleanup 명령은 엔진 데이터베이스만 정리하고 데이터베이스를 삭제하거나 해당 데이터베이스를 소유한 사용자를 삭제하지 않기 때문에 사용자와 데이터베이스가 이미 존재하므로 새 데이터베이스를 만들거나 데이터베이스 자격 증명을 지정할 필요가 없습니다. 그러나 엔진 데이터베이스의 소유자에 대한 자격 증명을 알 수 없는 경우 백업을 복원하기 전에 변경해야 합니다.
절차 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 옵션을 사용하여 각 데이터베이스에 암호를 안전하게 전달하여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
위의 예에서는 데이터ECDHE 데이터베이스의 백업을 복원합니다.
성공하면 다음 출력이 표시됩니다.You should now run engine-setup. Done.
- 다음 명령을 실행하고 프롬프트에 따라 방화벽을 재구성하고
ovirt-engine
서비스가 올바르게 구성되었는지 확인합니다.# engine-setup
13.1.8. 엔진 데이터베이스를 원격 서버 데이터베이스로 마이그레이션
Red Hat Virtualization Manager를 처음 구성한 후
엔진
데이터베이스를 원격 데이터베이스 서버로 마이그레이션할 수 있습니다. engine-backup 을 사용하여 데이터베이스 백업을 생성하고 새 데이터베이스 서버에서 복원합니다. 이 절차에서는 새 데이터베이스 서버에 Red Hat Enterprise Linux 7이 설치되어 있고 적절한 서브스크립션이 구성되어 있다고 가정합니다. 설치 가이드 의 필수 인타이틀먼트 서브스크립션을 참조하십시오.
절차 13.5. 데이터베이스 마이그레이션
- Red Hat Virtualization Manager 시스템에 로그인하고
ovirt-engine
서비스를 중지하여 엔진 백업을 방해하지 않도록 합니다.# systemctl stop ovirt-engine.service
엔진
데이터베이스 백업을 생성합니다.# 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