寫(xiě)在前面
在日常使用Linux的時(shí)候,不免碰到一個(gè)比較尷尬的問(wèn)題旺隙,磁盤(pán)空間不夠用了!這個(gè)時(shí)候骏令,正常情況下蔬捷,我們有2個(gè)辦法解決這個(gè)問(wèn)題。
1. 重新分配一個(gè)新的分區(qū)榔袋,掛載在所需要的目錄下周拐。
2. 備份數(shù)據(jù),重新安裝系統(tǒng)凰兑,重新將磁盤(pán)分區(qū)速妖。
但是,無(wú)論選擇哪個(gè)方法聪黎,都不夠優(yōu)雅罕容,而且备恤,一般情況下重裝系統(tǒng)會(huì)需要重新所有必須的軟件,而第一種辦法又無(wú)法擴(kuò)展/分區(qū)锦秒。所以才會(huì)有下面使用LVM管理磁盤(pán)露泊。
創(chuàng)建PV
在虛擬機(jī)中新建了一個(gè)10G的磁盤(pán),使用sudo fdisk -l 命令列出如下
其中/dev/sdc是新建的磁盤(pán)旅择,接下來(lái)惭笑,我們可以將整個(gè)磁盤(pán)作為一個(gè)PV,也可以將sdc分區(qū)后生真,再將其中的某個(gè)分區(qū)作為一個(gè)PV沉噩。下面我采用的是第一種方案:將整個(gè)磁盤(pán)作為一個(gè)PV。
通過(guò)sudo pvcreate /dev/sdc就可以將磁盤(pán)創(chuàng)建成了一個(gè)PV柱蟀,sudo pvscan 可以查看目前存在哪些PV川蒙。由上圖可以知道sdc剛創(chuàng)建还最,還沒(méi)加入到某一個(gè)VG里面吼旧。
創(chuàng)建VG
通過(guò)sudo vgcreate vg1 /dev/sdc 創(chuàng)建了一個(gè)VG,其中物理卷/dev/sdc屬于個(gè)vg1泛鸟,其實(shí)我們可以在創(chuàng)建vg1時(shí)术瓮,指定多個(gè)物理卷康聂。
我們還可以通過(guò)sudo vgdisplay 顯示更加詳細(xì)的信息
我們可以通過(guò)sudo vgextend vg1 /dev/sdd 給vg1擴(kuò)展一個(gè)物理卷軸。
也可以通過(guò) sudo vgreduce vg1 /dev/sdd 給vg1移除一個(gè)物理卷軸胞四。
當(dāng)然恬汁,我們也可以通過(guò) sudo vgremove vg1 直接刪除一個(gè)vg
也可以通過(guò) sudo pvremove /dev/sdd 刪除 一個(gè)pv
創(chuàng)建LV
LV是建立在一個(gè)VG上的。下面是LV的創(chuàng)建和刪除
sudo lvcreate -L 10G -n lv1 vg1
在vg1卷軸組的基礎(chǔ)上創(chuàng)建了一個(gè)大小10G的邏輯卷軸lv1
當(dāng)然辜伟,我們也可以創(chuàng)建一個(gè)使用了卷軸組vg1全部空間的邏輯卷軸
sudo lvcreate -l 5118 -n lv1 vg1
可以從下圖看出PE總數(shù)量是5118
接下來(lái)氓侧,才是重頭戲,擴(kuò)展邏輯卷軸的大小游昼。
sudo lvextend -L +5G /dev/vg1/lv1 ?擴(kuò)展5G
sudo lvextend -L 15G /dev/vg1/lv1 ?直接設(shè)置成15G,注意這個(gè)15G必須大于原來(lái)的值
sudo lvextend -l +50 /dev/vg1/lv1 ?擴(kuò)展50個(gè)PE大小
sudo lvextend -l 3000 /dev/vg1/lv1? 直接設(shè)置成3000個(gè)PE尝蠕,注意這個(gè)3000必須大于原來(lái)的值
有擴(kuò)展烘豌,就有縮減。
sudo lvreduce -L -5G /dev/vg1/lv1 ?減少5G
sudo lvreduce -L 5G /dev/vg1/lv1? 直接設(shè)置成5G看彼,注意這個(gè)5G必須小于原來(lái)的值
sudo lvreduce -l -50 /dev/vg1/lv1 ?減少50個(gè)PE大小
sudo lvreduce -l 1000 /dev/vg1/lv1直接設(shè)置成1000個(gè)PE廊佩,注意這個(gè)1000必須小于原來(lái)的值
剩下的,就是格式化和掛載了靖榕,超出了本文介紹的范圍标锄。如果邏輯分區(qū)卷軸已經(jīng)掛載到文件系統(tǒng)了,那么我們?cè)诟淖兞司磔S大小后料皇,需要使用
reszie2fs /dev/vg1/lv1 更新分區(qū)大小