Linux 系統 LVM(Logical Volume Manager)邏輯卷管理

張衝andy發表於2017-08-19

一.前言

每個Linux使用者在安裝Linux時都會遇到這樣的困境:在為時,如何精確評估和分配各個硬碟的容量,因為員不但要考慮到 當前某個分割槽需要的容量,還要預見該分割槽以後可能需要的容量的最大值。因為如果估計不準確,當遇到某個分割槽不夠用時員可能甚至要備份整個系統、清除硬 盤、重新對硬碟分割槽,然後恢復資料到新分割槽。

雖然現在有很多動態調整磁碟的工具可以使用,例如PartationMagic等等,但是它並不能完全解決問題,因為某個分割槽可能會再次被耗盡;另 外一個方面這需要重新引導系統才能實現,對於很多關鍵的伺服器,停機是不可接受的,而且對於新增新硬碟,希望一個能跨越多個硬碟驅動器的檔案系統時,分割槽 調整程式就不能解決問題。

因此完美的解決方法應該是在零停機前提下可以自如對檔案系統的大小進行調整,可以方便實現檔案系統跨越不同磁碟和分割槽。幸運的是Linux提供的邏輯盤卷管理(LVM,LogicalVolumeManager)機制就是一個完美的解決方案。

LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁碟分割槽進行管理的一種機制,LVM是建立在硬 盤和分割槽之上的一個邏輯層,來提高磁碟分割槽管理的靈活性。透過LVM系統管理員可以輕鬆管理磁碟分割槽,如:將若干個磁碟分割槽連線為一個整塊的卷組 (volumegroup),形成一個儲存池。管理員可以在卷組上隨意建立邏輯卷組(logicalvolumes),並進一步在邏輯卷組上建立檔案系 統。管理員透過LVM可以方便的調整儲存卷組的大小,並且可以對磁碟儲存按照組的方式進行命名、管理和分配,例如按照使用用途進行定義: “development”和“sales”,而不是使用物理磁碟名“sda”和“sdb”。而且當系統新增了新的磁碟,透過LVM管理員就不必將磁碟的 檔案移動到新的磁碟上以充分利用新的儲存空間,而是直接擴充套件檔案系統跨越磁碟即可。

 

二.LVM簡介

LVM(Logical Volume Manager,邏輯卷管理器)是一種把硬碟驅動器空間分配成邏輯卷的方法,使硬碟不必使用分割槽也能被簡單地重新劃分大小。傳統上,一個分割槽大小是靜態 的。假如一個使用者在這個分割槽上沒有空間時,他要麼重新分割槽(這可能要求整個作業系統重灌),要麼像符號連結一樣使用組裝機。使用LVM,硬碟驅動器或硬碟 驅動器集合就會分配給一個或多個物理卷(Physical Volume)。物理卷被合併成邏輯卷組(Logical Volume Group),唯一例外的是/boot分割槽。由於物理卷無法跨越一個以上驅動器,如果想讓邏輯卷組跨越一個以上驅動器,就應該在驅動器上建立一個或多個物 理卷。邏輯卷組被分成邏輯卷,被分配了掛載點(如/home 和/),以及檔案系統型別(如ext3)。當“分割槽”達到了它們的極限時,邏輯卷組中的空閒空間就可以被新增給邏輯捲來增加分割槽的大小。當某個新的硬碟驅 動器被新增到系統上後,它也可以被新增到邏輯卷組中,邏輯卷是可以擴充套件的分割槽。由於LVM允許在機器的物理儲存資源以外建立邏輯卷,並且邏輯卷組中,邏輯 卷是可以擴充套件分割槽。由於LVM允許在機器的物理儲存資源以外建立邏輯卷,並且邏輯卷可以在系統仍處於執行狀態時擴充和縮減,所以就為Linux系統管理員 提供了他們夢寐以求的儲存器靈活性。

LVM的作用:LVM的實際運作情形則根據做法不同而有所差異。但LVM通常包括實體儲存分群(Physical Storage Grouping)、重設邏輯扇區大小(Logical Volume Resizing),以及資料轉移(Data Migrating)。

 

三.為什麼使用LVM

對於Linux使用者而言,在安裝一臺Linux機器的時候,遇到的問題之一就是給各分割槽估計和分派足夠的硬碟空間。無論對一個正在為伺服器尋找空間的系統管理員,還是對一個磁碟即將用盡的普通使用者來說,這都是一個非常常見的問題。一般我們會想到解決的方法是:

掛接一個新的硬碟,然後使用符號連結,連結到新的硬碟。利用一些調整分割槽大小的工具進行無損傷資料分割槽。

但是,這些都只是暫時性的解決辦法,而且都需要讓機器停止執行或者持續很長時間的分割槽工作導致而不能正常提供服務。即使緩解了硬碟空間問題,不久,仍然會面臨同樣的問題。

對於一個大型站點來說,有著數量眾多的客戶,又連線在網際網路上,伺服器關機一分鐘,都會給公司帶來很大損失。此外,使用這種方法,在修改了分割槽表之後,每一次都得重新啟動系統。採用新技術LVM(邏輯卷管理程式)可以幫助我們解決這些問題。

 

四.LVM的歷史

當然,LVM並不是最新技術,早在UNIX作業系統時代,在像HP、IBM AIX上就可以看到VM的身影,作為IBM的旗艦產品,AIX很早就支援了動態邏輯分割槽(DVM),當然,它的DVM設計是比較厲害的,此後在AIX 5L中,重構了UNIX核心,增加了邏輯卷管理(LVM)和日誌檔案系統(JFS)等功能。使之AIX更加強大。在各種商業UNIX系統中,譬如AIX、 HP-UNIX、Tru64 UNIX等系統中,邏輯卷管理已經被廣泛採用,成為了事實上的一個標準。

LVM的功能於2.3核心發展中版本納入支援。2001年1月,Linux2.4.0核心釋出,開始正式支援邏輯卷管理,使得Linux新核心更適 應伺服器的應用。以前版本的Linux必須要在核心上打上相應的補丁才到實現LVM功能。現在,我們看到從Redhat Linux 9.0開始已經在核心級支援LVM。因此,我們可以使用LVM幫助我們更加有效地管理磁碟。要注意的是LVM有兩個版本,分別是LVM 1與LVM 2,相關工具與設定方式會有些差異性,本文都會使用LVM 2的環境介紹使用。LVM 1只能在2.4核心上工作。當執行2.6核心時,不能使用LVM 1。 關於更多關於LVM 2的資訊,請參閱/usr/share/doc/lvm2*/WHATS_NEW。一個完整的LVM 2命令被安裝在/usr/sbin/下。在/usr/無效的啟動環境中,每個命令前需要加上/sbin/lvm.static(例如,/sbin /lvm.static vgchange -ay)。在/usr有效的環境中,不再需要在每個命令前加上lvm(例如,/usr/sbin/lvm vgchage –ay變為/usr/sbin/vgchange -ay)。新的LVM2命令(例如,/usr/sbin/vgchange –ay和/sbin/lvm.static vgchange –ay)會檢測你是否在執行2.4核心。如果是,它會呼叫舊的LVM 1命令。

 

五.LVM結構和分類

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁碟分割槽進行管理的一種機制,它將多個物理分割槽匯聚為一個卷組(Volume Group),而且這些物理卷的大小可以不相同,甚至型別也可以不同(如SCSI、SATA磁碟)。組成的卷組就像一塊大硬碟,然後再從中分割出一塊一塊 的邏輯卷(Logical Volume),並進一步在邏輯卷組上建立檔案系統,如下圖所示。

 

LVM最大的優點是不同去考慮物理磁碟的特徵,中間構架了一層“絕緣層”,或者以現代名詞,叫做服務層,提供磁碟空間服務。如果沒有這個中間層,必 然存在物理磁碟大小的限制,這是不可克服的事實,在這個磁碟上進行的分割槽,必然受到物理條件制約,儲存資料很不方便。在一臺計算機只有一個100MB磁碟 的年代,這並不是大問題,LVM設計之初,就認識到了人類懶惰的本質,在效能、可管理性、相容、功能支援等方面,實現了很好的平衡。

LVM支援兩種模式的邏輯卷,如下圖所示。一種是串連模式(Concatenation)另一種是條塊模式(Striping),系統預設是串連模 式。這兩種模式有什麼區別呢?比如,有兩塊IDE介面的30GB硬碟/dev/hdb、/dev/hdc,它們共同組成了一個卷組vg1,在此卷組上建立 了個40GB的邏輯卷lv1。如果這個邏輯卷是串連模式,資料在兩塊硬碟上將順序存放,只有當一塊硬碟存滿之後才去使用另一塊硬碟。如果這個邏輯卷是條塊 模式,資料將被分割成固定大小的條塊,然後分散到兩塊硬碟上。這樣意味著你有更多有效的磁碟頻寬,資料的讀寫速度將大幅提高。條塊模式儘管給我們帶來了高 效能,但也帶來了高風險,如果任意一塊磁碟壞掉,那全部的邏輯卷都會丟失,其結果將是災難性的。然而LVM技術對這種災難已經早有防範。LVM的實現不僅 可以在磁碟分割槽上實現,也可以在RAID捲上實現。無論是硬碟RAID還是軟體RAID,LVM都給予了很好的支援。

 

 

