この文書は、Docker Composeで実行されるPostgreSQLデータベースのデータを、NFSv4(ネットワークファイルシステム バージョン4)を使用して別のサーバーに保存するための一連の設定手順の概要を説明するものです。

アプリサーバー(クライアント c、RHEL 9.5)とNFSストレージサーバー(サーバー n、Ubuntu)の2台構成を前提とします。


全体の流れ

作業は以下の3つの大きなステップで構成されます。必ずこの順番で実施する必要があります。

  1. NFSサーバー (n) の設定:

    まず、データの「金庫」となるUbuntuサーバーを設定します。Dockerコンテナ(クライアント c)からのデータ書き込みを、特定の権限(UID/GID)で安全に受け入れる準備をします。

  2. NFSクライアント (c) の設定:

    次に、アプリサーバー(RHEL)がOS起動時に自動で「金庫」への「トンネル」を掘る(NFSマウントする)ように設定します。

  3. Docker Compose の設定:

    最後に、アプリサーバー(RHEL)上で、Dockerコンテナ(PostgreSQL)がデータの保存場所として、その「トンネル」(NFSマウントポイント)を使用するように設定します。


第1章: NFSサーバー (n) Ubuntu設定

目的:

NFSサーバー (n) が、クライアント (c) 上のDockerコンテナからのデータ書き込みを確実に受け入れられるように、「データの保存場所」と「専用のアクセス権限」を準備します。

主な作業ステップ:

  1. データ所有者の作成 (UID/GID)
  2. 物理データディレクトリの作成
  3. NFSv4「窓口」の準備
  4. 物理データと「窓口」の連結 (bind マウント)
  5. 「強制権限マッピング」の設定

第2章: NFSクライアント (c) RHEL設定