LVM 快速上手說明。
使用 LVM 需要先知道幾個名詞,PV、PE、VG、LV。
PV = Physical Volume
可以看做成一個實體硬碟,或是一個實體硬碟的某一個分割區。
PE = Physical Extend
也就是實體延伸區塊,若還是不懂的話,就直接看做是一個區塊就好,每一個區塊的大小都是固定的。 一個 20MB 的 PV 可以被切成是一個 20MB 的 PE,或是兩個 10MB 的 PE,又或是 4 個 5MB 的 PE。
PE 是 LVM 所能改變磁碟空間大小的最小單位,若 PE 設定為 1GB,則每一次增大或縮小的空間都必須以 1GB 為單位。
另外,LVM 有 65534 PE 總數的限制。 如果將 PE 容量設定的太小,會造成將來邏輯硬碟的容量被限制住,無法再加大。 Ex. 4M*65534/(1024M/G) = 256GB
VG = Volume Group
一個 VG 就是多個 PE 所組成的一個大空間,這個空間受限於 PE 的區塊大小。 最多只能有 65534 個 PE 組成一個 VG。
LV = Logical Volume
LV 的大小最大可以是一整個 VG,或是一部份的 VG。 簡單的說就是一個可以被使用者運用,格式化的一個儲存裝置。
建立 PV
|
pvcreate /dev/sda #以 /dev/sda 建立一個 PV |
建立 VG
|
vgcreate -s 1024M dogvg /dev/sda #將/dev/sda 這個PV 建立成 1GB 為一個 PE 單位,名為 dogvg 的VG vgchange -a y #設定 VG 為啟動狀態 |
增加 VG 容量
|
pvcreate /dev/sdb #初始化 /dev/sdb 為 PV vgextend dogvg /dev/sdb #將/dev/sdb 這個 PV 也加入到 dogvg 這個 VG。 |
建立 LV (最後可以當成一個硬碟使用的階段)
|
lvcreate -L 100G -n doglv dogvg #建立一個名為 doglv,容量100GB的LV 在 dogvg 這個 VG 上。 |
開始使用階段
|
mkfs -t ext3 /dev/dogvg/doglv #格式化這個 LV mkdir /mnt/lvm mount /dev/dogvg/doglv /mnt/lvm #掛載後即可使用 |
放大 LV 容量
|
lvresize -L +100G /dev/dogvg/doglv #加大 100G 的容量到現有的 LV resize2fs /dev/dogvg/doglv #線上變更 filesystem 大小 |
縮小 LV 容量沒辦法做線上調整,要做的話必須 umount,且 resize fs 的時候只能設定將一個 FS 設定為最終大小,沒辦法設定拿走多少的容量;所以在做縮小的時候要先 df -h 並將縮小一定容量後的最終大小計算出來才可以動作。
|
umount /mnt/lvm resize2fs /dev/dogvg/doglv 5000M #設定最終的 FS 大小為 5GB lvresize -L 1000M /dev/dogvg/doglv 設定將這個 LV 減少 1GB 的容量 |
參考網網站 http://linux.vbird.org/linux_basic/0420quota.php#lvm
