잘못된 파일 시스템으로 인해 기존 블록 스토리지를 팟(Pod)에 마운트하는 데 실패한 이유는 무엇입니까?

블록 스토리지 볼륨이 잘못된 파일 시스템으로 마운트된 경우 문제를 해결합니다.

가상 프라이빗 클라우드 클래식 인프라

oc describe pod <pod_name>을 실행할 때 다음 오류가 표시됩니다.

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

XFS 파일 시스템을 사용하여 설정된 기존 블록 스토리지 디바이스가 있습니다. 이 디바이스를 팟(Pod)에 마운트하기 위해 에서 를 파일 시스템으로 지정하거나 파일 시스템을 지정하지 않은 ext4PV를 작성spec/flexVolume/fsType했습니다. 파일 시스템이 정의되지 않으면 기본적으로 PV가 ext4로 설정됩니다.

PV가 성공적으로 작성되고 기존 블록 스토리지 인스턴스에 링크되었습니다. 그러나 일치하는 PVC를 사용하여 PV를 클러스터에 마운트하려고 하면 볼륨 마운트에 실패합니다. ext4 파일 시스템을 사용하는 XFS 블록 스토리지 인스턴스를 팟(Pod)에 마운트할 수 없습니다.

기존 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를 마운트한 팟(Pod)에 로그인하십시오.

    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