LVM邏輯盤卷管理

LVM邏輯盤卷管理

LVM是邏輯盤卷管理的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。它的機制就是將多個塊設備連接爲一個整塊的卷組(volumegroup),形成一個存儲池。然後,在這個卷組上創建邏輯卷(logicalvolumes),並進一步在邏輯捲上創建文件系統。

當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對於普通的磁盤分區有很大的靈活性。


160003455.jpg

物理卷(physicalvolume):指磁盤分區或與磁盤分區有同樣功能的設備(如RAID)。創建物理卷時磁盤類型需要是8e。如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。創建物理卷的時候不可以直接格式化!

卷組(volumegroup):就是將多個物理卷組合起來,邏輯上成爲一塊硬盤。它的大小有物理卷大小和多少決定,且至少要有一個物理卷。

邏輯卷(logicalvolume):在卷組上創建,可以在創建的邏輯捲上建立文件系統。類似與磁盤分區。不同的是邏輯卷的邊界可以隨意擴展或縮小。

PE(PhysicalExtents):在創建卷組時底層指定的一個存儲單位,借鑑Oracle的表述方式就叫做物理盤區(物理擴展),所以我們在劃分一個邏輯卷時就是分配多少個PE來決定的,PE的大小是由卷組決定的,PE的大小也是可配置的(下面會闡述),默認爲4MB。


LE(LogicalExtents):當PE被分配到一個邏輯卷之後就被稱作是LE,也就是說,把邏輯卷劃分爲被稱爲LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。


快照(Snapshot):邏輯卷也支持快照,LVM快照通過把文件系統的改變記錄到一個快照分區,而不是對這個分區做鏡像(也就是保留過去某一刻的狀態)。因此當你創建一個快照分區時,你不需要使用和你正創建快照的分區一樣大小的分區,而是在做快照過程中需要改變的大小。這取決於有多少數據正在寫入分區和你希望保留LVM快照多長時間。你保留的時間越長,在文件系統的的改變越多,更多的快照分區就會被填充改變的信息。在分區上的改變率越高,快照的平均生命期越短。如果一個LVM分區的改變量超過了快照的大小,那麼快照就會被釋放。簡單說就是:快照中什麼都沒有它只是一個訪問原文件的通路。(如圖所示)有了快照之後我們對數據的備份就會非常的簡單方便。

211750748.png

    其創建過程是:先將物理設備做成物理卷,然後將物理卷組合起來形成卷組,最後在卷組上創建邏輯卷。而我們使用的就是邏輯卷。

硬盤分區類型

硬盤有4種分區形式,分別是主分區、擴展分區、邏輯分區和活動分區。下面分別對它們進行介紹。

  1. 主分區

    主分區是用於安裝操作系統的分區,其中包含操作系統啓動時所必需的文件和數據,系統啓動

  2. 時必須通過它才能啓動。要在硬盤上安裝操作系統,該硬盤上至少要有一個主分區,並且設爲

  3. 活動分區來引導啓動系統。一個硬盤最多隻能劃分4個主分區。

  4. 擴展分區

    擴展分區是用戶在創建4個以上的分區時使用的分區類型,擴展分區是不能直接用來存儲數據

  5. 的,而只是用於劃分邏輯分區。擴展分區下可以包含多個邏輯分區,可以爲其邏輯分區進行高

  6. 級格式化,併爲其分配驅動器號。例如,當用戶想爲硬盤創建5個分區時,如果都將其創建爲主

  7. 分區,系統只能認出4個,這不能滿足我們的需求。此時,就可以創建3個主分區,再創建一個

  8. 擴展分區,然後在擴展分區下創建2個邏輯分區。

  9. 邏輯分區

    邏輯分區是從擴展分區劃分出來的,主要用於存儲數據。在擴展分區中最多可以創建23個邏輯

  10. 分區,各邏輯分區可以獲得唯一的由D到Z的盤符。

  11. 活動分區

    活動分區是用於加載系統啓動信息的分區。主分區需要激活爲活動分區後,才能正常地啓動操

  12. 作系統。如果硬盤中沒有一個主分區被設置爲活動分區,則該硬盤將無法正常啓動。

硬盤分區格式

硬盤分區格式也就是文件系統格式。文件系統格式是操作系統用於明確磁盤或分區上文件

的方法和數據結構,不同的分區格式採用不同的文件管理機制來存儲和讀取文件數據,而

