PostgresSQL9.4からPostgresSQL10へのバージョンアップ手順 : mfotoolsの利用 - Linux環境¶
MaxGaugeサーバのリポジトリDBで利用するPostgresSQL9.4からPostgresSQL10へのバージョンアップ方法を紹介します。
本手順は、MaxGauge for Oracle の リポジトリ・バックアップ・ツール(mfotools)を利用したバージョンアップの手順になります。 事前にリポジトリ・バックアップ・ツールを利用してリポジトリのバックアップを取得する必要があります。リポジトリ・バックアップ・ツールの使用方法は、 リポジトリ・バックアップ・ツールのマニュアル をご参照ください
PostgresSQL10 へのバージョンアップ手順¶
リポジトリDBのPostgresSQLのバージョンをPostgresSQL10に変更する手順
1. MaxGauge関連のサービスを全て停止する¶
MaxGaugeに関連する全てのサービスを停止します。
systemctl stop mfo-platformjs
systemctl stop mfo-dg-slave1
systemctl stop mfo-dg-master
systemctl stop postgresql-9.4
service mfo-platformjs stop
service mfo-dg-slave1 stop
service mfo-dg-master stop
service postgresql-9.4 stop
注釈
MaxGaugeサーバのサービスを停止すると監視対応DBのMaxGaugeエージェントは、収集したデータを一時ファイルに保存します(一時ファイルの上限サイズ1GB(デフォルト)) MaxGaugeサーバのサービスが再開されると一時ファイルのを順次MaxGaugeサーバに転送してデータが登録されます。 大きな負荷にはなりませんが、一時ファイルへの書き込みやデータの転送などの処理が発生することからバージョンアップ中はMaxGaugeエージェントのプロセスを停止いただくことを推奨いたします。
2. PostgresSQL9.4 の自動起動を停止する¶
PostgresSQL9.4 サービスが自動起動設定を無効にします
systemctl disable postgresql-9.4
chkconfig postgresql-9.4 off
3. PostgresSQL10 のインストール¶
PostgreSQLの公式リポジトリよりインストールします。MaxGaugeサーバがインターネットにアクセス出来る必要があります。
リポジトリ情報のRPMファイルをアップデート(インストール)します
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
注釈
最新のパッケージがインストールされている場合は、「既にインストールされている」メッセージが表示されます。 その場合、インストールされなくても問題ありません。
インストール
yum --disablerepo=* --enablerepo=pgdg10 install \ postgresql10 \ postgresql10-server \ postgresql10-libs
データベースの初期化
postgresql-10-setup initdb
リポジトリ情報のRPMファイルをインストールします
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm
注釈
最新のパッケージがインストールされている場合は、「既にインストールされている」メッセージが表示されます。 その場合、インストールされなくても問題ありません。
インストール
yum --disablerepo=* --enablerepo=pgdg10 install \ postgresql10 \ postgresql10-server \ postgresql10-libs
データベースの初期化
/etc/init.d/postgresql-10 initdb
4. PostgresSQL10の設定変更¶
MaxGaugeのリポジトリDB利用で必要なPostgresSQLの設定を行います。
4.1. pg_hba.conf の設定¶
PostgresSQLのクライアント認証の設定を変更します。
pg_hba.conf ファイルのバックアップ
cp -pv /var/lib/pgsql/10/data/pg_hba.conf /var/lib/pgsql/10/data/pg_hba.conf.org
pg_hba.conf ファイルの内容を変更
cat /var/lib/pgsql/10/data/pg_hba.conf.org | sed -e 's/^\(host.*\)ident$/\1md5/g' > /var/lib/pgsql/10/data/pg_hba.conf
4.2. postgres ユーザのパスワード設定¶
PostgresSQLのpostgresユーザのパスワードを変更します。
パスワードの変更
su - postgres psql -c "ALTER USER postgres WITH PASSWORD 'postgres';"
4.3. PostgresSQLパラメータの推奨設定¶
PostgresSQLパラメータをMaxGaugeの推奨設定に変更します。
パラメータの設定変更
su - postgres psql -- 変更するパラメータ ALTER SYSTEM SET autovacuum = on; ALTER SYSTEM SET constraint_exclusion = 'partition'; ALTER SYSTEM SET datestyle = 'iso, ymd'; ALTER SYSTEM SET default_transaction_isolation = 'read uncommitted'; ALTER SYSTEM SET dynamic_shared_memory_type = 'posix'; ALTER SYSTEM SET effective_cache_size = '1GB'; ALTER SYSTEM SET enable_seqscan = off; ALTER SYSTEM SET log_destination = 'stderr'; ALTER SYSTEM SET log_directory = 'pg_log'; ALTER SYSTEM SET log_filename = 'postgresql_%Y%m%d.log'; ALTER SYSTEM SET log_line_prefix = '%t '; ALTER SYSTEM SET log_rotation_size = 0; ALTER SYSTEM SET log_truncate_on_rotation = on; ALTER SYSTEM SET logging_collector = on; ALTER SYSTEM SET maintenance_work_mem = '512MB'; ALTER SYSTEM SET max_connections = 300; ALTER SYSTEM SET shared_buffers = '4GB'; ALTER SYSTEM SET temp_buffers = '64MB'; ALTER SYSTEM SET track_counts = on; ALTER SYSTEM SET wal_sync_method = 'fdatasync'; ALTER SYSTEM SET work_mem = '32MB'; -- psqlの終了 \q
4.4. PostgresSQLを再起動¶
変更した内容を適用するため、PostgresSQLを再起動します。
postgresql-10 サービスを再起動します
systemctl restart postgresql-10.service
postgresql-10 サービスを再起動します
service postgresql-10 restart
5. データベースの作成¶
MaxGauge for Oracle のリポジトリで利用するデータベースを作成します。
データベースの作成
su - postgres createdb -U postgres "MFO"
6. データのリストア¶
リポジトリ・バックアップ・ツールを利用してデータをリストアします
注釈
リポジトリ・バックアップ・ツールのバックアップコマンドを実行しているOSユーザで実行してください
6.1. マスターデータをリストア¶
MaxGaugeのマスターデータをリストアします。
カタログファイルの確認
cd /opt/maxgauge/mfotools/bin ./mfo_master_data_restore.py -l
マスターデータのリストア
カタログファイルの確認で表示されたカタログファイルから最新のカタログファイルを指定します
./mfo_master_data_restore.py -c <カタログファイルファイル名> -v引数の説明
- -c
リストア対象のカタログファイル名
- -v
処理詳細の表示
6.2. スキーマのリストア¶
MaxGaugeに登録した監視対象インスタンス単位で作成されるスキーマをリストアします。
リストア対象のカタログファイルの確認
cd /opt/maxgauge/mfotools/bin ./mfo_schema_const_restore.py -l
スキーマのリストア
カタログファイルの確認で表示されたカタログファイルから各スキーマの最新のカタログファイルを指定します
./mfo_schema_const_restore.py -c <カタログファイルファイル名> -v引数の説明
- -c
リストア対象のカタログファイル名
- -v
処理詳細の表示
6.3. 監視データのリストア¶
監視データをリストアします
リストア対象のカタログファイルの確認
cd /opt/maxgauge/mfotools/bin ./mfo_schema_daily_restore.py -l
監視データのリストア
./mfo_schema_daily_restore.py -c <カタログファイルファイル名> -v -f引数の説明
- -c
リストア対象のカタログファイル名
- -f
既にオプジェクトが存在する場合、DROP後にインポートする :-v: 処理詳細の表示
7. 統計情報の取得¶
オプティマイザが使用する統計情報が存在しないことから統計情報を取得します。
統計情報を取得します
su - postgres /usr/pgsql-10/bin/vacuumdb --all --analyze-in-stages
8. PostgresSQLの自動起動設定¶
必要に応じて、PostgresSQLの自動起動を有効にしてください。
postgresql-10 サービスの自動起動設定
systemctl enable postgresql-10
postgresql-10 サービスの自動起動設定
chkconfig postgresql-10 on