在做LINUX的維護過程中,經常遇到磁盤空間滿的情況,如果當初對磁盤的規劃未處理好,處理磁盤空間滿的問題將是一個比較麻煩的問題,當時安裝時系統是直接做磁盤分區掛載,未用LVM( Logical Volume Manager)管理磁盤, 這時磁盤空間滿,需要新增加磁盤後還要將空間滿的磁盤中的文件遷移到新增加的磁盤中,這將是一個漫長的過程,尤其對於生產任務的非常重要的機器,這項任務完成起來更是非常苦難。
如果當時安裝系統使用LVM管理磁盤,這時處理磁盤空間滿的問題,將是一個非常輕鬆的任務。下面簡要講一下LVM怎麼管理磁盤,對於新增加的硬盤
第一步 運行命令fdisk命令,對磁盤進行分區,
fdisk /dev/sdb
Command (m for help): n ## 新建Command actione extendedp primary partition (1-4)p ## 主分區 Partition number (1-4): 1 ## 分區號First cylinder (1-1044, default 1): ## 回車用默認的1Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## 大小
第二步更改剛創建分區的類型,正常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-www VG Name vg-www LV UUID YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlW LV Write Access read/write LV Status available# open 0 LV Size 1000.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto- currently set to 256 Block device 253:2
第六步,對創建好的LV進行文件系統的格式化,格式化完成之後就可以使用該分區,進行mount
mkfs.ext4 /dev/vg-www/lv-www
第七步:使用LV
mount /dev/vg-www/lv-www /www
通過以上步驟完成了對新磁盤的LVM管理,具體在使用過程出現的PV VG LV之間的關係如下圖