The ‘good perf’ that I reported below was the result of beginning 5 new 
bluestore conversions which results in a leading edge of ‘good’ performance, 
before trickling off.

This performance lasted about 20 minutes, where it backfilled a small set of 
PGs off of non-bluestore OSDs.

Current performance is now hovering around:
> pool objects-ssd id 20
>   recovery io 14285 kB/s, 202 objects/s
> 
> pool fs-metadata-ssd id 16
>   recovery io 0 B/s, 262 keys/s, 12 objects/s
>   client io 412 kB/s rd, 67593 B/s wr, 5 op/s rd, 0 op/s wr

> What are you referencing when you talk about recovery ops per second?

These are recovery ops as reported by ceph -s or via stats exported via influx 
plugin in mgr, and via local collectd collection.

> Also, what are the values for osd_recovery_sleep_hdd and 
> osd_recovery_sleep_hybrid, and can you validate via "ceph osd metadata" that 
> your BlueStore SSD OSDs are correctly reporting both themselves and their 
> journals as non-rotational?

This yields more interesting results.
Pasting results for 3 sets of OSDs in this order
 {0}hdd+nvme block.db
{24}ssd+nvme block.db
{59}ssd+nvme journal

> ceph osd metadata | grep 'id\|rotational'
> "id": 0,
>         "bluefs_db_rotational": "0",
>         "bluefs_slow_rotational": "1",
>         "bluestore_bdev_rotational": "1",
>         "journal_rotational": "1",
>         "rotational": “1"
> "id": 24,
>         "bluefs_db_rotational": "0",
>         "bluefs_slow_rotational": "0",
>         "bluestore_bdev_rotational": "0",
>         "journal_rotational": "1",
>         "rotational": “0"
> "id": 59,
>         "journal_rotational": "0",
>         "rotational": “0"

I wonder if it matters/is correct to see "journal_rotational": “1” for the 
bluestore OSD’s {0,24} with nvme block.db.

Hope this may be helpful in determining the root cause.

If it helps, all of the OSD’s were originally deployed with ceph-deploy, but 
are now being redone with ceph-volume locally on each host.

Thanks,

Reed

