天天看點

Linux對邏輯卷的建立與管理

LVM(Logicl Volume Manager),邏輯卷管理器,通過使用邏輯卷管理器對硬碟儲存設備進行管理,可以實作硬碟空間的動态劃分和調整。

一、 基本概念

1、 實體卷-----PV(Physical Volume)

實體卷在邏輯卷管理中處于最底層,它可以是實際實體硬碟上的分區,也可以是整個實體硬碟。

2、 卷組--------VG(Volumne Group)

卷組建立在實體卷之上,一個卷組中至少要包括一個實體卷,在卷組建立之後可動态添加實體卷到卷組中。一個邏輯卷管理系統工程中可以隻有一個卷組,也可以擁有多個卷組。

3、 邏輯卷-----LV(Logical Volume)

邏輯卷建立在卷組之上,卷組中的未配置設定空間可以用于建立新的邏輯卷,邏輯卷建立後可以動态地擴充和縮小空間。系統中的多個邏輯卷要以屬于同一個卷組,也可以屬于不同的多個卷組。

4、 實體區域--PE(Physical Extent)

實體區域是實體卷中可用于配置設定的最小存儲單元,實體區域的大小可根據實際情況在建立實體卷時指定。實體區域大小一旦确定将不能更改,同一卷組中的所有實體卷的實體區域大小需要一緻。

5、 邏輯區域—LE(Logical Extent)

邏輯區域是邏輯卷中可用于配置設定的最小存儲單元,邏輯區域的大小取決于邏輯卷所在卷組中的實體區域的大小。

6、 卷組描述區域-----(Volume Group Descriptor Area)

卷組描述區域存在于每個實體卷中,用于描述實體卷本身、實體卷所屬卷組、卷組中的邏輯卷及邏輯卷中實體區域的配置設定等所有資訊,卷組描述區域是在使用pvcreate建立實體卷時建立的。

二、 LVM的一般操作過程

1、 在磁盤分區上建立實體卷

#fdisk /dev/hdb

#pvdisplay /dev/hdb1 //在已經建立好的分區或硬碟上建立實體卷

#pvcreate /dev/hdb1

2、 使用實體卷建立卷組

#vgcreate myVG /dev/hdb1 //建立卷組,日後可以根據需要添加新的實體卷到已有卷組中

3、 在卷組中建立邏輯卷

#lvcreate –L 10M –n myLV1 myVG //從已有卷組建立邏輯卷,通常隻配置設定部分空間給該邏//輯卷

4、 在邏輯卷上建立檔案系統

5、 将檔案系統挂載到Linux系統的目錄樹中

6、 在卷組中添加新的實體卷

當卷組中沒有足夠的空間配置設定給邏輯卷時,可以使用vgextend指令添加新的實體卷到該卷組中,來擴充卷組容量。在一引起特殊的情況下也可以把卷組中現有的實體卷移出卷組。

#vgextend myVG /dev/hdb2

7、 擴充邏輯卷的容量

當邏輯卷的空間不能滿足需要時,可以使用lvextend指令把卷組中的空閑空間配置設定到該邏輯卷以擴充邏輯卷的容量。在邏輯卷的空閑空間過大時,也可以使用lvreduce指令縮減邏輯卷的容量。這樣就實作了邏輯卷容量的動态調整。

#lvextend –L +4M /dev/myVG/myLV

8、 調整邏輯卷中檔案系統的大小

三、 常用指令

1、 實體卷指令

一般維護指令:

#pvscan //在系統的所有磁盤中搜尋已存在的實體卷

#pvdisplay 實體卷全路徑名稱 //用于顯示指定實體卷的屬性。

#pvdata 實體卷全路徑名稱 //用于顯示實體卷的卷組描述區域資訊,用于調試目的。

#pvchange –x|--allocation {y|n} 實體卷全路徑名 //用于改變實體卷的配置設定許可設定

實體卷的建立與删除指令

#pvcreate 裝置全路徑名 //用于在磁盤或磁盤分區上建立實體卷初始化資訊,以便對

//該實體卷進行邏輯卷管理。

#pvmove 源實體卷全路徑我[目的實體卷全路徑名] //用于把某實體卷中的資料轉

//移到同卷組中其他的特刊卷中。

2、 卷組指令

一般維護指令

#vgscan //檢測系統中所有磁盤

#vgck [卷組名] //用于檢查卷組中卷組描述區域資訊的一緻性。

#vgdisplay [卷組名] //顯示卷組的屬性資訊

#vgrename 原卷組名 新卷組名

#vgchange -a y|n [卷組名] //改變卷組的相應屬性。是否可配置設定

#vgchange -l 最大邏輯卷數 //卷組可容納最大邏輯卷數

#vgchange -x y|n [卷組名] //卷是否有效

#vgmknodes [卷組名|卷組路徑] //用于建立(重建立立)已有卷組目錄和其中的裝置文

//件

卷組配置的備份與恢複指令

#vgcfgbackup [卷組名] //把卷組中的VGDA資訊備份到“/etc/lvmconf”目錄中的檔案

#vgcfgrestore -n 卷組名 實體卷全路命名 //從備份檔案中必得指定實體卷的資訊

卷組的建立與删除指令

#vgcreate 卷組名 實體卷全路徑名[實體卷全路徑名]

#vgmove 卷組名

卷組的擴充與縮小指令

#vgextend 卷組名 實體卷全路徑名[實體卷全路徑名]

#vgreduce 卷組名 實體卷全路徑名[實體卷全路徑名]

卷組的合并與拆分

#vgmerge 目的卷組名 源卷組名 //合并兩個已經存在的卷組,要求兩個卷組的實體

//區域大小相等且源卷組是非活動的。

#vgsplit 現有卷組 新卷組 實體卷全路徑名[實體卷全路徑名]

卷組的輸入與輸出指令

#vgexport 卷組名

#vgimport 卷組名 卷組中的實體卷[卷組中的實體卷]

3、 邏輯卷指令

一般指令

#lvscan

#lvdisplay 邏輯卷全路徑名[邏輯卷全路徑名]

#lvrename 舊邏輯卷全路徑名 新邏輯卷全路徑名

#lvrename 卷組名 舊邏輯卷名 新邏輯卷名

#lvchange

#e2fsadm -L +|- 邏輯卷增減量 邏輯卷全路徑名

邏輯卷的建立與删除指令

#lvcreate

#lvremove

邏輯卷的擴充與縮小指令

#lvextend -L|--size +邏輯卷大小增量 邏輯卷全路徑名

#lvreduce q -L|--size +邏輯卷減小量 邏輯卷全路徑名

4、 邏輯卷管理指令

#lvmdiskscan //檢測所有的SCSI、IDE等儲存設備

#lvmchange -R|--reset //複位邏輯卷管理器

#lvmsadc [日志檔案全路徑名] //收信邏輯卷管理器讀寫統計資訊,儲存到日志文

//件中。

#lvmsar 日志檔案全路徑名 //從lvmsadc指令生成的日志檔案中讀取并報告邏輯卷

//管理器的讀寫統計資訊。

如果有什麼問題,可與我聯系: [email protected]    

繼續閱讀