Thursday, May 7, 2009

NetApp Setup Cheat Sheet

This is getting a little closer to something I am happy with.  I have tried to list both telnet(SSH) and FilerView for everything up to the volume level.  I will fill in the rest later.  After that, my next major update will be to add Systems Manager for each step.  I am waiting on Systems Manager version 1.1 to be released before I update that piece.  I have also noted where vifs will be changed to interface groups (ifgrp) in ONTAP8.

Latest Revision Date: 10/28/2009 tested on ONTAP 7.3.1

Setting Up a Filer:

1. Check version and licenses
  • (telnet) license to list
  • (telnet) license add (key) to add a license
  • (FilerView) Filer -> Manage Licenses
2. Setup Network Interfaces (set up single-mode and multi-mode vifs or ifgrps)
  • NOTE: You can't modiy a vif once it is created.  I usually have to delete the vif and start over to modify it.  This also means network service will go down on that port group!
  • (telent) ifconfig -a to list the interfaces
  • (telnet) ifconfig command to manage the interfaces
  • (telent) To manage vifs in ONTAP 7: vif command, in ONTAP 8: ifgrp
  • (telnet) You can also run setup, will probably require a reboot!
  • (FilerView) Network -> Manage Interfaces -> i.e. vif1a or vif1b
3. Enable SSH on the filer
  • (telnet)  secureadmin setup ssh
  • (FilerView) Secure Admin ->SSH -> Configure -> Generate Keys -> OK -> Apply
4. Set Snap reserve on Aggr0 if not MetroCluster
  • The default for this is 5%.  I have seen some set this to 0% if not using MetroCluster.  I set it to 3% because I have seen issues if set to 0% and NetApp support likes at least a little reserve at this level for disaster recovery
  • (telnet) snap reserve -A aggr0 3
  • (FilerView) I don't think this is possible from FilerView
5. Resize Vol0
  • (telnet) vol size vol0 15g for 2000 series (20gb on 3000 series)
  • (telnet) vol size vol0 to check
  • (FilerView) Volumes -> Manage -> Click on vol0
    • Click Resize Storage
    • Click Next -> Click Next -> Enter New Volume Size -> Next -> Commit -> Close
6. Iscsi & FCP status
  • (telnet) iscsi status to check
  • (telnet) iscsi start to enable
  • (telnet) same commands for fcp
  • (FilerView) LUNs -> Enable/Disable ->Check Enable Box
7. NTP Setup
  • (telnet)  to list all time options: options timed
  • (telnet) options timed.servers,, (or enter your time servers for your site)
  • (telnet) options timed.proto ntp (if not already set to ntp)
  • (telent) options timed.log on (if you would like the updates to go to console and log)
  • (telnet) options timed.enable on
  • (FilerView) Filer -> Set Date/Time -> Modify Date/Time
    • Choose Time Zone -> Click Next
    • Choose Automatic -> Click Next
    • Change Protocol to ntp -> Click Next
    • Enter ntp servers (1&2) - or any other ntp server you have
    • Click Commit -> Click Close
8. Enable and Test Autosupport
  • (telnet) to list all options: options autosupport 
  • (telnet) options autosupport.from (userid) - sets the userid autosupport is sent from
  • (telnet) options autosupport.mailhost (host ip or name)
  • (telnet) options (user1,user1)
  • (telnet) options autosupport.enable on
  • (telnet) options.autosupport.doit test - generates a test autosupport
  • (FilerView) Filer -> Configure Autosupport
    • Change Autosupport enabled to Yes
    • Enter mailhosts
    • Enter To: fields -> Click Apply
    • Click Test Autosupport on the left -> Click Send Mail
9. Check Cluster Failover
  • (telnet) cf status – Check Cluster Failover Status
  • (telnet) cf partner - Lists the partner head
  • (telent) cf monitor – more details on failover
  • (telnet) cf  takeover - This will reboot the host you are taking over!
  • (telnet) cf giveback - when partner is ready to receive back
  • (FilerView) Cluster - Click the buttons!  :)
