5.3 KiB
PV(Physical Volume)
PV(Physical Volume) 就是LVM的磁碟分區。
建立PV
建立PV的命令如下:
pvcreate /dev/sdb /dev/sdc /dev/sdd
`Physical volume "/dev/sdb" successfully created`
`Physical volume "/dev/sdc" successfully created`
`Physical volume "/dev/sdd" successfully created`
這樣我們就建立了3個PV。
查看 PV
使用 pvdisplay 和 pvs 來檢視你建立的 PV。
pvs 輸出會比較簡短,例:
sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 ubuntu-vg lvm2 a-- 57.62g 28.81g
/dev/sdb1 vg1 lvm2 a-- <2.73t 0
/dev/sdc1 vg1 lvm2 a-- <2.73t 0
pvdisplay 就比較詳細:
sudo pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg1
PV Size <2.73 TiB / not usable 3.44 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 715396
Free PE 0
Allocated PE 715396
PV UUID cWvfBE-Vbyp-l09E-QH0O-ZZoC-AdSG-t1J7TT
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg1
PV Size <2.73 TiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 715396
Free PE 0
Allocated PE 715396
PV UUID eDdYr4-HSZC-wRBa-feGx-SHp1-Wfye-m0e1PY
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size 57.62 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 14751
Free PE 7376
Allocated PE 7375
PV UUID zUlIaB-1Uof-3eF6-z5I7-OnqJ-UYDk-gThxJQ
VG(Volume Group)
VG(Volume Group) 由 PV 組成,你可以自由的排列組合。我們拿剛剛建立的3個PV把它組成一個VG。
建立 VG
vgcreate vg1 /dev/sdb /dev/sdc /dev/sdd
vg1 是你的VG 名字,可以自由更改。
後面的/dev/sdb、/dev/sdc、/dev/sdd 就是你剛剛建立的 PV。
查看 VG
使用 vgdisplay 和 vgs 來檢視你建立的 VG。
LV(Logical Volume)
LV(Logical Volume) 可以對應到實際的硬碟,它才是可以被 mount 到 directory 的東西。LV 可以只使用 VG 某一部份的,也就是說一個VG可以切出很多LV。
建立 LV
lvcreate --size 10G --name lv1 vg1
--size 10G 表示 LV 的空間是 10G
--name lv1 表示 LV的名字叫做 lv1
最後的 vg1 則是你要從那一個 VG 來建立這個 LV。
當然可以直接指定LV使用所有的空間:
lvcreate -l +100%FREE --name lv1 vg1
-l 跟 --size 同義。
建立 raid 1
使用 --type raid1 可以建立 raid 1 的 LVM,例:
lvcreate --type raid1 -l +100%FREE --name lv1 vg1
查看 LV
使用 lvdisplay 和 lvs 來檢視你建立的 LV。
格式化 LV
建立好LV之後就可以格式化它然後掛載它,先用lvdisplay確認一下 LV的路徑:
!
格式化:
mkfs -t ext4 /dev/vg1/lv1
Mount LV
先建立一個目錄來掛載 LV:
mkdir /lvm1
再把 LV 掛上去:
mount /dev/vg1/lv1 /lvm1
這樣就可以在 /myLVM 操作了。
開機自動掛載
LVM 增加空間
增加空間的大概步驟是這樣:
- 電腦裝上新硬碟
- 建立PV,如lvm#建立PV
- 用
vgextend把這個新的 PV 加入到既有的 VG - 用
lvextend來擴大容量 - 用
resize2fs來擴大容量
用 vgextend 新增 PV
假設 vg1 是目前的 VG 名字,新增的 PV是 /dev/sdc:
vgextend vg1 /dev/sdc
用 lvextend 來擴大容量
先用lvdisplay確認一下 LV的路徑,假設是 /dev/vg1/lv1
lvextend -L +10G /dev/vg1/lv1 # 多 10G 空間
or
lvextend -l +40%FREE /dev/vg1/lv1 多 40% 空間
用 resize2fs 來擴大容量
resize2fs /dev/vg1/lv1
LVM 換電腦
可能你重灌,或是把硬碟從這一台電腦換到另一台電腦,這都需要重新 "active" 原本的 LVM。
先用 lvscan 看看是否有找到原本的 LVM:
!
如果有的話,紅框位置就是 LVM 的路徑,之後只要啟用它就可以了:
sudo lvchange -a y /dev/vg1/lv1
之後再硬碟操作#掛載硬碟它就好了。