3.6. ブロックボリュームのサポート


raw ブロックボリュームは、アプリケーションがパフォーマンスを向上させるために直接アクセスするファイルシステムのないストレージです。volumeMode: 永続ボリュームとクレームをブロックし、特権コンテナーを設定します。ストレージプロバイダーのサポートは、静的のみ、動的のみ、両方、またはなしによって異なります。

重要

raw ブロックボリュームを使用する Pod は、特権付きコンテナーを許可するように設定する必要があります。

以下の表は、ブロックボリュームをサポートするボリュームプラグインを表示しています。

表3.4 ブロックボリュームのサポート
ボリュームプラグイン手動のプロビジョニング動的なプロビジョニングフルサポート

Amazon Elastic Block Store (Amazon EBS)

✅

✅

✅

Amazon Elastic File Storage (Amazon EFS)

   

Azure Disk

✅

✅

✅

Azure File

   

Cinder

✅

✅

✅

Fibre Channel

✅

 

✅

GCP

✅

✅

✅

HostPath

   

IBM Cloud Block Storage ボリューム

✅

✅

✅

iSCSI

✅

 

✅

Local volume

✅

 

✅

LVM Storage

✅

✅

✅

NFS

   

Red Hat OpenShift Data Foundation

✅

✅

✅

CIFS/SMB

   

VMware vSphere

✅

✅

✅

重要

手動でプロビジョニングできるものの、完全にサポートされていないブロックボリュームの使用は、テクノロジープレビュー機能としてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

3.6.1. ブロックボリュームの例

raw ブロックボリュームの例は、ファイルシステムなしでブロックストレージデバイスに直接アクセスする必要があるアプリケーションの設定を示しています。このアプローチは、従来のファイルシステム層をバイパスして、低レベルのストレージ制御を必要とするデータベースやその他のアプリケーションで一般的に使用されます。

この例では、ブロックボリュームストレージに不可欠な 3 つのコンポーネントを設定する方法を示します。

  • PersistentVolume (PV) with volumeMode: raw ブロックストレージリソースを定義するブロック。
  • volumeMode: Block を設定してブロックストレージを要求する PersistentVolumeClaim (PVC)。
  • ファイルシステムボリュームに使用される一般的な volumeMounts および mountPath の代わりに、volumeDevices および devicePath を使用してブロックデバイスをマウントする Pod 仕様。

以下の参照表は、volumeMode の許容値 (デフォルトは Filesystem、Block は明示的に設定する必要があります) と、PV と PVC 間のバインディングシナリオを示しています。これらのバインディングルールを理解することが重要です。PV と PVC の両方で volumeMode: Block を指定して BIND を成功させる必要があります。ファイルシステム PVC との Block PV などのボリュームモードが一致しないと、バインディングが妨げられ、Pod スケジューリングが失敗する可能性があります。

PV の例

apiVersion: v1
kind: PersistentVolume
metadata:
  name: block-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  volumeMode: Block
  persistentVolumeReclaimPolicy: Retain
  fc:
    targetWWNs: ["50060e801049cfd1"]
    lun: 0
    readOnly: false

spec.volumeMode を Block に設定して、この PV が raw ブロックボリュームであることを示します。

PVC の例

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: block-pvc
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Block
  resources:
    requests:
      storage: 10Gi

spec.volumeMode を Block に設定して、raw ブロック PVC が要求されていることを示します。

Pod の仕様例

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-block-volume
spec:
  containers:
    - name: fc-container
      image: fedora:26
      command: ["/bin/sh", "-c"]
      args: [ "tail -f /dev/null" ]
      volumeDevices:
        - name: data
          devicePath: /dev/xvda
  volumes:
    - name: data
      persistentVolumeClaim:
        claimName: block-pvc

  • spec.container.volumeDevices: volumeMounts の代わりに、このパラメーターがブロックデバイスに使用されます。PersistentVolumeClaim ソースのみを raw ブロックボリュームと共に使用できます。
  • spec.container.volumeDevices.devicePath: このパラメーターは、mountPath の代わりに、raw ブロックがシステムにマップされている物理デバイスへのパスを表します。
  • spec.volumes.persistentVolumeClaim.claimName: ボリュームソースのタイプは persistentVolumeClaim で、PVC の名前と想定どおり一致している必要があります。
表3.5 volumeMode の許容値
値デフォルト

Filesystem

はい

Block

いいえ

表3.6 ブロックボリュームのバインディングシナリオ
PV volumeModePVC volumeModeバインディングの結果

Filesystem

Filesystem

バインド

Unspecified

Unspecified

バインド

Filesystem

Unspecified

バインド

Unspecified

Filesystem

バインド

Block

Block

バインド

Unspecified

Block

バインドなし

Block

Unspecified

バインドなし

Filesystem

Block

バインドなし

Block

Filesystem

バインドなし

重要

値を指定しないと、Filesystem のデフォルト値が指定されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る