Thursday, 31 December 2015

OCUM 6.3 Virtual Appliance Quick Install Notes: Part 3 (Beyond Basic Setup)

Continuing from this post here ...

Note: This post is intentionally not verbose - essentially just capturing some screenshots...

1) Log into OCUM

Image 1: Logging into OCUM 6.3
 
2) Adding Clusters

Storage > Clusters
Click + Add
Fill in the Cluster details
Click Add
And wait for discovery to complete

Image 2: Adding Clusters to OCUM 6.3
 
3) OCUM 6.3 Administration

After adding Clusters, further configuration of OCUM is optional and depends on requirements.

Image 3: OCUM 6.3 Administration drop down and Setup Options

3.1) Setup Options

“You can use the Setup Options dialog box to configure global threshold values, management server options, and notification settings.”

3.1.1: Thresholds - “The Threshold options enable you to configure the global threshold values for aggregates, volumes, and relationships”
+ Aggregates
+ Volumes
+ Relationships

3.1.2: Management Server - “The Management Server settings enable you to configure settings related to AutoSupport, HTTPS certificates, and authentication”
+ AutoSupport
++ Periodic AutoSupport: Enable/Disable
++ On-Demand AutoSupport: Send to Tech Support/ Email Recipient
+ HTTPS
++ View/Regenerate/Download CSR/Install HTTPS Certificate
+ Authentication
++ Enable Remote Authentication

Image 4: OCUM 6.3 Enable Remote Authentication with Active Directory
 
Note: Default Port for AD Authentication Server is 389. Secure connection uses port 636.

3.1.3: General Settings - “The General Settings enable you to configure settings related to notifications”
+ Notification

Image 5: OCUM 6.3 General Settings - Notification
 
3.1.4: Quota Settings - “The Quota Settings enable you to configure settings related to user and group quota email notifications”
+ Email Address Rules
+ Email Notification Format

3.1.5: Add-ons - “The Add-ons enable you to configure add-on settings like Workflow Automation”
+ Workflow Automation

Image 6: OCUM 6.3 Set Up OnCommand Workflow Automation
 
3.2) Manage Alerts

“The Manage Alerts page displays a list of alerts and provides information about the alert name, status, notification method, and notification frequency. You can also add, edit, remove, enable, or disable alerts from this page.”

Image 7: OCUM 6.3 Manage Alerts
 
3.3) Manage Annotations

“The Manage Annotations page enables you to create annotations in Unified Manager that can be used to annotate storage objects using annotation rules. Storage objects are annotated dynamically based on the annotation rules you create for annotations.”

3.4) Manage Data Sources

“The Manage Data Sources page enables you to view the statuses of data sources (clusters) that are added to the Unified Manager database. You can also view other details, such as the operation supported by the data source, state of the current operation, start and end time of the operation, and description of the operation.”

3.5) Manage Events

“The Manage Events page displays the list of events that are disabled and provides information such as the associated object type and severity of the event. You can also perform tasks such as disabling or enabling events globally.”

3.6) Manage Groups

“The Manage Groups page enables you to create groups in Unified Manager to easily manage storage objects. A group is a dynamic collection of storage objects (clusters, volumes, and SVMs), which is defined by the group rules you create for the group.”

3.7) Manage Scripts

“The Manage Scripts page enables you to add your custom scripts to Unified Manager. You can associate these scripts with alerts to enable automatic reconfiguration of storage objects.”

3.8) Manage Users

“The Manage Users page displays a list of your users and groups, and provides information such as the name, type of user, and email address.”

Image 8: OCUM 6.3 Manage Users -> Add User
 
Type = Local User: Roles = OnCommand Administrator, Storage Administrator, Operator, Event Publisher
Type = Database User: Roles = Integration Schema, Report Schema

3.9) Database Backup

“The Backup and Restore page displays a list of backups created by Unified Manager and provides information about the backup name, size, creation time, and schedule. You can also restore backups from this page.”

Image 9: OCUM 6.3 Database Backup -> Database Backup Settings
 
4) Reports

“The Reports page enables you to view detailed information about the reports that you generate. You can search for a specific report, save a report, and delete a report. You can also schedule, share, and import a report.”

Image 10: OCUM 6.3 Reports -> Manage Report Schedules

Wednesday, 30 December 2015