不同的操作系統則需要不同的文件系統格式的支持。

目前常用的分區格式主要有3種,即FAT16格式、FAT32格式和NTFS格式,下面分別對

它們進行介紹。

  1. FAT16格式

    FAT16格式是MS-DOS和早期的Windows 95操作系統中使用的磁盤分區格式,它採用16位的文件分

  2. 配表,也稱爲FAT格式。FAT16對現在的操作系統已經不再適用。

  3. FAT32格式

    FAT32格式採用32位的文件分配表,對磁盤的管理能力較強,支持Windows XP和其之前的部分

  4. Windows 操作系統。

  5. NTFS格式

    NTFS是一種特別爲磁盤配額、文件加密和網絡應用等管理安全特性而設計的硬盤分區格式。其

  6. 優點是安全性和穩定性方面非常好,在使用過程中不易產生文件碎片,並能對用戶的操作進行

  7. 記錄,通過對用戶權限進行非常嚴格的限制,使每個用戶只能按照系統賦予的權限進行操作,

  8. 充分保護了系統和數據的安全,如果要安裝Windows 7或Windows 8必須採用NTFS格式。

簡單的實現一個LVM邏輯卷實現過程:

1、創建分區

   首先創建磁盤分區,這裏使用SCSI硬盤,並且系統已經有了三個主分區,那麼我們只能創建擴展分區,並在擴展分區上創建邏輯分區了。我使用fdisk工具進行分區。

#fdisk /dev/sda

   注意的是分區類型必須是8e,否則無法支持LVM邏輯卷的使用。分區完最好輸入p查看下創建好的分區以及類型,最後保存退出。這裏我創建了/dev/sda5和/dev/sda6兩個邏輯分區,大小分別是7G和3G。

 2、創建物理卷

   命令是pvcreate,我們可以將上面所創建的兩個分區創建爲物理卷,也可以先只將一個分區創建爲物理卷。

   #pvcreate /dev/sda5 /dev/sda6

 3、創建卷組

   命令是vgcreate,將上面創建的兩個物理卷創建爲一個卷組

#vgcreate myvg /dev/sda5 /dev/sda6

注意:

   myvg是指定創建的卷組的邏輯名,可以隨意的設定。後面就是將創建的物理卷添加到卷組中,這裏我們也可以只將一個物理卷添加到卷組中,等想再添加另一個物理卷的時候再添加。需要注意PE(默認是4M)這個概念,它表示卷組上創建的所有邏輯卷都以4MB爲增量單位來進行擴充或縮減。PE大小決定了邏輯卷的最大大小,4MB的PE決定了單個邏輯卷最大容量爲256GB,若希望使用大於256G的邏輯卷則創建卷組時指定更大的PE。PE大小範圍爲8KB到512MB,並且必須總是2的倍數。如果想指定PE大小只需要添加-s選項,指定PE大小就行了,列:

#vgcreate -s 16M myvg /dev/sda5 /dev/sda6。這裏指定PE大小爲16M。

4、激活卷組

   爲了立即使用卷組而不用重啓系統,可以使用vgchange命令來激活卷組

#vgchage -ay myvg

5、創建邏輯卷

   創建邏輯卷的命令是lvcreate,我們在myvg卷組上創建一個6G大小的邏輯卷,

   -L來指定邏輯卷的大小;-n指定邏輯卷的名稱

#lvcreate -L 6G -n mylv myvg

6、格式化邏輯卷分區

   這裏我使用的是ext3格式的文件系統

   #mke2fs -j /dev/myvg/mylv

   創建掛載點來掛在創建好的邏輯卷分區

  #mkdir /mylv

   #mount /dev/myvg/mylv /mylv

擴展一下內容

1、爲卷組添加新的物理卷

   當我們又創建了新的物理卷的時候,想要添加到myvg卷組中時,需要使用vgextend這個命令了。

#vgextend -t myvg /dev/sda7       #先測試是否可以添加物理卷

#vgextend myvg /dev/sda7

   這裏/dev/sda7表示我們創建的新的物理卷

   2、從卷組中刪除物理卷

   要從一個卷組中刪除一個物理卷,首先要確認要刪除的物理卷沒有被任何邏輯卷使用,這時我們就要使用pvdisplay命令察看一個物理卷信息:

   如果某個物理卷正在被邏輯卷所使用,就需要將該物理卷的數據備份到其他地方,然後再刪除。刪除物理卷的命令爲vgreduce:

  #vgreduce myvg /dev/sda7   這裏爲了簡單說明,就將新添加的/dev/sda7從卷組中刪除

