第5章 ストレージ構成(ZFS / LVM / Ceph の基礎)

章のゴール

本章では、Proxmox VE で利用される主要なストレージ方式(LVM、ZFS、Ceph)の役割と特徴を整理し、 読者が自分のラボや小〜中規模環境に対して、どの方式を選ぶべきか判断できるようになることを目標とします。 本章の画面・操作例は Proxmox VE 9.1(9.x 系)を前提とします。

この章で分かること / 分からないこと

  • 分かること:
    • LVM / ZFS / Ceph のざっくりした違いと、選び分けの考え方
    • 単一ノードと小規模クラスタでの「現実的な」使い分け
  • 分からないこと(後続章または別パスで扱います):
    • 具体的な構築コマンドやチューニング(環境差が大きいため)
    • Ceph の詳細設計(ネットワーク/故障ドメイン/性能設計など)

用語メモ(最小)

  • ストレージ(Proxmox の用語): VM ディスク、ISO、バックアップ等を置く「保管場所」の定義(ローカル/共有/外部など)
  • バックエンド: 実体として使う仕組み(LVM、ZFS、Ceph など)

Proxmox VE におけるストレージの考え方

Proxmox VE では、「ストレージ」は仮想マシンやコンテナのディスクイメージ、ISO イメージ、バックアップなどを保管する論理的な単位として扱われます。 ローカルディスクを利用するストレージ、ネットワーク越しのストレージ、分散ストレージなど、複数の方式を組み合わせることができます。

本書のラボでは、次のような観点でストレージ方式を選びます。

  • 単一ノードで完結するか、複数ノードで共有したいか
  • 性能と冗長性のバランスをどこまで求めるか
  • 運用の複雑さやトラブルシュートの難易度

LVM ベースのローカルストレージ

LVM(Logical Volume Manager)は、Linux 標準のボリューム管理機能です。 Proxmox VE では、ローカルディスク上に LVM を構成し、その上に仮想マシンのディスクを作成する構成を利用できます。

LVM を選ぶ場面

  • 単一ノードのラボや、小規模な検証環境でシンプルに始めたい場合
  • 既に LVM ベースでディスクを管理している環境を活用したい場合

メリット:

  • セットアップが比較的簡単で、Linux の基本に馴染みがあれば理解しやすい
  • 追加ディスクの増設や拡張が行いやすい

注意点:

  • ローカルストレージであるため、他ノードとの共有には工夫が必要
  • スナップショットやシンプロビジョニングの機能は、ZFS と比較すると限定的

ZFS ベースのローカルストレージ

ZFS は、コピーオンライト方式のファイルシステム兼ボリュームマネージャで、スナップショットやチェックサムによるデータ保護機能を備えています。 Proxmox VE では、インストール時に ZFS を選択してホストのシステムディスクから ZFS を利用したり、データ用ディスクに ZFS プールを作成して VM を配置することができます。

ZFS を選ぶ場面

  • スナップショットやロールバックを多用したいラボ環境
  • データ保護や自己修復機能を重視したい場合

メリット:

  • スナップショットやクローンが高速に行える
  • データの整合性チェックや自己修復機能がある

注意点:

  • メモリ使用量が比較的多く、ホストのメモリに十分な余裕が必要
  • 設定やチューニング項目が多く、慣れないとトラブルシュートに時間が掛かる

Ceph による分散ストレージの概要

Ceph は、分散オブジェクトストレージ/ブロックストレージを提供するソフトウェアで、Proxmox VE と組み合わせることで、 複数ノードから共有できる仮想マシン用ストレージを構成できます。

本書のラボでは、3 ノードクラスタを前提に、教育的な規模で Ceph を利用するパターンを取り上げます。

Ceph を選ぶ場面

  • 複数ノード間で仮想マシンのディスクを共有し、ライブマイグレーションや HA を活用したい場合
  • 将来的にノード数や容量を段階的に増やしたい場合

メリット:

  • ノード間でストレージを共有でき、クラスタ構成と相性が良い
  • 複数ディスク・複数ノードにデータを分散し、障害時の冗長性を確保できる

注意点:

  • 小規模ラボでは、リソース要件(CPU・メモリ・ネットワーク)が負担になる場合がある
  • 設計・運用が複雑であり、本番導入前には十分な検証が必要

LVM / ZFS / Ceph の比較(概要)

バックエンド 代表的な用途 主なメリット 注意点
LVM 単一ノードのシンプルなラボ構成 セットアップが容易で慣れ親しんだ仕組みを活用できる クラスタ構成での共有には工夫が必要、スナップショット機能は限定的
ZFS スナップショットを多用するラボ、データ保護を重視する環境 高速なスナップショット/クローン、整合性チェックと自己修復 メモリを多く消費し、設定・チューニング項目が多い
Ceph 3 ノード以上のクラスタで共有ストレージを提供したい環境 ノード間での共有と冗長性を両立しやすい リソース要件と設計の複雑さがあり、小規模ラボでは負荷になることがある

ラボ構成ごとのストレージ選択パターン

Part 0 で紹介したラボパターンに対応させて、ストレージ構成の例を整理します。

パターン A(単一ノードラボ)

  • ホストローカルの LVM もしくは ZFS を利用し、シンプルな構成で VM を配置する
  • バックアップは別ディスクや外部ストレージに退避し、必要に応じて復元する

パターン B(3 ノードクラスタラボ)

  • 共有ストレージとして教育目的の Ceph クラスタを構成し、VM ディスクを配置する
  • 追加でローカル ZFS や LVM を組み合わせ、用途ごとにストレージを分ける

これらの関係は、diagrams/part2/ch5/storage-layout.svg の図として概略を示します。

よくある設計・運用上の注意点

  • すべてを「最強の構成」にしようとせず、ラボの目的に合ったシンプルさを優先する
  • バックアップ先は、本番環境と同様に「別障害ドメイン」に置く意識を持つ
  • 性能評価を行う場合は、ネスト構成やラボ特有の制約が結果に影響することを前提に読む

本章で整理した考え方をベースに、後続のストレージ・クラスタ・バックアップの章で具体的な設定手順や運用パターンを掘り下げていきます。