1. 程式人生 > >Esxi中CentOS7 擴充套件磁碟容量

Esxi中CentOS7 擴充套件磁碟容量

伺服器是搭建在Esxi之上,使用Mysql時忽然報錯,資料連線不上,重啟服務也出現問題。使用命令journalctl -xe檢視一下日誌,發現啟動服務時報錯——

: mariadb.service failed to run 'start-pre' task: No space left on device

查看了下磁碟容量,果真使用100%,都被MySQL目錄下的ibdata1檔案填滿了。怎麼瘦身下回再說,這次先給磁碟空間作下擴充把。

1. 檢視掛載點資訊

[[email protected]]# df -h

顯示如下:

檔案系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 36G 36G 20K 100% /
……


可見可用只剩20K,使用已經100%。

2. 擴充套件VMWare硬碟空間
首先需要關閉作業系統,然後在設定中將磁碟調整到需要的容量。
如果選項是灰色的,說明虛擬機器有快照,將其快照刪除再操作。

3. 對新增加的硬碟進行分割槽、格式化
(1)檢視一下調整後的磁碟狀態

[[email protected]]# fdisk -l
顯示資訊:

磁碟 /dev/sda:214.7 GB, 214748364800 位元組,419430400 個扇區
……

說明增加了空間的磁碟是/dev/sda
(2)磁碟分割槽

[[email protected]]# fdisk /dev/sda

分別鍵入以下引數:

p       檢視已分割槽數量(我看到有兩個 /dev/sda1 和/dev/sda2)
n       新增加一個分割槽
p       分割槽型別,選擇主分割槽
        分割槽號選3(1和2已佔用,見上)
回車     預設選擇(起始扇區)
回車     預設選擇(結束扇區)
t       修改分割槽型別
       選分割槽3
8e     修改為LVM(8e就是LVM)
w       寫分割槽表,完成後退出fdisk命令

使用partprobe重新讀取分割槽表,或者重啟機器。

[

[email protected]]# partprobe

格式化分割槽

[[email protected]]# mkfs.ext3 /dev/sda3

4. 新增新LVM到已有的LVM組,實現擴容
進入lvm管理

[[email protected]]# lvm

pvcreate /dev/sda3

(2)檢視卷和卷組

vgdisplay

要記下”VG Name”,這裡為centos;再記下”Free PE/Size”的大小,例如這裡為21513

(3)將初始化過的分割槽加入到虛擬卷組

vgextend centos /dev/sda3

剛才記下的”VG Name”就在這裡使用。但是執行到這一步時報錯了:
Couldn't create temporary archive name.
Volume group "centos" metadata archive failed.
Internal error: Attempt to unlock unlocked VG #orphans.

查看了下,因為磁碟實在太小了,無法執行,刪除一些資料就行。
(4)擴充套件已有卷的容量

lvextend -l +21513 /dev/mapper/centos-root

lvextend指令用於線上擴充套件邏輯卷的空間大小,而不中斷應用程式對邏輯卷的訪問。其後有兩個選項

選項 說明
-L 指定邏輯卷的大小,單位為“kKmMgGtT”位元組,也就是Size
-l 指定邏輯卷的大小,單位為PE數

其餘兩個引數:21513 是上邊通過vgdisplay檢視的free的大小,後邊的目錄引數/dev/mapper/centos-root可以通過df命令檢視
(5)檢視卷容量

pvdisplay

(6)退出

quit

5. 檔案系統擴容
以上只是卷擴容了,還要對檔案系統實現真正擴容
CentOS 7 下面 由於使用的是 XFS,所以要用

xfs_growfs /dev/mapper/centos-root

CentOS 6 下面 要用

resize2fs /dev/mapper/centos-root

6. 檢視新的磁碟空間

df -h