論理ボリューム管理

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

ボリューム管理は、ストレージ仮想化の多くの形態の1つにすぎません。その実装は、オペレーティングシステム(OS)のデバイスドライバスタック内のレイヤーで行われます(ストレージデバイス内やネットワーク内ではありません)。

設計

Linux論理ボリュームマネージャ(LVM)v1

ほとんどのボリュームマネージャ実装は、同じ基本設計を共有しています。物理ボリューム(PV)から始まります。物理ボリュームは、ハードディスク、ハードディスクパーティション、または外部ストレージデバイスの論理ユニット番号(LUN)のいずれかです。ボリューム管理では、各PVは物理エクステント(PE)と呼ばれるチャンクのシーケンスで構成されているものとして扱われます。一部のボリュームマネージャ(HP-UXやLinuxなど)はPEのサイズが均一ですが、他のボリュームマネージャ( Veritasなど)はPEのサイズが可変で、自由に分割および結合できます

通常、PEは論理エクステント(LE)に1対1でマッピングします。ミラーリングでは、複数のPEが各LEにマッピングされます。これらのPEは、 RAID 1アレイのハードディスクと同様に動作する、同じサイズのPVのセットである物理ボリュームグループ(PVG)から取得されます。PVGは通常、冗長性を最大限に高めるために、異なるディスクまたはデータバス上に存在するようにレイアウトされます

システムはLEをボリュームグループ(VG)にプールします。プールされたLEは、論理ボリュームまたはLVと呼ばれる仮想ディスクパーティションに連結できます。システムは、ディスクパーティションと同様に、 LVをrawブロックデバイスとして使用し、マウント可能なファイルシステムを作成したり、スワップストレージとして使用したりできます。

ストライプLVは、連続する各LEを異なるPVから割り当てます。LEのサイズに応じて、複数のPVの読み取りスループットを組み合わせることで、大規模なシーケンシャル読み取りのパフォーマンスを向上させることができます

管理者はLVを拡大(LEを連結)したり、縮小(LEをプールに戻したり)することができます。連結されたLEは連続している必要はありません。これにより、すでに割り当てられているLEを移動することなく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への書き込み直前に、そのLEをコピーオンライトテーブルにコピーします。これにより、LVの古いバージョンであるスナップショットが保存され、後でコピーオンライトテーブルを現在のLVの上にオーバーレイすることで再構築できます。ボリューム管理がシンプロビジョニングと破棄の両方をサポートしていない限り、元のボリュームのLEに書き込まれると、スナップショットボリュームに永続的に保存されます。スナップショットボリュームが元のボリュームよりも小さく設定されている場合(これは一般的な方法です)、スナップショットが操作不能になる可能性があります。

スナップショットは、ビジー状態のデータベースのテーブルファイルなどの揮発性データの自己一貫性のあるバージョンをバックアップしたり、オペレーティングシステムのアップグレードなどの大きな変更を1回の操作でロールバックしたりするのに役立ちます。スナップショットは、ストレージを静止状態にするのと同様の効果があり、Microsoft Windowsの シャドウコピー(VSS)サービスに似ています

一部のLinuxベースのLive CDでは、読み取り専用光ディスクへの読み書きアクセスをシミュレートするためにスナップショットも使用されます

実装

