Call me Eric.

Posted by ericberm in about me | Comments Off

Eric Bermender

I’ve worked in the Computer Graphics & Imaging (CGI) industry as a senior systems engineer (I’ve been called a ‘render farmer’ before) for about 12 years.  Currently, I’m making a move into more leadership responsibilities as the Head of Technology at STEREOBOX.  However, I still find time to use my systems engineering skills as the company grows.

I also enjoy directing/producing/working on independent features and incorporating my cgi and technology skills into them.  In 2000, I started a feature project called Digital Purgatory which I hope to finish… someday.

This is a picture of me with one of the many ILM oscars in front of some Verari render blades I helped put together.

You can check me out on Facebook and on Linkedin

NFS4 vs. NFS3 export gotcha’s

Posted by ericberm in Uncategorized | Comments Off

I ran into a problem this week with our RHEL 6 server exporting to RHEL 5.5 clients.  I was exporting mounts with a NFS3 syntax, which work until I made one additoinal random export.  Then, suddenly, all the clients lost their NFS mounts and I had to quickly figure out NFS4 syntax.  Here’s what I learned.

In NFS3, one would edit the /etc/exports file with all the nfs exports and their options.  Then you would run an:

exportfs -a
#export all

or

exportfs -rv
#delete old exports that are no longer valid, then reexport

exportfs -v
#to see the current exports, you would run

NFS4 uses mostly the same commands and syntax as NFS3 with the big difference that the exports can be virtualized, or I like to say realitiveized.  The most important part to understand is that a primary export directory will be defined by adding the fsid=0 option in the /etc/exports.  this  directory can be anywhere on your local filesystem;  I’ll use the example of a directory called /exports

This is where NFS3 and NFS4 start to diverge.  As mentioned, with NFS3, one would simply export the direct path as a mount.  For example, say that the filesystem you want to export is /foo/mydir .  Now your NFS3 export may look like:

/foo/mydir 10.10.10.0/24(rw,sync,insecure,no_subtree_check,nohide)

However with NFS4, you’ll want to make a directory in /exports called mydir (or whatever you want), then bindmount /foo/mydir to /exports/mydir.  you can do this in the fstab:

/foo/mydir               /exports/mydir                  none    bind

Then, in your exports, you want to export /exports/mydir instead of /foo/mydir:

/exports 10.10.10.0/24(ro,sync,no_subtree_check,insecure,fsid=0)
/exports/mydir 10.10.10.0/24(rw,sync,insecure,no_subtree_check,nohide)

When you now run ‘exportfs -rv‘ you’ll see /foo/mydir exported still (which is a bit confusing)

To now mount /foo/mydir on a client, you refer to relative path from your /exports directory (denoted with the fsid=0).  An fstab entry may look like:

myserver:/mydir        /mydir     nfs4    rw,auto,hard,intr

trying to mount /exports/mydir will result in a can’t find directory error message.