버전 10 또는 12에서 13으로 데이터베이스 마이그레이션

이 섹션에서는 버전 10 또는 12에서 버전 13으로의 PostgreSQL 데이터베이스 업그레이드에 대해 설명합니다. PostgreSQL 13을 이미 사용 중인 경우에는 이 마이그레이션을 수행할 필요가 없습니다. 기존 버전(예: 버전 9.6)을 사용 중인 경우에는 버전 9에서 10으로 데이터베이스 마이그레이션을 참조하십시오.

최신 SUSE Manager 버전으로 업그레이드하려면 기본 운영 체제에 따라 PostgreSQL 버전 12 또는 13을 사용해야 합니다.

  • SLES 15 SP3를 실행 중인 경우에는 PostgreSQL 13을 사용하십시오.

  • Leap 15.2를 실행 중인 경우에는 PostgreSQL 12를 사용하십시오.

1. 업그레이드 준비

업그레이드하기 전에 기존 SUSE Manager 서버를 준비한 후 데이터베이스를 백업합니다.

PostgreSQL에서는 데이터가 /var/lib/pgsql/data/에 저장됩니다.

절차: 업그레이드 준비
  1. 활성 PostgreSQL 버전을 확인합니다.

    psql --version

    PostgreSQL 10 또는 12를 사용하는 경우 PostgreSQL 13으로 업그레이드할 수 있습니다. 이미 PostgreSQL 버전 13을 사용 중인 경우 이 마이그레이션을 수행할 필요가 없습니다.

  2. 활성 smdba 버전을 확인합니다.

    rpm -q smdba

    PostgreSQL 13에는 smdba 버전 1.7.6 이상이 필요합니다.

  3. 데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 Backup and Restore에서 참조하십시오.

2. PostgreSQL 업그레이드

항상 데이터베이스를 백업한 후 마이그레이션을 수행해야 합니다.

PostgreSQL 업그레이드는 일반 업그레이드와 빠른 업그레이드의 두 가지 방법으로 수행할 수 있습니다.

정기적으로 업그레이드하면 데이터베이스의 완전한 사본이 생성되므로 두 배의 기존 데이터베이스 여유 공간 크기가 필요합니다. 정기 업그레이드를 수행하기 위해서는 데이터베이스의 크기 및 스토리지 시스템의 속도에 따라 상당한 시간이 걸릴 수 있습니다.

빠른 업그레이드에는 몇 분이 걸릴 수 있으며, 추가적인 디스크 공간을 거의 사용하지 않습니다. 그러나 빠른 업그레이드가 실패하면 백업에서 데이터베이스를 복원해야 합니다. 빠른 업그레이드는 디스크 공간이 부족해지는 위험을 줄여주지만, 백업이 없거나 다시 수행할 수 없는 경우 데이터 위험이 증가합니다. 일반 업그레이드는 파일 간의 하드 링크를 생성하는 대신 데이터베이스 파일을 복사합니다.

PostgreSQL에서는 데이터가 /var/lib/pgsql/data/에 저장됩니다.

절차: 일반 업그레이드 수행
  1. 데이터베이스를 백업하십시오. 백업에 대한 자세한 정보는 Backup and Restore에서 참조하십시오.

  2. 업그레이드를 시작합니다. 12 버전을 사용하는 경우 다음을 실행합니다.

    /usr/lib/susemanager/bin/pg-migrate-12-to-13.sh
    10 버전을 보유한 경우 다음을 실행하십시오.
    /usr/lib/susemanager/bin/pg-migrate-10-to-13.sh
  3. 업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12 또는 /var/lib/pgsql/data-pg10으로 이름이 변경됩니다.

pg-migrate-12-to-13.sh 또는 pg-migrate-10-to-13.sh 스크립트가 다음 작업을 수행합니다.

  • Spacewalk 서비스 중지

  • 실행 중인 데이터베이스 종료

  • PostgreSQL 13이 설치되어 있는지 확인하고 필요한 경우 설치합니다.

  • 이전 버전의 PostgreSQL 에서 새 기본값인 PostgreSQL 13으로 전환

  • 데이터베이스 마이그레이션 시작

  • SUSE Manager에서 사용할 수 있도록 조정된 PostgreSQL 구성 파일 생성

  • 데이터베이스 및 Spacewalk 서비스 시작

업그레이드에 실패하면 마이그레이션 스크립트가 데이터베이스를 원래 상태로 복원하려고 시도합니다.

절차: 빠른 PostgreSQL 업그레이드 수행
  1. 데이터베이스 백업을 실행하십시오. 검증된 데이터베이스 백업이 없으면 빠른 업그레이드를 시작할 수 없습니다. 백업에 대한 자세한 내용은 Backup and Restore에서 참조하십시오.

  2. 업그레이드를 실행하십시오. 12 버전에서 마이그레이션하는 경우:

    /usr/lib/susemanager/bin/pg-migrate-12-to-13.sh fast

    + 버전 10에서 마이그레이션하는 경우:

    /usr/lib/susemanager/bin/pg-migrate-10-to-13.sh fast
  3. 업그레이드가 완료되면, 기존 데이터베이스 디렉토리를 삭제하고 손실된 디스크 공간을 회수할 수 있습니다. 이전 디렉토리는 시작한 버전에 따라 /var/lib/pgsql/data-pg12 또는 /var/lib/pgsql/data-pg10으로 이름이 변경됩니다..