PowerFlex:PowerFlex v1.2.1用K8s CSIドライバーは、xfsフォーマットでinodeの値が低い

概要: PowerFlex:空きinodeがないため、ユーザーは4億個を超えるファイルを含むボリュームを持つことができません。

この記事は次に適用されます: この記事は次には適用されません: この記事は、特定の製品に関連付けられていません。 すべての製品パージョンがこの記事に記載されているわけではありません。

現象

お客様は、CSI Driver for PowerFlexバージョン1.2.1を使用して、PowerFlexボリュームをXFSファイル システム タイプとしてフォーマットします。

現象

i ノードのサイズは 256 バイト (isize=256CSIドライバー バージョン1.2.1を使用して2TB PowerFlexボリュームからXFSファイル システムを作成する場合。また、CRCは無効になります(crc=0)は、 isize=512 以前は。

この問題は、CSI Driver for PowerFlexバージョン1.2.0には存在しませんでした。

i ノードのサイズは 512 バイト (isize=512)で、CRCが有効(crc=1)を使用して2TB PowerFlexボリュームからXFSファイル システムを作成する場合 mkfs.xfs デフォルト オプションを指定したLinuxコマンド: 

XFSファイルシステム

cf. mkfs.xfs のマニュアルページ: mkfs.xfs(8) — Linux マニュアルページ  (外部リンク)

Size=value (isize)

inodeのサイズは、size=でバイト単位の値で指定するか、ファイルシステムブロックに収まる数字で指定します。 perblock=の詳細を確認してください。

最小値(およびデフォルト値)は、crcなしでは256バイト、crcを有効にした場合は512バイトです。

crc=value は、ディスク上のすべてのメタデータ オブジェクトでCRC情報を維持およびチェックするファイル システムを作成するために使用されます。

値は、機能を無効にする場合は0、CRCの使用を有効にする場合は1です。デフォルトでは、 mkfs.xfs メタデータCRCを有効にします。

影響:空きinodeがないため、ユーザーは4億個を超えるファイルを含むボリュームを持つことができません。

原因

根本原因はPowerFlexソフトウェア側ではなく、CSIドライバー側にあります。

CSIドライバでは、Goライブラリと呼ばれる gofsutil は、ファイルシステムのフォーマット操作と対話するために内部的に使用され、フォーマットを強制することの副作用があります。 crc=0 in that library: https://github.com/dell/gofsutil/blob/v1.4.0/gofsutil_mount_linux.go#L133 (外部リンク)

この問題では、ユニバーサル ベース イメージ(UBI)のバージョン変更が gofsutil CSI Driver for PowerFlexバージョン1.2.1の場合: 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 オプションは、 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エスカレーションの要件

    CSI Driver for PowerFlexのリファレンス:

    対象製品

    PowerFlex rack, ScaleIO
    文書のプロパティ
    文書番号: 000373194
    文書の種類: Solution
    最終更新: 09 12月 2025
    バージョン:  2
    質問に対する他のDellユーザーからの回答を見つける
    サポート サービス
    お使いのデバイスがサポート サービスの対象かどうかを確認してください。