Ceph and OpenStack 现在已经是 IaaS 中成双成对的一个组合。根据 2017 年 6-12 月的 OpenStack User Survey,在所有 OpenStack Deployment 中,有 57% 的部署使用的 Cinder backend 为 Ceph RBD。当然在使用 Ceph 作为 OpenStack Glance, Cinder 的 backend 会有一些能够在设定上调整的最佳实践。本篇文章将会介绍这些如何调整以及为什麽要进行这些设定。
使用 Ceph RBD 时,预设会开启 RBD Layering 这个功能,可以把它想像成一个可以读写 snapshot。这会建立一个原本 image 的 clone,而 Ceph 就只会建立跟原本 image 不同部分的 RADOS Objects。这代表了两件事:
Cinder 跟 Nova 预设都会利用 RBD Layering 的功能,但是会需要在 Glance 中的 glance-api.conf
设定 show_image_direct_url=true
并且使用 Glance v2 API。
由於安全性问题,目前 Ceph community 建议把 show_image_direct_url
设为 false
。
librbd,也就是 qemu/kvm 跟 RBD 储存装置沟通的 driver,可以利用主机的 RAM 作为 RBD 的 disk cache 使用
使用这种 cache 是安全的,virtio-blk
跟 Qemu RBD storage driver 会确保资料被正确的 flush。当 VM 中的应用程序告知说「我要这个档案在 disk 上」时,Qemu 跟 Ceph 会在完成下列事项中才回报资料已经被写入:
Ceph 本身也有内建的防呆机制,就算 cache 被设成 write-back mode,Ceph 在收到 user 的第一个 flush request 之前都会以 write-through mode 运作。这个机制相对应的设定是 rbd cache writethrough until flush
,预设是设为 true
,永远永远不要尝试关闭它。
要启用 Ceph 的 cache 必须在 nova-compute 的 nova.conf 中设定
[libvirt]
...
images_type = rbd
disk_cachemodes="network=writeback"
让三个不同的 service 使用不同的 Ceph pool 有几个原因:
有些能可能担心在分开 pool 後 RBD layering 会无法作用,但是不用担心,这些 clone 是可以跨 pool 做使用的。
所以在 OpenStack 部署中看到 3 个不同的 Ceph Pool 是一件非常常见是事情,一个给 Cinder,一个给 Glance,一个给 Nova。
使用 SSD WAL 跟 DB 不会增加读取速度。要利用 SSD 快速的读取速度,就把它们独立成 OSD 并且利用 crush_ruleset 设定 All-flash OSD Pool。在 Luminous 版本之後,Ceph 会自动侦测 device class,所以要创建 All-flash 的 crush rule 非常容易。
例如要创建一个 All-flash pool (faliure domain: host) 叫做 flash,用 command ceph osd crush rule create-replicated <rule-name> <root> <failure-domain-type> <device-class>
ceph osd crush rule create-replicated fast default host ssd
要安装 OpenStack 跟 Ceph 的教学可以参考之前写过的文章:
The Dos and Don'ts for Ceph for OpenStack
<<: 语法糖小测验: Scope functions & Extension function
>>: 【领域展开 12 式】 安装 Soledad 主题插件,成功汇入漂亮模板到网站罗
此时新版本为 1.14.5, 所以在2021/11/9时 有更新文章部分内容。 为什麽要架设狗狗币全...
由於查询部分的篇幅相较於前几者较多,因此将查询的部分独立出来写 另外这边写的只有一些基础的操作,像是...
哈罗~ 今天要再来介绍另一个隐写工具... 我真的常常都不知道开头要打什麽ಥ︿ಥ 那就..直接开始吧...
资料来源: 暗批中国金融 马云一夕失宠财富腰斩 「蚂蚁」快被踩死 估值蒸发近2兆 高管忙找工作 地...
嗨各位!!!又是我,那个小可爱又来了,今天要来讲的是—计算属性,如果你的模板需要加入很多逻辑运算,可...