Linux

重新創建 XFS 項目配額資訊

  • January 14, 2022

我們重新創建了一個文件伺服器,它有一個使用 SAN 上的項目配額的 XFS 文件系統。不幸的是,我們忘記在重新安裝之前在伺服器上備份 /etc/projects 和 /etc/projid。XFS 文件系統本身,以及儲存在其中的配額資訊,都是好的 AFAICS。有沒有辦法找出磁碟上目錄的項目 ID,以便我們可以重新創建 /etc/{projects,projid}?

澄清一下,假設 XFS 文件系統安裝在 /export/xfs 上並包含目錄 /export/xfs/foo 和 /export/xfs/bar。所以我們需要在 /etc/projects 中有以下條目

NN:/export/xfs/foo
MM:/export/xfs/bar

以及 /etc/projid 中的以下條目

foo:NN
bar:MM

那麼我們如何檢索儲存在磁碟上的 NN 和 MM 的值呢?

好吧,既然沒人知道答案,我必須自己想辦法。以下似乎有效:

對其中一個項目目錄的項目 ID 進行猜測 (NN)。然後執行

xfs_quota -x -c "project -c -p /export/xfs/projdir -d 0 NN"

如果您的猜測是正確的,您應該會看到如下輸出

Checking project NN (path /export/xfs/projdir)...

如果您的猜測不正確,您應該會看到如下輸出

/export/xfs/projdir - project identifier is not set (inode=MM, tree=NN)

其中 NN 是您的猜測,正確的項目 ID 是 MM。因此基於此,您可以為該項目目錄填寫 /etc/projects 和 /etc/projid。然後,對文件系統中的所有項目目錄重複此操作(用於自動化此操作的腳本留給讀者作為練習)。

引用自:https://serverfault.com/questions/697305