天天看點

linux-LVM講解

LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4核心上實作。LVM将一個或多個硬碟的分區在邏輯上集合,相當于一個大硬碟來使用,當硬碟的空間不夠使用的時候,可以繼續将其它的硬碟的分區加入其中,這樣可以實作磁盤空間的動态管理,相對于普通的磁盤分區有很大的靈活性。

與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理者可以更友善的為應用與使用者配置設定存儲空間。在LVM管理下的存儲卷可以按需要随時改變大小與移除(可能需對檔案系統工具進行更新)。LVM也允許按使用者組對存儲卷進行管理,允許管理者用更直覺的名稱(如"sales'、 'development')代替實體磁盤名(如'sda'、'sdb')來辨別存儲卷。

如圖所示LVM模型:

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004444929.jpg" target="_blank"></a>

由四個磁盤分區可以組成一個很大的空間,然後在這些空間上劃分一些邏輯分區,當一個邏輯分區的空間不夠用的時候,可以從剩餘空間上劃分一些空間給空間不夠用的分區使用。

前面談到,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三者關系:

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004465079.jpg" target="_blank"></a>

首先确定系統中是否安裝了lvm工具:

    [root@www root]# rpm –qa|grep lvm

    lvm-1.0.3-4

如果指令結果輸入類似于上例,那麼說明系統已經安裝了LVM管理工具;如果指令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載下傳或者從CD光牒裝LVM rpm工具包。

要建立一個LVM系統,一般需要經過以下步驟:

1、 建立分區

使用分區工具(如:fdisk等)建立LVM分區,方法和建立其他一般分區的方式是一樣的,差別僅僅是LVM的分區類型為8e。如下列圖所示:

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004484848.jpg" target="_blank"></a>

檢視磁盤分區表

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004509252.jpg" target="_blank"></a>

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

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004534843.jpg" target="_blank"></a>

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004563641.jpg" target="_blank"></a>

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

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221004581773.jpg" target="_blank"></a>

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221005028869.jpg" target="_blank"></a>

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/20120822100504830.jpg" target="_blank"></a>

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

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221005087959.jpg" target="_blank"></a>

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

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

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221005101075.jpg" target="_blank"></a>

将格式化後的LV分區挂載到指定的目錄下,就可以像普通目錄一樣存儲資料了

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221005156120.jpg" target="_blank"></a>

挂載之後,可以看到此LV的容量。

如果要在系統啟動的時候啟動LV,最好是将lvData寫入fstable 檔案中,如下所示:

<a href="http://images.cnblogs.com/cnblogs_com/gaojun/201208/201208221005216049.jpg" target="_blank"></a>

使用Vim編輯器,打開/etc/fstab,在最後一行添加如圖中所示,其中/dev/VolGroup00/lvData指定需要挂載的分區LV,/root/test指定要挂載的目錄(挂載點),ext3分區檔案系統格式,其它使用預設即可

一、首先建立一塊新的分區:

fdisk  /dev/hda

n     建立新分區

p或者e  選擇主分區或者擴充分區

l       檢視分區類型

t      8e   #分區類型8e表示LVM分區

w        #寫入分區表

partprobe   #重讀分區表

mkfs –t ext3 /dev/hda6 #格式化

partx /dev/hda #檢視目前硬碟的分區表及使用情況

二、建立PV,擴容VG,LV

pvcreate /dev/hda6

pvdisplay   檢視PV

vgcreate   VolGroup00 /dev/hda6   建立PV

vgdisplay #檢視目前已經存在的VG資訊,以存在VG:VolGrou-p00為例

#vgextend VolGroup00 /dev/hda6    #擴充VolGroup00

lvcreate -L 19.99G -n LogVol01 VolGrou-p00

lvdisplay #檢視已經存在的LV資訊,以存在LV:LogVol01為例

#lvextend –L 1G /dev/VolGroup00/LogVol01 #擴充LV

mkfs -t ext4 /dev/VolGroup00/LogVol01  格式化LVM

mount /dev/VolGroup00/LogVol01 /data 挂載,之後就可以使用

#resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對于目前正在使用的LogVol01有效

df –h #檢視挂載情況,已經擴容

本文轉自 轉身撞牆角 51CTO部落格,原文連結:http://blog.51cto.com/chentianwang/1707295