ceph rbd的存储有两个层面的缓存
http://docs.ceph.com/docs/master/rbd/rbd-config-ref/
还有二次改造的 http://blog.csdn.net/lzw06061139/article/details/51203461
别人的结论 https://www.xsky.com/tec/ceph-weekly-vol-29/
检验rbd cache是否开启的 http://ceph.com/geen-categorie/ceph-validate-that-the-rbd-cache-is-active/
mount -t ext4 -o sync /dev/sdb1 /sdb1
这样不使用缓存,文件io会出奇的慢,简直难以忍受,不过这的确是最委托的办法 还有一个比较折中的办法 就在是umount之前,或者在即将回收资源之前运行一次sync命令,强制将内存脏页flush到硬盘,这样就妥了。不过你可得保证能调用到sync命令
docker容器启动有入口,但是stop的时候,会给进程发送SIGTERM信号,如果容器内的进程能正确的接收和处理这个信号,自然就能避免上述不合理的情况导致的文件内容损坏。