一、 LVM 介紹
LVM (Logical Volume Manager),中文為邏輯捲軸管理員。LVM的重點在於『可以彈性的調整filesystem的容量』。使其可以更容易利用、管理映碟。當磁區空間不足時,可透過「VG」和「LV」來做硬碟空間的調整,調整時不會影響到原先存放的資料。
有關VG和LV等相關說明可參考以下說明
Physical Volume (PV)
經由硬碟切割出來的實體partition
Volume Group (VG)
VG就是由多個 PV建立出的磁區再組合成一個虛擬的磁碟,此虛擬磁碟的容量大小和PE有關。每個VG最多僅能包含65534個PE。若以LVM預設參數來說,一個CG最大可達256GB的容量。
Physical Extent (PE)
PE就如同是檔案系統裡的block大小.而 PE在LVM系統預設大小為4M,一個VG最多可以擁有65534個PE,所以當系統預設時,一個VG最大尺寸為65534*4M大概為256G.對於現在大硬碟 的狀況下很快就無法再延伸了.所以建議在設定PE時指定大小.除了預設的4M外只要是2的倍數在8k-16GB都是可以的範圍.
Logical Volume (LV)
最後VG還是會切成LV,而這個LV就是最後被使用的部份。至於LV的大小,也是和PE的總數有關。為了方便管裡系統,LV的裝置檔名通常指定為「/dev/vgname/lvname」
二、LVN設定
切partition
1.1 在還沒有開始設定PV之前要先切partition。至於要切幾個partition,就看個人而定了。在這邊切4個partition每個容量為2G
[root@localhost ~]# fdisk /dev/sda
#先查看分割表的情況
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 666 5245222+ 83 Linux
/dev/sda3 667 797 1052257+ 82 Linux swap / Solaris
#由於目前已經有3個partition,如果還要在分割4個的話必須要使用extended
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First cylinder (798-2610, default 798): #直接按ENTER
Using default value 798
Last cylinder or +size or +sizeM or +sizeK (798-2610, default 2610): #按ENTER
#全給extended
Using default value 2610
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 666 5245222+ 83 Linux
/dev/sda3 667 797 1052257+ 82 Linux swap / Solaris
/dev/sda4 798 2610 14562922+ 5 Extended
#開始切PV要用的partition請切4個
Command (m for help): n
First cylinder (798-2610, default 798): #直接按ENTER
Using default value 798
Last cylinder or +size or +sizeM or +sizeK (798-2610, default 2610): +2000M
#設定好後離開輸入w
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
#離開後會告知需要重開機才會生效
[root@localhost ~]# partprobe #強制核心重新抓取partition table,就可不用重新開機
[root@localhost ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 666 5245222+ 83 Linux
/dev/sda3 667 797 1052257+ 82 Linux swap / Solaris
/dev/sda4 798 2610 14562922+ 5 Extended
/dev/sda5 798 1041 1959898+ 83 Linux
/dev/sda6 1042 1285 1959898+ 83 Linux
/dev/sda7 1286 1529 1959898+ 83 Linux
/dev/sda8 1530 1773 1959898+ 83 Linux
以上的/dev/sda5,6,7,8為等等PV要使用的partition
2.2 查詢系統上有無PV
[root@localhost ~]# pvscan
No matching physical volumes found #表示無任何的PV
2.3 將四個partition建立PV
[root@localhost ~]# pvcreate /dev/sda{5,6,7,8}
Physical volume "/dev/sda5" successfully created
Physical volume "/dev/sda6" successfully created
Physical volume "/dev/sda7" successfully created
Physical volume "/dev/sda8" successfully created
2.4 查看建立後是否有問題
[root@localhost ~]# pvscan
PV /dev/sda5 lvm2 [1.87 GB]
PV /dev/sda6 lvm2 [1.87 GB]
PV /dev/sda7 lvm2 [1.87 GB]
PV /dev/sda8 lvm2 [1.87 GB]
Total: 4 [7.48 GB] / in use: 0 [0 ] / in no VG: 4 [7.48 GB]
#[整體PV的容量] [已被使用到VG的PV容量] [剩餘的PV量]
[root@localhost ~]# pvdisplay
"/dev/sda5" is a new physical volume of "1.87 GB"
--- NEW Physical volume ---
PV Name /dev/sda5 #實際的partition名稱
VG Name #還沒分配,所以空白
PV Size 1.87 GB #容量大小
Allocatable NO #是否已被分配
PE Size (KByte) 0 #PV內的PE大小
Total PE 0 #共分割的PE數
Free PE 0 #沒被LV使用的PE數
Allocated PE 0 #還可分配的PE數
PV UUID gXmwpU-0oP0-YSmt-rpSd-qj5H-cEYf-1xBcky
LVM 設定說明(下)
全文同步於FAQ-BOOK
IT鐵人文章分享