Setting up a 2-Node cDOT 8.3.1 Simulator Cluster: Part 3 (Beyond part 2 - iSCSI SVM)

Continuing from this post here ...

The following Clustershell commands were used to construct a first SVM that just serves iSCSI. Additionally; the SVM is used as an Active Directory Domain Tunnel (to allow AD authentication to Cluster and SVM); and a DMZ Broadcast Domain has been implemented (for VMs that might be in a DMZ and need to use SnapDrive for instance). This is just a SIM lab example though, and could be described as an advanced setup - it is not meant as a guide for how to do things in the real world.

Note: For testing, vsadmin has been allowed SSH login, also a Cluster Management LIF has been created in the DMZ.

i: The Current Network Setup

The SIMs in the 2-Node cluster have 7 vNICs each. The current setup of ports to Ipspace and Broadcast Domain, and LIFs, is illustrated below.

Note: In the images below, a square represents a physical port, circles are LIFs (logical interfaces).

Image 1: Ipspace = Cluster, Broadcast Domain = Cluster; and LIFs
Image 2: Ipspace = Default, Broadcast Domain = Default; and LIFs
ii: The New Network Setup

No changes are made to the Cluster broadcast-domain. We split the Default broadcast-domain into Default, iSCSI-1, iSCSI-2, and DMZ.

Image 3: Ipspace = Default, Broadcast Domains = Default, iSCSI-1, iSCSI-2, DMZ
Image 4: LIFs on the broadcast-domains Default, iSCSI-1, iSCSI-2, DMZ

iii: The Clustershell Commands

## Data Aggregates ##

rows 0
sto disk assign -all true -node CLU1N1
sto disk assign -all true -node CLU1N2
sto disk show -owner CLU1N1 -container-type spare -fields disk,usable-size
sto disk show -owner CLU1N1 -container-type spare -fields disk -usable-size 3.93g

# 42 disks spare per node (3 * 14 disk virtual shelves)
# Create a 12 disk RAID-DP on nodes 1 & 2

sto aggr create N1_aggr1 -diskcount 12 -maxraidsize 12 -node CLU1N1 -simulate
sto aggr create N1_aggr1 -diskcount 12 -maxraidsize 12 -node CLU1N1
sto aggr create N2_aggr1 -diskcount 12 -maxraidsize 12 -node CLU1N2 -simulate
sto aggr create N2_aggr1 -diskcount 12 -maxraidsize 12 -node CLU1N2

## Creating the iSCSI SVM ##

vserver create -vserver SVM1 -aggregate N1_aggr1 -rootvolume SVM1_root -rootvolume-security-style unix
vserver add-aggregates -vserver SVM1 -aggregates N1_aggr1,N2_aggr1
vserver show-protocols -vserver SVM1
vserver remove-protocols -vserver SVM1 -protocols nfs,cifs,fcp,ndmp
vserver show-protocols -vserver SVM1
iscsi create -target-alias SVM1 -status-admin up -vserver SVM1

## iSCSI LIFs Setup ##

broadcast-domain split -broadcast-domain Default -ipspace Default -new-broadcast-domain ISCSI-1 -ports CLU1N1:e0e,CLU1N2:e0e
broadcast-domain split -broadcast-domain Default -ipspace Default -new-broadcast-domain ISCSI-2 -ports CLU1N1:e0f,CLU1N2:e0f
net int create -vserver SVM1 -lif svm1-iscsi-n1-e0e-1 -role data -data-protocol iscsi -home-node CLU1N1 -home-port e0e -address 10.10.101.101 -netmask 255.255.255.0
net int create -vserver SVM1 -lif svm1-iscsi-n1-e0f-2 -role data -data-protocol iscsi -home-node CLU1N1 -home-port e0f -address 10.10.102.101 -netmask 255.255.255.0
net int create -vserver SVM1 -lif svm1-iscsi-n2-e0e-1 -role data -data-protocol iscsi -home-node CLU1N2 -home-port e0e -address 10.10.101.102 -netmask 255.255.255.0
net int create -vserver SVM1 -lif svm1-iscsi-n2-e0f-2 -role data -data-protocol iscsi -home-node CLU1N2 -home-port e0f -address 10.10.102.102 -netmask 255.255.255.0
portset create -vserver SVM1 -portset svm1-iscsi -protocol iscsi -port-name svm1-iscsi-n1-e0e-1,svm1-iscsi-n1-e0f-2,svm1-iscsi-n2-e0e-1,svm1-iscsi-n2-e0f-2

