high availability irods

67 views
Skip to first unread message

Vladimir Mencl

unread,
Mar 1, 2012, 8:33:50 PM3/1/12
to irod...@googlegroups.com

Hi,

We are looking at installing iRODS in a high availability configuration
- and have been wondering which of these strategies we are considering
would work well.

(1) We have looked at the "High Availability iRODS System (HAIRS)"
solution by Yutaka Kawai (KEK, Japan) and Adil Hasan (U of Liverpool).

This solution uses a set of iRODS masters all using the same database
(replicated to each of the nodes).

Is the iRODS code safe to use with this solution? Are there any gotchas
in the configuration? And risks on database consistency?

Any race-conditions when collections and objects are getting updated via
different masters?


(2) We are also considering a simpler solution where we would replicate
the iCAT database from a single master to (one or more) iCAT-enabled
slave server. The iCAT-enabled slave server would do read-only
operations on a local (synchronous) replica of the iCAT database.

Have there been an performance issues with doing synchronous replication
between Postgres databases located at different instituions?

And what is preferred for that - pgpool or Postgres9 streaming replication?


Thanks a lot in advance for any insights.


Cheers,
Vladimir

PS:
I did ask a similar question on this mailing list some two years ago:
http://groups.google.com/group/irod-chat/browse_thread/thread/736009c5349c2ba0

This email is partly checking about how much has changed (in the iRODS
code base and in Postgres) since when I asked the last time...

--
Vladimir Mencl, Ph.D.
E-Research Services and Systems Consultant
BlueFern Computing Services
University of Canterbury
Private Bag 4800
Christchurch 8140
New Zealand

http://www.bluefern.canterbury.ac.nz
mailto:vladimi...@canterbury.ac.nz
Phone: +64 3 364 3012
Mobile: +64 21 997 352
Fax: +64 3 364 3002

Jean-Yves Nief

unread,
Mar 2, 2012, 9:26:47 AM3/2/12
to irod...@googlegroups.com, Vladimir Mencl
hello,

Vladimir Mencl wrote:
> Hi,
>
> We are looking at installing iRODS in a high availability configuration
> - and have been wondering which of these strategies we are considering
> would work well.
>
> (1) We have looked at the "High Availability iRODS System (HAIRS)"
> solution by Yutaka Kawai (KEK, Japan) and Adil Hasan (U of Liverpool).
>
> This solution uses a set of iRODS masters all using the same database
> (replicated to each of the nodes).
>
> Is the iRODS code safe to use with this solution?

I have been using a configuration with two iCAT enabled servers in
production for several years (not based on the solution above). The
iRODS code is totally safe with this kind of setup


> Are there any gotchas
> in the configuration?

you can only run one irodsReServer on your iCAT enabled servers, you
have to specify it in server/config/server.config ==> 1 irodsReServer
per zone.


> And risks on database consistency?
>
> Any race-conditions when collections and objects are getting updated via
> different masters?

not at all as the db updates are transactionnal. If that was not the
case, you could easily have race conditions even with a single iCAT
servers and several clients doing the same thing at almost the same time.
cheers,
JY

Vladimir Mencl

unread,
Mar 4, 2012, 7:23:05 PM3/4/12
to Jean-Yves Nief, irod...@googlegroups.com
On 03/03/12 03:26, Jean-Yves Nief wrote:
>>
> I have been using a configuration with two iCAT enabled servers in
> production for several years (not based on the solution above). The
> iRODS code is totally safe with this kind of setup

Hi JY,

Thanks for the reply - that is very encouraging.

In this particular setup, were the servers both configured as Masters,
or was only one of them a Master and the other an iCAT-enabled Slave?

And, what technology did you use for replicating the database?

Was it bi-directional synchronous replication?

Thanks a lot for your help with this!

Cheers,
Vladimir

Jean-Yves Nief

unread,
Mar 4, 2012, 7:54:32 PM3/4/12
to irod...@googlegroups.com
hello,

Vladimir Mencl wrote:
> On 03/03/12 03:26, Jean-Yves Nief wrote:
>>>
>> I have been using a configuration with two iCAT enabled servers in
>> production for several years (not based on the solution above). The
>> iRODS code is totally safe with this kind of setup
>
> Hi JY,
>
> Thanks for the reply - that is very encouraging.
>
> In this particular setup, were the servers both configured as Masters,

yes


> or was only one of them a Master and the other an iCAT-enabled Slave?
>
> And, what technology did you use for replicating the database?

I am using an Oracle cluster for the iCAT, this cluster is physically
located on a different set of servers than the iRODS iCAT enabled servers.
If you are using Postgres, it will be possible to have your postgres db
located on a remote server starting with 3.1. Someone who is used to
Postgres might gives some advice on this: pgpool usage etc ... ?
cheers,
JY

Reply all
Reply to author
Forward
0 new messages