ベンダー導入ボリュームマネージャー任意の場所に割り当て[a]スナップショットRAID 0RAID 1RAID 5RAID 10シンプロビジョニング注記
IBMAIX 3.0 (1989)論理ボリュームマネージャーはいはい[b]はいはいいいえはい[c]PEをPP(物理パーティション)、LEをLP(論理パーティション)と呼びます。コピーオンライトスナップショット機構はなく、ミラーペアの一方のボリュームをフリーズすることでスナップショットを作成します。
ヒューレット・パッカードHP-UX 9.0HP論理ボリュームマネージャはいはいはいはいいいえはい
FreeBSD FoundationFreeBSDVinumボリュームマネージャはいはい[d]はいはいはいはいFreeBSD高速ファイルシステム(UFS)はスナップショットをサポートしています。
FreeBSD FoundationFreeBSDZFSはいはいはいはいはいはいはい統合ボリューム管理を備えたファイルシステム
NetBSD Foundation, Inc.NetBSD論理ボリュームマネージャーはいいいえはいはいいいえいいえNetBSDバージョン6.0以降は、Linux LVMの独自の再実装をサポートしています。再実装はBSDライセンスのデバイスマッパードライバーに基づいており、LVMのユーザー空間部分としてLinux lvmツールの移植版を使用しています。NetBSDはRAIDFrameサブシステムが優れているため、LVMでRAID5をサポートする必要はありません。
NetBSDZFSはいはいはいはいはいはいはい統合ボリューム管理を備えたファイルシステム
NetBSD § 5.0 (2009)bioctl arcmsr [1]いいえいいえはい[2]はい[2]はい[2]はい[2]NetBSD上のbioctlは、ハードウェアRAIDのメンテナンスと初期化の両方に使用できますが、初期化(BIOCVOLOPS ioctl経由)は2019年現在、単一のドライバーarcmsr(4)[1] [2]でのみサポートされています。ソフトウェアRAIDは、RAIDframe [3] [4]ZFSを通じて個別にサポートされています。
OpenBSDプロジェクトOpenBSD 4.2 (2007)bioctl softraid [5]はいいいえはいはいはいはいOpenBSD上のbioctlは、ハードウェアRAIDのメンテナンスだけでなく、ソフトウェアRAIDの初期化とメンテナンスにも使用できます。
SistinaLinux 2.2論理ボリュームマネージャ バージョン1はいはいはいはいいいえいいえ
IBMLinux 2.4エンタープライズボリューム管理システムはいはいはいはいはいいいえ
SistinaLinux 2.6以上論理ボリュームマネージャ バージョン2はいはいはいはいはいはいはい
OracleLinux 2.6以上Btrfsはいはいはいはいはい(不安定)はい統合ボリューム管理を備えたファイルシステム
Silicon GraphicsIRIXまたはLinuxXVMボリュームマネージャはいはいはいはいはい
Sun MicrosystemsSunOSSolarisボリュームマネージャ(旧Solstice DiskSuiteいいえいいえはいはいはいはいPVをボリューム(RAID0、RAID1、またはRAID5プリミティブと組み合わせてより大きなボリュームにすることができます)、LVをソフトパーティション(ボリューム上の任意の場所に配置できる連続したエクステントですが、複数のボリュームにまたがることはできません)、VGをディスクセットと呼びます。
Solaris 10ZFSはいはいはいはいはいはいはい統合ボリューム管理を備えたファイルシステム
illumosZFSはいはいはいはいはいはいはい統合ボリューム管理を備えたファイルシステム
Veritas [e]クロスOSVeritasボリュームマネージャ(VxVM)はいはいはいはいはいはいLVをボリューム、VGをディスクグループと呼びます。サブディスクと呼ばれる可変サイズのPEとプレックスと呼ばれるLEがあります
MicrosoftWindows 2000以降のNTベースのオペレーティングシステム論理ディスクマネージャはいはい[f]はいはいはいいいえいいえPEまたはLEの概念はありません。RAID0、RAID1、RAID5、またはディスクパーティションを連結してより大きなボリュームにすることしかできません。ファイルシステムはボリューム全体にまたがる必要があります。
Windows 8記憶域スペース[6]はいはいいいえはいはいいいえはいRAID1やRAID5よりも高レベルのロジック - 複数のストレージスペースが異なるサイズの複数のディスクにまたがり、ストレージスペースはミラーリング(少なくとも2つのディスク)またはストライプパリティ(少なくとも3つのディスク)のいずれかによって物理的な障害から回復し、ディスク管理とデータ復旧は完全に自動化されています。
Windows 10記憶域スペースはいはいはいはいはいはいはいRAID 10はディスクミラーリングと呼ばれます
Red HatLinux 4.14以上Stratis [7]はいはいいいえいいえいいえいいえはいRAIDサポートはバージョン2.0で計画されています[8]
AppleMac OS X LionCore Storageはい[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エクステント(およびそのファイルに関連しないデータ)をより高速なストレージに手動で移動する必要があります。ボリューム管理とファイル管理を別々のサブシステムとして実装するのではなく、同じサブシステム内に実装することで、全体的なプロセスが理論的に簡素化されます。

注記

  1. ^ ボリュームマネージャがLVの拡張とVG内の任意のPVへのスパンを許可するかどうかを示します
  2. ^ JFS2 スナップショット
  3. ^ AIX 5.1
  4. ^ UFS スナップショット
  5. ^ サードパーティ製品。Windows および多くのUnix 系OSで利用可能
  6. ^ Windows Server 2003以降

参照

参考文献

  1. ^ Juan Romero Pardines (2007/2008); David Gwynne (2006). 「arcmsr — Areca Technology Corporation SATA/SAS RAIDコントローラー」. NetBSDカーネルインターフェースマニュアル. NetBSD{{cite web}}: CS1 maint:数値名:著者一覧 (リンク)
  2. ^ abcde Juan Romero Pardines (2007/2008); David Gwynne (2006). 「arcmsr.c § arc_bio_volops」. BSD 相互参照. NetBSD .{{cite web}}: CS1 maint:数値名:著者一覧 (リンク)
  3. ^ The NetBSD Foundation, Inc. (1998); Carnegie-Melon University (1995). 「raid — RAIDframeディスクドライバー」. NetBSD カーネルインターフェースマニュアル. NetBSD{{cite web}}: CS1 maint:数値名:著者一覧 (リンク)
  4. ^ The NetBSD Foundation, Inc. (1998); Carnegie-Mellon University (1995). 「raidctl — RAIDframe ディスクドライバーの設定ユーティリティ」. NetBSD システム管理者マニュアル. NetBSD .{{cite web}}: CS1 maint:数値名:著者一覧 (リンク)
  5. ^ Marco Peereboom; Todd T. Fries (2007). 「softraid — ソフトウェア RAID」.デバイスドライバーマニュアル. OpenBSD .
    • 「softraid — ソフトウェア RAID」. OpenBSD マニュアルページサーバー.
  6. ^ "MSDN Blogs - Building Windows 8: Virtualizing Storage for Scale, Resiliency, and Efficiency". Blogs.MSDN.com.
  7. ^ "Stratis Storage". Stratis-storage.github.io. Retrieved 2019-08-05.
  8. ^ "Stratis Software Design: Version 1.0.0∗" (PDF). September 27, 2018. Retrieved 2019-08-05.
  9. ^ "man page diskutil section 8". ManPagez.com. Retrieved 2011-10-06.

Sources

  • Lewis, AJ, Logical Volume Manager HOWTO.
  • HP-UX 11: lvm(7) manual page, Hewlett-Packard, 1996.
  • Vanel, Laurent; van der Knaap, Ronald (2000), AIX Logical Volume Manager from A to Z: Introduction and Concepts (PDF), IBM Redbooks.
  • Veritas Volume Manager 3.1 Administrator's Guide (PDF), Hewlett-Packard, 2001.
  • XVM Volume Manager Administration Guide, Silicon Graphics, 1999, archived from the original on 2016-03-03, retrieved 2020-03-17.
  • Solaris Volume Manager Administration Guide, Sun Microsystems, 2003, archived from the original on 2007-07-15, retrieved 2007-07-09.
  • Shadowcopy (2003), Comparison matrix of Windows LDM and Veritas Volume Manager (PDF), Symantec Corporation
  • Chris Gibson (2010), Using JFS2 snapshots on AIX 6.1, IBM.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Logical_volume_management&oldid=1320228008#EXTENT"