六.LVM的Snapshots(快照)特性

LVM提供了一個非常好的特性:snapshots(快照)。它允許管理員建立一個塊裝置:該裝置是一個邏輯卷在某一時刻凍結的精確複製。這個特性 通常用於批處理過程(如備份)需要處理邏輯卷,但又不能停止系統。當操作完成時,snapshots(快照)裝置可以被移除。這個特性要求在建立 snapshots(快照)裝置時邏輯卷處於相容狀態。使用LVM,我們可以做一個LV瞬間的快照,然後掛載(mount)它,再備份它。請注意,快照不 是永久的。如果你卸下LVM或重啟,它們就丟失了,需要重新建立。下圖是LVM snapshots(快照)示意圖。

 

快照有兩種方式:一種是隻讀,另一種是可讀寫。如果你只要複製資料,那麼只讀快照看起來不錯,不過可讀寫快照則有好幾個優點。首先是無須額外處理日 志檔案系統-你可以在快照上簡單地實現日誌恢復。只讀快照則必須保證檔案系統在開始快照之前就得和裝置同步,因此需要日誌重現。

 

七.LVM常用術語

 

1.物理儲存介質(The Physical media

這裡指系統的儲存裝置:硬碟或硬碟上的分割槽,如:/dev/hda1、/dev/sda等等,是儲存系統最低層的儲存單元。

2.物理卷(Physical Volume,PV

物理卷就是指硬碟分割槽或從邏輯上與磁碟分割槽具有同樣功能的裝置(如RAID),是LVM的基本儲存邏輯塊,但和基本的物理儲存介質(如分割槽、磁碟等)比較,卻包含有與LVM相關的管理引數。

3.卷組(Volume Group,VG

LVM中的最高抽象層,由一個或多個物理卷組成。一個邏輯卷管理系統中可以只有一個卷組,也可以擁有多個卷組。LVM卷組類似於非LVM系統中的物理硬碟,其由物理卷組成。

4.邏輯卷(Logical Volume,LV

LVM的邏輯卷類似於非LVM系統中的硬碟分割槽,在邏輯卷之上可以建立檔案系統(比如/home或者/usr等)。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組。

5.PE(Physical Extent,PE

每一個物理卷被劃分為大小相等的稱為PE(Physical Extents)的基本單元。物理區域是物理卷中可用於分配的最小儲存單元,物理區域的大小可根據實現情況在建立物理卷時指定。物理區域大小一旦確定,將 不能更改,同一卷組中的所有物理卷的物理區域大小需要一致。PE的大小是可配置的,預設為4MB。

6.LE(Logical Extent,LE

邏輯卷也被劃分為被稱為LE(LogicalExtents)的可被定址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。

7.VGDA(卷組描述符區域)

和非LVM系統將包含分割槽資訊的後設資料儲存在位於分割槽起始位置的分割槽表中一樣,邏輯卷及卷組相關的後設資料被儲存在位於物理捲起始處的VGDA中。 VGDA包括以下內容:PV描述符、VG描述符、LV描述符和一些PE描述符。系統啟動LVM時啟用VG,並將VGDA載入至記憶體,來識別LV的實際物理 儲存位置。當系統進行I/O操作時,就會根據VGDA建立的對映機制來訪問實際的物理位置。

 

七.安裝LVM

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

#rpm–qa|greplvm
lvm-1.0.3-4

如果命令結果輸入類似於上例,那麼說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網路下載或者從光碟裝LVMrpm工具包。

安裝了LVM的RPM軟體包以後,要使用LVM還需要配置核心支援LVM。RedHat預設核心是支援LVM的,如果需要重新編譯核心,則需要在配置核心時,進入Multi-deviceSupport(RAIDandLVM)子選單,選中以下兩個選項:

[*]Multipledevicesdriversupport(RAIDandLVM)
<*>Logicalvolumemanager(LVM)Support

然後重新編譯核心,即可將LVM的支援新增到新核心中。

為了使用LVM,要確保在系統啟動時啟用LVM,幸運的是在RedHat7.0以後的版本,系統啟動指令碼已經具有對啟用LVM的支援,在/etc/rc.d/rc.sysinit中有以下內容:

#LVMinitialization
if[-e/proc/lvm-a-x/sbin/vgchange-a-f/etc/lvmtab];then
action$"SettingupLogicalVolumeManagement:"/sbin/vgscan&&/sbin
/vgchange-ayfi

其中關鍵是兩個命令,vgscan命令實現掃描所有磁碟得到卷組資訊,並建立檔案卷組資料檔案/etc/lvmtab和/etc/lvmtab.d/*;vgchange-ay命令啟用系統所有卷組。

 

八.LVM命令

LVM命令表1

 


LVM

命令

描述

pv

pvcreate

將物理分割槽建成為PV

pvscan

搜尋當前系統裡任何具有PV的磁碟

pvdisplay

顯示當前系統上的PV狀態

pvremove

將PV屬性刪除,讓該分割槽不具有PV屬性

partprobe

這個命令可以讓核心立刻讀入最新的分割槽表而不必重新引導

vg

vgcreate

建立VG。它的引數比較多,等一下介紹

vgscan

搜尋系統上面是否有VG存在

vgdisplay

顯示當前系統上的VG狀態

vgextend

在VG內增加額外的PV

vgreduce

在VG內刪除PV

vgchange

設定VG是否啟動(active)

vgremove

刪除一個VG

lv

lvcreate

建立LV

lvscan

查詢系統上的LV

lvdisplay

顯示系統上的LV狀態

lvextend

在LV裡增加容量

lvreduce

在LV裡減少容量

lvremove

刪除一個LV

lvresize

對LV進行容量大小的調整

 

LVM命令表2

 


任務

PV

VG

LV

搜尋(scan)

pvscan

vgscan

lvscan

建立(create)

pvcreate

vgcreate

lvcreate

列出(display)

pvdisplay

vgdisplay

lvdisplay

增加(extend)

 

vgextend

lvextend

減少(reduce)

 

vgreduce

lvreduce

刪除(remove)

pvremove

vgremove

lvremove

改變容量(resize)

 

vgresize

 

 

九.LVM配置實戰

Linux中實現LVM的方法有兩種:一種是在安裝Linux時利用Disk Druid程式在圖形化介面下實現;另一種是利用LVM命令在字元介面下實現,下面的過程是基於後一種(字元介面)實現的。

1.準備物理分割槽

首先,我們需要選擇用於LVM的物理儲存器。這些通常是標準分割槽,但也可以是已建立的Linux Software RAID卷。這裡我利用fdisk命令,將sdb、sdc兩塊磁碟分割槽sdb1、sdc1,透過fdisk的t指定指定分割槽為8e型別(Linux LVM),如下圖所示。

 

 

2.建立物理卷PV

建立卷是在磁碟的物理分割槽或與磁碟分割槽具有同樣功能的裝置(如RAID)上建立而來的。它只在物理分割槽中劃出了一個特殊的區域,用於記載與LVM相關的管理引數。

建立物理卷的命令是pvcreate:
#pvcreate /dev/sdb1
Physical volume “/dev/sdb1” successfully created
#pvcreate /dev/sdc1
Physical volume “/dev/sdc1” successfully created

以上命令分別將/dev/sdc1、/dve/sdd1初始化成物理卷,使用物理卷顯示命令pvdisplay檢視物理卷情況如下:
#pvdisplay
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 36.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID QDmnUd-tuvH-U4Hn-n5Ry-zGRT-OlyK-67Dxbb
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 36.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID NDBf68-6qrD-9hE6-Rotv-RdxL-Azvv-7Nlcos

 

3.建立卷組VG

卷組是一個或多個物理卷的組合。卷組將多個物理卷組合在一起,形成一個可管理的單元,它類似於非LVM系統中的物理硬碟。

建立卷組的命令為vgcreate,下面利用它建立一個名為“lvmdisk”的卷組,該卷組包含/dev/sdb1、/dev/sdc1兩個物理卷。

#vgcreate lvmdisk /dev/sdb1 /dev/sdc1
Volume group “lvmdisk” successfully created

使用卷組檢視命令vgdisplay顯示卷組情況:
#vgdisplay
--- Volume group ---
VG Name lvmdisk
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 71.98GB
PE Size 4.00MB
Total PE 18428
Alloc PE / Size 0 / 0
Free PE / Size 18428 / 71.98GB
VG UUID SARfuj-wAUI-od81-VWAc-Alnt-aaFN-JWaPVf

當多個物理卷組合成一個卷組後時,LVM會在所有的物理捲上做類似於格式化的工作,將每個物理卷切成一塊一塊的空間,這一塊一塊的空間就稱為PE(Physical Extent),它的預設大小是4MB。

由於受核心限制的原因,一個邏輯卷最多隻能包含65536個PE,所以一個PE的大小就決定了邏輯卷的最大容量,4MB的PE決定了單個邏輯卷最大容量為256GB,若希望使用大於256GB的邏輯卷,則建立卷組時需要指定更大的PE。

例如,如果希望使用64MB的PE建立卷組,這樣邏輯卷最大容量就可以為4TB,命令如下:
#vgcreate -64mb lvmdisk /dev/sdb1 /dev/sdc1

 

4.建立邏輯卷LV

邏輯卷(Logical Volumes,LV),是在卷組中劃分的一個邏輯區域,類似於非LVM系統中的硬碟分割槽。

建立邏輯卷的命令為lvcreate,透過下面的命令,我們在卷組lvmdisk上建立了一個名字為pldy1的邏輯卷,大小為15GB,其裝置入口為/dev/lvmdisk/pldy1。
#lvcreate -L 15G -n pldy1 lvmdisk
Logical volume "pldy1" create

也可以使用-l引數,透過指定PE數來設定邏輯分割槽大小。

例如,希望建立一個使用全部空間的邏輯卷,需要先查清卷組中的PE總數,透過上面的vgdisplay命令查得當前卷組PE總數為18428,命令如下:
#lvcreate –l 18428 –n pldy1 lvmdisk

當邏輯卷建立成功扣,可以使用lvmdisplay命令檢視邏輯卷情況:
#lvdisplay
---Logical voume ---
LV Name /dev/lvmdisk/pldy1
VG Name lvmdisk
LV UUID FQcnm3-BMyq-NkJz-hykw-9xg1-Qy8d-8UeGCN
LV Write Access read/write
LV Status available
#open 0
LV Size 15.00GB
Current LE 3840
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0

同卷組一樣,邏輯卷在建立過程中也被分成了一塊一塊的空間,這些空間稱為LE(Logical Extents),在同一個卷組中,LE的大小和PE是相同的,並且一一對應。

 

5.建立檔案系統

在邏輯捲上建立ext3檔案系統:
#mkfs -t ext3 /dev/lvmdisk/pldy1

建立了檔案系統後,就可以載入使用:
#mkdir /opt/Oracle
#mount /dev/lvmdisk/pldy1 /opt/Oracle

為了在系統啟動時自動載入檔案系統,則還需要在/etc/fstab中新增內容:
#dev/lvmdisk/pldy1 /opt/Oracle ext3 defaults 1 2

 

6.管理LVM

LVM的最大好處就是可以動態地調整分割槽大小,而無須重新啟動機器,下面讓我們來體驗一下吧!繼續上面的例項,現假設邏輯卷/dev/lvmdisk/pldy1空間不足,需要增加其大小,我們分兩種情況討論。

(1)檢視卷組中有無剩餘的空間
透過vgdiskplay命令可以檢查當前卷組空間使用情況:
#vgdisplay
--- Volume group ---
VG Name lvmdisk
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 71.98GB
PE Size 4.00MB
Total PE 18428
Alloc PE / Size 3840 / 15.00GB
Free PE / Size 14588 / 56.98GB
VG UUID SARfuj-wAUI-od81-VWAc-Alnt-aaFN-JWaPVf

確定當前卷組剩餘空間56.98GB,剩餘PE數量為14588個。在這裡將所有的剩餘空間全部增加給邏輯卷/dev/lvmdisk/pldy1。
#lvextend -l +14588 /dev/lvmdisk/pldy1
Extending logical volume pldy1 to 56.98 GB
Logical volume pldy1 successfully resized

上面的命令使用了-l+14588引數,它的意思是給指定的邏輯卷增加14588個PE。如果不是將全部空間都使用,還可使用其他形式的lvextend命令。

例如,將邏輯卷/dev/lvmdisk/pldy1增加5GB的空間,使其空間達到20GB,可寫成:“#lvextend –L+5G /dev/lvmdisk/pldy1”或“#lvextend –L20G /dev/lvmdisk/pldy1”。增加了邏輯卷容量後,就要透過ext2online命令修改檔案系統的大小了。
#ext2online /opt/Oracle/

轉換好後,讓我們檢視一下檔案系統的當前狀態:
#df -lh
Filesystem 1k-blocks Used Available Use% mounted on
/dev/sba1 7.4G 1.8G 5.3G 25% /
none 135M 0 135M 0% /dev/shm
/dev/mapper/lvmdisk-pldy1 71G 81M 68G 1% /opt/Oracle

 

(2)卷組中空間不足

當卷組中沒有足夠的空間用於擴充套件邏輯卷的大小時,需要增加捲組的容量,而增加捲組容量的唯一辦法就是向卷組中新增新的物理卷。

首先增加一塊新硬碟(36GB SCSI硬碟),並對其完成分割槽、建立物理卷等工作。接下來利用vgextend命令將新的物理卷(/dev/sdd1)加入卷組中。

擴充套件卷組的命令如下:
#vgextend lvmdisk /dev/sdd1
Volume group "lvmdisk" successfully extended

利用vgdisplay命令檢視卷組lvmdisk的情況:
#vgdisplay
--- Volume group ---
VG Name lvmdisk
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 107.97GB
PE Size 4.00MB
Total PE 27640
Alloc PE / Size 3840 / 15.00GB
Free PE / Size 23800 / 92.97GB
VG UUID 18Rfuj-udUI-od81-VWcT-Alnt-aaFN-JWaPVf

完成卷組的擴容後,就可以按照第一種情況的方法完成邏輯卷的擴容,最終實現分割槽的動態調整。

 

(3)救援模式下面,如何使用LVM工具

一般Linux發行版本使用LVM2的命令,例如,vgscan和vgcreate實際上是連結到lvm.static。例如:
#ls –l /sbin/vgscan
lrwxrwxrwx 1 root root 10 Oct 8 16:06 /sbin/vgscan -> lvm.static

在救援模式下,這些連結沒有自動建立,所有這些命令無法使用。要執行LVM的命令,使用如下命令:
lvm <command>

例如:
lvm vgscan

 

(4)使用dm-crypt在LVM(版本是LVM2)上建立一個加密的邏輯卷

<1>使用命令lvcreate建立一個名字是CRYPTO的邏輯卷(LV):
#lvcreate -n CRYPTO -L+100M DATA
Logical volume "CRYPTO" created

 

<2>使用cryptsetup命令把邏輯卷CRYPTO設定成為加密的塊裝置:
#cryptsetup create CRYPTO /dev/DATA/CRYPTO
Enter passphrase:xxxxxx

 

<3>使用命令cryptsetup檢查狀態:
#cryptsetup status DMCRYPT
/dev/mapper/DMCRYPT is active:
cipher:aes-plain
keysize:256 bits
devce:/dev/dm-6
offset: 0 sectors
size:204800 sectors

 

<4>使用mke2fs在DMCRYPT上建立檔案系統:
#mke2fs /dev/mapper/DMCRYPT
mke2fs 1.35 (23-Feb-2008)
max_blocks 104857600, rsv_groups=128000, rsv_gdb=256
...
...

 

<5>掛載檔案系統並且在檔案系統上建立檔案:
#mkdir /mnt/crypt;
#mount /dev/mapper/DMCRYPT /mnt/crypt
#cd /mnt/crypt

解除安裝檔案系統,刪除對映的加密塊裝置,這種情況下,如果沒有密碼是無法正常獲取其中資料的:
#umount /mnt/crypt
#cryptsetup remove DMCRYPT
The following can also be done after reboot.

重新加密塊裝置,提示需要輸入密碼:
#cryptsetup create DMCRYPT /dev/DATA/CRYPTO
Enter passphrase:<-------- WRONG PASSPHRASE!
#mount /dev/mapper/DMCRYPT /mnt/crypt
mount: you must secify the filesystem type

用正確的密碼開啟:
#cryptsetup remove DMCRYPT
#cryptsetup create DMCRYPT /dev/DATA/CRYPTO
Enter passphrase:xxxxxx
#mount /dev/mapper/DMCRYPT /mnt/crypt

 

7.LVM故障排除提示

(1)一致性檢查

大多數LVM命令都執行一致性檢查。可以使用命令vgdisplay、vgscan檢查VLM配置,並查詢不一致的地方。

 

(2)日誌檔案和跟蹤檔案

LVM沒有專用的日誌檔案或跟蹤檔案。它將錯誤和警告記錄到/var/syslog/syslog.log中。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2143812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章