Ubuntu
BTRFS:“設備上沒有剩餘空間”,但 btrfs 命令另有說明
我正在使用 BTRFS 從 2 個磁碟創建一個 RAID0 卷。兩者都在一個 AWS EC2 實例上,每個實例都有 30 GB 可用空間。我用來創建文件系統的命令是:
btrfs -d raid0 -L MYLABEL /dev/xvdf /dev/xvdg
.現在 Ubuntu 告訴我磁碟空間已滿,就像 BTRFS 一樣:
root@host:/var/docker-apps/prometheus# btrfs balance start -dconvert=raid0 . ERROR: error during balancing '.': No space left on device There may be more info in syslog - try dmesg | tail root@host:/var/docker-apps/prometheus#
有趣的是,當我看到
btrfs filesystem usage
這個時:root@host:/var/docker-apps/prometheus# btrfs filesystem usage . Overall: Device size: 60.00GiB Device allocated: 60.00GiB Device unallocated: 2.00MiB Device missing: 0.00B Used: 25.26GiB Free (estimated): 34.22GiB (min: 34.22GiB) Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 256.00MiB (used: 0.00B) Data,RAID0: Size:57.98GiB, Used:23.76GiB /dev/xvdf 28.99GiB /dev/xvdg 28.99GiB Metadata,RAID1: Size:1.00GiB, Used:766.11MiB /dev/xvdf 1.00GiB /dev/xvdg 1.00GiB System,RAID1: Size:8.00MiB, Used:16.00KiB /dev/xvdf 8.00MiB /dev/xvdg 8.00MiB Unallocated: /dev/xvdf 1.00MiB /dev/xvdg 1.00MiB root@host:/var/docker-apps/prometheus#
現在,對我來說,讀起來像“我有 60 GB 的 RAID0 空間可用,我目前使用其中大約 25 個(已使用:頂部塊中的條目,以及空閒:同一塊中的條目)”。我認為這很清楚。
但還是:
No space left on device
。所以——我錯了嗎?我該如何閱讀這個?為什麼我不能再在 BTRFS 分區中創建文件了?我如何閱讀這個輸出?這裡發生了什麼?
閱讀: http: //marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html
您似乎正在遭受文章的“元數據已滿”,因為 Btrfs 為自己保留了 0.5 GB,這意味著它已滿,因此阻止了任何新的寫入。這篇文章建議你應該對其進行全面的重新平衡。
還要記住,正常的 df 是謊言,它永遠不會告訴你真正的 btrfs 使用統計資訊。