[Engine-devel] Ideas about engine clustering?

Hello, guys: I'm trying to make a jboss clustering environment for engine. But felt the difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything. I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering. 6. There should be more, but hope anyone can think about it :D Any ideas? Thanks!

----- Original Message -----
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 4:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt the difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it.
This is not enough, there are singletons which are not Ejbs. Will you transform them all to @Clustered Ejbs?
3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering. 6. There should be more, but hope anyone can think about it :D
InMemoryLockManager - Commands can get exclusive or shared lock (in order to solve a race between canDoAction and executeAction) - these locks will have to be replicated... Use infinispan for this?
Any ideas?
Thanks!
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

------=_Part_2490934_2029512375.1377094663409 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi,
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 4:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt the difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering. 6. There should be more, but hope anyone can think about it :D
Any ideas?
Depending on your needs/interests, you might want to have a look at ovirt-hosted-engine-setup - allows creating a VM on a host and install an engine on that VM which will also manage the host ovirt-hosted-engine-ha - allows configuring two such hosts for high availability of the engine VM (in the VM level, not application level which is what you discussed above). Both are work-in-progress and are partially usable. Not ready for production, though. Regards, -- Didi ------=_Part_2490934_2029512375.1377094663409 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><body><div style=3D"font-family: times new roman, new york, times, se= rif; font-size: 12pt; color: #000000"><div></div><div>Hi,</div><blockquote = style=3D"border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;col= or:#000;font-weight:normal;font-style:normal;text-decoration:none;font-fami= ly:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"plysan" <pl= ysab@gmail.com><br><b>To: </b>engine-devel@ovirt.org<br><b>Sent: </b>Wed= nesday, August 21, 2013 4:49:31 PM<br><b>Subject: </b>[Engine-devel] Ideas = about engine clustering?<br><div><br></div><div dir=3D"ltr">Hello, guys:<di= v><br></div><div>I'm trying to make a jboss clustering environment for engi= ne. But felt the difficuty too.</div><div>So I want to know if any one is w= orking on this? I googled it and haven't found anything.</div><div><br></di= v><div>I know there will be lots of things to do for engine migrating to cl= ustering environment. I just want to know what problem need to be solved?</= div><div>I would like to list the things I think that is needed to do(or so= lve):</div><div>1. run jboss in standalone-ha mode or domain mode.</div><di= v>2. add @Clustered annotation to each EJB, I think this will solve the rep= lication problem in cluster, probably lots of details in it.</div><div>3. Q= uartzScheduler problem, only one node running a scheduler is enough at a ti= me instead of each node running one.</div><div>4. use mod_cluster to handle= load balancing.</div><div>5. postgresql clustering.</div><div>6. There sho= uld be more, but hope anyone can think about it :D<br></div><div><br></div>= <div>Any ideas?</div></div></blockquote><div><br></div><div>Depending on yo= ur needs/interests, you might want to have a look at</div><div>ovirt-hosted= -engine-setup - allows creating a VM on a host and install an</div><div>eng= ine on that VM which will also manage the host</div><div>ovirt-hosted-engin= e-ha - allows configuring two such hosts for high availability</div><div>of= the engine VM (in the VM level, not application level which is what you di= scussed above).</div><div>Both are work-in-progress and are partially usabl= e. Not ready for production, though.</div><div><br></div><div>Regards,</div=
<div>-- <br></div><div><span name=3D"x"></span>Didi<span name=3D"x"></span= <br></div><div><br></div></div></body></html> ------=_Part_2490934_2029512375.1377094663409--

Hi, ----- Original Message -----
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 3:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt the difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Any ideas?
Thanks!
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

