Friday, 27 January 2012

NetApp Basic NFS Configuration Walkthrough with VMware

Continuing from a fresh setup of the Data ONTAP 8.1 Simulator ; this brief walkthrough illustrates using the CLI to setup a couple of NFS exports, and then using the vSphere client to mount these NFS exports to a VMware ESXi 4.1 host server

Beginnings - The 8.1 simulator starts off with:

28 disks (2 shelves with 14 disks each)
pool 0 with 14 assigned disks (leaving 14 unowned disks)
aggr0, containing plex0, and rg0 (RAID group) with 3 disks in a RAID-DP configuration (1 data disk)
vol0 in aggr0 – thick provisioned 851.48MB in size

Part A: Using Data ONTAP 8.1 CLI to create a couple of NFS exports
*This part could also be done using the NetApp OnCommand System Manager

The lines in the script below (in bold,) will do the following 10 things:

1) Assign all unowned disks to pool 0 (by default Data ONTAP without syncmirror license will keep all disks in pool0 (default))
2) Add 9 x 1 GB disks to aggr0 (so we have a RAID-DP is across 12 x 1 GB disks)
3) Create aggr1 as a 64-bit aggregate, with 14 x 1 GB disks in a RAID-DP
*Leaves 2 spare disks across the 28 disk pool
4) Create vol1 as thin (none) provisioned, in aggr0, and 7 GB in size
5) Create vol2 as thin (none) provisioned, in aggr1, and 11 GB in size
*Might find thick (volume) provisioned volume creation is slow in the simulator
6) Install NFS license
*Installing the NFS license enables NFS
7) Unexport /vol/vol2 (which gets automatically exported)
8) Export /vol/vol1 for NFS readwrite & root access for servers on the network
9) Export /vol/vol2 for NFS readwrite & root access for servers on the network
10) Enable deduplication (ASIS) on /vol/vol2

Copy and paste these 10 lines into your SSH client (like PuTTY) to run, or run each line in turn:

disk assign all
aggr add aggr0 9@1G
aggr create aggr1 -B 64 -r 14 -t raid_dp 14@1G
vol create vol1 -s none aggr0 7G
vol create vol2 -s none aggr1 11G
license add BQOEAZL #nfs
exportfs -z /vol/vol2
exportfs -p rw=,root= /vol/vol1
exportfs -p rw=,root= /vol/vol2
sis on /vol/vol2

*It is okay to run up to 15 lines via the PuTTY SSH client on Windows, any more and need to be careful; an SSH client in Linux will allow more lines to be safely run in one go (this can be explained in terms of command buffer size.)

Part B: Using the vSphere Client (connected to either a host or vCenter) to mount NFS folder

Select the host
-> 'Configuration' Tab
-> 'Add Storage...'
-> Network File System : Next
-> Provide NetApp Appliance DNS name / IP address, folder name /vol/vol1 and 'Datastore Name' : Next
-> Finish

And repeat for /vol/vol2!

Fig 1: vSphere Client - Select Storage Type
Fig 2: vSphere Client - Locate Network File System
Fig 3: vSphere Client - Mounted NFS Datastores
Appendix A: Some Useful Commands for Information Gathering

aggr status = shows state, RAID, aggr 32/64-bit
disk show -v = shows all disks – owned and not owned
exportfs = check currently exported NFS shares
rdfile /etc/exports = read the NFS exports file (these NFS exports load on boot)
storage show = will show disks are not assigned to shelves
sysconfig = shows current system configuration – NetApp release, system ID, serial number, processors, memory, ...
vol status = shows state, RAID, flex 32/64-bit

Appendix B: Some Useful Links


  1. Thank you for posting this information, it's exactly what I needed to get started.

  2. exportfs command doesnt work in 8.1.1

    1. Hi Anonymous,
      I had a quick check on the 8.1.1 RC notes and the command is still there, alas no time to verify whether it works or not. If you can provide more information that would be excellent.

    2. Hi,
      I did export fs on 8.1.1 like this:
      labNetApp> exportfs /vol/vol0
      labNetApp> exportfs -p rw=,root= /vol/vol0

      After mounitng to VmWare 5.1 works fine (can write).

    3. Hi Martin,
      Thank you for the comment.