为什么将现有块存储器安装到 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,您已创建 PV,其中在 ext4 部分中指定 spec/flexVolume/fsType 作为文件系统,或者未指定任何文件系统。 如果未定义任何文件系统,PV 将缺省为 ext4。
PV 已成功创建,并且已链接到现有块存储器实例。 但是,尝试使用匹配的 PVC 将 PV 安装到集群时,卷安装失败。 您无法将采用 ext4 文件系统的 XFS 块存储实例挂载到Pod上。
将现有 PV 中的文件系统从 ext4 更新为 XFS。
-
列出集群中的现有 PV,并记下用于现有块存储器实例的 PV 的名称。
oc get pv -
将 PV YAML 保存到本地计算机。
oc get pv <pv_name> -o yaml > <filepath/xfs_pv.yaml> -
打开该 YAML 文件,并将
fsType从ext4更改为xfs。 -
替换集群中的 PV。
oc replace --force -f <filepath/xfs_pv.yaml> -
登录到安装了 PV 的 pod。
oc exec -it <pod_name> sh -
验证文件系统是否已更改为
XFS。df -Th示例输出
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/3600a098031234546d5d4c9876654e35 xfs 20G 33M 20G 1% /myvolumepath