LVM邏輯卷

因爲傳統的磁盤管理不能對磁盤進行磁盤管理,所以誕生了LVM技術,LVM技術最大的特色就是對磁盤進行動態管理。因爲LVM的邏輯卷的大小更改能夠進行動態調整,且不會出現丟失數據的狀況。linux

 

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

 

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



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


image.png


  • 邏輯卷管理概念定義:測試

image.png

image.png

主要命令spa

image.png


實驗環境:操作系統

VMware Workstation Pro3d

image.png


image.png

image.png

image.png

image.png

image.png

image.png

image.png

先添加一塊硬盤作如下實驗使用。orm


---blog

劃分磁盤分區:

查看系統是否識別新添加的硬盤      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 Name PV名字
VG Name 隸屬的VG名字
PV Size PV的大小
Allocatable 是否可分配
PE Size 每一個PE的大小
Total PE PE的數量
  Free PE 剩餘的PE
 Allocated PE 可分配的PE
 PV UUID PV的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移除完成。

相關文章
相關標籤/搜索