4

We need to set up a SAN accessible from a bunch of computers, both virtualized and real. We have an iSCSI SAN and I need to ponder some of the options.

  • What are the differences between GFS2 and OCFS2 ?
  • Are they production-ready ?
  • And how they compare to NFS ? (I can use it with that SAN)
edomaur
  • 387
  • 1
  • 5
  • 12

1 Answers1

12

There seem to be some confusion between NFS and iSCSI/FC in general (not necessarily you, edomaur), so a little explanation first:

In the old days, a disk had to be "owned" by a particular server, since it had to be physically attached to it. This is now know as DAS - Directly Attached Storage. The disk then had to be formatted to be used by said computer, and it required a filesystem as well. On top of all this, you can add NFS, which takes local resources of a computer and shares them. Another thing to consider is that NFS behaves like a filesystem, and the basic storage unit is the file. A dedicated fileserver accessed via NFS (of CIFS) is usually referred as NAS, Network Attached Storage.

With the introduction of SANs (Storage Area Network), the disk now is not necessarily local to a particular computer, but it can be shared with multiple machines, via FibreChannel, iSCSI, FCoE,... However, the server will still assume the disk is local, and a normal filesystem will behave as if the disk is a DAS. This is not an issue if the disk is shared only for, say, High Availability, i.e. one server uses the SAN disk, and the other server will use it only if the primary goes down. All sort of bad things can happen, however, if there are issues with the HA setup, like Split-Brain, which may corrupt all your data.

If you instead want to have the SAN disk shared (like Oracle RAC), then your filesystem has to be aware that the "disk" is shared by a cluster of computers, in order to correctly coordinate access and locking to the physical disk and keep the filsystem cache coherent among all members of the cluster.

Now for the actual answers:

I do not have much expertise with either and I have never used them in production, but OCFS2 is developed by Oracle and it is used for RAC, so I guess it is production ready. I do not know much about GFS2 (other than it is derived from SGI' GFS and is developed by RedHat), but I think it is considered production ready as well. Maybe someone else will fill this gap.

As for NFS, I think you should go with that unless you have a very specific reason not to, mainly because it is a "simpler" and better understood technology.

Hope this helps.

Dan Andreatta
  • 5,384
  • 2
  • 23
  • 14
  • 1
    One nit: GFS was never developed by SGI. It was developed by a company called Sistena prior to Redhat. SGI have their own (much better) clustered filesystem called CXFS. GFS2 is better than the previous versions but still has it's own issues. – James Mar 30 '10 at 13:46
  • Right, it was developed on IRIX, but not by SGI. My bad. – Dan Andreatta Mar 30 '10 at 13:53
  • In fact I have ESX VMs and some discrete servers that need to share datas. On the ESX side alone, GFS2/OCFS2 seems to be the better solution, but I am still learning to use ESX. – edomaur Mar 30 '10 at 14:06
  • They can all be used to share data, but I still recommend NFS, especially if the data is simple files (email, log files). – Dan Andreatta Mar 30 '10 at 14:34
  • 1
    In fact OCFS isn't used in Oracle RAC at all, but rather ASM + ACFS. OCFS is a more generic filesystem developed by Oracle specifically not to use in RAC as ASM and ACFS require Clusterware. OCFS is much more lightweight and similar to GFS2, but has much less real-world use outside the Oracle stack. – Ryan Mar 25 '15 at 15:02