Consul 採到雷

今天試用 consul , 看網路上的文件好像還蠻好裝的, 沒想到還是遇到神奇的雷, 目前懷疑是跟 ZFS 有關。 環境 $ uname -rsvmo Linux 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 GNU/Linux $ docker -v Docker version 1.2.0, build fa7b24f consul 版本是 v0.4.0 現象 $ docker run progrium/consul -server -bootstrap ==> WARNING: Bootstrap mode enabled! Do not enable unless necessary ==> WARNING: It is highly recommended to set GOMAXPROCS higher than 1 ==> Starting Consul agent... ==> Error starting agent: Failed to start Consul server: Failed to start Raft: index id error: Function not implemented 啟動 consul 就爆炸了….>_< google 不到什麼有用的資料, 只好自己 trace code 了…Orz 追了大半天, 發現問題出在 consul call LMDB (Lightning Memory-Mapped Database) 的時候會死掉。 目前懷疑跟 ZFS 不支援 AIO 有關, 因為 MySQL 跑在 ZFS 上也有災情。 解法 $ docker run -v /tmp progrium/consul -server -bootstrap ==> WARNING: Bootstrap mode enabled!