4.5. ファイバーチャネルを使用した永続ストレージ
OpenShift Container Platform ではファイバーチャネルがサポートされており、ファイバーチャネルボリュームを使用して OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes と Fibre Channel についてある程度の理解があることが前提となります。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。永続ボリュームは単一のプロジェクトまたは namespace にバインドされず、それらは OpenShift Container Platform クラスター間で共有できます。Persistent volume claim (PVC) はプロジェクトまたは 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)
FCwids
または 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. ファイバーチャネルボリュームのセキュリティー
ユーザーは永続ボリューム要求 (PVC) でストレージを要求します。この要求はユーザーの namespace にのみ存在し、同じ namespace 内の Pod からのみ参照できます。namespace をまたいで永続ボリュームにアクセスしようとすると、Pod にエラーが発生します。
それぞれのファイバーチャネル LUN は、クラスター内のすべてのノードからアクセスできる必要があります。