LVM (Logical Volume Manger) は、Linux カーネルによって提供される論理ボリューム管理機能です。カーネル ドライバーとアプリケーション層ツールで構成されます。ハードディスク パーティションに基づいて論理層を作成します。これは非常に柔軟で、ストレージデバイスの管理が非常に便利です。
LVM は、Linux カーネルのデバイス マッパー機能を使用して、ストレージ システムの仮想化を実装します (システム パーティションは基盤となるハードウェアから独立しています)。 LVM を使用すると、ストレージ領域を抽象化し、その上に仮想パーティションを作成できます。パーティションをより簡単に拡張および縮小できます。パーティションを追加または削除するときに、特定のハードディスク上に十分な連続領域がないことを心配する必要はありません。ディスクを再パーティション化する手間や、パーティションを調整するために他のパーティションを移動する煩わしさがなくなり、従来のパーティション分割システムよりも柔軟にディスクを管理できます。
LVM を格納できるブロックデバイス。ハードディスク パーティション (MBR など)または GPT パーティション)、SAN ハードディスク、RAID または LUN、ループバック ファイル、カーネル マップされたデバイス(dm-crypt など)。特別な LVM ヘッダー(LVM によって構築される実際のハードウェアまたはストレージ システム)が含まれます。
ボリューム グループは 1 つ以上の物理ボリュームの集合であり、デバイス ファイル システムでは /dev/VG_NAME として表示されます。
論理ボリュームは、システムで使用できる最終的なメタデバイスであり、ボリューム グループで作成および管理され、物理ボリュームで構成されます。実際には、これは仮想パーティションであり、/dev/VG_NAME/LV_NAME として表示され、通常はそこにファイル システムを作成できます。
論理ボリュームが複数の物理ブロックを割り当てる必要がある場合、それらはボリューム グループ内の最小の連続領域になります (デフォルトは 4 MiB )。 。これは、論理ボリュームに割り当てることができる物理ボリュームの一部と考えることができます。
以下に、Linux ディスク管理における lvm の場所を図で示します:
# 順序は、ディスク -> パーティション -> PV - > ; VG -> LV -> fs、つまり、ディスク -> パーティション -> 物理ボリューム -> ボリューム グループ -> 論理ボリューム -> ファイル システム。
後で詳しく紹介しますが、作成もこの順番になります。
従来のハードディスク パーティション管理方法と比較して、LVM はより柔軟です:
複数のハードディスクを 1 つの大きなハードディスクとして扱う
##同様に、別の 10G Linux LVM タイプのパーティションを作成します:
附註:如果系統開機程式不支援LVM,則/boot
不能放在LVM中。此刻必須創建一個獨立的/boot
分割區並直接格式化後掛載到/boot。已知支援LVM的引導程式只有GRUB。
從上圖可以看到//dev/sda2已經是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用來建立PV,又因為/dev/sda1是boot引導區,所以下面我們可以對/dev/sdb1、/dev/sdb2建立PV
root# pvcreate device1 device2 ...
可以透過pvs、pvscan、pvdisplay這三個指令查看pv資訊
##3、卷組(VG)相關操作①、建立卷宗組使用指令vgcreate建立卷冊組注意: 如果你用的是未格式化過且擦除區塊(erase block)大小小於1M的SSD,請採用以下指令pvcreate --dataalignment 1m /dev/sda
#來設定對齊(alignment) 。
root# vgcreate vg_name pv1 pv2 ...
此時,也可以透過pvs查看各個實體磁碟區所在的捲組:
4、邏輯磁碟區(LV)相關操作
使用lvcreate指令
root# lvcreate -L <lv_size> <vg_name> -n <lv_name> # 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷 root# lvcreate -l +100%FREE <vg_name> -n <lv_name>
root# lvcreate -L <lv_size> <vg_name> -n <lv_name>
/dev/mapper/vg_fedora_yg-lv_yg01或
/dev/vg_fedora_yg/lv_yg01#②、查看lv## 指令lvs、lvscan、lvdisplay檢視
③、擴容邏輯磁碟區透過指令lvextend:root# lvextend -L <extend_size> <lv_path>
上面邏輯磁碟區LV建立之後,通常是已經可以在/dev/mapper/或/dev/vg_name/下面找到該邏輯捲了,如果找不到的話,可以執行如下指令:
# modprobe dm-mod # vgscan # vgchange -ay
現在可以在該邏輯磁碟區上建立檔案系統:
# mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name> # # mkfs.xfs /dev/mapper/vg_fedora_yg-lv_yg01
#②、掛載# mount /dev/mapper/<vg_name>-<lv_name> <mount_point>
###################################### ### 註:掛載點請選擇你所新建的邏輯磁碟區(例如:###/dev/mapper/vg_fedora_yg-lv_yg01###),###不要###使用邏輯磁碟區所在的實際分割設備(即不要使用:###/dev/sdb1###)###### 最後,我畫了一張圖,來展示linux lvm:############## #你可以對照上面內容,理解下linux lvm的磁碟管理機制。 #########說明:###①、圖中/dev/sda1是boot引導區,不能用lvm管理,所以直接格式化後掛載到目錄/boot下,另外/dev/sdb2也是沒有經過lvm直接格式化後掛載到目錄的。
②、卷組vg_fedora1容量為139G,從其中分配出去了40 5 45=90G,還有49G空閒,這些空閒容量可以lvextend到下面的lv中;也可以再創建個lv,分配出去。
③、磁碟設定/dev/sdc還有50G空閒空間未分割區,可以分割後使用。
以上がLinuxのディスク管理でLVMディスク操作コマンドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。