10. Disk Commands (Assign Drives to Controller)
  • Typically I would assign the odd disks to the first controller and the evens to the second controller.  I have also assigned the majority of drives to one controller and a minimum (3-4 drives) to the other controller to maximize capacity
  • (telnet) disk show –n - show disks NOT owned
  • (telnet) disk show –o (controller name) - show disks owned by a controller
  • (telnet) disk show –v - show all disks owned and not owned
  • (telnet) disk assign (drive#)
  • (telnet) disk remove_ownership (drive#) (This is a priv set advanced command!)
  • (telent) disk zero spares
  • (FilerView) - I don't think this is possible from FilerView
11. Aggregate Commands (Assign Drives to Aggregate)

  • In RAID-DP environments, if there are 2 hot spares, I often add one back in.  You already have 2 drive failure with RAID-DP and this way you have one more drive capacity
  • (telnet) aggr status -v - shows status with volume information
  • (telnet) aggr status –r - shows which drives are in the aggr already including raid groups
  • (telnet) aggr options (aggr) - shows all options for the aggr (raid groups, raid type, etc.) 
  • (telnet) aggr show_space -m OR -g
  • (telnet) aggr add (aggr) –d (drive#)
  • (FilerView) Aggregates -> Click on the aggregate
    • Click Show Raid to see existing disk configuration
    • Click Add Disks to add new disks and follow the wizard
12. Volume Commands (Create Volumes From Aggregates)

  • (telnet) vol status - shows all volumes and options
  • (telnet) vol create (volumename) -s none (aggr) (size) - create volume with no guarantee
  • (telnet) vol create (volumename) -s volume (aggr) (size) - create volume with volume guarantee
  • (telnet) vol size (volume) - check the volume size
  • (telnet) vol size (volume) (size) - set volume to new size
  • (telnet) vol autosize (volume) on - turn on volume autogrow, the volume will grow by default in 5% increments until 20% growth achieved by default
  • (telnet) vol autosize volume -m (new max size) -i (new increment amount) - notice that even though the defaults are 20% max and 5% increments, if you change the value the new values have to be in space (MB or GB)!
  • (telnet) vol autosize (volume) - reports the current setting
  • (telnet) vol options (volume) - list the volume options
  • (telnet) vol options (volume) guarantee volume OR none - sets the volume guarantee to volume or none
    (telnet) vol options (volume) fractional_reserve (value) - sets fractional reserve to (value) but only works if volume guarantee is volume.
  • (telnet) vol options (volume) try_first snap_delete OR volume_grow - sets the value to which method a volume will use when it runs out of space.  It will either grow the volume or delete snap shots.  The defaults is to grow the volume.
  • (FilerView) Too much here to list.  Just click on volumes and poke around.  The following aren't possible in FilerView that I can tell: volume autosize, volume try_first option, changing fractional reserve
13. Check and Modify Snapshot Settings as Needed per Volume

  • NOTE: Disable the snapshot schedule on the volume if SnapManager is protecting the volume
  • (telnet) vol options (volume) nosnap on - Turn off the SnapShot Schedule but leave the schedule in place. I do this to disable snapshots in favor of the following command
  • (telnet) snap sched (volume) 0 0 0 - Disable SnapShots by modifying the schedule.  I like the first option better.
  • (telnet) snap reserve (volume) (#) - Sets the snap reserve to #% of the volume
  • (telnet) snap autodelete (volume) - shows the snapshot autodelete settings
  • (telnet) snap autodelete (volume) on - turns on snapshot autodelete (Check the settings!  Too many default settings to list here!)
  • (FilerView) Too much here to list.  Just click on Volumes -> Snapshots and poke around.  The snap autodelete option is not possible in FilerView that I can tell.
14. Set DeDupe Settings per Volume
  • Note: For the sis command you need the full volume path, /vol/vol0 for instance
  • (telnet) sis on (full volume path) - enables dedupe on that volume
  • (telnet) sis start (full volume path) - runs dedupe on that volume now
  • (telnet) df –sh - To check space saving on DeDupe
  • (telnet) sis config and sis status to check settings
  • (telnet) sis config -s sun,mon-fri,sat@0,3-9,12 (full volume path) - The -s option allows you to change the schedule.  You can list the days separated by commas or a range by dash, same with hours.
  • (FilerView) This is not possible in FilerView
15. Cifs setup (set up ntp first!)
  • (telnet) cifs setup
  • OR (Filer View) CIFS -> Configure -> Setup Wizard
16. To Set-up a CIFS Share (Add Volume First!)
  • (Filer View) CIFS -> Shares -> Add
  • (Filer View) CIFS -> Shares -> Manage -> Change Access
17. NFS Setup (Add Volume First!)
  • Need to Add NFS Export Permissions
18. LUN Setup (Add Volume First!)
  • Need more information here
  • (telnet) lun setup - wizard to create the lun and map the igroup all in one
  • (telnet) lun set reservation (full path to lun) enable OR disable - disable space reservation to thin provision the LUN
  • (Filer View) LUNS -> Add (Name Lun with aggr.LUN file convention)
  • Add an igroup and assign initiators
  • LUNS -> Manage -> No Maps
Other Common Information Commands That I Still Need to Add and Document:

snap reclaimable
snap delta
aggr show_space (aggr) -g
Wrfile /etc/hosts
Rdfile /etc/hosts
Rdfile /etc/rc
rdfile /etc/messages

Priv set advanced
Led_on (drive#) (get nmber from disk show) (need priv set advanced first)
(priv set) disk shm_stats 
(need to add deswizzle status command)
statit (disk utilization)
stats (performance data)
reallocate measure or
reallocate start
to see raid groups: sysconfig -r OR aggr status -R
fcstat device_map - command to show shelf layout
sysconfig -d
interface alias process

storage show
vif favor


Unknown said...

Hi Aaron. Please repost when you can as I found this helpful.
By the way, thank you for your articles on Scott Lowe's site as well. Your Nehalem cpu and memory articles (as well as the HP and IBM docs referenced in the comments) were a great primer for me in configuring our x3650 M2's.
Thanks much!

Aaron Delp said...

Hey Leif - Sorry about that! I've been busy at work and I haven't time to reformat it. I should have it up (along with some other changes) very shortly.

Thank you!

Jason said...

Google's cache shows that the content is gone, but Bing's cache has it still.

Aaron Delp said...

Cool - I am at the IBM Technical Conference this week and I'm hoping to have the site redesigned the information posted in the next day or so. Thanks!

Aaron Delp said...

Well, this is the most up to date version. I will test everything and start updating it in the near future. I have some other posts I have to get out first (and a site redeisgn) but this is a good start. Thanks for reading!

Unknown said...

love the cheat sheet!!

Anthony said...

Excellent information Aaron. Thank you!

Anonymous said...

Hi Aaron. Nice and helpful article ! Have some time left to update it ?
By the way, thanks for this doc !

Aaron Delp said...

Hey there - I would actually love to update it but right now I can't. I no longer have access to NetApp storage (I'm employed by the competition currently) and NetApp's ONTAP simulator isn't available to the public. I approached NetApp about access to the simulator to update this link to both finish the 7.3 as well as create an 8.X version and was politely told no.

Unless my employment changes, I won't be update it. Sorry.

Noman sarwar said...

Thanks a million! you are very kind to give your valuable tips.
All your information is very helpful for the beginners like me. Keep writing such articles.

Anonymous said...

In response to (need to add deswizzle status command)
(priv set advanced)wafl scan status

Look for scan type of "volume deswizzling"

Anonymous said...

Thanks a bunch! Exactly what I needed.