## AD Domain Tunnel Setup ##

cluster time-service ntp create -server 10.10.10.10
net int create -vserver SVM1 -lif svm1-adds -role data -data-protocol none -firewall-policy mgmt -home-node CLU1N1 -home-port e0c -address 10.10.10.103 -netmask 255.255.255.0
vserver services dns create -domains lab.priv -name-servers 10.10.10.10,10.10.10.9 -vserver SVM1
vserver active-directory create -account-name SVM1 -domain lab.priv -vserver SVM1
domain-tunnel create -vserver SVM1
security login create -user-or-group-name LAB\svm1_vsadmin -vserver SVM1 -application ontapi -authmethod domain -role vsadmin
security login create -user-or-group-name LAB\svm1_vsadmin -vserver SVM1 -application ssh -authmethod domain -role vsadmin

## DMZ Setup ##

broadcast-domain split -broadcast-domain Default -ipspace Default -new-broadcast-domain DMZ -ports CLU1N1:e0g,CLU1N2:e0g
net int create -vserver SVM1 -lif svm1-dmz -role data -data-protocol none -firewall-policy mgmt -home-node CLU1N2 -home-port e0g -address 10.10.20.101 -netmask 255.255.255.0
net int create -vserver CLU1 -lif cluster_mgmt_dmz -role cluster-mgmt -home-node CLU1N2 -home-port e0g -address 10.10.20.100 -netmask 255.255.255.0

## Intercluster LIFs (for later SnapMirror) ##

net int create -lif N1-icl -vserver CLU1 -role intercluster -home-node CLU1N1 -home-port e0d -address 10.10.10.111 -netmask 255.255.255.0
net int create -lif N2-icl -vserver CLU1 -role intercluster -home-node CLU1N2 -home-port e0d -address 10.10.10.112 -netmask 255.255.255.0


Friday, 25 December 2015

7-Mode Snapmirror Status and SnapVault Status -L Parser

This script can be used to parse either the “SnapMirror-Status” or “SnapVault-Status-L” files from AutoSupport. You might want to do this if you’re curious to know the transfer rate of your relations. One special feature, is that it uses computational mathematics to work out a transfer rate as if the SnapMirror/SnapVault wasn’t contending with other SnapMirrors/SnapVaults - i.e. was running independent and not concurrent with other jobs (where jobs conflict of course) - this metric is called “Transfer Rate Adjusted” or “T.Rate Adj” for short, and the script also works out the average and median of these values too. The output is a CSV.

Will be surprised if this script gets much use, but the code is possibly interesting.

########################
## SM_SV_analysis.ps1 ##
########################
# This tool is designed to analyze the following files from 7-Mode ASUPs:
# SNAPMIRROR-STATUS
# SNAPVAULT-STATUS-L

Param([parameter(Mandatory=$true)][String]$FileIn)
If(!(Test-Path $FileIn)){ Write-Host "Unable to find $FileIn"; EXIT}

## PROCESS THE SM/SV STATUS ##

$SVstatus = Get-Content $FileIn
[System.Object]$SVdata = @{}
[Boolean]$Recording = $FALSE
$Count = 0
[System.Array]$Starts = @()

