在Ubuntu 18.04系统下及Kubernetes 1.11.2环境中使用NFS部署JupyterHub和IPFS后所有的服务是能正常使用的,但在重启机器后,所有的PVC都无法连接、Pod启动失败。采用下面方法解决了该问题。
1、产生问题 产生上面所有PVC都无法连接、Pod启动失败后查看NFS服务、PVC、PV都是绿色状态,全部正常。后来发现这个是假信号,磁盘根本没有挂载。 查看Pod的日志,显示“invalid directory or file”。 从原始磁盘查起,在命令行运行df -h,发现NFS的挂载盘没有出现。
2、确认问题的原因及解决方案 突然想起,可能是启动时系统没有挂载数据盘。去挂载数据盘,再重启一下docker。再去看,Pod已经可以正常访问了。问题确认!
3、一劳永逸的方法 把磁盘设为系统启动挂载(Ubuntu 桌面版直接使用“磁盘”工具,进去修改选项即可)。 服务器可以将其参数写入/etc/fstab,启动时就会自动挂载。 运行:sudo nano /etc/fstab 里面的格式是(各个域用空格分开): 1].file system,可以通过ls -l /dev/disk/by-uuid查看UUID,设进去。 2].mount point,一般为/mnt/mydatadisk,mydatadisk为自己的名称。 3].type,设为auto,如果是特殊格式需要专门设置。 4].option,设为 nosuid,nodev,nofail,x-gvfs-show。这些参数是桌面“磁盘工具”设置产生的,有的好像没啥用。 5].dump,设为0。 6].pass,设为0。 结尾:然后按ctrl+x保存,重启系统后,Pod的启动和数据访问都恢复了正常。 注: 1.我的磁盘是NTFS格式,从原来移动硬盘拔下来的。现在的Ubuntu 18.04系统对NTFS支持还是不错了。 2.如果有多个磁盘,参照上面的格式一一处理,在fstab里添加多条记录。对于Kubernetes这样的集群,都需要在启动时就挂载磁盘的,里面的Pod才能访问到。当然,也可以使用LVM逻辑卷的方式由系统自动合称为一个大的逻辑磁盘。
相关主题 |