linux opt分區擴容操作案例


問題描述:有時候安裝系統時,業務所在的分區太小,很容易導致分區爆滿,而其他分區空閑,需要從其他分區挪空間過來或者新增磁盤擴容

 

需求分析:分配的硬盤50G/opt分到為19G,隨着業務的使用/opt文件系統已經達到100%,現在計划新分配500G的空間

 


 

方法一:

新增磁盤:已通過虛擬化控制台新增一塊大小為500G的硬盤,重啟系統識別確認。已識別到大小為500G的磁盤, 磁盤名稱為vdb(因為是虛擬機,所以是vdx名稱格式)

文件系統擴容操作:

1、查看卷組信息,只有一個centos_hikvisionos卷組且剩余空間為40m

 

 

 2、查看邏輯卷信息,opt邏輯卷屬於centos_hikvisionos卷組且大小為18.41g

 

 

 

 

 

 3、查看邏輯卷絕對路徑 

 

 

 4、新增磁盤vdb創建為物理卷

 

 

 

5、物理卷擴容至centos_hikvisionos卷組內

 

 

 6、確認centos_hikvisionos卷組擴容后的剩余空間,由40m變為500.04g

7、opt邏輯卷進行擴容,增加300G

 

 8、opt文件系統空間自動擴展

 

 

 

9、查看確認文件系統大小,/opt文件系統大小為319G,擴容成功


方法二:

從其他分區挪用,如從/home

檢查文件系統類型以及空間使用情況

 

 

從上圖得知:

  • 報空間不足的/opt並非獨立文件系統,而是/(根文件系統)的子目錄
  • /類型為XFS、容量50G、已用50G、可用空間20K、已用%為100%
  • /home類型為XFS、容量286G、已用785M、可用285G、已用%為1%
  • /和/home同屬卷組centos,由邏輯卷root和home格式化成XFS文件系統

綜上可以得出結論:/文件系統已使用100%,和圖1所示設備空間不足報錯吻合;Web登錄產生的會話信息需要空間來保存,/文件系統剩余空間不足時必然會影響業務正常運行。

方案制定:

/home文件系統未規划使用,只是存放一些用戶信息,286G容量處於閑置的狀態,/文件系統50G空間完全滿足不了系統需求。圖1顯示/和/home同屬centos卷組,分別對應的邏輯卷為/dev/mapper/centos-root和/dev/mapper/centos-home,邏輯卷格式化創建的XFS類型文件系統具有在線擴容的功能,但不具備在線縮減縮減需要重新格式化才能正常使用,格式化會清空原數據。所以考慮縮減/home時,必須先備好原數據,以便數據被清空后從備份數據恢復。文件系統的操作需要使用root用戶來執行,而且根文件系統能正常讀寫。目前根文件系統100%讀寫異常,需要清理部分空間來滿足讀寫正常,且必須要保證root用戶可以遠程SSH登錄綜上信息可以得出最終的解決方案可從四方面進行:

①   清理/var部分可回收文件釋將/已用%的值降低至100%以下,確保系統命令可正常執行

②  確保root用戶可通過SSH遠程登錄

③  備份/home數據至本地,/home縮減200G空間,格式化后再重新掛載,上傳備份文件恢復數據

④  /home縮減200G大小,完成后centos卷組剩余空間增加200G,新增剩余200G大小用於擴容/,/擴容后容量增加至250G,解決50G空間不足的問題

*****開始干活*****

1、清理/var可回收文件。執行“cd /var”進入/var目錄,執行“du -sh *”查看目錄下每個文件和目錄的大小

 

 如上圖,log目錄占用空間9.5G,進入log目錄進一步確認可回收的文件。執行“cd log”進入log目錄,執行“du -sh *” 查看目錄下每個文件和目錄的大小

 

 messagesXX文件占用空間10G左右,經確認3個4月份文件可刪除回收,因此決定刪除此3個文件回收7G左右空間。執行“rm -rf messages-201804*”命令刪除文件,執行“df -Th”查看文件刪除后/文件系統可用%的值

 

 結果顯示/文件系統空間回收完成,從已用%從100%將至88%

2、檢查root用戶SSH遠程登錄。執行“cat /etc/ssh/sshd_config |grep PermitRootLogin”查看命令查看root用戶登錄權限

 

 PermitRootLogin參數為“yes”說明root用戶允許SSH遠程登錄。HikOS默認為no,請把no修改為yes保存退出,執行”systemctl restart sshd”重啟sshd服務立即生效,打開xshell測試root用戶遠程登錄的權限

3、/home文件系統大小調整。執行“tar”命令打包/home下所有數據並命名為“home20180508bak.tar”,使用“ls”命令來確認文件是否產生。執行“mv”命令移動“home20180508bak.tar”文件至/tmp目錄作為數據備份,以便將來恢復至/home

 

4、/home下的數據被打包成home20180508bak.tar文件並移動到/tmp下,完成數據的備份。執行“umount”命令卸載文件系統/home,執行“lvresize”縮減至200G /dev/centos/home邏輯卷,邏輯卷的名稱請使用lvdisplay來查詢確認,如圖9所示,執行“mkfs.xfs”來格式化縮減后的/dev/centos/home邏輯卷,再執行“mount”重新把/dev/centos/home掛載至/home

(lvresize -L 200G /dev/centos/home  縮減到200G)

(lvresize -L -200G /dev/centos/home  縮減200G)

(lvresize -L +200G /dev/centos/home  擴容200G)

 

 

 

 

 

PS:有時umount時,會報device is busy,目標設備正在使用中,無法unmount,需要kill掉相關進程。處理方法參考:https://www.cnblogs.com/xuey/p/7878529.html

/dev/centos/home完成縮減200G(-L 200G”按理應該減少至200G,但此圖卻是從286G縮減到86G,請以現場實際情況為准),經過格式化重新掛載至掛載點/home,文件系統空間調整順利完成

執行“mv”移動備份文件至/home,執行“tar”命令解壓原數據至/home,執行“ls -la”檢查原數據是否完整

備份文件home20180508bak.tar完整解壓至/home下,數據恢復成功。

4、/文件系統擴容。 執行“lvextend”來擴容/dev/centos/root邏輯卷,執行“xfs_growfs”在線擴展XFS容量,使用“df -Th”來驗證擴容的結果

 

/文件系統從容量50G增加至250G,擴容成功。最后檢查業務是否已經恢復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM