centos7 解除安裝home 擴大root空間

2021-10-21 08:40:10 字數 2176 閱讀 3454

背景:檢查gitlab備份伺服器時,發現最近幾天的備份檔案沒有根據設定上傳到這台伺服器。

由於這台伺服器較新,除了接收的備份檔案外並沒有部署其他檔案,所以最先可以排除inode不夠的可能,但是備份檔案大概也就40g+,這個伺服器明明分配了100g的空間。

於是我在gitlab所在的伺服器上,手動執行一次備份檔案命令後,出現了「no space left on device」。

空間不足?於是我在備份伺服器上檢視空間占用。 

發現雖然給了這個centos100g的磁碟空間,但root只有50g的可用空間,剩下的空間大都分配給了/home。

查詢資料後了解到,centos7預設的root大小為50g,也就是說如果硬體分配時超過50g,大部分剩餘空間都會分配給home。

軟體如果裝在/usr/local目錄下,並且data等資料檔案也配置在root下,則必須在裝機後調整root的大小,否則執行一段時間後很容易導致磁碟空間不足。

看來這樣的確是磁碟空間不足引發了這次問題,反正這台虛擬機器裡我並不需要安裝什麼服務,如果可以將home去掉,再將空間都給root就解決問題了。於是我查詢資料後根據實際情況整理了這篇解決方案。

1.1 備份home分割槽檔案

tar cvf /tmp/home.tar /home
準備解除安裝/home檔案系統,centos啟動時會對/etc/fstab的內容逐一檢測,由於fstab預設有/home,如果不修改fstab,重啟之後會發現centos跪了。

所以解除安裝之前,要先注釋掉/home,不讓系統開機檢測/home。

#編輯fstab

vim /etc/fstab

注釋掉/home的內容,wq儲存。 

yum install -y psmisc
//psmisc軟體包包含三個幫助管理/proc目錄的程式,安裝下列程式: fuser、 killall、pstree和pstree.x11(到pstree的鏈結)

//fuser 顯示使用指定檔案或者檔案系統的程序的pid。

//killall 殺死某個名字的程序,它向執行指定命令的所有程序發出訊號。

//pstree 樹型顯示當前執行的程序。

與pstree功能相同,只是在退出前需要確認。

umount /home
如果提示無法解除安裝,是因為有程序占用/home,可以用下面的命令來停止占用的程序。  

fuser -km /home/
接著會出現確認的內容,輸入「y」,回車。

由於之前/home占用了47g的空間,故我考慮將這些空間都加到/root裡。 

可是發現可用的空間並不是47g,應該是系統四捨五入了,減小一點換成48100mb。

ps:不去精確設定可用空間的原因是:我自己對如何獲取可用空間的方法並不了解,與其花時間去了解這一塊,我寧可浪費一點空間(畢竟幾十mb的機械硬碟不值多少錢,即使是企業硬碟)。 

出現下面的內容,說明/root所在的lv已經成功拓展成了96.97gb。

# 則用以下方式 全部空間都給這個盤

圖中的13107200、25420800根據檔案大小換算了下,和50g、97g都不符合,這個問題先擱置下,以後查資料看看。

可以發現/root從原來的50g提公升到了97g。

1.2.

centos 7 解除安裝mysql

解除安裝maridb root host 131 rpm qa grep mariadb mariadb libs 5.5.52 1.el7.x86 64 root host 131 yum y remove mari root host 131 rm rf var lib mysql root h...

Centos 7 如何解除安裝docker

1首先搜尋已經安裝的docker 安裝包 root localhost yum list installed grep docker 或者使用該命令 root localhost rpm qa grep docker docker.x86 64 2 1.12.6 16.el7.centos extr...

CentOS 7解除安裝Mysql過程

mysql community解除安裝 像我這樣子的linux菜鳥接下來的想法,當然是解除安裝了mysql換成mariadb了。於是我找到了這篇文章 解除安裝掉安裝的部分 首先執行檢視命令,看一下都安轉了什麼東東 開始解除安裝 執行解除安裝命令 yum remove mysql community ...