論理ボリュームマネージャー
よく使われながらも見落とされたり誤解されたりすることの多いストレージツールが、論理ボリュームマネージャーです。論理ボリュームマネージャー(LVM)は、ストレージの抽象化・カプセル化・仮想化技術であり、他の方法では得られない柔軟性を提供します。
最も一般的には、LVMは従来のパーティションシステムの代替として使用され、RAID機能などの追加機能が組み込まれる場合もあります。現在ほぼすべてのオペレーティングシステムが統合LVM製品を提供しており、その多くが長い歴史を持っています。LVMはサーバー側・クライアント側双方のストレージ管理における標準機能となっています。
LVMが提供する機能は必ずしも均一ではありませんが、一般的に含まれる機能としては、論理ボリューム(ソフトパーティション)、シンプロビジョニング、柔軟な物理的配置の割り当て、暗号化、シンプルなRAID機能(一般的にはミラーベースのRAIDのみ)、スナップショットなどがあります。実質的にすべてのLVMが論理ボリューム、スナップショット、柔軟な割り当てを提供しており、これらはLVMの基本機能と見なされています。
代表的なLVMには、Windows Server 2000からServer 2008 R2のLogical Disk Management、Windows 2012以降のStorage Spaces、Linux上のLVM、Linux上のBtrFS、Mac OSXのCore Storage、SolarisのSolaris Volume Manager、SolarisおよびFreeBSDのZFS、FreeBSDのVinum Volume Manager、ほとんどのUNIXシステム向けのVeritas Volume Manager、AIX上のLVMなど多数があります。LVMは1980年代後半から普及が進み、標準化されてきました。ZFSとBtrFSは興味深い存在で、ファイルシステムとしてLVMを統合システムとして内部に実装しています。
LVMはブロックデバイス(ドライブアピアランス)を消費し、論理ボリューム(LVと呼ばれることが多い)を作成します。この論理ボリュームもまたドライブアピアランスです。このため、LVMはストレージスタックのさまざまな位置に配置できます。最も一般的な構成は、LVMがRAIDアレイを消費し、1つのRAIDアレイを1つ以上の論理ボリュームに分割し、各論理ボリュームにファイルシステムを適用するというものです。しかし、LVMがRAIDなしで物理ストレージに直接配置されることも十分あり得ますし、ソフトウェアRAIDが論理ボリュームの下ではなく上に実装されることも十分可能です。また、LVMは複数の異なるストレージシステムを1つに統合するのにも非常に便利です。例えば、複数の物理デバイスやRAIDアレイを単一の抽象化されたエンティティに統合し、それを論理ボリュームに分割する(単一のボリュームが複数の異なる基盤ストレージデバイスを利用する場合もある)といった使い方ができます。LVMの標準的な用途の1つは、複数のSAN LUN(単一または複数の異なるSANシステムから)を単一のボリュームグループに統合することです。
LVMは複数のストレージデバイスやさまざまな種類のストレージデバイスを扱いながら、ストレージスタックの上位レイヤーに標準インターフェースを提供するパワーと柔軟性をもたらしますが、おそらく最も一般的な用途は、従来の固定パーティションに代わる柔軟性の提供と、スナップショット機能です。従来のパーティションは固定的でリサイズができませんでした。論理ボリュームはほぼ常に必要に応じて拡張・縮小が可能であり、格段に高い柔軟性を実現します。
スナップショットは過去10年間でLVM利用の主要な焦点となりましたが、これは主にスナップショットへの認識が高まったためであり、最近になって利用可能になったからではありません。コモディティ仮想化システムにより、スナップショットはストレージ業界の専門知識から一般的なITの主流へと浸透しました。仮想化技術がストレージ仮想化に取り組む方法の多くは、LVMに関連していると考えることができますが、一般的にはこれは下位レイヤーからLVM機能を受け継ぐか、別の方法で同様の機能を提供するものです。
現在、LVMはほぼどこにでも存在し、SANなどのストレージアレイ上でも透過的に実装され、より柔軟なプロビジョニングを提供しています。LVMは単に標準的に利用可能なだけでなく、標準的に実装されており、現代のストレージの信頼性と能力の向上に大きく貢献しています。
