當前位置:首頁 » 網頁前端 » centos磁碟擴容腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

centos磁碟擴容腳本

發布時間: 2023-06-06 03:15:11

A. CentOS7 擴展磁碟容量(虛擬機及物理機同理)

伺服器是搭建在ESXI之上,安裝LAMP環境到MySQL安裝時突然報錯,查看日誌發現文件寫入失敗磁碟已滿。

查看了下磁碟容量,果真已無多少剩餘空間了,這次選擇給磁碟空間作下擴充。

顯示如下:

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

首先需要關閉操作系統,然後在設置中將磁碟調整到需要的容量。
如果選項是灰色的,說明虛擬機有快照,將其快照刪除再操作。
VMware在虛擬機設置的硬碟裡面有「擴展」按鈕可以進行設置。
其他虛擬機也差不多的操作,可以網路查看。
物理機直接增加硬碟(接入新硬碟)即可。

顯示信息:

說明增加了空間的磁碟是/dev/sda

分別鍵入以下參數:

使用partprobe重讀分區表,或者reboot重啟機器。

格式化/dev/sda3分區

進入lvm管理

LVM基礎知識: http://blog.csdn.net/wuweilong/article/details/7565530

(1)初始化剛才的分區

(2)查看卷和卷組

要記下」VG Name」,例如這里是centos;再記下」Free PE/Size」的大小,例如這里是2048

(3)將初始化過的分區加入到VG卷組

剛才記下的」VG Name」就在這里使用。但是執行到這一步時報錯了:

網路了下,因為磁碟剩餘空間實在太小了,無法執行,刪除一些數據就可以了。 我刪除了/home目錄和~目錄下的文件。

(4)擴展已有卷的容量

lvextend指令用於在線擴展邏輯卷的空間大小,不中斷應用程序對邏輯卷的訪問。其後有兩個選項

其餘兩個參數:2048是上邊通過vgdisplay查看的Free PE/Size的大小,後邊的目錄參數/dev/mapper/centos-root可以通過df -h命令查看。

(5)查看卷容量並退出

上面的步驟只是卷擴容了,文件系統還沒實現真正擴容
CentOS 7: 由於使用的是 XFS

CentOS 6:

註:本文參考felcon的「Esxi中CentOS7 擴展磁碟容量」文章進行操作和記錄。

B. Centos7 給根目錄磁碟擴容

參考教程鏈接:https://www.cnblogs.com/Axianba/p/13049615.html

大坑預警:由於算數據所需軟體均安裝在/opt路徑下,實驗室伺服器根目錄爆滿,在我刪除了一些日誌文件後空間仍然少的可憐,因此給根目錄磁碟擴容是解決這個問題最好的辦法。正好伺服器安裝了新硬碟,我以為硬碟掛載好之後會更方便我處理這個問題,我就等著硬碟安裝後來擴容根目錄,但是發現掛載好的硬碟是無法格式化的,需要卸載後再格式化進行後續操作。

執行該教程的前兩步沒有任何問題,在格式化硬碟時報錯:

mkfs.xfs: cannot open /dev/sdc1: 設備或資源忙

Google之後使用命令: dmsetup ls

也沒有找到佔用該磁碟的進程,因此方法不適合解決我的問題。

解決辦法:

umount -l /dev/sdc 強行解除掛載的硬碟後,順利完成根目錄擴容。

思考:這個方法既然可以給根目錄擴容,是否也可以給/home目錄擴容?把這個軟體運行上就去試試。

C. centos系統在不關機情況下,擴展硬碟容量的方法

不關機的情況下擴展系統硬碟空間

  1、選擇需要被擴展的虛擬機,然後右擊,選擇「編輯設置」,然後點擊「添加」:

2、選擇要添加的硬體「硬碟」,然後點擊「下一步」:

3、選擇默認,然後點擊「下一步」:

4、選擇要擴展的硬碟的容量,然後點擊「下一步」:

5、選擇默認,然後點擊「下一步」:

6、然後點擊「完成」:

7、新的硬碟正在添加,然後點擊「下一步」:

8、進入虛擬機系統,查看系統硬碟容量:

沒有載入時,重新掃描SCSI匯流排來添加設備

(1)確定主機匯流排號

ls /sys/class/scsi_host/

(2)重掃

echo "- - -">/sys/class/scsi_host/host0/scan

echo "- - -">/sys/class/scsi_host/host1/scan

echo "- - -">/sys/class/scsi_host/host2/scan

再次查看,可以看到磁碟已經新增上來了,盤符為/dev/sdb

fdisk -l

9、通過partprobe重載分區表,避免重啟系統:

        partprobe /dev/sdb

注意:出現錯誤,則需要重啟系統。

10、pvcreate 命令用於將物理硬碟分區初始化為物理卷,以便LVM使用。

        pvcreate /dev/sdb

11、pvdisplay 命令用於顯示物理卷的屬性。pvdisplay命令顯示的物理卷信息包括:物理卷名稱、所屬的卷組、物理卷大小、PE大小、總PE數、可用PE數、已分配的PE數和UUID。

        pvdisplay

12 、vgextend centos /dev/sdb:擴展卷分組,"centos"是vgdisplay命令查到的卷分組名:

        vgextend centos /dev/sdb   (上圖中的VG name,可以看卷分組名)

13、lvextend命令用於在線擴展邏輯卷的空間大小,而不中斷應用程序對邏輯卷的訪問。使用lvextend命令動態在線擴展磁碟空間,整個空間擴展過程對於應用程序來說是完全透明的。

      lvextend -L +100G /dev/mapper/centos-home

14、xfs_growfs:作為目標XFS文件系統來擴展,你可以指定掛載點、磁碟分區或者邏輯卷(在使用LVM時),使用數據塊數量來指定新的XFS文件系統的大小

       xfs_growfs /dev/mapper/centos-home

15、查看系統硬碟空間:

        df -h

以上步驟描述了centos系統在不關機情況下,擴展硬碟容量的方法。

D. centos7進行添加新硬碟對根目錄擴容

操作思路:先確定要擴展目錄的格式,df -hT,添加新硬碟,進行分區後,創建pv,然後將空間加入到vg中,然後vg中的空間加入到要擴展的目錄中,然後重新讀取空間。

命令:

插入新硬碟,不重啟識別如下命令:
fdisk -l #沒查看到相關的磁碟,進行如下操作:

識別磁碟後,進行磁碟格式化:

n #新建分區 p #主分區 1 #分區號 按回車 #起始扇區選擇默認
也是回車默認 #為了不浪費空間 p #查看創建出來的分區 w #保存

重新讓系統讀取分區,輸入兩次:

識別到如下磁碟。
···
root@Repository:/# lsblk
sdc 8:32 0 500G 0 disk
└─sdc1 8:33 0 500G 0 part
└─Repository--vg-root 252:0 0 1.1T 0 lvm /
sr0 11:0 1 1024M 0 rom
···

接下來創建pv、vg,在進行擴容。

查看vg名稱,並將空間加入到vg中,然後進行擴容。

將空間加入到vg中

擴容:
多出來的500G加入到擴展分區中:

重新讀取空間: