LVM邏輯卷

由於傳統的磁盤管理不能對磁盤進行磁盤管理,因此誕生了LVM技術,LVM技術最大的特點就是對磁盤進行動態管理。由於LVM的邏輯卷的大小更改可以進行動態調整,且不會出現丟失數據的情況。

 

LVM(Logic Volume Manager)是邏輯卷管理的簡稱。它是Linux環境下對磁盤分區管理的一種機制。對於其他的的UNIX(AIX/HP/SUM)操作系統,以及Windows系統也有類似的磁盤管理軟件。

 

LVM管理的方式非常簡單,就是通過將底層的物料磁盤抽象並封裝起來,然後以邏輯的方式呈現給上層應用。



LVM 機制的基本概念
PV(物理卷)
VG(卷組)
LV(邏輯卷)


image.png


  • 邏輯卷管理概念定義:

image.png

image.png

主要命令

image.png


實驗環境:

VMware Workstation Pro

image.png


image.png

image.png

image.png

image.png

image.png

image.png

image.png

先添加一塊硬盤做以下實驗使用。


---

劃分磁盤分區:

查看系統是否識別新添加的硬盤      fdisk -l

image.png注:/dev/sdb/爲新添加的磁盤


將sdb磁盤進行分區,分出3個主分區,1個擴展分區,2個邏輯分區,分區大小全爲2G.

[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0xb6f3b9c8 創建新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039):+2G
分區 1 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分區號 (2-4,默認 2):
起始 扇區 (4196352-41943039,默認爲 4196352):
將使用默認值 4196352
Last 扇區, +扇區 or +size{K,M,G} (4196352-41943039,默認爲 41943039):+2G
分區 2 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):
命令(輸入 m 獲取幫助):n  
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分區號 (3,4,默認 3):
起始 扇區 (8390656-41943039,默認爲 8390656):
將使用默認值 8390656
Last 扇區, +扇區 or +size{K,M,G} (8390656-41943039,默認爲 41943039):+2G
分區 3 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):N
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e 
已選擇分區 4
起始 扇區 (12584960-41943039,默認爲 12584960):
將使用默認值 12584960
Last 扇區, +扇區 or +size{K,M,G} (12584960-41943039,默認爲 41943039):
將使用默認值 41943039
分區 4 已設置爲 Extended 類型,大小設爲 14 GiB

命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 5
起始 扇區 (12587008-41943039,默認爲 12587008):
將使用默認值 12587008
Last 扇區, +扇區 or +size{K,M,G} (12587008-41943039,默認爲 41943039):+2G
分區 5 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 6
起始 扇區 (16783360-41943039,默認爲 16783360):
將使用默認值 16783360
Last 扇區, +扇區 or +size{K,M,G} (16783360-41943039,默認爲 41943039):+2G
分區 6 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。

image.png


安裝LVM管理工具

使用yum方式安裝:    yum install lvm2 -y

創建PV,將磁盤分區/dev/sdb1-3 初始化爲物理卷

格式:pvcreate 物理設備/分區設備

[root@localhost ~]# pvcreate /dev/sdb[1-3]
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
  Physical volume "/dev/sdb3" successfully created.


查看PV

image.png

注:

PV NamePV名字
VG Name隸屬的VG名字
PV SizePV的大小
Allocatable是否可分配
PE Size每個PE的大小
Total PEPE的數量
  Free PE剩餘的PE
 Allocated PE可分配的PE
 PV UUIDPV的UUID號


pvs也可以查看PV信息,沒有pvdisplay詳細

image.png


pvscan  掃描磁盤中的物理卷

image.png


創建VG——將物理卷/dev/sdb1-3 組合成一個卷組

格式:vgcreate 卷組名(自定義)  物理卷名

image.png

image.png


同樣可是使用vgs/vgscan查看

image.png


創建LV

lvcreate -L 1G -n lv01 vg01    //從vg01這個卷組中分出1G的空間給lv01

image.png

注:

-L 指定創建的LV的大小

-I 指定創建的LV的PE數量

-n LV的名字


查看LV的信息 lvdisplay

image.png

同樣可以使用lvs和lvscan查看

image.png


image.png

這時的VFree從5.99g減少到了4.99g,另外的1g被分配到了lv01


格式化LV

mkfs.xfs /dev/vg01/lv01   #將/dev/vg01/lv01格式化爲xfs文件系統

image.png


掛載使用

mkdir /opt/lv01   #創建用於掛載的目錄

mount /dev/vg01/lv01 /opt/lv01/  #臨時將邏輯卷掛載到目錄下

image.png


將掛載信息寫入/etc/fstab,實現開機自動掛載

image.png

mount -a  #檢測/etc/fstab文件,並運行掛載


添加測試數據

向/opt/lv01寫入測試數據以驗證LVM的磁盤動態管理

image.png


LVM的擴容操作

LVM最大的好處就是可以對磁盤進行動態管理,而且不會丟失現有的數據

(1)LV的擴容

查看vg01剩餘容量,還有4.99G可用

image.png


對lv01進行擴容:lvextend -L +1G /dev/vg01/lv01

image.png

vg從4.99變成了3.99    lv從1G變爲2G 


使用dh -hT 命令查看分區使用的情況:

image.png

發現實際容量並沒有變化,那是因爲系統還不認識剛剛添加進來的磁盤的文件系統,所以還需要對文件系統進行擴容


這裏我使用的文件系統是xfs文件系統,使用以下命令去擴容:

xfs_growfs /opt/lv01/

image.png


如果是ext系列的文件系統,使用以下命令擴容:

resize2fs 設備名或掛載點


擴容後,在使用df -hT查看分區情況:

image.png


再看看掛載點/opt/lv01裏面有沒有變化:

image.png

掛載點目錄裏的數據正常,代表對lv01在線擴容完成。


(2)VG的擴容

VG的擴容有兩種方法:

第一種:通過增加PV來實現擴容。

創建PV:使用/dev/sdb5來創建一個PV

pvcreate  /dev/sdb5

image.png


擴容VG:

查看現在的vg01的容量

[root@localhost lv01]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  vg01   3   1   0 wz--n- <5.99g <3.99g
[root@localhost lv01]# vgextend vg01 /dev/sdb5
  Volume group "vg01" successfully extended
[root@localhost lv01]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   4   1   0 wz--n- 7.98g 5.98g

image.png


第二種:通過擴展RAID設備的容量來間接對VG進行擴容,這是基於RAIDA設備做的LVM。

 需要注意是:raid設備大小變化後,需要調整PV的大小:

pvresize raid的設備名稱



LV的縮減操作

縮減操作需要離線處理

(1) 卸載文件系統

image.png

(2)縮減LV

image.png


(3)掛載查看

image.png

這是因爲xfs文件系統只支持增加,不支持減少。但是不是說xfs系統文件不能減少,只是縮減後需要格式化才能掛載上,但是這樣操作原來的數據就丟失了


image.png

image.png

image.png

在看掛載點,沒有任何數據。


如果是ext系統的話,不會出現這種結果

卸載掛載後

檢查磁盤:e2fsck -f /dev/vg01/lv01

縮減文件系統:resize2fs /dev/vg01/lv01

縮減LV: lvreduce -L 1G /dev/vg01/lv01

注:文件系統和LV縮減的大小必須保持一致,1G代表縮減到的大小



移除LVM

(1)卸載掛載

(2)移除LV

image.png

image.png

lvremove /dev/vg01/lv01

vgremove vg01

pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5

到此,LVM移除完成。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章