Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenShift Virtualizationのストレージ、しゃべりたいだけしゃべる / o...

OpenShift Virtualizationのストレージ、しゃべりたいだけしゃべる / ocpv-storage

OpenShift Lounge+ "TALKs" 〜 Virtのお供スペシャル〜 で話したスライドです。

OpenShift Virtualization(KubeVirt)におけるストレージに関する話です。

Takuya Utsunomiya

December 12, 2024
Tweet

More Decks by Takuya Utsunomiya

Other Decks in Technology

Transcript

  1. $ whoami 2 kind: HumanBeings metadata: name: 宇都宮 卓也 spec:

    group: レッドハット株式会社 title: ソリューションアーキテクト born: 大阪 age: 43歳 favorites: technology: [“ストレージ”, “KubeVirt”] hobby: [“プロレス”, “麻雀”, “将棋”, “スピードキュービング”, “けん玉”] drink: [“ワイン”, “ビール”, “無糖サワー”] annoyance: [“老眼開始”, “もうずっと疲れが取れない”] うつぼ @japan_rook https://www.shoeisha.co.jp/book/detail/ 9784798175027
  2. OpenShift Virtualization のストレージの特徴 4 ▸ 仮想マシンが使う仮想ディスクは Persistent Volume が使われる。 ▸

    vSphere における VMDK のようなファイルではなく、論理ボリューム(LUN, volume等)が Persistent Volume としてそのまま仮想マシンに接続される。 → 仮想ディスクごとにストレージ側で論理ボリュームが作られる。 vm01.vmdk VM Folder(vm01) Datastore vSphere vm01_2.vmdk vm01 OCP Backend Storage FC / iSCSI / NFS Backend Storage LUN vm01 LUN1 LUN2 FC / iSCSI / NFS PV1 PV2 Storage Class Virtual disk Virtual disk
  3. Persistent Volume / Persistent Volume Claim • Persistent Volume (PV)

    ◦ OpenShift の Pod が利用できる永続ストレージ ◦ 様々な形態のストレージを抽象化した姿 LUN, volume, ... VMDK, QCOW2, ... Persistent Volume 物理サーバー 仮想サーバー OpenShift/ Kubernetes Pod • Persistent Volume Claim (PVC) ◦ セルフサービスで PV を取得するためのリクエスト ◦ リクエスト内容に合致する PV があれば割り当てる 1. ユーザーがPVをリク エスト(PVC作成) 3. Pod に attach App 2. PVを割り当て (Bind) apiVersion: v1 kind: PersistentVolumeClaim metadata: name: app-pvc spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 10Gi storageClassName: gp3-csi PVCの例 5
  4. Storage Class 6 • バックエンドのストレージシステムを抽象化した姿 • PVC では Storage Class

    を指定する。 ◦ 指定しない場合は default Storage Class が使われる Storage Class Storage Class Storage Class Hardware-appliance Storage Cloud Storage Software-defined Storage apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gp3-csi provisioner: ebs.csi.aws.com Parameters: encrypted: ”true” type: gp3 reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer AWS EBSのStorageClassの例
  5. 最近のストレージはたくさん Volume を作れる 7 • ODF:1000個 per node • Hitachi

    VSP E590:32768個 • EMC PowerFlex:131,072 個 (含snapshot) • IBM FlashSystem 5000:8192 個 大抵のケースでは問題にならない。けど、必ずストレージベンダに確認してもらいましょう
  6. 仮想マシンが使う仮想ディスク • PersistentVolume (PV) のパラダイムを使用 • 利用できる PV バックエンド ◦

    OpenShift Data Foundation ◦ 3rd party ストレージ ◦ hostpath provisioner / LVM Operator • ライブマイグレーションには RWX アクセスモードが必須 • VirtIO または SCSI コントローラでディスクに接続 ◦ VM 定義に依存 • Boot OrderはVMの定義で変更可能 8
  7. アクセスモード • PVへのアクセス制御のモード • バックエンドのストレージシステムによって、使用できるアクセスモードは異なる ◦ 使用できないAccess Modeを指定した場合はPVCが失敗し、PVはBindされない Read Write

    Once (RWO) ◦ 1ノードからRead/Write可能 ◦ ほぼ全てのストレージで利用可能 ◦ 最も利用されることが多い基本のモー ド Read Only Many (ROX) ◦ 複数ノードから同時にRead-Onlyでア クセス可能 ◦ あまり使われることはなく、用途として は限定される Read Write Many (RWX) ◦ 複数ノードから同時にRead/Write可 能 ◦ 基本的にはファイルストレージで利用 可能 PV PV ReadOnly PV 9 OpenShift Virtualization で使うなら RWX ができるか ストレージベンダに確認しよう!
  8. 仮想マシンが使う仮想ディスク • PersistentVolume (PV) のパラダイムを使用 • 利用できる PV バックエンド ◦

    OpenShift Data Foundation ◦ 3rd party ストレージ ◦ hostpath provisioner / LVM Operator • ライブマイグレーションには RWX アクセスモードが必須 • VirtIO または SCSI コントローラでディスクに接続 ◦ VM 定義に依存 • Boot OrderはVMの定義で変更可能 10 DVとは?
  9. Data Volume • PVC を実体とする仮想ディスクを抽象化したカスタムリソース • 1 つの Data Volume

    で 1 つの PVC が作られる • データソースにディスクイメージを指定することで、 PVC にイメージ を取り込める ◦ Webサーバ、S3、コンテナレジストリからインポート ◦ 既存の PVC, VolumeSnapshot からクローン ◦ ローカルのイメージファイルのアップロード • Containerized Data Importer (CDI) がインポート作業を行う 11
  10. Containerized Data Importer (CDI) 12 Data Source Data Volume CDI

    Controller PVC PV VM ① ユーザが Data Volume を持つ仮想マシンを 作成する。 ② PVC の要求を満たす PV が払い出され、 PVC に Bind する。 ③ CDI コントローラが Importer Pod を作成し、 PVC をマウントする。 ④ Data Source から PVC に仮想ディスクイメー ジがインポートされる。インポートが完了する と、Importer Pod は破棄される。 ⑤ 仮想マシンが PVC を利用できるようになり、 起動する。 Requests Importer Pod Writes Creates 1 2 3 4 User 5
  11. OpenShift Virtualization のストレージに関して思うこと 14 • ストレージ側でボリュームを管理するのは無理。ストレージ管理者は OpenShift で PVC を管理しましょう。

    • 好きなストレージを使いましょう。ただしベンダーにきちんと確認はしましょう。 ◦ CSI ドライバは落とし穴がちらほら。 ◦ OpenShift Virtualization Certified なストレージだと安心。 • SDS を使う場合は容量と性能には注意しましょう。 ◦ SDS はレプリケーションで冗長化するパターンが多いので、容量効率は下がります。 ◦ 二重/三重レプリカすると、 write のレイテンシは落ち気味です。 • バックアップは取りましょう。リストアできることを確認しましょう。 ◦ Snapshot だけでもいいですが、外部に取るほうがより安心。 ◦ OpenShift Virtualization Certified なバックアップソフトウェア を使いましょう。
  12. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is the world’s leading

    provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you