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