Kubernetes NFS存储服务的误报

在Kubernetes 1.11.2 + Ubuntu 18.04上,使用NFS部署JupyterHub和IPFS后,全部的服务都是能够用的。node

一、问题现象

但在重启机器后,全部的PVC都没法链接、Pod启动失败。docker

查看NFS服务、PVC、PV都是绿色状态,所有正常。后来发现这个是假信号,磁盘根本没有挂载。服务器

查看Pod的日志,显示“invalid directory or file”。工具

从原始磁盘查起,在命令行运行df -h,发现NFS的挂载盘没有出现。ui

奇了怪了!spa

二、解决方法

忽然想起,多是启动时系统没有挂载数据盘!!!.net

去挂载数据盘,再重启一下docker。再去看,Pod已经能够正常访问了。问题确认!命令行

三、一劳永逸

把磁盘设为系统启动挂载(Ubuntu 桌面版直接使用“磁盘”工具,进去修改选项便可)。日志

服务器能够将其参数写入/etc/fstab,启动时就会自动挂载。code

sudo nano /etc/fstab

里面的格式是(各个域用空格分开):

  • file system,能够经过ls -l /dev/disk/by-uuid查看UUID,设进去。
  • mount point,通常为/mnt/mydatadisk,mydatadisk为本身的名称。
  • type,设为auto,若是是特殊格式须要专门设置。
  • option,设为 nosuid,nodev,nofail,x-gvfs-show。这些参数是桌面“磁盘工具”设置产生的,有的好像没啥用。
  • dump,设为0。
  • pass,设为0。

个人磁盘是NTFS格式,从原来移动硬盘拔下来的。如今的Ubuntu18.04对NTFS支持仍是不错了。

而后按ctrl+x保存,重启系统后,Pod的启动和数据访问都恢复了正常。

若是有多个磁盘,参照上面的格式一一处理,在fstab里添加多条记录。对于Kubernetes这样的集群,都须要在启动时就挂载磁盘的,里面的Pod才能访问到。固然,也可使用LVM逻辑卷的方式由系统自动合称为一个大的逻辑磁盘。

四、参考资源

相关文章
相关标签/搜索