2,075 瀏覽數

LVM(Logical Volume Manager)

什麼是 LVM

LVM(Logical Volume Manager)是一種可以動態變更 volume (由 LVM 所切割出來的空間被稱為 volume)大小的方式,可以讓你能更容易利用管理你的硬碟.傳統的硬碟空間在切割完時就決定了大小,如果要重新規劃必須將資料先備份下來,硬碟磁區重 新切割才可能有改變原來的硬碟磁區環境.不過 LVM(Logical Volume Manager) 就不同了,如果磁區空間不夠了,你可以隨意將空間放大或是磁區的使用率太低也可以將空間縮小.當我們在放大縮小時這都不影響原先在硬碟上的資料,聽起來很 神奇吧!!

LVM:重要名詞
下面這一段是直接取用LVM官方說明,這裡只做簡單的中文翻譯.
Physical Volume (PV)
A physical volume is typically a hard disk, though it may well just be a device that 'looks' like a hard disk (eg. a software raid device).
這就是硬碟切割出來的實體partition(/dev/sdb1,/dev/sdc1)

volume group (VG)
The Volume Group is the highest level abstraction used within the LVM. It gathers together a collection of Logical Volumes and Physical Volumes into one administrative unit.
接下來再由多個 PV(/dev/sdb1,/dev/sdc1)建立出的磁區再組合成一個虛擬的磁碟(/dev/volum00,將來使用時這就像是/dev/sda一個真實的磁碟機一樣,但不同於一般磁碟機的是他的大小是可以縮放)
Logical Volume (LV)
The equivalent of a disk partition in a non-LVM system. The LV is visible as a standard block device; as such the LV can contain a file system (eg. /home).
由VG這個虛擬磁碟所切割出來的 partition(/dev/volum00/LVOL1,將來使用時就像/dev/sda1一個真實的磁區一樣,但不同於一般磁區他是可以縮放的)

Physical Extent (PE)
Each physical volume is divided chunks of data, known as physical extents, these extents have the same size as the logical extents for the volume group.
PE就如同是磁碟機在格式化時,每個block的大小.而 PE系統預設大小為4M而一個VG最多可以擁有65534個PE,所以當系統預設時,ㄧ個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 個網友的想法 “LVM(Logical Volume Manager)

  1. 自動參照通知: XenServer – 新增儲存裝置 – HBA | Benjr.tw

  2. 自動參照通知: Linux – File | Benjr.tw

  3. 自動參照通知: iSCSI (Internet SCSI) | Benjr.tw

  4. 自動參照通知: RHEL5 – 指定硬碟空間給 iSCSI Target | Benjr.tw

  5. 自動參照通知: LVM-工具 | Benjr.tw

  6. 自動參照通知: LVM-snapshot | Benjr.tw

  7. 自動參照通知: XenServer – 新增儲存裝置 – iSCSI | Benjr.tw

發表迴響