Aruforce

Aruforce

V2EX 第 318974 号会员,加入于 2018-05-28 09:16:41 +08:00
今日活跃度排名 9704
根据 Aruforce 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Aruforce 最近回复了
49 天前
回复了 setname 创建的主题 职场话题 今天还有几个倒霉蛋还在上班?
捏么的。。
134 天前
回复了 ENIAC 创建的主题 程序员 ⏳ Unix 时间戳已经跨过 1700000000 了
@szdosar 2038 可有点远了
@julyclyde 不是 。。还是原来的 环境
@julyclyde 感谢你给的提示 文件系统错误
@julyclyde 我测试一次也不全是按照你写的东西来测试 。。
不过我解决这个问题了。。
根本原因在于 即使是相同的文件名 在 overlay2 这个文件系统里 在底层 inode 的值也是不一样的
内核的 read 在 overlay2 文件系统的实现友有问题。。这个情况下读取的内容还是 Docker 创建时加入的快照的文件内容
返回的值是空的
如果在脚本 docker-entrypoint 里创建 读取的 inode 就是运行时的 inode 了
可以参考 这个 内核的 commit
https://github.com/torvalds/linux/commit/f3fbbb079263bd29ae592478de6808db7e708267
@julyclyde #41 然后 tail 不再出 enosys 的问题了 但是 变成了只读取到了文件变化 不读和输出 了
@julyclyde from 改成 Ubuntu 16.04 了 内核 是 3.10.0 的 。。dockerfile 把所有用的软件 都重新安装了一次。。
@julyclyde enosys 可以确定是内核的问题 我把镜像切到 3.10.0 的内核了
@julyclyde

这个 是我在追加 字符后 k8s 内的 tail 的 系统调用
```code
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "", 8192) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "", 8192) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "", 8192) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "", 8192) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "", 8192) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
```

这个 是我在追加 字符后 本地 docker 的 tail 的 系统调用

```code
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
read(3, "123456\n", 8192) = 7
fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fb0879000
read(3, "", 8192) = 0
fstat(3, {st_mode=S_IFREG|0755, st_size=7, ...}) = 0
write(1, "123456\n", 7) = 7
nanosleep({tv_sec=1, tv_nsec=0}, NULL) = 0
```
st_size 都 0->7 了 但是 本地进行了文件读写 k8s 没有。。。

我觉的基本可以确认是 tail 软件本身的问题了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   950 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 21:05 · PVG 05:05 · LAX 14:05 · JFK 17:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.