Show Table of Contents
8장. 데이터베이스 마이그레이션
8.1. 셀프 호스트 엔진 데이터 베이스를 원격 서버 데이터 베이스로 마이그레이션
Red Hat Virtualization Manager를 처음으로 설정한 후 셀프 호스트 엔진의
engine 데이터 베이스를 원격 데이터 베이스 서버로 마이그레이션 할 수 있습니다.
이 작업은 두 가지 절차로 나누어져 있습니다. 첫 번째 절차는 원격 PostgreSQL 데이터베이스를 준비하는 것으로 마이그레이션 자체에 대해 필수 구성 요소이며 서버에 Red Hat Enterprise Linux가 설치되어 있고 적절한 서브스크립션을 사용하여 설정 완료되어 있다는 것을 전제로 합니다.
두 번째 절차는 데이터베이스를 마이그레이션하는 것으로 데이터베이스 백업 및 복구를 처리하기 위해 PostgreSQL
pg_dump 및 pg_restore 명령을 사용합니다. 이러한 경우 업데이트된 정보로 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 파일을 편집해야 합니다. 최소한 새로운 데이터 베이스 서버의 위치를 업데이트해야 합니다. 새로운 데이터 베이스의 데이터 베이스 이름, 역할 이름, 암호가 수정된 경우에도 이러한 값이 있는 10-setup-database.conf 파일을 업데이트해야 합니다. 이 절차는 기본 engine 데이터베이스 설정을 사용하여 파일 변경을 최소화합니다.
절차 8.1. Red Hat Virtualization Manager에서 사용할 원격 PostgreSQL 데이터 베이스 준비
- 원격 데이터베이스 서버에 로그인하여 PostgreSQL 서버 패키지를 설치합니다:
# yum install postgresql-server
- PostgreSQL 데이터베이스를 초기화하고
postgresql서비스를 시작합니다. 부팅 시 해당 서비스가 시작되는지 확인합니다:# service postgresql initdb # service postgresql start # chkconfig postgresql on
postgres사용자로 psql 명령행 인터페이스에 연결합니다:# su - postgres $ psql
- Manager가 데이터베이스에서 읽기/쓰기 시 사용할 사용자를 생성합니다. Manager의 기본 사용자 이름은
engine입니다:postgres=# create role user_name with login encrypted password 'password';
참고
engine사용자 암호는/etc/ovirt-engine/engine.conf.d/10-setup-database.conf에 일반 텍스트 형식으로 저장되어 있습니다. 새로운 서버의 역할을 생성할 때 아무 암호나 사용할 수 있지만 다른 암호를 사용할 경우 새로운 암호에 대한 정보를 이 파일에 업데이트해야 합니다. - Red Hat 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';
- 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
- 데이터베이스에 TCP/IP 연결을 허용합니다.
/var/lib/pgsql/data/postgresql.conf파일을 편집하고 다음 행을 추가합니다:listen_addresses='*'
위의 예시에서는 모든 인터페이스에서의 연결을 수신하도록postgresql서비스를 설정하고 있습니다. IP 주소로 인터페이스를 지정할 수 있습니다. - PostgreSQL 데이터베이스 연결에 사용할 기본 포트를 열고 업데이트된 방화벽 규칙을 저장합니다:
# iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT # service iptables save
postgresql서비스를 다시 시작합니다:# service postgresql restart
옵션으로 http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE에 있는 지시 사항에 따라 데이터 베이스 보안 연결을 위해 SSL을 설정합니다.
절차 8.2. 데이터베이스 마이그레이션
- 호스트 엔진 (hosted-engine) 호스트 중 하나에 로그인하여 해당 환경을
글로벌유지관리 모드로 변경합니다. 이를 통해 고가용성 에이전트를 비활성화하고 이 절차 도중 Manager 가상 머신이 마이그레이션되는 것을 방지할 수 있습니다:# hosted-engine --set-maintenance --mode=global
- Manager 가상 머신에 로그인하고
ovirt-engine서비스를 중지하여 engine 백업을 방해하지 않도록 합니다:# service ovirt-engine stop
- PostgreSQL
pg_dump명령을 사용하여engine데이터베이스 백업을 생성합니다:# su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'
- 백업 파일을 새로운 데이터 베이스 서버에 복사합니다. 대상 디렉토리는
postgres사용자에게 쓰기 권한을 허용해야 합니다:# scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dump
- 새로운 데이터 베이스 서버에 로그인하고 PostgreSQL
pg_restore명령을 사용하여 데이터베이스를 복원합니다:# su - postgres -c 'pg_restore -d engine /tmp/engine.dump'
- Manager 가상 머신에 로그인하고
/etc/ovirt-engine/engine.conf.d/10-setup-database.conf파일을 업데이트한 후ENGINE_DB_HOST의localhost값을 새로운 데이터 베이스 서버의 IP 주소로 변경합니다. 새로운 데이터 베이스 서버의 engine 이름, 역할 이름, 암호가 다를 경우 이 파일에 이러한 값을 업데이트합니다. - 이제 데이터베이스가 마이그레이션되었습니다.
ovirt-engine서비스를 시작합니다:# service ovirt-engine start
- 호스트 엔진 (hosted-engine) 호스트에 로그인하여 유지관리 모드를 해제해서 고가용성 에이전트를 활성화합니다:
# hosted-engine --set-maintenance --mode=none

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.