PowerFlex:適用於 PowerFlex v1.2.1 的 K8s CSI 驅動程式在 xfs 格式上具有較低的 inode

摘要: PowerFlex:由於缺少可用的 inode,使用者無法擁有包含超過 4 億個文件的卷。

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

客戶使用 PowerFlex 1.2.1 版的 CSI 驅動程式將 PowerFlex 磁碟區格式化為 XFS 檔案系統類型。

症狀

索引節點大小變為 256 位元組 (isize=256),使用 CSI 驅動程式版本 1.2.1 從 2 TB PowerFlex 磁碟區建立 XFS 檔案系統時。此外,CRC 已停用 (crc=0),而它是 isize=512 以前。

PowerFlex 1.2.0 版的 CSI 驅動程式中未出現此問題。

索引節點大小變為 512 位元組 (isize=512) 並啟用 CRC (crc=1) 時,從 2 TB PowerFlex 磁碟區建立 XFS 檔案系統時,透過 mkfs.xfs Linux 命令,含預設選項: 

XFS 檔案系統

參見 mkfs.xfs 的手冊頁: mkfs.xfs(8) — Linux 手冊頁  (外部連結)

Size=value (isize)

索引節點大小指定為 size= 的位元組值,或指定為檔案系統塊中的數位,其中 perblock=

最小 (和預設值) 值是 256 位元組 (不含 crc),512 位元組 (啟用 crc)。

crc=value 用於創建一個檔案系統,該系統維護和檢查磁碟上所有元數據物件中的CRC資訊。

值為 0 以禁用該功能,或 1 以啟用 CRC 的使用。默認情況下, mkfs.xfs 啟用中繼資料 CRC。

影響:由於缺少免費 inode,使用者無法擁有包含超過 4 億個文件的卷。

原因

根本原因不在於 PowerFlex 軟體端,而在於 CSI 驅動程式端。

使用 CSI 驅動程式,一個名為 Go 的庫 gofsutil 在內部用於與檔案系統格式化操作交互,並且存在強制格式化的副作用 crc=0 在該庫中: https://github.com/dell/gofsutil/blob/v1.4.0/gofsutil_mount_linux.go#L133 (外部連結)

此問題會導致通用基礎映像 (UBI) 版本變更,並隨附 gofsutil 適用於 PowerFlex 1.2.1 版的 CSI 驅動程式: https://github.com/dell/csi-powerflex/compare/v1.2.0...v1.2.1#diff-d947c64a65fbadc3496bff6bf4f3dd823c7300954d9072ddbd3f54513c2766b5R7  (外部連結)

 

MKFS.xfs 命令範例:

mkfs.xfs -i size=256 是不允許的;停用「CRC」需要:

$ mkfs.xfs -i size=256 /dev/scinib
Minimum inode size for CRCs is 512 bytes

可使用 mkfs.xfs -m crc=0 option 取得 XFS 檔案系統 isize=256 和 crc=0,相當於 CSI 驅動程式 v1.2.1:

$ xfs_info /dev/scinib
meta-data=/dev/scinib            isize=256    agcount=4, agsize=134217728 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=536870912, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=262144, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

可使用 mkfs.xfs default 選項取得 XFS 檔案系統 isize=512crc=1,這是通常預期的元數據值:

$ xfs_info /dev/scinib
meta-data=/dev/scinib            isize=512    agcount=4, agsize=134217728 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=536870912, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=262144, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

     

    解析度

    這不是 PowerFlex 軟體的問題。

    CSI 驅動程式個案處理注意事項:

    • 一般而言,ViPR/SRM L2 團隊是 CSI 相關問題的第一個聯絡窗口。
    • PowerFlex L2 (和 L3) 團隊可能會依個案參與,並從 PowerFlex 軟體的角度進行協同合作。
    • 請參閱 PowerFlex:Kubernetes CSI 上報的需求

    PowerFlex 專用 CSI 驅動程式參考:

    受影響的產品

    PowerFlex rack, ScaleIO
    文章屬性
    文章編號: 000373194
    文章類型: Solution
    上次修改時間: 09 12月 2025
    版本:  2
    向其他 Dell 使用者尋求您問題的答案
    支援服務
    檢查您的裝置是否在支援服務的涵蓋範圍內。