$SVstatus | foreach {
  If($_.StartsWith("Source")){
    $Recording = $TRUE
    $Count++
    [System.Object]$SVdata.$Count = @{}
    [String]$Source = $_.Split(":")[1].Trim(" ","`t") + ":" + $_.Split(":")[2].Trim(" ","`t")
  }
  If($Recording){
    If($_.StartsWith("Destination")){
      [String]$Destination = $_.Split(":")[1].Trim(" ","`t") + ":" + $_.Split(":")[2].Trim(" ","`t")
    }
    If($_.StartsWith("Status")){ ## Drop if not idle at time of SM/SV status
      If( !($_ -Match ("Idle")) ){ $Recording = $FALSE; $Count--; Write-Host "DETECTED STATUS NOT IDLE!" }
    }
    If($_.StartsWith("Lag")){
      If($_ -Match ("-")){ ## Drop if Lag is "-"
        $Recording = $FALSE; $Count--; Write-Host 'DETECTED LAG = "-"'
      } else{
        [Int]$Hours   = [Int]($_.Split(":")[1].Trim(" ","`t"))
        [Int]$Minutes = [Int]($_.Split(":")[2].Trim(" ","`t"))
        [Int]$Seconds = [Int]($_.Split(":")[3].Trim(" ","`t"))
        [Int]$Lag     = $Seconds + (60*$Minutes) + (60*60*$Hours)
      }
    }
    If($_.StartsWith("Mirror Timestamp")){
      [String]$MirrorTS = $_.Substring(17).Trim(" ","`t")           
    }
    If($_.StartsWith("Last Transfer Size")){                 
      [Int]$Size  = [Int]($_.Split(":")[1].Trim(" ","`t").Split(" ")[0])
    }
    If($_.StartsWith("Last Transfer Duration")){
      [Int]$Hours    = [Int]($_.Split(":")[1].Trim(" ","`t"))
      [Int]$Minutes  = [Int]($_.Split(":")[2].Trim(" ","`t"))
      [Int]$Seconds  = [Int]($_.Split(":")[3].Trim(" ","`t"))
      [Int]$Duration = $Seconds + (60*$Minutes) + (60*60*$Hours)
      [Int]$StartSecond = $Lag + $Duration
      If($Duration -ne 0){ [Double]$TRate    = ($Size/$Duration) } else { [Double]$TRate = 0 }
      [String]$SVdata.$Count.Source      = $Source
      [String]$SVdata.$Count.Destination = $Destination
      [String]$SVdata.$Count.MirrorTS    = $MirrorTS
      [Int]$SVdata.$Count.Start          = $StartSecond
      [Int]$SVdata.$Count.Duration       = $Duration
      [Int]$SVdata.$Count.Size           = $Size
      [Double]$SVdata.$Count.TRate       = $TRate                   
      $Starts += $StartSecond
    }
  }
  If($_.StartsWith("Last Transfer From")){ $Recording = $FALSE }
}
[System.Array]$Starts = $Starts | Sort-Object -Descending

## WORK OUT NUMBER OF TRANSFERS RUNNING AT SECOND %J ##

[Int]$MaxGoBack = 7 * 24 * 60 * 60 ## Go back no longer than 7 days
[System.Object]$RunningTs = @{} ## Running Transfers per second
Write-Host "Processing $Count items for transfers running at second X ... "
For($i=1; $i -le $Count; $i++){
  Write-Host "$i " -NoNewLine
  [Int]$Start = $SVdata.$i.Start
  If($Start -le $MaxGoBack){
    [Int]$End = $Start - $SVdata.$i.Duration
    For($j = $Start; $j -gt $End; $j--){
      If(!$RunningTs.$j){ [Int]$RunningTs.$j = 0 }
      $RunningTs.$j ++ ## Recording number of transfers running at second $j
    }
  }
}; Write-Host; Write-Host

## WORK OUT AN ADJUSTED TRANSTER RATE FOR IF THE TRANSFER WAS RUNNING ALONE ##

Write-Host "Processing $Count items for adjusted Transfer Rate ... "
For($i=1; $i -le $Count; $i++){
  Write-Host "$i " -NoNewLine
  [Double]$UnitDenominator = 0
  [Int]$Start = $SVdata.$i.Start
  If($Start -le $MaxGoBack){
    [Int]$End = $Start - $SVdata.$i.Duration
    For($j = $Start; $j -gt $End; $j--){
      $UnitDenominator += 1 / $RunningTs.$j
    }        
  }
  If($UnitDenominator -ne 0){ [Double]$TRateAdj = $SVdata.$i.Size / $UnitDenominator } else { [Double]$TRateAdj = 0 }
  [Double]$SVdata.$i.TRateAdj = $TRateAdj
}; Write-Host; Write-Host

## GENERATE OUTPUT ##

