ファイル・システムが正しくないため、既存のブロック・ストレージをポッドにマウントできないのはなぜですか?

ブロックストレージボリュームが誤ったファイルシステムでマウントされた場合のトラブルシューティング。

仮想プライベートクラウド クラシック・インフラストラクチャー

oc describe pod <pod_name> を実行すると、次のエラーが表示されます。

failed to mount the volume as "ext4", it already contains xfs. Mount error: mount failed: exit status 32

XFS ファイル・システムでセットアップされている、既存のブロック・ストレージ・デバイスがあります。 このデバイスをポッドにマウントするために、 セクションでファイル・システムとして を指定しているか、またはファイル・システムを指定していない ext4PV を作成spec/flexVolume/fsTypeしました。 ファイル・システムが定義されていない場合、PV はデフォルトで ext4 に設定されます。

PV は正常に作成され、既存のブロック・ストレージ・インスタンスにリンクされました。 ところが、対応する PVC を使用してクラスターに PV をマウントしようとすると、ボリュームのマウントが失敗します。 ext4 ファイル・システムを使用して XFS ブロック・ストレージ・インスタンスをポッドにマウントすることはできません。

既存の PV のファイル・システムを ext4 から XFS に更新します。

  1. クラスター内の既存の PV をリストし、既存のブロック・ストレージ・インスタンスに使用している PV の名前をメモします。

    oc get pv
    
  2. ローカル・マシンに PV YAML を保存します。

    oc get pv <pv_name> -o yaml > <filepath/xfs_pv.yaml>
    
  3. YAML ファイルを開き、fsTypeext4 から xfs に変更します。

  4. クラスター内の PV を置き換えます。

    oc replace --force -f <filepath/xfs_pv.yaml>
    
  5. PV をマウントしたポッドにログインします。

    oc exec -it <pod_name> sh
    
  6. ファイル・システムが XFS に変更されたことを確認します。

    df -Th
    

    出力例

    Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/3600a098031234546d5d4c9876654e35 xfs 20G 33M 20G 1% /myvolumepath