第八章LVM邏輯卷管理
LVM機制的基本概念
Pv(Physical Volume,物理卷)
整個硬盤,或使用fdisk等工具建立的普通分區
包括許多默認4MB大小的PE(Physical Extent,基本單元)
VG(Volume Group,卷組)
一個或多個物理卷組合而成的整體
LV(Logical Volume,邏輯卷)
從卷組中分割出的一塊空間,用於建立文件系統
(創建物理卷--創建卷組--從卷組中創建邏輯卷)
相關命令
pvcreate 設備名
vgcreate 卷組名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 邏輯卷名 卷組名
lvextend -L +大小 /dev/卷組名/邏輯卷名
步驟:
一.新插入兩塊磁盤,使用fdisk命令將兩塊新磁盤各分一個10G大小的分區,並將ID號更改爲8e(邏輯卷)。如圖所示:
二.建立邏輯卷mbox,格式化爲EXT3文件系統,掛載到/mailbox目錄下。
步驟:
1. 使用pvcreate命令將新建的兩個分區(也可以是整塊硬盤)創建爲邏輯卷。如圖所示:
PV物理卷管理
pvscan命令:用於掃描系統中的所有物理卷,並輸出相關信息。使用自動分區方案安裝的RHEL 5 系統,系統盤sda被劃分爲sda1和sda2兩個分區,其中sda2分區被轉換爲物理卷,並基於該物理卷創建VolGroup00卷組,在VolGroup00卷組中創建了邏輯卷LogVol00。如圖所示:
pvcreate命令:用於將分區或整個硬盤轉換成物理卷,主要是添加LVM屬性信息並劃分PE存儲單位。該命令需要使用硬盤或分區的設備文件作爲參數(可以有多個)。
pvdisplay命令:用於顯示物理卷的詳細信息,需要使用指定的物理卷作爲命令參數,缺省時將顯示所有物理卷的信息如圖所示:
pvremove命令:用於將物理卷還原成普通分區或磁盤,不再用於LVM體系,被移除的物理卷將無法被pvscan識別。如圖所示:
2. 使用vgcreate命令將新建的兩個分區創建爲一個名爲mail的卷組。如圖所示:
VG卷組管理
vgscan命令:用於掃描系統中已建立的LVM卷組及相關信息。如圖所示:
vgcreate命令:用於將一個或多個物理卷創建爲一個卷組,第一個命令參數用於設置新卷組的名稱,其後依次指定需要加入到該卷組的物理卷作爲參數。
vgdisplay命令:用於顯示系統中各卷組的詳細信息,需要使用指定卷組名作爲命令參數(未指定卷組時將顯示所有卷組的信息)。如圖所示:
vgremove命令:用於刪除指定的卷組,指定卷組名稱作爲參數即可。刪除時應確保該卷組中沒有正在使用的邏輯卷。如圖所示:
vgextend命令:用於擴展卷組的磁盤空間。當創建了新的物理卷,並需要將其添加到已有卷組中,就可以使用vgextend命令。該命令的第一個參數爲需要擴展容量的卷組名稱,其後爲需要添加到該卷組中的各物理卷。如圖所示:
3. 使用命令lvcreate命令在mail卷組中建立一個新的名爲mbox的邏輯卷。如圖所示:
LV邏輯卷管理
lvscan命令:用於掃描系統中已建立的邏輯卷及相關信息。如圖所示:
lvcreate命令:用於從指定的卷組中分割空間,以創建新的邏輯卷。需要指定邏輯卷的大小、名稱及所在的卷組名作爲參數。邏輯卷創建好以後,可以通過"/dev/卷組名/邏輯卷名"形式的設備文件進行訪問(或者"/dev/mapper/卷組名--;邏輯卷名")。此命令的基本格式如下所示:
lvcreate -L 容量大小 -n 邏輯卷名 卷組名
lvdisplay命令:用於顯示邏輯卷的詳細信息,需要指定邏輯卷的設備文件作爲參數,也可以使用卷組名作爲參數,以顯示該卷組中所有邏輯卷的信息。如圖所示:
lvextend命令:用於動態擴展邏輯卷的空間,當目前使用的邏輯卷空間不足時,可以從所在卷組中分割額外的空間進行擴展。只要指定需增加的容量大小及邏輯卷文件位置即可。前提條件是該卷組中還有尚未分配的磁盤空間,否則需要先擴展卷組容量。另外,調整邏輯卷的容量後,需要執行"resize2fs /dev/卷組名/邏輯卷名"命令以便Linux系統重新識別文件系統的大小(resize2fs命令用於在線調整文件系統大小)。
使用lvextend命令的基本格式如下所示:
lvextend -L +大小 /dev/卷組名/邏輯卷名
如圖所示:
執行"resize2fs /dev/卷組名/邏輯卷名"命令。如圖所示:
lvremove命令:用於刪除指定的邏輯卷,直接使用邏輯卷的設備文件作爲參數即可。需要注意,在刪除邏輯卷之前,應確保該邏輯卷已不再使用,且必要的數據已做好備份。如圖所示:
在爲邏輯卷擴展容量時,能夠擴展的大小受限於所在卷組剩餘空間(未被其他邏輯卷使用)的大小。
4. 使用mkfs.ext3命令將新建的mbox邏輯卷格式化。如圖所示:
5. 創建/mailbox目錄,將新建的mbox邏輯卷掛載到/mailbox目錄下。如圖所示:
設置並啓用磁盤配額
一.爲掛載到/mailbox目錄的文件系統啓用配額支持
步驟:
1. 以支持配額功能的方式掛載文件系統
除了內核和quota軟件的支持以外,實施磁盤配額功能還有一個前提條件,即指定的分區必須已經掛載且支持磁盤配額功能。
在配置調試過程中,可以使用帶"o usrquota,grpquota"選項的mount命令重新掛載指定的分區,以便增加對用戶、組配額功能的支持。對於支持配額功能的文件系統,將在mount信息中顯示"usrquota,grpquota"。如圖所示:
爲後續測試方便,允許任何用戶寫入數據。如圖所示:
若需要在每次開機後自動以支持配額功能的方式掛載該分區,可以將"usrquota,grpquota"掛載參數寫入到"/etc/fstab"文件中。如圖所示:
2. 檢測磁盤配額並生成配額文件
使用quotacheck命令可以對指定的文件系統進行磁盤配額檢測,也可以用來建立配額文件,以便保存用戶、組在該分區中的配額設置。若要自動掃描可用的文件系統,可以不指定檢測對象。如圖所示:
以上操作中,選項"-a"表示掃描所有分區,"-u"和"-g"分別表示檢測用戶和組配額信息,"-c"表示創建新的配額文件,"-v"表示顯示命令執行過程中的細節信息。未使用"-a"選項時,必須指定一個分區(設備文件或掛載點目錄)作爲命令參數。
由於/mailbox文件系統中並未使用較早版本的配額文件,因此出現"Old file not found"之類的提示信息是正常的。新建立的配額文件包括"aquota.user"、"aquota.group",分別用於保存用戶、組的配額設置。配額文件保存在該文件系統的根目錄下,默認權限爲600。如圖所示:
三.限制用戶jerry最多隻能使用100MB磁盤空間,限制accp組的用戶合計最多隻能使用500MB磁盤空間
步驟:
1. 創建用戶zhangsan和lisi、組accp,然後將用戶lisi加入到accp組中。如圖所示:
2. 編輯用戶和組賬號的配額設置
配額設置是實現磁盤配額功能中最重要的環節,使用edquota命令結合"-u"、"-g"選項可用於編輯用戶或組的配額設置。正確執行edquota命令後,將進入到文本編輯界面(默認調用vi作爲編輯程序),可以設置磁盤設置、文件大小的軟、硬限制數值。
對用戶zhangsan的配額進行編輯。如圖所示:
對組accp的配額進行編輯。如圖所示:
一般來說,對磁盤容量進行限額的情況更爲常見,而限制文件數量的情況較少。所設置的限額數值不應該小於該用戶已經使用的數量,否則可能導致該用戶無法正常登錄系統。另外,建議不要對root用戶設置磁盤配額,以免對程序及系統的運行和穩定性帶來不可預知的風險。
用戶在使用文件系統的過程中,超過軟限制後的默認寬限期爲7天,在寬限期內仍然允許用戶繼續使用(只要不超過硬限制)。若需要修改寬限期,可以執行"edquota -t"命令進行調整。寬限期的時間單位可以是天、小時、分鐘或秒。如圖所示:
3. 啓動文件系統的磁盤配額功能
啓動和關閉文件系統的磁盤功能分別使用quotaon、quotaoff命令進行,需要指定設備文件名或文件系統的掛載點目錄作爲命令參數。quotaon命令使用的選項與quotacheck的選項類似。
實際上,RHEL 5 系統每次開機後自動檢查是否有支持磁盤配額的文件系統,如果找到,則啓用該文件系統的磁盤配額功能(通過系統初始化腳本"/etc/rc.d/rc.sysinit"來完成相關操作)。因此,下次開機後無需再動手執行quotaon命令。
4. 驗證磁盤配額功能
使用受配額限制的用戶賬號登錄Linux系統,並切換到應用了配額的文件系統中,進行復制文件等寫入操作,測試所設置的磁盤配額項是否有效。
在測試過程中,爲了快速看到效果,可以使用dd轉換工具。dd命令是一個設備轉換和複製命令,分別使用"if="選項指定輸入設備(或文件),"of="選項指定輸出設備(或文件),"bs="選項指定讀取數據塊的大小,"count="指定讀取數據塊的數量。
切換用戶zhangsan登錄系統,進入/mailbox目錄裏,然後使用dd命令測試。如圖所示:
切換用戶lisi登錄系統,進入/mailbox目錄裏,然後使用dd命令測試。如圖所示:
查看兩個用戶在/mailbox目錄裏各寫入了多大容量的文件。如圖所示:
5. 查看用戶或分區的配額使用情況
若需要了解在文件系統中用戶或組的配額使用情況,可以使用quota命令、repquota命令。其中,quota命令可以結合"-u"、 "-g"選項分別查看指定用戶和組的配額使用情況,而repquota命令主要針對指定的文件系統輸出配額使用情況報告,結合"-a"選項時可以查看所有可用分區的配額使用報告。如圖所示:
注意:對組設置配額時,要讓用戶生效,就得讓這個組是個用戶的基本組(只對基本組生效)。
先設置配額,後設置權限。
Linux系統中,對組設置的配額是組內的用戶共同使用的空間。
Windows系統中,對組設置的配額是組內的用戶各自使用的空間。