On Wed, Aug 22, 2018 at 6:02 PM Adrien Gillard <gillard.adr...@gmail.com>
wrote:

> We 'paused' the cluster early in our investigation to avoid unnecessary
> IO.
> We also set the nodown flag but the OOM rate was really sustained and we
> got servers that stopped responding from time to time, so we decided to
> lower the number of OSDs up and let them peer.
>

Right but this often also means that they need to deal with changing
intervals or trying to set up recovery and things, plus the change in which
OSDs are up creates new maps that need to be processed. If you set “nodown”
you can incrementally bring up OSDs while doing a better job of throttling
the map creation process and preventing a bunch of new IO when/if they OOM.


I don't know if it is the best solution but it is the middle of the night
> here, so we'll see tomorrow morning and ponder the completion of the
> upgrade.
>
> I agree with you Greg, it does not make sense. The cluster was running
> great for around 6 hours after the mons upgrade...
>
> Finally, regarding the cache-tiering, I know it is not used a lot nor will
> it be maintained over time. One of the main goal of the luminous upgrade is
> to remove it completely and switch to ec rbd.
>
> Thank you for your inputs !
>
>
> On Wed, Aug 22, 2018 at 11:57 PM Gregory Farnum <gfar...@redhat.com>
> wrote:
>
>> On Wed, Aug 22, 2018 at 6:35 AM Adrien Gillard <gillard.adr...@gmail.com>
>> wrote:
>>
>>> Hi everyone,
>>>
>>> We have a hard time figuring out a behaviour encountered after upgrading
>>> the monitors of one of our cluster from Jewel to Luminous yesterday.
>>>
>>> The cluster is composed of 14 OSDs hosts (2xE5-2640 v3 and 64 GB of
>>> RAM), each containing 12x4TB OSD with journals on DC grade SSDs). The
>>> cluster was installed in Infernalis and upgraded to Jewel. We mainly use it
>>> for RBD with a cache tier in front of an EC pool.
>>>
>>> We started the upgrade from Jewel 10.2.10 to Luminous 12.2.7 yesterday
>>> afternoon with the monitors and the provisionning of the MGR. We were
>>> planning on upgrading the OSD servers today.
>>> All went well until the cluster received the following commands, a few
>>> hours after the upgrade :
>>>
>>> ceph osd pool set pool-cache-01 target_max_bytes 0
>>> ceph osd pool set pool-cache-02 target_max_bytes 0
>>>
>>> (The context here is that we use this cluster for backups and set
>>> target_max_bytes to 0 to stop the flush and give maximum ressources to the
>>> backups IOs)
>>>
>>> Below is an extract from the logs of one of the monitors.
>>> The cluster started exchanging a lot over the cluster network,
>>> apparently backfill/recovery and multiple Gbits/s, in an amount which we've
>>> never seen before. Due to some network uplinks sub-sizing, the traffic
>>> could not be handled well and this lead to OSDs crashing.
>>>
>>
>> This really doesn't make a ton of sense — you're saying that by telling
>> the cluster to *stop* doing flushing IO, everything went bad? In terms of
>> root causing the issue you'll obviously want to focus on that, although it
>> may or may not be helpful in recovering things at this point.
>>
>> Do keep in mind that users running cache-tiering are increasingly
>> uncommon, and while we still test it we aren't expanding that coverage and
>> would really like to remove and replace that functionality, so you're out
>> on the far edge of things here. :/
>>
>> Finally, if you're still experiencing OOM issues, you may want to set the
>> "nodown" flag — that will prevent OSDs being marked down, which obviously
>> will stall IO and peering if they go down anyway, but will prevent spamming
>> map updates that cause the cluster to OOM again.
>> -Greg
>>
>>
>>>
>>> At the moment we are still investigating the logs to try to understand
>>> what happened exactly. The cluster is down. When we restart the OSDs, PG
>>> start activating and peering but at some point all the RAM and swap of the
>>> servers is consumed and OSDs crash.
>>> I tried to set the ovious cluster parameters (osd_recovery_max_active=1,
>>> osd_recovery_threads=1, osd_max_backfills=1) and norecover, nobackfill, but
>>> when the OSDs start, we still see 4 or 5 Gbits/s over the cluster network.
>>>
>>> We are currently reconfiguring the network to try to remove the bandwith
>>> problem and are preparing to add more RAM to the servers.
>>>
>>> But still, I have a couple of questions :
>>>
>>>  - Has anyone encoutered the issue we have with the cache ? Or have a
>>> possible explanation ?
>>>  - Is it normal to observe so much traffic on the cluster network when
>>> the PG are activating / peering with norecover and nobackfill set ?
>>>
>>> Thank you for reading and for your input !
>>>
>>>
>>> 2018-08-21 21:05:02.766969 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 6208 active+clean; 261 TB data, 385 TB used, 225 TB
>>> / 611 TB avail; 298 MB/s rd, 212 MB/s wr, 456 op/s
>>> 2018-08-21 21:05:03.805124 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 6208 active+clean; 261 TB data, 385 TB used, 225 TB
>>> / 611 TB avail; 296 MB/s rd, 193 MB/s wr, 433 op/s
>>> 2018-08-21 21:05:03.870690 7f10d83cc700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader)
>>> e6 handle_command mon_command({"var": "target_max_bytes", "prefix": "osd
>>> pool set", "pool": "pool-cache-02", "val": "0"} v 0
>>> ) v1
>>> 2018-08-21 21:05:03.870749 7f10d83cc700  0 log_channel(audit) log [INF]
>>> : from='client.146529236 -' entity='client.admin' cmd=[{"var":
>>> "target_max_bytes", "prefix": "osd pool set", "pool": "pool-cache-02
>>> ", "val": "0"}]: dispatch
>>> 2018-08-21 21:05:03.913663 7f10d83cc700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader)
>>> e6 handle_command mon_command({"prefix": "osd pool stats", "format":
>>> "json"} v 0) v1
>>> 2018-08-21 21:05:03.913745 7f10d83cc700  0 log_channel(audit) log [DBG]
>>> : from='client.? 10.25.25.3:0/4101432770' entity='client.admin'
>>> cmd=[{"prefix": "osd pool stats", "format": "json"}]: dispatch
>>> 2018-08-21 21:05:04.042835 7f10d83cc700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader)
>>> e6 handle_command mon_command({"var": "target_max_bytes", "prefix": "osd
>>> pool set", "pool": "pool-cache-01", "val": "0"} v 0
>>> ) v1
>>> 2018-08-21 21:05:04.042894 7f10d83cc700  0 log_channel(audit) log [INF]
>>> : from='client.146565481 -' entity='client.admin' cmd=[{"var":
>>> "target_max_bytes", "prefix": "osd pool set", "pool": "pool-cache-01
>>> ", "val": "0"}]: dispatch
>>> 2018-08-21 21:05:04.813217 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 6208 active+clean; 261 TB data, 385 TB used, 225 TB
>>> / 611 TB avail; 271 MB/s rd, 181 MB/s wr, 415 op/s
>>> 2018-08-21 21:05:04.821486 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114693 e114693: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:04.821711 7f10de377700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114693 crush map has features 432365734501548032, adjusting msgr requires
>>> 2018-08-21 21:05:04.823032 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114693 create_pending setting backfillfull_ratio = 0.9
>>> 2018-08-21 21:05:04.823156 7f10de377700  0 log_channel(audit) log [INF]
>>> : from='client.146529236 -' entity='client.admin' cmd='[{"var":
>>> "target_max_bytes", "prefix": "osd pool set", "pool": "pool-cache-0
>>> 2", "val": "0"}]': finished
>>> 2018-08-21 21:05:04.823280 7f10de377700  0 log_channel(audit) log [INF]
>>> : from='client.146565481 -' entity='client.admin' cmd='[{"var":
>>> "target_max_bytes", "prefix": "osd pool set", "pool": "pool-cache-0
>>> 1", "val": "0"}]': finished
>>> 2018-08-21 21:05:04.825528 7f10de377700  0 log_channel(cluster) log
>>> [DBG] : osdmap e114693: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:04.844932 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 6208 active+clean; 261 TB data, 385 TB used, 225 TB
>>> / 611 TB avail; 275 MB/s rd, 192 MB/s wr, 429 op/s
>>> 2018-08-21 21:05:05.873682 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 187 peering, 6021 active+clean; 261 TB data, 385 TB
>>> used, 225 TB / 611 TB avail; 220 MB/s rd, 188 MB/s wr, 383
>>> op/s
>>> 2018-08-21 21:05:05.895414 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114694 e114694: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:05.895721 7f10de377700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114694 crush map has features 432365734501548032, adjusting msgr requires
>>> 2018-08-21 21:05:05.905473 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114694 create_pending setting backfillfull_ratio = 0.9
>>> 2018-08-21 21:05:05.940729 7f10de377700  0 log_channel(cluster) log
>>> [DBG] : osdmap e114694: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:05.947921 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 204 peering, 6004 active+clean; 261 TB data, 385 TB
>>> used, 225 TB / 611 TB avail; 201 MB/s rd, 200 MB/s wr, 355
>>> op/s
>>> 2018-08-21 21:05:06.912752 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114695 e114695: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:06.913104 7f10de377700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114695 crush map has features 432365734501548032, adjusting msgr requires
>>> 2018-08-21 21:05:06.928521 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114695 create_pending setting backfillfull_ratio = 0.9
>>> 2018-08-21 21:05:06.968793 7f10de377700  0 log_channel(cluster) log
>>> [DBG] : osdmap e114695: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:07.001112 7f10d93ce700  1 heartbeat_map reset_timeout
>>> 'Monitor::cpu_tp thread 0x7f10d93ce700' had timed out after 0
>>> 2018-08-21 21:05:07.004274 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 12 unknown, 114 remapped+peering, 5 activating, 481
>>> peering, 5596 active+clean; 261 TB data, 385 TB used, 225 T
>>> B / 611 TB avail; 177 MB/s rd, 173 MB/s wr, 317 op/s
>>> 2018-08-21 21:05:07.025200 7f10d8bcd700  1 heartbeat_map reset_timeout
>>> 'Monitor::cpu_tp thread 0x7f10d8bcd700' had timed out after 0
>>> 2018-08-21 21:05:07.948138 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114696 e114696: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:07.948487 7f10de377700  0 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114696 crush map has features 432365734501548032, adjusting msgr requires
>>> 2018-08-21 21:05:07.965671 7f10de377700  1 
>>> mon.clb-cph-frpar2-mon-01@0(leader).osd
>>> e114696 create_pending setting backfillfull_ratio = 0.9
>>> 2018-08-21 21:05:08.007585 7f10de377700  0 log_channel(cluster) log
>>> [DBG] : osdmap e114696: 168 total, 168 up, 168 in
>>> 2018-08-21 21:05:08.052153 7f10de377700  0 log_channel(cluster) log
>>> [INF] : pgmap 6208 pgs: 46 activating+remapped, 15 unknown, 305
>>> remapped+peering, 11 activating, 697 peering, 8 active+remapped+backfil
>>> ling, 5126 active+clean; 261 TB data, 385 TB used, 225 TB / 611 TB
>>> avail; 115 MB/s rd, 182 MB/s wr, 292 op/s; 26681/519327262 objects
>>> misplaced (0.005%); 4856 kB/s, 3 objects/s recovering
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@lists.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