2013/8/21 Laszlo Hornyak <lhornyak@redhat.com>
Hi,
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 3:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt
----- Original Message ----- the
difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)* *
Any ideas?
Thanks!
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "plysan" <plysab@gmail.com> To: "Laszlo Hornyak" <lhornyak@redhat.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 5:08:57 PM Subject: Re: [Engine-devel] Ideas about engine clustering?
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com>
Hi,
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 3:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt
----- Original Message ----- the
difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)* *
There are only a very small number of real EJB's in oVirt, almost all and everything is done by singletons created by EJBs. (check InitBackendServicesOnStartupBean, Backend they are the biggest factories of these singletons) If you made a deeper research in this recently then your information may be more up to date than mine, but while working in various parts of the app I have found tons of local state.
Any ideas?
Thanks!
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Laszlo Hornyak" <lhornyak@redhat.com> To: "plysan" <plysab@gmail.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 6:30:36 PM Subject: Re: [Engine-devel] Ideas about engine clustering?
----- Original Message -----
From: "plysan" <plysab@gmail.com> To: "Laszlo Hornyak" <lhornyak@redhat.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 5:08:57 PM Subject: Re: [Engine-devel] Ideas about engine clustering?
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com>
Hi,
From: "plysan" <plysab@gmail.com> To: engine-devel@ovirt.org Sent: Wednesday, August 21, 2013 3:49:31 PM Subject: [Engine-devel] Ideas about engine clustering?
Hello, guys:
I'm trying to make a jboss clustering environment for engine. But felt
----- Original Message ----- the
difficuty too. So I want to know if any one is working on this? I googled it and haven't found anything.
I know there will be lots of things to do for engine migrating to clustering environment. I just want to know what problem need to be solved? I would like to list the things I think that is needed to do(or solve): 1. run jboss in standalone-ha mode or domain mode. 2. add @Clustered annotation to each EJB, I think this will solve the replication problem in cluster, probably lots of details in it. 3. QuartzScheduler problem, only one node running a scheduler is enough at a time instead of each node running one. 4. use mod_cluster to handle load balancing. 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)* *
There are only a very small number of real EJB's in oVirt, almost all and everything is done by singletons created by EJBs. (check InitBackendServicesOnStartupBean, Backend they are the biggest factories of these singletons) If you made a deeper research in this recently then your information may be more up to date than mine, but while working in various parts of the app I have found tons of local state.
That's right. Not to mention there are some thoughts (at least by some of us) whether we really need EJBs , but that's a totally different discussion ;)
Any ideas?
Thanks!
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

On 08/21/2013 11:08 AM, plysan wrote:
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com <mailto:lhornyak@redhat.com>>
Hi,
----- Original Message ----- > From: "plysan" <plysab@gmail.com <mailto:plysab@gmail.com>> > To: engine-devel@ovirt.org <mailto:engine-devel@ovirt.org> > Sent: Wednesday, August 21, 2013 3:49:31 PM > Subject: [Engine-devel] Ideas about engine clustering? > > Hello, guys: > > I'm trying to make a jboss clustering environment for engine. But felt the > difficuty too. > So I want to know if any one is working on this? I googled it and haven't > found anything. > > I know there will be lots of things to do for engine migrating to clustering > environment. I just want to know what problem need to be solved? > I would like to list the things I think that is needed to do(or solve): > 1. run jboss in standalone-ha mode or domain mode. > 2. add @Clustered annotation to each EJB, I think this will solve the > replication problem in cluster, probably lots of details in it. > 3. QuartzScheduler problem, only one node running a scheduler is enough at a > time instead of each node running one. > 4. use mod_cluster to handle load balancing. > 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
> 6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)**
> > Any ideas? > > Thanks! > > _______________________________________________ > Engine-devel mailing list > Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org> > http://lists.ovirt.org/mailman/listinfo/engine-devel >
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
unless you need the load balancing, just for HA, hosted-engine should cover your needs?

