インスタンス作成時に必要となるディレクトリを準備します。
資源の配置の考え方
ディスク破損時の復旧や通常性能に影響があるために、資源の配置先のディスク構成は重要です。以下にディスク構成を決めるときのポイントを示します。
バックアップデータ格納先とデータ格納先の両方を失うとデータを復旧できなくなるので、これらは別のディスクに配置してください。
単一のディスク故障からの復旧時間をより短くするために、システムディスクとデータ格納先は、別のディスクに配置してください。
バックアップデータ格納先はデータ格納先の2倍以上の容量が必要なため、空き容量が最も大きいディスクに配置してください。
データ更新を大量に行う場合には、データ格納先、トランザクションログ格納先、および、バックアップデータ格納先(二重化されたトランザクションログ)への書き込み負荷も大きくなります。そのため性能を考慮して、これらはすべて別のディスクに配置することを推奨します。
注意
各オペレーティングシステムで提供されるボリュームマネージャを使用する場合には、ファイルシステムがどの物理ディスク上に作成されているかを意識し、例えば、データ格納先とバックアップデータ格納先が異なる物理ディスク上に配置されるようにしてください。
資源 | 役割 |
---|---|
データベースクラスタ | データベース格納領域です。インスタンスで管理されるデータベースの集合体です。 |
テーブル空間 | データベースクラスタとは別領域に、テーブルファイル、インデックスファイルを保持します。 テーブル空間は、データベースクラスタ配下以外を指定します。 |
トランザクションログ | クラッシュリカバリ、ロールバックに備えたログ情報を保持します。 WAL(Write-Ahead-Log)と同義です。 |
アーカイブログ | リカバリに備えたログ情報を保持します。 |
二重化されたトランザクションログ(二重化WAL) | pgx_dmpallコマンドまたはWebAdminを使用したバックアップ・リカバリ運用を行う場合に、データベースクラスタとトランザクションログの両方が壊れた場合でも、データベースクラスタを異常発生の直前の状態に復旧することを可能とするために二重化されたトランザクションログです。 |
コアファイル | FUJITSU Enterprise Postgresのプロセスで異常が発生した場合に出力するFUJITSU Enterprise Postgresプロセスのコアファイルです。 |
ディスク配置の例を以下に示します。
ディスク数 | ディスク | 配置 |
---|---|---|
3本 | システムディスク | FUJITSU Enterprise Postgresプログラム |
コアファイル | ||
接続されている物理ディスク | データ格納先、トランザクションログ格納先 | |
接続されている物理ディスク | バックアップデータ格納先 | |
2本 | システムディスク | FUJITSU Enterprise Postgresプログラム |
コアファイル | ||
データ格納先、トランザクションログ格納先 | ||
接続されている物理ディスク | バックアップデータ格納先 |
WebAdminを使ってインスタンスを生成する場合には、以下の制約のもとに、インスタンス生成の時点でのすべてのディスクの状態と資源の配置の考え方の1から3 を考慮した最適な配置を指定することを推奨します。
マウントポイントに各国語文字を含まないこと
マウントポイントにインスタンス管理者の読み書き実行権が付与されていること
ディレクトリの準備
準備するディレクトリは、インスタンスの作成方法により異なります。
事前に準備するディレクトリを、以下に示します。
準備するディレクトリ | WebAdminを | initdbコマンドを |
---|---|---|
データ格納先用のディレクトリ | ○ (注1) | ○ |
バックアップデータ格納先用のディレクトリ | △ (注1) (注4) | △ |
トランザクションログ格納先用のディレクトリ | △ (注1) (注2) | △ |
コアファイルの出力先用のディレクトリ | - (注3) | △ |
○ : 必須
△ : 任意
- : 不要
注1) WebAdminがディレクトリを自動で作成します。
注2) デフォルトでは、データ格納先のディレクトリ内に作成します。データベースのデータとトランザクションログのI/O負荷を分散したい場合は、データ格納先用のディレクトリとトランザクションログ格納先用のディレクトリを異なるディスクに配置することを検討してください。
注3) コアファイルのパスは以下のとおりです。
/var/tmp/fsep_バージョン/インスタンス管理者_インスタンス名ポート番号/core
バージョン:製品のバージョン_WA_アーキテクチャ
備考) 製品のバージョンは、通常はインスタンスの作成に使用されるWebAdminのバージョンです。たとえば、FUJITSU Enterprise Postgres 14では、WebAdmin 9.6が存在するデータベースサーバ上にFUJITSU Enterprise Postgres 9.6のインスタンスを作成することもできます。この場合、製品のバージョンは“96”になります。
インスタンス管理者:OSのユーザー名
ポート番号:インスタンス作成時に指定したデータベースサーバのポート番号
例
/var/tmp/fsep_140_WA_64/naomi_myinst27599/core
なお、“/var/tmp”に配置する資材は、OSのデフォルト設定では30日間アクセスがないと削除されます。このため、OSの設定で削除対象外にする、または出力先の変更をご検討ください。
出力先を変更する場合は、postgresql.confのcore_directoryパラメータおよびcore_contentsパラメータで指定します。これらのパラメータの設定内容は、“運用ガイド”の“パラメータ”を参照してください。
注4) インスタンスのバックアップを有効にする場合に必要です。
注意
各ディレクトリは以下の条件を満たす必要があります。
ディレクトリの所有者が、インスタンス管理者となるOSのユーザーアカウントであること
ディレクトリに書き込み権があること
ディレクトリ内が空の状態であること
WebAdminを使用する場合は、ネットワーク経由でマウントしたディレクトリを使用することはできません。
例えば、NFS (Network File System) や CIFS(Common Internet File System) などが該当します。
また、WebAdminを使用しない場合でも、テーブル空間をネットワーク上のストレージデバイスに作成する場合を除いて、これらのディレクトリを使用しないでください。
OSのスーパーユーザーが、データベースのデータを格納するディレクトリを“/database/inst1”として新規に作成し、ディレクトリの所有者をOSのユーザーアカウント“fsepuser”に変更する例を示します。
# mkdir -p /database/inst1 # chown -R fsepuser:fsepuser /database/inst1 # chmod 700 /database/inst1