[ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread Pieter Koorts
Hi,

A while back on a blog I saw mentioned that Ceph should not be run on
compute nodes and in the general sense should be on dedicated hardware.
Does this really still apply?

An example, if you have nodes comprised of

16+ cores
256GB+ RAM
Dual 10GBE Network
2+8 OSD (SSD log + HDD store)

I understand that Ceph can use a lot of IO and CPU in some cases but if the
nodes are powerful enough does it not make it an option to run compute and
storage on the same hardware to either increase density of compute or save
money on additional hardware?

What are the reasons for not running Ceph on the Compute nodes.

Thanks

Pieter
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread Mark Nelson
Technically there's no reason it shouldn't work, but it does complicate 
things.  Probably the biggest worry would be that if something bad 
happens on the compute side (say it goes nuts with network or memory 
transfers) it could slow things down enough that OSDs start failing 
heartbeat checks causing ceph to go into recovery and maybe cause a 
vicious cycle of nastiness.


You can mitigate some of this with cgroups and try to dedicate specific 
sockets and memory banks to Ceph/Compute, but we haven't done a lot of 
testing yet afaik.


Mark

On 11/12/2014 07:45 AM, Pieter Koorts wrote:

Hi,

A while back on a blog I saw mentioned that Ceph should not be run on
compute nodes and in the general sense should be on dedicated hardware.
Does this really still apply?

An example, if you have nodes comprised of

16+ cores
256GB+ RAM
Dual 10GBE Network
2+8 OSD (SSD log + HDD store)

I understand that Ceph can use a lot of IO and CPU in some cases but if
the nodes are powerful enough does it not make it an option to run
compute and storage on the same hardware to either increase density of
compute or save money on additional hardware?

What are the reasons for not running Ceph on the Compute nodes.

Thanks

Pieter


___
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


Re: [ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread Haomai Wang
Actually, our production cluster(up to ten) all are that ceph-osd ran
on compute-node(KVM).

The primary action is that you need to constrain the cpu and memory.
For example, you can alloc a ceph cpu-set and memory group, let
ceph-osd run with it within limited cores and memory.

The another risk is the network. Because compute-node and ceph-osd
shared the same kernel network stack, it exists some risks that VM may
ran out of network resources such as conntracker in netfilter
framework.

On Wed, Nov 12, 2014 at 10:23 PM, Mark Nelson mark.nel...@inktank.com wrote:
 Technically there's no reason it shouldn't work, but it does complicate
 things.  Probably the biggest worry would be that if something bad happens
 on the compute side (say it goes nuts with network or memory transfers) it
 could slow things down enough that OSDs start failing heartbeat checks
 causing ceph to go into recovery and maybe cause a vicious cycle of
 nastiness.

 You can mitigate some of this with cgroups and try to dedicate specific
 sockets and memory banks to Ceph/Compute, but we haven't done a lot of
 testing yet afaik.

 Mark


 On 11/12/2014 07:45 AM, Pieter Koorts wrote:

 Hi,

 A while back on a blog I saw mentioned that Ceph should not be run on
 compute nodes and in the general sense should be on dedicated hardware.
 Does this really still apply?

 An example, if you have nodes comprised of

 16+ cores
 256GB+ RAM
 Dual 10GBE Network
 2+8 OSD (SSD log + HDD store)

 I understand that Ceph can use a lot of IO and CPU in some cases but if
 the nodes are powerful enough does it not make it an option to run
 compute and storage on the same hardware to either increase density of
 compute or save money on additional hardware?

 What are the reasons for not running Ceph on the Compute nodes.

 Thanks

 Pieter


 ___
 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



-- 
Best Regards,

Wheat
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread Andrey Korolyov
On Wed, Nov 12, 2014 at 5:30 PM, Haomai Wang haomaiw...@gmail.com wrote:
 Actually, our production cluster(up to ten) all are that ceph-osd ran
 on compute-node(KVM).

 The primary action is that you need to constrain the cpu and memory.
 For example, you can alloc a ceph cpu-set and memory group, let
 ceph-osd run with it within limited cores and memory.

 The another risk is the network. Because compute-node and ceph-osd
 shared the same kernel network stack, it exists some risks that VM may
 ran out of network resources such as conntracker in netfilter
 framework.

 On Wed, Nov 12, 2014 at 10:23 PM, Mark Nelson mark.nel...@inktank.com wrote:
 Technically there's no reason it shouldn't work, but it does complicate
 things.  Probably the biggest worry would be that if something bad happens
 on the compute side (say it goes nuts with network or memory transfers) it
 could slow things down enough that OSDs start failing heartbeat checks
 causing ceph to go into recovery and maybe cause a vicious cycle of
 nastiness.

 You can mitigate some of this with cgroups and try to dedicate specific
 sockets and memory banks to Ceph/Compute, but we haven't done a lot of
 testing yet afaik.

 Mark


 On 11/12/2014 07:45 AM, Pieter Koorts wrote:

 Hi,

 A while back on a blog I saw mentioned that Ceph should not be run on
 compute nodes and in the general sense should be on dedicated hardware.
 Does this really still apply?

 An example, if you have nodes comprised of

 16+ cores
 256GB+ RAM
 Dual 10GBE Network
 2+8 OSD (SSD log + HDD store)

 I understand that Ceph can use a lot of IO and CPU in some cases but if
 the nodes are powerful enough does it not make it an option to run
 compute and storage on the same hardware to either increase density of
 compute or save money on additional hardware?

 What are the reasons for not running Ceph on the Compute nodes.

 Thanks

 Pieter


 ___
 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



 --
 Best Regards,

 Wheat
 ___
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Yes, the essential part is a resource management, which can neither be
dynamic or static. In Flops we had implemented dynamic resource
control which allows to pack VMs and OSDs more densely than static
cg-based jails can allow (and it requires deep orchestration
modifications for every open source cloud orchestrator,
unfortunately). As long as you are able to manage strong traffic
isolation for storage and vm segment, there are absolutely no problem
(it can be static limits from linux-qos or tricky flow management for
OpenFlow, depends on what your orchestration allows). The possibility
of putting together compute and storage roles without significant
impact to performance characteristics was one of key features which
led our selection to Ceph as a storage backend three years ago.
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread Robert van Leeuwen
 A while back on a blog I saw mentioned that Ceph should not be run on compute 
 nodes and in the general
 sense should be on dedicated hardware. Does this really still apply?

In my opinion storage needs to be rock-solid.
Running other (complex) software on a Ceph node increases the chances of stuff 
falling over.
Worst-case a cascading effect takes down you whole storage platform.
If your storage platform bites the dust your whole compute cloud also falls 
over (assuming you boot instances from Ceph).

Troubleshooting issues (especially those that have no obvious cause)  becomes 
more complex having to rule out more potential causes.

Not saying it can not work perfectly fine.
I'd rather just not take any chances with the storage system...

Cheers,
Robert van Leeuwen
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Ceph and Compute on same hardware?

2014-11-12 Thread gaoxingxing

I think you may also consider risk like kernel crashes etc,since storage and 
compute node are sharing the same box.
Date: Wed, 12 Nov 2014 14:51:47 +
From: pieter.koo...@me.com
To: ceph-users@lists.ceph.com
Subject: Re: [ceph-users] Ceph and Compute on same hardware?

Hi,
Thanks for the replies. Likely will not choose this method but wanted to make 
sure that it was a good technical reason rather than just a best practice. I 
did not quite think of conntracker at the time so this is a good one to 
consider.
Thanks
Pieter
On 12 November 2014 14:30, Haomai Wang haomaiw...@gmail.com wrote:
Actually, our production cluster(up to ten) all are that ceph-osd ran

on compute-node(KVM).



The primary action is that you need to constrain the cpu and memory.

For example, you can alloc a ceph cpu-set and memory group, let

ceph-osd run with it within limited cores and memory.



The another risk is the network. Because compute-node and ceph-osd

shared the same kernel network stack, it exists some risks that VM may

ran out of network resources such as conntracker in netfilter

framework.



On Wed, Nov 12, 2014 at 10:23 PM, Mark Nelson mark.nel...@inktank.com wrote:

 Technically there's no reason it shouldn't work, but it does complicate

 things.  Probably the biggest worry would be that if something bad happens

 on the compute side (say it goes nuts with network or memory transfers) it

 could slow things down enough that OSDs start failing heartbeat checks

 causing ceph to go into recovery and maybe cause a vicious cycle of

 nastiness.



 You can mitigate some of this with cgroups and try to dedicate specific

 sockets and memory banks to Ceph/Compute, but we haven't done a lot of

 testing yet afaik.



 Mark





 On 11/12/2014 07:45 AM, Pieter Koorts wrote:



 Hi,



 A while back on a blog I saw mentioned that Ceph should not be run on

 compute nodes and in the general sense should be on dedicated hardware.

 Does this really still apply?



 An example, if you have nodes comprised of



 16+ cores

 256GB+ RAM

 Dual 10GBE Network

 2+8 OSD (SSD log + HDD store)



 I understand that Ceph can use a lot of IO and CPU in some cases but if

 the nodes are powerful enough does it not make it an option to run

 compute and storage on the same hardware to either increase density of

 compute or save money on additional hardware?



 What are the reasons for not running Ceph on the Compute nodes.



 Thanks



 Pieter





 ___

 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







--

Best Regards,



Wheat

___

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  
  ___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com