自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

彈性空間之道,Linux的邏輯卷管理技術

系統 Linux
我們從下往上簡要介紹一下LVM涉及的主要概念,希望大家能夠對LVM能夠有更加深入的理解。

基于硬盤構建的RAID通常提供固定大小的存儲空間。管理員在初期規(guī)劃的存儲空間很難適應業(yè)務的變化。如下圖所示,部署初期可能三個業(yè)務所需要的存儲空間大致相同,但隨著運營的進行,應用2突然變成比較火爆,存儲空間被快速使用,從而導致存儲資源不夠的風險。而應用1和應用3則不溫不火,存儲資源有很多浪費。

那么有沒有一種技術可以動態(tài)的調整存儲資源的大小,可以保證在業(yè)務需要數據量大的時候能夠擴容,業(yè)務需要數據量減小的時候可以進行縮容?通過存儲資源的動態(tài)調配,保證各個應用的存儲空間有一定的空閑率,這樣既保證了存儲資源利用率,又避免單個應用存儲資源耗盡的風險。

目前市面上的企業(yè)級存儲系統都是具備這個功能的,在存儲端稱為LUN的擴容與縮容。如果我們的業(yè)務沒有使用企業(yè)級存儲,那就要借助主機端的軟件來實現。在Linux操作系統中也有類似的功能,稱為邏輯卷管理技術(Logical Volume Manager,簡稱LVM)。

LVM的邏輯架構和原理都比較簡單,如下圖是LVM涉及的主要概念及相互關系。最底層是我們的存儲設備,通常是硬盤。當然,也可以是基于企業(yè)級存儲映射過來的LUN。如果想使用LVM的功能,首先需要基于硬盤創(chuàng)建的物理卷,然后基于物理卷來創(chuàng)建卷組,最后在卷組上創(chuàng)建邏輯卷。

創(chuàng)建物理卷的過程相當于對硬盤進行了一個簡單的格式化,此后,硬盤中會包含一些元數據信息,例如PE(Physical Extent)和UUID的信息?;谖锢砭砜梢詣?chuàng)建卷組,卷組可以理解為一個包含所有PE的大池子(Pool)。而后,在該卷組上就可以創(chuàng)建邏輯卷了,邏輯卷根據創(chuàng)建是的特性來使用卷組中的物理卷。組成邏輯卷的基本單元稱為LE(Logical Extent),LE與PE有一定的對應關系,具體關系與邏輯卷的類型有關,我們后面會詳細介紹。

基于上圖,我們從下往上簡要介紹一下LVM涉及的主要概念,希望大家能夠對LVM能夠有更加深入的理解。

  • 物理卷(Physical Volume, PV):物理卷構建在塊設備之上,這些塊設備可以是機械硬盤、SSD、硬盤分區(qū)或者RAID。物理卷其實是在塊設備上做了一個簡單的格式化,在塊設備的指定位置寫入了一些元數據信息(后文會詳細介紹這部分內容)。
  • 物理塊(Physical Extent, PE):物理卷被劃分為若干個物理塊,默認物理塊的大小是4MB。物理塊是LVM管理的最小數據單元。
  • 卷組(Volume Group, VG): 卷組是一個抽象層,可以理解為企業(yè)級存儲的存儲池的概念,
  • 邏輯卷(Logical Volume, LV):邏輯卷是提供給用戶使用的卷,邏輯卷提供一個連續(xù)的線性空間,邏輯卷的空間來自物理卷。
  • 邏輯塊(Logical Extent, LE): 邏輯塊是邏輯卷的最小組成單元,邏輯塊的大小在創(chuàng)建卷組時確定。任何一個邏輯卷都是由若干個邏輯塊構成。

創(chuàng)建一個簡單的邏輯卷

接下來我們實例來進一步理解一下上述概念,我們會通過創(chuàng)建不同類型的邏輯卷來理解上述關系。為了能夠實現上述操作,我們總共需要4塊硬盤,每個硬盤大小為1GB。大多數電腦可能不能滿足這個要求,我們可以通過虛擬機來完成操作實驗。

首先需要基于硬盤來創(chuàng)建物理卷,創(chuàng)建物理卷很簡單,我們可以通過如下命令創(chuàng)建一個物理卷。

pvcreate /dev/sdb

這里面我們沒有使用額外的選項,直接在一個硬盤上創(chuàng)建了一個物理卷,是不是很簡單!我們可以通過pvdisplay命令來看一下物理卷的詳細信息,具體如下圖所示??梢钥吹嚼锩姘琍E的大小、數量和剩余數量等信息,另外還包括一個UUID,這個UUID用于唯一表示這個物理卷。

我們這里一共準備了4塊硬盤, 分別在其他3塊硬盤(sdc、sdd和sde)執(zhí)行相同的命令即可。完成物理卷的創(chuàng)建后,我們就可以創(chuàng)建卷組了,執(zhí)行如下命令可以創(chuàng)建一個卷組。

vgcreate vg_test /dev/sdb /dev/sdc /dev/sdd /dev/sde

類似的,我們可以通過vgdisplay命令來查看卷組的詳細信息。由于沒有提供額外的參數,創(chuàng)建卷組命令使用的是默認參數。通過詳細信息可以看出PE的大小是4MB,卷組的大小是3.98GB。卷組的大小之所以不是4GB是因為元數據占用了部分空間。每個硬盤大小是1GB,因此有255個PE,整個卷組有1020個PE。

卷組創(chuàng)建成功后,我們再看一下物理卷的詳細信息。可以看到PE相關信息得到了更新。其中PE的大小是4MB,數量為255,而且包含所屬卷組的信息。

