EMC VNXe 3200 – Configuration Steps Via UEMCLI (Part1)

There are some minor cli changes with VNXe MCX which I will document as part of this series, for VNXe GEN1 please refer to these earlier posts:
EMC VNXe Gen1 Configuration Using Unisphere CLI

The initial configuration steps outlined in Part1 :

Accept End User License Agreement
Change the Admin Password
Apply License File
Commit the IO Modules
Perform a Health Check
Code Upgrade
Create A New User
Change the Service Password
Enable SSH

Accept End User License Agreement
uemcli -d 192.168.1.50 -u Local/admin -p Password123# /sys/eula set -agree yes

Change the Admin Password
uemcli -d 192.168.1.50 -u Local/admin -p Password123# /user/account show
uemcli -d 192.168.1.50 -u Local/admin -p Password123# /user/account -id user_admin set -passwd NewPassword -oldpasswd Password123#
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /user/account show

Reference ‘Help’ for any assistance:
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword / -help

Apply License File
Firstly gather the Serial Number of the VNXe:
uemcli -d 192.168.1.50 -u Local/admin -p Password123# /sys/general show -detail
Then browse to the EMC registration site, entering the VNXe S/N to retrieve the associated lic file:
https://support.emc.com/servicecenter/registerProduct/

Upload the acquired license file:
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword -upload -f C:\Users\david\Downloads\FL100xxx00005_29-July-2015_exp.lic license
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/lic show

Commit the IO Modules
The following commits all uncommitted IO modules:
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /env/iomodule commit

Display a list of system IO modules:
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /env/iomodule show

Perform a Health Check
It is good practice to perform a Health Check in advance of a code upgrade:
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/general healthcheck

Code Upgrade
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/soft/ver show
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword -upload -f “C:\Users\david\Downloads\VNXe 2.4.3.21980\VNXe-MR4SP3.1-upgrade-2.4.3.21980-RETAIL.tgz.bin.gpg” upgrade
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/soft/ver show
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/soft/upgrade create -candId CAND_1
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/soft/upgrade show
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /sys/general healthcheck

Note: Please see a more detailed overview of the upgrade process in a previous post:
https://davidring.ie/2015/03/02/emc-vnxe-code-upgrade/

Create A New User
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /user/account create -name david -type local -passwd DavidPassword -role administrator
uemcli -d 192.168.1.50 -u Local/admin -p NewPassword /user/account show

The role for the new account can be:
• administrator — Administrator
• storageadmin — Storage Administrator
• operator — Operator (view only)

Change the Service Password
The Service password is used for performing service actions on the VNXe.
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /service/user set -passwd newPassword -oldpasswd Password123#

Enable SSH
uemcli -d 192.168.1.50 -u service -p NewPassword /service/ssh set -enabled yes

EMC VNXe – Shutdown Procedure


Shutdown via UNISPHERE using the Service Account

VNXe-Shutdown

Please read all notes provided in the ‘More Information..’ section highlighted in the above image before proceeding with shutdown.

Shutdown process as documented in the ‘More Information..’ section:
1. From Unisphere, select Settings > Service System.
2. Enter the Service password to access the Service System page.
3. Under Service Actions, select Shut Down System.
4. Click Execute service action to shut down the storage processors (SPs).
5. In the Service Confirmation dialog box, click OK.
6. Check the status of the shutdown process by looking at the SP LED indicators. The shutdown process is complete when all the Storage Processor Power LEDs are flashing green, the SP Status Fault LED is solid amber, the network management port LEDs are on, and all other Storage Processor LEDs are off.


Shutdown via SSH using the Service Account:

Shutdown command:
svc_shutdown –system-halt

service@(none) spb:~> svc_shutdown --system-halt
###############################################################################
WARNING: This action will shut down the system and you will have to manually
bring it back up afterwards.
###############################################################################
Enter "yes" if want to proceed with this action: yes
Normal Mode
1
1
Peer shutdown now in progress
System shutdown now in progress

EMC VNXe – Gen1&2 Backup Script (Powershell & UEMCLI)

——————————————————————-
Reference:: EMC® VNXe® Unisphere® Command Line Interface User Guide:

Collect -Config: Create a snapshot of the current system configuration and save it to a file. It captures all of the data necessary to recreate the current configuration on a new or reinitialized system. It does not capture log files or other types of diagnostic data.

Collect -serviceInfo: Collect information about the system and save it to a .tar file. Service providers can use the collected information to analyze the system.
——————————————————————-

