前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研究rbd挂载之后ext4文件损坏的问题 原

研究rbd挂载之后ext4文件损坏的问题 原

作者头像
domain0
发布2018-08-01 18:20:16
1.1K0
发布2018-08-01 18:20:16
举报
文章被收录于专栏:运维一切

ceph rbd的存储有两个层面的缓存

  • rbd cache 在ceph.conf中可以定制这个缓存,有测试是否开启的方法,但是我自己的测试结果出来,感觉开了缓存和没开一个样。 送上关于这个缓存的一些资料

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/

  • etx4 cache rbd要让业务使用必然要先格式化一个文件系统,当然不一定是ext4,文件系统挂载的时候大多数默认是使用缓存的,有的也叫异步挂载。毕竟在内存中读写速度要比磁盘快的多,这样的问题就是,遇到断电,或者某种不合理的释放资源情况,内存的脏页来不及flush到disk,进而造成文件内容丢失或者丢失更新。 当然 你完全可以跳转挂载的参数避免这个问题,比如:
代码语言:javascript
复制
mount -t ext4 -o sync  /dev/sdb1 /sdb1

这样不使用缓存,文件io会出奇的慢,简直难以忍受,不过这的确是最委托的办法 还有一个比较折中的办法 就在是umount之前,或者在即将回收资源之前运行一次sync命令,强制将内存脏页flush到硬盘,这样就妥了。不过你可得保证能调用到sync命令

docker容器启动有入口,但是stop的时候,会给进程发送SIGTERM信号,如果容器内的进程能正确的接收和处理这个信号,自然就能避免上述不合理的情况导致的文件内容损坏。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档