故事前景
有一vmware虛擬機(jī),磁盤(pán)大小設(shè)置為默認(rèn)的20GB,安裝的是CentOS7.4糕珊,安裝CentOS默認(rèn)使用GPT分區(qū)格式建立LVM分區(qū)崖堤。分區(qū)格式如下圖所示:
系統(tǒng)根分區(qū)"/",其大小為17G,現(xiàn)覺(jué)得空間過(guò)小柠并,滿(mǎn)足不了使用需求**岭接,因此產(chǎn)生了基于LVM技術(shù)對(duì)它進(jìn)行擴(kuò)容的想法。以下是具體的操作過(guò)程臼予。
1. 增加磁盤(pán)空間
增加磁盤(pán)空間鸣戴,可以調(diào)整原磁盤(pán)的大小,或者給虛擬機(jī)添加新的硬盤(pán)瘟栖,操作期間都先關(guān)閉虛擬機(jī)葵擎。
我選擇的是直接將原有的磁盤(pán)空間加大。操作如下圖所示:
將原磁盤(pán)大小由20GB半哟,拖動(dòng)至100GB酬滤。確認(rèn)以后,vmware會(huì)彈出提示:新的磁盤(pán)需要在虛擬機(jī)系統(tǒng)中進(jìn)行相應(yīng)操作后才能使用寓涨。(大致意思盯串,對(duì)話框沒(méi)有截圖)
2. 進(jìn)行LVM擴(kuò)容
啟動(dòng)虛擬機(jī),進(jìn)入以后"df -h"查看分區(qū)和調(diào)整前一樣戒良。然后按如下順序開(kāi)始LVM擴(kuò)容操作体捏。
2.1 給新增加的硬盤(pán)建立分區(qū)
因?yàn)橄到y(tǒng)使用GPT分區(qū)格式建立的分區(qū),所以這里使用"parted"指令完成對(duì)新增加硬盤(pán)空間的分區(qū)工作糯崎。(parted指令需要yum install parted安裝)
系統(tǒng)中只有一塊硬盤(pán)几缭,剛才也只是將這塊硬盤(pán)大小增加了,所以其設(shè)備名仍為前面圖中的"/dev/sda"沃呢,然后使用"parted /dev/sda"完成LVM分區(qū)操作年栓。如果是新增加了另一塊磁盤(pán),則先通過(guò)"parted -l"查找到系統(tǒng)識(shí)別出來(lái)的磁盤(pán)設(shè)備名薄霜,再進(jìn)行后續(xù)操作某抓。
-
print
查看現(xiàn)有分區(qū)
-
mkpart primary 21.5GB 100%
21.5GB是原有磁盤(pán)最后一個(gè)分區(qū)的位置,放在此處作為新建分區(qū)的起始位置惰瓜,100%則表示整塊磁盤(pán)的最大容量的位置處否副,簡(jiǎn)而言之就是將新增加的磁盤(pán)空間全部劃為一個(gè)分區(qū)。
-
name 4 addpart
4表示分區(qū)編號(hào)崎坊,在原有的三個(gè)分區(qū)之上又新建了一個(gè)分區(qū)备禀,所以其編號(hào)自然為4,"addpart"自定義的分區(qū)名稱(chēng),此步也可省略曲尸。
-
set 4 lvm
將新建的分區(qū)設(shè)置為lvm分區(qū)呻待。
然后使用"quit"退出"parted"交互模式。parted區(qū)別于fdisk的地方队腐,除了支持超過(guò)2T大小的分區(qū)外就是它的操作執(zhí)行后即刻生效蚕捉,無(wú)需顯示地執(zhí)行"w"操作。
2.2 LVM分區(qū)擴(kuò)容
"parted"分區(qū)完成以后柴淘,使用fdisk也可以看到新建分區(qū)(sda4)的相關(guān)信息迫淹,如下可見(jiàn)原磁盤(pán)(/dev/sda)新增了80GB空間。
-
pvcreate /dev/sda4
將/dev/sda4創(chuàng)建為新的PV为严。
-
pvdisplay
查看磁盤(pán)中的PV信息敛熬。
從上可以看到兩個(gè)PV都屬于同一個(gè)名為"centos"的VG。 -
vgextend centos /dev/sda4
擴(kuò)容VG的大小第股,讓centos這個(gè)VG包含新增的磁盤(pán)(/dev/sda4)应民。
-
vgdisplay
查看VG的大小。
-
lvextend -L 80G /dev/centos/root
80G表示將名為root的LV擴(kuò)充到80GB夕吻,顯然不夠準(zhǔn)確诲锹,增加了80GB空間,不應(yīng)該是擴(kuò)充至80GB涉馅。還可以使用+80GB归园,或者+unit 表示增加多個(gè)單位(扇區(qū))。以下是我lvextend擴(kuò)容過(guò)程稚矿。
-
resize2fs /dev/centos/root
調(diào)整名為root的lv的大小庸诱,使其識(shí)別到新lv的大小。但出現(xiàn)錯(cuò)誤"resize2fs: Bad magic number in super-block" centos為vg名晤揣,root為lv名桥爽。
出現(xiàn)此錯(cuò)誤的原因是resize2fs只支持ext2,ext3,ext4文件系統(tǒng)分區(qū)大小調(diào)整。 -
xfs_growfs /dev/mapper/centos-root
通過(guò)"mount"指令可以查詢(xún)到CentOS7默認(rèn)使用的是xfs文件系統(tǒng)昧识,因此此處使用xfs_growfs指令調(diào)整其大小即可钠四。"xfs_growfs"是xfs文件專(zhuān)用的擴(kuò)容工具。
3. 驗(yàn)證擴(kuò)容結(jié)果
-
df -h
查看擴(kuò)容的根分區(qū)大小滞诺。
從上面可以看到根分區(qū)擴(kuò)容成功形导,重啟后系統(tǒng)也工作正常环疼,原磁盤(pán)數(shù)據(jù)未見(jiàn)損壞习霹。