
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--