在 glusterfs 挂载的共享上执行同步时,rsync 导致机器崩溃

在 glusterfs 挂载的共享上执行同步时,rsync 导致机器崩溃

我在 OS X 上的 virtualbox 5.0.3 中以客户机身份运行 ubuntu 14.04。在 glusterfs(3.7.x)挂载的共享上执行 rsync 时,如果该共享上有超过 100,000 个文件,整个机器就会崩溃。

有一个特别令人感兴趣的 /var/log/syslog 条目:

    INFO: task rsync:4114 blocked for more than 120 seconds.
    Aug 24 20:39:15 localhost kernel: [ 8974.340183]       Not tainted 3.19.0-25-generic #26~14.04.1-Ubuntu
    Aug 24 20:39:15 localhost kernel: [ 8974.340381] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    Aug 24 20:39:15 localhost kernel: [ 8974.340513] rsync           D ffff8800d87e7e08     0  4114   4104 0x00000000
    Aug 24 20:39:15 localhost kernel: [ 8974.340518]  ffff8800d87e7e08 ffff8800da169d70 0000000000013e80 ffff8800d87e7fd8
    Aug 24 20:39:15 localhost kernel: [ 8974.340521]  0000000000013e80 ffff8800da31c4b0 ffff8800da169d70 ffff8800d87e7e18
    Aug 24 20:39:15 localhost kernel: [ 8974.340523]  ffff8800db6555e0 ffff8800d9558800 ffff8800d87e7e30 ffff8800db6556b0
    Aug 24 20:39:15 localhost kernel: [ 8974.340526] Call Trace:
    Aug 24 20:39:15 localhost kernel: [ 8974.340534]  [<ffffffff817b22e9>] schedule+0x29/0x70
    Aug 24 20:39:15 localhost kernel: [ 8974.340538]  [<ffffffff812dc06d>] __fuse_request_send+0x11d/0x290
    Aug 24 20:39:15 localhost kernel: [ 8974.340542]  [<ffffffff810b4e10>] ? prepare_to_wait_event+0x110/0x110
    Aug 24 20:39:15 localhost kernel: [ 8974.340545]  [<ffffffff812dc1f2>] fuse_request_send+0x12/0x20
    Aug 24 20:39:15 localhost kernel: [ 8974.340548]  [<ffffffff812e576d>] fuse_flush+0x12d/0x180
    Aug 24 20:39:15 localhost kernel: [ 8974.340551]  [<ffffffff811e9973>] filp_close+0x33/0x80
    Aug 24 20:39:15 localhost kernel: [ 8974.340554]  [<ffffffff8120a152>] __close_fd+0x82/0xa0
    Aug 24 20:39:15 localhost kernel: [ 8974.340556]  [<ffffffff811e99e3>] SyS_close+0x23/0x50
    Aug 24 20:39:15 localhost kernel: [ 8974.340560]  [<ffffffff817b668d>] system_call_fastpath+0x16/0x1b

这可能是什么原因造成的?我该如何防止这种情况再次发生?

相关内容