如何處理 Proxmox Backup Server 硬碟空間滿 100% 的問題

當你的 PBS(Proxmox Backup Server)硬碟滿到 100% 的時候,系統無法再處理任何資料,這是個相當棘手的問題。下面是詳細的步驟來解決這個問題。

1. 確認硬碟使用情況

首先,使用 df -h 命令來查看硬碟的使用情況:

root@pbs:~# df -h
Filesystem        Size  Used Avail Use% Mounted on
udev               32G     0   32G   0% /dev
tmpfs             6.3G  1.5M  6.3G   1% /run
rpool/ROOT/pbs-1  1.4T  1.4T     0 100% /
tmpfs              32G     0   32G   0% /dev/shm
tmpfs             5.0M     0  5.0M   0% /run/lock
rpool             128K  128K     0 100% /rpool
rpool/ROOT        128K  128K     0 100% /rpool/ROOT
tmpfs             6.3G     0  6.3G   0% /run/user/0

從輸出結果可以看到 rpool/ROOT/pbs-1 已經滿了,無法再寫入新的資料。

2. 清除舊的 Log 文件

為了釋放空間,可以先清除超過90天的舊 Log 文件。執行以下命令:

find /var/log/proxmox-backup/tasks -type f -name 'UPID*' -mtime +90 -delete

這個命令會刪除位於 /var/log/proxmox-backup/tasks 目錄下,名稱以 UPID 開頭且修改時間超過90天的文件。

3. 確認空間釋放情況

再次使用 df -h 命令來檢查硬碟使用情況:

root@pbs:~# df -h
Filesystem        Size  Used Avail Use% Mounted on
udev               32G     0   32G   0% /dev
tmpfs             6.3G  1.5M  6.3G   1% /run
rpool/ROOT/pbs-1  1.4T  1.4T  499M 100% /
tmpfs              32G     0   32G   0% /dev/shm
tmpfs             5.0M     0  5.0M   0% /run/lock
rpool             499M  128K  499M   1% /rpool
rpool/ROOT        499M  128K  499M   1% /rpool/ROOT
tmpfs             6.3G     0  6.3G   0% /run/user/0

可以看到 rpool/ROOT/pbs-1 已經釋放出 499MB 的空間,這意味著系統有了一些可用空間來處理其他操作。

4. 執行垃圾回收

現在有了空間,可以執行垃圾回收(Garbage Collection),這是清理 PBS 系統中的無用數據和過期快照的過程。可以通過 Web 界面或命令行來執行垃圾回收。

使用 Web 界面執行垃圾回收

  1. 登入 Proxmox Backup Server 的 Web 界面。
  2. 導航到 Datastore
  3. 選擇需要清理的 Datastore。
  4. 點擊 Maintenance,然後選擇 Garbage Collection

使用命令行執行垃圾回收

proxmox-backup-manager datastore gc <datastore-name>

這樣,垃圾回收過程會清理掉不再需要的數據,進一步釋放空間。