1. 程式人生 > >openstack儲存基礎:Linux LVM硬碟管理及LVM擴容

openstack儲存基礎:Linux LVM硬碟管理及LVM擴容

問題導讀 1.什麼是LVM?LVM的作用是什麼? 2.LVM基本術語包含哪些術語? 3.如何管理和建立LVM?

一、LVM簡介

LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4核心上實現。LVM將一個或多個硬碟的分割槽在邏輯上集合,相當於一個大硬碟來使用,當硬碟的空間不夠使用的時候,可以繼續將其它的硬碟的分割槽加入其中,這樣可以實現磁碟空間的動態管理,相對於普通的磁碟分割槽有很大的靈活性。
與傳統的磁碟與分割槽相比,LVM為計算機提供了更高層次的磁碟儲存。它使系統管理員可以更方便的為應用與使用者分配儲存空間。在LVM管理下的儲存卷可以按需要隨時改變大小與移除(可能需對檔案系統工具進行升級)。LVM也允許按使用者組對儲存捲進行管理,允許管理員用更直觀的名稱(如"sales'、 'development')代替物理磁碟名(如'sda'、'sdb')來標識儲存卷。
如圖所示LVM模型:

由四個磁碟分割槽可以組成一個很大的空間,然後在這些空間上劃分一些邏輯分割槽,當一個邏輯分割槽的空間不夠用的時候,可以從剩餘空間上劃分一些空間給空間不夠用的分割槽使用。 二、 LVM基本術語 前面談到,LVM是在磁碟分割槽和檔案系統之間新增的一個邏輯層,來為檔案系統遮蔽下層磁碟分割槽佈局,提供一個抽象的盤卷,在盤捲上建立檔案系統。首先我們討論以下幾個LVM術語:
物理儲存介質(The physical media):這裡指系統的儲存裝置:硬碟,如:/dev/hda1、/dev/sda等等,是儲存系統最低層的儲存單元。 物理卷(physical volume):物理卷就是指硬碟分割槽或從邏輯上與磁碟分割槽具有同樣功能的裝置(如RAID),是LVM的基本儲存邏輯塊,但和基本的物理儲存介質(如分割槽、磁碟等)比較,卻包含有與LVM相關的管理引數。 卷組(Volume Group):LVM卷組類似於非LVM系統中的物理硬碟,其由物理卷組成。可以在卷組上建立一個或多個“LVM分割槽”(邏輯卷),LVM卷組由一個或多個物理卷組成。 邏輯卷(logical volume):LVM的邏輯卷類似於非LVM系統中的硬碟分割槽,在邏輯卷之上可以建立檔案系統(比如/home或者/usr等)。 PE(physical extent):每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM定址的最小單元。PE的大小是可配置的,預設為4MB。 LE(logical extent):邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被定址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。
簡單來說就是:
PV:是物理的磁碟分割槽 VG:LVM中的物理的磁碟分割槽,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬碟。 LV:也就是從VG中劃分的邏輯分割槽
如下圖所示PV、VG、LV三者關係:
三、 安裝LVM 首先確定系統中是否安裝了lvm工具:
    [[email protected] root]# rpm –qa|grep lvm
    lvm-1.0.3-4
如果命令結果輸入類似於上例,那麼說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網路下載或者從光碟裝LVM rpm工具包。
四、 建立和管理LVM 要建立一個LVM系統,一般需要經過以下步驟:
1、 建立分割槽 使用分割槽工具(如:fdisk等)建立LVM分割槽,方法和建立其他一般分割槽的方式是一樣的,區別僅僅是LVM的分割槽型別為8e。如下列圖所示:

檢視磁碟分割槽表

使用fdisk建立分割槽,根據裝置檔案的絕對路徑(/dev/hda)進入分割槽管理

一定要指定分割槽的格式為8e,這是LVM的分割槽格式

2、 建立PV


3、 建立VG

建立完成VG之後,才能從VG中劃分一個LV。

4、 建立LV
建立了一個名字為lvData,容量大小是100M的分割槽,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示從這個VG中劃分LV;


5、LV格式化及掛載 下一步需要對LV進行格式化(使用mksf進行格式化操作),然後LV才能儲存資料
將格式化後的LV分割槽掛載到指定的目錄下,就可以像普通目錄一樣儲存資料了

掛載之後,可以看到此LV的容量。 如果要在系統啟動的時候啟動LV,最好是將lvData寫入fstable 檔案中,如下所示:

使用Vim編輯器,開啟/etc/fstab,在最後一行新增如圖中所示,其中/dev/VolGroup00/lvData指定需要掛載的分割槽LV,/root/test指定要掛載的目錄(掛載點),ext3分割槽檔案系統格式,其它使用預設即可。 擴容當前分割槽 一、首先建立一塊新的分割槽: fdisk  /dev/hda n l        #選擇邏輯分割槽,如果沒有,則首先建立擴充套件分割槽,然後再新增邏輯分割槽(硬碟:最多四個分割槽P-P-P-P或P-P-P-E) 6        #分割槽號(從5開始),/dev/hda6 t      8e   #分割槽型別8e表示LVM分割槽 w        #寫入分割槽表 partprobe   #重讀分割槽表 mkfs –t ext3 /dev/hda6 #格式化 partx /dev/hda #檢視當前硬碟的分割槽表及使用情況 二、建立PV,擴容VG,LV pvcreate /dev/hda6 vgdisplay #檢視當前已經存在的VG資訊,以存在VG:VolGroup00為例 vgextend VolGroup00 /dev/hda6    #擴充套件VolGroup00 lvdisplay #檢視已經存在的LV資訊,以存在LV:LogVol01為例 lvextend –L 1G /dev/VolGroup00/LogVol01 #擴充套件LV resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對於當前正在使用的LogVol01有效 df –h #檢視掛載情況,已經擴容

轉自:http://www.aboutyun.com/thread-11683-1-1.html