LVM基本組成
LVM利用Linux內核的device-mapper來實現存儲系統的虛擬化(系統分區獨立於底層硬件)。 通過LVM,你可以實現存儲空間的抽象化並在上面建立虛擬分區(virtual partitions),可以更簡便地擴大和縮小分區,可以增刪分區時無需擔心某個硬盤上沒有足夠的連續空間。
LVM是用來方便管理的,不會提供額外的安全保證。
LVM的基本組成塊(building blocks)如下:
- 物理卷Physical volume (PV):可以在上面建立卷組的媒介,可以是硬盤分區,也可以是硬盤本身或者回環文件(loopback file)。物理捲包括一個特殊的header,其餘部分被切割爲一塊塊物理區域(physical extents)。
- 卷組Volume group (VG):將一組物理卷收集爲一個管理單元。
- 邏輯卷Logical volume (LV):虛擬分區,由物理區域(physical extents)組成。
- 物理區域Physical extent (PE):硬盤可供指派給邏輯卷的最小單位(通常爲4MB)。
常用命令:
功能/命令 |
物理卷管理 |
卷組管理 |
邏輯卷管理 |
掃描 |
pvscan |
vgscan |
lvscan |
建立 |
pvcreate |
vgcreate |
lvcreate |
顯示 |
pvdisplay |
vgdisplay |
lvdisplay |
刪除 |
pvremove |
vgremove |
lvremove |
擴展 |
vgextend |
lvextend |
|
縮小 |
vgreduce |
lvreduce |
物理卷操作格式:
創建
pvcreate
格式:pvcreate DEVICE
DVEICE可以是磁盤、分區、迴環設備
例子:
pvcreate /dev/sda
pvcreate /dev/sdb1
刪除
pvremove
格式:pvremove DEVICE
例子:
pvremove /dev/sda
顯示物理卷信息:pvdisplay
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
卷組操作格式:
創建
vgcreate
格式:vgcreate <volume_group> <physical_volume>
<volume_group>:卷組名
<physical_volume>:物理卷
例子:
vgcreate ARCH-VG /dev/sda /dev/sdb1
添加新物理捲進卷組
vgextend
格式:vgextend <volume_group> <logical_volume>
例子:
vgextemd ARCH-VG /dev/sdc
移除卷組中的物理卷
vgreduce
格式:vgreduce <volume_group> <logical_volume>
例子:
vgreduce ARCH-VG /dev/sdc
刪除卷組
vgremove
格式:vgremove <volume_group>
例子:
vgremove ARCH-VG
顯示卷組信息:vgdisplay
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
邏輯卷操作格式:
創建
lvcreate
格式: lvcreate -L <size> <volume_group> -n <logical_volume>
<size> 磁盤大小
-L:直接指定盤大小
-l :數值xPE=磁盤大小
<volume_group> 卷組名
<logical_volume> 邏輯卷名---自定義
例子: 分別用不同的參數創建100M大小的磁盤分區
lvcreate -L 100M ARCH-VG -n sda_LV
lvcreate -l 25 ARCH-VG -n sd_LV
擴展:
lvextend
格式:lvextend -L <size> <logical_volume>
例子:
lvextend -L 290M /dev/ARCH-VG/sda_LV
e2fsck -f /dev/ARCH-VG/sda_LV ------檢查磁盤完整性
縮小:
lvreduce
格式:lvreduce -L <size> <logical_volume>
例子:
e2fsck -f /dev/ARCH-VG/sda_LV ---檢查磁盤完整性
lvreduce -L -50M /dev/ARCH-VG/sda_LV
刪除:
lvremove
格式:lvremove <logical_volume>
例子:
lvremove /dev/ARCH-VG/sda_LV
顯示邏輯卷信息:lvdisplay
在進行擴展、縮小、刪除邏輯卷時切記要先卸載與之相關的掛載!!!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果安裝archlinux使用lvm,而且根文件系統基於LVM,你需要保證udev和lvm2這兩個mkinitcpio的鉤子擴展被啓用。
udev默認已經預設好,不必手動啓用了。
在創建好LVM分區後
需要編輯/etc/mkinitcpio.conf文件,在block與filesystem這兩項中間插入lvm2:
vim /etc/mkinitcpio.conf
HOOKS="base udev ... block lvm2 filesystems"
在安裝好arch基本系統環境,進入系統後需要執行一下命令生成新的鏡像
mkinitcpio -p linux
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以上內容參考於以下文檔,純屬個人記錄方便後續查看
https://wiki.archlinux.org/index.php/LVM
https://www.linuxprobe.com/chapter-07.html#72_LVM