Child pages
  • Using OpenIndiana as a storage server

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

With large amounts of disk being available to the average consumer, it's becoming more and more common to build a pool for your home office and serve shared resources to your LAN. This is usually one of the more difficult situations to share files because there are usually many versions of many different operating systems. We'll explore several options below with some hints for clarification on how to make them work. 

Table of Contents

One thing to keep in mind if sharing a zfs file system over NFS and SMB at the same time is to create your file system with mixed case-sensitivity and nbmand "non-blocking mandatory locking" as in the example below:

No Format

$ zfs create -o casesensitivity=mixed -o nbmand=on yourpool/share

NFS

It's very simple to export an NFS share using the zfs tools. The command below will allow any host to mount a nfs share. 

No Format
$ zfs set sharenfs=rw yourpool/yourshare

To restrict the share to a single host execute something like the following:

No Format

$ zfs set sharenfs=rw=@192.168.5.1 yourpool/yourshare

Or to restrict the share to a subnet execute the following:

No Format

$ zfs set sharenfs=rw=@192.168.5.0/24 yourpool/yourshare

To restrict a NFS share to multiple subnets use a colon followed by an at-sign:

No Format

$ zfs set sharenfs=rw=@192.168.5.0/24:@192.168.9.0/24 yourpool/yourshare

Check your work or see the current status with:

No Format

$ zfs get sharenfs yourpool/yourshare

Suppose you are migrating a lot of data to OpenIndiana from a GNU/Linux machine. Specifying the version number is necessary if the Linux machines NFS server is v3; the OpenIndiana NFS client defaults to NFSv4.

If you run into problems, check:

No Format

MAX_CLIENT_VERISON in the file, /etc/default/nfs

This is the correct way to mount a standard Linux NFSv3 share on OpenIndiana:

No Format

$ mount -F nfs -o vers=3,ro linuxhost:/share/stuff /mnt/temp

OS X Clients (NFS)

In order to make OS X clients work properly you'll need to force the client to default to v3 of NFS.  As reported in the man page:

...

No Format
$ sudo mount_nfs -o sync -o vers=3 storeageserver:/yourpool/yourshare localmount/

OS X Clients (AFP)

By using the "netatalk" package, you can provide Apple Filesharing Protocol shares to OS X clients, with good support for Time Machine backups.

See this page for more information about Netatalk on OpenIndiana.

CIFS / SMB

To share a zfs file system named "yoursharebob" via smb/cifs execute a command like the following below. Note that the share name is arbitrary and can be completely different than the name of the file system itself, as seen in the example below.

No Format
$ zfs set sharesmb=name=myshare yourpool/shares/chris
bob

You can set some text description (Windows Explorer shows this text) for the share using this:

No Format

$ zfs set "sharesmb=name=myshare,description=My ZFS share" yourpool/shares/bob

To just turn on the cifs sharing for a zfs file system without specifying a share name execute a command like the following.  Note that the auto-generated names created using this method are usually not user-friendly.

No Format
$ zfs set sharesmb=on yourpool/stuffshares/chris
bob

Check your work or check current status with:

No Format

$ zfs get sharesmb yourpool/shares/bob

You may need to enable "pam_smb_passwd" to make regular OpenIndiana users have smb passwords. To do so, add the following line to the end of the file "/etc/pam.conf":

No Format

other password required pam_smb_passwd.so.1 nowarn

And then change the user's password with the "passwd" command. After this, their smb password will also be set so they can connect via smb with the same username and password.

If you want to use AD to manage your users then take a look at the following http://docs.oracle.com/cd/E19963-01/html/821-1449/manageidmutm.html#enableidmusupporttask
It allows you to enable IDMU so you can easily keep UIDs and SIDs in sync.