Docker Daemon从无响应到自动退出


现象描述:
为了测试Docker的存储稳定性以及高负载下的压力,我建立了包含fio的镜像(fio:base)。
由于fio首先要建立指定大小的cache,在多个Container分别建立缓存是缓慢耗时的工作,
我采用了将包含fio执行一次,建立cache之后在将Container commit成为一个包含cache
的“大”镜像(fio:zouni)

测试工作开始。

测试10个,工作良好。
for i in seq 1 10;do docker run -d --cpu-shares=4096 --memory="4g" fio:zouni sh -c "sleep 120 && /usr/bin/fio -filename ./hello -direct=1 -iodepth 64 -thread -rw=randrw -ioengine=libaio -bs=16k -size=100G -numjobs=10 -runtime=1000 -group_reporting -name=mytest";done

测试30个,在首先创建的14个左右提示正确。然后开始提示找不到docker0 bridge。
for i in seq 1 10;do docker run -d --cpu-shares=4096 --memory="4g" fio:zouni sh -c "sleep 120 && /usr/bin/fio -filename ./hello -direct=1 -iodepth 64 -thread -rw=randrw -ioengine=libaio -bs=16k -size=100G -numjobs=10 -runtime=1000 -group_reporting -name=mytest";done

之后执行大部分命令都没有相应(docker ps/docker stop), 少量相应缓慢(docker image)。第二天观察到Docker Engine已经down掉了。

环境:docker 1.7

docker info

Containers: 20
Images: 117
Storage Driver: devicemapper
Pool Name: docker-8:2-1444611-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/vg_os/lv_os_docker_data
Metadata file: /dev/vg_os/lv_os_docker_metadata
Data Space Used: 263.6 GB
Data Space Total: 3.079 TB
Data Space Available: 2.815 TB
Metadata Space Used: 664.2 MB
Metadata Space Total: 17.05 GB
Metadata Space Available: 16.38 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-573.7.1.el6.x86_64
Operating System: <unknown>
CPUs: 24
Total Memory: 252.1 GiB
Name: osnode011016.syswin.com
ID: XCB3:7NXL:Z5AE:37Q3:XWC3:DWB7:42GA:EL6O:GUPZ:E2Q2:IV6R:RHL2

问题分析
通过strace追踪client卡在epool_wait, 可见Server并没有回复消息。
有人提示说cgo升级,尚未找到确切方法.
已邀请:

xue777hua

赞同来自:


为何不用1.8或者1.9?

要回复问题请先登录注册