请教一个ChaosBlade问题,对业务容器的disk fill,最终会在tool容器中执行 nsexec -t pid -m -p -- /bin/sh -c "dd xxxx"这样一个命令,因为使用了-m参数,dd命令会在业务容器内找,而不是tool容器中找,这样还是会有兼容性问题的吧。如果把-m去掉,它找的是tool容器中的dd,但最终操作的磁盘目录就不是业务容器中了。所以通过nsexec只是解决了部分工具兼容性或不存在问题(例如tc),像dd其实并没有解决,我这样理解对吗?
是的,指定了 -m 的话,会使用容器中的命令了;但是这种也是可以解决的,大概就是 -m 的时候不切换 mnt 命名空间,再写一个 so 文件(so 文件里面去切换 mnt, so 使用 LD_PRELOAD 方式去加载),这样就可以使用 tools 容器里面的 dd 了 ,此回答整理自钉群“ChaosBlade开源讨论群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。