2013/8/22 Itamar Heim <iheim@redhat.com>
On 08/21/2013 11:08 AM, plysan wrote:
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com <mailto:lhornyak@redhat.com
Hi,
----- Original Message ----- > From: "plysan" <plysab@gmail.com <mailto:plysab@gmail.com>> > To: engine-devel@ovirt.org <mailto:engine-devel@ovirt.org**> > Sent: Wednesday, August 21, 2013 3:49:31 PM > Subject: [Engine-devel] Ideas about engine clustering? > > Hello, guys: > > I'm trying to make a jboss clustering environment for engine. But felt the > difficuty too. > So I want to know if any one is working on this? I googled it and haven't > found anything. > > I know there will be lots of things to do for engine migrating to clustering > environment. I just want to know what problem need to be solved? > I would like to list the things I think that is needed to do(or solve): > 1. run jboss in standalone-ha mode or domain mode. > 2. add @Clustered annotation to each EJB, I think this will solve the > replication problem in cluster, probably lots of details in it. > 3. QuartzScheduler problem, only one node running a scheduler is enough at a > time instead of each node running one. > 4. use mod_cluster to handle load balancing. > 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
> 6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)**
> > Any ideas? > > Thanks! > > ______________________________**_________________ > Engine-devel mailing list > Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org**> > http://lists.ovirt.org/**mailman/listinfo/engine-devel<http://lists.ovirt.org/mailman/listinfo/engine-devel>
>
______________________________**_________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/**mailman/listinfo/engine-devel<http://lists.ovirt.org/mailman/listinfo/engine-devel>
unless you need the load balancing, just for HA, hosted-engine should cover your needs?
I think failover and more scalability is what i am interested here. Just thinking about the possibilities :) Imagine engine would never get restarted from outside view. Cool isn't it?

On 08/21/2013 10:27 PM, plysan wrote:
2013/8/22 Itamar Heim <iheim@redhat.com <mailto:iheim@redhat.com>>
On 08/21/2013 11:08 AM, plysan wrote:
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com <mailto:lhornyak@redhat.com> <mailto:lhornyak@redhat.com <mailto:lhornyak@redhat.com>>>
Hi,
----- Original Message ----- > From: "plysan" <plysab@gmail.com <mailto:plysab@gmail.com> <mailto:plysab@gmail.com <mailto:plysab@gmail.com>>> > To: engine-devel@ovirt.org <mailto:engine-devel@ovirt.org> <mailto:engine-devel@ovirt.org <mailto:engine-devel@ovirt.org>__> > Sent: Wednesday, August 21, 2013 3:49:31 PM > Subject: [Engine-devel] Ideas about engine clustering? > > Hello, guys: > > I'm trying to make a jboss clustering environment for engine. But felt the > difficuty too. > So I want to know if any one is working on this? I googled it and haven't > found anything. > > I know there will be lots of things to do for engine migrating to clustering > environment. I just want to know what problem need to be solved? > I would like to list the things I think that is needed to do(or solve): > 1. run jboss in standalone-ha mode or domain mode. > 2. add @Clustered annotation to each EJB, I think this will solve the > replication problem in cluster, probably lots of details in it. > 3. QuartzScheduler problem, only one node running a scheduler is enough at a > time instead of each node running one. > 4. use mod_cluster to handle load balancing. > 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be really interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database.
> 6. There should be more, but hope anyone can think about it :D
There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and replace with a data structure that is shared between the cluster memebers. This may be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)**
> > Any ideas? > > Thanks! > > _________________________________________________ > Engine-devel mailing list > Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org> <mailto:Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org>__> > http://lists.ovirt.org/__mailman/listinfo/engine-devel <http://lists.ovirt.org/mailman/listinfo/engine-devel>
>
_________________________________________________ Engine-devel mailing list Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org> http://lists.ovirt.org/__mailman/listinfo/engine-devel <http://lists.ovirt.org/mailman/listinfo/engine-devel>
unless you need the load balancing, just for HA, hosted-engine should cover your needs?
I think failover and more scalability is what i am interested here. Just thinking about the possibilities :) Imagine engine would never get restarted from outside view. Cool isn't it?
active/passive failover you should get from hosted-engine (yes, with some downtime) scalability and active-active would be great. iirc, juan looked at implications of doing this a while back

On 08/21/2013 10:27 PM, plysan wrote:
=20 =20 =20 2013/8/22 Itamar Heim <iheim@redhat.com <mailto:iheim@redhat.com>> =20 On 08/21/2013 11:08 AM, plysan wrote: =20 =20 =20 =20 2013/8/21 Laszlo Hornyak <lhornyak@redhat.com <mailto:lhornyak@redhat.com> <mailto:lhornyak@redhat.com <mailto:lhornyak@redhat.com>>> =20 =20 Hi, =20 ----- Original Message ----- > From: "plysan" <plysab@gmail.com <mailto:plysab@gmail.com> <mailto:plysab@gmail.com <mailto:plysab@gmail.com>>> > To: engine-devel@ovirt.org <mailto:engine-devel@ovirt.org> <mailto:engine-devel@ovirt.org <mailto:engine-devel@ovirt.org>__> > Sent: Wednesday, August 21, 2013 3:49:31 PM > Subject: [Engine-devel] Ideas about engine clustering? > > Hello, guys: > > I'm trying to make a jboss clustering environment for engine. But felt the > difficuty too. > So I want to know if any one is working on this? I googled it and haven't > found anything. > > I know there will be lots of things to do for engine migrating to clustering > environment. I just want to know what problem need to = be solved? > I would like to list the things I think that is needed to do(or solve): > 1. run jboss in standalone-ha mode or domain mode. > 2. add @Clustered annotation to each EJB, I think this will solve the > replication problem in cluster, probably lots of =
in it. > 3. QuartzScheduler problem, only one node running a scheduler is enough at a > time instead of each node running one. > 4. use mod_cluster to handle load balancing. > 5. postgresql clustering. =20 For failover it sounds like a plan, just wondering if =
--Apple-Mail=_79241B0E-0B77-4286-B897-5E944A61C4DD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii IMHO EJB clustering is not the direction we should take, especially = considering our IoC plans (see http://gerrit.ovirt.org/#/c/5575/). QuartzScheduler can be easily fixed by using a DB for Quartz = configuration. We had such a discussion a few weeks ago. mod_jk is probably better for our HA. Postgres clustering should probably be a different task, as it's more = infra and less code. Another thing to consider is locking, currently done using synchronized, = and will need to be changed somehow (probably using Infinispan). On Aug 22, 2013, at 10:22 AM, Itamar Heim wrote: details this
could solve load balancing problems as well. Ovirt is generating a big load on the DB and I would be =
really
interested if SQL DB clustering could solve the issues. It would be great if it could, big part of the scalablity issue is the evil things we did against that poor database. =20 > 6. There should be more, but hope anyone can think =
about
it :D =20 There are tons of data structures that are used in oVirt that store state. You will have to hunt all of these down and =
replace
with a data structure that is shared between the cluster =
memebers.
This may be a big lot of work from many parts of the application. =20 =20 Indeed, and like Yair Zaslavsky said, we can put the data structure in infinispan cache, but clustered EJB can do the same thing for us, right? If all those state values are inside EJBs. (iirc)** =20 =20 =20 > > Any ideas? > > Thanks! > > _________________________________________________ > Engine-devel mailing list > Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org> <mailto:Engine-devel@ovirt.org =
<mailto:Engine-devel@ovirt.org>__>
> http://lists.ovirt.org/__mailman/listinfo/engine-devel <http://lists.ovirt.org/mailman/listinfo/engine-devel> =20 > =20 =20 =20 =20 _________________________________________________ Engine-devel mailing list Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org> http://lists.ovirt.org/__mailman/listinfo/engine-devel <http://lists.ovirt.org/mailman/listinfo/engine-devel> =20 =20 unless you need the load balancing, just for HA, hosted-engine should cover your needs? =20 I think failover and more scalability is what i am interested here. Just thinking about the possibilities :) Imagine engine would never get restarted from outside view. Cool =
isn't it? =20 active/passive failover you should get from hosted-engine (yes, with = some downtime) scalability and active-active would be great. iirc, juan looked at = implications of doing this a while back _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
--Apple-Mail=_79241B0E-0B77-4286-B897-5E944A61C4DD Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html><head></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">IMHO = EJB clustering is not the direction we should take, especially = considering our IoC plans (see <a = href=3D"http://gerrit.ovirt.org/#/c/5575/">http://gerrit.ovirt.org/#/c/557= 5/</a>).<div>QuartzScheduler can be easily fixed by using a DB for = Quartz configuration. We had such a discussion a few weeks = ago.</div><div>mod_jk is probably better for our HA.</div><div>Postgres = clustering should probably be a different task, as it's more infra and = less code.</div><div><br></div><div>Another thing to consider is = locking, currently done using synchronized, and will need to be changed = somehow (probably using Infinispan).</div><div><br><div><div>On Aug 22, = 2013, at 10:22 AM, Itamar Heim wrote:</div><br = class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div>On = 08/21/2013 10:27 PM, plysan wrote:<br><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite">2013/8/22 = Itamar Heim <<a href=3D"mailto:iheim@redhat.com">iheim@redhat.com</a> = <<a = href=3D"mailto:iheim@redhat.com">mailto:iheim@redhat.com</a>>><br></= blockquote><blockquote type=3D"cite"><br></blockquote><blockquote = type=3D"cite"> On 08/21/2013 11:08 AM, plysan = wrote:<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = 2013/8/21 Laszlo Hornyak = <<a = href=3D"mailto:lhornyak@redhat.com">lhornyak@redhat.com</a><br></blockquot= e><blockquote type=3D"cite"> = <<a = href=3D"mailto:lhornyak@redhat.com">mailto:lhornyak@redhat.com</a>> = <<a = href=3D"mailto:lhornyak@redhat.com">mailto:lhornyak@redhat.com</a><br></bl= ockquote><blockquote type=3D"cite"> = <<a = href=3D"mailto:lhornyak@redhat.com">mailto:lhornyak@redhat.com</a>>>= ><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = Hi= ,<br></blockquote><blockquote type=3D"cite"><br></blockquote><blockquote = type=3D"cite"> = --= --- Original Message -----<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> From: "plysan" <<a = href=3D"mailto:plysab@gmail.com">plysab@gmail.com</a><br></blockquote><blo= ckquote type=3D"cite"> <<a = href=3D"mailto:plysab@gmail.com">mailto:plysab@gmail.com</a>> <<a = href=3D"mailto:plysab@gmail.com">mailto:plysab@gmail.com</a><br></blockquo= te><blockquote type=3D"cite"> = <<a = href=3D"mailto:plysab@gmail.com">mailto:plysab@gmail.com</a>>>><b= r></blockquote><blockquote type=3D"cite"> = &n= bsp;> To: <a = href=3D"mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a><br></blo= ckquote><blockquote type=3D"cite"> = <<a = href=3D"mailto:engine-devel@ovirt.org">mailto:engine-devel@ovirt.org</a>&g= t; <<a = href=3D"mailto:engine-devel@ovirt.org">mailto:engine-devel@ovirt.org</a><b= r></blockquote><blockquote type=3D"cite"> = <<a = href=3D"mailto:engine-devel@ovirt.org">mailto:engine-devel@ovirt.org</a>&g= t;__><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> Sent: Wednesday, August 21, 2013 3:49:31 = PM<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> Subject: [Engine-devel] Ideas about engine = clustering?<br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> Hello, guys:<br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> I'm trying to make a jboss clustering environment = for<br></blockquote><blockquote type=3D"cite"> = engine. = But<br></blockquote><blockquote type=3D"cite"> = fe= lt the<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> difficuty too.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> So I want to know if any one is working on this? = I<br></blockquote><blockquote type=3D"cite"> = googled it = and<br></blockquote><blockquote type=3D"cite"> = ha= ven't<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> found anything.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> I know there will be lots of things to do for = engine<br></blockquote><blockquote type=3D"cite"> = migrating = to<br></blockquote><blockquote type=3D"cite"> = cl= ustering<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> environment. I just want to know what problem need to = be<br></blockquote><blockquote type=3D"cite"> = solved?<br></blockquote><blockqu= ote type=3D"cite"> = &n= bsp;> I would like to list the things I think that is = needed<br></blockquote><blockquote type=3D"cite"> = to = do(or<br></blockquote><blockquote type=3D"cite"> = so= lve):<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 1. run jboss in standalone-ha mode or domain = mode.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 2. add @Clustered annotation to each EJB, I think = this<br></blockquote><blockquote type=3D"cite"> = will solve = the<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> replication problem in cluster, probably lots of = details<br></blockquote><blockquote type=3D"cite"> = in = it.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 3. QuartzScheduler problem, only one node running = a<br></blockquote><blockquote type=3D"cite"> = scheduler = is<br></blockquote><blockquote type=3D"cite"> = en= ough at a<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> time instead of each node running = one.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 4. use mod_cluster to handle load = balancing.<br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 5. postgresql clustering.<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = Fo= r failover it sounds like a plan, just wondering if = this<br></blockquote><blockquote type=3D"cite"> = could<br></blockquote><blockquot= e type=3D"cite"> = so= lve load balancing problems as well.<br></blockquote><blockquote = type=3D"cite"> = Ov= irt is generating a big load on the DB and I would be = really<br></blockquote><blockquote type=3D"cite"> = in= terested if SQL DB clustering could solve the = issues.<br></blockquote><blockquote type=3D"cite"> = It= would be great if it could, big part of the = scalablity<br></blockquote><blockquote type=3D"cite"> = issue = is<br></blockquote><blockquote type=3D"cite"> = th= e evil things we did against that poor = database.<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> 6. There should be more, but hope anyone can think = about<br></blockquote><blockquote type=3D"cite"> = it = :D<br></blockquote><blockquote type=3D"cite"><br></blockquote><blockquote = type=3D"cite"> = Th= ere are tons of data structures that are used in = oVirt<br></blockquote><blockquote type=3D"cite"> = that = store<br></blockquote><blockquote type=3D"cite"> = st= ate. You will have to hunt all of these down and = replace<br></blockquote><blockquote type=3D"cite"> = with = a<br></blockquote><blockquote type=3D"cite"> = da= ta structure that is shared between the cluster = memebers.<br></blockquote><blockquote type=3D"cite"> = This = may<br></blockquote><blockquote type=3D"cite"> = be= a big lot of work from many parts of the = application.<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = Indeed, and like Yair = Zaslavsky said, we can put the data<br></blockquote><blockquote = type=3D"cite"> structure = in<br></blockquote><blockquote type=3D"cite"> = infinispan cache, but = clustered EJB can do the same thing for<br></blockquote><blockquote = type=3D"cite"> us, = right?<br></blockquote><blockquote type=3D"cite"> = If all those state values are = inside EJBs. (iirc)**<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> Any ideas?<br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> Thanks!<br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> = _________________________________________________<br></blockquote><blockqu= ote type=3D"cite"> = &n= bsp;> Engine-devel mailing list<br></blockquote><blockquote = type=3D"cite"> = &n= bsp;> <a = href=3D"mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a> <<a = href=3D"mailto:Engine-devel@ovirt.org">mailto:Engine-devel@ovirt.org</a>&g= t;<br></blockquote><blockquote type=3D"cite"> = <<a = href=3D"mailto:Engine-devel@ovirt.org">mailto:Engine-devel@ovirt.org</a> = <<a = href=3D"mailto:Engine-devel@ovirt.org">mailto:Engine-devel@ovirt.org</a>&g= t;__><br></blockquote><blockquote type=3D"cite"> = &n= bsp;> <a = href=3D"http://lists.ovirt.org/__mailman/listinfo/engine-devel">http://lis= ts.ovirt.org/__mailman/listinfo/engine-devel</a><br></blockquote><blockquo= te type=3D"cite"> <<a = href=3D"http://lists.ovirt.org/mailman/listinfo/engine-devel">http://lists= .ovirt.org/mailman/listinfo/engine-devel</a>><br></blockquote><blockquo= te type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = &n= bsp;><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = ________________________________= _________________<br></blockquote><blockquote type=3D"cite"> = Engine-devel mailing = list<br></blockquote><blockquote type=3D"cite"> = <a = href=3D"mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a> <<a = href=3D"mailto:Engine-devel@ovirt.org">mailto:Engine-devel@ovirt.org</a>&g= t;<br></blockquote><blockquote type=3D"cite"> = <a = href=3D"http://lists.ovirt.org/__mailman/listinfo/engine-devel">http://lis= ts.ovirt.org/__mailman/listinfo/engine-devel</a><br></blockquote><blockquo= te type=3D"cite"> <<a = href=3D"http://lists.ovirt.org/mailman/listinfo/engine-devel">http://lists= .ovirt.org/mailman/listinfo/engine-devel</a>><br></blockquote><blockquo= te type=3D"cite"><br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite"> = unless you need the load balancing, just for HA, = hosted-engine<br></blockquote><blockquote type=3D"cite"> = should cover your needs?<br></blockquote><blockquote = type=3D"cite"><br></blockquote><blockquote type=3D"cite">I think = failover and more scalability is what i am interested = here.<br></blockquote><blockquote type=3D"cite">Just thinking about the = possibilities :)<br></blockquote><blockquote type=3D"cite">Imagine = engine would never get restarted from outside view. Cool isn't = it?<br></blockquote><br>active/passive failover you should get from = hosted-engine (yes, with some downtime)<br>scalability and active-active = would be great. iirc, juan looked at implications of doing this a while = back<br>_______________________________________________<br>Engine-devel = mailing list<br><a = href=3D"mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>http:= //lists.ovirt.org/mailman/listinfo/engine-devel<br></div></blockquote></di= v><br></div></body></html>= --Apple-Mail=_79241B0E-0B77-4286-B897-5E944A61C4DD--

I've added a wiki page on Engine HA. http://www.ovirt.org/Features/Engine_High_Availability Please add your comments, we'll try to make this an ongoing effort. On Sat, Aug 24, 2013 at 3:25 PM, Liran Zelkha <liran.zelkha@gmail.com>wrote:
IMHO EJB clustering is not the direction we should take, especially considering our IoC plans (see http://gerrit.ovirt.org/#/c/5575/). QuartzScheduler can be easily fixed by using a DB for Quartz configuration. We had such a discussion a few weeks ago. mod_jk is probably better for our HA. Postgres clustering should probably be a different task, as it's more infra and less code.
Another thing to consider is locking, currently done using synchronized, and will need to be changed somehow (probably using Infinispan).
On Aug 22, 2013, at 10:22 AM, Itamar Heim wrote:
On 08/21/2013 10:27 PM, plysan wrote:
2013/8/22 Itamar Heim <iheim@redhat.com <mailto:iheim@redhat.com<iheim@redhat.com>
On 08/21/2013 11:08 AM, plysan wrote:
2013/8/21 Laszlo Hornyak <lhornyak@redhat.com
<mailto:lhornyak@redhat.com <lhornyak@redhat.com>> < mailto:lhornyak@redhat.com <lhornyak@redhat.com>
<mailto:lhornyak@redhat.com <lhornyak@redhat.com>>>>
Hi,
----- Original Message -----
> From: "plysan" <plysab@gmail.com
<mailto:plysab@gmail.com <plysab@gmail.com>> < mailto:plysab@gmail.com <plysab@gmail.com>
<mailto:plysab@gmail.com <plysab@gmail.com>>>>
> To: engine-devel@ovirt.org
<mailto:engine-devel@ovirt.org <engine-devel@ovirt.org>> < mailto:engine-devel@ovirt.org <engine-devel@ovirt.org>
<mailto:engine-devel@ovirt.org <engine-devel@ovirt.org>>__>
> Sent: Wednesday, August 21, 2013 3:49:31 PM
> Subject: [Engine-devel] Ideas about engine clustering?
>
> Hello, guys:
>
> I'm trying to make a jboss clustering environment for
engine. But
felt the
> difficuty too.
> So I want to know if any one is working on this? I
googled it and
haven't
> found anything.
>
> I know there will be lots of things to do for engine
migrating to
clustering
> environment. I just want to know what problem need to be
solved?
> I would like to list the things I think that is needed
to do(or
solve):
> 1. run jboss in standalone-ha mode or domain mode.
> 2. add @Clustered annotation to each EJB, I think this
will solve the
> replication problem in cluster, probably lots of details
in it.
> 3. QuartzScheduler problem, only one node running a
scheduler is
enough at a
> time instead of each node running one.
> 4. use mod_cluster to handle load balancing.
> 5. postgresql clustering.
For failover it sounds like a plan, just wondering if this
could
solve load balancing problems as well.
Ovirt is generating a big load on the DB and I would be really
interested if SQL DB clustering could solve the issues.
It would be great if it could, big part of the scalablity
issue is
the evil things we did against that poor database.
> 6. There should be more, but hope anyone can think about
it :D
There are tons of data structures that are used in oVirt
that store
state. You will have to hunt all of these down and replace
with a
data structure that is shared between the cluster memebers.
This may
be a big lot of work from many parts of the application.
Indeed, and like Yair Zaslavsky said, we can put the data
structure in
infinispan cache, but clustered EJB can do the same thing for
us, right?
If all those state values are inside EJBs. (iirc)**
>
> Any ideas?
>
> Thanks!
>
> _________________________________________________
> Engine-devel mailing list
> Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org<Engine-devel@ovirt.org>
<mailto:Engine-devel@ovirt.org <Engine-devel@ovirt.org> < mailto:Engine-devel@ovirt.org <Engine-devel@ovirt.org>>__>
> http://lists.ovirt.org/__mailman/listinfo/engine-devel
<http://lists.ovirt.org/mailman/listinfo/engine-devel>
>
_________________________________________________
Engine-devel mailing list
Engine-devel@ovirt.org <mailto:Engine-devel@ovirt.org<Engine-devel@ovirt.org>
http://lists.ovirt.org/__mailman/listinfo/engine-devel
<http://lists.ovirt.org/mailman/listinfo/engine-devel>
unless you need the load balancing, just for HA, hosted-engine
should cover your needs?
I think failover and more scalability is what i am interested here.
Just thinking about the possibilities :)
Imagine engine would never get restarted from outside view. Cool isn't it?
active/passive failover you should get from hosted-engine (yes, with some downtime) scalability and active-active would be great. iirc, juan looked at implications of doing this a while back _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
participants (6)
-
Itamar Heim
-
Laszlo Hornyak
-
Liran Zelkha
-
plysan
-
Yair Zaslavsky
-
Yedidyah Bar David