我在Azure容器服务中使用kubernetes运行bradbeck/nexus-https容器,并在Azure存储帐户文件共享上挂载/nexus-data
卷。在k8s-agents上,我安装了cifs-utils
来访问文件共享。
当pod退出时,可能不是优雅(?),samba客户端将pending delete
标记放在/nexus-data/cache/cache.lock
上并且尚未释放它。
当我尝试启动安装相同文件共享的新pod时,它失败并显示:
文件不存在:/nexus-data/cache/cache.lock
当我尝试通过Azure门户删除它时,它失败了:
无法删除文件'nexus-data / cache / cache.lock'。错误:SMB客户端将指定的资源标记为删除。
这是409 error。
如何打破此锁定/删除此文件?
编辑:我尝试重新启动k8s-agents,但即使这样也行不通!幸运的是,我可以删除整个文件共享,并重新创建它。这可能不是将来的选项:az storage share delete --name nexus-data
答案 0 :(得分:0)
据我所知,这与Nexus本身无关。我也经历过与TeamCity服务器相同的事情。
当发生容器死亡时,samba文件共享未在主机上卸载。我还没弄明白如何计算出/etc/mtab
中的哪个条目属于死容器的数据量。现在我要重新启动主机,卸载文件系统并允许删除指令完成。