Linux – LVM (Logical Volume Manager)

什麼是 LVM

傳統的硬碟空間在切割完時就決定了大小,如果要重新規劃必須將資料先備份下來,硬碟磁區重新切割才可能有改變原來的硬碟磁區環境.透過 LVM (Logical Volume Manager) 就不同了,LVM 是一種可以動態變更 Volume 大小的方式 (由 LVM 所切割出來的空間稱為 Volume),它可以讓我們更容易管理硬碟空間.

如果磁區空間不夠了,我們可以把使用率低的磁區空間縮小再將空間不夠的磁區放大 (放大縮小時皆都不影響硬碟上的資料).

LVM 說明:

  • Physical Volume (PV)
    這就是硬碟切割出來的實體 Partition (/dev/sdb1,/dev/sdc1)
  • volume group (VG)
    接下來再由多個(可以單一) PV (/dev/sdb1,/dev/sdc1) 的磁區再組合成一個虛擬的磁碟 ( /dev/volum00 ) ,使用上如同一般磁碟 ( /dev/sda) ,但不同於一般磁碟他是可以做縮放的.
  • Logical Volume (LV)
    由 VG 這個虛擬磁碟所切割出來的 Partition ( /dev/volum00/LVOL1 ) 使用時就如同一般磁區 ( /dev/sda1 ),但不同於一般磁區他是可以做縮放的.
  • Physical Extent (PE)
    PE 就如同是磁碟機在格式化時,每個 Block 的大小.而 PE 系統預設大小為 4M 而一個 VG 最多可以擁有 65534 個 PE ( LVM2 已經沒有這個限制了 ) ,所以當系統預設時,ㄧ個 VG 最大尺寸為 65534*4M 大概為256G.對於現在大硬碟 的狀況下很快就無法再延伸了.所以建議在設定PE時指定大小.除了預設的 4M 外只要是 2的倍數在 8k-16GB 都是可以的範圍.

LVM 的整個架構如下:
lvm00
整個架構就是將許多的 partition(/dev/sdb1 /dev/sdc1) 組成一個虛擬的磁碟(/dev/vg).之後就可以將它動態切割成你需要大小的 partition(/dev/vg/lv1,/dev/vg/lv2).就可以像一般的 partition 來使用.

系統是否有支援 LVM2
並不是每一個版本的核心都有支援 LVM 的功能,最簡單的方式就是檢查目前核心是否有支援.

[root@benjr ~]# cat /boot/config-kernel-version | grep -i lvm
#Multi-device support (RAID and LVM)
CONFIG_BLK_LVM=m
CONFIG_LVM_PROC_FS=m

此時如果能看到上敘幾項功能已經編譯至核心中,那你的檔案系統已經有支援 LVM 的功能
如果沒有那請自己編譯一個含有上敘功能的模組吧!!這些功能在編譯核心選項中的 Multi-device support (RAID and LVM) 下的 Logical volume manager(LVM) support 可以找到.

LVM2 還需要 Device Mapper的模組才成使用

[root@benjr ~]# cat /boot/config-kernel-version | grep -i BLK_DEV_DM
CONFIG_BLK_DEV_DM=m

如果你在編譯核心時找不到上敘功能的模組,請至 RedHat 的官方網站來安裝 LVM
LVM1:ftp://sources.redhat.com/pub/lvm/current
LVM2:ftp://sources.redhat.com/pub/lvm2

如果你的 "/  (root)" 是掛在 LVM 下請確定你的 LVM 是編譯在核心下的,如果是編譯模組也沒關係,請重做你的 initrd .
在模組下加入兩行

[root@benjr ~]# vi /etc/modules.conf
alias   block-major-58    lvm-mod
alias   char-major-109    lvm-mod

關於重做 initrd, 請參考系統重要檔案 initrd

note: 除了 boot 外其他的檔案系統能掛在 LVM 上.

文字模式

圖形介面

沒有解決問題,試試搜尋本站其他內容

7 thoughts on “Linux – LVM (Logical Volume Manager)

  1. 自動引用通知: Linux – File | Benjr.tw
  2. 自動引用通知: iSCSI (Internet SCSI) | Benjr.tw
  3. 自動引用通知: LVM-工具 | Benjr.tw
  4. 自動引用通知: LVM-snapshot | Benjr.tw

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料