为ceph加一个ssd的cache tier,复杂性换性能值得么?

i00i   (烟灰·独孤求胖)2019-07-11 10:09:45
看了一些实测数据,改善当然是立竿见影的,只不过引进了更高的运维复杂性和bug概率,长远来说是否值当。
当然,没有对比谈这个没有意义,对比方案是不做cache tier,使用容量更大的SSD,裸盘方式提供给虚拟机。
裸盘当然也有一些缺点,比如一些虚机因此没法HA了之类的,但是能获得比cache tier更好的性能和容量利用率。
其次,cache tier是“普惠性”的,所有ceph客户端都能受益,而裸盘是定向的,IO使用情况得精打细算。
另外,cache tier更大的优势是冷热数据自动分层,裸盘就得自己处理分层了。
ceph这货时不时还是会出点小问题的,我用了大半年大概出了两三回,数据能修复但没法调查原因,
所以在提高复杂性问题上有点担忧。。求大佬们指点迷津。//bow~
iwannabe   (I wanna be)2019-07-11 10:30:41
买个大厂的服务吧,比如suse 或者redhat
【 在 i00i (烟灰·独孤求胖) 的大作中提到: 】
: 看了一些实测数据,改善当然是立竿见影的,只不过引进了更高的运维复杂性和bug概
i00i   (烟灰·独孤求胖)2019-07-11 13:50:08
惭愧,,公司能不能活到能买得起服务的时候是很不确定的。。- -!!
【 在 iwannabe 的大作中提到: 】
: 买个大厂的服务吧,比如suse 或者redhat
lazyfintech   (lazyfintech)2019-07-11 15:52:38
试过bcache吗
【 在 i00i (烟灰·独孤求胖) 的大作中提到: 】
: 看了一些实测数据,改善当然是立竿见影的,只不过引进了更高的运维复杂性和bug概率,长远来说是否值当。
i00i   (烟灰·独孤求胖)2019-07-11 19:07:10
没呢,多谢提醒。
之前倒是考虑过io-fusion专用加速卡的方案,但是发现在proxmox上需要自行编译内核模块,所以放弃了。
看起来bcache也是在内核模块这个层面工作?跟io-fusion挺像的,我进一步调查一下看看能不能直接用吧。
【 在 lazyfintech 的大作中提到: 】
: 试过bcache吗
i00i   (烟灰·独孤求胖)2019-07-11 19:25:54
转一个fb帖子:
Chris Hsiang August 10, 2018
很久沒有發文了... 最近都忙著 ceph cluster 的 tuning. 但是還是沒有離開 PVE 喲. 因為我是使用 PVE 版本的 ceph package 12.2.7 的版本, 有 compression=lz4 的模式.
.
建構環境 三台 Lab 環境, 並非 production environment.
? Intel(R) Xeon(R) CPU E5-2630 v4 x2
? DDR4 ECC REG 64GB
? Intel X520-DA2 x2
? SAS3 6TB HDD x 8
? Intel Optane 900P - 280 GB
.
原生建置好以後, 整體的 pool 只有 600MB/s 單點對 pool 只有 300MB/s.
.
? 圖1. Disable 了 cephx 後, 效能增加了 100MB/s
.
? 圖2. 開啟了 bluestore 的 compression = lz4 效能增加了 100MB/s
.
? 圖3. 修改了 hdd 的 read_ahead_kb 跟 scheduler 效能增加了 50 MB/s
.
? 圖4. OSD block 的部分加入 bcache 後, 效能增加了 300MB/s
.
? 圖5. Ceph Cluster Network 做 2 port 10 GBe LACP bonding 效能增加了 300 MB/s
.
最後 ceph.conf 裡面 bluestore 參數優化 以及拆分 monitor node 跟 osd node 效能增加了 50 MB/s, 特別是 manager plugin balancer 一定要開啟, 不然 pg 不 balance 的話, 效能很明顯影響.
.
Ceph Pool 的效能來到 1500 MB/s 單點有 1000MB/s (這邊應該是 單口 public network 效能的極限) 未來如果再增加 node 以及 osd, 這個 pool 的效能應該可以再增加
.
? 圖6. 顯示了 monitor node 是 pve1, pve2, pve3
? 圖7. 顯示了 osd node 是 g1, g2, g3 以及所有 hdd 因為 bcache 被當成了 ssd.
? 影片8. 是顯示 pve1, pve2, pve3 同時跑 rados bench, 加總有 1500 MB/s 的寫入效能
.
很多時候真的要很有耐心的設定以及調試, 效能才會出來. 這次能夠不斷的有優化, 非常感謝團隊中的 Ray Tracy 給的意見跟方向. 還有 Prometheus 搭配 Grafana 的監控 io & network throughput 等等重要數據才能夠發現問題.
.
希望 ceph over rdma 趕快有下一版的 memory controller 啊, 這樣子就 production ready 又能增加 25% 的效能
【 在 i00i 的大作中提到: 】
: 看了一些实测数据,改善当然是立竿见影的,只不过引进了更高的运维复杂性和bug概率,长远来说是否值当。
colyli   (coly)2019-07-11 21:11:52
国内Ceph厂商几乎都在用bcache(或者在采用bcache的路上),有现成东西为啥不用?
【 在 i00i 的大作中提到: 】
: 看了一些实测数据,改善当然是立竿见影的,只不过引进了更高的运维复杂性和bug概率,长远来说是否值当。
i00i   (烟灰·独孤求胖)2019-07-11 21:39:00
嗯,看来bcache的方案比ceph总计的cache tier还稳妥。
【 在 colyli 的大作中提到: 】
: 国内Ceph厂商几乎都在用bcache(或者在采用bcache的路上),有现成东西为啥不用?
JulyClyde   (我的月份又来了)2019-07-12 09:50:43
我都想说何不食肉糜了
纯ssd多好啊,干嘛要混合盘?
【 在 i00i (烟灰·独孤求胖) 的大作中提到: 】
: 惭愧,,公司能不能活到能买得起服务的时候是很不确定的。。- -!!
i00i   (烟灰·独孤求胖)2019-07-12 10:57:34
整一坨上百TB的SSD存储么兄弟。。。
按一TB 2000元计算,20万啊,HDD的话,可以少个0。
话说拿企业级SSD来存冷数据,,我只能说:有钱任性,土豪随意。。
【 在 JulyClyde 的大作中提到: 】
: 我都想说何不食肉糜了
JulyClyde   (我的月份又来了)2019-07-12 15:06:12
以前我在美团的时候,数据库换SSD就是一步到位的,然后当天就决定千兆网卡换万兆
我至今没有经历过混合盘这个阶段……
【 在 i00i (烟灰·独孤求胖) 的大作中提到: 】
: 整一坨上百TB的SSD存储么兄弟。。。
hyoga   (白鸟·没见过猪跑,还没吃过猪肉吗?)2019-07-12 15:10:07
数据库在所有服务器中占比不高吧
【 在 JulyClyde (我的月份又来了) 的大作中提到: 】
: 以前我在美团的时候,数据库换SSD就是一步到位的,然后当天就决定千兆网卡换万兆
ilovecpp   (cpp)2019-07-12 15:42:49
冷数据你cache能提供什么性能?
【 在 i00i 的大作中提到: 】
: 整一坨上百TB的SSD存储么兄弟。。。
i00i   (烟灰·独孤求胖)2019-07-12 15:53:22
在变冷之前。
【 在 ilovecpp 的大作中提到: 】
: 冷数据你cache能提供什么性能?
i00i   (烟灰·独孤求胖)2019-07-12 15:55:44
看看这个ppt,很有意思。
我能听到两种声音,一说bcache优胜,一说cache tier优胜。。
可惜我一时还没有设备以验证这个事情。。
【 在 colyli 的大作中提到: 】
: 国内Ceph厂商几乎都在用bcache(或者在采用bcache的路上),有现成东西为啥不用?
[upload=1][/upload]
Ceph_bluestore-tiering-2018-11-15.jpg

