1. 程式人生 > >LVM是邏輯盤卷管理

LVM是邏輯盤卷管理

manager hunk mat 文件 磁盤大小 擴展邏輯卷 創建邏輯卷 play 每一個

LVM是邏輯盤卷管理(LogicalVolumeManager)
邏輯卷管理會根據物理存儲生成提取層,以便創建邏輯存儲卷。這樣就比直接使用物理存儲在很多方面提供了更大的靈活性。使用邏輯卷時不會受物理磁盤大小限制。

物理卷(Physical Volume,PV)
指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。

卷組(Volume Group,VG)

類似於非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成。可以在卷組上創建一個或多個LV(邏輯卷)。


邏輯卷(Logical Volume,LV)


類似於非LVM系統中的磁盤分區,邏輯卷建立在卷組VG之上。在邏輯卷LV之上可以建立文件系統(比如/home或者/usr等)。


物理塊(Physical Extent,PE)
每一個物理卷PV被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。所以物理卷(PV)由大小等同的基本單元PE組成。


*邏輯塊(Logical Extent,LE)
LVM抽象模型
LVM抽象模型
邏輯卷LV也被劃分為可被尋址的基本單位,稱為LE。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。


創建物理卷PV(Physical Volumes)

pvcreate /dev/sd{b,c}

創建卷組VG(Volume Groups)

vgcreate  myvg /dev/sd{b,c}

創建邏輯卷LV(Logical Volumes)

lvcreate -L 5G -n lv myvg  

格式化

mkfs.ext4 /dev/mapper/myvg-lv 

掛載

mount /dev/mapper/myvg-lv /mnt



LV擴展邏輯卷
物理邊界

 lvextend -L +10G /dev/myvg/lv     

Size of logical volume myvg/lv changed from 5.00 GiB (1280 extents) to 15.00 GiB (3840 extents).

Logical volume myvg/lv successfully resized.

邏輯邊界

 resize2fs  /dev/myvg/lv 25G

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/lv to 6553600 (4k) blocks.
The filesystem on /dev/myvg/lv is now 6553600 blocks long.

LV縮減邏輯卷
卸載

umount /mnt

強行檢查

e2fsck -f  /dev/mapper/myvg-lv 

e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/myvg-lv: 11/1638400 files (0.0% non-contiguous), 146882/6553600 blocks

邏輯編輯縮減

resize2fs /dev/mapper/myvg-lv 10G

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/myvg-lv to 2621440 (4k) blocks.
The filesystem on /dev/mapper/myvg-lv is now 2621440 blocks long.

物理邊界縮減

lvreduce /dev/myvg/lv -L 10G

WARNING: Reducing active logical volume to 10.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/lv? [y/n]: y
Size of logical volume myvg/lv changed from 25.00 GiB (6400 extents) to 10.00 GiB (2560 extents).
Logical volume myvg/lv successfully resized.

創建快照
-s 關鍵選項,創建快照snap的意思

-l    後面跟快照包含多少個PE的數量

-n    後面跟創建的快照的名字

-p r  由於快照大多為只讀,改選項為為修改權限位只讀(r)
lvcreate -L 10G -n myvg-lv-snap -s  -p r /dev/mapper/myvg-lv 

掛載lv的快照

mount /dev/mapper/myvg-myvg--lv--snap /media/

查看新創建的快照區

lvdisplay /dev/myvg/myvg-lv-snap

LV Path /dev/myvg/myvg-lv-snap
LV Name myvg-lv-snap
VG Name myvg
LV UUID AGIXY8-ok2R-ekT9-2o53-gFGD-uz4B-EwlDL1
LV Write Access read only
LV Creation host, time node.tclking.com, 2019-01-02 17:03:47 +0800
LV snapshot status active destination for lv
LV Status available
open 1
LV Size 10.00 GiB
Current LE 2560
COW-table size 10.00 GiB
COW-table LE 2560
Allocated to snapshot 0.01%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 253:6

LVM是邏輯盤卷管理