LVM とは
論理ボリューム マネージャー (LVM) は、物理ディスクとファイル システムの間に追加のレイヤーを導入して、ファイル システムを次のようにできるようにします。ディスク上のスペース
– 通常の不可解なデバイス名ではなく、意味のある名前をボリュームに付けます。
– 複数の物理ディスクにまたがります
Linux LVM は HP-UX LVM と非常によく似ており、スナップショット、クラスター サポート (GFS2、OCFS、Lustre) などの他の多くの高度な機能を提供します。
コンセプト
LVM は、物理ボリューム、論理ボリューム、ファイル システムなどのいくつかの概念的なレイヤーで構成されています。
概念層は、物理エクステント (物理ボリュームの場合) や論理エクステント (論理ボリュームの場合) などの小さな単位で構成されます。
物理ボリューム (PV)
各物理ボリュームは、ディスク パーティション、ディスク全体、メタデバイス、またはループバック ファイルにすることができます。コマンド pvcreate を使用します LVM で使用するストレージを初期化します。ブロック デバイスを物理ボリュームとして初期化すると、デバイスの先頭にラベルが配置されます。
ボリューム グループ (VG)
ボリューム グループは、論理ボリュームと物理ボリュームのコレクションを 1 つの管理単位にまとめます。ボリューム グループは、固定サイズの物理エクステントに分割されます。コマンド vgcreate 以前に pvcreate で LVM 用に構成されたブロック スペシャル デバイスの物理ボリューム パスを使用して、新しいボリューム グループを作成します。
– VG は PV で構成され、さらに物理エクステント (PE) で構成されます。 PE のサイズは VG によって異なり、VG の作成時に定義されます。
– PE のデフォルト サイズは 4MB ですが、VG の作成時に必要な値に変更できます。
– 一般に、PE サイズが大きいほど、パフォーマンスが向上します (ただし、LV の粒度の制御は少なくなります)。
論理ボリューム (LV)
論理ボリュームは、非 LVM システムのディスク パーティションに相当する概念です。論理ボリュームは、同じボリューム グループに存在する物理エクステントから作成されるブロック デバイスです。コマンド lvcreate を使用できます 既存のボリューム グループに論理ボリュームを作成します。
ファイル システム
ファイル システムは、論理ボリュームの上に構築されます。コマンド mkfs を使用して、論理ボリュームの上にファイル システムを作成できます。ファイルシステムが作成されたら、必要に応じて論理ボリュームをマウントできます。
始めましょう
例
以下の例では:
1. 3 つの物理ディスク (/dev/sdb、/dev/sdc、/dev/sdd) から 3 つの物理ボリュームを作成します。 ).
2.これら 3 つの PV からボリューム グループを作成します (/dev/vg01) ).
3.この VG (/dev/vg01/lvol01) に論理ボリュームを作成します。 ).
4.この LV にファイル システムを作成し、マウントします (/data01)。 ).
物理ボリュームを作成する
pvcreate コマンドは、LVM で使用するために PV を初期化するために使用されます。 PV を作成する前に、ディスクが OS に表示されていることを確認してください。 PV として使用するブロック デバイスをスキャンするには、lvmdiskscan を使用します。 コマンド。
# lvmdiskscan ....... /dev/sdb [ 2.00 GiB] /dev/sdc [ 2.00 GiB] /dev/sdd [ 2.00 GiB] 3 disks 19 partitions 0 LVM physical volume whole disks 0 LVM physical volumes
ブロックデバイスを初期化します:
# pvcreate /dev/sdb /dev/sdc /dev/sdd Physical volume "/dev/sdb" successfully created Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created
物理ボリュームを表示
pvdisplay コマンドを使用します 、pvs と pvscan 作成したばかりの PV を表示します。
# pvdisplay "/dev/sdb" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM "/dev/sdc" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt "/dev/sdd" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan PV /dev/sdb lvm2 [2.00 GiB] PV /dev/sdc lvm2 [2.00 GiB] PV /dev/sdd lvm2 [2.00 GiB] Total: 3 [6.00 GiB] / in use: 0 [0 ] / in no VG: 3 [6.00 GiB]
# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a-- 2.00g 2.00g /dev/sdc lvm2 a-- 2.00g 2.00g /dev/sdd lvm2 a-- 2.00g 2.00g
ボリューム グループを作成する
vgcreate を使用します 新しいボリューム グループ vg01 を作成するコマンド 先ほど作成した 3 つの PV を使用します。 -s でエクステントを指定できます オプション -p を使用して、オプションと VG 内の PV および LV の最大数 および -l それぞれ。これらのオプションはすべてオプションであり、必ずしも使用する必要はありません。
# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd Volume group "vg01" successfully created
vgcreate コマンドで使用されるオプションのオプションは次のとおりです:
オプション | 意味 |
---|---|
-s | 物理エクステント サイズ |
-p | 最大PV数 |
-l | 最大LV数 |
–alloc | 割り当てポリシー (連続、任意、または固定のいずれか) |
VG 情報の表示
コマンド vgs および vgdisplay を使用して、作成したばかりの VG に関する情報を表示できます:
# vgs vg01 VG #PV #LV #SN Attr VSize VFree vg01 3 0 0 wz--n- 5.99g 5.99g
# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 5.99 GiB PE Size 4.00 MiB Total PE 1533 Alloc PE / Size 0 / 0 Free PE / Size 1533 / 5.99 GiB VG UUID Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa
VG の有効化と無効化
vgchange コマンドを使用して、ボリューム グループをアクティブ化/非アクティブ化できます。
VG を非アクティブ化するには:
# vgchange -a n vg01 0 logical volume(s) in volume group "vg01" now active
VG を有効にするには:
# vgchange -a y vg01 1 logical volume(s) in volume group "vg01" now active
論理ボリュームの作成
lvcreate コマンドを使用して VG に論理ボリュームを作成できるようになりました .
– コマンドで LV 名を指定しない場合、デフォルトで LV には lvol# という名前が付けられます .
– 通常、どの PV が LV にまたがるかを指定しない場合、論理ボリュームは、次の空きベースで PV に作成されます。
– サイズ 5 GB の論理ボリューム lvol01 を作成するには:
# lvcreate -L 5G -n lvol01 vg01 Logical volume "lvol01" created
ストライプ ボリュームの作成
作成した 3 つの PV すべてにまたがるストライプ ボリュームを作成するには:
# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01 Rounding size (1280 extents) up to stripe boundary size (1281 extents) Logical volume "lvol01" created
I - PVs to span while creating striped volume i - stripe unit
ミラー ボリュームの作成
3 つの PV (sdb、sdc、sdd) にまたがる 3 方向のミラー ボリュームを作成するには:
# lvcreate -L 1G -m 2 -n lvol01 vg01 Logical volume "lvol01" created
ミラーリングされた LV の作成時に使用するデバイスを指定することもできます。この場合、VG に 3 つの PV しかないため、LV はデフォルトでこれら 3 つの PV に作成されます。
LV 情報の表示
コマンド lvdisplay 、レベル と lvscan 作成したばかりの LV に関する情報を表示するために使用できます。
# lvs /dev/vg01/lvol01 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lvol01 vg01 mwi-a-m-- 1.00g lvol01_mlog 100.00
# lvdisplay /dev/vg01/lvol01 --- Logical volume --- LV Path /dev/vg01/lvol01 LV Name lvol01 VG Name vg01 LV UUID ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Mirrored volumes 3 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4
# lvscan ACTIVE '/dev/vg01/lvol01' [1.00 GiB] inherit
ファイル システムを作成しています
最後のステップは、作成したばかりの新しい LV にファイル システムを作成し、ディレクトリにマウントして、アクセスしてデータを保存できるようにすることです。コマンド mkfs LV の上にファイル システムを作成するために使用できます。
# mkfs.ext4 /dev/vg01/lvol01 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
ファイルシステムが作成されると、論理ボリュームをマウントできます。 /etc/fstab に必ずエントリを追加してください 、システムの起動時に自動的にマウントされるようにします。
# mkdir /data01 # mount /dev/vg01/lvol01 /data01
# vi /etc/fstab /dev/vg01/lvol01 /data01 ext4 defaults 0 0
# df -h /data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lvol01 1008M 34M 924M 4% /data01
LVM を管理するグラフィカル ツール
クールなグラフィカル ツールが利用可能です (system-config-lvm )を使用したい場合。システムにまだインストールされていない場合は、yum を使用してインストールします:
# yum install system-config-lvm
グラフィカル LVM 管理ツールを起動するには、次のコマンドを実行します:
# system-config-lvm
LVM 構成:論理ボリューム (LV) 操作/ユーティリティ
LVM 構成:ボリューム グループ (VG) 操作/ユーティリティ
LVM 構成:物理ボリューム (PV) 操作/ユーティリティ