論理ボリュームマネージャ
論理ボリュームマネージャ(ろんりボリュームマネージャ、logical volume manager、LVM)は、「物理ボリューム」を提供するハードディスクなどのストレージメディア・デバイス(補助記憶装置)に、直接をマップするのではなく、粗粒度(典型的には、メビバイト単位程度)のブロックにより一旦「論理ボリューム」と呼ばれる仮想化されたボリュームに束ねて利用するためのシステムである。一般的な議論については、英語版の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は採用しないという企業があるのもまた事実である。
注意: 以下のリストでは、この記事において、ここまでの説明で前提としている、固有の実装としてのLVMと、その他の一般的なボリューム管理システム、あるいはZFSなど同機能を持った異なる形態のシステムについて、ちゃんとした識別無くごっちゃごちゃに記述されている。さらに、全然関係の無い、ジャーナリングファイシステムなども列挙されているので、何らかのサーベイの際には一切あてにせずに調べ直したほうがよい。
OS標準(無償) LVM
Logical Volume Manager (RAID1構成時には有償のMirrordisk/UXが必要)
VERITAS Volume Manager
OS標準(無償) ジャーナルファイルシステム
システムディスク全体をLVMにて管理する事が可能。
インストール時にシステムディスクをLVM管理下に設定可能。
OS標準(無償) LVM
Logical Volume Manager
OS拡張(有償) LVM
VERITAS Volume Manager
OS標準(無償) ジャーナルファイルシステム
OS拡張(有償) ジャーナルファイルシステム
VERITAS File System
システムディスク全体をLVMにて管理する事が可能。
インストール時にシステムディスクをLVM管理下に設定可能。
OS標準(無償) LVM
Solaris Volume Manager(簡易LVM)
ZFS(Solaris 10 10/08よりZFSのルートパーティションから起動可能)
OS拡張(有償) LVM
VERITAS Volume Manager
OS標準(無償) ジャーナルファイルシステム
UFS logging
OS拡張(有償) ジャーナルファイルシステム
VERITAS File System
システムディスク全体をSVMにて管理する事は不可能。
管理可能とは、ブートエリアもLVM管理下とし、IPLローダがLVM対応していることが条件。
インストール時にLVM管理下に設定する事は不可能。
インストール完了後にLVMへ移行する手順を実行する必要がある。
この機能については、SUN Japanのユーザへの公式な回答に基づいている。
OS標準(OSにより有償/無償が分かれる) LVM
VERITAS Volume Manager
OS標準(OSにより有償/無償が分かれる) ジャーナルファイルシステム
VERITAS File System
OS標準(無償) LVM
Logical Volume Manager
OS拡張(有償) LVM
VERITAS Volume Manager
OS標準(無償) ジャーナルファイルシステム
多数存在する。ここでは一例を挙げる。
ext3(無償)
JFS(無償)
ReiserFS(無償)
XFS(無償)
OS拡張(有償) ジャーナルファイルシステム
VERITAS File System
OS標準(無償) LVM
ccd(Concatenated Disk driver NetBSDから移植。2.1-RELEASE以降。5.2-RELEASE以降はGEOMレイヤ上へ再実装された)
vinum(3.0-RELEASE以降。5.3-RELEASE以降はGEOMレイヤ上へ再実装された)
RAIDFrame 5.0-RELEASEで一旦NetBSDから不完全な形で移植されたが、NetBSDソースへの追従が大変であること、GEOMと機能がかぶることから 5.3-RELEASE で削除された。
OS標準(無償) ジャーナルファイルシステム
gjournal(GEOMレイヤ上で動作、7.0-RELEASE以降)
ZFS(Solarisからの移植、7.0-RELEASE以降)
(FreeBSDでは、3.0-RELEASE以降でジャーナリングではなくffsにSoft updatesを適用するというアプローチで信頼性を確保するという方策を取った。9.0以降ではさらにいくつかの特性を向上させる目的でジャーナリングも追加された)
ccdはRAID0/1相当の機能しか持たず、またルートパーティションのミラーリングに対応していない。