kubernetes: fsHandler.go:121: failed to collect filesystem stats
/kind bug /sig node
What happened:
I run kubelet at physical machine and find below logs with systemctl status kubelet:
kubelet[182959]: E0720 01:06:15.454048 182959 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr: du command failed on /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff with output stdout: 4085180 /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff
kubelet[182959]: , stderr: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/rls2BZc3TEaxM0dufaYDRQ/0/index/_kbf.si’: No such file or directory
kubelet[182959]: - exit status 1, rootInodeErr: <nil>, extraDiskErr: <nil>
kubelet[182959]: E0720 01:27:19.828180 182959 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr: du command failed on /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff with output stdout: 4160724 /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff
kubelet[182959]: , stderr: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/KhMTs8WhTwyahUoPEuHQHQ/0/index/_1gs7_Lucene50_0.tip’: No such file or directory
kubelet[182959]: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/KhMTs8WhTwyahUoPEuHQHQ/0/index/_1gs7.nvm’: No such file or directory
kubelet[182959]: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/KhMTs8WhTwyahUoPEuHQHQ/0/index/_1gs7.dim’: No such file or directory
kubelet[182959]: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/KhMTs8WhTwyahUoPEuHQHQ/0/index/_1gs7.fnm’: No such file or directory
kubelet[182959]: - exit status 1, rootInodeErr: <nil>, extraDiskErr: <nil>
kubelet[182959]: E0720 05:58:03.368413 182959 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr: du command failed on /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff with output stdout: 4267452 /software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff
kubelet[182959]: , stderr: du: cannot access ‘/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff/usr/share/elasticsearch/data/nodes/0/indices/3qK3SN_zToGdmqJ5PdEkQA/3/index/_1efi.cfs’: No such file or directory
kubelet[182959]: - exit status 1, rootInodeErr: <nil>, extraDiskErr: <nil>
/software/docker/overlay2/b9bb924fa49e4f1414894eba364c2c80f6e3924122bcc01d09b26a300ba559a9/diff exists, but .cfs,.dim files and so on do not exist.
But i check all my pods, they are all fine.
I really do not know should i ignore them or not.
I look some issues like above but do not get useful info.
I tired to restart kubelet service, the logs miss, but after a while, above logs occur again.
My environment is CentOS7.4, and k8s version is:
$ kubelet --version
Kubernetes v1.9.7
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.7", GitCommit:"dd5e1a2978fd0b97d9b78e1564398aeea7e7fe92", GitTreeState:"clean", BuildDate:"2018-04-19T00:05:56Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.7", GitCommit:"dd5e1a2978fd0b97d9b78e1564398aeea7e7fe92", GitTreeState:"clean", BuildDate:"2018-04-18T23:58:35Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 1
- Comments: 24 (8 by maintainers)
same with k8s 1.11.7 on AWS with EBS root volume
edit: after researching a lot, I finally figured out what the actual issue here was. I don’t think it’s related. One docker container created too many threads (over 20k) and so the node ran into an issue with no more pid’s available, so fork couln’t create new processes checking the file system usage. this SO article helped me
same problem with k8s v1.18.3
E0623 22:03:40.147960 35377 fsHandler.go:118] failed to collect filesystem stats - rootDiskErr: could not stat "/var/lib/docker/overlay2/ea530e7d335a9f8dcafead409294cf42476eb57d86c7b0b0e34d281a53393032/diff" to get inode usage: stat /var/lib/docker/overlay2/ea530e7d335a9f8dcafead409294cf42476eb57d86c7b0b0e34d281a53393032/diff: no such file or directory, extraDiskErr: could not stat "/var/lib/docker/containers/b256dd634c306c260e53eaa6ef42a4d7db0d376b66ea31141e98d0b9db4a7af8" to get inode usage: stat /var/lib/docker/containers/b256dd634c306c260e53eaa6ef42a4d7db0d376b66ea31141e98d0b9db4a7af8: no such file or directorysame problem with k8s v1.14.2