[System.Array]$AllTRateAdj = @()
[System.Array]$Output = "Start (s),Size (KB),Duration (s),T.Rate (KB/s),T.Rate Adj (KB/s),Mirror Timestamp,Source,Destination"
$Starts | Foreach {
  For($i=1;$i -le $Count;$i++){
    If($SVdata.$i.Start -eq $_){
      If($SVdata.$i.TRateAdj -ne 0){ $AllTRateAdj += $SVdata.$i.TRateAdj }
      $Output += ([String]$_ + "," + [String]$SVdata.$i.Size + "," + [String]$SVdata.$i.Duration + "," + [String]$SVdata.$i.TRate + "," + [String]$SVdata.$i.TRateAdj + "," + $SVdata.$i.MirrorTS + "," + $SVdata.$i.Source + "," + $SVdata.$i.Destination)
    } 
  }
}

## FIND THE AVERAGEand MEDIAN OF of T.Rate Adj ##

$Average = ($AllTRateAdj | measure -average).Average
$AllTRateAdj = $AllTRateAdj | sort
If ($AllTRateAdj.count%2) { $MedianValue = $AllTRateAdj[[math]::Floor($AllTRateAdj.count/2)] } # ODD
else { $MedianValue = ($AllTRateAdj[$AllTRateAdj.Count/2],$AllTRateAdj[$AllTRateAdj.count/2-1] |measure -Average).average }
Write-Host ("Transfer Rate Adjusted (KB/s) Average = " + [String]$Average)
Write-Host ("Transfer Rate Adjusted (KB/s) Median = " + [String]$MedianValue)
$Output += (",,,AVERAGE =," + [String]$Average)
$Output += (",,,MEDIAN =," + [String]$MedianValue)

## OUTPUT TO CSV ##

$Output | Out-File ($FileIn + ".CSV") -Encoding Default
Write-Host ("Output file $FileIn" + ".CSV created!"); Write-Host

## THE END ##


Tuesday, 22 December 2015

Uptime/Countdown PowerShell Script

I originally wrote this script because I thought my Windows Server 2012 R2 Standard Evaluation was close to expiring, and I was preparing for it shutting down every hour or so, but I later (an hour or so later) learnt that it’s months away (is the 180 days based on how long it’s up for, not 180 days from first install?)

The script can be used as an uptime timer or countdown timer, and an extra feature is that it can log the minutes it’s been up (because I wasn’t totally sure it’s an hour from start to shutdown for expired evals.)

Image: Screenshots of Uptime, Countdown, and slmgr /xpr
Note: In the screenshot above, “minutes to go” is running from a Windows 10 desktop, just wanted to get it all in one image...

The Script

Param([Int]$MinsToHalt,[Int]$WarnMins,[Int]$PadR = 30,[Switch]$Log)

FUNCTION Wr {
  Param([String]$Echo,[String]$Ink = "White",[String]$Back = "DarkMagenta")
  IF(!$Echo){ Write-Host }
  ELSE{ Write-Host $Echo -ForegroundColor $Ink -BackgroundColor $Back -NoNewLine }
}

while($TRUE){
  $GetDate        = Get-Date
  $LastBoot       = (Get-CimInstance -ClassName win32_operatingsystem).LastBootUpTime
  $MinsRunning    = [Int]($GetDate - $LastBoot).TotalMinutes
  $SecondsRunning = [Int]($GetDate - $LastBoot).TotalSeconds
  If($MinsToHalt -gt 0){
    $GoOrGone = "to go"
    $MinutesToGo = $MinsToHalt - $MinsRunning
    $SecondsToGo = ($MinsToHalt*60) - $SecondsRunning
  } else {
    $GoOrGone = "gone"
    $MinutesToGo = [Int]($GetDate - $LastBoot).TotalMinutes
    $SecondsToGo = [Int]($GetDate - $LastBoot).TotalSeconds
  }
  cls
  If($MinsToHalt -eq 0){ $Ink = "Black"; $Back = "Green" }
  elseif($MinutesToGo -gt $WarnMins){ $Ink = "Black"; $Back = "Green" }
  else{ $Ink = "White"; $Back = "Red" }
  Wr "".PadRight($PadR) $Ink $Back; Wr
  Wr (" Minutes $GoOrGone = " + [String]$MinutesToGo).PadRight($PadR) $Ink $Back; Wr
  Wr (" Seconds $GoOrGone = " + [String]$SecondsToGo).PadRight($PadR) $Ink $Back; Wr
  Wr "".PadRight($PadR) $Ink $Back
  If($Log){ [String]$MinsRunning > "MinsRunning.TXT" }
  sleep 1
}

