在做LINUX的維護過程中,經常遇到磁碟空間滿的情況,如果當初對磁碟的規劃未處理好,處理磁碟空間滿的問題將是一個比較麻煩的問題,當時安裝時系統是直接做磁碟分割掛載,未用LVM( Logical Volume Manager)管理磁碟, 這時磁碟空間滿,需要新增加磁碟後還要將空間滿的磁碟中的檔案遷移到新增加的磁碟中,這將是一個漫長的過程,尤其對於生產任務的非常重要的機器,這項任務完成起來更是非常苦難。
如果當時安裝系統使用LVM管理磁碟,這時處理磁碟空間滿的問題,將是一個非常輕鬆的任務。下面簡要講一下LVM怎麼管理磁碟,對於新增加的硬碟
第一步 運行命令fdisk命令,對磁碟進行分區,
Command (m for help): n ## 建立
Command actione extendedp primary partition (1-4)p ## 主要磁碟分割
Partition number (1-4): 1 ## 分區號
First cylinder (1-1044, default 1): ## 斷行符號用預設1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): ## 大小直接斷行符號
第二步更改剛建立分區的類型,正常LVM的類型為8e
Command (m for help): t ## 改變類型
Selected partition 1
Hex code (type L to list codes): 8e ## LVM 的分區代碼
Changed system type of partition 1 to 8e (Linux LVM)
第三步,建立PV
pvcreate /dev/sdb1
建立成功後,使用pvdisplay進行查看
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID jszvzz-ENA2-g5Pd-irhV-T9wi-ZfA3-0xo092
第四步建立VG
vgcreate vg-www /dev/sdb1 第一個參數vg-www是VG的名稱,這個可以任意起名,便於記憶就可以,第二個參數 /dev/sdb1, 是PV的名稱,
建立完成之後,可以使用vgdisplay進行查看
--- Volume group ---
VG Name vg-www
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 1.01 GiB
PE Size 4.00 MiB
Total PE 258
Alloc PE / Size 0 / 0
Free PE / Size 258 / 1.01 GiB
VG UUID bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK
第五步建立LV
lvcreate -L 1G -n lv-www vg-www
第一個參數-L 是建立LV的空間大小, -n是LV的名稱, 最後vg-www是VG的名稱
建立完成之後,使用命令lvdisplay查看
# lvdisplay
--- Logical volume ---LV Name /dev/vg-www/lv-wwwVG Name vg-wwwLV UUID YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlWLV Write Access read/writeLV Status available# open 0LV Size 1000.00 MiBCurrent LE 25Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:2
第六步,對建立好的LV進行檔案系統的格式化,格式化完成之後就可以使用該分區,進行mount
mkfs.ext4 /dev/vg-www/lv-www
第七步:使用LV
mount /dev/vg-www/lv-www /www
通過以上步驟完成了對新磁碟的LVM管理,具體在使用過程出現的PV VG LV之間的關係如下圖