簡體   English   中英

如何在 XFS 上更改塊大小

[英]How to change block size on XFS

情況:服務器使用 XFS 文件系統,塊大小 4kB。 有很多小文件。

結果:一些目錄占用 2+GB 空間,但實際文件大小小於 200MB。

解決方案:將 XFS 塊大小更改為盡可能小,512B。 我知道這意味着更多的開銷和一些性能損失,我無法找出多少。

問:怎么辦?

我知道 XFS 使用 xfsdump 來備份數據。 因此,假設 /dev/sda2 是我想要更改的實際 XFS 文件系統,而 /mnt/export 是我想要使用 xfsdump 轉儲它的位置。 手冊說轉儲的塊大小必須與恢復的塊大小相同,並且 -b 參數“指定用於轉儲的塊大小,以字節為單位。”。 我有點擔心,因為手冊還說“默認塊大小為 1Mb”

這是轉儲我的完整文件系統的正確方法(在這種情況下,/dev/sda2 安裝到 /home)?

xfsdump -b 512 -f /mnt/export /home

如果上面的命令是正確的,我需要做什么才能正確取回我的文件,只有 512B 塊大小? 我的猜測是使用將 /dev/sda2 重新格式化為 512B 塊大小

mkfs.xfs /dev/sda2 -b 512

然后使用

xfsrestore -f /mnt/export /home

但我不確定如何,也沒有一個好的方法來測試我是否正確。

所以我做了更多的研究並想出了這個:

xfsdump -f /mnt/export_file /home
umount /home
mkfs.xfs -b size=1024 /dev/sda2 -f
#Minimum block size for CRC enabled filesystems is 1024 bytes.
mount /home
xfsrestore -f /mnt/export_file /home

如您所見,由於啟用了 CRC 的文件系統的最低要求,我無法將塊大小更改為 512B,但除此之外,完全成功。 我不認為我必須先卸載文件系統。 如果您以在 /home 中有 homedir 的人身份登錄,您將無法執行此操作,因此請以 root 身份登錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM