歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 動態調整linux分區大小——lvm

動態調整linux分區大小——lvm

日期:2017/3/1 14:44:09   编辑:關於Linux
動態調整linux分區大小——lvm 摘要:LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制。主要用於幫助我們靈活解決分區擴展和調整大小的問題。本文主要為你介紹lvm的大致原理,使用方法和解決的問題。 一、大致原理 lvm是磁盤和文件系統的中間層,我們正是利用中間層,實現了對磁盤空間的靈活管理。從上到下的邏輯層次依次為: -------------------------------------------------------------------------------------- 文件系統:在邏輯卷上建立文件系統等同於在分區上建立文件系統 -------------------------------------------------------------------------------------- 邏輯卷:一個卷組可以被切分成多個邏輯卷 --------------------------------------------------------------------------------------- 卷組:多個物理卷組成一個卷組,相當與多個分區組成一個磁盤 -------------------------------------------------------------------------------------- PV物理卷=是磁盤的邏輯分區或者整個磁盤 -------------------------------------------------------------------------------------- 二、操作流程 要創建一個LVM系統,一般需要經過以下步驟: 1、創建分區 使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。 2、創建物理卷 創建物理卷的命令為pvcreate,利用該命令將希望添加到卷組的所有分區或者磁盤創建為物理卷。將整個磁盤創建為物理卷的命令為: #pvcreate /dev/hdb 將單個分區創建為物理卷的命令為: #pvcreate /dev/hda5 3、創建卷組 創建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創建為一個完整的卷組: #vgcreate web_document /dev/hda5 /dev/hdb vgcreate命令第一個參數是指定該卷組的邏輯名:web_document。後面參數是指定希望添加到該卷組的所有分區和磁盤。vgcreate 在創建卷組web_document以外,還設置使用大小為4MB的PE(默認為4MB),這表示卷組上創建的所有邏輯卷都以4MB為增量單位來進行擴充 或縮減。由於內核原因,PE大小決定了邏輯卷的最大大小,4MB的PE決定了單個邏輯卷最大容量為256GB,若希望使用大於256G的邏輯卷則創建卷組 時指定更大的PE。PE大小范圍為8KB到512MB,並且必須總是2的倍數(使用-s指定,具體請參考manvgcreate)。 4、激活卷組 為了立即使用卷組而不是重新啟動系統,可以使用vgchange來激活卷組: #vgchange -ay web_document 5、添加新的物理卷到卷組中 當系統安裝了新的磁盤並創建了新的物理卷,而要將其添加到已有卷組時,就需要使用vgextend命令: #vgextend web_document /dev/hdc1 這裡/dev/hdc1是新的物理卷。 6、從卷組中刪除一個物理卷 要從一個卷組中刪除一個物理卷,首先要確認要刪除的物理卷沒有被任何邏輯卷正在使用,就要使用pvdisplay命令察看一個該物理卷信息: 如果某個物理卷正在被邏輯卷所使用,就需要將該物理卷的數據備份到其他地方,然後再刪除。刪除物理卷的命令為vgreduce: #vgreduce web_document /dev/hda1 7、創建邏輯卷 創建邏輯卷的命令為lvcreate: #lvcreate -L1500 -n www1 web_document 該命令就在卷組web_document上創建名字為www1,大小為1500M的邏輯卷,並且設備入口為 /dev/web_document/www1(web_document為卷組名,www1為邏輯卷名)。如果希望創建一個使用全部卷組的邏輯卷,則需 要首先察看該卷組的PE數,然後在創建邏輯卷時指定: #vgdisplay web_document | grep"TotalPE" TotalPE45230 #lvcreate -l45230 web_document -n www1 8、創建文件系統 筆者推薦使用reiserfs文件系統,來替代ext2和ext3: 創建了文件系統以後,就可以加載並使用它: #mkdir/data/wwwroot #mount /dev/web_document/www1/data/wwwroot 如果希望系統啟動時自動加載文件系統,則還需要在/etc/fstab中添加內容: /dev/web_document/www1/data/wwwrootreiserfsdefaults12 9、刪除一個邏輯卷 刪除邏輯卷以前首先需要將其卸載,然後刪除: #umount /dev/web_document/www1 #lvremove /dev/web_document/www1 lvremove--doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:y lvremove--doingautomaticbackupofvolumegroup"web_document" lvremove--logicalvolume"/dev/web_document/www1"successfullyremoved 10、擴展邏輯卷大小 LVM提供了方便調整邏輯卷大小的能力,擴展邏輯卷大小的命令是lvextend: #lvextend -L12G /dev/web_document/www1 lvextend--extendinglogicalvolume"/dev/web_document/www1"to12GB lvextend--doingautomaticbackupofvolumegroup"web_document" lvextend--logicalvolume"/dev/web_document/www1"successfullyextended 上面的命令就實現將邏輯卷www1的大小擴招為12G。 #lvextend -L +1G /dev/web_document/www1 lvextend--extendinglogicalvolume"/dev/web_document/www1"to13GB lvextend--doingautomaticbackupofvolumegroup"web_document" lvextend--logicalvolume"/dev/web_document/www1"successfullyextended 上面的命令就實現將邏輯卷www1的大小增加1G。 增加了邏輯卷的容量以後,就需要修改文件系統大小以實現利用擴充的空間。筆者推薦使用reiserfs文件系統來替代ext2或者ext3。因此這裡僅 僅討論reiserfs的情況。Reiserfs文件工具提供了文件系統大小調整工具:resize_reiserfs。對於希望調整被加載的文件系統大 小: #resize_reiserfs -f /dev/web_document/www1 一般建議最好將文件系統卸載,調整大小,然後再加載: #umount /dev/web_document/www1 #resize_reiserfs /dev/web_document/www1 #mount-treiserfs /dev/web_document/www1/data/wwwroot 對於使用ext2或ext3文件系統的用戶可以考慮使用工具 ext2resize。 11、減少邏輯卷大小 使用lvreduce即可實現對邏輯卷的容量,同樣需要首先將文件系統卸載: #umount /data/wwwroot #resize_reiserfs -s -2G /dev/web_document/www1 #lvreduce -L -2G /dev/web_document/www1 #mount-treiserfs /dev/web_document/www1/data/wwwroot 三、解決的問題 磁盤分區的擴充:一般情況下,當一個分區空間用完的時候,我們會調入一個空白分區,但後調整整個磁盤分區的布局,這是非常不方便的一種做法,無法進行各個分區大小的有效調整。有了lvm以後,我們可以直接卸載邏輯卷,然後可以動態調整邏輯卷的大小(上面的文件不會在調整(增大)大小的時候丟失),從而實現分區的動態調整。
Copyright © Linux教程網 All Rights Reserved