oo

永続的なファイルストレージボリュームの構成

管理者は Liferay Cloud のサービスのボリュームをデプロイタイプに応じて設定することができます (Deployment または StatefulSet)。 ボリュームは、導入タイプに応じて、永続的な共有ストレージ(NFS)または専用ストレージ(SSD)のいずれかに保存できます。 この記事では、サービスの LCP.json ファイルを使用してボリュームを構成する方法を説明します。 配置タイプの詳細については、 配置タイプを理解する を参照してください。

note

/opt/liferay/dataディレクトリ(デフォルトでは dataという名前)は liferaybackup サービスのドキュメントライブラリ用に予約されています。 このボリュームは LCP.json ファイルで設定する必要はなく、パスも変更できない。 このコンフィギュレーションがあれば、問題を起こすことなく安全に削除できる。

サービス用に新しいボリュームを構成するには、以下の手順に従います。

  1. 永続化するデータを含むフォルダを選択する(例えば、 /opt/storage)。

  2. 特定の環境のリポジトリ内の LCP.jsonファイル(例えば、liferay/)に移動します。

  3. volumes 設定を LCP.json ファイルに追加します。 このコンフィギュレーションには、各ボリュームのキーが含まれていなければならない。 例えば、以下のコンフィギュレーションには、 storage key for /opt/storageが含まれています:

{
    "id": "liferay",
    "memory": 8192,
    "cpu": 8,
    "volumes": {
        "storage": "/opt/storage"
    }
}
important

StatefulSetタイプのサービスの場合、ボリューム構成の変更を有効にするには、サービスを削除してから再デプロイする必要があります。

異なるサービス間でのボリュームの共有

Deployment タイプのサービスのボリュームのみ、NFSを使用して同じ環境の他のサービスと共有できます。 StatefulSet タイプのサービスにはそれぞれ、共有できない独自のボリュームがあります。

ボリュームを共有する:

  1. サービスのGithubリポジトリの LCP.json ファイル([ProjectID]/liferay/LCP.json)に移動します。

  2. 次のように入力します:

    • サービスID
    • 共有するコンテンツの場所(絶対パス
    • 異なるサービスに対して同じボリュームキー

次の例では、service1 および service2 は、NFSの共有ボリュームを使用して /documents/images からのファイルを共有します。 これにより、両方のサービスがキーおよび宣言されたファイルパスを介してボリューム内のファイルにアクセスできます。

最初のサービス(service1)は /documents/imagesから写真を共有します。

{
  "id": "service1",
  "volumes": {
    "photos": "/documents/images"
  }
}

2番目のサービス(service2)は、同じ場所にボリュームを宣言し、NFS経由で共有できるようにする:

{
  "id": "service2",
  "volumes": {
    "photos": "/documents/images"
  }
}

両方のサービスは、サービスの再起動後、次のデプロイ時にNFSの指定されたボリュームにアクセスできます。

ボリュームのコンテンツの削除

サービスが削除されても、ボリュームは環境内に残ります。 サービスで使用しているボリュームの名前を変更して(または既存のボリュームの名前を変更して)新しいボリュームを使用することができますが、古いボリュームのコンテンツは(NFSまたはサービスのSSDのいずれかに)存在します。 また、ボリュームの内容を保持したくない場合は、内容を自分で削除する必要があります。

関連トピック

Capability:
Deployment Approach: