4.5. ファイバーチャネルを使用した永続ストレージ
OpenShift Container Platform ではファイバーチャネルがサポートされており、ファイバーチャネルボリュームを使用して OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes と Fibre Channel についてある程度の理解があることが前提となります。
ファイバーチャネルを使用する永続ストレージは、ARM アーキテクチャーベースのインフラストラクチャーではサポートされません。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。永続ボリュームは、単一のプロジェクトまたは namespace にバインドされず、OpenShift Container Platform クラスター全体で共有できます。永続ボリューム要求はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。
インフラストラクチャーにおけるストレージの高可用性は、基礎となるストレージのプロバイダーに委ねられています。
関連情報
4.5.1. プロビジョニング
PersistentVolume
API を使用してファイバーチャネルボリュームをプロビジョニングするには、以下が利用可能でなければなりません。
-
targetWWN
(ファイバーチャネルターゲットのワールドワイド名の配列)。 - 有効な LUN 番号。
- ファイルシステムの種類。
永続ボリュームと LUN は 1 対 1 でマッピングされます。
前提条件
- ファイバーチャネル LUN は基礎となるインフラストラクチャーに存在している必要があります。
PersistentVolume
オブジェクト定義
apiVersion: v1 kind: PersistentVolume metadata: name: pv0001 spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce fc: wwids: [scsi-3600508b400105e210000900000490000] 1 targetWWNs: ['500a0981891b8dc5', '500a0981991b8dc5'] 2 lun: 2 3 fsType: ext4
- 1
- World wide identifier (WWID)FC
wwids
または FCtargetWWNs
およびlun
の組み合わせは設定する必要がありますが、両方を同時に設定することはできません。WWN ターゲットよりも FC WWID 識別子が推奨されます。FC WWID 識別子は、各ストレージデバイスに固有のものであり、デバイスのアクセスに使用されるパスに依存しないためです。この識別子は、SCSI Inquiry を発行して Device Identification Vital Product Data (page 0x83
) または Unit Serial Number (page 0x80
) を取得することにより獲得できます。FC WWID は、デバイスへのパスが変更したり、別のシステムからデバイスにアクセスする場合でも、ディスク上のデータ参照に/dev/disk/by-id/
と識別されます。 - 2 3
- ファイバーチャネル WWN は、
/dev/disk/by-path/pci-<IDENTIFIER>-fc-0x<WWN>-lun-<LUN#>
として識別されます。ただし、WWN
までのパス (0x
を含む) と WWN の後の文字 (-
(ハイフン) を含む) を入力する必要はありません。
ボリュームをフォーマットしてプロビジョニングした後に fstype
パラメーターの値を変更すると、データ損失や Pod にエラーが発生する可能性があります。
4.5.1.1. ディスククォータの実施
LUN パーティションを使用してディスククォータとサイズ制限を実施します。各 LUN は単一の永続ボリュームにマップされ、固有の名前を永続ボリュームにに使用する必要があります。
この方法でクォータを実施すると、エンドユーザーは永続ストレージを具体的な量 (10Gi など) で要求することができ、これを同等またはそれ以上の容量の対応するボリュームに一致させることができます。
4.5.1.2. ファイバーチャネルボリュームのセキュリティー
ユーザーは永続ボリューム要求でストレージを要求します。この要求はユーザーの namespace にのみ存在し、同じ namespace 内の Pod からのみ参照できます。namespace をまたいで永続ボリュームにアクセスしようとすると、Pod にエラーが発生します。
それぞれのファイバーチャネル LUN は、クラスター内のすべてのノードからアクセスできる必要があります。