Sunday, 20 December 2015

OPM 2.0 Virtual Appliance Quick Install Notes: Part 2 of 2 (Web UI)

Continuing from part 1...

1) Log into OnCommand Performance Manager in a web browser by using https://IP_of_OPM or https://FQDN_of_OPM:

Image 1: Logging into OPM
2) Set Up Email

Image 2: OPM - Set Up Email
3) Set Up AutoSupport

Q: Do you want to enable AutoSupport capabilities? {Yes/No}

Note: For this walkthrough ‘no’ has been selected.

4) Change Admin Credentials (Optional)

5) Add Clusters

Note: Add at least one cluster to being collecting data

Image 3: Final Step in OPM GUI initial setup
6) The end!

Note: It can take up to 15 minutes to discover clusters.

Image 4: NetApp OnCommand Performance Manager

OPM 2.0 Virtual Appliance Quick Install Notes: Part 1 of 2 (Before Web UI)

Requirements

- Hardware (recommended): Disk = 5 GB (thin provisioning) (or 800 GB using thick provisioning)
- Hardware (recommended): Memory = 12 GB
- Hardware (recommended): vCPUs = 4
- Hardware (recommended): Process Cycles = 9572 MHz
- Virtual Infrastructure: vSphere 5.5+
- Software: Clustered ONTAP 8.2+
- Software: Browser - IE 11, Chrome 41 and 42, Firefox ESR 24 and 31, Safari 7
- Software: Browser client - Windows 7 and 8, OSX 10.8 and 10.9
- Inbound Port: 80 to Performance Manager GUI (redirects to 443)
- Inbound Port: 443 to Performance Manager GUI and APIs
- Inbound Port: 22 for SSH/SFTP to maintenance console
- Outbound Port: 443 to Storage Systems
- Outbound Port: 443 to AutoSupport (or via SMTP)
- Outbound Port: 25 to SMTP Server
- Outbound Port: 389 to Authentication Server (LDAP)
- Outbound Port: 2003 to Graphite Server for performance data (Optional)
- Outbound Port: 123 (UDP) to NTP Server
- Scalability with 8.3+: (Total LUNs x 2) + Total Volumes =< 202’000

Information Required to Complete Basic Setup

1) Deploying the OVF template in vSphere
- Name for the deployed template
- Destination storage for virtual machine files
- Disk Format: Thin Provision/ Thick Provision Lazy Zeroed/ Thick Provision Eager Zeroed
- VM Network for Network Adapter 1

2) Configuring OPM on first boot
- Timezone (Geographic Area & City or Region)
- DHCP or Static Network Configuration?
- Use IPv6?
- Enter the host FQDN:
- Enter the host IP address:
- Enter the network mask:
- Enter the IP address of the default gateway:
- Enter the primary DNS address:
- Enter the secondary DNS address:
Note: Setup discovers a DNS search domain from the FQDN provided above
- Enter additional search domains (Optional):
- Username (for new maintenance user):
- Password (UNIX password for new maintenance user):

3) Initial Setup in the Web UI
- Maintenance User Email Address
- SMTP Server: Host Name or IP Address
- SMTP Server: Port (usually 25)
- SMTP Server: User Name (optional)
- SMTP Server: Password (optional)
- SMTP Server: Use STARTTLS?
- SMTP Server: Use SSL?
- NTP Server
- Enable AutoSupport?
- Clusters to add to OPM and their user name and password

Install Walkthrough

1) Download the OVA file from support.netapp.com
2) Deploy the OVA template into vSphere
3) Power on and follow the Console output
3.1) When prompted to install VMware Tools, use the vSphere Client/vSphere Web Client, to install VMware Tools

Image 1: OPM waiting for VMware Tools Install/Upgrade initialization via the vSphere Client

Image 2: vSphere Client 5.5 Install/Upgrade VMware Tools
3.2) Configure the timezone

Image 3: Configuring tzdata
3.3) Apply the network configuration and confirm the selections

Image 4: OPM - DHCP or static?
Image 5: Confirming OPM static network configuration
3.4) When prompted, supply username and password for the maintenance user

Image 6: OPM - Create the maintenance user
3.5) Basic setup complete! Configuration continues via the Web UI.

