Filesystems

保留塊問題:分區大小已成功更改但作業系統無法辨識

  • August 14, 2016

我執行雙引導系統,L​​inux 發行版是 Ubuntu 14.04。

我使用 GParted 擴大了一個名為 的邏輯分區,/dev/sda6/home目錄通常安裝在該分區上。根據 GParted 報告,該操作已成功完成。分區大小為 85 GiB,其中 83GiB 已使用,2 GiB 空閒(d),如預期的那樣。

然而,這有兩個奇怪的地方:

  1. 登錄後無法辨識此增益。當我使用 檢查磁碟使用情況時df -h,報告顯示已/dev/sda6正確安裝在 上的分區/home大小為 85 GiB,其中 83 個已使用,0個可用。聲稱使用率為 100%。
  2. 另一個奇怪的是,我可以通過圖形使用者界面定期登錄我的使用者資料。但是,在辨識出憑據後,系統會停止並且不會飛濺到桌面環境中。為了獲取df -h資訊,我需要在任何文本終端中使用我的正常身份登錄,或者在圖形使用者界面中使用訪客身份登錄。附帶說明一下,看起來數據並未損壞。

我該如何解決這種情況?目的是使分區的大小增加對作業系統完全可用。謝謝你的協助。

您可能正在使用其中一種ext文件系統(通常是預設的 linux 文件系統ext4)。大多數情況下,在創建時,它將使用名為reserved blocks. 這個保留的空間只能被系統程序和root寫入,因此可以保護作業系統免受使用者填充磁碟的影響。

的主要目的df是顯示總計中可用的磁碟空間量。雖然它還顯示了(由使用者)使用的空間,但它不顯示這個保留空間。

預設情況下,此緩衝區佔整個磁碟的 5%。你可以檢查你是否有這樣的緩衝區sudo tune2fs -l /dev/sda6 | grep Reserved。通過鍵入sudo tune2fs -l /dev/sda6 | grep [bB]locksone 還可以讀取保留塊的數量和塊大小(以 B 為單位),從而確定此構造佔用的分區空間。這可以解釋系統看到 85GiB,但只有 83 個使用和 0 個空閒。

如果你真的想要,你可以將緩衝區設置為較低的值sudo tune2fs -m 2 /dev/sda6(2 是百分比的範例值,預設情況下為 5)。

更好的選擇是實際調整大小,以便有足夠的磁碟空間可用以確保安全。85GiB 中的 2GiB 僅為 2.35%,這不是很多,而且在大多數情況下會相對較快地填滿。如果您確定您的空間使用量將穩定在 83GiB,那麼您可以使用 tune2fs 保留 0% 的空間以確保安全,但是一旦您的磁碟填滿(到 85GiB),您將無法登錄全部和機器可能會崩潰並且更難修復。

5%的安全邊際是相對合理的。因此,在這種情況下,我會將分區設置為至少 90GiB,但可能甚至 100 或更多,只是為了有一些空間以備不時之需。磁碟空間很便宜,修復因磁碟已滿而引起的問題的時間可能更昂貴。

這個問題的答案讓我們對推理有了更多的了解。

引用自:https://unix.stackexchange.com/questions/302618