コンピュータストレージにおいて、論理ボリューム管理(LVM )は、従来のパーティション分割方式よりも柔軟な大容量ストレージデバイス上のスペース割り当て方法を提供します。特に、ボリュームマネージャは、パーティション(または一般的にはブロックデバイス)を連結、ストライプ化、またはその他の方法で結合して、管理者がシステムの使用を中断することなく、サイズ変更や移動が可能な、より大きな仮想パーティションを作成 できます
ボリューム管理は、ストレージ仮想化の多くの形式のうちの 1 つに過ぎません。ボリューム管理の実装は、オペレーティング システム(OS)のデバイス ドライバースタック内のレイヤーで行われます(ストレージ デバイス内やネットワーク内ではありません)。
設計

ほとんどのボリュームマネージャ実装は、同じ基本設計を共有しています。物理ボリューム(PV)から始まります。物理ボリュームは、ハードディスク、ハードディスクパーティション、または外部ストレージデバイスの論理ユニット番号(LUN)のいずれかです。ボリューム管理では、各PVは物理エクステント(PE)と呼ばれるチャンクのシーケンスで構成されているものとして扱われます。一部のボリュームマネージャ(HP-UXやLinuxなど)はPEのサイズが均一ですが、他のボリュームマネージャ(Veritasなど)はPEのサイズが可変で、自由に分割および結合できます
通常、PEは論理エクステント(LE)に1対1でマッピングされます。ミラーリングでは、複数のPEが各LEにマッピングされます。これらのPEは、物理ボリュームグループ(PVG)から抽出されます。PVGは、 RAID 1アレイのハードディスクと同様に動作する、同じサイズのボリューム(PV)の集合です。PVGは通常、最大限の冗長性を確保するために、異なるディスクまたはデータバス上に配置されます。
システムはLEをボリュームグループ(VG)にプールします。プールされたLEは、論理ボリューム(LV)と呼ばれる仮想ディスクパーティションに連結できます。システムはLVをディスクパーティションと同様にrawブロックデバイスとして使用し、マウント可能なファイルシステムを作成したり、スワップストレージとして使用したりできます。
ストライプ化された LV は、異なる PV から各連続 LE を割り当てます。LE のサイズに応じて、複数の PV の読み取りスループットを組み合わせることで、大規模な連続読み取りのパフォーマンスを向上させることができます。
管理者は、LV(論理ボリューム)を拡張(LEを連結)したり、LVを縮小(LEをプールに戻したり)することができます。連結されたLEは連続している必要はありません。これにより、既に割り当て済みのLEを移動することなくLVを拡張できます。一部のボリュームマネージャでは、オンライン時にLVのサイズ変更(双方向)が可能です。LVのサイズを変更しても、そのLV上のファイルシステムのサイズは必ずしも変更されません。LVを含む領域のサイズが変更されるだけです。オンラインでサイズ変更可能なファイルシステムは、アプリケーションを中断することなくシステムがストレージをオンザフライで調整できるため、推奨されます。
PVとLVは、異なるVG間で共有したり、異なるVGにまたがって使用したりすることはできません(ただし、一部のボリュームマネージャでは、同一ホスト上のVG間で自由に移動できる場合があります)。これにより、管理者はVGをオンラインにしたり、オフラインにしたり、単一の管理単位としてホストシステム間で移動したりすることが容易にできます。
VGは、新しいPVを吸収することでストレージプールを拡大したり、PVから引き離すことでストレージプールを縮小したりできます。これには、すでに割り当てられているLEをPVから移動することが含まれる場合があります。ほとんどのボリュームマネージャは、この移動をオンラインで実行できます。基盤となるハードウェアがホットプラグ対応であれば、エンジニアはシステムのダウンタイムなしでストレージをアップグレードまたは交換できます。
コンセプト
ハイブリッドボリューム
ハイブリッドボリュームとは、2つの別々の物理ボリュームを意図的にかつ不透明に使用するボリュームです。たとえば、ワークロードがランダムシークで構成される場合、頻繁に使用されるデータや最近書き込まれたデータを永続的に保存するためにSSDを使用し、まれにしか必要とされないデータを長期保存するために大容量の回転式磁気メディアを使用できます。Linuxでは、この目的でbcacheまたはdm-cacheを使用できますが、 OS XではFusion Driveを使用できます。ZFSは、管理者がマルチレベルの読み取り/書き込みキャッシュを構成できるようにすることで、 ファイルシステムレベルでもこの機能を実装しています
ハイブリッド ボリュームは、ソリッド ステート ストレージと回転磁気メディアを組み合わせた ハイブリッド ドライブと同様の概念です。
スナップショット
一部のボリュームマネージャは、各LEにコピーオンライトを適用することでスナップショットを実装します。この方式では、ボリュームマネージャはLEへの書き込み直前に、それをコピーオンライトテーブルにコピーします。これにより、LVの古いバージョンであるスナップショットが保存され、後でコピーオンライトテーブルを現在のLVにオーバーレイすることで再構築できます。ボリューム管理がシンプロビジョニングとDiscardの両方をサポートしていない限り、元のボリュームのLEに書き込まれると、その内容はスナップショットボリュームに永続的に保存されます。スナップショットボリュームが元のボリュームよりも小さく設定されている場合(これは一般的な方法です)、スナップショットが操作不能になる可能性があります
スナップショットは、アクセスの多いデータベースからテーブルファイルなどの揮発性データの一貫性のあるバージョンをバックアップしたり、オペレーティングシステムのアップグレードなどの大規模な変更を1回の操作でロールバックしたりするのに役立ちます。スナップショットは、ストレージを静止状態にするのと同様の効果があり、 Microsoft Windowsのシャドウコピー(VSS)サービスに似ています。
一部の Linux ベースのLive CDでは、スナップショットを使用して、読み取り専用の光ディスクへの読み取り/書き込みアクセスをシミュレートします。
実装
| ベンダー | 導入 | ボリュームマネージャ | どこにでも割り当て可能[a] | スナップショット | RAID 0 | RAID 1 | RAID 5 | RAID 10 | シン・プロビジョニング | 注記 |
|---|---|---|---|---|---|---|---|---|---|---|
| IBM | AIX 3.0 (1989) | 論理ボリュームマネージャ | はい | はい[b] | はい | はい | いいえ | はい[c] | PEをPP(物理パーティション)、LEをLP(論理パーティション)と呼びます。コピーオンライトスナップショットメカニズムはなく、ミラーペアの一方のボリュームをフリーズすることでスナップショットを作成します | |
| ヒューレット・パッカード | HP-UX 9.0 | HP論理ボリュームマネージャ | はい | はい | はい | はい | いいえ | はい | ||
| FreeBSD財団 | FreeBSD | Vinumボリュームマネージャ | はい | はい[d] | はい | はい | はい | はい | FreeBSD 高速ファイルシステム (UFS) はスナップショットをサポートしています。 | |
| FreeBSD財団 | FreeBSD | ZFS | はい | はい | はい | はい | はい | はい | はい | 統合ボリューム管理機能を備えたファイルシステム |
| NetBSD Foundation, Inc | NetBSD | 論理ボリュームマネージャ | はい | いいえ | はい | はい | いいえ | いいえ | NetBSDバージョン6.0以降は、Linux LVMの独自の再実装をサポートしています。再実装はBSDライセンスのデバイスマッパードライバーに基づいており、LVMのユーザー空間部分としてLinux lvmツールの移植版を使用しています。NetBSDはRAIDFrameサブシステムが優れているため、LVMでRAID5をサポートする必要はありません | |
| NetBSD | ZFS | はい | はい | はい | はい | はい | はい | はい | 統合ボリューム管理機能を備えたファイルシステム | |
| NetBSD § 5.0 (2009) | bioctl arcmsr [1] | いいえ | いいえ | はい[2] | はい[2] | はい[2] | はい[2] | NetBSD上のbioctlはハードウェアRAIDのメンテナンスと初期化の両方に使用できますが、初期化(BIOCVOLOPS ioctl経由)は2019年現在、1つのドライバーでのみサポートされています — arcmsr(4)[1] [2] 。ソフトウェアRAIDはRAIDframe [3] [4]とZFSを通じて別途サポートされています
| ||
| OpenBSDプロジェクト | OpenBSD 4.2 (2007) | bioctl softraid [5] | はい | いいえ | はい | はい | はい | はい | OpenBSDのbioctlは、ハードウェアRAIDのメンテナンスだけでなく、ソフトウェアRAIDの初期化とメンテナンスにも使用できます。 | |
| システィーナ | Linux 2.2 | 論理ボリュームマネージャ バージョン1 | はい | はい | はい | はい | いいえ | いいえ | ||
| IBM | リナックス2.4 | エンタープライズボリューム管理システム | はい | はい | はい | はい | はい | いいえ | ||
| システィーナ | Linux 2.6以降 | 論理ボリュームマネージャ バージョン 2 | はい | はい | はい | はい | はい | はい | はい | |
| Oracle | Linux 2.6以降 | Btrfs | はい | はい | はい | はい | はい(不安定) | はい | 該当なし | 統合ボリューム管理機能を備えたファイルシステム |
| シリコングラフィックス | IRIXまたはLinux | XVMボリュームマネージャ | はい | はい | はい | はい | はい | |||
| サン・マイクロシステムズ | SunOS | Solarisボリュームマネージャ(旧称Solstice DiskSuite) | いいえ | いいえ | はい | はい | はい | はい | PV をボリューム (RAID0、RAID1、または RAID5 プリミティブと組み合わせてより大きなボリュームにすることができます)、LV をソフト パーティション (ボリューム上の任意の場所に配置できる連続したエクステントですが、複数のボリュームにまたがることはできません)、VG をディスク セットとして参照します。 | |
| Solaris 10 | ZFS | はい | はい | はい | はい | はい | はい | はい | 統合ボリューム管理機能を備えたファイルシステム | |
| イルモス | ZFS | はい | はい | はい | はい | はい | はい | はい | 統合ボリューム管理機能を備えたファイルシステム | |
| ベリタス[e] | クロスOS | Veritas Volume Manager (VxVM) | はい | はい | はい | はい | はい | はい | LV をボリューム、VG をディスク グループと呼びます。サブディスクと呼ばれる可変サイズの PEとプレックスと呼ばれる LE があります。 | |
| マイクロソフト | Windows 2000以降のNTベースのオペレーティングシステム | 論理ディスクマネージャ | はい | はい[f] | はい | はい | はい | いいえ | いいえ | PEまたはLEの概念はありません。RAID0、RAID1、RAID5、またはディスクパーティションを連結してより大きなボリュームを作成することしかできません。ファイルシステムはボリューム全体にまたがる必要があります |
| Windows 8 | 記憶域スペース[6] | はい | はい | いいえ | はい | はい | いいえ | はい | RAID1やRAID5よりも高レベルのロジック - 複数の記憶域スペースが異なるサイズの複数のディスクにまたがり、記憶域スペースはミラーリング(少なくとも2つのディスク)またはストライプパリティ(少なくとも3つのディスク)のいずれかによって物理的な障害から回復し、ディスク管理とデータ復旧は完全に自動化されています | |
| Windows 10 | 記憶域スペース | はい | はい | はい | はい | はい | はい | はい | RAID 10はディスクミラーリングと呼ばれます | |
| Red Hat | Linux 4.14以降 | ストラティス[7] | はい | はい | いいえ | いいえ | いいえ | いいえ | はい | バージョン2.0でRAIDサポートが予定されています[8] |
| Apple | Mac OS X Lion | コアストレージ | はい[9] | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | 現在、これは完全なディスク暗号化を可能にするためにLion のFileVault実装で使用されているほか、単なるマルチ PV LVG であるFusion Driveでも使用されています。 スナップショットはTime Machineによって処理され、ソフトウェアベースのRAIDはAppleRAIDによって提供されます。どちらもCore Storageとは別です。 |
デメリット
基盤となるストレージデバイスがPEを連続的に割り当てていない場合、論理ボリュームは外部フラグメンテーションの影響を受ける可能性があります。これにより、磁気ディスクやその他の回転メディアなど、シーク速度の遅いメディアでのI/Oパフォーマンスが低下する可能性があります。ただし、固定サイズのPEを使用するボリュームマネージャーは、これらのシークコスト を分散させるために、通常、PEを比較的大きくします(たとえば、 Linux LVMはデフォルトで4MBを使用します) 。
Core Storageや Linux LVMなどのボリューム管理のみを行う実装では、ボリューム管理をファイルシステムから分離して抽象化すると、特定のファイルやディレクトリのストレージに関する決定を容易に行うことができなくなります。たとえば、特定のディレクトリ (ファイルシステム全体ではない) をより高速なストレージに永続的に移動する場合、ファイルシステムのレイアウトと、その下にあるボリューム管理層の両方を調べる必要があります。たとえば Linux では、ファイルシステム内でのファイルの内容のオフセットを手動で決定し、次にpvmoveエクステント (およびそのファイルに関連しないデータ) をより高速なストレージに手動で移動する必要があります。ボリューム管理とファイル管理を別々のサブシステムとして実装するのではなく、同じサブシステム内に実装することで、理論上はプロセス全体がよりシンプルになります。
注記
- ^ ボリュームマネージャがLVの拡張とVG内のPVへの拡張を許可するかどうかを示します
- ^ JFS2 スナップショット
- ^ AIX 5.1
- ^ UFSスナップショット
- ^ サードパーティ製品。Windows および多くのUnix 系OSで利用可能
- ^ Windows Server 2003以降
参照
参考文献
- ^ ab Juan Romero Pardines (2007/2008); David Gwynne (2006). 「arcmsr — Areca Technology Corporation SATA/SAS RAIDコントローラー」. NetBSDカーネルインターフェースマニュアル. NetBSD
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ abcde フアン・ロメロ・パルディネス (2007/2008);デヴィッド・グウィン (2006)。 「arcmsr.c § arc_bio_volops」。BSD 相互参照。NetBSD。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ The NetBSD Foundation, Inc. (1998); Carnegie-Mellon University (1995). 「raid — RAIDframe ディスクドライバー」. NetBSD カーネルインターフェースマニュアル. NetBSD .
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ The NetBSD Foundation, Inc. (1998); Carnegie-Mellon University (1995). 「raidctl — RAIDframe ディスクドライバーの設定ユーティリティ」. NetBSD システム管理者マニュアル. NetBSD .
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ Marco Peereboom; Todd T. Fries (2007). 「softraid — ソフトウェアRAID」.デバイスドライバマニュアル. OpenBSD .
- 「softraid — ソフトウェアRAID」。OpenBSDマニュアルページサーバー。
- ^ 「MSDN ブログ - Windows 8 の構築: 拡張性、回復力、効率性を実現するためのストレージの仮想化」。Blogs.MSDN.com。
- ^ “Stratis Storage”. Stratis-storage.github.io . 2019年8月5日閲覧。
- ^ 「Stratis ソフトウェア設計: バージョン 1.0.0∗」(PDF) . 2018年9月27日. 2019年8月5日閲覧。
- ^ 「manページ diskutil セクション8」ManPagez.com . 2011年10月6日閲覧。
出典
- Lewis, AJ, 論理ボリュームマネージャHOWTO。
- HP-UX 11: lvm(7) マニュアルページ、Hewlett-Packard、1996年。
- Vanel, Laurent; van der Knaap, Ronald (2000)、「AIX 論理ボリューム マネージャー A から Z: 導入と概念」(PDF)、IBM Redbooks。
- Veritas Volume Manager 3.1 管理者ガイド(PDF)、Hewlett-Packard、2001。
- XVMボリュームマネージャ管理ガイド、Silicon Graphics、1999年、2016年3月3日にオリジナルからアーカイブ、2020年3月17日に取得。
- Solaris Volume Manager Administration Guide、Sun Microsystems、2003年、2007年7月15日にオリジナルからアーカイブ、 2007年7月9日に取得。
- Shadowcopy (2003)、Windows LDM と Veritas Volume Manager の比較表(PDF)、Symantec Corporation
- クリス・ギブソン(2010)、AIX 6.1でのJFS2スナップショットの使用、IBM。