12장. 백업 및 마이그레이션
12.1. Red Hat Enterprise Virtualization Manager 백업 및 복구 링크 복사링크가 클립보드에 복사되었습니다!
12.1.1. Red Hat Enterprise Virtualization Manager 백업 - 개요 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 도구를 사용하여 Red Hat Enterprise Virtualization Manager의 일반적인 백업을 수행합니다. 도구를 사용하여 engine 데이터 베이스 및 설정 파일을 단일 파일로 백업할 수 있으며 ovirt-engine 서비스를 중단하지 않고 실행할 수 있습니다.
12.1.2. engine-backup 명령 구문 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령은 두 가지 기본 모드 중 하나에서 작동합니다:
engine-backup --mode=backup
# engine-backup --mode=backup
engine-backup --mode=restore
# engine-backup --mode=restore
기본 옵션
--mode- 명령이 백업 작업을 수행하거나 복원 작업을 수행할 지에 대한 여부를 지정합니다.
backup및restore의 두 가지 옵션을 사용할 수 있습니다. 이는 필수 매개 변수입니다. --file- 백업 모드에서 백업된 파일 이름 및 경로와 복원 모드에서 백업 데이터를 읽기 위한 파일 이름 및 경로를 지정합니다. 이는 백업 모드 및 복원 모드 모두에서 필수 매개 변수입니다.
--log- 백업 기록 또는 복원 작업이 기록될 파일 경로와 이름을 지정합니다. 이 매개 변수는 백업 모드 및 복원 모드 모두에서 필요합니다.
--scope- 백업 또는 복원 작업 범위를 지정합니다. 다음과 같은 다섯 가지 옵션이 있습니다.
all은 모든 데이터베이스 및 설정 데이터를 백업 또는 복원합니다.files는 시스템에 있는 파일만 백업 또는 복원합니다.db는 Manager 데이터베이스만 백업 또는 복원합니다.dwhdb는 Data Warehouse 데이터베이스만 백업 또는 복원합니다.reportsdb는 Reports 데이터베이스만 백업 또는 복원합니다. 기본 범위는all입니다.
Manager 데이터베이스 옵션
restore 모드에서 engine-backup 명령을 사용하는 경우에만 사용할 수 있습니다. 아래의 옵션 구문은 Manager 데이터베이스 복원에 적용됩니다. Data Warehouse 데이터 베이스 및 Reports 데이터 베이스 복원의 경우 동일한 옵션이 존재합니다. 옵션 구문은 engine-backup --help에서 참조하십시오.
--change-db-credentials- 백업 자체에 저장된 것 이외의 인증 정보를 사용하여 Manager 데이터베이스를 복원하기 위해 대체 인증 정보를 지정할 수 있습니다. 이러한 매개 변수를 지정하면 다음과 같은 매개 변수를 추가할 수 있습니다.
--db-host- 데이터 베이스가 있는 호스트의 IP 주소 또는 정규화된 도메인 이름을 지정합니다. 이는 필수 매개 변수입니다.
--db-port- 데이터 베이스에 연결된 포트를 지정합니다.
--db-user- 데이터 베이스에 연결된 사용자 이름을 지정합니다. 이는 필수 매개 변수입니다.
--db-passfile- 데이터베이스에 연결하는데 사용할 암호가 들어 있는 파일을 지정합니다. 이 매개 변수 또는
--db-password매개 변수를 지정해야 합니다. --db-password- 데이터베이스에 연결하는데 사용할 일반 텍스트 암호를 지정합니다. 이 매개 변수 또는
--db-passfile매개 변수를 지정해야 합니다. --db-name- 데이터베이스를 복원할 데이터 베이스 이름을 지정합니다. 이는 필수 매개 변수입니다.
--db-secured- 데이터베이스와의 보안 연결을 지정합니다.
--db-secured-validation- 호스트와의 연결이 유효하도록 지정합니다.
도움말
--help- 사용 가능한 모드, 매개 변수, 사용 예제, 새 데이터베이스 생성 방법, Red Hat Enterprise Virtualization Manager 백업 및 복원과 함께 방화벽을 설정하는 방법에 대한 개요를 설명합니다.
12.1.3. engine-backup 명령으로 백업 생성 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령을 사용하여 Red Hat Enterprise Virtualization Manager를 백업할 수 있습니다. --scope에 다음 옵션 중 하나를 추가하여 수행할 백업 범위를 지정합니다:
all: Manager에 있는 모든 데이터 베이스 및 설정 파일의 전체 백업files: 시스템에 있는 파일만 백업db: Manager 데이터베이스만 백업dwhdb: Data Warehouse 데이터만 백업reportsdb: Reports 데이터 베이스만 백업
중요
all은 files 범위 또는 filesystem 백업을 사용하는 다른 백업과 함께 복원해야 합니다.
절차 12.1. engine-backup 명령 사용 예
- Red Hat Enterprise Virtualization Manager를 실행하는 시스템에 로그인합니다.
- 백업을 생성합니다:
예 12.1. 전체 백업 생성
engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name
# engine-backup --scope=all --mode=backup --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 12.2. Manager 데이터베이스 백업 생성
engine-backup --scope=files --mode=backup --file=file_name --log=log_file_name engine-backup --scope=db --mode=backup --file=file_name --log=log_file_name
# engine-backup --scope=files --mode=backup --file=file_name --log=log_file_name # engine-backup --scope=db --mode=backup --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow db옵션을dwhdb또는reportsdb로 변경하여 Data Warehouse 데이터 베이스나 Reports 데이터 베이스를 백업합니다.지정된 경로 및 파일 이름을 사용하여 백업이 들어있는tar파일이 생성됩니다.
tar 파일은 환경을 복원하는데 사용할 수 있습니다.
12.1.4. engine-backup 명령으로 백업 복원 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령을 사용하여 백업을 복원하는 절차는 간단하지만 백업이 복원된 대상에 따라 백업 생성 절차와 비교해 볼 때 몇 가지 추가 절차가 필요합니다. 예를들어 engine-backup 명령으로 로컬 또는 원격 데이터 베이스를 사용하여 기존 Red Hat Enterprise Virtualization 설치에 Red Hat Enterprise Virtualization을 새로 설치하기 위해 백업을 복원할 수 있습니다.
중요
version 파일 값을 읽습니다.
12.1.5. 백업을 복원하여 새로 설치하기 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령을 사용하여 Red Hat Enterprise Virtualization Manager를 새로 설치하기 위한 백업을 복원할 수 있습니다. 다음 절차는 기본 운영 체제 및 Red Hat Enterprise Virtualization Manager에 필요한 패키지가 설치되어 있으나 engine-setup 명령은 아직 실행되지 않은 시스템에서 실행해야 합니다. 다음 절차에서는 백업이 복원되어 있는 컴퓨터에서 백업 파일에 액세스할 수 있다고 간주합니다.
참고
engine-backup 명령은 engine 데이터베이스의 실제 생성 및 postgresql 서비스의 초기 설정을 처리하지 않습니다. 따라서 이러한 작업은 아래에서 설명하고 있듯이 새로 설치 시 백업을 복원할 때 수동으로 실행해야 합니다.
절차 12.2. 백업을 복원하여 새로 설치하기
- Red Hat Enterprise Virtualization Manager가 설치된 시스템에 로그인합니다. 원격 호스트에 engine 데이터베이스를 복원하려는 경우 해당 호스트에 로그인하여 적절한 작업을 수행해야 합니다. 또한 원격 호스트에 Reports 및 Data Warehouse를 복원하려는 경우에도 마찬가지로 해당 호스트에 로그인하여 적절한 작업을 수행해야 합니다.
- 원격 데이터베이스를 사용하고 있는 경우 postgresql-server 패키지를 설치합니다. 로컬 데이터베이스의 경우 이러한 패키지는 rhevm 설치에 포함되어 있기 때문에 필요하지 않습니다.
yum install postgesql-server
# yum install postgesql-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 백업에 있는 데이터베이스를 복원할 수 있는 빈 데이터를 수동으로 생성하고
postgresql서비스를 설정합니다:postgresql데이터베이스를 초기화하고postgresql서비스를 시작한 후 부팅 시 서비스가 시작되는지 확인합니다:service postgresql initdb service postgresql start chkconfig postgresql on
# service postgresql initdb # service postgresql start # chkconfig postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - postgresql 명령행에 들어갑니다:
su postgres psql
# su postgres $ psqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine사용자를 생성합니다:postgres=# create role engine with login encrypted password 'password';
postgres=# create role engine with login encrypted password 'password';Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reports 및 Data Warehouse를 복원할 경우 해당 호스트에ovirt_engine_reports및ovirt_engine_history사용자를 생성합니다:postgres=# create role ovirt_engine_reports with login encrypted password 'password';
postgres=# create role ovirt_engine_reports with login encrypted password 'password';Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgres=# create role ovirt_engine_history with login encrypted password 'password';
postgres=# create role ovirt_engine_history with login encrypted password 'password';Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 새 데이터베이스를 생성합니다:
postgres=# create database database_name owner engine template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
postgres=# create database database_name owner engine template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reports 및 Data Warehouse를 복원할 경우 해당 호스트에 데이터베이스를 생성합니다:postgres=# create database database_name owner ovirt_engine_reports template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
postgres=# create database database_name owner ovirt_engine_reports template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgres=# create database database_name owner ovirt_engine_history template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
postgres=# create database database_name owner ovirt_engine_history template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';Copy to Clipboard Copied! Toggle word wrap Toggle overflow - postgresql 명령행을 종료하고 postgres 사용자에서 로그아웃합니다:
postgres=# \q $ exit
postgres=# \q $ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 다음과 같이
/var/lib/pgsql/data/pg_hba.conf파일을 편집합니다:- 각 로컬 데이터베이스의 경우 파일 하단에
local로 시작하는 섹션에 있는 기존 지시문을 다음과 같은 지시문으로 변경합니다:host database_name user_name 0.0.0.0/0 md5 host database_name user_name ::0/0 md5
host database_name user_name 0.0.0.0/0 md5 host database_name user_name ::0/0 md5Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 각 원격 데이터베이스에 대해 다음을 설정합니다:
- 파일 하단에
Local로 시작하는 행 바로 아래에 다음과 같은 행을 추가합니다. 여기서 X.X.X.X는 Manager의 IP 주소로 변경합니다:host database_name user_name X.X.X.X/32 md5
host database_name user_name X.X.X.X/32 md5Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 데이터베이스에 TCP/IP 연결을 허용합니다.
/var/lib/pgsql/data/postgresql.conf파일을 편집하고 다음 행을 추가합니다:listen_addresses='*'
listen_addresses='*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예에서는 모든 인터페이스에서의 연결을 수신하도록postgresql서비스를 설정하고 있습니다. IP 주소로 인터페이스를 지정할 수 있습니다. - PostgreSQL 데이터베이스 연결에 사용할 기본 포트를 열고 업데이트된 방화벽 규칙을 저장합니다:
iptables -I INPUT 5 -p tcp -s Manager_IP_Address --dport 5432 -j ACCEPT service iptables save
# iptables -I INPUT 5 -p tcp -s Manager_IP_Address --dport 5432 -j ACCEPT # service iptables saveCopy to Clipboard Copied! Toggle word wrap Toggle overflow
postgresql서비스를 다시 시작합니다:service postgresql restart
# service postgresql restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
--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
# 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-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow Reports 및 Data Warehouse도 전체 백업의 일부로 복원하는 경우 추가되는 두 가지 데이터 베이스의 변경된 인증 정보를 포함시켜야 합니다: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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-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
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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 설정 파일 백업을 먼저 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 실행합니다:
engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine-backup --mode=restore --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
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Manager 데이터베이스 백업을 복원합니다.engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Reports 데이터베이스의 백업을 복원합니다.engine-backup --mode=restore --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
# engine-backup --mode=restore --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-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Data Warehouse 데이터베이스의 백업을 복원합니다.
완료시 다음과 같은 출력 결과가 표시됩니다:You should now run engine-setup. Done.
You should now run engine-setup. Done.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Manager 시스템에 로그인합니다. 다음 명령을 실행하고 프롬프트에 따라 복원된 Manager를 설정합니다:
engine-setup
# engine-setupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.1.6. 기존 설치를 덮어쓰기하여 백업 복원하기 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령을 사용하여 Red Hat Enterprise Virtualization Manager가 이미 설치 및 설정된 컴퓨터에 백업을 복원할 수 있습니다. 설치를 백업하고 설치를 변경한 후 백업에서 설치를 복원하고자 하는 경우에 유용합니다.
중요
engine-backup 명령을 사용하기 전 engine-cleanup 명령을 실행하여 기존 설치를 정리해야 합니다. engine-cleanup 명령은 engine 데이터베이스만을 정리하고 데이터베이스를 삭제하거나 데이터 베이스를 소유하고 있는 사용자를 삭제하지 않기 때문입니다. 사용자 및 데이터베이스가 이미 존재하고 있기 때문에 새로운 데이터베이스를 생성하거나 데이터베이스 인증을 지정할 필요가 없습니다.
절차 12.3. 기존 설치를 덮어쓰기하여 백업 복원하기
- Red Hat Enterprise Virtualization Manager가 설치된 시스템에 로그인합니다.
- 다음 명령을 실행하여 프롬프트에 따라 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
engine-cleanup
# engine-cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 전체 백업 또는 데이터베이스만 백업을 복원합니다:
- 전체 백업을 복원하려면 다음을 수행합니다:
engine-backup --mode=restore --file=file_name --log=log_file_name
# engine-backup --mode=restore --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 설정 파일 백업을 먼저 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 수행합니다:
engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Manager 데이터베이스 백업을 복원합니다. 필요한 경우 Reports 및 Data Warehouse 데이터베이스도 복원합니다.engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
완료시 다음과 같은 출력 결과가 표시됩니다:You should now run engine-setup. Done.
You should now run engine-setup. Done.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후
ovirt-engine서비스가 올바르게 설정되어 있는지 확인합니다:engine-setup
# engine-setupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
engine 데이터베이스 및 Red Hat Enterprise Virtualization Manager의 설정 파일이 백업 버전에 복원됩니다.
12.1.7. 다른 인증 정보를 사용하여 백업 복원하기 링크 복사링크가 클립보드에 복사되었습니다!
engine-backup 명령을 사용하여 Red Hat Enterprise Virtualization Manager가 이미 설치 및 설정된 컴퓨터에 백업을 복원할 수 있지만 백업에 있는 데이터 베이스의 인증 정보는 백업이 복원된 컴퓨터에 있는 데이터베이스와 다릅니다. 이는 설치에서 백업을 취하여 백업에서 다른 시스템으로 설치를 복원하고자 하는 경우 유용합니다.
중요
engine-backup 명령을 사용하기 전 engine-cleanup 명령을 실행하여 기존 설치를 정리해야 합니다. engine-cleanup 명령은 engine 데이터베이스만을 정리하고 데이터베이스를 삭제하거나 데이터 베이스를 소유하고 있는 사용자를 삭제하지 않기 때문입니다. 사용자 및 데이터베이스가 이미 존재하고 있기 때문에 새로운 데이터베이스를 생성하거나 데이터베이스 인증 정보를 지정할 필요가 없습니다. 하지만 engine 데이터 베이스 소유자의 인증 정보를 알 수 없는 경우 백업을 복원하기 전 이를 변경해야 합니다.
절차 12.4. 다른 인증 정보를 사용하여 백업 복원하기
- Red Hat Enterprise Virtualization Manager가 설치된 시스템에 로그인합니다.
- 다음 명령을 실행하여 프롬프트에 따라 설정 파일을 삭제하고 Manager에 연결된 데이터베이스를 정리합니다:
engine-cleanup
# engine-cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 사용자 인증 정보를 알 수 없는 경우 engine 데이터베이스 소유자의 암호를 변경합니다:
- postgresql 명령행에 들어갑니다:
su postgres psql
# su postgres $ psqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine데이터베이스를 소유한 사용자의 암호를 변경합니다:postgres=# alter role user_name encrypted password 'new_password';
postgres=# alter role user_name encrypted password 'new_password';Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우ovirt_engine_reports및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
# 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-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow Reports 및 Data Warehouse도 전체 백업의 일부로 복원하는 경우 추가되는 두 가지 데이터 베이스의 변경된 인증 정보를 포함시켜야 합니다: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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-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
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-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 설정 파일 백업을 먼저 복원하고 데이터베이스 백업을 복원하여 데이터베스만 백업을 복원하려면 다음을 수행합니다:
engine-backup --mode=restore --scope=files --file=file_name --log=log_file_name
# engine-backup --mode=restore --scope=files --file=file_name --log=log_file_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow engine-backup --mode=restore --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
# engine-backup --mode=restore --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Manager 데이터베이스의 백업을 복원합니다.engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-password
# engine-backup --mode=restore --scope=reportsdb --file=file_name --log=log_file_name --change-reports-db-credentials --reports-db-host=database_location --reports-db-name=database_name --reports-db-user=ovirt_engine_reports --reports-db-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Reports 데이터베이스의 백업을 복원합니다.engine-backup --mode=restore --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
# engine-backup --mode=restore --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-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예시는 Data Warehouse 데이터베이스의 백업을 복원합니다.
완료시 다음과 같은 출력 결과가 표시됩니다:You should now run engine-setup. Done.
You should now run engine-setup. Done.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 다음 명령을 실행하고 프롬프트에 따라 방화벽을 다시 설정한 후
ovirt-engine서비스가 올바르게 설정되어 있는지 확인합니다:engine-setup
# engine-setupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Enterprise Virtualization Manager의 engine 데이터베이스 및 설정 파일은 지정된 인증 정보를 사용하고 있는 백업 버전에 복원되어 Manager는 새 데이터베이스를 사용하도록 설정됩니다.
12.1.8. Engine 데이터 베이스를 원격 서버 데이터 베이스로 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
engine 데이터 베이스를 원격 데이터 베이스 서버로 마이그레이션 할 수 있습니다.
pg_dump 및 pg_restore 명령을 사용합니다. 이러한 경우 업데이트된 정보로 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 파일을 편집해야 합니다. 최소한 새로운 데이터 베이스 서버의 위치를 업데이트해야 합니다. 새로운 데이터 베이스의 데이터 베이스 이름, 역할 이름, 암호가 수정된 경우에도 이러한 값이 있는 10-setup-database.conf 파일을 업데이트해야 합니다. 이 절차는 기본 engine 데이터베이스 설정을 사용하여 파일 변경을 최소화합니다.
절차 12.5. Red Hat Enterprise Virtualization Manager에서 사용할 원격 PostgreSQL 데이터 베이스 준비
- 원격 데이터베이스 서버에 로그인하여 PostgreSQL 서버 패키지를 설치합니다:
yum install postgresql-server
# yum install postgresql-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - PostgreSQL 데이터베이스를 초기화하고
postgresql서비스를 시작합니다. 이러한 서비스가 부팅시 시작되는지 확인합니다:service postgresql initdb service postgresql start chkconfig postgresql on
# service postgresql initdb # service postgresql start # chkconfig postgresql onCopy to Clipboard Copied! Toggle word wrap Toggle overflow postgres사용자로 psql 명령행 인터페이스에 연결합니다:su - postgres psql
# su - postgres $ psqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 데이터베이스에서 읽기/쓰기 시 사용할 Manager를 생성합니다. Manager의 기본 사용자 이름은
engine입니다:postgres=# create role user_name with login encrypted password 'password';
postgres=# create role user_name with login encrypted password 'password';Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
engine사용자 암호는/etc/ovirt-engine/engine.conf.d/10-setup-database.conf에 일반 텍스트 형식으로 저장되어 있습니다. 새로운 서버의 역할을 생성할 때 아무 암호나 사용할 수 있지만 다른 암호를 사용할 경우 새로운 암호에 대한 정보를 이 파일에 업데이트해야 합니다. - Red Hat Enterprise Virtualization 환경에 대한 데이터를 저장할 데이터 베이스를 생성합니다. Manager에서 기본 데이터 베이스 이름
engine이고 기본 사용자 이름도engine입니다:postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';Copy to Clipboard Copied! Toggle word wrap Toggle overflow - md5 클라이언트 인증을 활성화하여 원격으로 데이터베이스에 액세스할 수 있습니다.
/var/lib/pgsql/data/pg_hba.conf파일을 편집하고 다음 행을 파일 아래에 있는local로 시작하는 행 바로 아래에 추가합니다. 여기서 X.X.X.X는 Manager의 IP 주소로 변경합니다:host database_name user_name X.X.X.X/32 md5
host database_name user_name X.X.X.X/32 md5Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 데이터베이스에 TCP/IP 연결을 허용합니다.
/var/lib/pgsql/data/postgresql.conf파일을 편집하고 다음 행을 추가합니다:listen_addresses='*'
listen_addresses='*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위의 예에서는 모든 인터페이스에서의 연결을 수신하도록postgresql서비스를 설정하고 있습니다. IP 주소로 인터페이스를 지정할 수 있습니다. - PostgreSQL 데이터베이스 연결에 사용할 기본 포트를 열고 업데이트된 방화벽 규칙을 저장합니다:
iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT service iptables save
# iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT # service iptables saveCopy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql서비스를 다시 시작합니다:service postgresql restart
# service postgresql restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차 12.6. 데이터베이스 마이그레이션
- Red Hat Enterprise Virtualization Manager 시스템에 로그인하고
ovirt-engine서비스를 중지하여 engine 백업을 방해하지 않도록 합니다:service ovirt-engine stop
# service ovirt-engine stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - PostgreSQL
pg_dump명령을 사용하여engine데이터베이스 백업을 생성합니다:su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'
# su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 백업 파일을 새로운 데이터 베이스 서버에 복사합니다. 대상 디렉토리는
postgres사용자에 대해 쓰기 권한을 허용해야 합니다:scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dump
# scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 새로운 데이터 베이스 서버에 로그인하고 PostgreSQL
pg_restore명령을 사용하여 데이터베이스를 복원합니다:su - postgres -c 'pg_restore -d engine /tmp/engine.dump'
# su - postgres -c 'pg_restore -d engine /tmp/engine.dump'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Manager 서버에 로그인하고
/etc/ovirt-engine/engine.conf.d/10-setup-database.conf파일을 업데이트한 후ENGINE_DB_HOST의localhost값을 새로운 데이터 베이스 서버의 IP 주소로 변경합니다. 새로운 데이터 베이스 서버의 engine 이름, 역할 이름, 암호가 다를 경우 이 파일에 이러한 값을 업데이트합니다. - 이제 데이터베이스가 마이그레이션되었습니다.
ovirt-engine서비스를 시작합니다:service ovirt-engine start
# service ovirt-engine startCopy to Clipboard Copied! Toggle word wrap Toggle overflow