許多Linux使用者安裝操作系統時都會遇到這樣的困境:如何精確評估和分配各個硬碟分區的容量,如果當初評估不准確,一旦系統分區不夠用時可能不得不備份、刪除相關數據,甚至被迫重新規劃分區並重裝操作系統,以滿足應用系統的需要。 LVM是Linux環境中對磁碟分區進行管理的一種機制,是建立在硬碟和分區之上、 ...
許多Linux使用者安裝操作系統時都會遇到這樣的困境:如何精確評估和分配各個硬碟分區的容量,如果當初評估不准確,一旦系統分區不夠用時可能不得不備份、刪除相關數據,甚至被迫重新規劃分區並重裝操作系統,以滿足應用系統的需要。
LVM是Linux環境中對磁碟分區進行管理的一種機制,是建立在硬碟和分區之上、文件系統之下的一個邏輯層,可提高磁碟分區管理的靈活性。RHEL5預設安裝的分區格式就是LVM邏輯捲的格式,需要註意的是/boot分區不能基於LVM創建,必須獨立出來。
LVM的配置過程也很簡單,並不是很難,為此,我畫了一張圖文並茂的解析圖,解析了LVM創建的整個過程。更詳細的理論知識還請參看一些教程或者去Google哦!
實驗環境:
首先從空的硬碟sdb上創建兩個分區sdb1 1G,sdb2 2G. 為接下來做LVM做準備.
為了後期便於維護管理,記得給分區加上標示,這樣即使你不在的情況下,別人看到標示了就不會輕易動這塊區域了. LVM的標識是8e,設置完成後記得按w保存
一、創建邏輯捲
將新創建的兩個分區/dev/sdb1 /dev/sdb2轉化成物理捲,主要是添加LVM屬性信息並劃分PE存儲單元.
創建捲組 vgdata ,並將剛纔創建好的兩個物理捲加入該捲組.可以看出預設PE大小為4MB,PE是捲組的最小存儲單元.可以通過 –s參數修改大小。
從物理捲vgdata上面分割500M給新的邏輯捲lvdata1.
使用mkfs.ext4命令在邏輯捲lvdata1上創建ext4文件系統.
將創建好的文件系統/data1掛載到/data1上.(創建好之後,會在/dev/mapper/生成一個軟連接名字為”捲組-邏輯捲”)
便於以後伺服器重啟自動掛載,需要將創建好的文件系統掛載信息添加到/etc/fstab裡面.UUID可以通過 blkid命令查詢.
為了查看/etc/fstab是否設置正確,可以先卸載邏輯捲data1,然後使用mount –a 使內核重新讀取/etc/fstab,看是否能夠自動掛載.
二、邏輯捲lvdata1不夠用了,如何擴展。
給邏輯捲增加空間並不會影響以前空間的使用,所以無需卸載文件系統,直接通過命令lvextend –L +500M /dev/vgdata/lvdata1或者lvextend –l 2.5G /dev/vgdata/lvdata1 給lvdata1增加500M空間(lvdata1目前是2G空間)設置完成之後,記得使用resize2fs命令來同步文件系統。
三、當捲組不夠用的情況下,如何擴大卷組
重新從第二塊硬碟上創建一個分區sdb3,具體操作步驟省略。並將創建好的分區加入到已經存在的捲組vgdata中。通過pvs命令查看是否成功。
四、當硬碟空間不夠用的情況下,如果減少邏輯捲的空間釋放給其他邏輯捲使用。
減少邏輯捲空間,步驟如下
1、 先卸載邏輯捲data1
2、 然後通過e2fsck命令檢測邏輯捲上空餘的空間。
3、 使用resize2fs將文件系統減少到700M。
4、 再使用lvreduce命令將邏輯捲減少到700M。
註意:文件系統大小和邏輯捲大小一定要保持一致才行。如果邏輯捲大於文件系統,由於部分區域未格式化成文件系統會造成空間的浪費。如果邏輯捲小於文件系統,哪數據就出問題了。
完成之後,就可以通過mount命令掛載重新使用了。
五、如果某一塊磁碟或者分區故障瞭如何將數據快速轉移到相同的捲組其他的空間去。
1、通過pvmove命令轉移空間數據
2、通過vgreduce命令將即將壞的磁碟或者分區從捲組vgdata裡面移除除去。
3、通過pvremove命令將即將壞的磁碟或者分區從系統中刪除掉。
4、手工拆除硬碟或者通過一些工具修複分區。
六、刪除整個邏輯捲
1、先通過umount命令卸載掉邏輯捲lvdata1
2、修改/etc/fstab裡面邏輯捲的掛載信息,否則系統有可能啟動不起來。
3、通過lvremove 刪除邏輯捲lvdata1
4、通過vgremove 刪除捲組vgdata
5、通過pvremove 將物理捲轉化成普通分區。
刪除完了,別忘了修改分區的id標識。修改成普通Linux分區即可。
總結:LVM邏輯捲是Linux裡面一個很棒的空間使用機制,因為分區在沒有格式化的情況下是沒有辦法加大或者放小的。通過LVM可以將你的磁碟空間做到靈活自如。
原文鏈接:http://dreamfire.blog.51cto.com/418026/1084729/