Hi,
We do use an NFS file server (which is also a CIFS server for Windows machines) to have a single file system for all of our EPICS development and production machines (Linux, Windows, and Mac). There are a number of different versions of Linux in use.
We get around some of the problems Ralph mentions by having different EPICS_HOST_ARCH for different versions of Linux: linux-x86_64, linux-x86_64-gcc42, linux-x86_64-gcc45, etc. There are several machines that use each of those archs.
Having a single file system with both production and development trees is very convenient when it comes to testing new code on multiple architectures and ensuring that all architectures are running the same version of the code in production.
Ours is not a large site and I'm sure Ralph's concerns would apply if we had many more machines to worry about.
Mark
________________________________________
From: [email protected] [[email protected]] on behalf of Ralph Lange [[email protected]]
Sent: Thursday, March 20, 2014 6:43 AM
To: EPICS Tech-Talk
Cc: Jeong Han Lee
Subject: Re: softIOC through network file system
On 20.03.2014 11:59, Jeong Han Lee wrote:
> Hi,
>
> We have one network file server (A), where I installed EPICS and
> its extensions in /data/programs/epics/{base,extensions}. In A,
> EPICS_BASE is /data/programs/epics/base.
>
> We mount the directory as /mnt/glusterfs on a local Linux PC (B),
> all uid and gid is the same. In B, EPICS_BASE is
> /mnt/glusterfs/programs/epics/base.
>
> The main issue which I've found until now (maybe something more
> hidden issues, because I didn't test it fully) on softIOC, which has
> the Compiled-in path inside the binaray files. Just shortly look at
> Makefile and softMain.cpp, and makeInstallDir.pl, the EPICS path is
> saved into the binary file when it compiles.
>
> I know how to work around this issue by using softIOC -D option.
> However, I know EPICS community has the better solution, any
> suggestions, or potential issues which I don't know right now.
Hello Han,
I would not recommend this setup.
While putting executables and libraries on an NFS share is easy and Just
Works [tm] when you set it up, it will create painful difficulties later on.
To work reliably, *all* client machines need to be on (more or less) the
same version of the same Linux distribution. Any crucial change in the
system libraries of a client, and everything on that client might stop
working immediately (the easy case) or just become instable and
sometimes crash for no obvious reasons (the painful case).
In such a setup, updating your machines to a new Linux version becomes
basically an all-or-nothing operation, requiring a huge time slot for
testing and verification. Also, your development machine will always
have to be on the oldest version around, to generate code that is
compatible with all your client machines.
Using an NFS share is fine for all non-binary data (EPICS IOC databases,
startup scripts, autoSaveRestore data, logs, ...), but I would always
recommend keeping binaries and libraries locally on your production
machines. The easiest and safest way is to use your system's style of
binary packages, but rsync'ing from your development machine is
basically fine, too - in that case you are responsible for tracking the
dependencies.
If you put the installation in the same place on all machines, that
could be the path that you compile into the softIOC.
Note, though, that this softIOC binary in base is intended for
development use. Most of your real-life soft IOCs will need driver code
(asyn, stream, ...) and come as binaries that are created in an IOC
application, and then deployed on your production systems.
Cheers,
~Ralph
- References:
- softIOC through network file system Jeong Han Lee
- Re: softIOC through network file system Ralph Lange
- Navigate by Date:
- Prev:
Re: softIOC through network file system Ralph Lange
- Next:
Re: softIOC through network file system Jeong Han Lee
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: softIOC through network file system Ralph Lange
- Next:
Re: softIOC through network file system Jeong Han Lee
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|