當虛拟機伺服器運作Docker久了後,發現Docker的檔案越來越大,某天發現此台機上的資料庫通路不了了,再重新開機資料庫等日志,提示空間不足,檢視磁盤空間:

root分區滿載啊,前段時間還有不少空間的,查下什麼大檔案内容占了空間。
find / -xdev -size +100M -exec ls -l {} \;
最近用的docker越來越大 才導緻磁盤滿了。
那下面要麼清理docker,要麼擴充磁盤。
兩步都做吧,先簡單清理docker,或許可以清理一些空間出來。
先 docker images -a 看一下是不是有過多的 <none> 的鏡像了,其中有一部分是這類鏡像。
# 删除所有未打标簽的鏡像.
docker rmi $(docker images -aq -f "dangling=true")
容器的内容也是在存儲層的。可以 docker ps -a 看一下是不是有很多之前的容器沒有删掉的,可以 docker rm $(docker ps -aq -f "dangling=true") 來删除。
<code>docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc:ro spotify/docker-gc</code>
有些容器明明stop了,但是它還是占着某些資源
docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }')
使用docker自帶指令先清理一次。
docker system prune -a
注意:
這可能會清除掉images,慎用。
再進行了上面對docker處理後,下面對磁盤擴容。
選中虛拟機->虛拟機設定->添加=》硬碟->添加15G,可以看看第一張圖的硬碟1是SCSI(0:0)新加的硬碟2是SCSI(0:1)
先看一下現有磁盤情況:
對新磁盤進行分區:
在fdisk的互動模式中,依次輸入:
這樣就把整個磁盤分成了一個區。
再看一下現有磁盤情況:
# fdisk -l
已經多出了一個新分區:
将新分區用于擴充/root
先看一下卷分組:
# vgdisplay -v
可以看到目前卷分組名為"centos_h32"。
為之前新增的分區建立實體卷:
# pvcreate /dev/sdb1
檢視結果:
# pvdisplay
擴充卷分組,"centos_h32"是vgdisplay指令查到的卷分組名:
# vgextend centos_h32 /dev/sdb1
提示成功擴充。
下面檢視一下邏輯卷:
# lvdisplay
可以看到/dev/centos_h32/root目前的LV Size是17.47GiB。
下面擴充邏輯卷/dev/centos_h32/root:
# lvextend -L +15G /dev/centos_h32/root
注:+15G是我們新增加的分區大小。
擴充後,還要執行一步 将檔案系統擴大:
擴充完成。
因為安裝CentOS用的xfs分區,是以使用指令xfs_growfs擴充檔案系統大小。否則的話使用resize2fs指令。
# df -Th
/root已經擴充到33GiB: