3.9. Docker ストレージの設定
作成元のコンテナーとイメージは Docker のストレージバックエンドに保存されます。このストレージは一時的なストレージであり、アプリケーションの必要を満たすために割り当てられる 永続ストレージ とは区別されます。一時ストレージ の場合、コンテナーに保存されるデータはコンテナーが削除されると失われます。永続ストレージ の場合、コンテナーに保存されるデータはコンテナーが削除されてもそのまま残ります。
デフォルトで各システムはコンテナーデーモンを実行するので、すべてのマスターおよびノードホストにストレージを設定する必要があります。コンテナー化インストールの場合、マスターにストレージが必要です。またデフォルトで、ストレージが必要な Web コンソールおよび etcd はマスター上のコンテナーで実行されます。コンテナーはノードで実行されるため、ストレージは常にそれらに必要になります。
ストレージのサイズは、ワークロード、コンテナー数、実行されているコンテナーのサイズ、およびコンテナーのストレージ要件によって変わります。
ホストが RHEL 7.5 を使用しており、OpenShift Container Platform のデフォルト docker 設定 (OverlayFS ストレージおよびすべてのデフォルトロギングオプションを使用) を受け入れる必要がある場合、これらのパッケージを手動でインストールしないでください。これらのパッケージは、インストール 時に prerequisites.yml Playbook を実行する場合にインストールされます。
ホストが RHEL 7.4 を使用するか、または RHEL 7.5 を使用し、docker 設定をカスタマイズする必要がある場合、以下のパッケージをインストールします。
RHEL 7 システムの場合:
RHEL 7 の Docker のデフォルトストレージバックエンドは、ループバックデバイスにあるシンプールです。これは実稼働環境でサポートされておらず、概念実証向けの環境のみに適しています。 実稼働環境の場合、シンプール論理ボリュームを作成し、Docker をそのボリュームを使用するよう再設定する必要があります。
Docker はグラフドライバーにイメージとコンテナーを保存します。これは、DeviceMapper、OverlayFS、Btrfs など、プラグ可能なテクノロジーです。これらにはそれぞれメリットとデメリットがあります。たとえば、OverlayFS は、コンテナーの開始と停止で高速ですが、Portable Operating System Interface for Unix (POSIX) ではありません。これは、ユニオンファイルシステムの構造的な制限のためです。お使いの RHEL バージョンで OverlayFS を使用する方法についての情報は Red Hat Enterprise Linux リリースノートを参照してください。
DeviceMapper と OverlayFS のメリットと制限に関する情報は、Choosing a Graph Driver を参照してください。
RHEL Atomic Host 7 システムの場合:
RHEL Atomic Host の Docker のデフォルトストレージバックエンドはシンプール論理ボリュームで、実稼働環境でサポートされています。システム要件 にある Docker ストレージ要件に対して、このボリュームに十分なスペースが割り当てられていることを確認する必要があります。
十分なスペースが割り当てられていない場合、docker-storage-setup の使用と RHEL Atomic Host におけるストレージ管理の基本手順については、Managing Storage with Docker Formatted Containersを参照してください。
3.9.1. OverlayFS の設定
OverlayFS は、ユニオンファイルシステムのタイプです。OverlayFS により、あるファイルシステムを別のファイルシステムに重ねることができます。上位のファイルシステムで変更が記録されても、下位のファイルシステムは変更されません。
Comparing the Overlay vs. Overlay2 Graph Drivers には、overlay および overlay2 ドライバーの詳細情報が記載されています。
overlay2 ドライバーを使用するには、下層が XFS ファイルシステムを使用する必要があります。下層のファイルシステムは、変更されないファイルシステムです。
Docker サービスの OverlayFS ストレージドライバーの有効化については、Red Hat Enterprise Linux Atomic Host ドキュメント を参照してください。