i00i   (烟灰·独孤求胖)2019-07-12 15:57:09
数据库我本来就是SSD……
ceph是给海量小文件和虚机系统盘用的。
同时ceph用的也是专用万兆,然并卵啊,对于纯HDD OSD。
【 在 JulyClyde 的大作中提到: 】
: 以前我在美团的时候,数据库换SSD就是一步到位的,然后当天就决定千兆网卡换万兆
colyli   (coly)2019-07-12 21:02:33
这个和内核版本有关系,如果是用CentOS自带的bcache那是挺闹心的,基本上后面的所有的重要fix都没有。。。
【 在 i00i 的大作中提到: 】
: 看看这个ppt,很有意思。
i00i   (烟灰·独孤求胖)2019-07-12 21:50:26
centos7是3.10.x,我用的是Debian9,4.15.17,不过是pve定制的内核。。
【 在 colyli 的大作中提到: 】
: 这个和内核版本有关系,如果是用CentOS自带的bcache那是挺闹心的,基本上后面的所有的重要fix都没有。。。
colyli   (coly)2019-07-12 22:14:56
我给你列一个简单的列表,看看从4.15开始到现在的5.3-rc,有多少patch。。。这里面有很多重要修复和性能改进,写这个ppt的作者肯定心里门清 :-)
dff90d58a1c8 bcache: add reclaimed_journal_buckets to struct cache_set
91be66e1318f bcache: performance improvement for btree_flush_write()
50a260e85996 bcache: fix race in btree_flush_write()
d91ce7574daf bcache: remove retry_flush_write from struct cache_set
41508bb7d46b bcache: add comments for mutex_lock(&b->write_lock)
e5ec5f4765ad bcache: only clear BTREE_NODE_dirty bit when it is set
249a5f6da57c bcache: Revert "bcache: fix high CPU occupancy during journal"
ba82c1ac1667 bcache: Revert "bcache: free heap cache_set->flush_btree in bch_journal_free"
1df3877ff6a4 bcache: shrink btree node cache after bch_btree_check()
a231f07a5fe3 bcache: set largest seq to ja->seq[bucket_index] in journal_read_bucket()
2464b693148e bcache: add code comments for journal_read_bucket()
7e865eba00a3 bcache: fix potential deadlock in cached_def_free()
80265d8dfd77 bcache: acquire bch_register_lock later in cached_dev_free()
97ba3b816e2c bcache: acquire bch_register_lock later in cached_dev_detach_finish()
a59ff6ccc2bf bcache: avoid a deadlock in bcache_reboot()
5c2a634cbfaf bcache: stop writeback kthread and kworker when bch_cached_dev_run() failed
f54d801dda14 bcache: destroy dc->writeback_write_wq if failed to create dc->writeback_thread
5461999848e0 bcache: fix mistaken sysfs entry for io_error counter
0c277e211aae bcache: add pendings_cleanup to stop pending bcache device
944a4f340a65 bcache: make bset_search_tree() be more understandable
68a53c95a0fc bcache: remove "XXX:" comment line from run_cache_set()
e0faa3d7f79f bcache: improve error message in bch_cached_dev_run()
633bb2ce60b9 bcache: add more error message in bch_cached_dev_attach()
4b6efb4bdbce bcache: more detailed error message to bcache_device_link()
383ff2183ad1 bcache: check CACHE_SET_IO_DISABLE bit in bch_journal()
e775339e1ae1 bcache: check CACHE_SET_IO_DISABLE in allocator code
bd9026c8a7f3 bcache: remove unncessary code in bch_btree_keys_init()
0b13efecf5f2 bcache: add return value check to bch_cached_dev_run()
89e0341af082 bcache: use sysfs_match_string() instead of __sysfs_match_string()
f960facb399e bcache: remove unnecessary prefetch() in bset_search_tree()
08ec1e6282f2 bcache: add io error counting in write_bdev_super_endio()
578df99b1b05 bcache: ignore read-ahead request failure on backing device
e6dcbd3e6c91 bcache: avoid flushing btree node in cache_set_flush() if io disabled
695277f16b3a Revert "bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()"
0ae49cb7aa00 bcache: fix return value error in bch_journal_read()
b387e9b58679 bcache: check c->gc_thread by IS_ERR_OR_NULL in cache_set_flush()
141df8bb5dc0 bcache: don't set max writeback rate if gc is running
1f0ffa67349c bcache: only set BCACHE_DEV_WB_RUNNING when cached device attached
31b90956b124 bcache: fix stack corruption by PRECEDING_KEY()
ec8f24b7faaf treewide: Add SPDX license identifier - Makefile/Kconfig
2d5abb9a1e8e bcache: make is_discard_enabled() static
2b070cfe582b block: remove the i argument to bio_for_each_segment_all
f936b06ae538 bcache: clean up do_btree_node_write a bit
cdca22bcbc64 bcache: remove redundant LIST_HEAD(journal) from run_cache_set()
95f18c9d1310 bcache: avoid potential memleak of list of journal_replay(s) in the CACHE_SYNC branch of run_cache_set
f16277ca20ac bcache: fix wrong usage use-after-freed on keylist in out_nocoalesce branch of btree_gc_coalesce
631207314d88 bcache: fix failure in journal relplay
eb8cbb6df38f bcache: improve bcache_reboot()
63d63b51d70f bcache: add comments for closure_fn to be called in closure_queue()
bb6d355c2aff bcache: Add comments for blkdev_put() in registration code path
88c12d42d2bb bcache: add error check for calling register_bdev()
68d10e6979a3 bcache: return error immediately in bch_journal_replay()
2d17456eb1cc bcache: add comments for kobj release callback routine
ce3e4cfb59cb bcache: add failure check to run_cache_set() for journal replay
1bee2addc0c8 bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim()
14215ee01f63 bcache: move definition of 'int ret' out of macro read_bucket()
a4b732a248d1 bcache: fix a race between cache register and cacheset unregister
3a3947271cd6 bcache: Clean up bch_get_congested()
792732d9852c bcache: use kmemdup_nul for CACHED_LABEL buffer
78d4eb8ad9e1 bcache: avoid clang -Wunintialized warning
4e0c04ec3a30 bcache: fix inaccurate result of unused buckets
1568ee7e3c63 bcache: fix crashes stopping bcache device before read miss done
6dc4f100c175 block: allow bio_for_each_segment_all() to iterate over multi-page bvec
2e1f4f4d2481 bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages()
dc7292a5bcb4 bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata
a91fbda49f74 bcache: fix input overflow to cache set sysfs file io_error_halflife
b15008403b59 bcache: fix input overflow to cache set io_error_limit
453745fbbebe bcache: fix input overflow to journal_delay_ms
dab71b2db98d bcache: fix input overflow to writeback_rate_minimum
5b5fd3c94eef bcache: fix potential div-zero error of writeback_rate_p_term_inverse
c3b75a2199cd bcache: fix potential div-zero error of writeback_rate_i_term_inverse
369d21a73a24 bcache: fix input overflow to writeback_delay
f5c0b95d2eeb bcache: use sysfs_strtoul_bool() to set bit-field variables
e4db37fb69d5 bcache: add sysfs_strtoul_bool() for setting bit-field variables
8c27a3953e92 bcache: fix input overflow to sequential_cutoff
f54478c6e226 bcache: fix input integer overflow of congested threshold
596b5a5dd1bc bcache: improve sysfs_strtoul_clamp()
58ac323084eb bcache: treat stale && dirty keys as bad keys
e8cf978dffb2 bcache: fix indentation issue, remove tabs on a hunk of code
d4610456cfa4 bcache: export backing_dev_uuid via sysfs
926d19465b66 bcache: export backing_dev_name via sysfs
83ff9318c44b bcache: not use hard coded memset size in bch_cache_accounting_clear()
9951379b0ca8 bcache: never writeback a discard operation
e78bd0d26f73 bcache: print number of keys in trace_bcache_journal_write
cc38ca7ed54a bcache: set writeback_percent in a flexible range
9aaf51654672 bcache: make cutoff_writeback and cutoff_writeback_sync tunable
009673d02fa9 bcache: add MODULE_DESCRIPTION information
7a671d8ef821 bcache: option to automatically run gc thread after writeback
cb07ad63682f bcache: introduce force_wake_up_gc()
f383ae300c4b bcache: cannot set writeback_running via sysfs if no writeback kthread created
79b791466e52 bcache: do not mark writeback_running too early
4e361e020e72 bcache: update comment in sysfs.c
3db4d0783eaf bcache: update comment for bch_data_insert
ae1710231655 bcache: do not check if debug dentry is ERR or NULL explicitly on remove
d2f96f487f47 bcache: add comment for cache_set->fill_iter
3a646fd77684 bcache: panic fix for making cache device
f6027bca9e38 bcache: split combined if-condition code into separate ones
8792099f9ad4 bcache: use MAX_CACHES_PER_SET instead of magic number 8 in __bch_bucket_alloc_set
149d0efada77 bcache: replace hard coded number with BUCKET_GC_GEN_MAX
91bafdf081b8 bcache: remove useless parameter of bch_debug_init()
3fd3c5c02b28 bcache: remove unused bch_passthrough_cache
46010141da66 bcache: recal cached_dev_sectors on detach
2d6cb6edd2c7 bcache: fix miss key refill->end in writeback
7567c2a2ad9e bcache: Populate writeback_rate_minimum attribute
2e17a262a237 bcache: correct dirty data statistics
4516da427fcf bcache: fix typo in code comments of closure_return_with_destructor()
dd0c91793b7c bcache: fix ioctl in flash device
752f66a75aba bcache: use REQ_PRIO to indicate bio for metadata
502b291568fc bcache: trace missed reading by cache_missed
7a55948d38eb bcache: account size of buckets used in uuid write to ca->meta_sectors_written
0f843e65d9ee bcache: add separate workqueue for journal_write to avoid deadlock
3943b040f11e bcache: release dc->writeback_lock properly in bch_writeback_thread()
5bed49adfe89 Merge tag 'for-4.19/post-20180822' of git://git.kernel.dk/linux-block
d23599630b0f bcache: use routines from lib/crc64.c for CRC64 calculation
eb2b3d034511 bcache: add the missing comments for smp_mb()/smp_wmb()
d0c1b89a409f bcache: remove unnecessary space before ioctl function pointer arguments
87418ef9f07a bcache: add missing SPDX header
b3cf37bfa1a4 bcache: move open brace at end of function definitions to next line
e1f08f1bc013 bcache: add static const prefix to char * array declarations
3be11dbab67a bcache: fix code comments style
3069211be300 bcache: do not check NULL pointer before calling kmem_cache_destroy
bc81b47e828a bcache: prefer 'help' in Kconfig
2b1edd23ecc6 bcache: fix typo 'succesfully' to 'successfully'
d9c61d30e86a bcache: replace '%pF' by '%pS' in seq_printf()
c63ca7871aa3 bcache: fix indent by replacing blank by tabs
6ae63e3501c4 bcache: replace printk() by pr_*() routines
958bf494ecf0 bcache: replace Symbolic permissions by octal permission numbers
b0d30981c05f bcache: style fixes for lines over 80 characters
fc2d5988b597 bcache: add identifier names to arguments of function definitions
1fae7cf05293 bcache: style fix to add a blank line after declarations
6f10f7d1b02b bcache: style fix to replace 'unsigned' by 'unsigned int'
46451874c7c9 bcache: fix error setting writeback_rate through sysfs interface
cbb751c060fe bcache: trivial - remove tailing backslash in macro BTREE_FLAG
e921efeb0704 bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section
ea8c5356d390 bcache: set max writeback rate when I/O request is idle
b467a6ac0b4b bcache: add code comments for bset.c
0cba2e71111e bcache: fix mistaken comments in request.c
cb329dec1182 bcache: fix mistaken code comments in bcache.h
e57fd7468485 bcache: add a comment in super.c
c2e8dcf7fa43 bcache: avoid unncessary cache prefetch bch_btree_node_get()
b4cb6efc1af7 bcache: display rate debug parameters to 0 when writeback is not running
78ac2107176b bcache: do not check return value of debugfs_create_dir()
75cbb3f1d840 bcache: stop using the deprecated get_seconds()
9b4e9f5abb94 bcache: do not assign in if condition in bcache_device_init()
16c1fdf4cfd6 bcache: do not assign in if condition in bcache_init()
6268dc2c4703 bcache: free heap cache_set->flush_btree in bch_journal_free
a56489d4b3c9 bcache: do not assign in if condition register_bcache()
94f71c16062e bcache: fix I/O significant decline while backend devices registering
7f4a59de2813 bcache: calculate the number of incremental GC nodes according to the total of btree nodes
5c25c4fc74af bcache: finish incremental GC
99a27d59bd7b bcache: simplify the calculation of the total amount of flash dirty data
c8b27acc7759 bcache: don't clone bio in bch_data_verify
ddcf35d39797 block: Add and use op_stat_group() for indexing disk_stat fields.
5fb94e9ca333 docs: Fix some broken references
fad953ce0b22 treewide: Use array_size() in vzalloc()
42bc47b35320 treewide: Use array_size() in vmalloc()
6396bb221514 treewide: kzalloc() -> kcalloc()
f459c34538f5 Merge tag 'for-4.18/block-20180603' of git://git.kernel.dk/linux-block
d19936a26658 bcache: convert to bioset_init()/mempool_init()
ce4c3e19e520 bcache: Replace bch_read_string_list() by __sysfs_match_string()
ecb37ce9baac bcache: Move couple of functions to sysfs.c
04cbc21137bf bcache: Move couple of string arrays to sysfs.c
0f0709e6bfc3 bcache: stop bcache device when backing device is offline
1c1a2ee1b53b bcache: return 0 from bch_debug_init() if CONFIG_DEBUG_FS=n
09a44ca21147 bcache: use pr_info() to inform duplicated CACHE_SET_IO_DISABLE set
4fd8e1384397 bcache: set dc->io_disable to true in conditional_stop_bcache_device()
ecb2ba8cb835 bcache: add wait_for_kthread_stop() in bch_allocator_thread()
bf78980fcc58 bcache: count backing device I/O error for writeback I/O
6147305c73e4 bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()
6e916a7eb1bc bcache: store disk name in struct cache and struct cached_dev
3526dd0c7832 Merge tag 'for-4.17/block-20180402' of git://git.kernel.dk/linux-block
5f2b18ec8e16 bcache: Fix a compiler warning in bcache_device_init()
20d3a518713e bcache: Reduce the number of sparse complaints about lock imbalances
42361469ae84 bcache: Suppress more warnings about set-but-not-used variables
f0d3814090ac bcache: Remove an unused variable
47344e330eab bcache: Fix kernel-doc warnings
9dfbdec7b7fe bcache: Annotate switch fall-through
4a4e443835a4 bcache: Add __printf annotation to __bch_check_keys()
fd01991d5c20 bcache: Fix indentation
c7b7bd07404c bcache: add io_disable to struct cached_dev
27a40ab9269e bcache: add backing_request_endio() for bi_end_io
df2b94313ae5 bcache: move closure debug file into debug directory
ca71df31661a bcache: fix using of loop variable in memory shrink
f3641c3abd1d bcache: fix error return value in memory shrink
688892b3bc05 bcache: fix incorrect sysfs output value of strip size
bc082a55d25c bcache: fix inaccurate io state for detached bcache devices
7e027ca4b534 bcache: add stop_when_cache_set_failed option to backing device
771f393e8ffc bcache: add CACHE_SET_IO_DISABLE to struct cache_set flags
3fd47bfe55b0 bcache: stop dc->writeback_rate_update properly
fadd94e05c02 bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set
804f3c6981f5 bcache: fix cached_dev->count usage for bch_cache_set_error()
44e1ebe2a33b bcache: Use the blk_queue_flag_{set,clear}() functions
86755b7a96fa bcache: don't attach backing with duplicate UUID
cc40daf91bdd bcache: fix crashes in duplicate cache device register
60eb34ec5526 bcache: fix kcrashes with fio in RAID5 backend dev
02aa8a8b2b84 bcache: correct flash only vols (check all uuids)
73ac105be390 bcache: fix for data collapse after re-attaching an attached device
7f4fc93d4713 bcache: return attach error when no cache set exist
7a5e3ecbe5b7 bcache: set writeback_rate_update_seconds in range [1, 60] seconds
682811b3ce1a bcache: fix for allocator and register thread race
7ba0d830dc0e bcache: set error_limit correctly
99361bbf2633 bcache: properly set task state in bch_writeback_thread()
c4dc2497d50d bcache: fix high CPU occupancy during journal
a728eacbbdd2 bcache: add journal statistic
3609c471a1b8 bcache: closures: move control bits one bit right
616486ab52ab bcache: fix writeback target calc on large devices
5138ac6748e3 bcache: fix misleading error message in bch_count_io_errors()
2831231d4c3f bcache: reduce cache_set devices iteration by devices_max_used
b40503ea4f5c bcache: fix unmatched generic_end_io_acct() & generic_start_io_acct()
ce439bf78b48 bcache: mark closure_sync() __sched
e4bf791937d8 bcache: Fix, improve efficiency of closure_sync()
b1092c9af9ed bcache: allow quick writeback when backing idle
6e6ccc67b9c7 bcache: writeback: properly order backing device IO
539d39eb2708 bcache: fix wrong return value in bch_debug_init()
4eca1cb28d8b bcache: segregate flash only volume write streams
9d13411784e2 bcache: Use PTR_ERR_OR_ZERO()
8d29c4426b9f bcache: stop writeback thread after detaching
b221fc130c49 bcache: ret IOERR when read meets metadata error
25d8be77e192 block: move bio_alloc_pages() to bcache
c2421edf5f91 bcache: comment on direct access to bvec table
263663cd3c4f block: convert to bio_first_bvec_all & bio_first_page_all
【 在 i00i 的大作中提到: 】
: centos7是3.10.x,我用的是Debian9,4.15.17,不过是pve定制的内核。。
i00i   (烟灰·独孤求胖)2019-07-12 22:59:37
赞认真~
作者没写是基于啥os做的测试,透露的信息太少了,而且应该是特定的业务场景。
不过去年11月,应该不会是太老的内核。
你不妨自己看看:https://www.slideshare.net/renjiaying/ceph-bluestortiering20181115
话说。。你觉得bcache的bug多还是ceph的会更多?
【 在 colyli 的大作中提到: 】
: 我给你列一个简单的列表,看看从4.15开始到现在的5.3-rc,有多少patch。。。这里面有很多重要修复和性能改进,写这个ppt的作者肯定心里门清 :-)

水木社区