I have 2 hosts in isolated networks (no network access from one to another). There is a storage system accessible over fibre channel from both hosts.
Is it possible to have both hosts have a safe read-write access to the same LUN?
If yes, what are the performance implications?
You did not mention the operating system you use.
With Linux, there is
GFS
,OFCS
,GPFS
,CXFS
and other parallel file systems which you could use. How they perform, is heavily depending on a workload your environment has. Lots of reads? Even more of writes? Tons of small files or just a bunch of huge files?The performance... well.. if you have millions or more of small files, a catastrophe is a word I could use. A reasonable number of files, no matter of their size, a much better situation.
But this truly varies from system to system and from filesystem to another filesystem. You truly should be more specific.
Yes but you need two things, or kind of one thing in a way, you need a cluster-aware filesystem and a locking mechanism - sometimes these come as one thing.
You don't mention a filesystem but for VMWare's ESXi the default VMFS filesystem IS cluster aware and handles the locking directly itself. For Windows the default NTFS (or ReFS) is NOT cluster aware by default and requires you to either use the cluster services (part of the Enterprise versions) or a third-party solution such as Symantec Foundation. For Linux it depends on your distro but I use Oracle's OCFS2 and it works a treat.
Maybe come back with your OS and any further questions and I'll see what we can do.
Yes, but you'll need to do it as a cluster. Or you'll need to direct attach the storage and share across a network (CIFS/NFS) to the other).
Otherwise you'll find that you have some awful junk and corrupt data. The reason for this is because locally attached disk is pretty slow, when compared to processors and memory. There's therefore a lot of things your system does to optimise it's usage - including read caching, write caching and separating out the process of updating a block on disk and then the file allocation table.
For all these reasons, you'll end up with an utter mess if you 'just' present a LUN to two servers concurrently - I tried it once for the sake of interest, and it gets messy fast.
So what you'll need is 'some way' for the servers to arbitrate disk access between them - and whilst you could reinvent the wheel, cluster software does it for you. NFS across a fast network is not nearly as bad a performance problem as you might imagine either.