卷組創(chuàng)建成功后,我們就可以基于卷組來創(chuàng)建邏輯卷了。我們這里創(chuàng)建一個最簡單的邏輯卷---線性卷。線性卷中的LE與物理卷中的PE有一對一的線性對應關系。我們可以很容易的根據線性卷的偏移地址找到物理卷中的PE。如下命令是創(chuàng)建一個大小為100MB的線性卷。

lvcreate -L100 -n testlv vg_test

通過lvdisplay可以查看邏輯卷的詳細信息,可以看到該邏輯卷有25個LE。25個4MB的LE構成了邏輯卷100MB的邏輯空間。

完成邏輯卷的創(chuàng)建后,我們再看一下物理卷的詳細信息??梢钥吹絪db上使用了25個PE。消耗的PE的數量與邏輯卷的LE的數量是一致的,也就是說邏輯卷的LE與物理卷的PE有一一對應的關系。

在數據層面,此時邏輯卷的數據與物理卷的對應關系如下圖所示。邏輯卷的25個LE與物理卷sdb的前25個PE對應,位置也是一致的。有興趣的同學可以進一步做一些實驗,比如向邏輯卷0、4M和8M偏移的地方分別寫一些數據,然后在從物理卷對應的位置讀取數據,以判斷對應關系。需要注意的是,由于物理卷上有一些元數據,這些元數據會占用一些空間,所以PE的起始位置是1MB的地方,而非0。

對邏輯卷擴容

前文已述,邏輯卷的最重要的特性之一就是卷的容量可以動態(tài)調整。我們可以通過lvextend命令對邏輯卷擴容。通過下面命令可以將邏輯卷testlv擴容成200MB,此時該邏輯卷具有50LE,使用了50個PE。

lvextend --size 200 /dev/vg_test/testlv

大家可以再查看一下物理卷sdb的詳情,可以看到此時已分配的PE的數量變成了50。該命令不僅僅可以在原有的物理卷擴容,也可以指定目的物理卷,比如下面命令:

lvextend --size 200 /dev/vg_test/testlv /dev/sdc

此時,新增加的100MB的容量所對應的PE是在sdc上面。整個邏輯卷與兩個物理卷之間數據的對應關系如下圖所示。其中邏輯卷的綠色部分的LE在物理卷sdb上,紫色部分的LE在物理卷sdc上面。

LVM的其他操作

除了上述的線性卷外,LVM還有很多其他特性,比如鏡像卷、RAID卷和快照等特性。限于篇幅,本文不再一一贅述。這里以鏡像卷為例再深入介紹一下。為了驗證簡單,我們在接下來的操作之前將前面的邏輯卷刪除。

lvremove /dev/vg_test/testlv

接下來以鏡像卷為例再深入介紹一下LVM的相關內容。所謂鏡像卷,是指邏輯卷的數據會被同時放置到多個物理卷上。以兩個物理卷的鏡像卷為例,邏輯卷中的LE與物理卷PE之間的關系如下圖所示。比如LE0的數據會同時存儲在物理卷sdb的PE1和物理卷sdc的PE1上面。另外需要注意的是,LE0不一定對應著PE1,而是跟物理卷可以使用的PE相關。

我們實際操作一下,創(chuàng)建一個鏡像卷。具體操作非常簡單,命令如下所示:

lvcreate -L 100 -m1 -n m_lv vg_test /dev/sdb /dev/sdc

在上述命令中-L用于指定邏輯卷的大小,-m1表示創(chuàng)建一個鏡像卷,-n用于指定邏輯卷的名稱。后面跟的兩個物理卷表示鏡像卷將創(chuàng)建在著兩個物理卷上。創(chuàng)建完成后,我們可以通過lvdisplay命令查看一下鏡像卷的詳情。

通過上圖可以看出,邏輯卷占用的LE是25個,具備一個段(Segments)空間。大家可能會好奇,邏輯卷與物理卷的對應關系是怎么確定的?這部分內容我們后續(xù)會詳細介紹,這里暫時不做介紹。

我們通過pvdisplay再看一下物理卷的詳細信息,需要關注的是這里消耗的PE的數量是26,而非25。也就是說比邏輯卷的空間多使用了一個PE的空間。大家可以考慮一下為什么會多消耗一個PE。

至此,我們對LVM的做了一個簡要的介紹,包括LVM中涉及的主要概念,邏輯卷的擴容和邏輯卷與物理卷的映射關系等。后面我們會步步深入,介紹LVM的更多細節(jié)。

責任編輯:姜華 來源: 今日頭條
相關推薦

2017-12-25 09:50:46

Linux邏輯卷管理文件系統

2009-12-24 16:01:17

redhat Linu

2020-10-09 11:15:14

LinuxLVM邏輯卷管理

2022-10-12 13:58:27

研發(fā)管理職業(yè)發(fā)展

2017-08-11 13:50:49

云時代

2023-07-26 07:11:50

LVM底層抽象

2015-08-05 15:10:24

UbuntuLVM

2020-11-27 20:02:17

LVM邏輯卷管理器

2020-10-22 16:48:30

LinuxLVM邏輯卷調整

2021-06-04 09:23:44

LVM邏輯卷物理卷

2009-11-26 17:21:38

智能彈性架構技術

2009-10-10 15:26:11

資產管理

2022-04-15 07:51:36

Centos8遷移邏輯卷

2014-07-21 14:40:43

Android內存

2014-07-28 15:01:56

Android內存

2009-06-22 13:44:38

Porlet運維管理摩卡軟件

2022-03-07 00:43:11

網絡彈性數字資產

2010-05-24 13:13:25

Swap空間

2019-04-10 10:15:52

Linux邏輯卷文件系統

2015-06-30 11:06:05

云+云計算技術思維
點贊
收藏

51CTO技術棧公眾號