Image 7: OPM 2.0 basic setup complete!

Saturday, 19 December 2015

OCUM 6.3 Virtual Appliance Quick Install Notes: Part 2 of 2 (Web UI)

Continuing from part 1...

1) Log into OnCommand Unified Manager in a web browser by using https://IP_of_OCUM or https://FQDN_of_OCUM:

Image 1: Logging into OCUM
2) Q: Do you want to enable AutoSupport capabilities? {Yes/No}

Note: For this walkthrough ‘no’ has been selected.

Image 2: OCUM Initial Setup - AutoSupport
3) Enter NTP Server, Maintenance User Email, and SMTP Server Hostname information:

Image 3: OCUM Initial Setup - NTP Server/ Maintenance User Email/ SMTP Server Hostname
Note: These boxes cannot be left blank (SMTP Options is optional) and DNS names must resolve (can use an IP instead to get around this - and don’t need a valid email address.)

4) That’s it - we’re ready to get started!

Image 4: Start using OCUM by adding a cluster

OCUM 6.3 Virtual Appliance Quick Install Notes: Part 1 of 2 (Before Web UI)

Requirements

- Hardware (recommended): Disk = 5 GB (thin provisioning) (or 152 GB using thick provisioning)
- Hardware (recommended): Memory = 12 GB
- Hardware (recommended): vCPUs = 4
- Hardware (recommended): Process Cycles = 9572 MHz
- Virtual Infrastructure: vSphere 5.1+
- Software: ONTAP 8.2.2+
- Software: Browser - IE 10 and 11, Chrome 41 and 42, Firefox ESR 31 and 38, Safari 7 and 8
- Software: Browser client - Windows 7 and 8, RHEL 6.5, 6.6 and 7, SUSE 11 SP2, OSX 10.8
- Inbound Port: 80 to Unified Manager web UI (redirects to 443)
- Inbound Port: 443 to Unified Manager web UI and APIs
- Inbound Port: 22 for SSH/SFTP to Maintenance console
- Inbound Port: 3306 to MySQL database
- Outbound Port: 443 to Storage Systems
- Outbound Port: 443 to AutoSupport (or via SMTP)
- Outbound Port: 25 to SMTP Server
- Outbound Port: 389 to Authentication Server (LDAP)
- Outbound Port: 162 (UDP) to SNMP Server (v1 or v3)
- Outbound Port: 123 (UDP) to NTP Server

Information Required to Complete Basic Setup

1) Deploying the OVF template in vSphere
- Name for the deployed template
- Destination storage for virtual machine files
- Disk Format: Thin Provision/ Thick Provision Lazy Zeroed/ Thick Provision Eager Zeroed
- VM Network for Network Adapter 1

2) Configuring OCUM on first boot
- Timezone (Geographic Area & City or Region)
- DHCP or Static Network Configuration?
- Enter the host FQDN:
- Enter the host IP address:
- Enter the network mask:
- Enter the IP address of the default gateway:
- Enter the primary DNS address:
- Enter the secondary DNS address:
Note: Setup discovers a DNS search domain from the FQDN provided above
- Enter additional search domains (Optional):
- Username (for new maintenance user):
- Password (UNIX password for new maintenance user):

3) Initial Setup in the Web UI
- Enable AutoSupport?
- NTP Server:
- Maintenance User Email:
- SMTP Server Hostname:

Install Walkthrough

1) Download the OVA file from support.netapp.com.
2) Deploy the OVA template into vSphere
3) Power on and follow the Console output
3.1) When prompted to install VMware Tools, use the vSphere Client/vSphere Web Client, to install VMware Tools

Image 1: OCUM waiting for VMware Tools Install/Upgrade initialization via the vSphere Client

Image 2: vSphere Client 5.5 Install/Upgrade VMware Tools
3.2) Configure the timezone

Image 3: Configuring tzdata
3.3) Apply the network configuration and confirm the selections

Image 4: If the appliance fails to contact a DHCP server, you’ll get the below...
...select 2 to continue with setting up a static network configuration.

Image 5: Confirming OCUM static network configuration
3.4) When prompted, supply username and password for the maintenance user

Image 6: OCUM - Create the maintenance user
3.5) Basic setup complete! Configuration continues via the Web UI.

Image 7: OCUM 6.3 basic setup complete!