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_name
Copy 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_name
Copy 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-server
Copy 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 on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - postgresql 명령행에 들어갑니다:
su postgres psql
# su postgres $ psql
Copy 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 $ exit
Copy 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 md5
Copy 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 md5
Copy 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 save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
postgresql
서비스를 다시 시작합니다:service postgresql restart
# service postgresql restart
Copy 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-password
Copy 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-password
Copy 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_name
Copy 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-password
Copy 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-password
Copy 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-password
Copy 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-setup
Copy 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-cleanup
Copy 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_name
Copy 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_name
Copy 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_name
Copy 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_name
Copy 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_name
Copy 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-setup
Copy 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-cleanup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 사용자 인증 정보를 알 수 없는 경우 engine 데이터베이스 소유자의 암호를 변경합니다:
- postgresql 명령행에 들어갑니다:
su postgres psql
# su postgres $ psql
Copy 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-password
Copy 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-password
Copy 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_name
Copy 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-password
Copy 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-password
Copy 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-password
Copy 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-setup
Copy 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-server
Copy 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 on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgres
사용자로 psql 명령행 인터페이스에 연결합니다:su - postgres psql
# su - postgres $ psql
Copy 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 md5
Copy 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 save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql
서비스를 다시 시작합니다:service postgresql restart
# service postgresql restart
Copy 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 stop
Copy 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.dump
Copy 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 start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow