論理ボリュームマネージャ
論理ボリュームマネージャ(ろんりボリュームマネージャ、logical volume manager、LVM)は、「物理ボリューム」を提供するハードディスクなどのストレージメディア・デバイス(補助記憶装置)に、直接ファイルシステムをマップするのではなく、粗粒度(典型的には、メビバイト単位程度)のブロックにより一旦「論理ボリューム」と呼ばれる仮想化されたボリュームに束ねて利用するためのシステムである。一般的な議論については、英語版のen:Logical volume managementの記事を参照のこと。この記事では、HP-UX由来で、いくつかの商用UNIXとUnix系で使われている一連の実装としてのLVMについて述べる。他のシステムでは、例えばZFSのように、分離しない形でファイルシステムの低レイヤとしてほぼ同程度の機能を持っている、という場合もある。
機能概要
編集構成上の利点
編集論理ボリュームマネージャ以前、UNIXのファイルシステムがその上に構築される「ボリューム」は、単なるディスク上の連続したブロックでしかなく、単純にディスク全体、あるいはPC-UNIXではMBR内のパーティション情報、大型機メーカ系のシステムではVTOCの情報によるディスク上の固定の範囲といったもので、柔軟な管理が難しいものであった。論理ボリュームマネージャは、ディスク(「物理ボリューム」)を一旦「ストレージプール」に束ね、そこから「論理ボリューム」と呼ぶ仮想化・抽象化された記録領域を構成し提供する、といったような手法で、柔軟かつ便利に管理(マネージ)するシステムである。
LVMはそのような論理ボリュームマネージャの仕様及び実装の一つであり、以下LVMについて述べる。
LVM構成上の管理階層構造を説明する。物理ディスク(PV:Phisical Volumeと呼ぶ)とその複数の物理ディスクを管理するボリュームグループ (VG:Volume Group) があり、物理ディスクを繋ぎ合わせて大きな論理ドライブとして管理出来る。そのVG上に論理的に設定される仮想パーティションが論理ボリューム (LV:Logical Volume) と呼ばれる。
物理ディスク(/dev/sdaなど)と比較した場合、物理ディスクはLVMでいうところのボリュームグループに相当し、パーティションは論理ボリュームに相当する。LVMの管理下では物理ディスクはボリュームグループにブロックを提供する「メディア」としてしかみなされず、それ単体で扱うことは考えない。
LVの上にファイルシステムを構築する形となり、ファイルシステムから見るとLVがディスクパーティションのように見える。
基本的に以下の点が構成上の主な利点である。
- 複数PVによるボリュームグループ上に、1つのPVを超えるような論理ボリューム (LV) を作成し、扱う事が可能となる。
- 論理ボリューム (LV) の動的拡張・縮小が可能となる。
- 当然のことながら、LVの上に構築されるファイルシステムが動的拡張・縮小をサポートしていない場合、ファイルシステムの拡張・縮小や再構成のためにシステム停止が必要となる(システムを停止しないとアンマウントできない場合)。
- 物理ボリュームの追加による論理ボリュームの拡張性の維持が可能。
- 但し、ハードウェアの構成やオペレーティングシステム (OS) の対応によっては、物理ボリュームの追加時にシステム停止が必要となる。
- ソフトウェアミラーやソフトウェアによるストライピングが可能。
運用上の利点
編集ファイルシステムを問わず、論理ボリューム単位でスナップショットと呼ばれる論理イメージを作成することが可能である。
これにより、特にDB領域のフルバックアップ作業や、バックアップツールの運用において有利な対応を取る事が可能となる。ただし、サードパーティ製のバックアップソフトウェアを利用する場合、この機能は特に必要とされない場合が多い。
また、一度設定した領域の動的な拡大・縮小が可能であり、システムを停止しないという基幹系運用上の必須作業要件(一般的な企業では通常の業務時間帯に限られる)を満たしながら、一部のメンテナンス作業を実施する事ができる。
これらの機能が、中・大規模の企業系システムでは必須の機能の一つであると言われることもある一方、障害時には LVM が復旧をやや面倒にする場合もあることから、LVMは採用しないという企業があるのもまた事実である。
Unix系OSの対応状況
編集注意: 以下のリストでは、この記事において、ここまでの説明で前提としている、固有の実装としてのLVMと、その他の一般的なボリューム管理システム、あるいはZFSなど同機能を持った異なる形態のシステムについて、ちゃんとした識別無くごっちゃごちゃに記述されている。何らかのサーベイの際には一切あてにせずに調べ直したほうがよい。
HP-UX
編集- OS標準(無償) LVM[1]
-
- Logical Volume Manager (RAID1構成時には有償のMirrordisk/UXが必要)
- VERITAS Volume Manager
- その他の特徴
-
- システムディスク全体をLVMにて管理する事が可能。
- インストール時にシステムディスクをLVM管理下に設定可能。
AIX
編集- OS標準(無償) LVM
-
- Logical Volume Manager
- OS拡張(有償) LVM
-
- VERITAS Volume Manager
- その他の特徴
-
- システムディスク全体をLVMにて管理する事が可能。
- インストール時にシステムディスクをLVM管理下に設定可能。
Solaris
編集- OS標準(無償) LVM
-
- Solaris Volume Manager(簡易LVM)[2]
- ZFS(Solaris 10 10/08よりZFSのルートパーティションから起動可能)
- OS拡張(有償) LVM
-
- VERITAS Volume Manager
- その他の特徴
-
- システムディスク全体をSVMにて管理する事は不可能。
- 管理可能とは、ブートエリアもLVM管理下とし、IPLローダがLVM対応していることが条件。
- インストール時にLVM管理下に設定する事は不可能。
- インストール完了後にLVMへ移行する手順を実行する必要がある。
- システムディスク全体をSVMにて管理する事は不可能。
この機能については、SUN Japanのユーザへの公式な回答に基づいている。
UNIX System V Release 4.2ベースのUNIX
編集- OS標準(OSにより有償/無償が分かれる) LVM
-
- VERITAS Volume Manager
Linux
編集- OS標準(無償) LVM
-
- Logical Volume Manager
- OS拡張(有償) LVM
-
- VERITAS Volume Manager
FreeBSD
編集脚注
編集- ^ HP-UXにおいてVxVM/VxFSが無償というのは、OE単位でのライセンシーとなり、OS購入時にVERITAS製品のライセンス料を払っているという事になる。VERITASの戦略上、この価格が0に設定されているため、無償とされている。
- ^ Solarsi 8まではOS拡張(有償)であった
- ^ “Chapter 19 GEOM: Modular Disk Transformation Framework” (HTML) (英語). FreeBSD ハンドブック. 2008年3月3日閲覧。
- ^ Dawidek, Pawel (2007年 4月 6日). “ZFS committed to the FreeBSD base” (メーリングリストのアーカイブ) (英語). 2008年3月3日閲覧。