> On Feb 26, 2018, at 1:00 PM, Gregory Farnum <gfar...@redhat.com> wrote:
> 
> On Mon, Feb 26, 2018 at 9:12 AM Reed Dier <reed.d...@focusvq.com 
> <mailto:reed.d...@focusvq.com>> wrote:
> After my last round of backfills completed, I started 5 more bluestore 
> conversions, which helped me recognize a very specific pattern of performance.
> 
>> pool objects-ssd id 20
>>   recovery io 757 MB/s, 10845 objects/s
>> 
>> pool fs-metadata-ssd id 16
>>   recovery io 0 B/s, 36265 keys/s, 1633 objects/s
>>   client io 2544 kB/s rd, 36788 B/s wr, 1 op/s rd, 0 op/s wr
> 
> The “non-throttled” backfills are only coming from filestore SSD OSD’s.
> When backfilling from bluestore SSD OSD’s, they appear to be throttled at the 
> aforementioned <20 ops per OSD.
> 
> Wait, is that the current state? What are you referencing when you talk about 
> recovery ops per second?
> 
> Also, what are the values for osd_recovery_sleep_hdd and 
> osd_recovery_sleep_hybrid, and can you validate via "ceph osd metadata" that 
> your BlueStore SSD OSDs are correctly reporting both themselves and their 
> journals as non-rotational?
> -Greg
>  
> 
> This would corroborate why the first batch of SSD’s I migrated to bluestore 
> were all at “full” speed, as all of the OSD’s they were backfilling from were 
> filestore based, compared to increasingly bluestore backfill targets, leading 
> to increasingly long backfill times as I move from one host to the next.
> 
> Looking at the recovery settings, the recovery_sleep and recovery_sleep_ssd 
> values across bluestore or filestore OSDs are showing as 0 values, which 
> means no sleep/throttle if I am reading everything correctly.
> 
>> sudo ceph daemon osd.73 config show | grep recovery
>>     "osd_allow_recovery_below_min_size": "true",
>>     "osd_debug_skip_full_check_in_recovery": "false",
>>     "osd_force_recovery_pg_log_entries_factor": "1.300000",
>>     "osd_min_recovery_priority": "0",
>>     "osd_recovery_cost": "20971520",
>>     "osd_recovery_delay_start": "0.000000",
>>     "osd_recovery_forget_lost_objects": "false",
>>     "osd_recovery_max_active": "35",
>>     "osd_recovery_max_chunk": "8388608",
>>     "osd_recovery_max_omap_entries_per_chunk": "64000",
>>     "osd_recovery_max_single_start": "1",
>>     "osd_recovery_op_priority": "3",
>>     "osd_recovery_op_warn_multiple": "16",
>>     "osd_recovery_priority": "5",
>>     "osd_recovery_retry_interval": "30.000000",
>>     "osd_recovery_sleep": "0.000000",
>>     "osd_recovery_sleep_hdd": "0.100000",
>>     "osd_recovery_sleep_hybrid": "0.025000",
>>     "osd_recovery_sleep_ssd": "0.000000",
>>     "osd_recovery_thread_suicide_timeout": "300",
>>     "osd_recovery_thread_timeout": "30",
>>     "osd_scrub_during_recovery": "false",
> 
> 
> As far as I know, the device class is configured correctly as far as I know, 
> it all shows as ssd/hdd correctly in ceph osd tree.
> 
> So hopefully this may be enough of a smoking gun to help narrow down where 
> this may be stemming from.
> 
> Thanks,
> 
> Reed
> 
>> On Feb 23, 2018, at 10:04 AM, David Turner <drakonst...@gmail.com 
>> <mailto:drakonst...@gmail.com>> wrote:
>> 
>> Here is a [1] link to a ML thread tracking some slow backfilling on 
>> bluestore.  It came down to the backfill sleep setting for them.  Maybe it 
>> will help.
>> 
>> [1] https://www.mail-archive.com/ceph-users@lists.ceph.com/msg40256.html 
>> <https://www.mail-archive.com/ceph-users@lists.ceph.com/msg40256.html>
>> On Fri, Feb 23, 2018 at 10:46 AM Reed Dier <reed.d...@focusvq.com 
>> <mailto:reed.d...@focusvq.com>> wrote:
>> Probably unrelated, but I do keep seeing this odd negative objects degraded 
>> message on the fs-metadata pool:
>> 
>>> pool fs-metadata-ssd id 16
>>>   -34/3 objects degraded (-1133.333%)
>>>   recovery io 0 B/s, 89 keys/s, 2 objects/s
>>>   client io 51289 B/s rd, 101 kB/s wr, 0 op/s rd, 0 op/s wr
>> 
>> Don’t mean to clutter the ML/thread, however it did seem odd, maybe its a 
>> culprit? Maybe its some weird sampling interval issue thats been solved in 
>> 12.2.3?
>> 
>> Thanks,
>> 
>> Reed
>> 
>> 
>>> On Feb 23, 2018, at 8:26 AM, Reed Dier <reed.d...@focusvq.com 
>>> <mailto:reed.d...@focusvq.com>> wrote:
>>> 
>>> Below is ceph -s
>>> 
>>>>   cluster:
>>>>     id:     {id}
>>>>     health: HEALTH_WARN
>>>>             noout flag(s) set
>>>>             260610/1068004947 objects misplaced (0.024%)
>>>>             Degraded data redundancy: 23157232/1068004947 objects degraded 
>>>> (2.168%), 332 pgs unclean, 328 pgs degraded, 328 pgs undersized
>>>> 
>>>>   services:
>>>>     mon: 3 daemons, quorum mon02,mon01,mon03
>>>>     mgr: mon03(active), standbys: mon02
>>>>     mds: cephfs-1/1/1 up  {0=mon03=up:active}, 1 up:standby
>>>>     osd: 74 osds: 74 up, 74 in; 332 remapped pgs
>>>>          flags noout
>>>> 
>>>>   data:
>>>>     pools:   5 pools, 5316 pgs
>>>>     objects: 339M objects, 46627 GB
>>>>     usage:   154 TB used, 108 TB / 262 TB avail
>>>>     pgs:     23157232/1068004947 objects degraded (2.168%)
>>>>              260610/1068004947 objects misplaced (0.024%)
>>>>              4984 active+clean
>>>>              183  active+undersized+degraded+remapped+backfilling
>>>>              145  active+undersized+degraded+remapped+backfill_wait
>>>>              3    active+remapped+backfill_wait
>>>>              1    active+remapped+backfilling
>>>> 
>>>>   io:
>>>>     client:   8428 kB/s rd, 47905 B/s wr, 130 op/s rd, 0 op/s wr
>>>>     recovery: 37057 kB/s, 50 keys/s, 217 objects/s
>>> 
>>> Also the two pools on the SSDs, are the objects pool at 4096 PG, and the 
>>> fs-metadata pool at 32 PG.
>>> 
>>>> Are you sure the recovery is actually going slower, or are the individual 
>>>> ops larger or more expensive?
>>> 
>>> The objects should not vary wildly in size.
>>> Even if they were differing in size, the SSDs are roughly idle in their 
>>> current state of backfilling when examining wait in iotop, or atop, or 
>>> sysstat/iostat.
>>> 
>>> This compares to when I was fully saturating the SATA backplane with over 
>>> 1000MB/s of writes to multiple disks when the backfills were going “full 
>>> speed.”
>>> 
>>> Here is a breakdown of recovery io by pool:
>>> 
>>>> pool objects-ssd id 20
>>>>   recovery io 6779 kB/s, 92 objects/s
>>>>   client io 3071 kB/s rd, 50 op/s rd, 0 op/s wr
>>>> 
>>>> pool fs-metadata-ssd id 16
>>>>   recovery io 0 B/s, 28 keys/s, 2 objects/s
>>>>   client io 109 kB/s rd, 67455 B/s wr, 1 op/s rd, 0 op/s wr
>>>> 
>>>> pool cephfs-hdd id 17
>>>>   recovery io 40542 kB/s, 158 objects/s
>>>>   client io 10056 kB/s rd, 142 op/s rd, 0 op/s wr
>>> 
>>> So the 24 HDD’s are outperforming the 50 SSD’s for recovery and client 
>>> traffic at the moment, which seems conspicuous to me.
>>> 
>>> Most of the OSD’s with recovery ops to the SSDs are reporting 8-12 ops, 
>>> with one OSD occasionally spiking up to 300-500 for a few minutes. Stats 
>>> being pulled by both local CollectD instances on each node, as well as the 
>>> Influx plugin in MGR as we evaluate that against collectd.
>>> 
>>> Thanks,
>>> 
>>> Reed
>>> 
>>> 
>>>> On Feb 22, 2018, at 6:21 PM, Gregory Farnum <gfar...@redhat.com 
>>>> <mailto:gfar...@redhat.com>> wrote:
>>>> 
>>>> What's the output of "ceph -s" while this is happening?
>>>> 
>>>> Is there some identifiable difference between these two states, like you 
>>>> get a lot of throughput on the data pools but then metadata recovery is 
>>>> slower?
>>>> 
>>>> Are you sure the recovery is actually going slower, or are the individual 
>>>> ops larger or more expensive?
>>>> 
>>>> My WAG is that recovering the metadata pool, composed mostly of 
>>>> directories stored in omap objects, is going much slower for some reason. 
>>>> You can adjust the cost of those individual ops some by changing 
>>>> osd_recovery_max_omap_entries_per_chunk (default: 8096), but I'm not sure 
>>>> which way you want to go or indeed if this has anything to do with the 
>>>> problem you're seeing. (eg, it could be that reading out the omaps is 
>>>> expensive, so you can get higher recovery op numbers by turning down the 
>>>> number of entries per request, but not actually see faster backfilling 
>>>> because you have to issue more requests.)
>>>> -Greg
>>>> 
>>>> On Wed, Feb 21, 2018 at 2:57 PM Reed Dier <reed.d...@focusvq.com 
>>>> <mailto:reed.d...@focusvq.com>> wrote:
>>>> Hi all,
>>>> 
>>>> I am running into an odd situation that I cannot easily explain.
>>>> I am currently in the midst of destroy and rebuild of OSDs from filestore 
>>>> to bluestore.
>>>> With my HDDs, I am seeing expected behavior, but with my SSDs I am seeing 
>>>> unexpected behavior. The HDDs and SSDs are set in crush accordingly.
>>>> 
>>>> My path to replacing the OSDs is to set the noout, norecover, norebalance 
>>>> flag, destroy the OSD, create the OSD back, (iterate n times, all within a 
>>>> single failure domain), unset the flags, and let it go. It finishes, 
>>>> rinse, repeat.
>>>> 
>>>> For the SSD OSDs, they are SATA SSDs (Samsung SM863a) , 10 to a node, with 
>>>> 2 NVMe drives (Intel P3700), 5 SATA SSDs to 1 NVMe drive, 16G partitions 
>>>> for block.db (previously filestore journals).
>>>> 2x10GbE networking between the nodes. SATA backplane caps out at around 10 
>>>> Gb/s as its 2x 6 Gb/s controllers. Luminous 12.2.2.
>>>> 
>>>> When the flags are unset, recovery starts and I see a very large rush of 
>>>> traffic, however, after the first machine completed, the performance 
>>>> tapered off at a rapid pace and trickles. Comparatively, I’m getting 
>>>> 100-200 recovery ops on 3 HDDs, backfilling from 21 other HDDs, where as 
>>>> I’m getting 150-250 recovery ops on 5 SSDs, backfilling from 40 other 
>>>> SSDs. Every once in a while I will see a spike up to 500, 1000, or even 
>>>> 2000 ops on the SSDs, often a few hundred recovery ops from one OSD, and 
>>>> 8-15 ops from the others that are backfilling.
>>>> 
>>>> This is a far cry from the more than 15-30k recovery ops that it started 
>>>> off recovering with 1-3k recovery ops from a single OSD to the backfilling 
>>>> OSD(s). And an even farther cry from the >15k recovery ops I was 
>>>> sustaining for over an hour or more before. I was able to rebuild a 1.9T 
>>>> SSD (1.1T used) in a little under an hour, and I could do about 5 at a 
>>>> time and still keep it at roughly an hour to backfill all of them, but 
>>>> then I hit a roadblock after the first machine, when I tried to do 10 at a 
>>>> time (single machine). I am now still experiencing the same thing on the 
>>>> third node, while doing 5 OSDs at a time. 
>>>> 
>>>> The pools associated with these SSDs are cephfs-metadata, as well as a 
>>>> pure rados object pool we use for our own internal applications. Both are 
>>>> size=3, min_size=2.
>>>> 
>>>> It appears I am not the first to run into this, but it looks like there 
>>>> was no resolution: https://www.spinics.net/lists/ceph-users/msg41493.html 
>>>> <https://www.spinics.net/lists/ceph-users/msg41493.html>
>>>> 
>>>> Recovery parameters for the OSDs match what was in the previous thread, 
>>>> sans the osd conf block listed. And current osd_max_backfills = 30 and 
>>>> osd_recovery_max_active = 35. Very little activity on the OSDs during this 
>>>> period, so should not be any contention for iops on the SSDs.
>>>> 
>>>> The only oddity that I can attribute to things is that we had a few 
>>>> periods of time where the disk load on one of the mons was high enough to 
>>>> cause the mon to drop out of quorum for a brief amount of time, a few 
>>>> times. But I wouldn’t think backfills would just get throttled due to mons 
>>>> flapping.
>>>> 
>>>> Hopefully someone has some experience or can steer me in a path to improve 
>>>> the performance of the backfills so that I’m not stuck in backfill 
>>>> purgatory longer than I need to be.
>>>> 
>>>> Linking an imgur album with some screen grabs of the recovery ops over 
>>>> time for the first machine, versus the second and third machines to 
>>>> demonstrate the delta between them.
>>>> https://imgur.com/a/OJw4b <https://imgur.com/a/OJw4b>
>>>> 
>>>> Also including a ceph osd df of the SSDs, highlighted in red are the OSDs 
>>>> currently backfilling. Could this possibly be PG overdose? I don’t ever 
>>>> run into ‘stuck activating’ PGs, its just painfully slow backfills, like 
>>>> they are being throttled by ceph, that are causing me to worry. Drives 
>>>> aren’t worn, <30 P/E cycles on the drives, so plenty of life left in them.
>>>> 
>>>> Thanks,
>>>> Reed
>>>> 
>>>>> $ ceph osd df
>>>>> ID CLASS WEIGHT  REWEIGHT SIZE  USE   AVAIL %USE  VAR  PGS
>>>>> 24   ssd 1.76109  1.00000 1803G 1094G  708G 60.69 1.08 260
>>>>> 25   ssd 1.76109  1.00000 1803G 1136G  667G 63.01 1.12 271
>>>>> 26   ssd 1.76109  1.00000 1803G 1018G  785G 56.46 1.01 243
>>>>> 27   ssd 1.76109  1.00000 1803G 1065G  737G 59.10 1.05 253
>>>>> 28   ssd 1.76109  1.00000 1803G 1026G  776G 56.94 1.02 245
>>>>> 29   ssd 1.76109  1.00000 1803G 1132G  671G 62.79 1.12 270
>>>>> 30   ssd 1.76109  1.00000 1803G  944G  859G 52.35 0.93 224
>>>>> 31   ssd 1.76109  1.00000 1803G 1061G  742G 58.85 1.05 252
>>>>> 32   ssd 1.76109  1.00000 1803G 1003G  799G 55.67 0.99 239
>>>>> 33   ssd 1.76109  1.00000 1803G 1049G  753G 58.20 1.04 250
>>>>> 34   ssd 1.76109  1.00000 1803G 1086G  717G 60.23 1.07 257
>>>>> 35   ssd 1.76109  1.00000 1803G  978G  824G 54.26 0.97 232
>>>>> 36   ssd 1.76109  1.00000 1803G 1057G  745G 58.64 1.05 252
>>>>> 37   ssd 1.76109  1.00000 1803G 1025G  777G 56.88 1.01 244
>>>>> 38   ssd 1.76109  1.00000 1803G 1047G  756G 58.06 1.04 250
>>>>> 39   ssd 1.76109  1.00000 1803G 1031G  771G 57.20 1.02 246
>>>>> 40   ssd 1.76109  1.00000 1803G 1029G  774G 57.07 1.02 245
>>>>> 41   ssd 1.76109  1.00000 1803G 1033G  770G 57.28 1.02 245
>>>>> 42   ssd 1.76109  1.00000 1803G  993G  809G 55.10 0.98 236
>>>>> 43   ssd 1.76109  1.00000 1803G 1072G  731G 59.45 1.06 256
>>>>> 44   ssd 1.76109  1.00000 1803G 1039G  763G 57.64 1.03 248
>>>>> 45   ssd 1.76109  1.00000 1803G  992G  810G 55.06 0.98 236
>>>>> 46   ssd 1.76109  1.00000 1803G 1068G  735G 59.23 1.06 254
>>>>> 47   ssd 1.76109  1.00000 1803G 1020G  783G 56.57 1.01 242
>>>>> 48   ssd 1.76109  1.00000 1803G  945G  857G 52.44 0.94 225
>>>>> 49   ssd 1.76109  1.00000 1803G  649G 1154G 36.01 0.64 139
>>>>> 50   ssd 1.76109  1.00000 1803G  426G 1377G 23.64 0.42  83
>>>>> 51   ssd 1.76109  1.00000 1803G  610G 1193G 33.84 0.60 131
>>>>> 52   ssd 1.76109  1.00000 1803G  558G 1244G 30.98 0.55 118
>>>>> 53   ssd 1.76109  1.00000 1803G  731G 1072G 40.54 0.72 161
>>>>> 54   ssd 1.74599  1.00000 1787G  859G  928G 48.06 0.86 229
>>>>> 55   ssd 1.74599  1.00000 1787G  942G  844G 52.74 0.94 252
>>>>> 56   ssd 1.74599  1.00000 1787G  928G  859G 51.94 0.93 246
>>>>> 57   ssd 1.74599  1.00000 1787G 1039G  748G 58.15 1.04 277
>>>>> 58   ssd 1.74599  1.00000 1787G  963G  824G 53.87 0.96 255
>>>>> 59   ssd 1.74599  1.00000 1787G  909G  877G 50.89 0.91 241
>>>>> 60   ssd 1.74599  1.00000 1787G 1039G  748G 58.15 1.04 277
>>>>> 61   ssd 1.74599  1.00000 1787G  892G  895G 49.91 0.89 238
>>>>> 62   ssd 1.74599  1.00000 1787G  927G  859G 51.90 0.93 245
>>>>> 63   ssd 1.74599  1.00000 1787G  864G  922G 48.39 0.86 229
>>>>> 64   ssd 1.74599  1.00000 1787G  968G  819G 54.16 0.97 257
>>>>> 65   ssd 1.74599  1.00000 1787G  892G  894G 49.93 0.89 237
>>>>> 66   ssd 1.74599  1.00000 1787G  951G  836G 53.23 0.95 252
>>>>> 67   ssd 1.74599  1.00000 1787G  878G  908G 49.16 0.88 232
>>>>> 68   ssd 1.74599  1.00000 1787G  899G  888G 50.29 0.90 238
>>>>> 69   ssd 1.74599  1.00000 1787G  948G  839G 53.04 0.95 252
>>>>> 70   ssd 1.74599  1.00000 1787G  914G  873G 51.15 0.91 246
>>>>> 71   ssd 1.74599  1.00000 1787G 1004G  782G 56.21 1.00 266
>>>>> 72   ssd 1.74599  1.00000 1787G  812G  974G 45.47 0.81 216
>>>>> 73   ssd 1.74599  1.00000 1787G  932G  855G 52.15 0.93 247
>>>> _______________________________________________
>>>> ceph-users mailing list
>>>> ceph-users@lists.ceph.com <mailto:ceph-users@lists.ceph.com>
>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com 
>>>> <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com>
>>> 
>> 
>> _______________________________________________
>> ceph-users mailing list
>> ceph-users@lists.ceph.com <mailto:ceph-users@lists.ceph.com>
>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com 
>> <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com>
> 
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com <mailto:ceph-users@lists.ceph.com>
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com 
> <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to