附註:

   如果我們創建的卷組包含兩個物理卷,一個7G(/dev/sda5),一個3G(/dev/sda6),而我們LV上面已經有6G的數據了,這樣我們就不能將/dev/sda5給移除了,因爲移除/dev/sda5必然會損壞數據。而且我們不能確定數據是不是都在/dev/sda5上面,也不能貿然移除/dev/sda6。如果需要移除/dev/sda6的話,應該先將/dev/sda6上面的數據移到同卷組的其他物理捲上,然後再移除/dev/sda6。這就需要使用pvmove這個命令了,步驟如下

 #pvmove /dev/sda6    #不需要指定將數據移動到那兒個磁盤上,它會自動將數據移動到同組的物理捲上

 #vgreduce myvg /dev/sda6  將物理卷6刪除

3、刪除邏輯卷

   刪除邏輯卷時,要先將其卸載,然後才能刪除,這裏我們爲了簡單說明就將上面新建的邏輯卷作爲例子

   #umount /dev/myvg/mylv

   #lvremove /dev/myvg/mylv

   Do you really want to remove active logical volume mydata? [y/n]:y

4、擴展邏輯卷大小

   擴展邏輯卷大小的命令是lvextend,上面我們創建邏輯卷的時候還剩4G容量,那麼我們就爲其再添加2G容量的步驟如下

   #lvextend –L 8G /dev/myvg/mylv

   或者這樣增加這1G容量

   #lvextend –L +2G /dev/myvg/mylv

   增加邏輯卷的容量以後,我們的物理邊界擴展了,此時查看邏輯卷的大小並沒有改變,因爲邏輯邊界沒有擴展。所以我們就需要擴展邏輯卷的邏輯邊界了,命令如下

#resize2fs /dev/myvg/mylv              #這裏不用跟調整的大小,會自動擴展到擴展的物理邊界

   5、減小邏輯卷的大小

需要先將文件系統卸載了。需要注意的是,在縮減的時候我們的數據文件可能會受到影響,所以一般不建議縮減邏輯卷大小。這裏我們使用的大小是添加過1G後的邏輯卷的大小,我們將其縮減爲5G的大小。步驟如下

#umount /dev/myvg/mylv

#e2fsck –f /dev/myvg/mylv            #強行檢測邏輯卷

#resize2fs /dev/myvg/mylv 5G          #調整邏輯卷的大小

#lvreduce –L 5G /dev/myvg/mylv       #縮減邏輯卷的大小

或者

