バージョン9から10へのデータベースの移行
このセクションでは、PostgreSQLデータベースをバージョン9からバージョン10にアップグレードする方法について説明します。 すでにPostgreSQL 10を使用している場合、この移行を実行する必要はありません。
最新バージョンのSUSE Managerにアップグレードする場合、PostgreSQLバージョン10または12を使用する必要があります。 バージョン9.6など古いバージョンを使用している場合、SUSE Managerの移行を開始する前にPostgreSQLをバージョン10に移行する必要があります。
SUSE Manager 3.2でPostgreSQL 9.4を実行する場合は、製品ドキュメント(https://documentation.suse.com/external-tree/en-us/suma/3.2/susemanager-best-practices/html/book.suma.best.practices/bp.sp.migration.html#sp.migration.postgresql)を参照してください。 PostgreSQL 9.4からバージョン10に直接移行することはできません。 |
1. アップグレードの準備
アップグレードを開始する前に、既存のSUSE Managerサーバを準備して、データベースのバックアップを作成します。
PostgreSQLは/var/lib/pgsql/data/
にデータを保存します。
-
アクティブなPostgreSQLのバージョンを確認します。
psql --version
PostgreSQL 9.6を使用している場合、PostgreSQL 10にアップグレードできます。
すでにPostgreSQL 10を使用している場合、この移行を実行する必要はありません。
-
アクティブなsmdbaのバージョンを確認します。
rpm -q smdba
PostgreSQL 10では
smdba
のバージョン1.6.2以降が必要です。 -
データベースのバックアップを実行します。 バックアップの詳細については、Backup and Restoreを参照してください。
2. PostgreSQLのアップグレード
移行を実行する前に、必ずデータベースのバックアップを作成してください。 |
PostgreSQLのアップグレードは、通常のアップグレードと高速アップグレードの2つの方法で実行できます。
通常のアップグレードでは、データベースの完全なコピーが作成されるため、既存のデータベースサイズの2倍の使用可能容量が必要になります。 通常のアップグレードは、データベースのサイズおよびストレージシステムの速度に応じて、長時間を要する場合があります。
高速アップグレードには数分しかかからず、追加のディスク容量はほぼ不要です。 しかし、高速アップグレードに失敗すると、データベースをバックアップから復元する必要があります。 高速アップグレードでは、ディスク容量を使い果たすリスクが軽減されます。 通常のアップグレードでは、ファイル間のハードリンクを作成する代わりに、データベースファイルをコピーします。
PostgreSQLは/var/lib/pgsql/data/
にデータを保存します。
-
データベースのバックアップを実行します。 バックアップの詳細については、Backup and Restoreを参照してください。
-
アップグレードを開始します。
/usr/lib/susemanager/bin/pg-migrate-96-to-10.sh
-
アップグレードが正常に完了すると、古いデータベースのディレクトリを安全に削除して、使用されていたディスク容量を再利用できます。 古いディレクトリの名前は
/var/lib/pgsql/data-pg96
に変更されます。
pg-migrate-96-to-10.sh
スクリプトは次の操作を実行します。
-
spacewalkサービスを停止する
-
実行中のデータベースをシャットダウンする
-
PostgreSQL 10がインストールされているかどうかを確認し、必要に応じてインストールする
-
新しいデフォルトとしてPostgreSQL 9.6からPostgreSQL 10に切り替える
-
データベースの移行を開始する
-
SUSE Managerによる使用に合わせて調整されたPostgreSQL設定ファイルを作成する
-
データベースおよびspacewalkのサービスを開始する
アップグレードが失敗すると、移行スクリプトは、データベースを元の状態に復元しようとします。 |
-
データベースのバックアップを実行します。 確認済みのデータベースのバックアップがない場合、高速アップグレードを開始しないでください。 バックアップの詳細については、Backup and Restoreを参照してください。
-
アップグレードを開始します。
/usr/lib/susemanager/bin/pg-migrate-96-to-10.sh fast
-
アップグレードが正常に完了すると、古いデータベースのディレクトリを安全に削除して、使用されていたディスク容量を再利用できます。 古いディレクトリの名前は
/var/lib/pgsql/data-pg96
に変更されます。