CentOS7中基于LVM擴展根分區

故事前景

有一vmware虛擬機,磁盤大小設置為默認的20GB,安裝的是CentOS7.4,安裝CentOS默認使用GPT分區格式建立LVM分區。分區格式如下圖所示:

node1原分區方式.png

系統根分區"/",其大小為17G,現覺得空間過小,滿足不了使用需求**,因此產生了基于LVM技術對它進行擴容的想法。以下是具體的操作過程。

1. 增加磁盤空間

增加磁盤空間,可以調整原磁盤的大小,或者給虛擬機添加新的硬盤,操作期間都先關閉虛擬機。
我選擇的是直接將原有的磁盤空間加大。操作如下圖所示:

node1-調整磁盤大小.png

將原磁盤大小由20GB,拖動至100GB。確認以后,vmware會彈出提示:新的磁盤需要在虛擬機系統中進行相應操作后才能使用。(大致意思,對話框沒有截圖)

2. 進行LVM擴容

啟動虛擬機,進入以后"df -h"查看分區和調整前一樣。然后按如下順序開始LVM擴容操作。

2.1 給新增加的硬盤建立分區

因為系統使用GPT分區格式建立的分區,所以這里使用"parted"指令完成對新增加硬盤空間的分區工作。(parted指令需要yum install parted安裝)
系統中只有一塊硬盤,剛才也只是將這塊硬盤大小增加了,所以其設備名仍為前面圖中的"/dev/sda",然后使用"parted /dev/sda"完成LVM分區操作。如果是新增加了另一塊磁盤,則先通過"parted -l"查找到系統識別出來的磁盤設備名,再進行后續操作。

  • print
    查看現有分區


    node1-原磁盤分區.png
  • mkpart primary 21.5GB 100%
    21.5GB是原有磁盤最后一個分區的位置,放在此處作為新建分區的起始位置,100%則表示整塊磁盤的最大容量的位置處,簡而言之就是將新增加的磁盤空間全部劃為一個分區。


    node1-新建分區.png
  • name 4 addpart
    4表示分區編號,在原有的三個分區之上又新建了一個分區,所以其編號自然為4,"addpart"自定義的分區名稱,此步也可省略。


    node1-給新建分區命名.png
  • set 4 lvm
    將新建的分區設置為lvm分區。

    node1-將新建分區創建為lvm.png

    然后使用"quit"退出"parted"交互模式。parted區別于fdisk的地方,除了支持超過2T大小的分區外就是它的操作執行后即刻生效,無需顯示地執行"w"操作。

2.2 LVM分區擴容

"parted"分區完成以后,使用fdisk也可以看到新建分區(sda4)的相關信息,如下可見原磁盤(/dev/sda)新增了80GB空間。

node1-新建分區查看.png

  • pvcreate /dev/sda4
    將/dev/sda4創建為新的PV。


    node1-創建新的PV.png
  • pvdisplay
    查看磁盤中的PV信息。

    node1-PV信息.png

    從上可以看到兩個PV都屬于同一個名為"centos"的VG。

  • vgextend centos /dev/sda4
    擴容VG的大小,讓centos這個VG包含新增的磁盤(/dev/sda4)。


    node1-VG擴容.png
  • vgdisplay
    查看VG的大小。


    node1-VG擴容前的大小.png

    node1-VG擴容后的大小.png
  • lvextend -L 80G /dev/centos/root
    80G表示將名為root的LV擴充到80GB,顯然不夠準確,增加了80GB空間,不應該是擴充至80GB。還可以使用+80GB,或者+unit 表示增加多個單位(扇區)。以下是我lvextend擴容過程。


    node1-LV擴容1.png

    node1-LV擴容2.png
  • resize2fs /dev/centos/root
    調整名為root的lv的大小,使其識別到新lv的大小。但出現錯誤"resize2fs: Bad magic number in super-block" centos為vg名,root為lv名。

    node1-LV擴容3.png

    出現此錯誤的原因是resize2fs只支持ext2,ext3,ext4文件系統分區大小調整。

  • xfs_growfs /dev/mapper/centos-root
    通過"mount"指令可以查詢到CentOS7默認使用的是xfs文件系統,因此此處使用xfs_growfs指令調整其大小即可。"xfs_growfs"是xfs文件專用的擴容工具。

    node1-xfs分區擴容.png

3. 驗證擴容結果

  • df -h
    查看擴容的根分區大小。


    node1-根分區擴容后.png

    從上面可以看到根分區擴容成功,重啟后系統也工作正常,原磁盤數據未見損壞。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容