(#lvreduce –L -2G /dev/myvg/mylv)

#mount /dev/myvg/mylv /mylv

#df –lh                              #查看各個磁盤的大小

說明:在我們縮減的時候需要先用e2fsck命令強行檢測下邏輯卷,然後用resize2fs命令調整邏輯卷的大小,最後用lvreduce來減小邏輯卷大小。


常用命令的簡單介紹:

1、物理卷相關命令

   pvcreate             #創建物理卷

   pvremove             #移除物理卷

   pvmove               #移動物理卷的數據

   pvscan               #掃描物理卷

   pvdisplay            #查看物理卷的信息

   例如:

   #pvdisply            #查看所有的物理卷信息

   #pvdisply /dev/sda5 #只查看特定的物理卷的信息

   pvs                  #簡單查看物理卷的信息

   2、卷組相關命令

   vgcreate      #創建卷組

     -s :指定PE大小,默認PE大小是4M

   vgdisplay     #查看卷組的信息

   vgextend      #擴展卷組大小

     -t :檢測制定物理卷是否可以添加進來

   vgreduce      #縮減卷組大小

     -t :檢測指定物理卷是否可以移除出去

   vgscan        #掃描卷組

   vgs           #查看卷組的簡單信息

   3、邏輯卷相關命令

   lvcreate      #創建邏輯卷

     -L :指定創建邏輯卷的大小

     -n :指定邏輯卷的名稱

   lvdisplay     #查看邏輯卷的信息

   lvremove      #移除邏輯卷

   lvreduce      #縮減邏輯卷大小

   lvextend      #擴展邏輯卷大小

   lvs           #簡單查看邏輯卷的信息


二、創建學習篇

首先創建PV,然後將PV組合成VG,最後將VG劃分爲LV。

1、創建分區

使用分區工具(如:fdisk等)創建LVM分區,注意LVM的分區類型爲8e

使用fdisk創建分區,根據設備文件的絕對路徑(/dev/sda)進入分區管理

211833676.png

211909966.png

注:一定要指定分區的格式爲8e,這是LVM的分區格式

212019727.png

2、創建物理卷(PV)

格式:pvcreate  設備名稱

212038655.png

查看結果

格式:pvdisplay  設備名稱

212143689.png

格式:pvs

212206851.png

3、創建卷組(VG)

格式:vgcreate VGNAME PV名稱 …

212229719.png

vgcreate –s PE 可以指定PE大小

212245915.png

查看結果:

格式:vgdisplay  設備名稱

212316379.png

格式:vgs

212328692.png

4、創建邏輯卷(LV)

格式:lvcreate –L SIZE –n LV_NAME VG_NAME

212346344.png

(說明:-L指定邏輯卷的大小,-n指定邏輯卷名稱卷組名稱 –l指定PE的個數)

查看結果:

格式:lvdisplay

212402322.png

格式:lvs

212417194.png


5、LV格式化及掛載

下一步需要對LV進行格式化(使用mke2fs進行格式化操作),然後LV才能存儲資料

212441549.png

212615811.png

212703702.png

:邏輯卷的設備文件路徑:/dev/VG_NAME/LV_NAME

/dev/mapper/VG_NAME-LV_NAME


三、管理學習篇

1、擴展VG

首先準備好一個PV,然後使用vgextend命令即可完成擴展;

命令格式:vgextend VG_NAME /PATH/TO/PV

212727774.png


2、縮減VG

首先確定要移除的PV,然後將此PV上的數據轉移至其他PV,最後從卷組中將此PV移除;

命令格式:

  • 移動數據:pvmore 盤區到盤區

212827199.png

  • 移除VG:vgreduce VG_NAME /PATH/TO/PV

213022663.png

注:在移除物理卷之前一定要把數據轉移到其他盤區上


3、刪除PV

命令格式:pvremove

213044254.png


4、擴展邏輯卷

首先確定擴展多大?然後確定當前邏輯卷所在的卷組有足夠的空間可用,最後進行擴展:方法:

一:擴展物理邊界:lvextend-L [+]SIZE /path/to/lv

213114403.png

(注:“+”可省的,其中有“+”表示擴展了,無“+”表示擴展了)


二:擴展邏輯邊界:resize2fs/path/to/device

213136729.png


5、縮減邏輯卷

由於邏輯卷的縮減有風險,所以第一步要確定縮減爲多大?也就是說至少能容納原有的數據,第二步進行縮減;縮減需要三步:

a)、卸載並強行檢測文件系統

命令:e2fsck –f

213305881.png

213204189.png

b)、邏輯邊界

命令:resize2fs/path/to/device SIZE

213401485.png

c)、物理邊界

命令:lvextend -L [+/-]SIZE /path/to/lv

d)、查看結果

213730917.png

213809764.png


6、快照卷(只是做原件的通路,不能修改,不能寫入)

lvcreate

-s :指定快照卷;

-p r:限定快照卷爲只讀訪問的;

格式: lvcreate -L SIZE-s -p r -n LV_NAME /path/to/lv

213841311.png

213910899.png

213938423.png

214038679.png

214053171.png


7、利用LV的快照功能還原系統

#lvcreate -L 50M -s -p r -n mylv-snap /dev/myvg/mylv【創建快照mylv-snap】

#mount -o ro /dev/myvg/mylv-snap /media【掛載快照】

#tar -jcv -f /backup/lvm.tar.bz2 /media/*        【備份快照數據】

#umount /media

#lvremove  /dev/myvg/mylv-snap

對/dev/myvg/mylv裏面的數據進行隨意修改.......


還原:

#tar -jxv -f  /backup/lvm.tar.bz2  -C /mnt【將快照備份的數據還原到lvm當中】


8、移除邏輯卷和快照卷

首先要確定已經卸載過了邏輯卷

格式:lvremove /path/to/lv

214114583.png


9、移除卷組

格式: vgremove/path/to/lv

214130349.png


總結:LVM邏輯卷是Linux裏面一個很棒的空間使用機制,因爲分區在沒有格式化的情況下是沒有辦法加大或者放小的。通過LVM可以將你的磁盤空間做到靈活自如。



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