Linux
XFS:設備上沒有剩餘空間,(但我有 850GB 可用空間!)
我在 Amazon EC2 上使用 mdadm、lvm2 和 XFS 的組合。
到目前為止,我已經成功執行了一個由多個 EBS 卷建構的 RAID 5 卷。附加 EBS 卷並與 mdadm 一起使用以創建 RAID 5。然後,我使用 LVM 將生成的 RAID 呈現為單個物理捲和單個邏輯卷。
過去,我可以通過添加新的 EBS 卷、附加它,然後執行以下過程來擴展文件系統。
mdadm --add /dev/md0 /dev/xvdi # grow the raid... (could take a while for a large disk!) mdadm --grow /dev/md0 --raid-devices=4 # grow the LVM physical volume pvresize /dev/md0 # grow the LVM logical volume ... fairly certain # -l100%PVS will make the extents use as much space # as possible on physical disks (and hopefully won't overwrite anything) lvresize -l100%PVS /dev/data_vg/data_lv # resize the file system, too! xfs_growfs /dev/data_vg/data_lv # yay! df -h
從表面上看,我最近一次嘗試這樣做效果很好。執行 df -ih/fh 表明我有一個已掛載的文件系統,正如預期的那樣,還有一個額外的 TB 可用。此外,使用的 inode 總數僅為 1%。此外,pvdisplay 和 lvdisplay 還顯示正確的捲大小。
我什至可以在卷中添加一些數據(大約 150GB)。但是,今天我嘗試創建一個目錄並獲取
mkdir:設備上沒有剩餘空間
如果據稱我有大量可用的 inode,為什麼會遇到這個問題?
我已經解除安裝了磁碟並執行了 xfs_check,但這並沒有報告任何問題。
謝謝!
我能夠通過以下方式解決問題:
umount [the mountpoint] mount /dev/data_vg/data_lv -o inode64 [the mountpoint]
顯然,預設(32 位 inode?)xfs 會將所有 inode 儲存在磁碟的前 1TB 部分中。這意味著如果第一個 1TB 已滿,那麼即使看起來您有足夠的空間/inode 可用,您也會遇到磁碟上沒有空間的錯誤。通過添加 inode64 選項,如果我理解正確,節點可以儲存在磁碟上的任何位置。
資料來源:XFS 常見問題解答。