Using native UEMCLI commands integrated with Powershell this script automates the process of backing up the current VNXe configuration along with the latest system log files. You will just need to Complete a few simple user entries:
◊ Backup Directory
◊ Mgmt IP Address
◊ Service Password

The script will automatically create a sub-directory in the backup location provided. For example if you input a backup directory of C:\VNXe this will result in a backup location of C:\VNXe\timeDate

Example Script Execution
VNXe_Backup1

The backup directory location will automatically open on completion of the script:
VNXe_Backup2

Download: VNXe_Backup.ps1 and remove the .doc extension! Or in full text format below:

 
#################################
#
# Reference: VNXe UEMCLI Docs
# Script:VNXe BACKUPS
# Date: 2015-02-10 17:30:00										 			 
#
# Version Update:                                         
# 1.0 David Ring            	
#					 
#################################

######## Banner ########
Write-Host " "
Write-Host "#########################################################"
Write-Host "#######       VNXe Config and LOGS Backup        ########"
Write-Host "#########################################################"
Write-Host " "


##### Backup Location #####
$BackupLocation = Read-Host "Backup Location:(A sub-dir with the current Time & Date will be created):"
$BackupLocation = (join-path -Path $BackupLocation -ChildPath "$(date -f HHmmddMMyyyy)")	
IF(!(Test-Path "$BackupLocation")){new-item "$BackupLocation" -ItemType directory | Out-Null}
$BackupLocation =  "`"$BackupLocation`""

Write-Host "Backup Location Entered:" $BackupLocation

Start-Sleep -s 3

########################
### VNXe GEN1 Backup ###
########################
$VNXe = Read-Host 'VNXe 3150/3300 Present? y/n:'
if ($VNXe -eq "y") {
$VNXeIP = Read-Host 'VNXe IP Address:'
$VNXePW = Read-Host 'VNXe Service Password:'
Write-Host " "
Write-Host "########################################"
Write-Host "#######  VNXe 3150/3300 Backup  ########"
Write-Host "########################################"
Write-Host " "
Write-Host "VNXe IP Address:" $VNXeIP
Write-Host "VNXe Service Password:" $VNXePW
Write-Host " "
Start-Sleep -s 3
$VNXeConfig = (uemcli.exe -d $VNXeIP -u service -p $VNXePW -download -d $BackupLocation config)
Write-Host "### VNXe Config Backup Complete. ###"
Write-Host " "
Write-Host "### Now Generating VNXe Log Files! ###"
$VNXeConfig = (uemcli.exe -d $VNXeIP -u service -p $VNXePW /service/system collect -serviceInfo)
$VNXeConfig = (uemcli.exe -d $VNXeIP -u service -p $VNXePW -download -d $BackupLocation serviceInfo)
Write-Host " "
Write-Host "##################################################"
Write-Host "#######    VNXe GEN1 Backup Complete      ########"
Write-Host "##################################################"
Write-Host " "
}


########################
### VNXe GEN2 Backup ###
########################
$VNXe = Read-Host 'VNXe 3200 Present? y/n:'
if ($VNXe -eq "y") {
$VNXeIP = Read-Host 'VNXe IP Address:'
$VNXePW = Read-Host 'VNXe Service Password:'
Write-Host " "
Write-Host "####################################"
Write-Host "########  VNXe 3200 Backup  ########"
Write-Host "####################################"
Write-Host " "
Write-Host "VNXe IP Address:" $VNXeIP
Write-Host "VNXe Service Password:" $VNXePW
Write-Host " "
Start-Sleep -s 3
$VNXeConfig = (uemcli.exe -d $VNXeIP -u service -p $VNXePW /service/system collect -config -showPrivateData)
$VNXeConfig = (uemcli.exe -d $VNXeIP -u service -p $VNXePW -download -d $BackupLocation config)
Write-Host "### VNXe Config Backup Complete. ###"
Write-Host " "
Write-Host "### Now Generating VNXe Log Files! ###"
$VNXeLOGS = (uemcli.exe -d $VNXeIP -u service -p $VNXePW /service/system collect -serviceInfo)
$VNXeLOGS = (uemcli.exe -d $VNXeIP -u service -p $VNXePW -download -d $BackupLocation serviceInfo)
Write-Host " "
Write-Host "##################################################"
Write-Host "#######     VNXe GEN2 Backup Complete     ########"
Write-Host "##################################################"
Write-Host " "
}

Start-Sleep -s 3

$BackupLocation = $BackupLocation -replace '"', ""
invoke-item $BackupLocation

Read-Host "Confirm Presence of 'Config File' and 'LOG Files's' in the Backup Directory!"

######################## END ########################

EMC VNXe – Troubleshooting NFS Connectivity

Step1 Check the Health status of the Link Aggregation:

uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/la show -detail

1: ID = la0_SPA
SP = SPA
Ports = eth2_SPA,eth3_SPA
Health state = OK (5)

2: ID = la0_SPB
SP = SPB
Ports = eth2_SPB,eth3_SPB
Health state = OK (5)

Step2 Ensure the Network Interface for NFS is correctly configured:
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/if show -detail

ID = if_2
Port = eth2_SPA
VLAN ID = 0
IPv4 mode = static
IPv4 address = 10.0.0.11
IPv4 subnet mask = 255.255.255.0
IPv4 gateway = 10.0.0.254
MAC address = 08:00:00:00:00:00
SP = SPA

Step3 Check the Health Status and MTU Value set on the Ports:
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/port show

ID = eth2_SPA
Role = frontend
SP = SPA
Supported types = iscsi, net
MTU size = 9000
Speed = 1 Gbps
Health state = OK (5)
Aggregated port ID = la0_SPA

ID = eth3_SPA
Role = frontend
SP = SPA
Supported types = iscsi, net
MTU size = 9000
Speed = 1 Gbps
Health state = OK (5)
Aggregated port ID = la0_SPA

ID = eth2_SPB
Role = frontend
SP = SPB
Supported types = iscsi, net
MTU size = 9000
Speed = 1 Gbps
Health state = OK (5)
Aggregated port ID = la0_SPB

ID = eth3_SPB
Role = frontend
SP = SPB
Supported types = iscsi, net
MTU size = 9000
Speed = 1 Gbps
Health state = OK (5)
Aggregated port ID = la0_SPB

For a more detailed analysis of Frontend|Backend:
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/port -role frontend show -detail

Step4 Check if Jumbo MTU is set correctly on Cisco SW’s:
SwitchA#show system mtu
If change required then issue command: system mtu jumbo 9198
Save and then reload

Step5 Check Shared folder for enabled NFS and Interface ID
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/nas/server show

ID = file_server_2
Name = NFS_01
Health state = OK (5)
SP = SPA
CIFS enabled = no
NFS enabled = yes
Interface = if_2

Step6 Run a PING Test from the VNXe NFS Interface if_2 to ESXi NFS IP & VMKPing from ESXi NFS vmk to VNXe Server
Gather ESXi Host details:
uemcli -d 10.0.0.1 -u Local/admin -p Password#123 /remote/host show -detail

ID = 1003
Name = ESXi_01
Type = host
Address = 10.0.0.50
OS type = esx

Ping the vmkernel of the ESXi host to ensure proper connectivity:
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /net/util ping -srcIf if_2 -addr 10.0.0.50
Operation completed successfully.
Ping the NFS Server from the vmkernel of the ESXi host:
vmkping -s 8972 -d 10.0.0.11

Failure here will normally imply a networking configuration issue – Verify subnets, vlan’s and any firewall configs are correct.

Step7 Check the status and details of the NFS Datastore
uemcli -d 10.0.0.1 -u Local/admin -p Password123# /stor/prov/vmware/nfs show -detail
ID = app_1
Name = NFS-01
Health state = OK (5)
Health details = "The component is operating normally. No action is required."
Server = file_server_2
Storage pool = NFS-01
Size = 858993459200 (800.0G)
Size used = 241740808192 (225.1G)
Maximum size = 4417404272640 (4.0T)
Thin provisioning enabled = no
Cached = no
Current allocation = 858993459200 (800.0G)
Protection size = 42949672960 (40.0G)
Protection size used = 0
Maximum protection size = 17592184995840 (16.0T)
Protection current allocation = 0
Auto-adjust protection size = yes
Local path = /NFS_01
Export path = /NFS_01
Default access = na
Root hosts = 1003[10.0.0.50]
Replication destination = no
Deduplication enabled = no
Creation time = 2014-06-11 09:55:00
Last modified time = 2014-06-11 09:55:00

Step8 For any Firewall in-place ensure the following port is open:
2049 – TCP/UDP – NFS – Required for NFS

Step9 Add the NFS file system manually to the ESXi host:
Log on to vCenter or the ESX host click on the ESXi host, from the Configuration tab choose Storage and Add storage:
1. Enter the IP address of the NFS server – 10.0.0.11
2. Enter the Folder name which is the mount point from VNXe – /NFS-01
3. Enter the datastore name that vCenter/ESXi will use to present as – NFS-01