节点常见问题
1. 容器节点开机阶段问题
1.1. 镜像拉取中,预计需要xx分钟
刚制作完自定义镜像时,此时镜像缓存还在制作过程中,立马使用该镜像开机会存在拉取镜像过程。
自定义镜像30天内没有被使用,镜像缓存会被自动清理,再次使用会存在拉取镜像过程。
镜像缓存概念详解:
为了加速开发机开机速度,会对镜像提前镜像缓存,在开机时不用额外去拉取镜像。
Bohrium提供的公共镜像都已经进行了持久化的镜像缓存。使用公共镜像开机,不需要额外的镜像拉取。
自定义镜像为开发机制作镜像产生的,使用自定义镜像开机需要注意以下几点:
镜像制作完后,才会开始制作对应的镜像缓存。镜像缓存制作时长一般在10~30min之间,取决于镜像大小。如果镜像缓存没有制作成功,开机时需要拉取镜像,这会导致开机时间过长。建议等待30min再使用该镜像开机。
镜像缓存有过期时间,如果镜像30天没有被使用,则镜像缓存会失效。后续使用相关镜像开机时,会重新拉取镜像开机,并在机器运行起来后,再开始异步制作镜像缓存(所以镜像缓存不存在时,使用该镜像成功开机后,如果再开同样镜像的开发机,建议再等待一段时间)。
1.2. 镜像拉取过程中,收费。
当处在镜像拉取过程中时,此时远端机器资源已经正常分配了,计费就开始了。
1.3. 开机时长
如果使用的镜像存在镜像缓存,则一般开机时长在20~40s。
CPU机型的平均开机时间在20s左右。
GPU机型的平均开机时间在40s左右,因为GPU需要额外准备驱动资源。
- 在资源紧张的时候,GPU型号启动的时间可能会延长到1~5min。
挂载数据集启动时,会有额外的2~4s的启动延迟。不论选择多少个数据集,只会有一次额外的启动时间延迟。
2. 容器节点终端使用问题
2.1. 开发机无法通过ssh登录,可以通过webshell进入
请确认镜像是否包含支持ssh功能的相关组件,通过"添加公网镜像"方式传创建的镜像一般都是dockerhub的公共镜像,这些镜像一般是默认不安装支持ssh登录相关组件的。
ssh相关组件安装帮助文档:详见"从公网拉取镜像制作自定义软件"章节。
2.2. ssh root@域名 登录失败
通过webshell进入机器,确保sshd命令正确安装。
开发机如果关机的的时间超过7天,域名绑定开发机实例会自动失效。在开发机重新启动后会自动绑定,此时可能存在dns解析传播慢的情况。等待10min~30min后重试。在此期间可以优先使用webshell登录使用。
2.3. ssh 登录开发机和webshell登录开发机后查看的环境变量不一样
webshell登录开发机类似于docker exec登录容器,会自动继承dockerfile指定的环境变量。
环境变量组成:
系统环境变量 + /root/.bashrc环境变量
ssh登录开发机,会自动刷新/root/.bashrc的环境变量声明,会覆盖全局环境变量。
环境变量组成:
/root/.bashrc环境变量
2.4. 容器节点终端输入命令反应慢
检查本地网络情况。
检查是否开了vpn导致访问异常。
通过网页访问baidu.com检测速度是否正常。
浏览器(tab)长时间使用,会存在卡顿情况。重新打开新的浏览器连接尝试。
检查开发机是否存在占用CPU的进程,登录webshell输入
top
命令查看。- 操作的文件夹下的文件量是否过大,导致CPU过高。
2.5. 容器节点连接经常断开
检查本地网络情况。
检查是否开了vpn,vpn会存在断开重连的情况。
检测周边网络是否存在异常,如路由器重启、网络切换等。
通过
mtr
命令,访问开发机域名,查看网络是否存在丢包情况。
浏览器长时间使用会存在内存堆积,浏览器可能会对 tab 页进行释放,导致连接断开。重新打开新的浏览器连接尝试。
3. 容器节点其他使用问题
开发机默认开启了50001-50005端口供公网使用。
开发机的GPU驱动默认为525。开发机无法自行安装和升级驱动版本。
开发机无法使用docker:基于安全性考虑,无法在容器开发机中再运行docker。
开发机挂载多个数据集时通过
df -h
只能看到一个挂载点。这是因为挂载的数据集是多个,但是都归属于一个文件系统,df -h
原生的命令会自动进行去重。 可以通过df -a | grep bohr
来查看挂载点。
4. 虚拟机节点常见问题
- 虚拟机镜像大小会占用申请的系统盘的大小。
- 不支持挂载数据集。
- 不支持挂载共享盘。