You are on page 1of 496

iolin

V
MEMORY

Violin 6000 Series


Memory Array Users Guide
For Release V6.0.0

Document Number: 535-0008-00 Rev 10


May 2013

LEGAL NOTICE
Copyright 2010-2013 Violin Memory, Inc. All rights reserved.
Violin Memory, Violin Technologies, Violin, vSHARE, vCACHE, Flash Forward, and Violin and Design are trademarks,
registered trademarks or service marks of Violin Memory, Inc. (Violin) in the United States and other countries.
All other brands, product names, company names, trademarks, and service marks are the properties of their respective
owners.
This document and the associated software product are protected by copyright and international treaties, and are
distributed under license from Violin, including restrictions on their use, copying, redistribution and reverse engineering.
Unless otherwise agreed by Violin in writing, Violins standard end user license agreement shall apply, which may be
reviewed at www.violin-memory.com/legal. No part of this document may be reproduced, adapted or translated without
prior written permission of Violin, except as permitted under applicable copyright law. The associated software product may
include, access or otherwise operate, interface or be delivered with third party software or other applications or copyrighted
materials, which are copyrighted and licensed by Violin suppliers. Such third party materials and licenses are identified in
this document and/or at www.violin-memory.com/legal.
Violin assumes no responsibility for any typographical, technical or other error or omission in this document. Violin reserves
the right to periodically change the information contained in this document, but Violin makes no commitment to provide any
such changes, updates, enhancements or other additions in a timely manner or at all.
The only warranties for Violin products and services are set forth in the express warranty statements accompanying such
products and services. Nothing herein should be construed as constituting an additional warranty. THIS DOCUMENT
(INCLUDING ANY EXAMPLES AND OTHER INFORMATION CONTAINED HEREIN) IS MADE AVAILABLE AS IS
WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND. VIOLIN MAKES NO REPRESENTATION OR
WARRANTY IN THIS DOCUMENT REGARDING ANY ASSOCIATED SOFTWARE OR ANY OTHER VIOLIN OR THIRD
PARTY HARDWARE, SOFTWARE OR OTHER PRODUCTS OR SERVICES REFERENCED HEREIN. TO THE FULLEST
EXTENT PERMITTED BY LAW, VIOLIN (FOR ITSELF AND ITS LICENSORS AND OTHER THIRD PARTIES IDENTIFIED
HEREIN) HEREBY DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, WHETHER EXPRESS OR IMPLIED,
ORAL OR WRITTEN, WITH RESPECT TO THE FOREGOING, INCLUDING WITHOUT LIMITATION, ALL IMPLIED
WARRANTIES OF TITLE, NON-INFRINGEMENT, QUIET ENJOYMENT, ACCURACY, INTEGRATION,
MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.
IN NO EVENT SHALL VIOLIN (OR ITS LICENSORS OR ANY OTHER THIRD PARTY IDENTIFIED HEREIN) BE LIABLE
CONCERNING ANY USE OF THIS DOCUMENT, REGARDLESS OF THE FORM OF ANY CLAIM OR ACTION
(WHETHER IN CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE), FOR ANY DIRECT, INDIRECT,
PUNITIVE, INCIDENTAL, RELIANCE, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES, INCLUDING
WITHOUT LIMITATION, ANY LOSS OF DATA, LOSS OR INTERRUPTION OF USE, COST OF PROCURING
SUBSTITUTE TECHNOLOGIES, GOODS OR SERVICES, OR LOSS OF BUSINESS, REVENUES, PROFITS OR
GOODWILL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Violin Memory, Inc.
685 Clyde Avenue
Mountain View, CA 94043
USA

ii

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
CHAPTER 1. Violin 6000 Series Memory Array Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New in This Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About the Memory Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Violin 6000 Series Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
8
8
9

Violin Intelligent Memory Modules (VIMMs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9


Violin Switched Memory (VXM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
vRAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
PCIe Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

Product Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Violin 6000 Series Platform Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chassis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
System LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Power Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Fans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

Violin 6000 Platform Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


Memory Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Power Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Array Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Memory Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Network Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
vRAID Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Violin Intelligent Memory Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
VIMM Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Flash-Based VIMMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
VIMM Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
VIMM Slot Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

System Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


Management Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Command Line Interface (CLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Violin Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
E-mail Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Syslog Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
SNMP Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
XML REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

CHAPTER 2. Manage, Monitor, and Administer with the Violin Web Interface . . . . . . . . . . . . . . . . . . 31
Introduction to the Violin Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
User Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
System and Browser Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Abbreviations for Large Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Web Interface Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

Logging In and Out of the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


Logging In to the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Logging Out of the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Accessing and Optimizing the iPad Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36


Launching the iPad Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Optimizing the iPad Web Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Web Interface Task Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39
40
41
42

Home Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LUN Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Front and Rear Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43
48
51
54

Manage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Manage LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Manage Initiators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Manage Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Manage LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Thin Provision LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Manage Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Monitor Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

106
110
111
111

Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Cluster Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

114
122
128
137
139

CHAPTER 3. Manage the Memory Array with the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Introduction to the Memory Array Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
High-Level Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web Interface Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web Interface Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring the Violin Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printing Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

144
145
145
146
146

Logging In to and Out of the Array Web Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146


Logging Out of the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Performing Tasks Using the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


Viewing Status of the Memory Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Showing Status of the Memory Array Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Viewing VIMM Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Focusing on VIMMs Managed by vRAID Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Focusing on Modules Managed by Power Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

149
150
151
152

Monitoring the Memory Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152


Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Array Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

154
158
163
168
170
171

Monitoring the Memory Array Using the XTree Browser Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 173
ii

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 4. vSHARE Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175


Understanding vSHARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
vSHARE System Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Support for vSHARE InfiniBand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Target Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177

vSHARE Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177


AIX Compatibility NACA Bit Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Configuring Storage Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Initializing Violin Memory Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
Viewing Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182

Configuring Target Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182


Supported Target Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Configuring Fibre Channel and InfiniBand Target Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Configuring iSCSI Target Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184

Configuring Initiator Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187


Working with LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Creating LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Viewing LUNs and Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Resizing LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Exporting LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193

OpenVMS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195


Creating a LUN and Specifying the UDID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
Setting and Removing a LUN UDID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197

Working with LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197


Creating LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
Deleting LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Modifying LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Exporting a LUN Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
Displaying LUN Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200

CHAPTER 5. vSHARE Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201


Verifying Connections and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Verifying Target Port Activity and Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Verifying Container Activity and Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203

Block Storage Media Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203


vSHARE Block Storage Management Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Managing Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Supporting VMware VAAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
Managing iSCSI Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
Managing Initiator Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
Managing LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Managing Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216

Managing Block Storage in the Violin Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


Email Alert Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Enabling and Disabling Email Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
Customizing Email Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Viewing Current Email Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218

Unified Logging Upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219


Uploading Log Files for All Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Uploading Log Files for Specific Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Unified Logging Upload Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219

CHAPTER 6. Manage the Memory Array with the CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


Overview of the Command Line Interface (CLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
CLI Shorthand Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
Tab Completion of Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
Command Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

iii

Prompt and Response Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226


Abbreviations for Large Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Connecting to the Command Line Interface (CLI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227


Logging into the Memory Array CLI via the Serial Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Configuration File Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230


Reverting without Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Upgrading the System Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233


Downloading the Upgrade Image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrading All Firmware and Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrading the Memory Gateway Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrading the Memory Array Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

233
233
235
236

Reboot and Shutdown Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238


Before You Proceed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rebooting the Memory Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shutting Down the Memory Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Powering Off and On Memory Array Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Powering Off and On Specific Memory Array Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Restarting the Memory Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

238
239
239
240
240
242

Rebalancing RAID Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242


Discovering Unbalanced RAID Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enabling Automatic Rebalancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enabling Incremental Rebalance of RAID Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduling a RAID Group Rebalance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

243
244
244
245

CHAPTER 7. Data Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247


Managing Data Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
iSCSI Authenticated Sign-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Unidirectional CHAP Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Bidirectional CHAP Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Setting Up iSCSI CHAP Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248


CHAP Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Establishing a CHAP Secret. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Unidirectional iSCSI CHAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Bidirectional iSCSI CHAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

249
249
250
250

Removing CHAP Secrets from a Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251


Showing iSCSI CHAP Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
CHAPTER 8. Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Violin Memory Data Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Data Management Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Data Management Use Cases and Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255


Data Management Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Example Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255


Over Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Usage Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Performance Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Optimizing Performance with ALUA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257


Setting Preferred Port and ALUA Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Viewing Preferred Port Settings and Sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Viewing ALUA Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

Thin Provisioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260


Thick LUNs versus Thin LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Thin Provision LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Creating Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Deleting Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Viewing Snapshot Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

iv

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Rolling Back the Contents of a Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267


Renaming Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
Modifying the Access to Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Exporting Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Protecting Snapshots from Automatic Deletion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270

Snap Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270


Creating a Snap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270
Deleting a Snap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
Showing a List of Snap Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
Rolling Back the Contents of a Snap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Modifying a Snap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
Changing the Name of a Snap Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273
Exporting a Snap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273

Schedule Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274


Creating a Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Deleting a Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Modifying Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
Showing a List of Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279

Free Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279


Monitoring Free and Consumed Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Thresholds and the Reclamation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
Rules for Reclaiming Free Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283
Setting Usage Thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283

APPENDIX A. CLI Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287


CLI Command Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Key to Command Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288

CLI Option Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289


Control User Inactivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
Control Paging of CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Control Showing Hidden Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Confirm Loss of Unsaved Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Confirm Reboot or Halt Reload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Set Terminal Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Clear Command History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Display CLI Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Display Terminal Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291

General Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292


Verify Hardware Version and Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
View Installed Licenses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
Event Logging Configuration and Viewing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
User Accounts and Local Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
NTP, Clock and Time Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300
Event Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
Diagnostic Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Configuration File Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
Image Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Enable and Config Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
Web Proxy Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Xinetd Server Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
tcpdump Capture Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
NTB Commands (vMOS Data Management) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Cluster Configuration and Show Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313

Network Configuration Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314


Network Bond Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
Ten network bonding modes are supported: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
Name Resolution Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
Routing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Administrative Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316


donotuse Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Email Alert Consolidation Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317


Enable and Disable Email Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Customize Email Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
View Current Email Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Unified Logging Upload Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319


Address Resolution Protocol Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Add and Remove Static ARP Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clear Dynamic ARP Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Contents of ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List Statically-Configured ARP Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

319
320
320
320

Array Configuration and Show Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320


Array Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Array Show Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Array Balance Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

VIMM Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324


iSCSI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Show iSCSI Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enable iSCSI Target Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create an iSCSI Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bind an iSCSI Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

325
326
326
326

Security Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326


iSCSI CHAP Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
RADIUS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TACACS+ Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

SCSI-3 ALUA Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330


Fibre Channel Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Initiator Group Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Create an Initiator Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add Initiators to a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a Nested Initiator Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Show Initiator Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Show Nested Initiator Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Show Initiators on Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

332
332
332
332
333
333

LUN Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333


Create LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
View LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Set LUN Privileges and UDIDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rename a LUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resize a LUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Export LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
View LUN Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

333
334
335
335
336
336
337

LUN Group Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338


Creating LUN Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a LUN Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying LUN Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

338
338
338
339
340

Data Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341


Optimizing Performance with ALUA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thin Provision LUNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Snap Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schedule Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Free Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

341
344
346
350
353
356

Diagnostic and Display Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359


Standard Show Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Standard CLI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
vi

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Authentication Method and Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362


SSH Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
CLI Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
SNMP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
Web Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366

APPENDIX B. Alarm Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369


Understanding Memory Array Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Interpreting Alarm LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370
Understanding System Alarm Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371

Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372


Equipment Service-Affecting Alarms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372
Flash Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372
Port Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
Power Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
RAID Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
System Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375
Temperature Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
VIMM Service-Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376

Non-Service Affecting Alarms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377


Temperature Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
Equipment Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
Flash Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
Port Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
Power Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
RAID Non-Service Affecting Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
VIMM Non-Service Affecting Alarms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
vRAID Controller Module (VCM) Alarms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386

APPENDIX C. Violin Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387


Violin Linux Drivers Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Understanding Violin Linux Driver Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388
Installation and Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388

Installing Violin Linux Driver Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388


Kernel Development Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
GCC Compiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
Libaio Development Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389

Installing Violin Linux Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389


Installing Violin Linux Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390
Uninstalling Violin Linux Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393

Loading and Unloading Linux Drivers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394


Loading Violin Linux Drivers Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394
Loading Violin Linux Drivers as Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .395
Unloading the Violin Linux Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .395

Installing Violin Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396


Installing Violin Utilities on Linux Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396

Configuring Partitions and Storage Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397


Creating Block Device Partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
Enabling Host to Automatically Mount Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
Enabling Logical Volume Manager (LVM) to Recognize Direct-Attached Storage . . . . . . . . . . . . . . . . . . . .401

APPENDIX D. Violin Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403


Understanding Violin Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Installing Violin Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
Running Violin Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403

Violin Utilities Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

vii

varray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
vcounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
veeprom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
vincident -a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
vinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
vinventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
vmesg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
vpartial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
vring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
vspeedtest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
vstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
vvimms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
vzero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
perf_test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

APPENDIX E. Performance Tuning and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423


Performance Tuning and Testing Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Flash-Layer Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Memory Array Flash 4kB Alignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

Network-Layer Performance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427


Preliminary Network-Layer Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Performance Testing Using Perf_Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

APPENDIX F. SNMP Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433


About Violin Memory SNMP MIBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Benefits of Using a MIB Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SNMP Configuration on the Violin 6000 Series Memory Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trap/Notify Event E-mail and Logged Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

433
434
435
436

Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

Available Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438


Configuring and Testing Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Enabling Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Testing Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Spare VIMMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Failed VIMMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
PSU States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Temperatures: per VIMM and Chassis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Performance Stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Fibre Channel (vSHARE) Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Fibre Channel Performance Statistics (vSHARE) Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

New Trap MIB Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454


APPENDIX G. Optimizing Connectivity for Initiator Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Optimizing Connectivity for Windows Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Windows Server 2008 R2 and Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Windows Server 2003 R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

Optimizing Connectivity for AIX Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466


System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing the Violin Driver for AIX MPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring an AIX Initiator Host for Optimum Connectivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Discovering AIX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uninstalling the Violin Driver for AIX MPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

viii

Violin 6000 Series Memory Array Users Guide

467
467
468
469
469

535-0008-00 Rev 10

System Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471


Memory Array System Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fibre Channel Adapter Card Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InfiniBand Adapter Card Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PCIe Host Adapter Card Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ethernet/iSCSI Adapter Card Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

472
473
474
474
475

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

ix

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Preface

This preface outlines the organization of this book, describes document


conventions, and provides information about additional resources.

Intended Audience on page 1


Document Organization on page 2
Reference Documents on page 3
Document Conventions on page 3
Contacting Violin Memory on page 5

Intended Audience
This guide is intended for experienced systems administrators. Violin Memory
assumes that you are experienced in installing and servicing high-performance
storage systems.
Contact Violin Memory Customer Support for any assistance with installing and
servicing this system. See Contacting Violin Memory on page 5 for contact
information.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Document Organization
This guide is organized into the following sections:

Chapter 1, Violin 6000 Series Memory Array OverviewIntroduces the Violin 6000 Series
Memory Array and its features, architecture, and specifications.

Chapter 2, Manage, Monitor, and Administer with the Violin Web InterfaceDescribes Web
interface tasks specific to the Memory Gateways that are internal to the Violin 6000 Series
Memory Array.

Chapter 3, Manage the Memory Array with the Web InterfaceDescribes using the Violin
Web interface to complete the basic Memory Array monitoring and administrative tasks and
the tasks specific to the Memory Gateways that are internal to the Violin 6000 Series Memory
Array.

Chapter 4, vSHARE ConfigurationDescribes vSHARE, its features and functions, and the
steps required to configure a Memory Gateway running vSHARE to manage block storage.

Chapter 5, vSHARE ManagementDescribes the management of a Memory Gateway


configured for vSHARE block storage using the command line interface (CLI) and Violin Web
Interface.

Chapter 6, Manage the Memory Array with the CLIProvides detailed procedures for
configuring and showing status of the Violin 6000 Series Memory Array and its internal
modules using the Command Line Interface (CLI).

Chapter 7, Data SecurityCovers available options for enhancing data security.

Appendix A, CLI ReferenceDescribes the Violin 6000 Series Memory Array command line
interface (CLI) and how to use it; describes the commands available in the Violin 6000 Series
Memory Array.

Appendix B, Alarm ReferenceDescribes the various system alarms that may occur when
using the Violin 6000 Series Memory Array.

Appendix C, Violin DriversDescribes how to install, use and remove the Linux drivers on a
host computer directly attached to the Violin 6000 Series Memory Array.

Appendix D, Violin UtilitiesDescribes the Violin 6000 Series Memory Array utility commands
and how to use them.

Appendix E, Performance Tuning and TestingDescribes how to perform performance tuning


and testing on the Violin 6000 Series Memory Array.

Appendix F, SNMP TrapsDescribes using SNMP Traps with the Violin 6000 Series Memory
Array.

Appendix G, Optimizing Connectivity for Initiator HostsDemonstrates ways in which you can
optimize the connectivity of initiator (client-side) hosts with Violin Memory Arrays.

Chapter 8, Data ManagementCovers data management features, procedures, and


commands.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Reference Documents
In addition to this guide, the following Violin Memory documents comprise the documentation suite
that will assist you with setting up, using and servicing the Violin 6000 Series Memory Array. These
guides are available for download from the Violin Memory Support site at http://www.violinmemory.com/support/

This document...

Provides this information...

Release Notes

This document describes the new features, resolved


issues, known limitations and software upgrade
instructions for the current release.

Violin 6000 Series Memory Array Installation Guide

This guide provides instructions for installing the


Violin 6000 Series Memory Array in an equipment
rack and completing the system setup and
configuration.

Violin 6000 Series Memory Array Slide Rail


Installation Guide

This guide provides instructions for installing the


Violin 6000 Series Memory Array slide rails in an
equipment rack.

Violin 6000 Series Memory Array Cable Management


Installation Guide

This guide provides instructions for installing the


cable management arm on a Violin 6000 Series
Memory Array. It is included in the Violin 6000 Series
Memory Array shipping box.

Reference Documents

Document Conventions
Safety Icons
The table below summarizes warning, caution, and note icons used in this document and includes
sample text.
Safety Icons
Icon

WARNING!

535-0008-00 Rev 10

Sample Text

WARNING! Only authorized, qualified, and trained


personnel should attempt to work on this equipment.

Violin 6000 Series Memory Array Users Guide

Safety Icons (Continued)


Icon

Sample Text

Caution:

Caution: Follow the listed safety precautions when


working on the Violin 6000 Series Memory Array.

Note:

Note: Read through this entire chapter and plan your

installation according to your location before installing


the equipment. The following procedures and the order
in which they appear are general installation guidelines
only.

Typographical Conventions
The following typographic conventions are used in this guide:

Format

Meaning

Bold

User Interface text.

Italic

Provides emphasis and identifies variables and


document titles.

Courier

Command names, examples, and output.

Courier bold

Input you must type exactly as shown.

<Courier italic>

Information for which you must supply a value.

[ ]

Optional command parameters are enclosed within


square brackets.

Separates a set of command choices from which only


one may be chosen.

{ }

Required command parameters that must be specified


are enclosed within curly brackets.

Typographical Conventions

Security
Violin Memory, Inc., cannot be responsible for unauthorized use of equipment and will not make
allowance or credit for unauthorized use or access.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Contacting Violin Memory


To obtain additional information or technical support for Violin Memory products, contact us at:
Phone: 1-855-VIOLIN-5 (1-855-846-5465)
International: +1 650-396-1500 Extension 3
Web site: http://www.violin-memory.com
Email: support@vmem.com
When contacting Violin Memory Customer Support, please have the following information available:

Model and serial number of the system for which you are requesting support.
Software version.
A brief description of the problem.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 1

Violin 6000 Series Memory Array Overview

This chapter introduces the Violin 6000 Series Memory Array in the following
sections:

535-0008-00 Rev 10

New in This Release on page 8


About the Memory Array on page 8
Violin 6000 Series Architecture on page 9
Product Models on page 10
Violin 6000 Series Platform Overview on page 11
Violin 6000 Platform Components on page 17
System Configuration Options on page 27
Management Interfaces on page 27

Violin 6000 Series Memory Array Users Guide

Chapter 1: Violin 6000 Series Memory Array Overview

New in This Release


The following features and enhancements are new in this release:

Data Management
vMOS Data Management is introduced on Violin 6000 Series flash Memory Arrays with the
release of vMOS-6. vMOS Data Management allows you to manage and protect critical data,
as well as simplify backup and disaster recovery using the following features:

Thin provision LUNs for better utilization of storage

Snapshots of individual LUNs and LUN groups

Snapshot groups for management purposes

Schedules for automated snapshots

Manage and monitor provisioned and allocated space on the array

For information on Web interface procedures, see Manage LUN Groups on page 76. For indepth information on CLI procedures and commands, see CHAPTER 8, Data Management
on page 253.

LUN groups
This release introduces the ability to group LUNs for simplified administration and
management. It also provides the ability to monitor a group of LUNs as a combined entity. For
information on Web interface procedures, see Manage LUN Groups on page 76.For in-depth
information on CLI procedures and commands, see Working with LUN Groups on page 197.

Nested Initiator Groups


This release introduces enhanced support for nested initiator groups (igroups). For information
on creating nested initiator groups, see Creating, Modifying, and Deleting Nested Initiator
Groups on page 72 and Managing Nested Initiator Groups on page 213.

SCSI-3 ALUA
This release introduces an enhancement for Asymmetric Active-Active ALUA for enhanced
Data Management performance. For more information, see Data Management on page 253.

About the Memory Array


The Violin 6000 is a purpose-built memory array designed from the ground up to maximize the
performance and value of flash memory and deliver a high-bandwidth, high IOPS, low latency and
cost-effective storage system.
The architecture supports various configurations with no single point of failure. All active
components may be configured with redundancy and the ability to field replace modules while the
system is operational. Each system can be optionally configured with integrated and redundant
memory gateways that provide SAN/LAN integration. The Memory Array has significant flexibility in
its configuration.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Series Architecture

The primary operating roles for the Memory Array are:

SAN-attached Storage (vSHARE): connects to a storage area network (SAN) via the
integrated or external vSHARE Memory Gateways using Fibre Channel, InfiniBand or iSCSI/
Ethernet. This configuration allows multiple hosts, including clustered applications, to share
the same storage.

Direct-attached Storage: connects via PCI Express (PCIe) to one or two host computers
running Linux and Windows. This configuration provides low latency and high bandwidth.

The Violin 6000 is ideal for any application that requires active processing or rapid access to large
amounts of data, including applications for transaction processing (Oracle, DB2, SQL Server,
Sybase), analytics and data warehousing, messaging systems (e-mail), active file storage and
metadata (GPFS, Lustre).

Violin 6000 Series Architecture


The Violin 6000 utilizes technologies (VXM switched memory network, vRAID algorithm) and hotswappable components to enable thousands of flash devices to operate efficiently as a flash
memory array.

Violin Intelligent Memory Modules (VIMMs)


VIMMs provide the flash capacity for the Violin 6000 Series Memory Array. Up to 64 VIMMs are
supported in a single Memory Array, with available capacities of 256GB or 512GB per VIMM.
Each VIMM includes a flash controller that manages the flash memory, including flash media errors
and failures, flash wear, and the process of grooming for removing unused or obsolete memory
blocks from the flash memory. These processes are largely performed in state machines for
minimum latency and maximum IOPS.
See Violin Intelligent Memory Modules on page 20 for more on the technology, types, configurations
and slot locations of the system VIMMs.

Violin Switched Memory (VXM)


One core technology of the Memory Array is a switched memory network that combines the best
attributes of a high-performance interconnect including sub-sec latency, redundancy, scalability,
and high availability. VXM connects the VIMMs to the vRAID Controllers and provides a high
bandwidth, highly reliable data path.
Much like PCI Express (PCIe), VXM is designed for low-latency memory accesses. Unlike PCIe and
other technologies, VXM was specifically developed for applications that must handle large data
sets and hence large numbers of flash devices and modules interconnected in a highly redundant,
serviceable manner.
The VXM architecture is inherently redundant, hot-swappable, and scalable. VXM supports four
times the module density of PCIe. Each VIMM has three connectionsany two connections may
fail without loss of connectivity. Similarly, any two modules in a network may fail without the loss of
data. The modules can be replaced without powering down the system or impacting user data
access.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Chapter 1: Violin 6000 Series Memory Array Overview

The Memory Array includes four vRAID Controllers. These act as the roots of the VXM networks
and can be configured for complete redundancy.Three vRAID controllers out of four can fail without
loss of connectivity to all of the VIMMs. These vRAID controllers can also be hot-swapped as
required.

vRAID
The Memory Array employs a vRAID technology to optimize key flash storage attributes including
latency under load, bandwidth, storage efficiency and reliability.
vRAID provides full RAID data protection across the array while simultaneously guaranteeing that
any read will not be blocked by an erase providing for spike-free latency under load and sustained
performance.
Unlike existing RAID 5 and RAID 6 solutions, which were designed for hard disk drives and rely on
Read-Modify-Write operations that are unsuited to flash memory, vRAID was specifically designed
to enhance flash storage systems. It uses an efficient 4+1 Parity model and writes any 4kB block
without a requirement for Read-Modify-Write.

PCIe Switching
The core of the Memory Array includes redundant PCIe switches that connect the vRAID controllers
to the external PCIe ports or the integrated Memory Gateways. PCIe switches are high bandwidth
and low latency and are an ideal complement to the VXM technology used for flash aggregation.
Unlike the PCIe used in standard servers, the PCIe switches are implemented to support hot-swap
of all modules for full redundancy. Each vRAID Controller is dual-homed to two different PCIe
switches.

Product Models
This Violin 6000 Memory Array is available in thee following models.

Model #

Configuration

6606

24 SLC VIMMs

6212

24 MLC VIMMs

6611

44 SLC VIMMs

6222

44 MLC VIMMs

6616

64 SLC VIMMs

6232

64 MLC VIMMs

Table 1.1 Violin 6000 Series Memory Array Models

10

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Series Platform Overview

Violin 6000 Series Platform Overview


This section provides an overview of the Violin 6000 Series flash Memory Array. See the Violin 6000
Series Memory Array Service Guide if you need to replace any of the system modules.

Chassis
The Memory Array is a 3U high chassis and mounts on adjustable sliding rails into equipment racks
from 19" to 36" deep.

Figure 1.1 Memory Array

The chassis itself mounts on slide-out rails. The lid can be removed without taking the system out
of service.

Caution: To avoid overheating and the generation of system alarms, the lid must not be off of
the system for more than 5 minutes when the ambient temperature is 35 C (95 F) and above.

The front panel LEDs and the Violin Web interface can indicate which units are faulty and
require replacement

All system components are hot swappable


The power supplies are serviceable from the rear

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

11

Chapter 1: Violin 6000 Series Memory Array Overview

Top View
Memory Array components are hot-swappable from the top of the chassis.

Network
Interfaces

Power
Controllers

B
VIMMs

Internal
Memory
Gateways

B
A

Array
Controllers

D
vRAID
Controllers

A1

B1

C1
Fans

A0

B0

C0

Figure 1.2 Memory Array: Top View

Seven components are accessible from the top of the chassis:

12

Fans

Six fans are arranged in two rows of three each. Each fan may be
replaced independently of others.

Array Controllers

The Array Controllers provide PCIe interfaces, switching, and


management services including Ethernet and serial CLIs.

Internal Memory
Gateways

Internal Memory Gateways are an optional feature of the Memory


Array. Two Memory Gateways are installed in each Violin 6000 Series
system.

Power Controllers

The redundant Power Controllers provide power to all controllers,


modules and fans. Each slot or socket can be individually powered up
or down to simplify remote control.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Series Platform Overview

Network Interfaces

The network interfaces provide the physical connectivity to the SAN or


LAN via Fibre Channel, iSCSI or InfiniBand Host Channel Adapter
(HCA) cards.

VIMMs

The Violin 6000 manages up to 64 VIMMs, all redundantly connected


via sub-sec paths.

vRAID Controllers

The Memory Array has four vRAID controllers for redundancy and
additional bandwidth.

Front View
The front panel contains two USB ports (A and B), the ID button, and six LEDs (AC-A, AC-B, System
Status, Port/Interface Status, VIMM Status, ID).

USB Port A

USB Port B

AC-A LED
AC-B LED
System Status

ID LED/Button
Port/Interface Status
VIMM Status

Figure 1.3 Memory Array: Front View

The USB ports are used for performing software upgrades. See Upgrading the Memory Array
Firmware on page 236. For more information on LEDs, including the ID LED/button, see System
LEDs on page 15.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

13

Chapter 1: Violin 6000 Series Memory Array Overview

Rear View

PCIe Gen2 Ports

Network Interface
Cards and Ports

A
A
B

D
A
B

n
D

n
C

n
B

n
A

A
B

ID
A
B

ID LED

Power Supply A

Power Supply B

Ground

Ethernet Ports

Serial Console
Ports

Figure 1.4 Memory Array: Rear View

Access to the system is available through the following interface ports:


Array Controller Serial
Console Ports

Serial console interface. Accesses the command-line interface


(CLI) on the system.

Array Controller Ethernet


Ports

RJ-45 10/100/1000 Ethernet Interface. Accesses the CLI on the


system via Telnet or Secure Shell (SSH) or other management
protocols.

PCIe Gen2 Ports (Two Per


Array Controller)

Each Array Controller may be connected via single or dual PCIe


x8 connections. Each PCIe interface may operate as PCIe x8
Gen2 or Gen1. The system will auto-negotiate to PCIe x4 if
required.
See the Violin 6000 Series Memory Array Installation Guide for
more information on direct-attached storage configurations.

Network Interface Cards and


Ports

The Network Interfaces provide the physical connectivity to the


SAN or LAN via up to eight 8Gbit Fibre Channel, InfiniBand or up
to eight 10GbE ports.
Memory Gateway A supports slots A and B; Memory Gateway B
supports slots C and D. See the Violin 6000 Series Memory
Array Installation Guide for more information on SAN-attached
storage configurations.

Power Supplies

14

Each power supply has two LEDs. The bottom LED is reserved
for alarms. The power supply must be replaced if the bottom
LED is solid amber. Blinking amber indicates overcurrent. Power
supplies are also hot-serviceable. For more information on
power supplies, see Power Supplies on page 16.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Series Platform Overview

The PCIe and SAN/LAN connections may be removed and reinstalled without rebooting the system.
Each interface port on the rear of the system has an associated LED indicating if it is in use or not.

System LEDs
The Violin 6000 is designed for highly reliable data center operation featuring hot-swappable
modules and no single point of failure for high availability. The VIMMs, controllers, and fans are hotserviceable from the top. The System Status and VIMM Status LEDs alert you of system and VIMMspecific alarms respectively. Service LEDs indicate which modules are faulty and enable you to
replace the modules with no downtime.
Six system LEDs are located on the front of the Memory Array.
Front LEDs
Six LEDs (AC-A, AC-B, System Status, VIMM Status, and Interface Status) are displayed on the
front of the chassis.

AC-A

AC-B

Interface Status

ID LED
Button

System Status

VIMM Status

Figure 1.5 Front Status LEDs

LED

LED State

Meaning

AC-A (USB0)

Green (solid)

Array Controller A is the master controller.

AC-B (USB1)

Green (solid)

Array Controller B is the master controller.

System Status

Green (solid)

The following system components are operating normally:


VIMM, internal Memory Gateway, HBA, vRAID Controller
Module, Array Controller Module, Fan, Front Panel Module,
Power Controller Module.

Amber (solid)

An alarm has been raised on at least one of the following


system components: VIMM, internal Memory Gateway, HBA,
vRAID Controller Module, Array Controller Module, Fan,
Front Panel Module, Power Controller Module.
A system component is not powered or not present.

Grey (solid)

The system is off or starting up.

Table 1.2 Front LED Descriptions

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

15

Chapter 1: Violin 6000 Series Memory Array Overview

LED

LED State

VIMM Status

Meaning

Green (solid)

All VIMMs are functioning correctly.

Amber (solid)

An alarm has been raised for at least one VIMM.


A VIMM is not powered or not present.

Interface Status Green (solid)

This LED is not currently functional.

ID

Identifies the Memory Array in a rack when the ID button is


pressed or when enabled by a remote operator.

Blue (solid)

Table 1.2 Front LED Descriptions (continued)

Active system alarms may be viewed by running the show alarms command on the Memory
Array. See Alarm Reference on page 369 for more information.

Power Supplies
The chassis contains two power supplies that provide an AC power source for the Memory Array.

Power Supply B

Power Supply A

Figure 1.6 Power Supplies

The 90% efficient power supplies convert the incoming AC power from individual AC feeds to DC
power used by the system. These 2000-watt c20 receptacles are redundant in their configuration.
The power supplies are hot-swappable from the rear of the chassis.

16

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Platform Components

Fans
Six fans are located in the front of the chassis and provide forced airflow ventilation for the Memory
Array. When the system is first powered on, the fans come up at high speed. Built-in temperature
sensors automatically lower the fan speed if lower temperature conditions are detected.

Figure 1.7 Fan Module

The fans are arranged in two rows of three each. Every fan may be replaced independently of one
another. Multiple fans may fail and the system will remain operational. See Figure 1.2, Memory
Array: Top View, on page 12 for fan layout and numbering. Multiple temperature sensors within the
system provide indication, alarm and automated system control functions.
The fans switch to full speed in the event of overheating conditions, high ambient temperature and
other fault conditions, including failure of a VIMM, vRAID controller module or the fans themselves.
There is roughly a 20-25C temperature rise inside the system when air is flowing freely in and out of the
system. Removal of a fan appears like a fault condition, causing all fans to switch to full speed until
the removed fan is replaced.

Caution: The Memory Array is designed to tolerate a single fan failure and work with inlet
temperatures between 0C and 35C. Unobstructed airflow is expected. Any obstruction to airflow causes
unnecessary temperature rise of components inside the system. The fans operate in high-speed mode when
the inlet temperature rises above 30C.

The fans plug into connectors inside the front of the chassis. For more information, see Replacing
a Fan in the Violin 6000 Series Memory Array Service Guide.

Violin 6000 Platform Components


The Violin 6000 is designed to deliver high system availability through a variety of fault tolerance
techniques that both reduce system outages and minimize the time and expense of operation.
Key approaches include no single point of failure, redundancy of modules, fail-in-place for flash
memory components and hot-swappable modules.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

17

Chapter 1: Violin 6000 Series Memory Array Overview

The vRAID Controllers, Array Controllers, Power Controllers, internal Memory Gateways, and
network interface cards can all be provisioned redundantly. Any single failure is automatically
handled until the faulty unit is replaced.

Memory
Gateway

Fan

VIMM

Array
Controller

vRAID
Controller

Power
Controller
Network
Interface

Power
Supply

Figure 1.8 Memory Array Components

All active components are hot-swappable and can be replaced without powering down the system.

Memory Plane
The base system has a set of boards that act as the memory plane and provide interconnection
between all modules and controllers. The memory plane is passive to ensure an extremely high
mean time between failures.

Power Controllers
The redundant Power Controllers provide power to all controllers, modules and fans. Each slot or
socket can be individually powered up or down to simplify remote control. The Power Controllers
are designed so that no single failure will impact the ability of the system to provide storage
services.

18

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Platform Components

Array Controllers
The Array Controllers provide PCI Express (PCIe) interfaces, switching and management services.
These include serial management of the system including power supplies, fans and memory
infrastructure. Command line, Web, e-mail, Syslog and SNMP interfaces are provided.
ACM Connection for vMOS-6
vMOS-6 requires that the ACMs be externally connected to each other to interconnect the internal
Memory Gateways. This cable connection enables a Non-Transparent Bridge (NTB), which allows
for high-bandwidth, low latency inter-cluster coordination between the two Memory Gateways for
effective management of thin provisioned LUNs and snapshots. For more information, see the Violin
6000 Series Memory Array Installation Guide for Release V6.0.0.

Memory Gateways
The internal Memory Gateways are integral components of the Memory Array, as they manage
connectivity to SAN systems. Block storage (vSHARE) capabilities are provided.
Violin Memory Gateways with vSHARE provide value-added functionality such as flexible Logical
Unit Number (LUN) provisioning, LUN masking and reservations, and full-speed LUNs. Each LUN
can use the full IOPS/bandwidth of the Violin 6000 platform if the other LUNs are idle.

Network Interfaces
The network interfaces provide the physical connectivity to the SAN or LAN. Eight 8Gbit Fibre
Channel, InfiniBand or eight 10GbE ports are available via four separate Network Interfaces.

vRAID Controllers
A vRAID Controller Module (VCM) manages the Violin Switched Memory Network (VXM) of VIMMs
and implements the vRAID algorithms.
vRAID Controllers enable the VIMMs to be hot swapped and automatically rebuild RAID groups on
the failure of a single VIMM.
The Memory Array has four vRAID Controllers for redundancy and additional bandwidth.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

19

Chapter 1: Violin 6000 Series Memory Array Overview

Violin Intelligent Memory Modules


The RAID-protected Violin Intelligent Memory Modules (VIMMs) provide the flash memory and
controllers required for high-performance flash storage.

Figure 1.9 VIMMs

Data is written to VIMMs using the logical block address. The flash controller on the VIMM assigns
the logical block to a physical page within the flash of the VIMM. Metadata is used to map between
logical addresses and physical addresses. Each VIMM includes:

A high-performance flash memory controller


Management processor
DRAM (e.g., 3GB) for metadata
NAND flash (e.g., 512GiB) for storage

Violin Memory Arrays achieve high sustained performance by distributing a complex task called
grooming to each VIMM and performing this task in hardware. Grooming is the process by which
flash with stale data is recovered and the flash memory is prepared to be used for new data. This
process involves reading a flash address space (block), writing the still-current data to a new flash
address space, and then erasing the previous flash address space. Erasing, reading, and writing is
a time- and resource-consuming task, which the VIMM is optimized to complete efficiently.

20

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Platform Components

VIMMs are designed to enable the scalability of large arrays of flash memory. The advantages of
this architecture are:

Grooming on each VIMM for sustained write performance


Low latency access to DRAM metadata and flash memory
Safe access and local storage of metadata for fault recovery
Integrated monitoring and management of flash memory healthbad blocks, bad die
Distributed ECC correction for maximum bandwidth
Hot-swap and redundancy management

Unlike most solid-state drives and PCIe cards, a failed flash device does not cause a VIMM to lose
data or be taken out of service. ECC and RAID protection are used to protect the data from errors.
Data is read from other VIMMs, rebuilt using the RAID algorithm, and written back to the failed
VIMM. This VIMM writes the same data to a different flash device, avoiding the need to be replaced.
The Violin 6000 also allows the VIMM to be replaced without powering the system down or
disrupting access to user data. Each VIMM can be independently powered down and powered up.
A fully populated system contains 48 data VIMMs, 12 parity VIMMs and four spare VIMMs for failure
protection. All memory modules are hot-swappable with automated rerouting that will not interrupt
data service.
The normal operating temperature range of VIMMs is 40-69C. As air flows into the Memory Array,
the first row of VIMMs preheats air passing over the second row of VIMMs, which then preheats air
flowing over the third row of VIMMs. This results in the third row of VIMMs usually operating hotter
than the first two rows. VIMMs in this third row typically record higher temperatures.
In the case of a module failure where the module must be replaced, the Memory Array does not
have to be powered down. See the Violin 6000 Series Memory Array Service Guide for VIMM
replacement instructions.

VIMM Types
The Memory Array performance depends on the type of memory used and the number of modules.
VIMMs are available in the memory types listed in the following table.

VIMM Type

VIMM Capacity

Usable Capacity Per 64 VIMMs

SLC

256 GiB

8 TiB at 65% format level

MLC

512 GiB

20.7 TiB at 84% format level

Table 1.3 Available VIMM Types

Flash-Based VIMMs
Flash systems store up to 32 TiB of raw flash storage per system. The amount of usable memory
in a system is the number of VIMMs used for data storage, which is four per RAID group (up to 64
VIMMs), multiplied by the amount of memory per module, multiplied by the usable percentage for
which the system is formatted. For example, in a fully loaded system with 64 VIMMs, the usable
memory is 48 VIMMs multiplied by 512 GiB VIMMs, multiplied by the usable percentage, such as
84%, which is 20.7 TiB.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

21

Chapter 1: Violin 6000 Series Memory Array Overview

VIMM Configurations
The Memory Array contains up to 64 flash-based VIMMs, which operate in the VIMM configurations
listed in the following table.

VIMMs

Active

Spares

24

20

44

40

64

60

Table 1.4 VIMM Configurations

vRAID Failover Protection


All configurations of the Violin 6000 Series flash Memory Array contain four vRAID Controller
Modules (VCMs): A, B, C and D. In the unlikely event of a failed VCM, its VIMMs are automatically
assigned to another VCM in the system.
RAID groups for the three VIMM configurations are as follows:

24-VIMM configuration: one RAID group per VCM.


44-VIMM configuration: two RAID groups per VCM.
64-VIMM configuration: three RAID groups per VCM.

Any outstanding writes are committed to flash on the VIMMs, with no loss of data. Once the failed
VCM is replaced and fully booted, its original VIMMs return (failback) to the replacement VCM.

Note: In a 24-VIMM configuration, VIMMs belonging to VCM A or B are available to either A or


B, but not C and D (and vice versa). In a 44- and 64-VIMM configuration, the VIMMs from the failed
VCM can failover to any of the three other VCMs.

If a RAID rebuild is in progress when a VCM fails, the rebuild process stops and then restarts once
the VCM failover process completes.
The System Status LED on the front of the Violin 6000 is amber if a VCM or other system
component is faulty. See the Violin 6000 Series Memory Array Service Guide for replacement
procedures.
Utilizing Floating Spares
Each Violin 6000 Memory Array model has four spare VIMMs. Two spares are available and ready
in the event of a VIMM failure within another RAID group. The spare VIMMs available to VCMs A
and B reside in slots 3 and 6; the spare VIMMs available to VCMs C and D reside in slots 13 and
16. See VIMM Slot Locations on page 23 for more information, along with a top-level view of where
the spares reside in each configuration.
Each VCM can support up to two VIMM failures in a single RAID group without loss protection from
a third failure.

22

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Platform Components

The VIMM Status LED on the front of the Memory Array is amber when an alarm has been raised
on a VIMM. Failed VIMMs should be replaced with new spares as soon as possible. See the Violin
6000 Series Memory Array Service Guide for replacement procedures.

VIMM Slot Locations


The Memory Array is available in three Flash VIMM configurations. Table 1.5 lists the VIMM slot
numbers used for the configuration. Use the information in the table when adding, removing, or
replacing a non-working VIMM to ensure that the VIMMs are still in their correct positions.
Figure 1.10 Figure 1.11 and Figure 1.12 show the VIMM slot locations for the three available
configurations. Numbers are printed inside the chassis below each VIMM slot for easy identification
when removing VIMMs and as a guide for the different configurations. See Replacing a VIMM in
the Violin 6000 Series Memory Array Service Guide for information on replacing an errored VIMM.

Number
of VIMMs

Slot Numbers

24

0, 1, 3, 6, 8, 9, 10, 11, 13, 16, 18, 19, 43, 44, 45, 46,
47, 48, 55, 56, 57, 58, 59, 60

44

0-19 and 40-63

64

All slots (0-63)

Spare Locations

Slots 3, 6, 13, 16

Table 1.5 VIMM Slot Locations

All Violin 6000 Series Memory Array models contain four spare VIMMs.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

23

Chapter 1: Violin 6000 Series Memory Array Overview

Figure 1.10 VIMM Slot Locations: 64-VIMM System

24

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin 6000 Platform Components

Figure 1.11 VIMM Slot Locations: 44-VIMM System

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

25

Chapter 1: Violin 6000 Series Memory Array Overview

Figure 1.12 VIMM Slot Locations: 24-VIMM System

26

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

System Configuration Options

System Configuration Options


The table below shows the various Memory Array configurations.

Item

Size / Quantity

VIMM Types

256 GB SLC, or 512 GB flash (MLC)

Number of VIMMs

24, 44 or 64

Number of vRAID Controllers

Number of Array Controllers

Number of Power Controllers

Direct-attach PCIe Ports

1, 2 or 4

Internal Memory Gateways

Network Interfaces

8 ports (Fibre Channel, 10GbE or InfiniBand)

Table 1.6 Memory Array Configurations

See the Violin 6000 Series Memory Array Installation Guide for diagrams of the configurations
supported by Memory Arrays, along with external and internal Memory Gateways.

Management Interfaces
The Memory Array is accessible through physical port interfaces on the rear of the chassis and can
be accessed remotely using a number of other interfaces, all briefly described in the following table.

Interface

Usage

Command Line (CLI) Configuration, maintenance and troubleshooting


Web

Monitoring the system, configuring LUNs and caching, etc.

SNMP

Monitoring system health in a consolidated management system

Syslog

Consolidating and correlating events from many systems

E-mail

Reporting system status on a daily basis and providing alerts on major


events

XML REST API

Enables management systems (e.g., provisioning system) to automate


functions and directly control the Arrays

Table 1.7 Management Interfaces

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

27

Chapter 1: Violin 6000 Series Memory Array Overview

Command Line Interface (CLI)


The command-line interface (CLI) is the default management interface. It is accessible via:

the rear serial console ports on the Array Controllers


the rear Ethernet ports on the Array Controllers (Telnet/SSH)

The CLI provides a full set of commands and information for configuring and operating the platform.
It uses a Cisco-style CLI interface with command completion and integrated help.
For more information, see Manage the Memory Array with the CLI on page 221 and CLI Reference
on page 287.

Violin Web Interface


The Violin Web interface provides an intuitive graphical interface for performing common
configuration and operational activities. Examples of these activities include:

managing the Memory Array


monitoring system status
monitoring system usage
viewing the front and rear panels

The most common browsers (Firefox, Internet Explorer, Safari, Chrome) are supported. For more
information, see Supported Web Browsers on page 33.

E-mail Interface
The e-mail interface allows reports and alerts to be sent through the local e-mail server to both local
administrators and Violin Memory Customer Support (or its partners). These reports can be sent
daily or when specific events occur that require attention.
For more information, see Notification on page 168 or Event Notification on page 302.

Syslog Interface
Logging of events via Syslog is supported. This includes all CLI and configuration events as well as
any internal warnings or alarms.
Using an external Syslog server, such as Splunk, allows syslog events from many Violin Memory
Arrays and hosts to be consolidated and correlated.
See Event Logging Configuration and Viewing on page 294 for more information.

28

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Management Interfaces

SNMP Traps
Simple Network Management Protocol (SNMP) enabled management systems can use SNMP to
track the status of the Memory Array. Both SNMP Traps and SNMP polling can be performed via a
generic SNMPv2 interface.
The Memory Array Management Information Base (MIB) is available for integration into 3rd party
management systems such as HP Network Node Manager and IBM Tivoli.
For more information, see SNMP Traps on page 433.

XML REST API


An XML API built on a RESTful HTTP interface is supported. This API is well suited for use by
systems that automate specific tasks such as provisioning.
Most configuration and monitoring capabilities provided by the CLI are also available by the XML
API. See Monitoring the Memory Array Using the XTree Browser Interface on page 173 for more
information.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

29

Chapter 1: Violin 6000 Series Memory Array Overview

30

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 2

Manage, Monitor, and Administer with the


Violin Web Interface

This chapter introduces the Violin Web Interface and covers the following topics:

Introduction to the Violin Web Interface on page 31


Logging In and Out of the Web Interface on page 34
Accessing and Optimizing the iPad Web Interface on page 36
Web Interface Task Maps on page 39
Home Dashboard on page 43
Manage on page 58
Monitor on page 105
Administration on page 113

Introduction to the Violin Web Interface


The Violin Web Interface is a Web-based graphical user interface (GUI) that you
can access by connecting to the master Memory Gateway.
This section covers the following topics:

535-0008-00 Rev 10

User Interface Overview on page 32


System and Browser Requirements on page 33
Abbreviations for Large Numbers on page 34
Web Interface Help on page 34

Violin 6000 Series Memory Array Users Guide

31

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

User Interface Overview


The streamlined Violin Web Interface includes the following interactive components, as shown in
Figure 2.1:

Main Menu BarDisplays clickable icons for the major functional categories: Home, Manage,
Monitor, and Administration.

Function Menu BarChanges to display the options for the currently active category. Click an
icon to display the associated page and submenu options.

Online HelpBrings up context-sensitive help for the currently active page.

CopyrightDisplays the current copyright information.

Software VersionDisplays the version of the software currently running on the Memory
Gateways.

SessionShows the user name of the current user at the right, and exits the session when
clicked.
Board Status TabExpands to show board status information when clicked. Click the tab
again to hide the board status page.

Figure 2.1 Violin Web Interface Overview


Main Menu Bar

Copyright

32

Function Menu Bar

Board Status Tab

Violin 6000 Series Memory Array Users Guide

Online Help

Session

Software Version

535-0008-00 Rev 10

Introduction to the Violin Web Interface

System and Browser Requirements


This section provides information on the Violin Web Interface requirements for browsers, display
resolution, Adobe Flash Player, JavaScript, and cookies.

Supported Web Browsers


The following table lists the supported browsers and versions for the Violin Web Interface.
Operating System

Linux

Supported Browsers

Mozilla Firefox 4 and above


Google Chrome 11 and above

Mac

Mozilla Firefox 4 and above


Apple Safari 4 and above
Google Chrome 11 and above

Windows

Windows Internet Explorer 9 and above


Mozilla Firefox 4 and above
Apple Safari 4 and above
Google Chrome 11 and above

Table 2.1 Supported Web Browsers

Note: For Windows Internet Explorer, Compatibility Mode should be turned OFF.

The following table lists the recommended software and settings for optimum performance of the
Violin Web Interface.
Recommendation

Description

Display resolution

The minimum recommended display resolution for the


Violin Web Interface is 1024 by 768 pixels.

JavaScript

JavaScript must be enabled for the Violin Web Interface.

Adobe Flash Player

Adobe Flash Player version 8 (or above) is required for


viewing charts in the Violin Web Interface.

Cookies

Enable cookies for login and session management.


Cookies are also used to store dashboard page settings.

Table 2.2 Recommended for the Violin Web Interface

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

33

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Abbreviations for Large Numbers


The following abbreviations are used for large numbers throughout the Violin Web Interface:
Abbreviation

Meaning

bytes

KB

kilobytes

MB

megabytes

GB

gigabytes

TB

terabytes

PB

petabytes

Table 2.3 Large Number Abbreviations

For E (exabytes), Z (zettabytes), and Y (yottabytes), a single letter omitting the B is used for units
other than bytes, or to save space in a display.

Web Interface Help


There are two types of available help:

Context-sensitive online help for any page in the Web InterfaceClick the Page Help icon in
the upper right corner of the Web Interface window.

A full PDF version of this guideSelect Administration > Information > Documentation and
click the PDF link.

For more information on available Help, see Information on page 140.

Logging In and Out of the Web Interface


This section demonstrates how to access the Violin Web Interface and then log in to a Memory
Gateway. The role assigned to your user account specifies the privileges you have and the tasks
you can perform after you log in. The pages that are available to you depend on your user role.
Role

Description

Admin

The Admin user can access the Web Interface pages for
managing, monitoring, and administrating.

Monitor

Users with monitor privileges can only access pages for


monitoring overall status and media status.

Table 2.4 User Roles

34

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Logging In and Out of the Web Interface

Logging In to the Web Interface


You access the Violin Web Interface through a Web browser. For more information, see Supported
Web Browsers on page 33.
To access the Violin Web Interface and log in, do the following:
1. Open a Web browser, as described in Supported Web Browsers on page 33.
2. In the browser URL field, enter one of the following:

http://<master_gateway_ip_address>

http://<master_gateway_hostname>

http://<cluster_node_ip_address>

http://<cluster_node_hostname>

Note: If you specify the IP address or hostname of a cluster node (other than the master),
the connection is automatically redirected to the master Memory Gateway.

The Web Interface log in page appears.


3. Enter a valid username and password in the text fields of the Login page, as shown in the

following example.

4. Click Login. The Dashboard page appears.


5. Continue with Customizing the Dashboard on page 44.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

35

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Logging Out of the Web Interface


You can log out of the cluster from any page in the Violin Web Interface.
To log out of your Web Interface session, do the following:
1. From any page in the Web Interface, go to the upper right hand corner.
2. Click the session icon, as shown in the following example.

The Logout page appears acknowledging that you successfully logged out.

3. To log back in, click Login Again and re-enter your credentials.

Accessing and Optimizing the iPad Web Interface


The iPad Web Interface is optimized for monitoring the Memory Gateway and cluster nodes. This
section demonstrates how to launch the Violin Web Interface on your iPad, and then optimize the
display. The graphical user interface (GUI) focuses strictly on monitoring with the following available
pages:

36

ClusterFor more information, see Manage on page 58.


MonitoringFor more information, see Manage LUN Groups on page 76
LUN MonitoringFor more information, see Monitor LUNs on page 110.
LUN StatusFor more information, see LUN Status on page 51.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Accessing and Optimizing the iPad Web Interface

Launching the iPad Web Interface


This section demonstrates how to launch the Violin Web Interface on an iPad.
To launch the Web Interface on your iPad, do the following:
1. Open a Safari browser window.
2. In the browser URL field, enter one of the following:

http://<master_gateway_ip_address>

http://<master_gateway_hostname>

http://<cluster_node_ip_address>

http://<cluster_node_hostname>

Note: If you specify the IP address or hostname of a cluster node (other than the master),
the connection is automatically redirected to the Master Gateway.

The Web Interface log in page appears.


3. Enter a valid username and password in the text fields of the Login page, as shown in the

following example.

4. Click Login. The Web Interface dashboard appears.


5. (Optional) Streamline the dashboard view by following the instructions for Optimizing the iPad

Web Interface on page 37.

Optimizing the iPad Web Interface


You can optimize the dashboard view for the iPad and add a launch shortcut icon to your home
screen in one easy task.
To optimize the iPad Web Interface display and create a shortcut, do the following:
1. Complete the steps as described in Launching the iPad Web Interface on page 37.
2. Click the Add Bookmark icon at the top of the browser window.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

37

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Choose

Add to Home Screen.

4. Enter a title for the shortcut icon, and click Add. A shortcut icon appears on your home screen.
5. Close the Web Interface session, then click the home screen icon to launch the optimized

version.
6. Continue with Customizing the Dashboard on page 44.

38

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Web Interface Task Maps

Web Interface Task Maps


The following tables provide an overview of the Web Interface main menu options, their functions,
and the tasks you perform:

Home on page 39
Manage on page 40
Monitor on page 41
Administration on page 42

Home
Function

Dashboard
System View

LUN Status
Front and Rear Panel

Tasks

Customizing the Dashboard on page 44

Viewing Cluster Status on page 49

Viewing Container Status on page 51

Viewing Rear Panel Information on page 54

Customizing Gadgets on page 47


Viewing VIMM Status on page 49
Viewing VIMMs by RAID Group or Category on page 50
Viewing LUN Status on page 52
Viewing Front Panel Information on page 56
Remotely Activating the ID LED of a Memory Array on page
56

Table 2.5 Home Functions and Tasks

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

39

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Manage
vMOS-6 provides the following Manage features and functions:

Manage LUNs, Initiators, Targets, and LUN Groups available on v5.x and v6.x platforms.
vMOS Data Management available only on v6.x platforms.

Manage LUNs, Initiators, Targets, and LUN Groups


Function

Manage LUNs

Manage Initiators

Manage Targets
Manage LUN Groups

Tasks

Searching, Sorting, and Performing LUN Operations on page


60

Creating and Deleting LUNs on page 62

Creating and Deleting Initiator Groups on page 69

Viewing Target Status on page 75

Viewing LUN Group Information on page 76

Editing LUNs on page 64


Exporting LUNs, Initiator Groups, and Initiators on page 67
Adding or Deleting Initiators from a Group on page 71
Creating, Modifying, and Deleting Nested Initiator Groups on
page 72
Managing Transport Protocols on page 75
Creating and Deleting LUN Groups on page 77
Modifying LUN Groups on page 78
Exporting and Unexporting LUNs in a LUN Group on page 79

Table 2.6 Manage LUNs, Initiators, Targets, and LUN Groups

40

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Web Interface Task Maps

vMOS Data Management


Function

Thin Provision LUNs

Manage Snapshots

Space Management

Tasks

Creating and Deleting Thin Provision LUNs on page 81

Working with Snapshot Management on page 84

Creating LUN Group Snapshots on page 92

Rolling Back a LUN or LUN Group from a Snapshot on page


98

Deleting LUN and LUN Group Snapshots on page 99

Managing Array Space Usage on page 102

Modifying Thin Provision LUNs on page 83


Exporting and Unexporting Thin Provision LUNs on page 83
Creating Schedules on page 85
Modifying and Deleting Schedules on page 88
Viewing Schedules on page 90
To view a list of exported snapshots, do the following: on
page 90
Editing LUN and LUN Group Snapshots on page 95
Exporting LUN and LUN Group Snapshots on page 96
Removing Exports from LUN and LUN Group Snapshots on
page 98

Viewing Schedule Calendars on page 100


Managing Container Space Usage on page 103
Managing LUN Space Usage on page 104

Table 2.7 vMOS Data Management

Monitor
Function

Monitor Overview
Monitor LUNs
Monitor LUN Groups
Monitor Targets

Tasks

Customizing the Output Display on page 106

Searching for a LUN on page 110

Searching for a LUN Group on page 111

Selecting a Target Port on page 112

Monitoring Container, LUN, and Port Data on page 108


Analyzing Data for a LUN on page 110
Analyzing LUN Group Data on page 111
Analyzing Data for a Target on page 112

Table 2.8 Monitor Functions and Tasks

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

41

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Administration

Function

Cluster Admin

Tasks

Viewing Software Version and Boot Images on page 114

Changing and Saving Configuration Files on page 115

Managing User Accounts on page 119

Viewing Current Network Settings on page 122

Specifying Call Home Settings on page 128

Tools

Adding and Removing Feature Licenses on page 139

Information

Accessing Context-Sensitive Help on page 141

Network

Notification

Rebooting or Shutting Down a Memory Gateway on page


114
Viewing Gateway Node Details on page 115
Viewing Alerts on page 116
Searching for and Viewing Logs on page 117
Generating and Downloading Combined Log Files on page
118
Viewing Node Versions on page 122
Changing the Cluster Management Address on page 123
Modifying Global Default Gateway Settings on page 123
Viewing and Modifying DNS Settings on page 124
Viewing and Modifying NTP Settings on page 125
Viewing and Modifying Web Admin Settings on page 126
Viewing Gateway Node Details on page 115
Managing E-mail Settings on page 129
Managing E-mail Notifications on page 132
Managing SNMP Settings on page 134
Managing SNMP Traps on page 136

Accessing a Full PDF Version of this Guide on page 141


Viewing System, License, and Copyright Information on
page 142

Table 2.9 Administration Functions and Tasks

42

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

Home Dashboard
The Home dashboard is a landing page that provides a selection of metrics for tracking system
health and performance. The customizable dashboard allows you to easily add, remove, and
rearrange the gadgets for at-a-glance system assessment. Likewise, the System View page
provides a visual overview of Violin Cluster Status for health and performance. The LUN Status
page provides an easy access list of all LUNs and their statistics, while the Front and Rear Panel
page

Note: The dashboard supports Internet Explorer 9 (IE 9) and higher. If you are using an earlier

version of Internet Explorer, the dashboard does not display. For more information, see Supported
Web Browsers on page 33.

The following table provides a list of tasks and their associated functions. Click a hyperlink to jump
directly to the task.
Function

Dashboard

System View

LUN Status
Front and Rear Panel

Tasks

Customizing the Dashboard on page 44

System View on page 48

Viewing Container Status on page 51

Viewing Rear Panel Information on page 54

Customizing Gadgets on page 47


Viewing Cluster Status on page 49
Viewing VIMM Status on page 49
Viewing VIMMs by RAID Group or Category on page 50
Viewing LUN Status on page 52
Viewing VIMM Status on page 49
Viewing VIMMs by RAID Group or Category on page 50
Viewing LUN Status on page 52
Viewing Front Panel Information on page 56
Remotely Activating the ID LED of a Memory Array on page 56

Dashboard
You can select the gadgets that appear on the landing page and arrange them to maximize
efficiency for your style of work. You can populate your dashboard with any of the following gadgets.

BandwidthShows reads and writes performed in Megabytes per second (MB/s). You can
display this information at the container level or LUN level. Click the settings icon in the upper
right corner to customize the display.

IOPSShows read, write, and total statistics in real-time, per hour, or per day values. Click
the settings icon in the upper right corner to customize the display. You can display this
information at the container level or LUN level.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

43

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

LatencyShows read, write, and total latency for a container or LUN in real-time, per hour, or
per day values. Click the settings icon in the upper right corner to customize the display.

Live StatsShows real-time values for bandwidth, IOPS and latency on a LUN level or
container level. Click the settings icon in the upper right corner to customize the display.

IndicatorsShows the LED, temperature and fan status for a container on an array. Click the
settings icon in the upper right corner to customize the display.

Flash/VIMM StatusShows the VIMM status (number active, down, etc.) and the remaining
length of flash life for a container on an array. Click the settings icon in the upper right corner to
customize the display.

Container StatusShows the amount of space used and available on the container, the
number of LUNs, and provides an HA status indicator for a container on an array. Click the
settings icon in the upper right corner to customize the display.

Port StatsShows the Received and Sent statistics for InfiniBand and Fibre Channel ports in
real-time, per hour, or per day values for a port within a container. Click the settings icon in the
upper right corner to customize the display.

Snapshots SummaryShows the number of snapshots, the space used, and the percentage
of total space consumed by snapshots. A list of the days schedules for snapshots is shown.
Click the arrow (>) on the right to jump to the Snapshot Management page and view detailed
information on the selected schedule. This gadget is only available with vMOS-6.

Note: For instructions on how to change the information shown on a gadget, see Customizing

Gadgets on page 47.

Customizing the Dashboard


You can customize the dashboard by adding, removing, and rearranging the placement of the
gadgets.
To customize the dashboard and view data, do the following:
1. Log in to the cluster, as described in Logging In and Out of the Web Interface on page 34. The

default dashboard appears.


2. Click the plus icon (+) in the lower right corner allows to access the toolbar.
Note: If you are not able to view the dashboard, you may need to upgrade your browser. For
more information, see Supported Web Browsers on page 33.

44

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

The toolbar appears at the bottom of the window, as shown in the following example.

3. Click an icon on the toolbar to add it to the dashboard, then select and drag icons to rearrange.

Click the X icon in the upper right corner of the gadget to remove it from the dashboard
display.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

45

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

4. To display detailed data for a gadget, move your cursor over an area in the graph. A pop-up

window appears, as shown in the following example.

5. To hide the toolbar, click the X icon in the lower right corner of the window.

46

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

Customizing Gadgets
Each dashboard gadgets allows you to customize the display.
To customize the information shown on a gadget, do the following:
1. Open the gadget on the dashboard, as described in Customizing the Dashboard on page 44.
2. Click the Settings icon in the upper right corner of the gadget, as shown circled in red in the

following example.

The gadget flips over to show a back panel with options appropriate for that gadget.
3. Make the desired selections and click Save to apply, or Cancel to revert to the previous

settings. The gadget flips back to the front panel display.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

47

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

System View
The System View tab brings up the Violin Cluster Status page, displaying information depicting the
health and performance of both Memory Gateways. Easy to read graphics allow you to quickly
assess if there is a problem with the system. An expandable Board Status page provides an at-aglance view of VIMM statistics.

Note: A status message appears in the header when a RAID rebuild is in progress

The Violin Cluster Status page provides the following information:

Master Memory Gateway Statistics

DRAM and flash allocation


Port ID
Total flash memory
Performance data: read and write rates, DMA active, and pending
Activity graph (reads and writes) for this Memory Gateway
Network data: rates of client and server activity
System drive read and write rates
Additional Memory Gateway statistics: same data as for master
Memory Array Statistics

48

Number of VIMMs in each state (active, spare, booting, etc.)


Activity graph (reads and writes) color-coded for each Memory Gateway
Temperatures of ambient air, controller, and VIMMs (for each Memory Gateway)
Fan status indicators
Estimated lifetime of flash drives
Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

Status lights: Alarm, Status, and Ready


Network Stats
Client- and server-side statistics.
Measure the throughput of all operations including hits, misses, and write-throughs.

Viewing Cluster Status


The System View tab brings up the Violin Cluster Status page.
To view cluster statistics, do the following:
1. Select

Home > System View. The Violin Cluster Status page appears.

2. Check alarm status at the right side of the panel.


3. Verify the life span of the flash in the Flash Lifetime panel.
4. Check the health of the Fans. A failed fan displays as red. A problematic fan displays as

yellow. A green box with a white check mark represents a healthy, fully functioning fan.
5. Check the VIMM, Controller, and ambient temperatures. Green is healthy, yellow a caution,

and red a warning.


6. View a high-level synopsis of the flash VIMM statistics in the far left panel.

Viewing VIMM Status


You can expand the Violin Cluster Status page to view board-level information about a Memory
Array. The Board Status page shows a color-coded array of VIMMs with indicator boxes for alarm
status, temperature, and remaining lifetime.You can move your cursor over a VIMM to view a
detailed status.
To view VIMM statistics, do the following:
1. Select

Home > System View, to display the Violin Cluster Status page.

2. Click the

535-0008-00 Rev 10

Show Board Status tab.

Violin 6000 Series Memory Array Users Guide

49

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. For general status information about specific VIMMs, move the cursor over the VIMM number.
4. To view Alarm, Temp, or Lifetime information, move the cursor over the appropriate indicator

box.

Viewing VIMMs by RAID Group or Category


You can selectively display RAID group information on the Board Status page, as well as category
details.
To view RAID group and category board-level information, do the following:
1. Select

Home > System View to display the Violin Cluster Status page.

2. Click the

Show Board Status tab.

3. To view VIMMs by RAID group, select a RAID Group number at the top-center of the Board

Status panel.
Selecting a RAID Group highlights the VIMMs belonging to that RAID Group in the Board Status
panel, as shown in the following example.

50

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

4. To view failed VIMMs, select the

Failed link in the Show area of the Board Status panel.

A failed VIMM appears orange, as shown in the following example.

5. To view booting VIMMs, select the

Booting link in the Show area of the Board Status panel.

6. To view admin down VIMMs, select the Admin Down link in the Show area of the Board Status

panel.
7. To view spare VIMMs, select the

Spares link in the Show area of the Board Status panel.

LUN Status
The LUN Status page allows you to view information about the LUNs within a container. Every LUN
is created within a storage container (array).

Viewing Container Status


The LUN Status page provides easy access to information about the container in an array. At-aglance information includes the container name, its address, and the number of LUNs within the
container. The following task demonstrates how to view more detailed information.
To view LUN and container status, do the following:
1. Select

Home > LUN Status. The LUN Status page appears.

2. Select the

535-0008-00 Rev 10

Container icon to view real-time statistics about the container.

Violin 6000 Series Memory Array Users Guide

51

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Select the LUN icon to view real-time statistics about the LUN.
4. Click the container name to view detailed information about the container and the LUNs it

contains. The LUN Management page appears, with the container information in the upper left
panel.

Note: For more information on managing LUNs, see "Manage LUNs" on page 59.

Viewing LUN Status


The LUN Status page provides easy access to information about the container in an array. At-aglance information includes the LUN name, size, and the number of active sessions. The following
task demonstrates how to view more detailed information.
To view LUN and container status, do the following:
1. Select

Home > LUN Status. The LUN Status page appears.

2. Select a

52

LUN icon to view real-time statistics about the container.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

3. Select the LUN icon next to the name to view real-time statistics about that LUN.
4. Click the LUN name link to view detailed information about that LUN.

The LUN Management page appears, with the selected LUN highlighted in the LUN panel on
the left. In the top right panel, details of the selected LUN are shown.

Note: For more information on managing LUNs, see Manage LUNs on page 59.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

53

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Front and Rear Panel


The Front and Rear Panel page provides a real-time view of the active ports (shown in green) that
are currently used by the system (Rear Panel View) and the LEDs on the front of the Memory Array
(Front Panel View). The port-specific information is updated automatically every 30 seconds.
You can also remotely activate the ID LED from both the front- and rear-panel views, which is helpful
when you need to identify a particular Memory Array in an equipment rack.
Viewing Rear Panel Information
You can view information about each active port, from the port name to specific information about
the port, including details about the Memory Gateways, NIC ports, Ethernet ports and power
supplies.
To view the rear panel of the array, do the following:
1. Select

Home > Front and Rear Panel.

The Front and Rear Panel page displays, with an image of the back of the Memory Array shown
at the top.

2. Rest the mouse pointer over a port (power supply, Ethernet connector, Network Interface port)

on the rear panel image to identify the connector.


A ToolTip shows the name and type of port selected.
3. Click the image to show more detailed information and real-time statistics.
Note: The PCIe ports are used for attaching the Memory Array directly to a host machine without

going through the Memory Gateways (NIC ports). Since the Web interface is run from the Memory
Gateways, PCIe port information is unavailable in the Web interface.

54

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

The active port area selected is displayed in the lower left panel of the page. The following
example shows the lower left and right panels for an InfiniBand configuration.

4. If specific port information is available, click a port in the lower left panel to view the

information in detail. Specific information is available for the following ports:

Power Supplies A and B: The power supplys status, and current voltage and amps are
shown.

Ethernet Ports A and B: View the Memory Gateway Management IP address; host names
and IP addresses of the Master and Standby Gateways; the ACM Management IP address;
host names and IP addresses of the Master and Standby ACMs.

Network Interface Ports: View the Memory Gateway that manages the port (mg-a or mg-b)
and the ports state and speed. Also available is an Port Stats gadget, which shows the
Received and Sent statistics for InfiniBand and Fibre Channel ports in real-time, per hour, or
per day values for a port within a container.
If you select the active Network Interface Ports area on the Rear Panel image, the lower left
panel that displays shows the slot and port numbers for the cards installed in the system,
along with the representative CLI values for each port.

Note: The physical port numbers on the network interface cards (NICs) are not aligned with their
corresponding port names in the CLI. For example, in a Fibre Channel environment, NIC port A1 is
shown as hba-a1 in the CLI, and NIC port C1 is also shown as hba-a1 in the CLI. This is because
the two Memory Gateways, shown with their CLI representations in the lower left panel (mg-a and
mg-b), separately manage two NICs each. To verify the actual port numbering shown in the CLI, log
in to the Memory Gateway master and then run the show targets command.

To switch the view to the front panel, Click the Front Panel button in the upper right of the Rear
Panel View.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

55

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Viewing Front Panel Information


The Front Panel view shows the front of the Memory Array and its USB ports and LEDs. The front
panel contains two USB ports (A and B), the ID button, and six LEDs (AC-A, AC-B, System Status,
VIMM Status, Port/Interface Status, ID).
To view the front panel of the array, do the following:
1. Select

Home > Front and Rear Panel.

The Front and Rear Panel page displays, with an image of the back of the Memory Array shown
at the top.
2. Click the Front Panel button in the upper right of the Rear Panel View image to switch the

view to the front panel.


The front panel image displays, with the ports and LEDs highlighted on the front panel image.
A zoomed image displays below the front panel.

3. Rest the mouse pointer over a USB port or LED to view the name of the port or LED. The

following ports and LEDs are viewable:

USB ports: The USB ports are used for performing software upgrades.

AC-A and AC-B LEDs: The Master ACM (AC-A or AC-B) is shown in green. Use its USB
port when upgrading the software from a USB drive.

SYS (System Status) LED: This LED is green when all system modules are operating
normally, amber when an alarm has been raised, and grey when the Memory Array is off
or starting up.

VIMM LED: This LED is green when all VIMMs are functioning correctly, and amber when
an alarm has been raised for at least one VIMM, or when a VIMM is not powered or
present.

ID LED/Button: This LED is blue when the button has been pressed or when it has been
activated remotely using the Violin Web interface. See Remotely Activating the ID LED of
a Memory Array on page 56.

To switch the view to the rear panel, Click the Rear Panel button in the upper right of the Front Panel
View.
Remotely Activating the ID LED of a Memory Array
The ID LED can be remotely activated from both the front- and rear-panel views. The ID LED is used
to locate a particular Memory Array in an equipment rack, which is helpful when a Memory Array
needs attention and the equipment rack holds more than one Array.

56

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Home Dashboard

To activate the ID LED from the Rear Panel View, do the following:
1. Select

Home > Front and Rear Panel. The Front and Rear Panel page appears.

2. Click the lower left of the Rear Panel image to remotely activate the ID LED of this Memory

Array.

The LED is activated when the LED is blue on the rear panel image.
3. Click the blue LED to turn off the ID LED.

To activate the ID LED from the Front Panel View, do the following:
1. Select

Home > Front and Rear Panel. The Front and Rear Panel page appears.

2. Click the Front Panel button in the upper right of the Rear Panel View image to switch the

view to the front panel.


3. Click the ID button to remotely activate the ID LED of this Memory Array.

The LED is activated when the LED is blue on the front panel image.
4. Click the blue ID button to turn off the ID LED.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

57

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Manage
You can manage LUNs, initiators, targets, and LUN groups, as well as utilizing data management
functionality. The following tables provide a list of tasks and their associated functions. Click a
hyperlink to jump directly to the task.
vMOS-6 provides the following Manage features and functions:

Manage LUNs, Initiators, Targets, and LUN Groups available on v5.x and v6.x platforms.
vMOS Data Management available only on v6.x platforms.

Manage LUNs, Initiators, Targets, and LUN Groups


Function

Manage LUNs

Manage Initiators

Manage Targets
Manage LUN Groups

Tasks

Searching, Sorting, and Performing LUN Operations on page


60

Creating and Deleting LUNs on page 62

Creating and Deleting Initiator Groups on page 69

Viewing Target Status on page 75

Viewing LUN Group Information on page 76

Editing LUNs on page 64


Exporting LUNs, Initiator Groups, and Initiators on page 67
Adding or Deleting Initiators from a Group on page 71
Creating, Modifying, and Deleting Nested Initiator Groups on
page 72
Managing Transport Protocols on page 75
Creating and Deleting LUN Groups on page 77
Modifying LUN Groups on page 78
Exporting and Unexporting LUNs in a LUN Group on page 79

Table 2.10 Manage Functions and Tasks

58

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

vMOS Data Management


Function

Thin Provision LUNs

Manage Snapshots

Space Management

Tasks

Creating and Deleting Thin Provision LUNs on page 81

Working with Snapshot Management on page 84

Creating LUN Group Snapshots on page 92

Rolling Back a LUN or LUN Group from a Snapshot on page


98

Deleting LUN and LUN Group Snapshots on page 99

Managing Array Space Usage on page 102

Modifying Thin Provision LUNs on page 83


Exporting and Unexporting Thin Provision LUNs on page 83
Creating Schedules on page 85
Modifying and Deleting Schedules on page 88
Viewing Schedules on page 90
To view a list of exported snapshots, do the following: on
page 90
Editing LUN and LUN Group Snapshots on page 95
Exporting LUN and LUN Group Snapshots on page 96
Removing Exports from LUN and LUN Group Snapshots on
page 98

Viewing Schedule Calendars on page 100


Managing Container Space Usage on page 103
Managing LUN Space Usage on page 104

Table 2.11 Data Management Functions and Tasks

Manage LUNs
The following panels comprise the LUN Management Page:

ContainerDisplays the container name, the percentage of space used, the number of LUNs
in the container, Gateway A and B names, HA status, active online ports, and a bar graph
depicting container space usage.

LUNsShows information about the LUNs within the selected container, including name,
serial number (exported LUNs only), provisioned size, allocated size, and total number of
snapshots for the LUN, if any. You can create LUNs, search for a LUN, reorder the list, and
perform actions on LUNs by selecting one or more check boxes. When you highlight a LUN
(selecting it so that it changes color), detailed information about the LUN appears in a panel on
the upper right.
Note: Only one LUN can be highlighted at a time.

Highlighted LUNShows detailed information on the highlighted LUN (in the LUNs panel),
including if it is read-only, and/or has Port A or Port B offline. You can view and add or remove
Exports for a selected LUN.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

59

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Caution: You can change the online status of Port A and Port B (Gateway A and Gateway B) in

the highlighted LUN information panel. However, this is generally not recommended.

Searching, Sorting, and Performing LUN Operations


A search (filter) operation is performed across all columns simultaneously to return the desired
results. Sorting applies to the selected column. However, the sorting changes the order of all the
records (rows/columns).

Note: You can select multiple LUNs and perform an operation on them simultaneously. A check

mark in the box next to the LUN name shows that a LUN is selected.

To search for a LUN and customize the display, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. To search for a LUN, enter a string in the Search field. A list of LUNs that contain the string

appear in the LUNs panel.

3. Select a LUN to highlight it and view details in the upper right.


4. Click the down arrow in the header to view the list in descending order, by name (as shown in

the following example), serial number (for exported LUNs), provisioned size, allocated size, or
number of snapshots. Click the up arrow in any of the columns to view the list in ascending
order (the default display).

60

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

5. To change the number of entries shown, choose one of the following from the Show entries

drop-down list: 10, 25, 50, or 100. The default is 10.


To perform operations on one or more LUNs, do the following:
1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. In the LUNs panel, select the check boxes next to the desired LUNs. A check mark appears in

the box next to the name.


Note: A highlighted LUN that is not selected is not included in an operation. Performing an
operation on multiple LUNs simultaneously may take some time.
3. Select one of the following options to apply the operation to all checked LUNs:

Remove Checked LUN(s)

Remove Exports for Checked LUN(s)


Export Checked LUN(s)

In the following example, Export Checked LUNs is selected. For more information on how to
export LUNs, see Exporting LUNs, Initiator Groups, and Initiators on page 67.

The highlighted LUN in this example


does not show a check mark in its check
box. Therefore, it is not included in the
operation.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

61

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Creating and Deleting LUNs


This section walks you through the process of creating a LUN. Every LUN is created within a
container. The size and amount of used space in the container may restrict the number and size of
the LUNs created within the container.
Prerequisites

Verify the block size that is acceptable for the clients (initiators) on your network.
Disk storage systems previously assumed a 512-byte sector or block size as the unit to store data.
Newer devices, such as Violin Memory Arrays, have a native storage unit sized at 4096 bytes but
can also emulate 512 bytes. Not all client operating systems are able to understand accessing
anything other than a 512-byte based disk drive.
To be safe, choose a 512 block size if you are not sure what type of clients will be connected to an
exported LUN. For example, RHEL5 and Windows Server 2003 are not be able to properly use a
4096 block-sized disk, and this selection leads to unexpected behavior. For newer operating
systems which support a 4096 block size, the emulation layer can be avoided to provide optimal
performance.

Note: VMware ESX 4.1 does not support 4K block size. For VMware ESX 4.1, use a 512 byte

block size LUN, which is supported.

To create a LUN, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. In the LUNs panel, click the

Create New LUNs icon.

The Create LUN window appears.


3. Specify the following:

The number of LUNs in the # LUNs to Make field.


The name of the LUNs in the LUN Name field.

Note: When creating more than one LUN, the name of each new LUN is appended with a number

beginning with 1, and continuing through the number of specified LUNs. This ensures that each
LUN has a unique name. Creating a large number of LUNs at once (50 LUNs or more), the
operation may take some time.

62

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. Define the size of a LUN, in one of the following ways:

To define the size of the LUN based on the space available, select Use all available

space equally.

To manually define the size of each LUN, select Specific size per LUN and enter the size
in GB.

Note: The size of the LUNs may be restricted by the space available in the container.
5. Select one of the following block sizes for the LUN:

512 bytes.

4096 bytes.

Caution: Not all systems can handle 4096-byte blocks. Use 512-byte blocks, if you are not sure what type
of clients will be connected to an exported LUN.
6. Specify the following settings, as appropriate:

Read-onlySets the LUNs as read-only.

Thin ProvisioningCreates a thin LUN. For more information, see Thin Provisioning on
page 260.

NACAProvides a performance enhancement for IBM AIX systems. For more


information, see AIX Compatibility NACA Bit Support on page 179.

7. Click

OK. The specified LUNs are created in the container.

To delete a LUN, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. Search for the LUN, as described in Searching, Sorting, and Performing LUN Operations on

page 60.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

63

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Select the LUN so that it highlights, then remove the LUN exports in the following way:
a. In the Exports panel on the right, click the check boxes for each of the exports associated

with the LUN.


b. Click the

Unexport icon. Then click OK in the pop-up dialog that appears to confirm the

action.
Note: All exports must be removed before the LUN can be deleted.

4. Click the check box of the LUN you want to delete. A check mark appears.
Note: The check box must display a check mark for the LUN to be deleted. Simply
highlighting the selection does not include it in the operation.
5. In the LUNs panel, click the Delete icon. Then click

OK in the pop-up dialog that appears to

confirm the action.

Editing LUNs
You can change the name of an existing LUN and increase the size of the logical volume.
Decreasing the size of an existing LUN is not supported.
For a smaller size LUN, create a new LUN of the desired size. For more information, see Creating
and Deleting LUNs on page 62.

WARNING! Existing file systems on the client side are not extended as part of the resize
operation. File systems must be extended from the client initiator. Not all client systems will detect
the LUN size change until they reboot.

To modify access to an existing LUN, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. Select a LUN so that it highlights. Details appear in the top-right LUN information panel.

64

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

3. In the LUN information panel make the following selections, as necessary:

ALUAEnables or disables Asymmetric Logical Unit Access. For more information, see
Using Asymmetric Logical Unit Access (ALUA) on page 66.
Read OnlyActivating read-only access on an existing LUN can cause data loss for
connected clients with cached data.
Online PortsUnchecking these options takes the LUN offline for the respective Memory
Gateway nodes.
NACAprovides a performance enhancement for IBM AIX systems. For more
information, see AIX Compatibility NACA Bit Support on page 179.
Caution: After the NACA option is enabled, you should only export the LUN to an AIX host.

To change the name of an existing LUN, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. Select the LUN so that it highlights.


Note: All exports should be removed before changing the name of the LUN.
3. Remove any LUN exports in the following way:
a. In the Exports panel on the right, click the check boxes for each of the exports associated

with the LUN.


b. Click the Delete icon. Then click OK in the pop-up dialog that appears to confirm the
action.
4. Click the

Edit LUN icon.

5. In the Edit LUN dialog, click Rename LUN.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

65

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

6. Enter the new name in the

New LUN Name text box, and click OK.

The new name is applied and appears in the LUNs panel.


To increase the size of an existing LUN, do the following:
1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. Select the LUN so that it highlights, then click the


3. In the Edit LUN dialog, click

Edit LUN icon.

Resize LUN.

Note: You can increase the size of a LUN. However, decreasing the size is not allowed.
4. Enter the

5. Click

New LUN size (GB) in the text box.

OK.

The LUN size is increased and appears in the LUNs panel.

Using Asymmetric Logical Unit Access (ALUA)


Asymmetric Logical Unit Access (ALUA) is a multipathing technology that enhances availability
through efficient data access. When enabled, ALUA communicates to clients when certain paths to
data become unavailable. This allows the client host to switch to available paths and perform
necessary actions efficiently.
For information on using ALUA for data management, see Optimizing Performance with ALUA on
page 257.

66

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Note: ALUA is not enabled by default. For optimum performance, it is recommended that you

enable ALUA on thin provisioned LUNs and LUNs with snapshots.

To enable ALUA, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. In the LUNs panel, highlight the LUN for which you want to enable ALUA. Information about

the highlighted LUN appears in the top-right panel.


Note: You do not need to select the LUN check box.
3. In the LUN information panel, click the ALUA check box.

4. Click OK in the pop-up dialog that appears, to confirm the action.


5. Repeat the process to enable ALUA on other LUNs in the container.

Exporting LUNs, Initiator Groups, and Initiators


This section demonstrates how to export LUNs, initiator groups, and initiators. Be aware of the
following guidelines for exporting LUNs. For information on nested initiator groups, see Creating,
Modifying, and Deleting Nested Initiator Groups on page 72 and Managing Nested Initiator Groups
on page 213.

Changing the LUN ID after a LUN has been exported is not recommended, as traffic is
disrupted during the change. The effect on the client depends on how it handles LUN ID
changes.

You can export LUNs to different igroups on different targets, even when they have initiators in
common. This is an enhancement for vMOS-6.0 only.

Note: After you create an export for a specific iSCSI initiator using a specific target, the initiator

is excluded from seeing LUN exports from that target to all initiators.

To export LUNs, do the following:


1. Select

Manage > Manage LUNs. The LUN Management page appears.

2. In the LUNs panel, select the check box next to the LUN(s) you want to export.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

67

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Note: The check box next to the LUN name must show a check mark for the LUN to be
included in the export.
3. Click Export Checked LUNs. The Add Export dialog box appears.

4. Do one of the following to select the initiators to which the LUNs will be exported.

To export to all initiators, select the All Initiators option button.

To export to select initiator groups or initiators, select Specific Initiator Groups and/or
Initiators. Select one or more Initiator Groups from the list, and enter and select initiator
names (each on their own line) in the Individual Initiator panel.

5. Specify the target ports through which the LUNs are exported in one of the following ways:

Select All Ports, to export through all target ports.

Select Specific Ports, to export through target ports selected from the list.

6. Assign IDs to the exported LUNs in one of the following ways:

Select Value and enter a value in the text field to manually assign a LUN ID.
User-defined LUN IDs can make it easier to differentiate between LUNs. If you do assign a
user-defined LUN ID, Violin Memory recommends that you specify a number below 255 as
some operating systems (for example, Windows) only discover LUN IDs between 0 and
254. This section is automatically disabled when you create multiple LUNs at one time.

68

Select Auto to automatically assign an ID to the exported LUNs. This option is mandatory
when you export multiple LUNs at once.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Caution: Re-exporting a LUN with an auto-assigned LUN ID may cause the system to assign a
new LUN ID to the export, which may disrupt the existing I/O traffic. The same holds true for manual
LUN ID changes.
7. Click

OK. Initiator and target information for the exported LUNs appears in the Exports panel
on the right side of the window.

Manage Initiators
In a Violin Memory environment, hosts (such as database servers or application servers) that
access LUNs are initiators and the arrays are the targets. You can control initiator access to target
LUNs in the following ways:

Specifying access on an individual initiator basis


Specifying access through a group of associated initiators, known as an igroup
Specifying access through a group of igroups, known as nested igroups

The use of igroups streamlines initiator management by allowing you to define a group of initiators
(igroup), and then assign that group access to select LUNs. So instead of specifying access for
each individual initiator, you specify access for the igroup and all the initiators that are members of
the igroup are granted access to the LUNs.
The Web Interface allows you to easily create and modify initiator groups, as described in Creating
and Deleting Initiator Groups on page 69 and Adding or Deleting Initiators from a Group on page
71. You can also combine initiator groups within another initiator group, as described in Creating,
Modifying, and Deleting Nested Initiator Groups on page 72.

Note: Check with your network administrator before adding initiator hosts in the Advanced panel,

and verify the correct addresses of the hosts.

Creating and Deleting Initiator Groups


You can create and delete Initiator groups from the Manage > Manage Initiators page of the Web
Interface. A list of initiator groups is shown in the left panel, with a list of available sessions shown
in the right panel for the highlighted initiator group. You can also add initiator hosts, as described in
Adding or Deleting Initiators from a Group on page 71.
The All igroups and Initiators panel provides a list of available initiators and igroups, along with
the following information for each:

535-0008-00 Rev 10

Name: Name of the initiator or igroup.


Type: Initiator or igroup
Export: LUNs exported to the igroup or initiator, or not
igroups: Number of igroups in an igroup
Initiators: Number of initiators that belong to the igroup

Violin 6000 Series Memory Array Users Guide

69

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

To create an initiator group, do the following:


1. Select
2. Click

Manage > Manage Initiators. The Manage Initiators and igroups page appears.

Create igroup.

The Create New igroup dialog appears.


3. Enter a name in the igroup name text box, then select the check boxes for the initiators and

igroups to include in the new igroup, and click Create.


Note: To add initiators to your new igroup that do not appear in the list, see Adding or Deleting
Initiators from a Group on page 71.

Note: Adding an existing igroup to a new igroup creates a nested igroup. For more information,

see Creating, Modifying, and Deleting Nested Initiator Groups on page 72.

To delete an initiator group, complete the following steps:


1. Select

Manage > Manage Initiators.

2. Select the check box for one or more initiator groups you want to delete.

A check mark appears next to the name of a selected igroup. Only igroups with a check mark
next to the name will be deleted.

70

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

3. Click

Delete.

A dialog appears prompting you to confirm the action.


4. Click

OK.

A prompt appears verifying the success of the operation, and the selected initiator groups are
removed from the list.

Adding or Deleting Initiators from a Group


You can select initiator hosts to add to an existing initiator group from the panel on the right. Or from
the Advanced panel, you can add initiator types that do not appear in the list (iSCSI), or that may
not yet be on the network.
This section demonstrates how to add initiator hosts to an igroup by selecting them from the list,
and then add initiators using the Advanced panel.

Caution: Adding an initiator to multiple igroups can create conflicts, and cause problems in

export behavior.

Prerequisites

When adding initiators, verify the validity and availability of the address. Check with your system
administrator regarding the availability status of the initiators.
Each initiator address has a protocol-specific identifier:

iSCSI initiatory identifier formats: iqn (most common), naa, eui


For example: iqn.1994-05.com.redhat:xyz

Fibre Channel initiator identifier format: wwn


Fibre Channel initiators are fixed by the appropriate HBA port, for example:
wwn.01:02:03:04:05:06:07:08

InfiniBand initiator identifier format: guid


InfiniBand initiators are fixed by the appropriate HCA port, for example:
guid.0123:0456:0789:123

To add or remove initiators from an existing igroup, do the following:


1. Select

535-0008-00 Rev 10

Manage > Manage Initiators.


Violin 6000 Series Memory Array Users Guide

71

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

2. Highlight the initiator group in list that you want to modify. The initiators and igroups that are

members of that group appear in the panel on the left.


3. Click

Edit igroup. The Edit igroup dialog appears.

4. To remove an initiator host or igroup from the group, deselect a check box.
5. To add initiator hosts that are not on the list, under Custom Initiators, do the following:
a. Click

More.

b. In the text box at the bottom of the window, enter a valid initiator host address.
c. Press

Enter to add another address. Each address must be on its own line.

6. To apply your changes, click

Modify.

Caution: Custom initiator hosts appear in the group even if the host has not yet been added to

the network. Check with your network administrator for status on the availability of these hosts.

Creating, Modifying, and Deleting Nested Initiator


Groups
A nested initiator group (nested igroup) is an igroup that contains one or more igroups or initiators.
This concept is similar to a folder that contains other folders, or subfolders. For more information on
nested initiator groups, see Managing Nested Initiator Groups on page 213.

Note: You can create up to three hierarchy levels within a nested igroup.

72

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Prerequisite

You must have created igroups, as described in Creating and Deleting Initiator Groups on page 69.
To create a nested igroup, do the following:
1. Select

Manage > Manage Initiators. The Manage igroups and Initiators page appears.

2. In the All igroups and Initiators panel, highlight the igroup in which you will nest other igroups,

then click Edit igroup.


The Edit igroup window appears.
3. Select a check box for an igroup in the list to add it to the igroup. If the igroup does not appear

in the list of items on the first page:


Search for the igroup by entering a text string in the Search text box, and pressing Enter.
Click the right-facing arrow at the bottom right corner of the page, and repeat to page
through all items on the list.
4. Click

Modify.

5. A prompt appears to tell you that the operation was successful. Click

OK.

The results of the modification appear in the hierarchy tree on the right, as well as in the igroups
and Initiators columns to the left.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

73

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

To modify a nested igroup, do the following:


1. Select

Manage > Manage Initiators. The Manage igroups and Initiators page appears.

2. In the All igroups and Initiators panel, highlight the nested igroup you want to modify, then click

Edit igroup.
3. Select a check marked box to remove the item from the igroup. Select other check boxes to

add those items to the nest.


4. When you are satisfied with the changes, click

Modify.

5. Click

OK to verify the success of your actions. The results appear in the Manage igroups and
Initiators panel.

To deconstruct a nested igroup, do the following:


1. Select

Manage > Manage Initiators. The Manage igroups and Initiators page appears.

2. In the All igroups and Initiators panel, highlight the nested igroup you want to deconstruct (i.e.

remove all nested igroups) then click Edit igroup.


3. Select the check marked box, or boxes, of the nested igroups you want removed, then click

Modify.
4. Click

OK to verify the success of your actions. The results appear in the Manage igroups and
Initiators panel.

To delete a nested igroup, do the following:


Note: If any LUNs are exported to the nested igroup, the deletion is not permitted. There will not

be a check box next to the nested igroup in this case.


1. Select

Manage > Manage Initiators. The Manage igroups and Initiators page appears.

2. In the All igroups and Initiators panel, select the check box for the nested igroup you want

removed.
Note: Be sure to deselect the check marked boxes of items you do not want removed.
3. Click

74

Delete. The nested igroup is removed, and disappears from the list.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Manage Targets
In a cluster, each Memory Gateway operates as a SAN (Fibre Channel/InfiniBand), or LAN (iSCSI)
target that provides access to the LUNs stored on its attached memory arrays. Fibre Channel,
InfiniBand, and iSCSI target ports are all are supported. Every target is either a specific port on a
hardware Fibre Channel host bus adapter (HBA), InfiniBand host channel adapter (HCA), or a
software-configured target for iSCSI.

Viewing Target Status


On the Target Management page, the details for the highlighted port appear in the panel on the right.
The node, target name, hostname, speed, and address of each type of target port.
To view status information for a target, do the following:
1. Select

Manage > Manage Targets. The Target Management page appears, showing
information for all available target ports in one table.

2. To view details on a specific target, select (highlight) the target in the Available Targets panel

on the left.

Managing Transport Protocols


Some target port types are configured automatically when a storage container is created. Other
target ports must be configured manually.

Fibre Channel target ports are automatically configured when you create the storage
containers on Violin Memory Arrays.

InfiniBand target ports are automatically configured when you create the storage containers on
the Violin Memory Arrays.

iSCSI target ports must be configured manually.

To enable target ports, do the following:


1. Select

Manage > Manage Targets. The Target Management page appears.

2. Click the appropriate Enable protocol button.

To a disable active target ports, do the following:


1. Select

535-0008-00 Rev 10

Manage > Manage Targets. The Target Management page appears.

Violin 6000 Series Memory Array Users Guide

75

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

2. In the Manage Target Protocols panel, click the appropriate Disable protocol button.

Manage LUN Groups


You can create a LUN group with one or more LUNs. When you perform an action on one LUN in
a group, that action is applied to all LUNs that are members of the group. A LUN group typically
consists of LUNs that are used by a single application. For example, a database application may
require two or more LUNs for data and logs.
This section covers the following topics:

Viewing LUN Group Information on page 76


Creating and Deleting LUN Groups on page 77
Modifying LUN Groups on page 78
Exporting and Unexporting LUNs in a LUN Group on page 79

For information on LUN group performance monitoring, see Monitor LUN Groups on page 111.

Viewing LUN Group Information


This section demonstrates how to view LUN and LUN group information using the Web interface.
To view LUN group information, do the following:
1. Select

Manage > Manage LUN Groups.

2. To view LUN group information, select a name in the LUN Group List so that it changes color

(highlights). A list of LUNs belonging to the group appears in the right panel.

3. (Optional) Change the order of the list (ascending/descending) by clicking the Up or Down

arrow in the column heading.

76

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Creating and Deleting LUN Groups


Keep in mind the following guidelines when creating LUN groups:

A LUN may be part of multiple LUN groups.

A LUN group name must be unique within a container.

A LUN group can contain a minimum of one LUN and a maximum of eight LUNs.
A LUN group name must start with an alphanumeric character, and may contain dashes,
underscores, and periods.

Note: Deleting a LUN group does not effect the LUNs belonging to the group, it only deletes the

structure that associated the LUNs as a group entity.

To create a LUN group, do the following:


1. Select

Manage > Manage LUN Groups. The LUN Group Management page appears.

2. Click the

Create New LUN Group icon.

3. In the Create a new LUN Group dialog, enter a unique LUN Group Name in the text field, then

add a description in the Description text field.


4. (Optional) To search for a LUN to add or delete, enter a text string in the appropriate search

box. The results appear in the respective list.


5. To add a LUN to the group, click the Add arrow to the right of the LUN name in the Available

LUNs list. Likewise, to remove a LUN from the group, click the Remove radio button in the
Selected LUNs list.

6. Click OK to create the LUN group. The new LUN group appears in the LUN Group List.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

77

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

To delete a LUN group, do the following:


1. Select

Manage > Manage LUN Groups. The LUN Group Management page appears.

2. In the LUN Group List, select the LUN group so that it highlights, changing color.
3. Click the

Delete LUN Group icon.

Note: Deleting a LUN group does not effect the LUNs belonging to the group, it only deletes the

structure that associated the LUNs as a group entity.

4. In the pop-up dialog, click

Yes to delete the selected LUN group, or No to cancel the

procedure.

Modifying LUN Groups


This section demonstrates how to modify an existing LUN group, by adding and removing LUNs
from the group.

Note: A LUN group can contain a minimum of one LUN and a maximum of eight LUNs.

To modify a LUN group, do the following:


1. Select

Manage > Manage LUN Groups.

2. In the LUN Group List, select the LUN group you want to modify so that it highlights, changing

color.
3. Click the

78

Edit LUN Group icon.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. (Optional) To search for a LUN to add or delete, enter a text string in the appropriate search

box. The results appear in the respective list.


5. In the Edit LUN Group dialog, do the following as necessary:

Click the Add arrow in the Available LUNs list to add the associated LUN to the group.
Click the Remove radio button in the Selected LUNs list to delete the associated LUN from
the group.

6. Click OK to accept the changes, or Cancel to abort the operation without making any changes.

Exporting and Unexporting LUNs in a LUN Group


Exporting and unexporting LUNs that belong to a LUN group follows the same guidelines and
procedures as those or LUNs that do not belong to a LUN group. These procedures are
accomplished from the Manage > Manage LUNs page. For more information, see Exporting LUNs,
Initiator Groups, and Initiators on page 67.
Likewise, the procedure for unexporting LUNs that belong to a LUN group is the same as that used
for regular LUNs. Likewise, this procedure is accomplished from the Manage > Manage LUNs
page. For more information, see Exporting and Unexporting Thin Provision LUNs on page 83.

Data Management
vMOS Data Management allows you to manage and protect sensitive data, as well as simplify
backup and disaster recover with the following features.

Thin provision LUNs for better utilization of storage


Snapshots of individual LUNs and LUN groups, read-only or read-write
Schedules for automated snapshots
Manage and monitor provisioned and allocated space on the array

For a list of data management terminology and use case scenarios, see CHAPTER 8, Data
Management on page 253.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

79

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

The following table provide a list of tasks and their associated functions. Click a hyperlink to jump
directly to the task.
Function

Thin Provision LUNs

Manage Snapshots

Space Management

Tasks

Creating and Deleting Thin Provision LUNs on page 81

Working with Snapshot Management on page 84

Creating LUN Group Snapshots on page 92

Rolling Back a LUN or LUN Group from a Snapshot on page


98

Deleting LUN and LUN Group Snapshots on page 99

Managing Array Space Usage on page 102

Modifying Thin Provision LUNs on page 83


Exporting and Unexporting Thin Provision LUNs on page 83
Creating Schedules on page 85
Modifying and Deleting Schedules on page 88
Viewing Schedules on page 90
To view a list of exported snapshots, do the following: on
page 90
Editing LUN and LUN Group Snapshots on page 95
Exporting LUN and LUN Group Snapshots on page 96
Removing Exports from LUN and LUN Group Snapshots on
page 98

Viewing Schedule Calendars on page 100


Managing Container Space Usage on page 103
Managing LUN Space Usage on page 104

Thin Provision LUNs


Thin provisioning provides on-demand allocation of blocks of data, versus the traditional method of
allocating all the blocks up front. For example, you can specify the (provisioned) size of a thin LUN,
but space is not physically allocated until the data is written to the LUN. For more information, see
CHAPTER 8, Data Management on page 253.

80

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Thin LUNs and thick LUNs can be easily distinguished by their icons. Thick LUNs have a solid icon
to the left of the name, while thin LUNs have a partially transparent icon, as shown in the following
example.

Thick LUN
Thin LUN
Figure 2.2 Thick LUN and Thin LUN Icons.

This section covers the following topics:

Creating and Deleting Thin Provision LUNs on page 81


Modifying Thin Provision LUNs on page 83
Exporting and Unexporting Thin Provision LUNs on page 83

Creating and Deleting Thin Provision LUNs


You can specify the provisioned size of a thin LUN, but the space is allocated as the data is written.
This allows you to use space as needed.

Note: A LUN can be created as thin or thick. However, once a LUN is created as a certain type
(thick or thin), the type cannot be changed. A thick LUN remains thick and a thin LUN remains thin
until deleted.

To create a thin provisioned LUN, do the following:


1. Choose

Manage > Manage LUNs. The LUN Management page appears.

2. On the LUNs menu bar, click the

Create New LUN icon.

The Create LUNs dialog appears.


3. Specify the following information:

Number of LUNs to Make. The default is 1

A unique LUN name

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

81

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

The amount of allocated space (in Gigabytes) for each LUN, or use all available space
equally across the number of LUNs you are creating

512 byte block size, or 4096 byte block size

4. Select the

5. Click

Thin Provisioning check box, along with other appropriate Settings options.

OK. The newly created thin provision LUN appears at the top of the LUN list with a thin

LUN icon to the left of the name.

Note: An exported LUN cannot be deleted. You must unexport the LUN first.

To delete a thin provision LUN, do the following:


1. In the LUNs list, select the check box of the LUN you want to delete. A check mark appears in

the check box.


Note: A check mark must appear in the check box beside a LUN for it to be deleted.
Highlighting the LUN so that it changes color is not sufficient.
2. In the LUNs menu bar, click the trash can icon.

82

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

3. In the Remove LUN Warning dialog, click

OK to delete the selected LUN, or Cancel to abort

the procedure.

If you confirm the deletion, the thin LUN disappears from the LUN list.

Modifying Thin Provision LUNs


You can modify an existing thin provision LUN in the following ways:

change the LUN name


increase the allocated space for the LUN

You perform these procedures the same way you would for a thick LUN. For more information, see
Editing LUNs on page 64.

Caution: Changing the name of an exported LUN (thin or thick) is not recommended.

Decreasing the size of an existing thin provision LUN is not supported.

Exporting and Unexporting Thin Provision LUNs


The procedure for exporting thin provision LUNs is the same as that used for regular (thick) LUNs.
For more information, see Exporting LUNs, Initiator Groups, and Initiators on page 67.
Likewise, the procedure for unexporting thin provision LUNs is the same as that used for regular
LUNs. For more information, see Exporting and Unexporting Thin Provision LUNs on page 83.

Manage Snapshots
The Snapshot Management page allows you to view and manage snapshots for LUNs and LUN
groups. You can also view and manage the schedules used to create snapshots and snap groups.
This section covers the following topics:

Snapshot Rules on page 84


Working with Snapshot Management on page 84
Creating Schedules on page 85
Modifying and Deleting Schedules on page 88
Viewing Schedules on page 90
To view a list of exported snapshots, do the following: on page 90
Creating LUN Group Snapshots on page 92
Editing LUN and LUN Group Snapshots on page 95

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

83

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Exporting LUN and LUN Group Snapshots on page 96


Removing Exports from LUN and LUN Group Snapshots on page 98
Rolling Back a LUN or LUN Group from a Snapshot on page 98
Deleting LUN and LUN Group Snapshots on page 99
Viewing Schedule Calendars on page 100

Snapshot Rules
The following rules apply for snapshots:

A LUN can have a maximum of 1,024 snapshots

Deleting a single snapshot from a snap group is not allowed

A container can have a maximum of 10,000 snapshots


Taking a snapshot of a snapshot is not allowed
Snapshots are taken one at a time (serial); creating multiple simultaneous snapshots is not
allowed at this time

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA, to prevent

a substantial performance hit.

Working with Snapshot Management


The Snapshot Management page allows you to perform a variety of related tasks, using the
following views:

Schedules View: Displays a list of schedules for LUNs and LUN groups, along with the type of
schedule, and the number of snapshots created to date. You can select a LUN or LUN group
from the list to view a list of snapshots in a table, or a calendar depicting the snapshot
schedule.

LUN View: Displays a list of LUNs that have snapshots, along with the size of the LUN and the
number of snapshots to date for each LUN. You can select a LUN and view a list of its
snapshots, or a calendar depicting the snapshot schedule.

LUN Group View: Displays a list of LUN groups, along with the size of the LUN group and
current number of snapshots. You can select a LUN group and view a list of its snapshots, or a
calendar depicting the snapshot schedule.
Note: A snap group is an object that represents a set of snapshots taken across a collection
of LUNs that belong to a LUN group. Snapshots of each LUN in a LUN group are taken, then
grouped as a snap group.

Table View: Displays a list of LUNs or LUN groups with snap shots or snap groups. All LUNs
on the container are not shown.

Calendar View: Displays a calendar with showing scheduled snapshots by the month, week,
day, or in a list.

Note: The LUN View panel (Manage > Manage Snapshots) only shows the LUNs and LUN
groups that have snapshots and snap groups. It does not show all LUNs. To view all available LUNs,
select Manage > Manage LUNs. To view all available LUN groups, select
Manage > Manage LUN Groups.

84

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

For more information on snapshots and how to create and manage them using the CLI, see
CHAPTER 8, Data Management on page 253.

Creating Schedules
This section demonstrates how to create immediate and scheduled snapshots of a LUN or LUN
group.
To create a one-time immediate snapshot, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

Schedules and then click the Create icon.

The Create Snapshot/Schedule appears.

3. Select

Snapshot NOW, and enter a unique Snapshot Name in the text field followed by a
description in the Description text field.

4. Select one of the following:

LUN: Creates a snapshot of a selected LUN.


LUN Group: Creates a snapshot of a selected LUN group. The resulting snapshot is
known as a snap group.
5. Select the LUN or LUN Group name from the drop-down list. The list shows all the available

LUNs and LUN groups in the container.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

85

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

6. Select the following check boxes, as necessary:

Protected: When the number of snapshots exceeds a specified threshold, reclamation


begins with the oldest unprotected snapshot. When this option is checked, a snapshot or
snap group is protected from automatic free space reclamation.
Writable: By default, snapshots and snap groups are read-only. When is option is
checked, the snapshot or snap group is writable.
7. Click

OK to create the snapshot, or Cancel to leave the operation without creating a snapshot.

To create a one-time scheduled snapshot, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

Schedules and then click the Create icon.

3. Select

Scheduled. The dialog expands to show scheduling options.

4. Enter a unique

Snapshot Name in the text field, followed by a Description.

Note: A schedule is enabled is by default. If you disable a schedule, you must manually
enable it again before it will begin taking automatic snapshots. Click the check box to disable
the schedule; the check mark disappears.
5. Select one of the following:

LUN: Creates snapshots of a selected LUN.


LUN Group: Creates snapshots of a selected LUN group. The resulting snapshot is
known as a snap group.
6. Select

One-time snap. A check mark appears, designating that one snapshot will be taken at

the scheduled time.


7. Specify the day and time the snapshot will be taken, by doing the following:

Select a Start Date from the pop-up calendar


Specify a Start Time in hours, minutes, AM or PM.
8. Select the following options, as necessary:

Protected: When the number of snapshots exceeds a specified threshold, reclamation


begins with the oldest unprotected snapshot. When this option is checked, a snapshot or
snap group is protected from automatic free space reclamation.
Writable: By default, snapshots and snap groups are read-only. When this option is
checked, the snapshot or snap group is writable.

86

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

9. Click

OK to create the snapshot, or Cancel to leave the operation without creating a snapshot.

To create a scheduled for multiple snapshots, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

Schedules and then click the Create icon.

The Create Snapshot/Schedule appears.


3. Select

Scheduled. The dialog expands to show scheduling options.

4. Enter a unique

Snapshot Name in the text field, followed by an optional Description.

Note: A schedule is enabled is by default. If you disable a schedule, you must manually
enable it again before it will begin taking automatic snapshots. Click the check box to disable
the schedule; the check mark disappears.
5. Select one of the following:

LUN: Creates snapshots of a selected LUN.


LUN Group: Creates snapshots of a selected LUN group. The resulting snapshot is
known as a snap group.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

87

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

6. Select the LUN or LUN Group name from the drop-down list, leave the

One-time snap check

box unchecked, and deselect the No End Date option. The dialog box expands.
7. Specify the following:

Enter a Start Date in the text field, or select the date from the pop-up calendar. Then, set
the Start Time using the drop-down menus.
Select the End Date (calendar) and End Time.
8. Specify the snapshot interval by entering a number in the Repeat every text box, and select a

frequency interval from the drop-down menu: Minute(s), Hour(s), Day(s) (default), Week(s),
Month(s).
9. Specify the maximum number of snapshots to keep by entering a number in the Max. number

to keep text box. Then select the following check boxes, as necessary:
Protected: When the number of snapshots exceeds a specified threshold, reclamation
begins with the oldest unprotected snapshot. When this option is checked, a snapshot or
snap group is protected from automatic free space reclamation.
Writable: By default, snapshots and snap groups are read-only. When this option is
checked, the snapshot or snap group is writable.
10.Click

OK to create the snapshot, or Cancel to leave the operation without creating a

snapshot.

Modifying and Deleting Schedules


This section demonstrates how to modify existing schedules, and delete outdated schedules.
To modify an existing schedule, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

Schedules, then in the Schedules View select a schedule in the list. It highlights,

changing color.
3. Click

Edit.

The Edit Schedule dialog appears, showing information for the selected schedule.

88

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. Make changes to the dialog option fields, as necessary.

5. Click

OK to apply the changes, or Cancel to leave the task without changing to the existing

schedule.
To delete a schedule, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

Schedules, then in the Schedules View select a schedule in the list. It highlights,

changing color.
3. Click

Delete.

The Delete Schedule dialog appears.


4. Select the check box to delete all snapshots created by the schedule, or accept the unchecked

default to delete only the schedule. Then, click OK to make the deletion or Cancel to abort the
task.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

89

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Viewing Schedules
This section demonstrates how to view a list of schedules, associated snapshots, and exported
snapshots.
To view a list of schedules and associated snapshots, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

Schedules.

The Schedule View panel on the left displays a list of schedules. The One-Time-Grouped
schedule is selected by default, and is a collection of one-time scheduled snapshots. The
schedule is highlighted, and a list of snapshots and snap groups is shown on the right.
Note: The One-Time-Grouped schedule can contain snapshots and snap groups. All other
schedules contain either snapshots or snap groups, but not both.
3. To view the snapshots and snapgroups for another schedule, select the schedule in the

Schedule View.
The schedule changes color (highlights). The associated snapshots and snapgroups appear in
the panel on the right.

To view a list of exported snapshots, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

Schedules, then select a schedule from the list.

The schedule changes color (highlights). The associated snapshots and snap groups appear
in the panel on the right.
3. Select a snapshot from the list on the right. The selected snapshot changes color.

90

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. Click the number in the Export column on the far right. A pop-up dialog appears, showing a list

of exported snapshots.

5. To search for a target or initiator, enter a text string in the


6. Click

Search field and press Enter.

Close to return to the Snapshot Management page.

Creating LUN Snapshots


This section demonstrates how to create an immediate snapshot of a selected LUN.

Note: The only LUNs listed in the LUN View panel (Manage

> Manage Snapshots) are LUNs


that have snapshots. It does not show all available LUNs in the container. To view all available
LUNs, select Manage > Manage LUNs. For information on how to set up a snapshot schedule, see
Creating Schedules on page 85.
To create an immediate snapshot of a LUN, do the following:
1. Select

Manage > Manage Snapshots.

2. Click

LUNs to display the LUN View panel, and select a LUN from the list. The selected LUN
highlights, changing color. The snapshots associated with the LUN appear in the panel to the
right.

3. Click

535-0008-00 Rev 10

+ to create a new snapshot.

Violin 6000 Series Memory Array Users Guide

91

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

The Create Snapshot/Schedule dialog appears.

4. Leave

Snapshot NOW selected, and enter a Snapshot Name. You can also enter an
optional Description.

5. Leave

LUN selected, and select the LUN Name from the drop-down list, if not already

selected.
6. Select the following check boxes, as necessary:

Protected: When the number of snapshots exceeds a specified threshold, reclamation


begins with the oldest unprotected snapshot. When this option is checked, a snapshot or
snap group is protected from automatic free space reclamation.
Writable: By default, snapshots and snap groups are read-only. When this option is
checked, the snapshot or snap group is writable.
7. Click

OK to create the snapshot, or Cancel to leave the task without creating a snapshot.

Creating LUN Group Snapshots


A snapshot of a LUN group consists of snapshots of each LUN in the LUN group, combined into a
group called a snap group.

92

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Note: The only LUN Groups listed in the LUN Group View panel (Manage > Manage
Snapshots) are those that have snapshots, not all the available LUN Groups in the container. To
view all LUN groups in the container, select Manage > Manage LUN Groups. For information on

how to set up a snapshot schedule, see Creating Schedules on page 85.

To create a snap group, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

LUN Groups, and then click +.

The create Snapshot/Schedule dialog appears.


3. Leave Snapshot NOW selected and enter a Snapshot Name. You can also enter an optional

Description.
4. Leave

LUN Group selected and choose a name from the LUN Groups Names drop-down

list.
5. Select the following check boxes, as necessary:

Protected: When the number of snapshots exceeds a specified threshold, reclamation


begins with the oldest unprotected snapshot. When this option is checked, a snapshot or
snap group is protected from automatic free space reclamation.
Writable: By default, snapshots and snap groups are read-only. When this option is
checked, the snapshot or snap group is writable.

6. Click

535-0008-00 Rev 10

OK to create the snapshot, or Cancel to leave the task without creating a snapshot.

Violin 6000 Series Memory Array Users Guide

93

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Viewing Snapshots in a Snap Group


To view a list of snapshots in a snap group, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

Schedules, then select a a LUN group schedule from the list on the left.

The LUN group schedule changes color (highlights) and the snap groups appear in the panel
on the right.
3. Select a snap group from the list on the right. The selected snapshot changes color.

4. In the # column on the far right, click the number link. The snapshots belonging to the snap

group appear in the panel below.

5. Click

Hide in the upper right corner of the snap group snapshots panel to hide the list of
snapshots from view.

94

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

Editing LUN and LUN Group Snapshots


This section demonstrates how to edit LUN and LUN group snapshots from the Snapshot
Management page.

Note: The only LUNs or LUN Groups listed in the LUN View or LUN Group View panels (Manage
> Manage Snapshots) are those that have snapshots, not all the available LUN Groups in the
container. To view all available LUNs and LUN groups in the container, select Manage > Manage
LUNs or Manage > Manage LUN Groups. For information on editing snapshot schedules, see

Modifying and Deleting Schedules on page 88.

To edit a snapshot of a LUN or LUN group, do the following:


1. Select

Manage > Manage Snapshots.

2. Click

LUN or LUN Groups, and then select the LUN or LUN Group name from the list on the
left so that it highlights, changing color.
A list of snapshots associated with the selected LUN or LUN Group appears in the panel on the
right.

3. In the right panel, select the snapshot you want to edit so that it highlights, changing color.

Then click the Edit icon.

The edit dialog appears.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

95

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

4. Make the necessary changes to the following options:

Snapshot or Snap group Name


Note: A snapshot or snap group can only be renamed if they are not exported.

Description
Protected
Writable

5. Click

OK to apply the changes, or Cancel to leave the operation without making any changes.

Exporting LUN and LUN Group Snapshots


This section demonstrates how to export a LUN snapshot or snap group to selected initiators,
initiator groups, and ports.

Note: The only LUNs or LUN Groups listed in the LUN View or LUN Group View panels (Manage
> Manage Snapshots) are those that have snapshots, not all the available LUN Groups in the
container. To view all available LUNs and LUN groups in the container, select Manage > Manage
LUNs or Manage > Manage LUN Groups.

To export a snapshot of a LUN or LUN group, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

LUNs or LUN Groups.

3. Select a LUN or LUN Group name in the list on the left so it highlights, changing.

A list of snapshots associated with the selected LUN or LUN Group appears in the panel on the
right.
4. In the right panel, select the check box for the snapshot you want to export. A check mark

appears.

96

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

5. Click the

Export icon.

The Add Export dialog appears. All Initiators and All Ports are the defaults.

6. Do the following, as necessary:

To export the snapshot or snap group to All Initiators and All Ports, go to step 5.
To export to selected initiators and initiator groups, click Specific Initiator Groups and/
or Initiators, and select the Initiator Groups and/or Individual Initiators from the lists.
Press Ctrl to select multiple initiators or initiator groups.
To export to selected ports, click Specific Ports, and select the ports from the list. Press
Ctrl to select ports.
LUN ID: Auto (automatic assignment of a LUN ID) is selected by default. To specify a
unique LUN ID, click Value and enter a number in the text box.
Note: LUN IDs must be unique within the container.

7. Click

OK to export the snapshot to the selected initiators and ports, Or click Cancel to exit the
operation without facilitating an export.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

97

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Removing Exports from LUN and LUN Group Snapshots


This section demonstrates how to remove all exports from a LUN snapshot or LUN group snap
group.

Note: The only LUNs or LUN Groups listed in the LUN View or LUN Group View panels (Manage
> Manage Snapshots) are those that have snapshots, not all the available LUN Groups in the
container. To view all available LUNs and LUN groups in the container, select Manage > Manage
LUNs or Manage > Manage LUN Groups.

To remove all exports from a LUN or LUN group snapshot, do the following:
1. Select
2. Click

Manage > Manage Snapshots.

LUNs or LUN Groups.

3. Click the check box to the left of a LUN or LUN Group snapshot (that you want to remove the

exports from) in the list on the right, so a check mark appears.


Note: Only checked snapshots are affected by this operation.
4. Click

Remove Exports. A confirmation dialog appears.

5. Click

OK to remove all exports, or Cancel to leave the operation without removing the exports.

Rolling Back a LUN or LUN Group from a Snapshot


This section demonstrates how to roll back a LUN or LUN group from a snapshot. For more
information on the roll back process, see Rolling Back the Contents of a Snapshot on page 267.
The only LUNs or LUN Groups listed in the LUN View or LUN Group View panels (Manage >
Manage Snapshots) are those that have snapshots, not all the available LUN Groups in the
container. To view all available LUNs and LUN groups in the container, select Manage > Manage
LUNs or Manage > Manage LUN Groups.

Note: A LUN or LUN group has to be unexported prior to performing a rollback. For more

information, see Exporting and Unexporting LUNs in a LUN Group on page 79.

To roll back a LUN or LUN group from a snapshot, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

LUN or LUN Groups.

3. Select the LUN or LUN group (you want rolled back) from the list of snapshots on the left.

98

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. Select the LUN or LUN Group snapshot (whose contents you want to roll back to the LUN or

LUN group) from the list on the right, so that it changes color (highlights).
5. Click

Rollback. A confirmation dialog appears.

6. Click

OK to remove all exports, or Cancel to leave the operation without rolling back the LUN

or LUN group.

Deleting LUN and LUN Group Snapshots


This section demonstrates how to delete LUN and LUN Group snapshots. Review the following
guidelines before you begin deleting snapshots:

Snapshots that belong to a snap group cannot be deleted individually. However, you can
delete the entire group of snapshots.

Snapshots that have been exported cannot be deleted. You must unexport the snapshot first,
then it can be deleted.

Protected snapshots cannot be deleted, unless you have Admin user privileges. However, it is
recommended that you unprotect the snapshots first, then delete them.

Note: The only LUNs or LUN Groups listed in the LUN View or LUN Group View panels (Manage
> Manage Snapshots) are those that have snapshots, not all the available LUN Groups in the
container. To view all available LUNs and LUN groups in the container, select Manage > Manage
LUNs or Manage > Manage LUN Groups.

To delete a LUN or LUN group snapshot, do the following:


1. Select
2. Click

Manage > Manage Snapshots.

LUN or LUN Groups.

3. Select a LUN or LUN Group from the list on the left. A list of associated snapshots appears in

the panel on the right.


4. Click the check box to the left of a snapshot (you want to delete) in the list on the right, so that

a check mark appears.


Note: Only checked snapshots are affected by this operation.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

99

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

5. Click the

Delete icon.

A confirmation dialog appears.

6. Click OK to delete the selected snapshot, or Cancel to leave the operation without deleting the

snapshot.

Viewing Schedule Calendars


Calendar View provides an at-a-glance map of current schedules, with each schedule appearing as
a different color across the following formats:

monthshows a current month planner, with schedules appearing on days snapshots are
taken

weekshows a current week planner, with schedules appearing on days snapshots are taken
dayshows a current day planner, with schedules appearing at the time they are taken
listshows a list of scheduled snapshots for the current day

Note: Calendar View reflects current schedules only. When you change or delete a schedule, the

Calendar View changes accordingly.

To view a calendar display of schedules, do the following:


1. Select

Manage > Manage Snapshots.

2. At the far right of the Snapshot Management page, click

Calendar. The Calendar View


appears, showing the default month view. The current day is highlighted.

100

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

3. To display a week-planner schedule view, click week. Schedules appear in the time slot of the

day or days on which the snapshots are taken. The current day is highlighted.

4. To display a day-planner schedule view, click

day. Schedules appear in the time slot in which

the snapshots are taken.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

101

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

5. To display a list of schedules for the current day, click

6. To return to the Snapshot Management page, click

list.

Table View.

Space Management
You can monitor and manage the available space on containers for regular (thick) LUNs, thin LUNs,
LUN groups, snapshots, and snap groups. This section covers the following topics:

Managing Array Space Usage on page 102


Managing Container Space Usage on page 103
Managing LUN Space Usage on page 104

Managing Array Space Usage


This section demonstrates how to retrieve an at-a-glance view of space usage for an array. For
information on how to reclaim free space, see Rules for Reclaiming Free Space on page 283 and
Setting Usage Thresholds on page 283.
To view array space usage, do the following:
1. Select

Manage > Space Management.The Space Management page appears.

2. Review the left-most panel for the following specific container information:

Container Name
Number of LUNs (in the container)
HA (High Availability) Status

3. In the center panel, review container space usage in the following areas:

102

At-a-glace bar graph showing space usage


Thick LUNs, space used (actual Gigabytes) and percentage of container space used
Thin LUNs, space used (Gigabytes) and percentage of container space used
Snapshots, space used (Gigabytes) and percentage of container space used
Reserved, space (Gigabytes) reserved for internal metadata management
Free, available free space (Terabytes) and percentage of container space
Total space in the container

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Manage

4. Review the right-most panel for the following threshold information:

Provision Thresholds:
Alert at: A warning occurs when the provisioned space reaches or goes above this
percentage
Limit: Prevents any space provisioning above this percentage
Used Space Thresholds
Alert at: A warning occurs when space usage reaches or goes above this level
Reclaim: Space reclamation starts when space usage goes above this level

5. To change a threshold, click the

Edit icon, enter a new Threshold Percentage value in the

text field, and click OK.

Managing Container Space Usage


This section demonstrates how to review space usage for a container. For information on how to
reclaim free space, see Rules for Reclaiming Free Space on page 283 and Setting Usage
Thresholds on page 283.
To view space usage for a container, do the following:
1. Select
2. Click

Manage > Space Management.

Container View.

The Container View panel appears.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

103

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Review the top-most pane for information on maximum usable capacity, allocated size,

maximum provisioned capacity, and current provisioned size.


4. Review the left Allocated pane for a breakdown of the physical space (Terabytes and

Gigabytes) used for LUNs, snapshots, and snap groups, as well as the amount available free
space. The graph in the bottom half of the pane illustrates the data.
5. Review the right Provisioned pane for a breakdown of the logical space (Terabytes and

Gigabytes) provisioned for LUNs and snapshots, as well as the remaining available free
space. The graph in the bottom half of the pane illustrates the data.

Managing LUN Space Usage


This section demonstrates how to review space usage for a selected LUN. For information on how
to reclaim free space, see Rules for Reclaiming Free Space on page 283 and Setting Usage
Thresholds on page 283.

Note: The LUN View panel only shows LUNs with snapshots, not all LUNs in the container.

To view space usage for a LUN, do the following:


1. Select
2. Click

Manage > Space Management.

LUN View, then select a LUN name from the list on the left so that it highlights.

The details of the selected LUN appear in the panel on the right, as shown in the following
example.

104

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitor

3. View a list of LUN names, the Type, Provisioned Size (Gigabytes), and Size Used (Gigabytes)

in the left pane.


4. Enter a text string in the

Search field to search for a LUN.

5. Sort the contents of a column by clicking the up arrow (ascending) or down arrow

(descending).
6. To view details of a specific LUN, select the LUN in the list (in the left pane) so it highlights,

changing color. The details for the LUN appear in the LUN Details pane (on the right).
7. Enter a text string in the Search field to search for a particular snapshot of the selected LUN.

Monitor
The Monitor function provides an at-a-glance view of the health and performance of cluster nodes,
and the ability to analyze historical data and real time trends. LUN monitoring provides container
level statistics both on a per-node basis, as well as aggregated. Target monitoring provides port
level statistics.
The following table provide a list of tasks and their associated functions. Click a hyperlink to jump
directly to the task.
Function

Monitor Overview
Monitor LUNs
Monitor LUN Groups
Monitor Targets

535-0008-00 Rev 10

Tasks

Customizing the Output Display on page 106

Searching for a LUN on page 110

Searching for a LUN Group on page 111

Selecting a Target Port on page 112

Monitoring Container, LUN, and Port Data on page 108


Analyzing Data for a LUN on page 110
Analyzing LUN Group Data on page 111
Analyzing Data for a Target on page 112

Violin 6000 Series Memory Array Users Guide

105

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Monitor Overview
The Overview function provides a high-level view of real-time or historical data. You can customize
how you view the data, choosing between line and area graphs, time trends, as well as the type of
metrics used to formulate the data. You also have the option to view data for a container, LUN, or
port.

Real Time Performance TrendShows the last five minutes of performance trends for the
selected metric. New real time values are appended into the graph every ten seconds.

Current ValueShows real time data at this time. The graph time is listed at the bottom of the
panel.

Customizing the Output Display


The following task demonstrates how to customize the data display to suite your needs. You can
specify the visual graph you prefer, the time trend, and the applied metrics.
You can also choose to view the aggregate data (A+B) from both Memory Gateway nodes, or view
data for the nodes separately (A, B). If you select the A only or B only option, only the data for that
particular node is shown.
To customize the data output display, do the following:
1. Select
2. Click

Monitor > Overview. The Monitoring page appears.

Settings & Download. The panel expands to show the following options.

3. Select the

Type of information to display from the drop-down list.

GeneralMonitors data for all ports.

LUNMonitors data for a specific LUN.

Fibre ChannelMonitors data for Fibre Channel ports.

InfiniBandMonitors data for InfiniBand ports.

For more information, see Monitoring Container, LUN, and Port Data on page 108.
4. Select a Metric display type from the drop-down list, as shown in the following example.

A+B shows aggregated data for both Gateway nodes.

A, B shows data separately for both Gateway nodes.

A only shows data for the Gateway master node. B only shows data from the standby
node.

The results appear in the Current Value panel on the right.


106

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitor

5. Choose an option from the drop-down list to customize the graph display. The Real-Time

Performance Trend display changes accordingly.

6. To specify the real-time performance trend, at the top of the left-most panel choose one of the

following options:

Last 1 H: Shows data averaged every one minute.

Last 24 H: Shows data averaged over the last 24 hours.

7. To view detailed information for a point in time, move the cursor over a point on the graph. A

pop-up dialog appears, as shown in the following example.

8. Click

535-0008-00 Rev 10

Settings & Download again to hide the panel.

Violin 6000 Series Memory Array Users Guide

107

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Monitoring Container, LUN, and Port Data


You can analyze data in different containers, LUNs, and across different ports. This section
demonstrates how to perform each of these tasks.
To monitor a specific container, do the following:
1. Select
2. Click

Monitor > Overview. The Monitoring page appears.

Settings & Download to expand the panel.

3. From the Type drop-down list, choose

General (default setting).

4. (Optional) To save a snapshot of performance data, do the following:


a. Click the

Download check box.


b. Choose a Time Interval from the drop-down list.
c. Click Download as CSV. Data for the specified time interval is saved as a CSV file.

5. (Optional) View detailed information on the container by clicking the blue information (i) icon in

the Current Value panel or next to the Container drop-down list.

6. (Optional) Modify the output display, as described in Customizing the Output Display on page

106.
To monitor a specific LUN, do the following:
1. Select
2. Click

Monitor > Overview. The Monitoring page appears.

Settings & Download to expand the panel.

3. From the Type drop-down list, choose

LUN, then select a name from the LUN drop-down list

on the right.

108

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitor

4. (Optional) View detailed information on the LUN by clicking the blue information (i) icon.
5. Select a Metric from the drop-down list. Click the blue information (i) icon for a description of

each option.
The Current Value panel changes to display the data for the selected metric.
6. (Optional) Modify the output data display, as described in Customizing the Output Display on

page 106.
To monitor a port, do the following:
1. Select
2. Click

Monitor > Overview. The Monitoring page appears.

Settings & Download to expand the panel.

3. Choose a port from the

Type drop-down list, then choose a port name from the drop-down list

that appears to the right.


Note: The General option monitors data for all ports. A port drop-down list does not appear
when this option is selected.
4. (Optional) To view detailed information about the port, click the information (i) icon next to the

port name.

5. Choose a Metric from the drop-down list, as available. Some port selections only provide one

option.
6. (Optional) Modify the output data display, as described in Customizing the Output Display on

page 106.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

109

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Monitor LUNs
You can monitor the performance of selected LUNs in a container. The LUN Monitoring page allows
you to search for and view real-time statistics or historical trends for selected LUNs.

Searching for a LUN


This section demonstrates how to search for a specific LUN or set of LUNs.
To search for a specific LUN, do the following:
1. Select

Monitor > Monitor LUNs. The LUN Monitoring page appears.

2. Enter a string in the search field and press

Enter. Results matching the search string appear

in the panel on the left.

3. Select the LUN so that it highlights. Real-time data for the LUN appears in the panels on the

right.

Analyzing Data for a LUN


You can view and analyze the following performance data types for a selected LUN:

Read/Write Bandwidth
Read/Write IOPs
Read/Write Latency

To analyze the performance for a specific LUN, do the following:


1. Select

Monitor > Monitor LUNs.

2. To find a specific LUN, follow the instructions described in Searching for a LUN on page 110,

then select the LUN so that it highlights.


3. Select one of the following time intervals:

Real Time Displays data as it happens, in real time


1 H Displays aggregated data for the last hour
24 H Displays aggregated data for the last 24 hours
4. Choose a graph type from the drop-down list: Line, Area, Stacked Line, or Stacked Area.
5. Rest the mouse cursor over a point on a graph to view detailed information for that specific

point in time.

110

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitor

Monitor LUN Groups


You can monitor the performance of selected LUN groups in a container. The LUN Group Monitoring
page allows you search for LUN groups and view real-time statistics or historical trends for selected
LUN groups.

Searching for a LUN Group


This section demonstrates how to search for a specific LUN or set of LUNs.
To search for a specific LUN, do the following:
1. Select

Monitor > Monitor LUN Groups. The LUN Monitoring page appears.

2. Enter a string in the search field and press

Enter. Results matching the search string appear

in the panel on the left.


3. Select the LUN group so that it highlights. Real-time data for the LUN group appears in the

panels on the right.

Analyzing LUN Group Data


You can view and analyze the following performance data types for a selected LUN group:

Read/Write Bandwidth
Read/Write IOPs
Read/Write Latency

To analyze the performance for a specific LUN, do the following:


1. Select

Monitor > Monitor LUN Groups.

2. To find a specific LUN, follow the instructions described in Searching for a LUN Group on page

111, then select the LUN Group so that it highlights.


3. Select one of the following time intervals:

Real Time Displays data as it happens, in real time


1 H Displays aggregated data for the last hour
24 H Displays aggregated data for the last 24 hours
4. Choose a graph type from the drop-down list: Line, Area, Stacked Line, or Stacked Area.
5. Rest the mouse cursor over a point on a graph to view detailed information for that specific

point in time.

Monitor Targets
You can analyze performance data for target ports in time statistics, as well as using historical
trends.

Note: Fibre Channel data is shown in frames per second. InfiniBand data is shown in packets per

second.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

111

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Selecting a Target Port


The target ports configured for your system are easily accessible from the Monitor Targets page.
To select a target port for monitoring, do the following:
1. Select

Monitor > Monitor Targets. The Target Port Monitoring page appears. Statistics for
each target port are shown in the left panel, with real time data in a graph format on the right.

2. Select a port name from the list on the left so that it highlights. The graphs on the right side of

the window change to display data for the selected target.

Analyzing Data for a Target


You can analyze target data in real-time or as historical trends, and choose from a variety of display
formats.
To analyze data for a selected target port, do the following:
1. Select

Monitor > Monitor Targets. The Target Port Monitoring page appears.

2. Choose a target port, as described in Selecting a Target Port on page 112.


3. Select one of the following time intervals for data analysis:

Real Time Displays data as it happens, in real time


1 H Displays aggregated data for the last hour
24 H Displays aggregated data for the last 24 hours
4. Choose the graph type from the drop-down list on the right.

Line

Area

Stacked Line

Stacked Area

The following example shows port data using a Stacked Area graph.

112

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Administration
The Administration page of the Violin Web Interface provides a single point of contact where you
can perform a wide range of Memory Gateway administration tasks.
The following table provide a list of tasks and their associated functions. Click a hyperlink to jump
directly to the task.
Function Page

Cluster Admin

Tasks

Viewing Software Version and Boot Images on page 114

Viewing Current Network Settings on page 122

Specifying Call Home Settings on page 128

Tools

Adding and Removing Feature Licenses on page 139

Information

Accessing Context-Sensitive Help on page 141

Network

Notification

535-0008-00 Rev 10

Rebooting or Shutting Down a Memory Gateway on page 114


Changing and Saving Configuration Files on page 115
Viewing Gateway Node Details on page 115
Viewing Alerts on page 116
Searching for and Viewing Logs on page 117
Generating and Downloading Combined Log Files on page 118
Managing User Accounts on page 119
Viewing Node Versions on page 122
Changing the Cluster Management Address on page 123
Modifying Global Default Gateway Settings on page 123
Viewing and Modifying DNS Settings on page 124
Viewing and Modifying NTP Settings on page 125
Viewing and Modifying Web Admin Settings on page 126
Viewing Gateway Node Details on page 115
Managing E-mail Settings on page 129
Managing E-mail Notifications on page 132
Managing SNMP Settings on page 134
Managing SNMP Traps on page 136

Accessing a Full PDF Version of this Guide on page 141


Viewing System, License, and Copyright Information on page 142

Violin 6000 Series Memory Array Users Guide

113

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Cluster Admin
Cluster administration includes configuration and management tasks for the nodes in a cluster. A
cluster consists of the two Memory Gateway nodes, a master node and a standby.
The Master Memory Gateway is the current master node in the cluster. The master node works
together with a standby node to manage the availability of the cluster.

Viewing Software Version and Boot Images


The Software section of the Cluster Admin page shows the current software version running on the
Memory Gateways, as well as the boot images. Two boot images are installed for each Memory
Gateway, each in a separate partition.
To view the software version and choose a boot image, do the following:
1. Select

Administration > Cluster Admin > Reboot.

2. To view the version of software running on the Memory Gateway, look at the

Software

Version section of the Software panel.


3. To view the installed boot images, look at the

Installed Images section of the Software panel.

Rebooting or Shutting Down a Memory Gateway


You can reboot or shut down a Memory Gateway through the Violin Web Interface.

ShutdownStops a Memory Gateway node or removes the node from the cluster for planned
maintenance.

RebootRestarts a Memory Gateway node, clearing its data but retaining the existing
configuration settings. In a cluster, the standby Memory Gateway takes over while the
previously active master node reboots.

Caution: Rebooting a Memory Gateway node may cause a temporary decline in overall performance.

To reboot or shut down a Memory Gateway node, do the following:


1. Select

Administration > Cluster Admin > Reboot.

The Cluster Administration page displays information on the current software version, the
installed software image, and configuration files. Two boot images are installed for each
Memory Gateway in separate partitions.
Note: Rebooting the system will take several minutes to complete.
2. Do one of the following:

114

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To reboot the system, click Reboot. In a cluster configuration, the standby Memory
Gateway takes over while the master reboots.
To shut down the system, click Shutdown. In a cluster configuration, the standby Memory
Gateway takes over when the master is shut down.
A pop-up dialog appears.
3. Click

OK to continue with the reboot process, or Cancel to quit without rebooting or shutting
down the system.

WARNING! After the system is shut down, you will have to manually power it back on.

Changing and Saving Configuration Files


You can save the current Memory Gateway configuration to a specified file, apply a previously
saved configuration to the cluster (whether a local file or on a remote server), and delete old
configuration files.
The currently active configuration is marked as Active in the configuration table. The Status column
indicates which configuration file is active. The active file is backed up as <filename>.bak.
To save, apply, or delete a Memory Gateway configuration file, do the following:
1. Select

Administration > Cluster Admin > Reboot.

2. To apply a previous configuration to the Memory Gateway, select the check box next to the

Config Name and click Apply.

3. To save the current Memory Gateway configuration, enter a unique name in the

Save

configuration as field, and click Save.


4. To delete a configuration, select the check box next to the

Config Name and click Delete.

Viewing Gateway Node Details


The Gateways page lists all the Memory Gateways (nodes) in the cluster, their status (online/
offline), their role (master node, standby node), and notification of unsaved changes
To view Memory Gateway cluster node details, do the following:
1. Select

Administration > Cluster Admin > Gateways.

The Gateways page displays a list of active nodes.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

115

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

2. To change the number of nodes displayed per page, select a number from the

Display drop-

down list and click Apply. The range of display alerts appears between the Prev and Next
hyperlinks.
3. To view detailed information on a particular node, click the Gateway node link in the list.

The View Gateway page shows the internal and external IP addresses, the nodes role and
status, uptime, software version, and the name of its installed image. The page also shows the
amount of DRAM installed on the node.

4. Click

Show Gateway List to return to the list of Gateway nodes.

Viewing Alerts
The Alerts page shows a listing of current and past system events that triggered an alert. Select the
types of alerts to display (informational, warning, or error) and click the APPLY button.
To view cluster alerts, do the following:
1. Select

Administration > Cluster Admin > Alerts.

2. To change the types of alerts that appear in the list, deselect or select the check box next to

the Show icon: Info, Warning, Error. A check mark indicates that the alert type is selected to
appear in the list.
3. Click the

Next to page forward through the list and Prev to go back.

4. To change the number of alerts displayed on a page, choose a number from the Display drop-

down list and then click Apply.

116

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Searching for and Viewing Logs


The Web Interface allows you to easily view a listing of logged events. You can choose between
viewing current and historical logs in paginated format. Log files are rotated once a day.

Note: You can only view logs for the current master gateway using the Violin Web Interface.

To view logs, do the following:


1. Select

Administration > Cluster Admin > Logs.

2. Select a

Log File from the drop-down list, and click Apply. The current log is the default.

3. To navigate to the desired log page, do any of the following:

Click Next (>) to page forward through the log files and Prev (<) to go back a page.
Click the double greater-than arrows (>>) to jump to the last page, and the double lessthan arrows (<<) to jump back to the first page.
Enter a log page number in the Go to Page text field and press Enter to go directly to a
page.
4. To go to the most recent log entries, click the double arrow icon (>>) last available page in the

log and scroll to the bottom.


Note: The Log File field displays the top file in the drop-down list (Current log). It does not

display the name of the log file that you are viewing, which appears directly below the Log File field.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

117

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Generating and Downloading Combined Log Files


You can generate a user-selected set of log files from Memory Gateways and Memory Arrays, then
download the file onto a local machine.
To generate and download a combined log file, do the following:
1. Select

Administration > Cluster Admin > Logs.

2. In the Download the Combined Log Files panel, choose one of the following options from the

Generate the Combined Log File drop-down list:


All (Gateways + Arrays) generates a combined log file for all the Memory Gateways and
Memory Arrays.
All Gateways generates a combined log file for all the Memory Gateways.
All Arrays generates a combined log file for all the Memory Arrays.
mg-a generates a combined log file for the mg-a Memory Gateway.
mg-b generates a combined log file for the mg-b Memory Gateway.
acm-a generates a combined log file for the acm-a Memory Array.
acm-b generates a combined log file for the acm-b Memory Array.
3. Click

Start.

The generation generally takes a few minutes to complete. The Generation Status line apprises
you of the progress. When the combined log file is generated, the Download button becomes
active.

4. Click

Download to save the newly generated combined log file to the local machine.

When active, the Download button has a mouse-over ToolTip that shows the log file name,
which includes a time stamp showing when the file was generated. The combined log files are
contained in a single .tar file.

118

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Managing User Accounts


User Management displays the name, role, email address, and password status of each user
account for the cluster. This section demonstrates how to perform the following tasks:

Deleting a User Account on page 121


Changing an Account Password on page 120
Editing a User Account on page 120
Deleting a User Account on page 121

Understanding User Roles and Privileges

A users assigned role determines the level of privileges they have in accessing and administering
the cluster. Some of parameters are only visible or configurable by users with certain roles
(privileges). The available roles and their privileges are as follows:
User Role

Privileges

admin

A user who can perform all administration and


configuration tasks.

monitor

A user who can only access pages that show status


information for monitoring purposes.

Table 2.12 User Roles and Privileges


Adding a User and Specifying a Role

An Admin user can add new users and define their account privileges.
To add a new user account and define the access privileges, do the following:
1. Select

Administration > Cluster Admin > Users.

2. At the bottom of the page, click Add

New User. The Add New User dialog appears.

3. Specify the following account information:

User Name: Enter a user name for login credentials.


Role: Select a role from the drop-down list, admin or monitor. For more information, see
Understanding User Roles and Privileges on page 119.

4. Click

OK to add the new account, Cancel to abort the action, or Reset to clear the fields and
start over.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

119

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Changing an Account Password

An Admin user can set or reset the passwords and define access privileges for other user accounts.
To add a new user account and define the access privileges, do the following:
1. Select

Administration > Cluster Admin > Users.

2. Next to the user name, click

Change Password. The Change Password dialog appears.

3. Specify the following information:

User Name: Enter the user name for the login credential.
Password: Enter the new password.
Confirm: Re-enter the new password.

4. Click

OK to accept the change, Cancel to abort the action, or Reset to clear the fields and
start over.

Editing a User Account

An Admin user can change an existing user account, modifying personal and contact information.
To edit an existing user account, do the following:
1. Select
2. Click

Administration > Cluster Admin > Users.

Edit for the desired user. Edit User dialog appears.

3. Change the following account information, as necessary:

120

Role: Select a role from the drop-down list, admin or monitor. For more information, see
Understanding User Roles and Privileges on page 119.
First Name: Enter the users first name.

Last Name: Enter the users last name.


Email Address: Enter the users email address.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

4. Click

OK to accept the changes, Cancel to abort the action, or Reset to clear the fields and
start over. If you accept the changes, another dialog appears.

5. Click

OK in the confirmation dialog to save the changes. The results appear in the User
Management panel.

Deleting a User Account

An Admin user can delete the accounts of other users.


To delete a user account, do the following:
1. Select
2. Click

Administration > Cluster Admin > Users.

Delete next to the account name you want to remove. A confirmation dialog appears

3. Click

Yes to confirm you choice, or No to cancel the action. If you click Yes, the user account
is deleted from the list.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

121

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Viewing Node Versions


The Versions page shows the software version running on each Memory Gateway and identifies the
current boot image. It also shows how long each Memory Gateway has been running (Uptime) and
identifies the boot Memory Gateway and next Memory Gateway to be booted (Boot/Next).
To view version details for a Memory Gateway node, do the following:
1. Select Administration > Cluster Admin > Versions. The Versions page appears with a list of

active cluster nodes and the following information for each:

Gateway ID: Node name


Uptime: How long each node has been running
Version: Software version running on the node
Boot/Next: The boot Memory Gateway and next Memory Gateway to be booted
Violin Cluster ID String: Current boot image

2. View more details on a node, click the Gateway ID link on the left. The View Gateway page

appears, as described in Viewing Gateway Node Details on page 115.

Network
The Network Web Interface pages provide network configuration information for the cluster, and
allows you to manage the cluster address and global default gateway.
The tasks you can perform on these pages are intended for network administrators, and require
Admin user access privileges. The cluster management address (also known as the virtual IP
address, or VIP) is the IP address for the Memory Gateway master.

Viewing Current Network Settings


The Network Settings page allows you to view and modify network settings from one central
location.
To view current cluster network settings, do the following:
1. Select

Administration > Cluster Admin > Network > Network Settings. The Network

Settings page appears.


2. Verify the

Cluster Management Address and Network Mask Length.

The IP address for cluster management is set as part of the initial out-of-the box configuration.
You can change the cluster management IP address and network mask length in this section,
but it is not recommended. Consult with your network architect before changing these values.

122

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

3. Review the

Bonding Mode setting.

This refers to Cluster Interface Bonding. For more information on bonded interfaces, see
Network Bond Commands on page 315.
4. Review the

Routing settings.

This is the address for the default global gateway. You can enable and disable the gateway and
set a new address for the default gateway.
5. Review the cluster

Static and Dynamic Routes.

This is the routing information for the cluster, including destination, mask, gateway, whether the
node is active or static, and the interface.

Changing the Cluster Management Address


You can change the cluster management address (also known at the virtual IP address or VIP) from
the Network Settings page. In most cases, it is recommended that you change the cluster
management address through a serial console using the CLI. However, there are few situations
where changing the cluster management address through the Web Interface is advised, one being
in preparation for a physical move of the devices.

Note: Consult with your network administrator before changing the cluster management address.

If you change this address through the Web Interface, you lose connectivity with the cluster.

To change the cluster management address, do the following:


1. Select

Administration > Cluster Admin > Network > Network Settings. The Network

Settings page appears.


2. In the Cluster Management Address panel, enter an
3. Enter the
4. Click

IP Address in the text field.

Network Mask Length in the text field.

Apply.

Modifying Global Default Gateway Settings


The Network Settings page allow you to specify the Global Default Gateway and then enable or
disable its use.
To modify the global default gateway, do the following:
1. Select

Administration > Cluster Admin > Network > Network Settings. The Network

Settings page appears.


2. To disable the current global default gateway, click

Disable. To re-enable the default gateway,

click Enable.
3. To change the global default gateway, enter the new default gateway address in the text field

and click Set Default Gateway.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

123

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Viewing and Modifying DNS Settings


You can view domain name server (DNS) configurations, add DNS servers, as well as add and
remove domain names from the DNS Settings page.

Note: If one or more IP addresses for DNS servers were set up as part of the initial out-of-the-

box setup, they are listed on this page.

To view configured DNS settings, do the following:


1. Select

Administration > Network > DNS Settings.

2. Go to the DNS Servers panel at the top of the window to view information on the DNS servers

that were configured as part of the initial out-of-the-box setup.

To add and modify name servers, doe the following:


1. Select

Administration > Network > DNS Settings.

2. To modify a configured name server, go to the Add or Modify Name Servers panel and change

the Primary DNS IP address displayed in the text box.


3. To add a second name server, enter an IP address in the

Secondary DNS IP address text

box.
4. To add a third name server, enter an IP address in the

5. Click

Tertiary DNS IP address text box.

Apply.

To add and remove domain names, do the following:


1. Select

Administration > Network > DNS Settings.

2. To remove an existing domain name, go to the

Domain Names panel and select the domain

name from the list. The selected name highlights.

124

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

3. Click

Remove Selected.

4. To add a new domain name, enter the fully qualified domain name in the text field in the Add

New Domain Name panel, then click Add Domain Name.

Viewing and Modifying NTP Settings


The Network Time Protocol (NTP) is a networking protocol for synchronizing the clocks of computer
systems over data networks. You can enable or disable NTP synchronization and add or remove
an NTP server through the NTP Settings page.
When you initially go to the NTP Settings page, information for the NTP server that was configured
in the out-of-box setup is shown.
To enable or disable NTP time synchronization, do the following:
1. Select

Administration > Network > NTP Settings.

2. To enable NTP, click the

Enable NTP Time Synchronization check box. A check mark


appears to show it is enabled. Then click Apply.

3. To disable NTP time synchronization, click the check marked

Enable NTP Time

Synchronization check box. The check mark disappears to show that it is disabled. Then click
Apply.
To enable, disable, or remove an NTP server, do the following:
1. Select

Administration > Network > NTP Settings.

2. To enable an NTP server, click the check box next the server name in the NTP Servers panel.

Then, click Enable Server.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

125

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. To disable an NTP server, click the check box next server name in the NTP Servers panel.

Then, click Disable Server.


4. To remove an NTP server, click the check box next server name in the NTP Servers panel.

Then click Remove Selected Server.


To add an NTP server, do the following:
1. Select

Administration > Network > NTP Settings.

2. Go to the Add New NTP Server panel and enter the new

NTP Server IP address in the text

box.
3. Select a Version from the drop-down list:

3Network Time Protocol (Version 3)

4Network Time Protocol (Version 4)

Note: Ask your network administrator, if you are unsure which version to choose.

4. Specify whether or not you want the new NTP server enabled or disabled by choosing

Yes or

No from the drop-down list.


5. Click

Add NTP Server to add the server to the network.

Viewing and Modifying Web Admin Settings


You can change Web Interface configurations, disable the Violin Web Interface, configure HTTP
and HTTPS, set the inactivity time for automatic logouts, configure cookies, and show the Violin
Web Interface configuration settings.

Caution: Disabling the Violin Web Interface terminates your Web session, after which you can
only access the cluster through the command line interface. For information of the CLI, see
APPENDIX A, CLI Reference on page 287.

126

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To disable Web management, do the following:


1. Select

Administration > Network > Web Admin. The Network Settings page appears.

Note: Web Management must be enabled by default, or you wouldnt be able to access the

Violin cluster through the Web Interface.

2. To disable Web Management, click the Enable Web Management check box to deselect this

feature. The check mark disappears, turning off the function.


3. Click

OK to disable Web Management.

Note: After you disable the Violin Web Interface, the only way to access the Web Interface again

is to use the web enable command in the CLI. For more information, see APPENDIX A, CLI
Reference on page 287.

To set Web configurations, do the following:


1. Select

Administration > Network > Web Admin. The Network Settings page appears.

2. Go to the Web Configurations panel, and specify the following options:

Enable HTTPEnables (or disables) HTTP on the specified port.

HTTP PortPort 80 is the default. Change this to a different free and unused port to
access the Violin Web Interface in the following format:
http://<Management IP address or vCLUSTER name> <port#>/

Enable HTTPSEnables (or disables) HTTPS on the specified port.

HTTPS PortThe default is 443. Change it to another available port as described in


HTTP Port setting above.

Web UI Inactivity Timeout (secs)Enables automatic logout and disconnect of the Web
Interface connection to the cluster after a specified period of inactivity. The default auto
logout timeout is 9000 seconds (15 minutes).

Web Session Renewal (secs)Time in seconds before the Violin Web Interface session
cookie expires.

Web Session Timeout (secs)Time in seconds before the Violin Web Interface session
cookie times out.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

127

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Click

Apply to save the configurations, or Cancel to return to the previous settings.

Notification
Web Interface notifications provide a means of delivering messages to a set of recipients when an
event or alert occurs. For example, an e-mail can be sent to the administrator when the chassis
internal temperature exceeds a specified threshold.
The Notification function allows you to manage the following:

Call Home
Email Settings
Email Events
SNMP Settings
SNMP Events

Specifying Call Home Settings


The Email (Call Home) Settings page allows you to enable email alerts in the following ways:

Auto SupportEnables the cluster to report alerts and critical events to a specified email
address. Auto Support requires an SMTP server and email domain name.

Fault ReportingSpecifies the SMTP server and mail domain name used for call-home
messages. These settings are also used for alerts.

To enable auto support and fault reporting, do the following:


1. Select

Administration > Notification > Call Home.

2. Select the Enable Auto Support Notifications check box. A check mark appears. To turn this

feature off, select the check box again. The check mark disappears.
3. In the Fault Reporting section, it is recommended that you keep the default

callhome.vmem.com. This ensures that Violin Memory Customer Support is notified in the
case of a system critical issue.
4. Enter the Mail Domain Name in the text field, and then click

128

Violin 6000 Series Memory Array Users Guide

Apply.

535-0008-00 Rev 10

Administration

Managing E-mail Settings


You can configure email settings and addresses to receive alerts from the vSHARE cluster. Call
Home settings are used to send the alerts. For information on how to enable Call Home settings,
see Specifying Call Home Settings on page 128.
This section demonstrates the following:

Enabling Email Alerts on page 129


Configuring the Email Server on page 130
Configuring SMTP Authentication on page 130
Managing Alert Recipients on page 131

Enabling Email Alerts

You can specify whether or not to receive alerts from the vSHARE cluster. Call Home Settings
entries are used to send the alerts. For information on how to enable Call Home settings, see
Specifying Call Home Settings on page 128.
To enable email alerts, do the following:
1. Complete the task as described in To enable auto support and fault reporting, do the following:

on page 128.
2. Select

Administration > Notification > Email Settings.

3. In the top section of the Email Settings page, select the

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Enable Email Alerts check box.

129

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

4. Click

Apply to accept, or Cancel to deactivate the setting.

5. Go on to complete Configuring SMTP Authentication on page 130.


Configuring the Email Server

You can configure the email server that handles event notifications in the

Note: Go to Managing E-mail Notifications on page 132 for information on how to specify the

types of events for which you want to be notified.

To configure the email server for notifications, do the following:


1. Select

Administration > Notification > Email Settings.

2. In the Email Configuration panel, specify the following information:

Mail Hub: Enter the mail hub fully qualified domain name (FQDN), such as
callhome.example.com.
Mail Hub Port: Enter the port number for the mail hub.

Mail Return Address: Enter an email return address. Use do-not-reply, if you do not
want to receive responses to alert notifications.

Mail Return Domain Name: Enter a domain name for return mail, or leave blank to use
the system domain name.

Include Host Name to Return Address: Clear this check box to remove the host name
from the return email address.

3. Click Apply to accept the

Current Return Email Address, or Cancel to modify the return

email address using the previously described fields.


4. Go on to complete Configuring SMTP Authentication on page 130.
Configuring SMTP Authentication

SMTP Authentication (SMTP AUTH) is an extension of the Simple Mail Transfer Protocol (SMTP).
When enabled, an SMTP client logs in using an authentication mechanism supported by the SMTP
server.
The following task demonstrates how to set up SMTP authentication for the e-mail server from
which email alerts will be sent.
To configure SMTP authentication, do the following:
1. Select
130

Administration > Notification > Email Settings.


Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

2. In the SMTP Authentication Configuration panel, select the

Enable SMTP Authentication

check box. A check mark appears, showing that SMTP Authentication turned on.
3. Enter the following information in the appropriate text fields:

Authentication Username: The user name for the authentication credentials


Authentication Password: The password for the authentication credentials

4. Click

Apply to save your configuration entries, or Cancel to delete them and start over.

5. Go on to complete Managing Alert Recipients on page 131.


Managing Alert Recipients

The Alert Recipient Management section shows information about the current e-mail notification
recipient, if one is configured.
You can edit the account for an existing alert recipient, add new recipients, delete recipients, and
send test e-mails to recipients.
To edit, delete, add and verify alert recipients, do the following:
1. Select

Administration > Notification > Email Settings, and go to the Alert Recipient

Management panel.

2. To edit an existing alert recipient click

Edit next to the recipients name, then in the dialog that

appears, specify the following:

Recipient Email Address: Enter a new email address for the recipient in the text field, if
needed.

Get Details? Select this check box to receive alerts as specified by the Call Home

Get Infos? Select this check box to receive less urgent informational events, or deselect

Settings page, or deselect the check box to turn off this option.

535-0008-00 Rev 10

the check box to turn off this option.


Get Failures? Select this check box to receive notifications on failure events (such as file
system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

Violin 6000 Series Memory Array Users Guide

131

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. To add a new recipient click Add a New Recipient, then in the dialog that appears, specify the

following:

Recipient Email Address: Enter an email address for the recipient in the text field, if
needed.

Get Details? Select this check box to receive alerts as specified by the Call Home

Get Infos? Select this check box to receive less urgent informational events, or deselect

Get Failures? Select this check box to receive notifications on failure events (such as file

Settings page, or deselect the check box to turn off this option.
the check box to turn off this option.

system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

4. To delete an alert recipient click

Delete next to the recipients name, then in the dialog that


appears click OK to confirm or No to cancel the action.

5. To send a test email to all alert recipients, click

Send Test Email and OK to approve, or

Cancel to abort the task.


Managing E-mail Notifications
You can individually select from the types of e-mail notification events you want to receive. The
notifications are sent to specified alert recipients, as described in Managing Alert Recipients on
page 131.
Selecting Email Events

You can intuitively select notification events to be sent to alert recipients as specified in Managing
Alert Recipients on page 131.

132

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To select events for email notification, do the following:


1. Select

Administration > Notification > Email Events.

2. Select the desired events from the list using the following actions:

Expand and collapse a category by clicking the arrow next to its name, or click Show All to
view all events or Hide All to collapse all categories.

Choose from the following global event actions:


Select All: Selects all events
Select None: Deselects all events
Reset Defaults: Returns to system default selections

Select individual events in a category by clicking the check box next to the name. A check
mark appears when the event is selected. Select the event again to deselect the event
and remove the check mark.
Select all the events in a category by clicking the check mark icon on the right side of the
header.

Deselect all selected events in a category by clicking the X icon on the right side of the
header.

Reset the selections for a category to the default selections by clicking the star icon on the
right side of the header.

3. Click

535-0008-00 Rev 10

Apply to accept your selections, or Cancel to return to the previous settings.

Violin 6000 Series Memory Array Users Guide

133

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Managing SNMP Settings


You can individually configure several types of SNMP settings through the Web Interface. Simple
Network Management Protocol (SNMP) is an Internet standard protocol for managing and
monitoring devices on an IP network. For more information, see APPENDIX F, SNMP Traps on
page 433.
This section covers the following:

Enabling SNMP Management on page 134


Configuring SNMP on page 134
Setting SNMP Trap Sinks on page 135

Enabling SNMP Management

You can interactively enable and disable SNMP Management from the SNMP Settings page.
To enable or disable SNMP management on your system, do the following:
1. Select

Administration > Notification > SNMP Settings.

2. In the upper panel, select the Enable SNMP Management check box. A check mark appears

to show SNMP Management is turned on.

3. To disable SNMP Management, select the check box again. The check mark disappears.
4. Click

Apply to activated your selection, or Cancel to return to the previous state.

Configuring SNMP

You can configure SNMP, including settings for the Read-only Community and SNMP Traps
Community.

134

An SNMP TRAP is a message that is sent out when a significant system event is detected. A
trap sink community defines a host and a community string pair. The community string is the
most basic form of SNMP security.

SNMP community strings are like passwords for network elements. One community string is
often used for read-only access with the default set to public. The read-only string is used for
the transfer of data between devices.

A read-write community string is used less often, with a default value of private. The readwrite community string provides the ability to change MIB variables on the device.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To configure SNMP settings, do the following:


1. Select

Administration > Notification > SNMP Settings.

2. In the SNMP Configuration panel, enter the following information the appropriate text fields:

SNMP Port: The port number assigned for SNMP traffic


System Location: IP address of the SNMP server
System Contact: The email address for the system administrator

3. Enable or disable the following options by selecting the check box next to the option, then from

the drop-down list choose between Public, or Private:

Read-Only Community
SNMP Traps Community

4. Click

Apply to activated your selection, or Cancel to return to the previous state.

Setting SNMP Trap Sinks

A trap sink defines a host and a community string pair. When a trap event occurs the SNMP agent
sends out a trap to each host in the trap sink list using the community string. This section shows
you how to configure a trap sink list, by removing, enabling, disabling, and adding SNMP servers
(hosts) to be included in the list.
The SNMP Trap Sinks panel lists configured SNMP servers, their type-version (type of security
implemented as related to the version of SNMP), if SNMP management is enabled or not, and the
community configuration. For more information on the available SNMP traps, see Available Traps
on page 438.
To remove, enable, or disable SNMP trap sink servers, do the following:
1. Select

Administration > Notification > SNMP Settings.

2. To remove an SNMP server, do the following:


a. Go to the SNMP Trap Sinks panel.
b. Select the SNMP server from the list.
c. Click

535-0008-00 Rev 10

Remove Selected Server.

Violin 6000 Series Memory Array Users Guide

135

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. To enable or disable an SNMP server, do the following:


a. Go to the SNMP Trap Sinks panel.
b. select the SNMP server from the list.
c. Click

Enable Server or Disable Able Server.

To add new SNMP Trap Sinks, do the following:


1. Select

Administration > Notification > SNMP Settings.

2. Go to the SNMP Trap Sinks panel and under Add New SNMP Trap Sinks, enter the

SNMP

Server IP address in the text field.


3. From the Type-Version drop-down list, choose one of the following:

Trap-v1: Implements community-based security


Trap-v2: Implements party-based security

4. From the Enable Server drop-down list, choose

Yes or No.

5. From the Community drop-down list, choose Public or Private. For more information on these

options, see Configuring SNMP on page 134.

6. Click

Add SNMP Server.

Managing SNMP Traps


You can individually select from all available SNMP notification events. For information on using
MIB Browsers to help manage SNMP, see Benefits of Using a MIB Browser on page 434.

Note: The notifications are sent to the email address specified on Administration > Notification >

Email Settings page. For more information, see Configuring SNMP on page 134.

Selecting SNMP Traps Events

The SNMP Traps Events page allows you to interactively select SNMP trap events for which
notifications are sent. For information on the available SNMP traps, see Available Traps on page
438.

136

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To select events for email notification, do the following:


1. Select

Administration > Notification > SNMP Events.

2. Select the desired SNMP traps events using the following actions:

Expand and collapse a category by clicking the arrow next to its name, or click Show All to
view all events or Hide All to collapse all categories.

Choose from the following global event actions:


Select All: Selects all events
Select None: Deselects all events
Reset Defaults: Returns to system default selections

Select individual events in a category by clicking the check box next to the name. A check
mark appears when the event is selected. Select the event again to deselect the event
and remove the check mark.
Select all the events in a category by clicking the check mark icon on the right side of the
header.

Deselect all selected events in a category by clicking the X icon on the right side of the
header.

Reset the selections for a category to the default selections by clicking the star icon on the
right side of the header.

3. Click

535-0008-00 Rev 10

Apply to accept your selections, or Cancel to return to the previous settings.

Violin 6000 Series Memory Array Users Guide

137

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

Tools

Upgrade
Feature Licenses

Upgrading the Violin Cluster


You can upgrade the software running on the Memory Array through the Web Interface. This
includes both the Memory Array firmware and the Memory Gateway software.You can choose from
two upgrade scenarios: immediate reboot and staged reboot.

Note: Before attempting to upgrade the system, always review the latest Release Notes for the
most up-to-date instructions, information on the necessary software image, and required upgrade
paths.

To upgrade the Memory Array software, do the following:


1. Select

Administration > Tools > Upgrade.

2. Check the status of the nodes in the cluster. Resolve any problems, before continuing with the

upgrade.
Note: If the node count does not match the expected number during an upgrade, you are
prompted with an option to force the upgrade. Warnings of an unexpected node count also
appear on the header status, cluster summary page, index page, versions page, and upgrade
page.

138

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

3. Do one of the following:

Enter a URL or the name of an image in the Upgrade from URL or image text box.
Select a file name from the Available Images drop-down list. When you select an image
from this list the name of the image automatically appears in the Upgrade from URL or
image text box.

Note: If you select a URL image for the upgrade and have a slow Internet connection, your
login session may time out before the image download is complete. As a workaround, you can
temporarily extend the timeout period on the Administration > Web Admin page.
4. Select one of the following upgrade modes by clicking the radio button:

Immediate reboot: Upgrades the ACMs and the Memory Gateways immediately. This IS
NOT a non-destructive upgrade.
Staged reboot: Upgrades only the Memory Gateways at specified intervals, or stages. This
is a non-destructive upgrade.

Note: You are logged out of your browser session when the master Violin Memory Gateway

reboots.

5. Click

Upgrade to proceed, or Abort to cancel the upgrade.

WARNING! Once an upgrade has begun, aborting the upgrade is not recommended. Doing so

may leave the cluster in an inconsistent state.

Adding and Removing Feature Licenses


The Administration > Feature Licenses page allows you to add or remove feature licenses. A list
of currently installed licenses appears at the top of the window.
Adding a New Feature License

Adding a new feature requires a license key. You must obtain from your Violin Memory Customer
Support representative before you begin the following procedure.
To add a new feature license, do the following:
1. Select

Administration > Notification > Feature Licenses.

2. In the Add New Licenses panel, enter the license key for the new features in the text box.
Note: If you are adding more than one license, enter each key on a new line.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

139

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

3. Click

Add Licenses. The new feature license appears in the Installed Licenses panel at the

top of the window.


Removing a Feature License

You can easily remove installed feature licenses, either individually or all at once, using the following
procedure.
To remove a license, complete the following steps:
1. Select

Administration > Feature Licenses.

2. In the Installed Licenses panel at the top of the window, select the check box of the licenses

you want to remove, as shown in the following example.

3. Click

Remove Selected Licenses.

Information
The Information function provides easy access to the following:

DocumentationInformation on how to access context-sensitive online help, along with a


link to a PDF version of this guide, and another link to download Adobe Acrobat Reader for
viewing. This page also provides a link to the SNMP MIB files for the current software release.

AboutShows which version of the Memory Gateway is running and provides basic
information about trademarks and patents.

Violin LicenseProvides a complete copy of the Violin Memory license.


AcknowledgementsLists copyright and licensing information for the open source
components of the product. Portions of this software product utilize open source copyrighted
material; attribution to copyright holders of such materials along with applicable licensing
terms are included here.

140

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Accessing Context-Sensitive Help


Context-sensitive online help is available for each page in the Web Interface.
To access context-sensitive Help, do the following:
1. Open the Web Interface as described in Logging In to the Web Interface on page 35.
2. On the Web Interface for which you want Help, click the

Page Help button in the upper right

corner of the window.

The help for that page appears, as shown in the following example.

3. Click

Hide Page Help to close the Page Help panel, as shown in the previous example.

Accessing a Full PDF Version of this Guide


You can open a searchable PDF version of this guide from the Web Interface.
Prerequisite

To view the searchable PDF version of this guide, you must have Adobe Acrobat Reader installed.
You can download Adobe Acrobat Reader free from the Adobe Reader Web page.
To access a full PDF version of this guide, do the following:
1. Select

Administration > Information > Documentation.

2. Click the book icon, as shown in the following example.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

141

Chapter 2 - Manage, Monitor, and Administer with the Violin Web Interface

A new tab opens in the browser, displaying a full PDF version of this guide.
3. To save a copy of the guide on your local system, click the Save icon in the upper left corner of

the toolbar, navigate to the appropriate location, and click Save.

Viewing System, License, and Copyright Information


You can easily access information on the system you are logged in to, your Violin Memory license,
as well as all copyrights and other legal notices.
To view system, license, and copyright information, do the following:
1. To view system information, select

Administration > Information > About. A page appears

showing the current version of vSHARE running on your system.


2. To view information on your Violin Memory End User License, select

Administration >

Information > Violin License.


3. To view applicable legal notices and acknowledgements for this release, select

Administration > Information > Acknowledgements.

142

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 3

Manage the Memory Array with the Web


Interface

This chapter provides basic Memory Array monitoring and administrative tasks in
the following sections, focusing on completing the tasks using the Violin Web
interface. If CLI commands are available for a task, references to those sections
are provided.

Introduction to the Memory Array Web Interface on page 143


Logging In to and Out of the Array Web Interface on page 146
Performing Tasks Using the Web Interface on page 148
Viewing Status of the Memory Array on page 148
Monitoring the Memory Array on page 152
Administration on page 154
Monitoring the Memory Array Using the XTree Browser Interface on page 173

See Manage, Monitor, and Administer with the Violin Web Interface on page 31 for
instructions on managing the Memory Gateways that are internal to the Memory
Array.

Introduction to the Memory Array Web Interface


The Memory Array interface is a web-based interface that you can access by
connecting to the Master Array Controller Module (ACM) of the cluster using a Web
browser.
The screens available to you depend on your user privileges. See User Roles on
page 158 for an overview of the privileges available to the two user roles.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

143

Chapter 3: Manage the Memory Array with the Web Interface

High-Level Overview
The streamlined Web interface includes the following interactive components, and is shown in
Figure 3.1.

Main Menu BarDisplays clickable icons for the major functional categories: Home, Monitor
and Administration.

Function Menu BarChanges to display the options for the currently active category. Click an
icon to display the associated page and submenu options.

Online HelpBrings up context-sensitive help for the currently active page.

Software VersionDisplays the version of the software currently running on the Memory
Array.

SessionShows the role of the current user at the right, and exits the session when clicked.
Board Status TabExpands to show status of all the Memory Array modules when clicked.
Click the tab again to hide the Board Status page.

Main Menu Bar

Function Menu Bar

Online Help

Session

Board Status Tab

Software Version

Figure 3.1 Web Interface Organization

144

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Introduction to the Memory Array Web Interface

Web Interface Requirements


This section provides information on the Violin Web interface requirements for browsers, display
resolution, Adobe Flash Player, JavaScript and cookies.
System and Browser Requirements
The following table lists the supported browsers and versions for the Violin Web interface:

Operating System

Linux
Mac

Windows

Supported Browser

Mozilla Firefox 4 and above

Apple Safari 4 and above

Windows Internet Explorer 9 and above

Google Chrome 11 and above


Mozilla Firefox 4 and above
Google Chrome 11 and above
Apple Safari 4 and above
Mozilla Firefox 4 and above
Google Chrome 11 and above

Table 3.1 Supported Web Browsers

The following table lists the recommended software and settings for optimum performance of the
Violin Web interface.

Recommendation

Supported Browser

Display resolution

The minimum recommended display resolution for the Violin


Web interface is 1024 x 768 pixels

JavaScript

JavaScript must be enabled for the Violin Web interface

Adobe Flash Player

Adobe Flash Player version 8 (or above) is required for viewing


charts in the Violin Web interface

Cookies

Enable cookies for login and session management

Table 3.2 Supported Web Browsers

Web Interface Help


There are two types of available help:

Context-sensitive online help for any page in the Web interfaceClick the Page Help button in
the upper right corner of the Web interface.

A full PDF version of this guideSelect Administration > Information > Documentation and
then click the guide cover image to view the PDF.

For more information on available Help, see Information on page 171.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

145

Chapter 3: Manage the Memory Array with the Web Interface

Configuring the Violin Web Interface


Configuration of the Violin Web Interface can be changed by using the Administration > Network
> Web Admin screen or the web commands in the CLI. You can enable or disable the Violin Web
Interface, configure HTTP and HTTPS, set the inactivity time so that you are automatically logged
out when the interval is reached, configure cookies, and show the Web Interface configuration
settings.
See Viewing and Modifying Web Admin Settings on page 167 or APPENDIX A, CLI Reference on
page 287 for descriptions of the CLI commands.

Printing Screens
You can print any screen in the Violin Web Interface by typing CTRL+P and then selecting Print from
the menu.

Logging In to and Out of the Array Web Interface


You must enter a valid user name and password on the Login screen before you can view any
other screens. These credentials are set by the administrator. Contact your administrator if you do
not have a user name and password assigned.
To access the Violin Web Interface and log in, do the following:
1. Open a Web browser, as described in System and Browser Requirements on page 145.
2. In the browser URL field, enter one of the following:

http://<ACM_management_IP_address>

http://<system_hostname>

If you specify the IP address or host name of a cluster node (other than the master), the
connection is automatically redirected to the Master ACM (Array Controller Module).
The Web Interface log in page appears.

146

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Logging In to and Out of the Array Web Interface

3. Enter a valid user name and password in the text fields of the Login page, as shown in the

following example.

4. Click Login. The Array Status page appears.


5. Continue with Viewing Status of the Memory Array on page 148.

Logging Out of the Web Interface


You can log out of the Array from any page in the Web interface.
To log out of your Web Interface Memory Array session, do the following:
1. From any page in the Web interface, go to the upper right hand corner.
2. Click the session icon, as shown in the following example.

The Logout page appears acknowledging that you successfully logged out.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

147

Chapter 3: Manage the Memory Array with the Web Interface

To log back in, click Login Again and re-enter your credentials.

Performing Tasks Using the Web Interface


Some of the tasks described in this chapter can be performed using the Web interface and/or the
Command Line Interface (CLI). The table below lists those tasks and where to find additional
information about both.
Task

Web UI

CLI

Viewing Status of the Memory Array

page 148

page 321

Getting Help

page 172

page 310

Rebooting the Memory Array

page 154

page 239

Powering Off and On Memory Array


Modules

N/A

page 240

Table 3.3 Task Map

Viewing Status of the Memory Array


The Array Status screen appears when you log in and when you click Home.
The screen contains a top section for information about the system as a whole and a lower
sectiondisplayed by clicking Show Board Status tabthat provides information about every
module that is present on the main system board. See Showing Status of the Memory Array
Modules on page 149. This section can be minimized by clicking the Hide Board Status button.

148

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Viewing Status of the Memory Array

Figure 3.2 Array Status Page

The Status screen provides the following status information:

The system name and ID, with the total number of VIMMs in the cluster.

The overall status of the system, includes:

how many VIMMs are in various states (active, spare, booting, etc.)
temperatures of ambient air, controller, and VIMMs (for each Array)
fan status indicators
estimated lifetime of flash storage
status lights: Alarm, Status, and Ready

To view Array statistics, do the following:


1. Select

Home > Array Status. The Array Status page appears.

2. Check alarm status at the right side of the panel.


3. Verify the life span of the flash in the Flash Lifetime panel.
4. Check the health of the Fans. A failed fan displays as red. A problematic fan displays as

yellow. A green box with a white check mark represents a healthy, fully functioning fan.
5. Check the VIMM, Controller, and ambient temperatures. Green is healthy, yellow a caution,

and red a warning.


6. View a high-level synopsis of the flash VIMM statistics in the far left panel.

Showing Status of the Memory Array Modules


You can display a top-down view of all Memory Array modules from the Array Status page.
1. Select

Home > Array Status. The Array Status page appears.

1. Click the Board Status tab.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

149

Chapter 3: Manage the Memory Array with the Web Interface

All of the modules are color-coded with indicator boxes for alarm status, temperature, and
remaining lifetime.

Figure 3.3 Board Status Screen

You can obtain general information about a module by placing the cursor over the module on the
Board Status screen. Click an individual module for more detailed information.

Viewing VIMM Status


The Array Status page can be expanded to view board-level information about a Violin Memory
Array. The Board Status page shows a color-coded array of VIMMs with indicator boxes for alarm
status, temperature, and remaining lifetime.You can move your cursor over a VIMM to view a
detailed status.
To view VIMM statistics, do the following:
1. Select

Home > Array Status, to display the Array Status page.

2. Click the

150

Show Board Status tab.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Viewing Status of the Memory Array

3. Place the cursor over the VIMM for general information. Click the VIMM for more detailed

information about the VIMM. An example is shown below.

Above the VIMMs, you can click a RAID Group number to focus on the VIMMs within the selected
RAID group. Below the VIMMs, you can click a Show category to highlight the following types of
VIMMs:

failed
booting
admin down
spares

Focusing on VIMMs Managed by vRAID Controllers


The Board Status Display provides additional views that allow you to identify which VIMMs are
managed by which vRAID Controller Module (VCM).
1. Select

Home > Array Status, to display the Array Status page.

2. Click the

Show Board Status tab.

3. Click the letter next to VIMM Controller on which you want to focus (A, B, C or D).

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

151

Chapter 3: Manage the Memory Array with the Web Interface

Figure 3.4 shows the VIMMs managed by VCM A.

Figure 3.4 Focus on VIMM Controller

Focusing on Modules Managed by Power Controllers


The Board Status Display provides additional views that allow you to identify which VIMMs are
managed by which Power Controllers.
1. Select

Home > Array Status, to display the Array Status page.

2. Click the

Show Board Status tab.

3. Click the Power Controller letter (A or B) on the bottom left of the Board Status screen.

Monitoring the Memory Array


The Monitor function provides an at-a-glance view of the health and performance of the Memory
Array, and the ability to analyze historical data and real time trends.
The Monitoring page provides a high-level view of real-time or historical data. You can customize
how you view the data, choosing between line and area graphs, time trends, as well as the type of
metrics used to formulate the data.

152

Real Time Performance TrendShows the last five minutes of performance trends for the
selected metric. New real time values are appended into the graph every ten seconds.

Current ValueShows real time data at this time. The graph time is listed at the bottom of the
panel.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitoring the Memory Array

Customizing the Output Display


The following task demonstrates how to customize the data display to suit your needs. You can
specify the visual graph you prefer, the time trend, and the applied metrics.
To customize the data output display, do the following:
1. Select

Monitor > Monitoring. The Monitoring page appears.

2. To specify the real-time performance trend, at the top of the left-most panel choose one of the

following options:

Last 1 H: Shows data averaged every one minute.

Last 24 H: Shows data averaged over the last 24 hours.

3. To view detailed information for a point in time, move the cursor over a point on the graph. A

pop-up dialog appears, as shown in the following example.

Saving a Snapshot of Performance Data


1. Select

Monitor > Monitoring. The Monitoring page appears.

2. To save a snapshot of performance data, do the following:


a. Click the

Download button.
b. Choose a Time Interval from the drop-down list.
c. Click Download as CSV. Data for the specified time interval is saved as a CSV (comma
separated value) file. Once saved, the file can be opened using Microsoft Excel.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

153

Chapter 3: Manage the Memory Array with the Web Interface

Administration
The Administration page of the Violin Web Interface provides a single point of contact where you
can perform a wide range of Memory Array administration tasks.
You must have Admin privileges to perform the following tasks using the Administration function
pages.
Function
Page

Array Admin

Tasks

Rebooting and Shutting Down the Memory Array on page 154

Viewing Current Network Settings on page 163

Specifying Call Home Settings on page 168

Tools

Adding and Removing Feature Licenses on page 170

Information

Accessing Context-Sensitive Help on page 172

Network

Notification

Changing and Saving Configuration Files on page 155


Viewing ACMs on page 156
Viewing Alerts on page 156
Searching for and Viewing Logs on page 157
Viewing ACM Versions on page 157
Changing the Cluster Management Address on page 163
Modifying Global Default Gateway Settings on page 164
Viewing and Modifying DNS Settings on page 164
Viewing and Modifying NTP Settings on page 165
Viewing and Modifying Web Admin Settings on page 167
Managing User Accounts on page 158
Managing E-mail Settings on page 169

Accessing a Full PDF Version of this Guide on page 172


Viewing System, License, and Copyright Information on page 173
Monitoring the Memory Array Using the XTree Browser Interface on page
173

Array Admin
Array administration includes configuration and management tasks for the Memory Array.
Rebooting and Shutting Down the Memory Array
The Cluster Administration page displays information on the current software version, the installed
software image, and configuration files. Two boot images are installed for each ACM in separate
partitions.
The Software section displays the software version number and allows you to choose which boot
image the ACMs should use (the Switch Boot Partition button). Two boot images are installed for
each ACM in separate partitions.

154

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Note: Rebooting the system will take several minutes to complete.


1. Select

Administration > Array Admin > Reboot. The Cluster Administration page appears.

2. Do one of the following:

To reboot the system, click Reboot.


To shut down the system, click Shutdown.
A pop-up dialog appears.
3. Click

OK to continue with the reboot process, or Cancel to quit without rebooting or shutting

down the system.


See Reboot and Shutdown Procedures on page 238 for instructions on performing these operations
using the CLI.

Changing and Saving Configuration Files


You can save the current Memory Array configuration to a specified file, apply a previously saved
configuration to the Memory Array (whether a local file or on a remote server), and delete old
configuration files.
The currently active configuration is marked as Active in the configuration table. The Status column
indicates which configuration file is active. The active file is backed up as <filename>.bak.
To save, apply, or delete a Memory Array configuration file, do the following:
1. Select

Administration > Array Admin.

2. To apply a previous configuration to the Memory Array, select the check box next to the Config

Name and then click Apply.

3. To save the current Memory Array configuration, enter a unique name in the

Save

configuration as field, and then click Save.

To delete a configuration, select the check box next to the Config Name and click Delete.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

155

Chapter 3: Manage the Memory Array with the Web Interface

Viewing ACMs
View ACMs to see a list of all nodes in the cluster. The status of each ACM is normally online
although transition states also occur while the ACM is joining or leaving the cluster.

Select Administration > Array Admin > ACMs. The ACM List page appears.

The Master ACM is the current master control node in the cluster. It works together with a Standby
to manage the availability of the cluster.
To view more detail about an ACM:

Click View to show more details about an individual ACM. Alternatively, you can show the
details by clicking the ACM ID in the ACM column.

This screen shows the software version running on the ACM, its IP addresses, status and role. It
also shows how long the ACM has been running (Uptime).

Viewing Alerts
The Alerts page shows a listing of current and past system events that triggered an alert. Select the
types of alerts to display (informational, warning, or error) and click the APPLY button.
To view alerts, do the following:
1. Select

156

Administration > Array Admin > Alerts.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

2. To change the types of alerts that appear in the list, deselect or select the check box next to

the Show icon: Info, Warning, Error. A check mark indicates that the alert type is selected to
appear in the list.
3. Click the

Next to page forward through the list and Prev to go back.

4. To change the number of alerts displayed on a page, choose a number from the Display drop-

down list and then click Apply.


5. To sort based on the values in a column, click the column heading. Click the heading a second

time to reverse the sorting order.

Searching for and Viewing Logs


The Web interface allows you to easily view a listing of logged events. You can choose between
viewing current and historical logs in paginated format. Log files are rotated once a day.
To view logs, do the following:
1. Select

Administration > Array Admin > Logs. The Memory Array Logs page appears.

2. To navigate to the desired log page, do any of the following:

Click Next (>) to page forward through the log files and Prev (<) to go back a page.
Enter a log page number in the Go to Page text field and press Enter to go directly to a
page.
3. To view an archived log, or to return to the current log after viewing another one, click the Log

File field, select a file from the drop-down list, then click Apply.

The Log File field displays the top file in the drop-down list (Current log). It does not display the
name of the log file that you are viewing, which appears directly below the Log File field.

Viewing ACM Versions


The Versions page shows the software version running on each ACM and identifies the current boot
image. It also shows how long each ACM has been running (Uptime) and identifies the boot ACM
and next ACM to be booted (Boot/Next).
To view version details for a ACM, do the following:
1. Select

Administration > Array Admin > Versions. The Versions page appears with a list of

ACMs and the following information for each:

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

157

Chapter 3: Manage the Memory Array with the Web Interface

ACM ID: ACM name


Uptime: How long the ACM has been running
Version: Software version running on the ACM
Boot/Next: The boot ACM and next ACM to be booted
Array ID String: Current boot image

To view more details on a ACM, click the ACM ID link on the left. The View ACM page appears, as
described in Viewing ACMs on page 156.

Managing User Accounts


User Management displays the name, role, email address, and password status of each user
account for the Memory Array. This section demonstrates how to perform the following tasks:

Adding a User and Specifying a Role on page 159


Changing an Account Password on page 160
Editing a User Account on page 160
Deleting a User Account on page 161

Understanding User Roles and Privileges

The system administrator can permit others to access the Memory Array Web interface and the CLI.
This section provides an overview of the two user roles and the privileges available to each.
User Roles
The Memory Array has two built-in system accounts:

admin with full privileges.


monitor with privileges to read data and perform limited actions.

Caution: Initially these accounts have no password. Setting a password for admin is highly

recommended.

A users assigned role determines the level of privileges they have in accessing and administering
the Memory Array. Some of parameters are only visible or configurable by users with certain roles

158

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

(privileges). The available roles and their privileges are as follows. Privileges are set by assigning
one of the following roles to a user account:
admin:

The administrator role has full privileges to view anything, take any action, or
change any configuration. This role can access every screen in the Violin Web
Interface.

monitor:

The monitor role can read all data and perform some actions, such as rebooting
the system and configuring various system parameters, but cannot change the
configuration of the Violin Memory Array. This role can view some of the screens in
the Web Interface.

The CLI command modes Config, Enable, and Standard correspond to the user roles admin,
monitor, and unpriv, respectively.
You can add user accounts and set their privileges and passwords in the Administration section of
the Violin Web Interface.
Adding a User and Specifying a Role

An Admin user can add new users and define their account privileges.
To add a new user account and define the access privileges, do the following:
1. Select

Administration > Notification > Users.

2. At the bottom of the page, click Add

New User. The Add New User dialog appears.

3. Specify the following account information:

User Name: Enter a user name for login credentials.


User Role: Select a role from the drop-down list, admin or monitor. For more information,
see Understanding User Roles and Privileges on page 158.

4. Click

OK to add the new account, Cancel to abort the action, or Reset to clear the fields and
start over.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

159

Chapter 3: Manage the Memory Array with the Web Interface

Changing an Account Password

An Admin user can set or reset the passwords and define access privileges for other user accounts.
To add a new user account and define the access privileges, do the following:
1. Select

Administration > Notification > Users.

2. Next to the user name, click

Change Password. The Change Password dialog appears.

3. Specify the following information:

User Name: Enter the user name for the login credential.
Password: Enter the new password.
Confirm: Re-enter the new password.

4. Click

OK to accept the change, Cancel to abort the action, or Reset to clear the fields and
start over.

Editing a User Account

An Admin user can change an existing user account, modifying personal and contact information.
To edit an existing user account, do the following:
1. Select
2. Click

Administration > Notification > Users.

Edit for the desired user. The Edit Existing User dialog appears.

3. Change the following account information, as necessary:

160

Role: Select a role from the drop-down list, admin or monitor. For more information, see
Understanding User Roles and Privileges on page 158.
First Name: Enter the users first name.

Last Name: Enter the users last name.


Email Address: Enter the users email address.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

4. Click

OK to accept the changes, Cancel to abort the action, or Reset to clear the fields and
start over. If you accept the changes, another dialog appears.

5. Click

OK in the confirmation dialog to save the changes. The results appear in the User
Management panel.

Deleting a User Account

An Admin user can delete the accounts of other users.


To delete a user account, do the following:
1. Select
2. Click

Administration > Notification > Users.

Delete next to the account name you want to remove. A confirmation dialog appears.

3. Click

Yes to confirm your choice, or No to cancel the action. If you click Yes, the user account
is deleted from the list.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

161

Chapter 3: Manage the Memory Array with the Web Interface

Managing E-mail Settings


You can configure e-mail settings and addresses to receive alerts from the Memory Array. Call
Home settings are used to send the alerts. For information on how to enable Call Home settings,
see Specifying Call Home Settings on page 168.
The Alert Recipient Management section shows information about the current e-mail notification
recipient, if one is configured.
You can edit the account for an existing alert recipient, add new recipients, delete recipients, and
send test e-mails to recipients.
To edit, delete, add and verify alert recipients, do the following:
1. Select

Administration > Notification > Email Settings.

2. To edit an existing alert recipient click

Edit next to the recipients name, then in the dialog that

appears, specify the following:

Recipient E-mail Address: Enter a new email address for the recipient in the text field, if
needed.

Get Details? Select this check box to receive alerts as specified by the Call Home
Settings page, or deselect the check box to turn off this option.
Get Infos? Select this check box to receive less urgent informational events, or deselect
the check box to turn off this option.
Get Failures? Select this check box to receive notifications on failure events (such as file
system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

3. To add a new recipient click Add a New Recipient, then in the dialog that appears, specify the

following:

Recipient Email Address: Enter an email address for the recipient in the text field, if

Get Details? Select this check box to receive alerts as specified by the Call Home

Settings page, or deselect the check box to turn off this option.
Get Infos? Select this check box to receive less urgent informational events, or deselect
the check box to turn off this option.

needed.

162

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

Get Failures? Select this check box to receive notifications on failure events (such as file
system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

To delete an alert recipient click Delete next to the recipients name, then in the dialog that appears
click Yes to confirm or No to cancel the action.

Network
The Network Web interface pages provide network configuration information for the Memory Array,
and allows you to manage the cluster address and global default gateway.
The tasks you can perform on these pages are intended for network administrators, and require
Admin user access privileges. The cluster management address is the IP address for the Violin
Memory Array cluster.

Viewing Current Network Settings


The Network Settings page allows you to view and modify network settings from one central
location.
To view current cluster network settings, do the following:
1. Select

Administration > Network > Network Settings. The Network Settings page appears.

2. Verify the

Cluster Management Address and Network Mask Length.

The IP address for cluster management is set as part of the initial out-of-the box configuration.
You can change the cluster management IP address and network mask length in this section,
but it is not recommended. Consult with your network architect before changing these values.
3. Review the

Bonding Mode setting.

This refers to Cluster Interface Bonding.


4. Review the

Routing settings.

This is the address for the global default gateway. You can enable and disable the gateway and
set a new address for the default gateway.
5. Review the cluster

Static and Dynamic Routes.

This is the routing information for the Memory Array, including destination, mask, gateway,
whether the node is active or static, and the interface.

Changing the Cluster Management Address


Caution: Changing the cluster management address is not recommended. Consult with your

network administrator before changing the cluster management address. If you change this
address through the Web Interface, you lose connectivity with the cluster.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

163

Chapter 3: Manage the Memory Array with the Web Interface

You can change the cluster management address from the Network Settings page. In most cases,
it is recommended that you change the cluster management address through a serial console using
the CLI. However, there are few situations where changing the cluster management address
through the Web Interface is advised, one being in preparation for a physical move of the devices.
To change the cluster management address, do the following:
1. Select

Administration > Network > Network Settings. The Network Settings page appears.

2. In the Cluster Management Address panel, enter an


3. Enter the
4. Click

IP Address in the text field.

Network Mask Length in the text field.

Apply.

Modifying Global Default Gateway Settings


The Network Settings page allow you to specify the Global Default Gateway and then enable or
disable its use.
To modify the global default gateway, do the following:
1. Select

Administration > Network > Network Settings. The Network Settings page appears.

2. To disable the current global default gateway, click

Disable. To re-enable the default gateway,

click Enable.
3. To change the global default gateway, enter the new default gateway address in the text field

and click Set Default Gateway.

Viewing and Modifying DNS Settings


The DNS Servers screen shows the list of DNS servers available to the Memory Array. You can
view domain name server (DNS) configurations, add DNS servers, as well as add and remove
domain names from the DNS Settings page.

Note: If one or more IP addresses for DNS servers were set up as part of the initial out-of-the-

box setup, they are listed on this page.

To view configured DNS settings, do the following:


1. Select

Administration > Network > DNS Settings.

2. Go to the DNS Servers panel at the top of the window to view information on the DNS servers

that were configured as part of the initial out-of-the-box setup.

164

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

To add and modify name servers, do the following:


1. Select

Administration > Network > DNS Settings.

2. To modify a configured name server, go to the Add or Modify Name Servers panel and change

the Primary DNS IP address displayed in the text box.


3. To add a second name server, enter an IP address in the

Secondary DNS IP address text

box.
4. To add a third name server, enter an IP address in the

5. Click

Tertiary DNS IP address text box.

Apply.

To add and remove domain names, do the following:


1. Select

Administration > Network > DNS Settings.

2. To remove an existing domain name, go to the

Domain Names panel and select the domain

name from the list. The selected name highlights.

3. Click

Remove Selected.

Viewing and Modifying NTP Settings


The Network Time Protocol (NTP) is a networking protocol for synchronizing the clocks of computer
systems over data networks. You can enable or disable NTP synchronization and add or remove
an NTP server through the NTP Settings page.
When you initially go to the NTP Settings page, information for the NTP server that was configured
in the out-of-box setup is shown.
To enable or disable NTP time synchronization, do the following:
1. Select

Administration > Network > NTP Settings.

2. To enable NTP, click the

Enable NTP Time Synchronization check box. A check mark

appears to show it is enabled. Then click Apply.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

165

Chapter 3: Manage the Memory Array with the Web Interface

3. To disable NTP time synchronization, click the check marked

Enable NTP Time


Synchronization check box. The check mark disappears to show that it is disabled. Then click
Apply.

To enable, disable, or remove an NTP server, do the following:


1. Select

Administration > Network > NTP Settings.

2. To enable an NTP server, click the check box next to the server name in the NTP Servers

panel. Then, click Enable Server.

3. To disable an NTP server, click the check box next to the server name in the NTP Servers

panel. Then, click Disable Server.


4. To remove an NTP server, click the check box next to the server name in the NTP Servers

panel. Then click Remove Selected Server.


To add an NTP server, do the following:
1. Select

Administration > Network > NTP Settings.

2. Go to the Add New NTP Server panel and enter the new

NTP Server IP address in the text

box.
3. Select a Version from the drop-down list:

3Network Time Protocol (Version 3)

4Network Time Protocol (Version 4)

Note: Ask your network administrator, if you are unsure which version to choose.

166

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

4. Specify whether or not you want the new NTP server enabled or disabled by choosing

Yes or

No from the drop-down list.


5. Click

Add NTP Server to add the server to the network.

Viewing and Modifying Web Admin Settings


You can change Web interface configurations, disable the Violin Web Interface, configure HTTP
and HTTPS, set the inactivity time for automatic logouts, configure cookies, and show the Violin
Web Interface configuration settings.

Caution: Disabling the Violin Web interface terminates your Web session, after which you can
only access the Memory Array through the command line interface. For information of the CLI, see
APPENDIX A, CLI Reference on page 287.

To disable Web management, do the following:


1. Select

Administration > Network > Web Admin. The Network Settings page appears.

Note: Web Management must be enabled by default, or you wouldnt be able to access the

Memory Array through the Web interface.

2. To disable Web Management, click the Enable Web Management check box to deselect this

feature. The check mark disappears, turning off the function.


3. Click

Apply to disable Web Management.

Note: After you disable the Web management, the only way to access the Web Interface again
is to use the web enable command in the CLI. For more information, see APPENDIX A, CLI
Reference on page 287.

To set Web configurations, do the following:


1. Select

Administration > Network > Web Admin. The Network Settings page appears.

2. On the Web Configurations panel, specify the following options:

Enable HTTPEnables (or disables) HTTP on the specified port. Port 80 is the default.
Change this to a different free and unused port to access the Violin Web Interface in the
following format:
http://<Management IP address or vCLUSTER name> <port#>/

Enable HTTPSEnables (or disables) HTTPS on the specified port. The default is 443.
Change it to another available port as described in HTTP Port setting above.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

167

Chapter 3: Manage the Memory Array with the Web Interface

Web UI Inactivity TimeoutEnables automatic logout and disconnect of the Web


interface connection to the Memory Array after a specified period of inactivity. The default
auto logout timeout is 900 seconds (15 minutes).

Session RenewalTime in seconds before the Web interface session cookie expires.

Session TimeoutTime in seconds before the Web interface session cookie times out.

Click Apply to save the configurations, or Cancel to return to the previous settings.

Notification
Web interface notifications provide a means of delivering messages to a set of recipients, when an
event or alert occurs. For example, an e-mail can be sent to the administrator when the chassis
internal temperature exceeds a specified threshold.
The Notification function allows you to manage the following:

Call Home
Email Settings

Specifying Call Home Settings


The Email (Call Home) Settings page allows you to enable email alerts in the following ways:

Auto SupportEnables the Memory Array to report alerts and critical events to a specified
email address. Auto Support requires an SMTP server and email domain name.

Fault ReportingSpecifies the SMTP server and mail domain name used for call-home
messages. These settings are also used for alerts.

To enable auto support and fault reporting, do the following:


1. Select

Administration > Notification > Call Home.

2. Select the Enable Auto Support Notifications check box. A check mark appears. To turn this

feature off, select the check box again. The check mark disappears.
3. In the Fault Reporting section, enter an SMTP Server address in the text field, such as

callhome.example.com.
4. Enter the Mail Domain Name in the text field.

168

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

5. Click

Apply.

Managing E-mail Settings


You can configure e-mail settings and addresses to receive alerts from the Memory Array. Call
Home settings are used to send the alerts. For information on how to enable Call Home settings,
see Specifying Call Home Settings on page 168.
The Alert Recipient Management section shows information about the current e-mail notification
recipient, if one is configured.
You can edit the account for an existing alert recipient, add new recipients, delete recipients, and
send test e-mails to recipients.
To edit, delete, add and verify alert recipients, do the following:
1. Select

Administration > Notification > Email Settings.

2. To edit an existing alert recipient click

Edit next to the recipients name, then in the dialog that

appears, specify the following:

Recipient E-mail Address: Enter a new email address for the recipient in the text field, if

Get Details? Select this check box to receive alerts as specified by the Call Home

needed.

535-0008-00 Rev 10

Settings page, or deselect the check box to turn off this option.
Get Infos? Select this check box to receive less urgent informational events, or deselect
the check box to turn off this option.
Get Failures? Select this check box to receive notifications on failure events (such as file
system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

Violin 6000 Series Memory Array Users Guide

169

Chapter 3: Manage the Memory Array with the Web Interface

3. To add a new recipient click Add a New Recipient, then in the dialog that appears, specify the

following:

Recipient Email Address: Enter an email address for the recipient in the text field, if
needed.

Get Details? Select this check box to receive alerts as specified by the Call Home

Get Infos? Select this check box to receive less urgent informational events, or deselect

Get Failures? Select this check box to receive notifications on failure events (such as file

Settings page, or deselect the check box to turn off this option.
the check box to turn off this option.

system errors, process crashes, and unexpected shutdowns), or deselect the check box to
turn off this option.
Click OK to activate the request, Cancel to abort the request, or Reset to clear the fields
and start again.

4. To delete an alert recipient click

Delete next to the recipients name, then in the dialog that


appears click Yes to confirm or No to cancel the action.

Tools
The Tools pages provide the functions to update or remove feature licenses and upgrade the
Memory Array software.

Adding and Removing Feature Licenses


The Administration > Feature Licenses page allows you to add or remove feature licenses. Some
features require that a license key be present for use. A list of currently installed licenses appears
at the top of the window.
Adding a New Feature License

Adding a new feature requires a license key. You must obtain a license key from your Violin Memory
Customer Support representative before you begin the following procedure.
1. Select

Administration > Tools > Feature Licenses.

2. In the Add New License(s) panel, enter the license key for the new features in the text box.
Note: If you are adding more than one license, enter each key on a new line.

170

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Administration

3. Click

Add Licenses. The new feature license appears in the Installed Licenses panel at the

top of the window.


Removing a Feature License

You can easily remove installed feature licenses, either individually or all at once, using the following
procedure.
1. Select

Administration > Tools > Feature Licenses.

2. In the Installed Licenses panel at the top of the window, select the check box of the licenses

you want to remove, as shown in the following example.

3. Click

Remove Selected Licenses.

Information
The Information function provides easy access to the following:

DocumentationInformation on how to access context-sensitive online help, along with a


link to a PDF version of this guide, and another link to download Adobe Acrobat Reader for
viewing. This page also provides a link to the SNMP MIB files for the current software release.
See About Violin Memory SNMP MIBs on page 433 for more information.

AboutShows which version of the Memory Array software is running and provides basic
information about trademarks and patents.

Violin LicenseProvides a complete copy of the Violin Memory license.


AcknowledgementsLists copyright and licensing information for the open source
components of the product. Portions of this software product utilize open source copyrighted
material; attribution to copyright holders of such materials along with applicable licensing
terms are included here.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

171

Chapter 3: Manage the Memory Array with the Web Interface

Accessing Context-Sensitive Help


The Memory Array provides context-sensitive online help for each page in the Web interface.
1. Open the Web Interface as described in Logging In to and Out of the Array Web Interface on

page 146.
2. On the Web interface page for which you want Help, click the

Page Help button in the upper

right corner of the window.

The help for that page appears, as shown in the following example.

3. Click

Hide Help to close the Page Help panel, as shown in the previous example.

Accessing a Full PDF Version of this Guide


You can open a searchable PDF version of this from the Web interface.
Prerequisite

To view the searchable PDF version of this guide, you must have Adobe Acrobat Reader installed.
You can download Adobe Acrobat Reader free from the Adobe Reader Web page.
To access a full PDF version of this guide, do the following:
1. Select

Administration > Information > Documentation.

2. Click the book icon, as shown in the following example.

172

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Monitoring the Memory Array Using the XTree Browser Interface

A new tab opens in the browser, displaying a full PDF version of this guide.
3. To save a copy of the guide on your local system, click the Save icon in the upper left corner of

the toolbar, navigate to the appropriate location, and click Save.

Viewing System, License, and Copyright Information


You can easily access information on the system you are logged in to, your Violin Memory license,
as well as all copyrights and other legal notices.
To view system, license, and copyright information, do the following:
1. To view system information, select

Administration > Information > About. A page appears


showing the current Memory Array software version running on the system.

2. To view information on your Violin Memory End User License, select

Administration >

Information > Violin License.


3. To view applicable legal notices and acknowledgements for this release, select

Administration > Information > Acknowledgements.

Monitoring the Memory Array Using the XTree


Browser Interface
An XTree browser interface is available as an alternative method for monitoring the Memory Array.
This interface provides links that display information about Violin Memory Gateways and Memory
Arrays, similar to issuing commands from the CLI.
To log in to the XTree interface:
1. Log in to the Violin Web interface. See Logging In to and Out of the Array Web Interface on

page 146.
2. Once logged in to the Memory Array, place your pointer in the address bar at the end of the

Memory Array host name, and then replace what is to the right of the host name with the
following: /xtree/*

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

173

Chapter 3: Manage the Memory Array with the Web Interface

For example:

You should see the Status page.


3. Place your pointer in the address bar in front of the asterisk and then replace what is to the

right with the following: /array/**


For example:

You are now logged into the XTree interface. From here you can view values for and gain
information about many of the Memory Array components, and click a path name to narrow your
search.
To return to the Violin Web Interface, remove what is to the right of the host name from the address
bar and then press Return.

174

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 4

vSHARE Configuration

This chapter describes vSHARE, its features and functions, and the steps required
to configure a Memory Gateway running vSHARE to manage block storage. The
following topics are covered:

Understanding vSHARE on page 175


AIX Compatibility NACA Bit Support on page 179
Configuring Storage Containers on page 180
Configuring Target Ports on page 182
Configuring Initiator Groups on page 187
Working with LUNs on page 190
Configuring Storage Containers on page 180
Working with LUN Groups on page 197

Understanding vSHARE
vSHARE is a solution for block storage management. vSHARE runs as software on
a Memory Gateway enabling host systems (for example, database servers) to use
the following transport protocols to access logical units of data (LUNs) stored within
Memory Arrays:

iSCSI
Fibre Channel (FCP)
InfiniBand (SRP)

On the host system, the LUN appears as a local SCSI disk. The host formats and
partitions the LUN. The storage system sees the contents of a LUN as a set of
blocks of arbitrary data.
Administrators may use vSHARE to define rules for controlling access to LUNs
based on the containers, initiators and initiator groups, and target ports configured
within the system.
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

175

Chapter 4 - vSHARE Configuration

Storage Containers: A storage container comprises a Violin Memory Array. Every LUN
created and managed by vSHARE is created within a storage container. You can create many
LUNS within a container. However, currently there is a one-to-one (1:1) mapping between an
array and a container (one container per array).

Initiators and Initiator groups: An initiator is a host or client that requires access to the LUNs
stored in the containers. Multiple initiators may be grouped together in an initiator group
(igroup). Access to the LUNs in a container may be restricted to specific initiators or initiator
groups.

Targets: A target identifies the port on the Memory Gateway through which the initiator may
access the LUNs stored in a container. Access to the LUNs in a container may be restricted by
target port.

vSHARE System Architecture


The vSHARE architecture is ideal for applications that require rapid access to and processing of
large amounts of data including enterprise databases, data warehouses, application servers, and
Cloud-scale analytics.
A typical vSHARE cluster consists of one or more Memory Gateways running the vSHARE software
application and one or more Violin Memory Arrays.

Figure 4.1 vSHARE System Architecture

The vSHARE application runs on Memory Gateways and allows you to manage LUN and initiatortarget relationships. The Memory Gateways operate as the SAN targets and the hosts (such as a
database server or application server) are the initiators.
The Memory Gateway provides network connectivity, utilizing Fibre Channel, InfiniBand, and iSCSI
protocols. The Memory Gateway provides high performance processing, high bandwidth DRAM,
and high bandwidth access to the Violin Memory Arrays. All LUNs created and managed by
vSHARE. are stored in containers, each container comprises a Violin Memory Array that utilizes
flash memory storage.
For maximum performance, Single Level Cell (SLC) flash is used. For capacity to support readcentric applications, Multiple Level Cell (MLC) should be used. The Memory Gateways and Memory
Arrays are connected via PCIe.

176

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

vSHARE Configuration Overview

Support for vSHARE InfiniBand


InfiniBand (IB) target mode allows you to create LUNs within attached Violin Memory Arrays utilizing
the SCSI RDMA Protocol (SRP). SRP allows one computer to access SCSI devices attached to
another computer through remote direct memory access (RDMA) for higher throughput and lower
latency.

Note: Violin vSHARE IB addresses follow this format: guid.aaaa:bbbb:cccc:dddd. InfiniBand

ports are hca-xy (where x=[a,b], y=[1,2]).

To use the SRP protocol with vSHARE InfiniBand, clients must have the SRP initiator software and
networking hardware listed in this section.
Hardware
Quad Data Rate (QDR) InfiniBand (IB) Host Channel Adapters (HCA) and switches are supported.
In particular, the following QDR IB switches are supported:

Mellanox IS5000 family 36-port QSFP 40Gb/s IB switch (IS5025, IS5030 or IS5035)
Qlogic 12200 Series QDR 36-port Edge Switch

Software
The following software SRP initiators are supported:

VMware SRP initiator, (Mellanox OFED Drivers for VMware vSphere 4 and vSphere 5).
Linux SRP initiator, available since November 2005.
Windows SRP initiator, available through the WinOF InfiniBand stack.

Target Ports
You can view information for InfiniBand target ports using the show targets command. For more
information, see show targets Command on page 186. You can view target statistics using the show
stats ib command. For more information, see iSCSI Commands on page 325.

vSHARE Configuration Overview


Violin vSHARE is the software application that provides block storage functionality on Violin
Memory Gateways. This software supports Fibre Channel and iSCSI targets.
The steps to configure a vSHARE Violin Memory Gateway differ slightly depending on the transport
protocol (Fibre Channel protocol or iSCSI) and the level of security required. However, the basic
process for all transport protocols, includes the following tasks:
1. Configure a container on a Memory Array. For more information, see "Configuring Storage

Containers" on page 180.


2. Configure target ports used to control access to LUNs. For more information, see "Configuring

Target Ports" on page 182.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

177

Chapter 4 - vSHARE Configuration

Note: If you are using Fibre Channel, the target ports are automatically configured when you
create the storage container on the Memory Array. If using iSCSI, the target ports must be
configured manually.
3. Configure initiator groups and initiators. For more information, see Manage Initiators on page

69.
4. Configure LUNs. For more information, see Manage LUNs on page 59.
5. Export LUNs. For more information, see Manage LUNs on page 59.

The following flowchart provides a visual overview of the process for configuring the Memory
Gateway for vSHARE block storage.

Figure 4.2 vSHARE Deployment Flowchart

The vSHARE configuration process consists of the following procedures:

Note: Configuring target ports and initiator groups are optional steps in the vSHARE
configuration process. Organizations that do not want to use LUN-masking can control access to
LUNs through ports or switches. LUN masking is an authorization process used to make a logical
unit number available to some hosts and unavailable to others.
1. Configuring Storage Containers on page 180. This step initializes the Violin Memory Array to

manage block storage and create one or more storage containers (partitions) to manage the
LUNs. To format the Violin Memory Array from vSHARE, the media init command is
required. This command enables you to initialize one or more Memory Arrays to support block
storage. Once a Memory Array has been initialized to support block storage, you may create
one or more storage containers on each Memory Array, which may be used to store and
manage LUNs.
2.

(Optional) Configuring Target Ports on page 182. This step configures the target ports so they
can control access to LUNs. Configuring target ports is useful for security and bandwidth
management.

178

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

AIX Compatibility NACA Bit Support

3.

(Optional) Configuring Initiator Groups on page 187. This step configures the initiator groups,
adding one or more initiators to each initiator group. You can restrict access to LUNs by
initiator group, or on a per-initiator basis.

4. Working with LUNs on page 190.

LUNs are created within a storage container that comprises a particular Violin Memory Array. A
LUN inherits the attributes of the container (Violin Memory Array) in which it is created.

Note: As of this release, one container comprises a Violin Memory Array.


5. Exporting LUNs on page 193. This required step exports the LUNs to the initiator groups or

initiators via target ports. Only those initiator groups or initiators to which the LUN is exported
may access the LUN. Access may be further restricted to a specific target port.

AIX Compatibility NACA Bit Support


LUNs with NACA (Normal Auto Contingent Allegiance) option enabled support a NACA bit set to
one, the CDB control byte of the host SCSI command. This in turn enables AIX to use a queue depth
of more than one. This provides a performance enhancement for IBM AIX systems only.

Caution: This feature is not recommended for use with operating systems other than AIX.

You can turn on (1) this NACA bit support when you create a new LUN, as demonstrated in the
following task. Optionally, you can turn on the NACA option after a LUN is created. This feature is
turned off (0) by default.
For instructions on how to turn on NACA through the Violin Web interface, see described in Creating
and Deleting LUNs on page 62. You have the option of modifying this feature through the Web
interface, as described in Editing LUNs on page 64.
To enable NACA bit support when creating a new LUN, do the following:
1. Connect to the Violin Memory Gateway through a terminal port, such as PuTTY.
2. Enter Configure mode, using the following commands.

> enable
# configure terminal
3. Create a new LUN and enable NACA.

# lun create container <container_id> name <LUN_name> size 5Gb naca


Caution: After the NACA option is enabled, you should only export the LUN to an AIX host.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

179

Chapter 4 - vSHARE Configuration

Configuring Storage Containers


The first step in configuring a vSHARE Memory Gateway is to format the Memory Arrays and create
the containers needed to manage LUNs in the target storage on each memory array.
In vSHARE, LUNs are addressable subsets of the flash memory within a Violin Memory Array.
Every LUN created and managed by vSHARE is created within the storage container that
comprises the Array.

Note: As of this release, one container comprises a Violin Memory Array.

When a LUN is created, it is assigned to a specific container and inherits the attributes of that
container.
Configuring a Storage Container uses the following process:
1. Initializing Violin Memory Arrays on page 180
2. Viewing Containers on page 182

Initializing Violin Memory Arrays


To configure a Violin Memory Array to support block storage, you must first initialize the Violin
Memory Array using the media init command.
This section introduces the media init command and how to use it in the following topics:

Command Syntax and Parameters on page 180


Configuring Block Storage on page 181

Command Syntax and Parameters


This section covers the command syntax for the media init command and lists and explains the
available parameters.
Syntax

media init device <VIOLIN_MEMORY_ARRAY_xxxxxxxxxxxxxx> type [block]


[force][name]
WARNING! Using the force option of the media init command (media init
<device_name> <block_name> force) destroys the existing data on an array. You should not
use this command on a previously initialized array without first backing up the data on the array.

180

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Storage Containers

Parameters

device <device>

type
name

force

The <device> parameter indicates the array to be initialized and is a


string of the form: ataVIOLIN_MEMORY_ARRAY_xxxxxxxxxxxxxx
The type parameter defines media.
The name parameter is used to name the partition. The default is to
use the last 14 characters of the Violin Memory Array serial number.
To use a different name, add this parameter followed by a custom
name of choice. The name can be up to 14 alphanumeric characters
in length.
The force parameter is used to force initialization of a Violin
Memory Array that has already been initialized.

Configuring Block Storage


This section demonstrates the process of initializing a Violin Memory Array for block storage.
To initialize the Violin Memory Array for block storage, complete the following steps:
1. Connect to the Memory Gateway through a terminal port, such as PuTTY.
2. Enter Configure mode, using the following commands.

> enable
# configure terminal
(config) #
3. Enter the media init command to initialize the Violin Memory Array.

(config) # media init device ata-VIOLIN_MEMORY_ARRAY_23108R00000043


type block
This example generated the container ID: 23108R00000043.
4. (Optional) Use the name parameter to create a more intuitive name for the container ID. In the

following example, the generated container ID is changed to FASTBOX1:


(config) # media init device ata-VIOLIN_MEMORY_ARRAY_23108R00000043
type block name FASTBOX1
5. Confirm that you want to initialize the Violin Memory Array.

Really initialize ata-VIOLIN_MEMORY_ARRAY_FASTBOX1 (all data will be


lost)? [no] y
A message confirms that the Violin Memory Array was successfully initialized.
media init completed successfully
SM076 [MY-vSHARE00: standby] (config) #

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

181

Chapter 4 - vSHARE Configuration

Viewing Containers
Once you have initialized the Violin Memory Array, you can see the container that was created. This
section covers how to use the show containers command to view existing containers.
Before a block media device can be used for block storage, it must be enabled. In the following task,
you use the media block id <id> enable command to enable the device.
To view existing containers, complete the following steps:
1. Log on as an administrator to the Memory Gateway attached to Port 1 of the Violin Memory

Array.
2. Use the configure terminal command to enter Configure mode.

# configure terminal
(config) #
3. Enter the media block id all enable command to enable all block containers.

(config) # media <tab>


(config) # media block id all enable
The block parameter ensures that you enable vSHARE. The all parameter ensures that
every block container is enabled.
4. To verify the containers were created, enter the show containers command. Information

about the containers displays.


> enable
HR-mga [cluster: master] # show containers
Container LUNs Total Free Prov Ports HostA HostB Status Encrypted
--------------------------------------------------------------------HR2013
30
10356G 9745G 459G A,B
HR-mga HR-mgb
HA
No

Configuring Target Ports


The second step in configuring a vSHARE Memory Gateway is to configure the target ports. The
target ports control access to a particular LUN, which may be useful for both security and bandwidth
management.
This section covers the following topics:

182

Supported Target Ports on page 183


Configuring Fibre Channel and InfiniBand Target Ports on page 183
Configuring iSCSI Target Ports on page 184

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Target Ports

Supported Target Ports


In a vSHARE system, the Violin Memory Arrays are the targets and the host system (for example,
one or more database servers or application servers) are the initiators. The storage systems have
storage target devices, LUNs, which the hosts access through the Memory Gateway.
vSHARE supports the following target port types:

Fibre Channel
InfiniBand SRP
iSCSI

Every target is a specific port on a hardware Fibre Channel host bus adapter (HBA), InfiniBand host
channel adapter (HCA), or a software-configured target for iSCSI.

For Fibre Channel or InfiniBand, the target ports are present when the Memory Gateway
boots, if the HCAs or HBAs are installed on the system. Creating a container is not necessary.

For iSCSI, the target ports must be configured manually.

Note: The SCSI RDMA Protocol (SRP) is an industry standard protocol for utilizing block storage

devices over an InfiniBand fabric.

A LUN may be exported through multiple target ports of different types. Active-active multipathing
is supported.

Configuring Fibre Channel and InfiniBand Target


Ports
For Fibre Channel or InfiniBand, the target ports are present when the Memory Gateway boots, if
the HCAs or HBAs are installed on the system.
To confirm that the vSHARE system can see the target ports prior to creating the initiator groups,
use the show targets command. The show targets command enables you to view all target
ports, whether Fibre Channel, InfiniBand SRP, or iSCSI.

Note: Mellanox ConnectX-2 InfiniBand HCA is supported in release G5.2.0. Be advised that the
two ports on Mellanox HCAs are not entirely separate entities with respect to target port masking.
Port steering for hca-a1 also uses hca-a2.

show targets Command


The show targets command lists all of the target ports and their addresses (wwn/iqn), filtered by
various options.
Syntax

show targets [node <cluster node id>] [hostname <hostname>]


[protocol <fc/ib/iscsi>] [id <target id>] [sessions] [detail]

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

183

Chapter 4 - vSHARE Configuration

Parameters

[node <cluster node id>]

Displays targets on node ID.

[hostname <hostname>]

Displays targets on hostname.

[protocol <fc/ib/iscsi>]

Displays targets using protocols FC, IB, or iSCSI.

[id <target id>]

Displays a specific target.

[sessions]

Displays targets including sessions.

[detail]

Displays in detail.

Configuring iSCSI Target Ports


This section describes how to configure iSCSI target ports, as well as providing information about
the commands that are used.
iSCSI target commands enable you to define iSCSI-specific options. By default, a single target
corresponding to the host name of the Memory Gateway is available after the initial setup. Users
wishing to create multiple targets per hosting node may use a separate command to create targets
for each interface.
SANs using iSCSI can operate over Ethernet. The Ethernet network can either be a dedicated or
shared network. If the SAN is using a dedicated Ethernet network, the security of an iSCSI network
is as good as that of a Fibre Channel network. If the SAN is running over a shared network, you
must take steps to ensure the same level of security.

Note: In the case of an HA pair, when you create a target and bind it to an interface on one node,

the target must also be a bound to the (same) interface on the other node of the HA pair.

iSCSI Target Port Configuration


To configure an iSCSI target port, complete the following steps:
1. From the CLI, enter into Enable mode using the enable command.
2. Every target port must be bound to an interface. Run the show interfaces command to

view the available interfaces.


# show interfaces brief
Using the brief parameter ensures that the CLI displays only high level information about the
available interfaces. You will need the name of the interface (for example, eth3), its <ip
address> and <netmask> to configure the interface in Step 3 of this procedure.
3. Enter into Configure mode using the configure terminal command and then run the

interface ip address command to configure a specific interface.


# configure terminal
(config) # interface <interface name> ip address <IP address> <net
mask>

184

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Target Ports

Typically, you should configure one of the four 10GbE interfaces identified as eth3, eth4, eth5,
or eth6 to act as the iSCSI target port. In Step 6 of this procedure, you will bind the iSCSI target
to the IP address of the configured interface.
4. Run the iscsi enable command to enable the iSCSI target ports.

(config) # iscsi enable


The iscsi enable command creates a single iSCSI target called iSCSI. The iscsi
enable command may, in conjunction with an optional [no] parameter, be used to disable
iSCSI target ports. For more information see iscsi enable Command on page 185,
5. Run the iscsi target create command to create and name a target.

(config) # iscsi target create FINANCE


The command creates an iSCSI target named FINANCE. Access to this port and the LUNs
visible through this port may be restricted. Additional targets and target names enable you to
define physical or logical separation of groups of users of the system.
6. Run the iscsi target bind command to bind the target port to one or more configured

interfaces. Interfaces are identified by their IP addresses.


(config) # iscsi target bind <target_name> to <IP address...>
You may bind the iSCSI target port to multiple IP addresses.
7. Run the show targets command to confirm that the target ports have been correctly

configured.
(config) # show targets
Node Hostname
Protocol Target
Enab Address
---- --------------- -------- ---------- ---- -------4
<hostname> iscsi
<target_name> yes
iqn.200402.com.vmem:<hostname>:<target_name>
The address of the iSCSI target consists of three elements: the IQN (iqn.200402.com.vmem), the <hostname>, and the <target_name>.
The IQN consists of the literal (iqn), the date (yyyy-mm), and the reversed domain name of the
vendor, Violin Memory. A colon prefixes the node_name. The default node_name is generated from
the hostname. A second colon prefixes the user-defined target_name.
iscsi enable Command
The iscsi enable command may be used to enable or disable iSCSI target ports.
Syntax

[no] iscsi enable

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

185

Chapter 4 - vSHARE Configuration

iscsi target create Command


The iscsi target create command enables you to create and name a target. Additional
target names may be created if needed. The target name consists of up to 32 alphanumeric
characters.
Syntax

[no] iscsi target create <target_name>


Syntax Description

<target_name>

A user-defined name for the target. iSCSI is the


default name used for the target automatically created
when you use the iscsi enable command.

show targets Command


The show targets command lists all of the target ports and their addresses (wwn/iqn), filtered by
various options.
show targets [node <cluster node id>] [hostname <hostname>] [protocol <fc/
iscsi>] [id <target id>] [sessions] [detail]
Syntax Description

[node <cluster node id>]

Displays the targets on a specified node (Memory


Gateway) in the cluster.

[hostname <hostname>]

Displays targets on hostname.

[protocol <fc/ib/iscsi>]

Displays targets using protocols FC, IB, or iSCSI.

[id <target id>]

Displays a specific target.

[sessions]

Displays the number of SCSI sessions are active on a


target. The session parameter shows the initiator and
the assigned LUN ID for each session.

[detail]

Displays detailed information about a target.

iscsi target bind Command


The iscsi target bind command enables you to bind an iSCSI target to one or more IP
addresses. The command limits visibility of the target to initiators which have access to those IP
addresses.

Note: For an HA pair, when you create a target and bind it to an interface on one node, the target

must also be a bound to the (same) interface on the other node of the HA pair.

Syntax

[no] iscsi target bind name <target_name> to <ip_address> [to


<ip_address>]*

186

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Initiator Groups

Syntax Description

<target_name>

A user-defined name for the target.

<ip_address>

The IP address on a node on which iSCSI targets are


enabled.

[to <ip_address>]

The target may be bound to multiple IP addresses.

Configuring Initiator Groups


The third step in configuring the vSHARE system is to configure the initiator groups (igroups) which
identify the initiators (hosts) that are allowed to access a LUN or set of LUNs.
Every initiator has a protocol-specific identifier depending on whether the iSCSI, Fibre Channel or
InfiniBand protocol is used to access storage.

iSCSI initiator names have several formats: iqn..., naa..., eui... of which iqn names are
most prevalent. For example, iqn.2004-02.com.vmem.

Fibre Channel initiators are identified by World-Wide Names (WWN). Fibre Channel initiators
are fixed by the appropriate HBA port.

InfiniBand initiator names have a guid identifier format such as,


guid.1234:5678:9abc:def0.

You can include an initiator group within another initiator group to create a nested initiator group
(nested igroup). A nested igroup can contain one or more igroups. For more information on nested
initiator groups, see Working with Nested Initiator Groups on page 194 and Managing Nested
Initiator Groups on page 213.
Initiator Group Configuration
If you intend on using nested initiator groups, it is recommended that you plan the nested igroups
hierarchy following the guidelines described in Working with Nested Initiator Groups on page 194
and Managing Nested Initiator Groups on page 213.
To configure an initiator group, complete the following steps:
1. From the CLI, use the enable command (to enter Enable mode), and then the configure

terminal command (to enter Configure mode).


> enable
# configure terminal
(config) #
2. Use the igroup name command to create an initiator group, as shown in the following

example.
(config) # igroup create name <my_igroup>
3. Add one or more initiators to the igroup, using the igroup addto command. The

initiator_name must be a valid iqn (iSCSI) or wwn (Fibre Channel), or guid (InfiniBand) name,
such as, iqn.2004-02.com.vmem:initiator1.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

187

Chapter 4 - vSHARE Configuration

In the following example, an initiator named iqn.2004-02.com.vmem:initiator1 is


added to the igroup. A colon separates the IQN from the user-defined name for this initiator.
(config) # igroup addto name <my_igroup> initiators iqn.200402.com.vmem:initiator1
An igroup can contain different types of initiators, Fibre Channel, InfiniBand, and iSCSI. In the
following example, two Fibre Channel initiators are added to the igroup that contains an iSCSI
initiator.
(config) # igroup addto name <my_igroup> initiators
wwn.21:00:00:1b:32:9a:18:65 wwn.21:01:00:1b:32:ba:18:65
Fibre Channel initiator identifiers (WWN) are fixed by the HBA port, and InfiniBand initiator
identifiers (guid) are fixed by the HCA port. If you want to restrict LUN access to a particular
Fibre Channel or InfiniBand initiator, you must get the appropriate the WWN from the Fibre
Channel HBAs, or the GUID from the InfiniBand HCA, on the client machine.
4. To verify that the initiators were added to the initiator group, return to the CLI and enter the

show igroups command.


(config) # exit
# show igroups
Initiator group: <my_igroup> #Initiators: 4
iqn.2004-02.com.vmem:initiator1
iqn.2004-02.com.vmem:initiator2
wwn.21:00:00:1b:32:9a:18:65
wwn.21:01:00:1b:32:ba:18:65
The show igroups command shows all initiator groups, the number of initiators within each
group, and the IQN or WWN of those initiators.
igroup create Command
The igroup create command creates an initiator group and, optionally, one or more iSCSI or
Fibre Channel initiators. iSCSI initiator identifiers (IQNs) are user-defined. Fibre Channel initiator
identifiers (WWNs) are generated automatically by an HBA.
Syntax

[no] igroup create name <name>


Syntax Description

name

188

The name is alphanumeric only.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Initiator Groups

Examples

The following examples demonstrate how the igroup create command can be used. to manage
initiator groups and initiators.
The following command creates an initiator group named FINANCE:
igroup create name FINANCE
The Cisco-style no prefix may be used to delete initiator groups or initiators. In the following
example, the command deletes the igroup FINANCE.
no igroup create name FINANCE
igroup addto Command
The igroup addto command adds one or more initiators to a group.
Syntax

[no] igroup addto <igroup_name> initiators [initiator_name ]

igroup_name

The name is alphanumeric only.

initiator_name

The initiator_name must be prefixed with wwn. (FC initiators),


guid. (InfiniBand initiators), or iqn. or naa. or eui. (iSCSI).

The following command adds three initiators to the initiator group named FINANCE:
igroup addto FINANCE initiators wwn.20:20:20:20:20:20:20:20
wwn.20:20:20:20:20:20:20:21 wwn.20:20:20:20:20:20:20:22
The following command removes the initiator wwn.20:20:20:20:20:20:20:20 from igroup FINANCE
and preserves the other two initiators (wwn.20:20:20:20:20:20:20:21
wwn.20:20:20:20:20:20:20:22).
no igroup addto FINANCE initiators wwn.20:20:20:20:20:20:20:20

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

189

Chapter 4 - vSHARE Configuration

Working with LUNs


In vSHARE, LUNs are addressable subsets of the flash memory within the container that comprises
a Violin Memory Array. In many systems, a LUN may be referred to as a volume or logical unit.
This section covers the following topics:

Creating LUNs on page 190


Viewing LUNs and Containers on page 192
Resizing LUNs on page 192
Resizing LUNs on page 192
Exporting LUNs on page 193

Note: As of this release, one container comprises a Violin Memory Array.

Creating LUNs
On the host system (initiator), the LUN appears as a local SCSI disk. The host may format and
partition the LUN. The target, or storage system, sees the contents of the LUN as a set of blocks of
arbitrary data.
Every LUN is created within a container, and each container comprises a Violin Memory Array.
vSHARE implements LUNs at a minimum of 1GB increments with the ability to configure up to 1024
LUNs per Memory Gateway.
LUN Create Command
The lun create command enables you to create a LUN within a specified storage container.
Command Syntax

[no] lun create container <container_name> name <LUN_name> size [<size GB>
| equal] [quantity <number>] [nozero] [readonly] [startnum <unsigned
integer>] [blksize 512 | 4096] [offline] alua naca
Arguments and Options

The table shows syntax for LUN commands.


name

Defines the name of LUN to be created; used as a prefix if the


quantity of LUNs created is greater than one.

size

Defines the size of each LUN in GB, or equal to divide the free
space of the container equally among the new LUNs. A value of
0 (zero) may be used in place of equal.

container
quantity

190

Identifies the name of the container in which the LUN is created.


Defines the number of LUNs to be created; the default is 1. If the
number is greater than 1, the names of the newly created LUNs
will be appended with an index number from startnum up to the
number of LUNs created.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Working with LUNs

nozero

Specify to avoid zeroing-out the data on the LUNs, which could


take a long time for large LUNs.

readonly

Creates the LUNs in read-only mode.

startnum

Defines starting index number for newly created LUNs. The


default is 1.
Defines the logical block size for the created LUNs; the default is
512, can be set to 512 or 4096. Not all systems can handle 4096byte sizes. Use 512 if you are in doubt.

blksize

offline

Creates the LUNs in offline mode.

alua

Turns on ALUA for a LUN. For more information on ALUA, see


Optimizing Performance with ALUA on page 257.

naca

Turns on NACA for a LUN. For more information on NACA, see


AIX Compatibility NACA Bit Support on page 179.

LUN Create Example


The following example demonstrates creating 20 LUNs of equal size in the container. Use the
nozero option to ensure that the data is not zeroed-out, which could take considerable time
depending on the size of the container.

Note: You can create up to 1024 LUNs per container.

To create a LUN, complete the following steps:


1. From the CLI, enter into Enable mode using the enable command and then Configure mode

using the configure terminal command.


> enable
# configure terminal
(config) #
2. All LUNs are created and managed within a container. To view the available containers, use

the show containers command.


> enable
# configure terminal
# show containers
Check the size of the containers. LUNs are implemented in 1GB increments; the size of the
container may restrict the number of LUNs that may be created.
3. Enter the lun create command to create LUNs within a container.

# lun create container <container_name> name <LUN_name> size equal


quantity 20 nozero

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

191

Chapter 4 - vSHARE Configuration

Setting LUN Access Parameters


The lun set command allows you to set the parameters of a LUN in a container. For example,
you can set the LUN as read-only, as well as enable and disable the export of a LUN through one
or both Memory Gateways.
The lun set command is the only command usable after a LUN has been created except the no
lun create readonly command.
Command Syntax

[no] lun set container <id> name <name> readonly

Viewing LUNs and Containers


This section covers the commands for viewing data for LUNs and the container in which they reside.
Viewing LUNs
The show luns command allows you to view various types of information about a LUN or LUNs.
Command Syntax

show luns [container] [name] [count] [reserved] [serial] [sessions]


Arguments and Options

container

Displays only the LUNs within a specific container.

name

Displays a specific LUN.

count

Displays LUNs with active sessions and their count.

reserved

Displays LUNs with SCSI reservations.

serial

Displays the serial numbers for each LUN.

sessions

Displays the sessions accessing a particular LUN.

Viewing Containers
The show containers command displays all available containers.
Command Syntax

show containers

Resizing LUNs
You can increase the size of an existing LUN by specifying a the larger size in Gigabytes (GB), or
by specifying an amount (GB) to add to the current size.
Decreasing the size of an existing LUN is not supported. For a smaller size LUN, create a new LUN
of the desired size.

192

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Working with LUNs

WARNING! Existing client side file systems that might be stored on the LUN are not extended
as part of the resize operation. Increasing the size of an existing client side file system must be done
on the client. Some client systems do not detect a LUN size change until they reboot.

Specifying a Larger Size for a LUN


The following command increases the size of an existing LUN by specifying the new size in
Gigabytes.
lun resize container <container_id> name <lun_name> size <new_GB>
Specifying Additional Gigabytes for a LUN
The following command increases the size of an existing LUN by specifying the amount (GBs) to
increase the current size.
lun resize container <container_id> name <lun_name> size +<increment_GB>

Exporting LUNs
The fifth step in configuring the vSHARE Memory Gateway is to export the LUNs to an initiator. The
LUN must be exported before it may be accessed over block protocols.

Note: vSHARE LUNs are defined and saved within the Arrays themselves. vSHARE LUN export

records are, however, managed and stored within the vCLUSTER configuration database owned
by the master node.

Access to LUNs may be restricted to a specific initiator group, initiator, or target port when the LUN
is exported using the lun export command.

The optional [igroup | initiator] parameter identifies the initiator group or initiator that
may access the LUN.

The optional [port] parameter identifies the target that may access the LUN.

A LUN ID is a SCSI identifier which may be used to differentiate between devices on the same
target port. By default, vSHARE automatically assigns LUN IDs to LUNs when they are exported to
an initiator group or initiator.

Note: After you create an export for a specific iSCSI initiator using a specific target, the initiator

is excluded from seeing LUN exports from that target to all initiators.

vSHARE optionally enables you to assign a special, user-defined LUN ID to a vSHARE LUN when
you export LUNs to an initiator group or initiator. User-defined LUN IDs may make it easier
differentiate between LUNs. If you do assign user-defined LUN ID, Violin Memory recommends that
you specify a number below 255 as some operating systems (for example, Windows) will only
discover LUN IDs between 0 and 254. LUNs cannot be exported if they are assigned an existing
LUN ID; an error message is returned and the export fails.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

193

Chapter 4 - vSHARE Configuration

Working with Nested Initiator Groups


A nested initiator group (nested igroup) is an igroup that contains one or more igroups. This concept
is similar to a folder that contains other folders, or subfolders. You can create up to three hierarchy
levels in a nested igroup.
For information on creating nested initiator groups, see Creating, Modifying, and Deleting Nested
Initiator Groups on page 72 and Managing Nested Initiator Groups on page 213.

Guidelines for Exporting LUNs


The following guidelines apply when exporting LUNs.

Each LUN ID (LUN name) must be unique to avoid the chance of conflicts.

Changing the LUN ID (LUN name) after a LUN has been exported is not recommended, as
traffic is disrupted during the change. The affect on the client depends on how it handles LUN
ID changes.

Re-exporting a LUN with an auto-assigned LUN ID may cause the system to assign a new
LUN ID to the export, which may disrupt the existing I/O traffic. The same holds true for
manual LUN ID changes.

You can export LUNs to different igroups on different targets, even when they have initiators in
common.

Exporting a LUN to different targets using a different LUN ID (LUN name) for each target can
result in conflicts.

lun export Command


The lun export command enables you to export the LUNs within a specific container to an
initiator or initiator group. A single LUN may be exported multiple times through different target ports
(multipathing) or to different initiators (clustered access).
Syntax

[no] lun export container <container_name> name <lun_name> [lunid][to


<igroup | initiator>]... [using <port >]

194

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

OpenVMS Support

Arguments and Options

lun_name

The lun_name could be wildcard specified, such as


FINANCE*

container <container_name>

The name of the container

name <lun_name>

The name of the LUN

lunid

Designates the LUN ID assigned to an exported LUN.


By default, LUN IDs are automatically assigned by
vSHARE. User-defined LUN IDs may be specified to
track specific LUNs.

igroup

The name of the igroup.


If no igroup or initiator is specified, all initiators will have
access to the LUN.

initiator

The IQN (iSCSI) or WWN (Fibre Channel) name of the


initiator.

port

The port is iSCSI portal (i.e. 10.10.0.14) or Fibre


Channel wwn ID.

OpenVMS Support
OpenVMS (Open Virtual Memory System) is a multi-user, multiprocessing virtual memory-based
operating system (OS). OpenVMS servers require that LUNs have a valid Unique Device Identifier
(UDID) for discovery and usage by the operating environment.
Support for OpenVMS provides the following capabilities:

Specifying the OpenVMS UDID at the time a LUN is created, or after a LUN is created
Removing a LUN UDID from being reported
Listing LUN UDID information

OpenVMS requires that a target array provide a LUN 0, which is seen as Disk Device Type (0x0).
By default vSHARE provides LUN 0 as the SCSI Enclosure Services Device Type (0x0D).
OpenVMS specifies LUN 0 as a controller device, with other LUNs appearing on other LUN
identifiers.

Creating a LUN and Specifying the UDID


This section demonstrates how to specify the LUN ID to be used during export, thereby overriding
the auto-assignment that begins at LUN ID 1.
In the following task, you create a 1 Gb LUN, set an OpenVMS UDID, and then export the LUN to
all initiators as LUN 0. The disk LUN 0 is for discovery only and should be as small as possible,
hence the 1 GB LUN.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

195

Chapter 4 - vSHARE Configuration

To create a LUN and then export it as LUN 0, do the following:


1. Log in as Admin and connect to the Violin Memory Gateway through a terminal port, such as

PuTTY.
2. Enable configure mode, using the following commands.

> enable
# configure terminal
(config) #
3. Create a 1 Gb LUN in a container.

# lun create container <container_name> name <lun_name> size 1


Note: The disk LUN 0 is for discovery only and should be as small as possible, (1 GB is
recommended).
4. Set the unique device identifier (UDID) for the LUN, and then confirm change.

# lun set container <container_name> name <lun_name> udid 55


Data discription will occur. Really change UDID for LUN lun_name [no]
y
Success
5. Export the newly created LUN as LUN 0.

# lun export container <container_name> name <lun_name> lunid 0


6. Save the configuration.
# write mem
7. Verify that the LUN was created.

# show luns udid


Container: VIOLIN
LUN
UDID
___________________________
MyLUN

196

55

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Working with LUN Groups

Setting and Removing a LUN UDID


This section demonstrates how to specify and remove unique a UDID for a LUNs in a container.
To set or remove a LUN UDID, do the following:
1. Log in as Admin and connect to the Violin Memory Gateway through a terminal port, such as

PuTTY.
2. Enable configure mode, using the following commands.

> enable
# configure terminal
(config) #
3. To set the UDID of a LUN in a container (array), use the following command.

# lun set container <container_name> name <lun_name> udid <UDID#>


4. To remove the UDID for a LUNs in a container, use the following command.

# no lun set container <container_name> name <lun_name> udid <UDID#>

Working with LUN Groups


All LUNs in a LUN group must belong to the same array. A LUN group inherently has the same
functionality as a single LUN. Actions to a LUN group are applied to all LUNs that are members of
the LUN group. All the LUNs used by a specific application can be grouped together into a LUN
group. You can have a maximum of eight LUNs in a LUN group.

Note: A LUN group is a management object only, and does not impact the data path.

This section covers the following topics:

Creating LUN Groups on page 197


Deleting LUN Groups on page 198
Modifying LUN Groups on page 198
Exporting a LUN Group on page 199
Displaying LUN Groups on page 200

Creating LUN Groups


You can create a LUN group with one or more LUNs. When you perform an action on a LUN group,
that action is applied to all the LUNs that are members of the group. A LUN group typically consists
of LUNs that are used by a single application. For example, a database application may require two
or more LUNs for data and logs.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

197

Chapter 4 - vSHARE Configuration

Note: You can create a LUN group with a maximum of eight LUNs.

The following guidelines apply:

A LUN may be part of multiple LUN groups.


A LUN group can contain a minimum of one LUN and a maximum of eight LUNs.
A LUN group name must contain alphanumeric characters.
A LUN group name must be unique within a container.

Substitute LUN names for the <lun#> variables in the command above. You must have one LUN to
create a LUN group, and optionally can specify seven other LUNs as members.
# lungroup create container <container_name> name <lungroup_name> lun
<lun1> lun [<lun2> lun <lun3> lun <lun4> ... lun <lun8>]

Deleting LUN Groups


You can delete a LUN group without affecting the LUNs belonging to the group. Deleting a LUN
group in effect only deletes the relationship that binds the member LUNs together as an object.

Note: You must delete the snap groups (snapshots of a LUN group) associated with a LUN group
before you are allowed to delete the LUN group. Snapshots that belong to a group cannot be
deleted individually. You must delete all the snapshots in a snap group.

# no lungroup create container <container_name> name <lungroup_name>

Modifying LUN Groups


You can change a LUN group name, as well as the LUNs that are members of the group. You can
add new LUNs to a LUN group, and remove existing LUN members. This function only impacts the
management of the LUN group (object), and does not create or delete actual LUNs.

Note: If a LUN is deleted, it is automatically removed from any LUN groups of which it is a
member. If deleting a LUN results in a LUN group with zero members, then that LUN group is
automatically deleted.

Adding LUNs to a LUN Group


Substitute appropriate names for the variables in the following command.
# lungroup addto container <container_name> name <lungroup_name> lun
<new_lun>
Note: A LUN group can have a maximum of eight LUNs.

198

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Working with LUN Groups

Deleting LUNs from a LUN Group


Substitute LUN names for the <lun#> variables in the following command.
# no lungroup addto container <container_name> name <lungroup_name> lun
<lun1> lun [<lun2> lun <lun3> lun <lun4> ... lun <lun7>]
Note: You can delete up to seven LUNs from a LUN group. One LUN must remain to maintain

the group. If you delete all LUNs from a LUN group, the LUN group is automatically deleted.

Renaming a LUN Group


To rename a LUN group, specify the container in which the LUN resides, the existing name (old
name) of the LUN followed by the new name of the LUN.

Note: Renaming a LUN group with exported LUNs is not recommended, as traffic can be

disrupted. For more information, see Guidelines for Exporting LUNs on page 194.
# lungroup rename container <container-id> name <old-lungroup-name> to
<new-lungroup-name>

Exporting a LUN Group


You can export a LUN group and all the LUNs contained within the LUN group, using the following
options.
to: exports a LUN group to an initiator or initiator group
using: exports a LUN group using a target port
description: allows you to add a description to identify the LUN group
Rules for exporting LUNs also apply to LUN groups. For more information, see Guidelines for
Exporting LUNs on page 194.

Exporting a LUN Group to an Initiator Port


The following command exports a LUN group to a specified initiator port.
# lungroup export container <container_name> name <lungroup_name> to
<initiator_port>

Exporting a LUN Group Using Specific Ports


The following command exports a LUN group using specified ports.
# lungroup export container <container_name> name <lungroup_name> using
<ports>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

199

Chapter 4 - vSHARE Configuration

Adding a Description to a LUN Group


# lungroup set container <container_name> name <lungroup_name>
description <description of the LUN group>
This command is adds a unique description to the LUN group.

Displaying LUN Groups


You can display a list of all LUN groups on a system. Each LUN group name and the LUNs present
in each group are shown. When a LUN name changes, the LUN group list shows the new name.
You can specify a container, and only show the LUN groups in that container.
The following command displays a list of LUN groups and their individual members.
# show lungroups [container <container_name>]

# show lungroups
Container: MyContainer
Container: 41238F00608
LUN Group
LUNs
---------------------------------------------------------------------lung1
lun1,lun2,lun3

# show lungroups container 41238F00608


Container: 41238F00608
LUN Group
LUNs
---------------------------------------------------------------------lung1
lun1,lun2,lun3

# show lungroups container 41238F00608 name lung1


Container: 41238F00608
LUN Group
LUNs
---------------------------------------------------------------------lung1
lun1,lun2,lun3
Total Allocated Size: 0G
Lun Allocated/Provisioned Size: 0G/3G
Snapgroup Protected/Unprotected: 0G/0G

200

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 5

vSHARE Management

This chapter describes the management of a Violin Memory Gateway configured


for vSHARE block storage using the command line interface (CLI) and Violin Web
Interface in four sections:

Verifying Connections and Performance on page 201


Block Storage Media Management on page 203
vSHARE Block Storage Management Commands on page 211
Managing Block Storage in the Violin Web Interface on page 217
Email Alert Consolidation on page 217
Unified Logging Upload on page 219

Verifying Connections and Performance


This section describes procedures and techniques which enable administrators to
verify that LUNs are available and working over the required ports.

Verifying Target Port Activity and Status on page 201


Verifying Container Activity and Status on page 203

Verifying Target Port Activity and Status


The show targets and show interfaces commands enable you to verify the
activity and status of target ports.
Viewing Port Activity
show targets [node <cluster node id>] [hostname <hostname>]
[protocol <fc/iscsi>] [id <target id>] [sessions] [detail]
The show targets command lists all of the target ports and their addresses
(wwn/iqn), filtered by various options.
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

201

Chapter 5 - vSHARE Management

The session and detail options are particularly useful for understanding target port activity and
status.
The sessions option displays the number of SCSI sessions active on a target and the initiator and
the assigned LUN ID for each session.
SM075 [MY-vSHARE00: master] (config) # show targets protocol fc node 3
hostname SM076 sessions
Node Hostname
Protocol Target
Enab Address
---- --------------- -------- ---------- ---- -----------------------3
SM076
fc
hba-a1
yes
wwn.21:00:00:1b:32:8f:24:5d
Connected Sessions

SM076

fc

hba-a2

Connected Sessions

: wwn.21:00:00:1b:32:82:1e:50
: wwn.21:00:00:1b:32:94:13:32
: wwn.21:01:00:1b:32:a2:1e:50
: wwn.21:01:00:1b:32:af:24:5d
: wwn.21:01:00:1b:32:b4:13:32
: wwn.21:fd:00:05:1e:09:ed:48
yes
wwn.21:01:00:1b:32:af:24:5d
:
:
:
:
:

wwn.21:00:00:1b:32:82:1e:50
wwn.21:00:00:1b:32:94:13:32
wwn.21:01:00:1b:32:a2:1e:50
wwn.21:01:00:1b:32:b4:13:32
wwn.21:fd:00:05:1e:09:ed:48

The detail option returns the network bindings for each target.
SM075 [MY-vSHARE00: master] (config) # show targets protocol fc node 3 hostname
SM076 detail
Target: hba-a1
Node
: 2
Hostname
: qa-stein136-mga
Protocol
: fc
Address
: wwn.21:00:00:24:ff:38:54:b2
Enabled
: yes
State
: Online
Port Type Setting
:
Port Type
: NPort (fabric via point-to-point)
Speed Setting
:
Speed
: 8 Gbit

For detailed information about this command, see Show Targets Command on page 216.
Viewing Interface Status
show interfaces [<ifname>] [configured | brief]
The show interfaces command may be used to view information about a specific interface or,
if one is not named, all interfaces. By default, detailed information about the interface and its runtime

202

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Block Storage Media Management

state is given. The configured and brief options enable the user to specify which information
is displayed in the CLI:

If the configured option is selected, the configuration of the interface is displayed.


If the brief option is selected, an abbreviated runtime state, with the interface statistics
excluded, is displayed.

Verifying Container Activity and Status


Viewing Media Statistics
The show stats media command enables you to view read and write statistics for storage media.
The show stats media command displays read and write rates (in MBs per second) for the
current ten-second sample and averaged over the last five minutes.
The show stats media command supports a continuous option which enables you to view a
continually updated set of statistics.
Viewing Containers
The show containers command returns information about the storage containers on a Memory
Gateway cluster including the node, container name, the number of LUNs, the space allocated, and
the space free.
HR-mga [cluster: master] # show containers
Container LUNs Total Free Provisioned Ports HostnameA HostnameB
Status Encrypted
--------------------------------------------------------------------------------------Violin123
7 5332G 5245G
15G
A,B
violin123-mga violin123-mgb HA
No

Block Storage Media Management


This section describes commands for managing and monitoring block storage (vSHARE) media
devices. This section contains the following topics:

Show Media Commands on page 203


Media Block Enable Commands on page 207
Show Media Health Commands on page 209
Media Read and Write Statistics on page 210

Show Media Commands


The show media commands enable you to view information about the storage media installed on
a Memory Gateway node including the size, location, and status of all media devices.
If no options are specified, the show media command returns information about vSHARE block
storage media only and excludes all non-block storage media devices.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

203

Chapter 5 - vSHARE Management

The show media command may be defined by the following options, which may be used in various
combinations:
all

Display information for all media.

block

Display information about block storage media devices.

detail

Display detailed information.

freelist

Display media allocation freelist information for all devices including flash
memory devices not allocated or formatted.

global

Display information about media on all Memory Gateways in the cluster.

health

Display status information and lifetime remaining for media devices. For
more information on the health option, see Show Media Health
Commands on page 209.

id

Display information for a specified media device or all media (id all).

The following show commands described in this section can be used in Configure or Enable mode.
All other media management commands require Configure mode.

show media
show media all
show media global
show media block id all
show media block id <id>
show media block detail

Note: For more information, see Command Modes on page 225.

show media

The show media command returns all media devices that can be used as block storage on the
current Memory Gateway (node or module). This command shows a summary line for each device
location, giving the size and status of that device.
Location

Media ID

Model

Size

Status

--------------------------------------------------------------------unknown-00

Fender1002

Violin Memory Array

6895.75G

online

unknown-01

Strad130

Violin Memory Array

432.00G

online

The show media command is an alias for show media block id all command. Media used
by the system for purposes other than block storage are not shown.

204

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Block Storage Media Management

show media all

The show media all command displays all media devices installed in a Memory Gateway. This
command shows a summary line for each device location, giving the size and status (online/offline)
of the installed media device.
Location
Media ID
Model
Size
Status
---------------------------------------------------------------------Boot Disk

---

---

PCI 4

41148F00147

Violin Memory Array

74.53G

online

2671.00G

online

The Media ID and Model values are displayed only for media devices that are usable as block
storage; otherwise, a string of three hyphens (---) is displayed instead.
show media global

To view information about storage media devices on a cluster, connect to the master node of the
cluster and add the global option to the show media commands.
SM075 [MY-vSHARE00: master] # show media global
Module 2: SM075 (10.10.0.37)
Location

Media ID

Model

Size

Status

---------------------------------------------------------------------unknown-00

Fender1002

Violin Memory Array

6895.75G

online

unknown-01

Strad130

Violin Memory Array

432.00G

online

---------------------------------------------------------------------Module 3: SM076 (10.10.0.143)


Location

Media ID

Model

Size

Status

---------------------------------------------------------------------PCI 2

Strad134

Violin Memory Array

399.75G

online

The show media all global command returns information about all media devices on the
cluster including non-storage devices.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

205

Chapter 5 - vSHARE Management

show media block id all

The show media all block id all command displays the location, media ID, model, size,
and status (online/offline) of all block storage media.
SM075 [MY-vSHARE00: master] # show media block id all
Location
Media ID
Model
Size
Status
---------------------------------------------------------------------unknown-00
Fender1002
Violin Memory Array
6895.75G
online
unknown-01
Strad130
Violin Memory Array
432.00G
online

show media block id <id>

Information about a particular block storage media device can be displayed by identifying the device
with the block id <id> option of the show media command:
SM075 [MY-vSHARE00: master] # show media block id Strad130
Location
Media ID
Model
Size
Status
---------------------------------------------------------------------unknown-01
Strad130
Violin Memory Array
432.00G
online
The <id> of specific media devices can be found in the output of the show media all or show
media block id all commands.
show media block detail

The detail option of the show media command returns detailed information about storage
media. The detail option may be combined with any other show media command option in any
order.
SM076 [MY-vSHARE00: standby] (config) # show media block id all detail
Location PCI 4:

206

Status:

online

Size:

2867964411904

Type:

block device

Firmware version:

6.0.0

Manufacturer model:

VIOLIN_MEMORY_ARRAY

Manufacturer serial no:

41148F00147

Device ID:

ata-VIOLIN_MEMORY_ARRAY_41148F00147

Violin model:

Violin Memory Array

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Block Storage Media Management

Violin serial no:

41148F00147

Violin Part number:

V6000

Violin Revision:
Media Block Enable Commands
Before a media device can be used for block storage, it must be enabled. This section describes
commands for enabling and disabling block storage media devices on a vSHARE Memory
Gateway.
The enable commands described in this section can be used in Configure mode only. For more
information, see Command Modes on page 225.
Commands include:

media block id <id> enable


no media block id <id> enable
media block id all enable
no media block id all enable

media block id <id> enable

The media block id <id> enable command enables a specified block storage media device.
The block option specifies a vSHARE block media device.
In the following example, the media block id <id> enable command is used to enable a
single block storage media device:
* gateway02 [cluster1: master] (config) #
all
Change block media
<id>
VTMS0101-2
VTMS0101-4
* gateway02 [cluster1: master] (config) #
enable
* gateway02 [cluster1: master] (config) #

media block id ?
state for all block devices

media block id VTMS0101-2

To enable all block storage media devices on a local Memory Gateway, use the all option as
described in media block id all enable on page 208.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

207

Chapter 5 - vSHARE Management

no media block id <id> enable

To disable a media device, use the no form of the media block id <id> enable command.
* gateway02 [cluster1: master] (config) # no media block id VTMS0101-2
enable
Warning: this command will cause users of this media to reset and lose
all content.
Confirm command? [no] yes
* gateway02 [cluster1: master] (config) #

Caution: When a block media device is disabled, all applications using that device immediately stop using
it, and will have space from other media allocated for them. This may be a disruptive operation.

To disable all block storage media devices on a local Memory Gateway, use the all option as
described in no media block id all enable on page 208.
media block id all enable

The media block id all enable command enables all block storage media devices on the
local Memory Gateway.
In the following example, the media block id all enable command enables all storage media
devices on the local Memory Gateway:
SM076 [MY-vSHARE00: standby] (config) # media block id all enable
Enabling 23108R00000043
Enabling Strad134
no media block id all enable

To disable the use of all media devices in the Memory Gateway, use the no form of the above
command in Configure mode.

Caution: When all media devices on a Memory Gateway are disabled, applications using those devices
immediately stop using them and will have space allocated for them on other Memory Gateways. This may be
a disruptive operation.

208

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Block Storage Media Management

In the following example, the no media block id all enable command disables all block
storage media devices on the local Memory Gateway:
* gateway02 [cluster1: master] (config) # no media block id all enable
Warning: this command will cause users of this media to reset and lose
all content.
Confirm command? [no] yes
Disabling VTMS0101-2
Disabling VTMS0101-4
* gateway02 [cluster1: master] (config) #
Show Media Health Commands
The health option of the show media command returns information about the status and
expected lifetime of media devices. The option can be included with other options in various forms
in any order.

show media health


show media health [all] [detail] [global]

The show media health commands display the location, media ID, model, life remaining, and
status (or health) of media devices on the local Memory Gateway or on all of the Memory Gateways
in the cluster. The commands can be used in Enable and Configure modes.
Understanding Media Health Status

The status of the media device is defined by one of four values:


ok

The device is running correctly and has plenty of expected life remaining.

unknown

The status cannot be determined.

warning

A S.M.A.R.T attribute of the device is within 5% of the usage threshold


specified by the manufacturer.

critical

A S.M.A.R.T attribute is equal to or below its usage threshold. (This indicates


a high likelihood of impending failure.)

Status is determined for each individual S.M.A.R.T attribute by comparing its current normalized
value to a manufacturer-specified usage threshold. The detail option lists all of the S.M.A.R.T
attributes and gives the status of each attribute. Without the detail option, show media health
gives the worst-case status among all the devices attributes.
Normalized values begin at their maximum (usually 100 or 254) and decrease with use of the
device, so they approach their specified thresholds from above. A warning status indicates that the
value is close to its threshold, and a critical status indicates that it has reached or passed the
threshold.

Note: Warning and critical status do not necessarily indicate any current problems; they only
show that devices are near the manufacturers thresholds for expected lifetime performance. When
a device reaches warning status, its detailed status should be monitored carefully.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

209

Chapter 5 - vSHARE Management

Caution: Critical status indicates that failures are likely in the near future. It is recommended that devices
that reach critical status be disabled and replaced before they fail.

show media health

The show media health command returns information about the health of storage media
devices on the local Memory Gateway.
SM075 [MY-vSHARE00: master] # show media health
Location
Media Id
Model
Life remain
Health
---------------------------------------------------------------------PCI 4
Violin123
Violin Memory Array
100.0%
ok
To view information about storage media on other nodes in the cluster, use the global option.
The show media health command returns information about the block storage media only. To
include non-storage media devices, use the show media all health command.
show media health detail

The show media health detail command returns detailed information about block storage devices
on the local Memory Gateway including all of the S.M.A.R.T attributes and provides the status of
each attribute.
In the following example, the block id <id> option is used to identify a specific media device.
SM075 [MY-vSHARE00: master] # show media health block id Strad130
detail
Location unknown-01:
Model:
Violin Memory Array
Est. life remaining:
96.0%
Serial no: Strad130
Health status:
ok
SMART Attribute
Type
Raw value
Norm Thres
Status
------------------------------------------------------------------Reallocated Sector Ct
Old age
0
100
0
ok
Power On Hours
Old age
0
100
0
ok
Power Cycle Count
Old age
0
100
0
ok
Unsafe Shutdown Count
Old age
0
100
0
ok
Temperature Celsius
Old age
54
54
0
ok
Host Write Count
Old age
0
200
0
ok
Avail Reserved Space
Old age
100
100
10
ok
Media Read and Write Statistics
The show stats media commands enable you to view read and write rates (in MB per second)
for both the current ten-second sample and an average of the samples taken over the last five
minutes.

210

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

vSHARE Block Storage Management Commands

The show stats media command displays read and write statistics for block storage media
devices in one or more nodes in the cluster. The scope of each command is the same as the
corresponding show media command, described above.
show stats media

The structure of the show stats media commands is identical to the show media commands
described above, except that these commands also support a continuous option to display a
continually updating view of the statistics.
SM075 [MY-vSHARE00: master] # show stats media
Media Stats Summary (sampled @10 secs)
Read (bytes/s)
Write (bytes/s)
Read Latency (us)
Write
Latency (us)
Media Current
Last 5m Current
Last 5m
Current
Last 5m Current
Last 5m
----------------------------------------------------------------------------Violin123
0
21k
0
31k
112us
121us
74us
69us

If the continuous option is specified, the display of statistics is updated continually. Use CTRL+
C to exit the display.
The command show stats media is an alias for show stats media block id all. The
command returns information about storage media devices on the local Memory Gateway and
omits all non-block storage media.

vSHARE Block Storage Management Commands


This section describes CLI commands for configuring and managing block storage in five topics:

Managing Containers on page 211


Supporting VMware VAAI on page 212
Managing iSCSI Targets on page 212
Managing Initiator Groups on page 213
Managing LUNs on page 214
Managing Targets on page 216

Managing Containers
The show containers command returns information about the storage containers on a Memory
Gateway cluster including the node, container name, the number of LUNs, the space allocated, and
the space free.
HR-mga [cluster: master] # show containers
Container LUNs Total Free Prov Ports HostA HostB Status Encrypted
--------------------------------------------------------------------HR2013
30
10356G 9745G 459G A,B
HR-mga HR-mgb
HA
No

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

211

Chapter 5 - vSHARE Management

Supporting VMware VAAI


Violin vStorage API for Array Integration (VAAI) supports off-loading select VMware vSphere
features from ESX to the array for processing. Full Copy and Block Zeroing are executed on the
storage arrays to increase scalability and performance.

Full CopyEnables the disk arrays to make deep copies of data without requiring ESX to
access the data.

Block ZeroingAllows ESX to send commands to zero blocks on the array, avoiding the need
to send WRITE commands containing zeros to the array.

Note: By default VAAI is enabled on ESX. To disable VAAI, see the VMware knowledge base

article on Disabling the VAAI Functionality in ESX/ESXi.

Full Copy Sample Commands


You can utilize Full Copy by cloning a VM or migrating a VM using Storage vMotion. You can
perform these tasks on a vSphere Client using the graphical user interface (GUI).
Block Zeroing Sample Commands
You can utilize Block Zeroing by creating a zeroed-thick or eager zeroed-thick virtual disk on the
vSphere Client using the graphical user interface.

Managing iSCSI Targets


This section covers the following topics:

Show iSCSI Targets on page 212


iSCSI Enable Command on page 213
iSCSI Target Create Command on page 213
iSCSI Target Bind Command on page 213

Show iSCSI Targets


show iscsi
The show iscsi command shows if iSCSI has been enabled, the number of bindings, the IP
address, and interface for each binding.
(config) # show iscsi
iSCSI is enabled
iSCSI Target: iscsi
#Bindings: 4
10.1.9.82 (unknown)
192.168.1.101 (eth3)
192.168.2.100 (unknown)
192.168.3.101 (eth4)

212

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

vSHARE Block Storage Management Commands

iSCSI Enable Command


[no] iscsi enable
The iscsi enable command may be used to enable or disable iSCSI target ports.
iSCSI Target Create Command
[no] iscsi target create <target_name>
The iscsi target create command enables you to create and name a target. Additional target
names may be created if needed. The target name consists of up to 32 alphanumeric characters.
A user-defined name for the target. The term iSCSI is the default name used for the target
automatically created when you use the iscsi enable command.
iSCSI Target Bind Command
[no] iscsi target bind name <target_name> to <ip_address> [to
<ip_address>]*
The iscsi target bind command enables you to bind an iSCSI target to one or more IP
addresses. The command limits visibility of the target to initiators which have access to those IP
addresses.

Managing Initiator Groups


You can link initiators into a group (igroup) and export LUNs to all the initiators in the group
simultaneously.

Note: After you create an export for a specific iSCSI initiator using a specific target, the initiator

is excluded from seeing LUN exports from that target to all initiators.

Each initiator is a Fibre Channel WWN, iSCSI IQN or InfiniBand GUID address.

iSCSI initiatory identifier formats: iqn (most common), naa, eui


For example, iqn.1994-05.com.redhat:xyz

Fibre Channel initiator identifier format: wwn


Fibre Channel initiators are fixed by the appropriate HBA port, for example
wwn.01:02:03:04:05:06:07:08

InfiniBand initiator identifier format: guid


For example, guid.1234:5678:9abc:def0

Managing Nested Initiator Groups


You can include an initiator group within another initiator group to create a nested initiator group
(nested igroup). A nested igroup can contain one or more igroups. This concept is similar to a folder
that contains other folders, or subfolders.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

213

Chapter 5 - vSHARE Management

Note: You can create up to three hierarchy levels within a nested igroup.

Best Practices for Nested igroups:

Use a unique LUN ID (LUN name) for each LUN to avoid the chance of conflicts.

Refrain from exporting a LUN to different targets using a different LUN ID (LUN name) for the
LUN for each target, as this practice can result in conflicts.

Plan the nested igroups hierarchy first. Then export the LUNs, allowing the system to autoassign LUN IDs to ensure they are each unique.

igroup Create Command


[no] igroup create name <name> initiators [initiator_name ...]
The igroup create command creates an initiator group and, optionally, one or more iSCSI or
Fibre Channel initiators. iSCSI initiator identifiers (IQNs) are user-defined. Fibre Channel initiator
identifiers (WWNs) are generated automatically by an HBA.
igroup addto Commands
[no] igroup addto <igroup name> initiators [initiator_name ]
The igroup addto command adds one or more initiators to a group.

Managing LUNs
This section covers the following topics:

Show LUNs Command on page 214


LUN Create Commands on page 215
LUN Set Commands on page 215
LUN Statistics Command on page 216

Show LUNs Command


show luns [container] [name <name>] [sessions]
The show luns command enables you to view LUNs. LUNs may be filtered by container, name,
and session option.

214

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

vSHARE Block Storage Management Commands

The show luns session command returns information about the sessions connected to LUNs
including the target port and the session ID. Use the name option to identify a specific LUN.
# show luns name Fender1002 sessions
Container: HA-1
LUN
Size RW Bksz Status
Ports
------------------------------------------------------------------Fender1002
1024M rw 512 Single
A
Connected Sessions

: Port: hba-a1, Session: 21:00:00:1b:32:1b:8d:4b, LUN ID:


: Port: hba-a2, Session: 21:00:00:1b:32:82:1e:50, LUN ID:
: Port: hba-a2, Session: 21:01:00:1b:32:a2:1e:50, LUN ID:
: Port: hba-a2, Session: 21:01:00:1b:32:b4:13:32, LUN ID:
: Port: hba-a2, Session: 21:00:00:1b:32:94:13:32, LUN ID:
: Port: hba-a2, Session: 21:01:00:1b:32:bd:4d:91, LUN ID:
: Port: hba-a2, Session: 21:fd:00:05:1e:09:ed:48, LUN ID:
: Port: hba-b1, Session: 21:01:00:1b:32:3b:8d:4b, LUN ID:
: Port: hba-b2, Session: 21:00:00:1b:32:82:1e:50, LUN ID:
: Port: hba-b2, Session: 21:01:00:1b:32:a2:1e:50, LUN ID:
: Port: hba-b2, Session: 21:01:00:1b:32:b4:13:32, LUN ID:
: Port: hba-b2, Session: 21:00:00:1b:32:94:13:32, LUN ID:
: Port: hba-b2, Session: 21:fd:00:05:1e:09:ed:48, LUN ID:
: Port: Procurve, Session: iqn.1994-05.com.redhat:Bow7,

1
1
1
1
1
1
1
1
1
1
1
1
1

LUN ID: 2
: Port: Procurve, Session: iqn.1994-05.com.redhat:Bow7_1,
LUN ID: 2
: Port: Procurve, Session: iqn.1994-05.com.redhat:Bow7_2,
LUN ID: 2
: Port: Procurve, Session: iqn.1994-05.com.redhat:Bow7_3,
LUN ID: 2
To view a list of containers, enter show luns container ?.
SM075 [MY-vSHARE00: master] (config) # show luns container ?
Violin123
The name option enables you to view only those LUNs which are prefixed by a particular name.
LUN Create Commands
[no] lun create container <container_name> name <LUN_name> size [<size GB>
| equal] [quantity <number>] [nozero] [readonly] [startnum <unsigned
integer>] [blocksize 512 | 4096] [offline]
The lun create command enables you to create a LUN within a specified storage container.
LUN Set Commands
[no] lun set container <id> name <name> readonly

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

215

Chapter 5 - vSHARE Management

The lun set command enables you to set a LUN as read-only. The lun set command is the
only command usable after a LUN has been created except the no lun create readonly
command.
LUN Statistics Command
LUN statistics are accessed via the CLI with the following command:
show stats lun [container <container_id>] [name <lun_name>] [on global|on
host <hostname>] [continuous] [detail]
Use the container <container_id> option to restrict statistics display to a single container. If
it is omitted, statistics are shown for all the containers accessible to the hosts.
Use the name <lun_name> option to get statistics for a single LUN. If it is committed, statistics for
all LUNs are specified.

Note: Select shell wildcard patterns can be used in the <lun_name> field to match a set of LUNs.
For example, you can use the asterisk (*) to match all characters that follow. Such as xyz* to match
all LUN names that begin with xyz. Or, you can specify a range of LUN names using the [a-e]
wildcard. Such as xyz-lun[2-4][0-9] to match all LUNs from xyz-lun20 to xyz-lun49.

Use the on global option to get statistics for data flowing to LUNs through all nodes in a cluster.
Use the on host <hostname> option to get statistics for data flowing to LUNs on a specific host.
Use the continuous option to refresh displayed statistics every ten seconds.
Use the detail option to display statistics in a verbose format.

Managing Targets
This section covers the show targets command.
Show Targets Command
show targets [node <cluster node id>] [hostname <hostname>] [protocol <fc/
iscsi>] [id <target id>] [sessions] [detail]
The show targets command displays all Fibre Channel or iSCSI targets. Use the hostname,
protocol, and id parameters to filter the targets returned.
The command returns the node, hostname, target port, status (enabled or not), and address (WWN
or IQN). The detail parameter returns the network bindings for each target.

216

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Managing Block Storage in the Violin Web Interface

Managing Block Storage in the Violin Web Interface


The Violin Web Interface provides you with tools for managing LUNs, initiator groups, and targets.
For more information, see the following topics:

Section

Manage

Tasks and Topics

Searching, Sorting, and Performing LUN Operations on page 60


Creating and Deleting LUNs on page 62
Exporting LUNs, Initiator Groups, and Initiators on page 67
Creating and Deleting Initiator Groups on page 69
Adding or Deleting Initiators from a Group on page 71
Managing Transport Protocols on page 75

Monitor

Monitoring Container, LUN, and Port Data on page 108


Monitor LUNs on page 110
Monitor Targets on page 111

Table 5.1 Managing Block Storage Tasks in the Web Interface

Email Alert Consolidation


You can manage email alerts, reducing the number of emails received, with the email consolidation
feature. When you enable email consolidation, the first email to be sent is held for a default of 60
seconds. If additional emails are received within that time frame, they are merged into a single email
before being sent out.
You can customize the time delay, as well as the maximum number of events that are combined.
For more information, see Customizing Email Consolidation on page 218. For information on how
to see the current email settings, see Viewing Current Email Settings on page 218.
Important points to remember about email consolidation:

If a system begins shutdown or if a maximum number of emails are staged (default 5), they are
sent out automatically.

Emails are consolidated on a per-host basis. Emails from different hosts (acm-a, acm-b, mg-a,
or mg-b) cannot be combined.

Log in to the ACM master or MG master node to configure email consolidation. The default is
disabled.

Enabling and Disabling Email Consolidation


You can enable and disable email consolidation using the following command. The default is
disabled. Log in to the desired host (acm-a, acm-b, mg-a, mg-b), then issue the command.

Enabling Email Consolidation


email consolidate
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

217

Chapter 5 - vSHARE Management

Turns on email consolidation. The default is disabled.

Disabling Email Consolidation


no email consolidate
Turns off email consolidation.

Customizing Email Consolidation


When email consolidation is enabled, the default settings are as follows:

Time period before email is sent: 60 seconds


Maximum number of events that can be combined: 5

Setting the Wait Period


email consolidate period [time]
Sets the wait time in seconds, before the email is sent.

Setting the Number of Combined Events


email consolidate events [num]
Sets the maximum number of combined events.

Viewing Current Email Settings


You can view the current email consolidation settings with the following command.
show email
Output similar to the following is shown.
vmem-acm-b [system1: master] # show email
Mail hub:
Mail hub port:
25
Domain:
(system domain name)
Return address:
do-not-reply
Include hostname in return address: yes
...
Consolidate email settings:
Enable:
no
Period:
60
Max_events:
5
...

218

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Unified Logging Upload

Unified Logging Upload


You can upload logs for all nodes within a Violin 6000 Series flash Memory Array (both Memory
Arrays and internal Memory Gateways) with unified logging upload. A progress bar appears that
tracks the upload across all nodes on which this procedure is performed. You can also perform log
file uploads from each node separately.

Uploading Log Files for All Nodes


You can use the logging files upload-auto command from the Violin 6000 Series internal
Memory Gateway master (mg) to upload logs for all nodes within the Memory Array (both ACMs
and both MGs). The logging upload-auto configuration on the internal Memory Gateway master is
also the used for performing log file uploads for all other nodes.

Uploading Log Files for Specific Nodes


You can perform log file uploads for each individual node of a Violin 6000 Series flash Memory Array
(internal Memory Gateway master and standby, and ACM master and standby). In the case of a
local upload, the logging upload-auto configuration on the local system is used.
When you run the logging files upload-auto command from the ACM master, the uploaded
log files are restricted to the ACMs (master and standby). In this case, log file uploads are not
performed for the internal Memory Gateways (mg-a or mg-b).

Unified Logging Upload Commands


This section covers the unified logging upload commands and their respective purposes.

Upload Log Files for All Nodes


logging files upload-auto immediate
When run from the internal Memory Gateway master, /var/log/messages are collected from both
Memory Array nodes (ACM) and both internal Memory Gateway nodes (MG), and then uploaded
to a pre-configured target.

Cancel a Log File Upload Process


logging files upload-auto immediate cancel
Stops an in-process log file upload.

Upload Log Files From the Local Host


logging files upload-auto immediate local
Only uploads /var/log/messages from the local host.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

219

Chapter 5 - vSHARE Management

Upload Log Files From a Specific Node


logging files upload-auto immediate module id <id>
Uploads log files from a specified Node (acm-a/b, mg-a/b).

Upload Log Files From a Specific Node Type


logging files upload-auto immediate module type <type>
Uploads log files from a specific node type (acm or mg).

220

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 6

Manage the Memory Array with the CLI

This chapter provides detailed procedures for configuring and showing status of the
Memory Array and its internal modules. Most of these procedures can only be
performed using the Command Line Interface (CLI). If the tasks in this chapter can
also be performed using the Violin Web interface, references to those sections are
provided.
The following sections are included in this chapter:

Overview of the Command Line Interface (CLI) on page 221


Connecting to the Command Line Interface (CLI) on page 227
Configuration File Management on page 230
Upgrading the System Software on page 233
Reboot and Shutdown Procedures on page 238
Rebalancing RAID Groups on page 242

See APPENDIX A, CLI Reference on page 287 for details on using the CLI
commands.

Overview of the Command Line Interface (CLI)


The CLI on the Memory Array is used to retrieve system status and set
configuration information.
The CLI can be used to perform all of the functions provided in the Violin Web
Interface, as well as other functions that are not available in the Web Interface.
Depending on the users current access mode (described in Command Modes on
page 225), a subset of commands are available for configuring, managing and
viewing information about the Violin 6000 Memory Array.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

221

Chapter 6: Manage the Memory Array with the CLI

CLI Shorthand Method


Commands can be expressed in shorthand form in the CLI. Each keyword can be abbreviated by
omitting its final letters, as long as the remaining letters are unique within the CLI command set. For
example, the commands to display the system date and time or the hostname can be abbreviated
as:
sh clo

show clock

sh h

show hosts

Additional letters can be included but none can be skipped; for example, the show clock
command can be typed as sho clo or sh clock or various other combinations, but not shw clk.
Other commands that are frequently typed in shorthand include:
en

enable

conf t

configure terminal

ex

exit

If the command is shortened too much, an error message appears and help is offered. For example,
the abbreviation sh cl could mean show clock or show cluster so it generates this error
message:
> sh cl
% Ambiguous command "cl".
Type "sh cl?" for help.

Getting Help
In any mode of the CLI you can query for help by using the help command or typing a question
mark. See Command Modes on page 225 for descriptions of the three CLI modes that are available.
The mode determines the set of commands that can be executed.
Enter help at the prompt for a summary of how to use question marks to obtain context-sensitive
help, as described here. Just entering a question mark ? by itself provides a list of available
commands corresponding to the current mode.
You can also query for options of a specific command by typing in the command, following it with a
space, and adding a question mark. After displaying a list of options, the command line echoes the
string and puts the cursor after it, ready for more input.

222

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Overview of the Command Line Interface (CLI)

For example, in Standard mode you can enter cli ? at the command line and see the following
output.
> cli ?
clear-history

Clear the command history for the current user

session

Configure CLI options for this session only

> cli
If the command is complete without further options or values, <cr> (carriage return) is displayed
on a separate line and the command is echoed at the prompt. Pressing the Enter key (also known
as carriage return, <cr>) will then issue the command if no values are required, or <value
required> will be displayed.
For example:
> cli session ?
auto-logout Configure keyboard inactivity timeout for automatic logout
paging Configure the ability to view text one screen at a time
prefix-modes Configure the CLI's prefix modes feature for this session
progress Configure progress updates for lon operations
terminal et terminal parameters
> cli session paging ?
enable Enable paging
> cli session paging enable ?
<cr>
> cli session paging enable
>
> cli session terminal ?
length Set the number of lines for this terminal
resize Resize the CLI terminal settings (to match with real terminal)
type Set the terminal type
width Set the width of this terminal in characters
> cli session terminal width ?

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

223

Chapter 6: Manage the Memory Array with the CLI

<number of characters>
> cli session terminal width 60
>
When <value required> is displayed and only specific values can be used (such as interface
names or a VLAN identifier), those values will be displayed on new lines after <value required>.
Similarly, when the command is complete but could include additional options, <cr> and the
options are displayed, each on a separate line.

Tab Completion of Commands


Commands can be completed by typing in the first few letters then pressing the Tab key (<tab>).
Pressing Tab once completes the command if there is only one way to complete it; otherwise it
expands the command to the next point of uncertainty. At that point, pressing Tab again displays a
list of possible completions, which might be keywords or values, or both.
h<tab>

Completes the help keyword.

sh<tab>

Completes the show keyword (but s<tab> does not, because more than
one command starts with s).

show <tab>

Lists options of the show command that can immediately follow the show
keyword.

sh<tab><tab>

Completes the show keyword and lists options of the show command.

s<tab><tab>

Lists all available commands that begin with s.

For a list of all commands currently available, press the Tab key twice at the prompt.
In Standard mode, for example, press the Tab key twice to list these commands:
> <tab><tab>

224

cli

help

show

enable

no

slogin

exit

ping

telnet

terminal

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Overview of the Command Line Interface (CLI)

Command Modes
The CLI can be in one of three modes, which determine the set of commands that can be executed.
Commands that are not currently available do not show in help or completion, and generally behave
as if they do not exist.
Standard Mode

When the CLI is launched, it begins in Standard mode. This is the most restrictive mode and only
has commands to query a restricted set of state information. In this mode you cannot take any
actions that would directly affect the system, nor can you change any configuration.
User accounts with the unpriv role are restricted to Standard mode.
Enable Mode

The enable command moves the CLI to Enable mode. This mode has commands to view all state
information and take certain kinds of actions, such as rebooting the system or configuring some
system parameters, but it excludes commands that configure the cluster. Its commands are a
superset of those in Standard mode. The disable command moves the CLI from Enable mode
back to Standard mode.
The exit command (in Enable mode) closes the CLI.
User accounts with the monitor role can use all Enable mode commands.
Config Mode

The configure terminal command moves the CLI from Enable mode to Config mode.

On the clusters master node, Config mode has a full unrestricted set of commands to view
anything, take any action, or change any configuration. Its commands are a superset of those
in Enable mode.

On nodes other than the master, Config mode only includes commands that operate on the
local node. Using a global command on a standby or normal node either has a temporary local
effect (which is overridden as soon as the node synchronizes with the master node) or
produces an error message, which identifies the master node where the command can be
used.

The exit command moves the CLI from Config mode to Enable mode. Using the exit command
twice closes the CLI, or you can use the quit command to close the CLI directly.
To return to Standard mode from Config mode, first exit Config mode and then disable the Enable
mode.
User accounts with the admin role can use all Config mode commands.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

225

Chapter 6: Manage the Memory Array with the CLI

Prompt and Response Conventions


The prompt format is:
<hostname> [<cluster name>: <role>] <prompt>
The prompt begins with the hostname of the node and, in brackets, the cluster name and role of the
node in that cluster (master or standby). The end of the prompt string indicates what command
mode the CLI is in: > for standard mode, # for Enable mode, or (config) # for Config mode.
For example, if the hostname of the master node is gate1 and the cluster name is vmgCluster
then the prompts for each of the CLI modes are:
Standard mode:

gate1 [vmgCluster: master] >

Enable mode:

gate1 [vmgCluster: master] #

Config mode:

gate1 [vmgCluster: master] (config) #

The role can be master, standby, normal, or unknown.


An asterisk (*) before the command prompt indicates that some configuration changes have not yet
been saved to the active configuration file.
For example, when changes need to be saved the command prompt for Config mode changes to
this:
Config (unsaved):

* gate1 [vmgCluster: master] (config) #

Configuration commands that succeed in doing what was asked do not print any response, so the
next thing you see after pressing <Enter> is another command prompt. You can verify the effect
of a configuration command by using its corresponding show command to display current settings.
If an error occurs in executing a command, the response begins with % followed by some text
describing the error.

Abbreviations for Large Numbers


The following abbreviations are used for large numbers in the output displays of various show and
stats commands:

226

bytes

kB

kilobytes (10241 = 1,024 bytes)

MB

megabytes (10242 = 1,048,576 bytes)

GB

gigabytes (10243 = 1,073,741,824 bytes)

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Connecting to the Command Line Interface (CLI)

TB

terabytes (10244 = 1,099,511,627,776 bytes)

PB

petabytes (10245 = 1,125,899,906,842,624 bytes)

and so on for E (exabytes), Z (zettabytes), and Y (yottabytes). Single-letter abbreviations such as


k, M, or G are sometimes used to conserve space, or for units other than bytes.

Connecting to the Command Line Interface (CLI)


Logging into the Memory Array CLI via the Serial
Interface
Access the Command Line Interface (CLI) through console port A between the host computer and
the Memory Array.

Connecting the Console Cable


Use the serial console cable to connect a computer to the Memory Array for configuration
operations and retrieval of system status using the command-line interface (CLI).

A
B

A
B

n
D

n
C

n
B

n
A

A
B

ID
A
B

Console Port B

Console Port A

Figure 6.1 Connecting the Console Cable to the Memory Array

To connect the console cable to the Memory Array and a computer:


1. Connect one end of the console cable to serial console port A on the rear of the Memory

Array.
2. Connect the other end of the cable to a computer.
3. When you are ready to connect to the CLI, start a terminal application, and then use the

following serial console settings:

535-0008-00 Rev 10

Speed (baud): 115200


Data bits: 8
Stop bits: 1
Parity: None

Violin 6000 Series Memory Array Users Guide

227

Chapter 6: Manage the Memory Array with the CLI

4. Log in to the Master ACM as admin. The Master ACM is set up during initial configuration of

the Memory Array. Enter the system host name or the ACM management IP address to
ensure a direct connection.

Logging in via a Windows Host Computer


The following procedure shows how to connect to the Memory Array using a terminal emulation
application. For example, using PuTTY to connect to the CLI through the serial connection:
1. Log into the host computer as an administrator.
2. From the Windows Start menu, select Programs > Accessories > Communications >

PuTTY.
The New Connection - PuTTY1 window opens.
3. In the Connection Description window:
a. Type the name of the new connection in the Name field.
b. Select the appropriate icon from the list of available ones.
c. Click OK when done.

The Connect To window opens.


4. In the Connect using drop-down list, select Serial.
5. Click Connect.

The following login prompt appears:


violin login:
6. Type the default login name (admin) and password (admin) to log into the system.

You are now connected to the Master ACM of the Memory Array and can access the various
CLI commands. Closing the PuTTY window terminates the connection.

Logging in to the CLI via a Linux host computer


Connect to the Memory Array using the Kermit application or another terminal application, such as
tip, if your system does not have Kermit. Save the Kermit parameter settings in a .kermrc file
so that you do not need to type them each time you connect. The Violin Utilities package for Linux
includes Violins version of Kermit called vtkermit.

Note: Place the

.kermrc file in your home directory so that the Kermit application recognizes
it; otherwise, use the -y option followed by the location and file name of the configuration file.
To connect to the CLI through the serial connection:
1. Log into the host computer as root.
2. At the host computers command line prompt, type:
# kermit

228

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Connecting to the Command Line Interface (CLI)

or
# vtkermit
3. Specify the line of the Kermit connection. At the Kermit prompt, type:
C-Kermit> set line /dev/ttyS0

Note: The device name may vary depending on the host and the Linux operating system that is

running on the host.


4. Specify the flow control mode. At the Kermit prompt, type:
C-Kermit> set flow xon/xoff
5. Specify the speed of the Kermit connection. At the Kermit prompt, type:
C-Kermit> set speed 9600
6. Since the serial interface of the Memory Array does not require the carrier detect signal on the

Kermit connection, at the Kermit prompt, type:


C-Kermit> set carrier-watch off
7. To establish the connection to the Memory Array, at the Kermit prompt, type:
C-Kermit> connect

The following login prompt appears:


violin login:
8. Type the default login name (admin) and password (admin) to complete logging into the

system.
9. At this point, you are connected to the CLI of the Memory Array and can access the various

CLI commands. To close the Kermit application, do one of the following:


a. At the CLI prompt, type Ctrl-\, c, and then q.
b. Close the terminal window, which terminates the Kermit connection.

Logging in to the CLI Using an SSH Client


You can connect to the Memory Array CLI using an SSH client. The following procedure is an
example of connecting to the Memory Array using PuTTY.
1. Start the SSH program.
2. In the Category > Session window, type either the host name of the Memory Array Master

ACM or its IP address in the Host Name (or IP address) field.


3. Set the Connection type to SSH.
4. Click the Open button at the bottom of the screen.
5. Enter the admin password to log in to the Memory Array.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

229

Chapter 6: Manage the Memory Array with the CLI

Configuration File Management


Changes made to the configuration of a cluster take effect immediately, but those changes can be
lost if they are not saved to a configuration file. The Memory Array stores one or more configuration
files on persistent storage, one of which is designated as active.
The active configuration file is where changes are stored when you save the configuration.
Whenever the system reboots, it loads the configuration settings from the file designated as active.
The system backs up the active configuration file automatically.

Saving the Configuration


You can save the configuration by clicking on the Commit Changes button in any screen of the Web
Interface, or by using one of these commands (which have the same effect) in the CLI:

configuration write
write memory

An asterisk (*) before the command prompt is a reminder that changes were made but have not yet
been saved; therefore after saving the configuration, the asterisk no longer appears.
Example of configuration write command:

* violin-acma [violin: master] (config) # configuration write


violin-acma [violin: master] (config) #

Example of write memory command:

* violin-acma [violin: master] (config) # write memory


violin-acma [violin: master] (config) #

Either command (or the Commit Changes button) stores all current configuration parameters to
persistent storage in the active configuration file.

Web: In the Web Interface, the Commit Changes button appears in the message bar only when
the current configuration includes changes that have not yet been saved; otherwise the
message bar displays a No unsaved changes message.
You can switch to another configuration file by saving the current configuration to a specified
filename.

In the Web Interface, use Save Configuration as: <filename> command.

In the CLI, use configuration write to <filename> command.

This option is at the bottom of the Cluster Administration screen. First enter a filename, then
click the SAVE button.

For example, the following command saves the configuration to a file named cf1 and makes it the
active configuration file:

230

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuration File Management

violin-acma [violin: master] (config) # configuration write to cf1


violin-acma [violin: master] (config) #

If you want to save the current configuration to a different file without making it active, use the noswitch option of the configuration write to command. This option can be used to save
an interim configuration which you will finish later. Saving with the no-switch option does not
change a configurations unsaved status (indicated by an asterisk in the CLI), because recent
changes are still not stored in the active configuration file.
For example:

* violin-acma [violin: master] (config) # configuration write to cf2 no-switch


* violin-acma [violin: master] (config) #

Showing Configuration Files


You can display a list of configuration files in the Cluster Administration screen (see Cluster Admin
on page 114), or by using this CLI command:

show configuration files

The display shows all configuration files associated with this system and identifies the active file,
which is backed up as <filename>.bak. Backups of previously active configuration files also appear
in the display.
For example, after switching from the original configuration file (initial) to cf1 and saving to cf2
with the no-switch option, as shown above, the display lists these five configuration files:

violin-acma [violin: master] (config) # show configuration files


initial
initial.bak
cf1 (active)
cf1.bak
cf2
violin-acma [violin: master] (config) #

Showing Configuration
The CLI commands that would bring the state of a fresh system up to match a given configuration
can be displayed by using one of the following commands:

show configuration - display commands to reproduce the state saved in the active
configuration file.

show configuration running - display commands to reproduce the state of the current
running configuration, which could include some unsaved configuration settings.

show running-config - same as show configuration running.


write terminal - same as show configuration running.
show configuration files <filename> - display commands to reproduce the state
saved in the specified configuration file.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

231

Chapter 6: Manage the Memory Array with the CLI

show configuration full - display all commands, including any default settings, to
reproduce the state saved in the active configuration file.

show configuration running full - display all commands, including any default
settings, to reproduce the state of the current running configuration.

The output of each of these commands begins with a short header that contains the name and
version number of the configuration, in a comment. Except for the show configuration full
and show configuration running full commands, the output omits commands that are not
required because they set parameters to their default values.

Reverting without Saving


If you do not want to keep the current changes, you can revert to the last saved configuration or
apply an inactive configuration file to the system. (Applying the active configuration file has the
same effect as reverting without saving.)
In the CLI, you can use the configuration revert saved command to undo recent changes
and return to the configuration saved in the active file. For example:

violin-acma [violin: master] (config) # configuration revert saved


violin-acma [violin: master] (config) #

Web: In the Violin Web Interface, you can select any available configuration file in the Cluster
Administration screen and use the APPLY button to apply its configuration to the system.

Deleting, Moving, and Copying Configuration Files


You can delete, move (rename), or copy an inactive configuration file by using these CLI
commands:

configuration delete <filename>


configuration move <source name> <destination name>
configuration copy <source name> <destination name>

An active configuration file may not be deleted or renamed, nor may it be the target of a move or
copy. It may be the source of a copy, in which case the original remains active.

Web: In the Current Configurations section of the Cluster Administration screen, you can select
one or more configuration files to delete. First click the check box for each file you want to
delete, then use the DELETE button.

232

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Upgrading the System Software

Upgrading the System Software


Note: This section is specific to upgrading from release V6.0.0 to later releases. If you want to
upgrade a system running V5.x.x, see the V6.0.0 Release Notes or contact Violin Memory
Customer Support, as described in Contacting Violin Memory on page 5.

This section provides the basic steps required to upgrade the Memory Array firmware and Memory
Gateway software using the CLI.

Before attempting to upgrade the system, always review the latest Release Notes for the most
up-to-date instructions, information on the necessary software image and required upgrade
paths.

To upgrade Memory Array firmware or Memory Gateway software using the Web interface,
see Upgrading the Violin Cluster on page 138.

Downloading the Upgrade Image


Follow these steps if you will be downloading the image(s) to a USB drive.

Note: The USB drive must be FAT32 formatted.

Note: You must register as a Violin Memory customer to download software updates. If not

already registered, go to http://www.violin-memory.com/support/register


1. Go to http://www.violin-memory.com/support/
2. Log in to Customer Support using your Violin Memory Customer Portal login and password

information. (Click Register if you do not have an account.)


3. Click the Software Downloads tab.
4. From the Violin Memory Array 6000 Series location, download the appropriate image.

Upgrading All Firmware and Software


This section provides the steps required to upgrade both the Memory Array firmware and the
Memory Gateway software together.
See the following sections if you want to update the software and firmware separately:

Upgrading the Memory Gateway Software on page 235


Upgrading the Memory Array Firmware on page 236

WARNING! Make sure that all alarms are cleared before starting an upgrade process.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

233

Chapter 6: Manage the Memory Array with the CLI

To upgrade the system:


Skip to step 3 if you are not upgrading the image from a USB drive.
1. If upgrading from a USB drive, make sure that the image is loaded on the USB drive.
2. Insert the USB drive into the USB port on the front of the Memory Array that is associated with

the Master Memory Gateway node: the left USB port is for MG A; the right USB port is for
MG B.
3. Start a terminal application and log in to the Master Memory Gateway as admin.
4. At the command prompt, type enable and then configure terminal:

violin-mga [violin: master] > enable


violin-mga [violin: master] # configure terminal
5. Perform an upgrade using one of the following methods, depending on the location of the

image file:
a. To upgrade the image from a USB drive, type the following commands to mount the

USB drive and then install the software image:


(config) # image fetch usb <image-name>
(config) # system upgrade all <image-name> immediate
b. To upgrade the image from a URL accessible to the system, type the following, where

<URL-and-image-name> is the path to the image:


(config) # system upgrade all <URL-and-image-name> immediate
This upgrades the Memory Gateway software and Memory Array firmware simultaneously. During
this process clients are unable to maintain connections to exported LUNs until the system is
restarted. Although this method of upgrading the system is relatively quick, you experience some
downtime while the system reboots.

Note: The upgrade process may take from 20 minutes to 1 hour to complete. Do not power off

or reboot the system during the upgrade process.

Once all modules are updated with the new software, both Memory Gateways shut down. The
ACMs then reboot. The VCMs and VIMMs are updated, if necessary. The Memory Gateways then
boot up with the new version of software.
To monitor the upgrade process:
Wait 1-2 minutes for the system to reboot and then log in to the Master ACM to monitor the upgrade
process, if desired.

234

Type monitor upgrades to monitor the VCM upgrade process.

Once the VCM upgrade process is completed, type vdiag to show the VIMM upgrade
progress.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Upgrading the System Software

Upgrading the Memory Gateway Software


This section provides the steps required to only upgrade the Memory Gateway software. If a
firmware update is also available for the Memory Array, it is recommended that you upgrade the
Memory Array firmware and the Memory Gateway software together. This process is described in
Upgrading All Firmware and Software on page 233.

Note: Only the Memory Gateway software is upgraded using these instructions. Ensure that the

Memory Array is running compatible versions of Memory Gateway software and Memory Array
firmware. See the latest Release Notes or contact Violin Memory Customer Support for more
information.

There are two methods available for upgrading the Memory Gateways: staged (non-disruptive) and
immediate. Both are described in this section.
Skip to step 3 if you are not upgrading the software from a USB drive.
1. If upgrading from a USB drive, make sure that the software image is loaded on the USB drive.
2. Insert the USB drive into the USB port on the front of the Memory Array that is associated with

the Master Memory Gateway node: the left USB port is for MG A; the right USB port is for
MG B.
3. Start a terminal application and log in to the Master Memory Gateway as admin.
4. At the command prompt, type enable and then configure terminal:

violin-mga [violin: master] > enable


violin-mga [violin: master] # configure terminal
5. Perform an upgrade using one of the following methods, depending on the location of the

software image file:


a. To upgrade the software from a USB drive, type the following commands to mount the

USB drive and then install the software image:


(config) # image fetch usb <image-name>
(config) # system upgrade mg <image-name> staged|immediate
b. To upgrade the software from a URL accessible to the system, type the following,

where <URL-and-image-name> is the path to the image:


(config) # system upgrade mg <URL-and-image-name> staged|immediate

For a staged upgrade, the cluster is split into two clusters, A and B, with one Memory
Gateway in cluster A and the other in Cluster B. The Memory Gateway in Cluster B is
upgraded first, followed by Cluster A. While Cluster B is being upgraded, Cluster A provides
access to storage, and vice-versa.

For an immediate upgrade, the Memory Gateways are upgraded simultaneously. During this
process clients are unable to maintain connections to exported LUNs until the cluster is
restarted. Although this method of upgrading the cluster is relatively quick, you experience
some downtime while the nodes reboot.

Both Memory Gateways will upgrade and then reboot on their own. Once the Gateways reboot, the
command prompt returns to the ACM Master.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

235

Chapter 6: Manage the Memory Array with the CLI

6. Wait 1-2 minutes and then type show array modules type mg detail to see if the

Gateways have booted. The Gateways are powered on if their IP addresses are shown in the
output.

Upgrading the Memory Array Firmware


If you are only upgrading the Memory Array firmware, the Memory Gateways must be shut down
and powered off before upgrading the Memory Array. If a software update is also available for the
Memory Gateways, it is recommended that you upgrade the Memory Array firmware and the
Memory Gateway software together. This eliminates the need to manually shut down the Memory
Gateways. This process is described in Upgrading All Firmware and Software on page 233.

Shutting Down the Memory Gateways


1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
2. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
3. Log in to the Master Memory Gateway by typing the following command:

violin-acma [violin: master] # slogin mg-master


4. At the command prompt, type enable and then configure terminal:

violin-mga [violin: master] > enable


violin-mga [violin: master] # configure terminal
5. Shut down the internal Memory Gateways by typing the following command:

violin-mga [violin: master] (config) # cluster shutdown


6. Respond yes to the shutdown confirmation question.

The command prompt returns to the ACM Master once the Memory Gateways shut down.
7. From the ACM Master command prompt, type the following to verify that the Memory

Gateways have shut down:


(config) # show array modules type mg detail
The Memory Gateways are shut down when the "Running" status is "no".
8. Power down the Memory Gateways by typing the following command:

(config) # no array modules type mg enable


WARNING: Powering down array module(s) may cause data disruption.
Are you sure? [no]
Note: It will take from 30 seconds to 3 minutes for the Memory Gateways to shut down.

236

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Upgrading the System Software

The Memory Gateways power on automatically after the Memory Array firmware is upgraded.
To upgrade the Memory Array firmware:

Note: Make sure the Memory Gateways are shut down and powered off before continuing.
1. If upgrading from a USB drive, make sure the new image file is loaded on the USB drive, as

described in Downloading the Upgrade Image on page 233.


There are two USB ports on the Memory Array front panel, one for each ACM. Only the USB port
associated with the current Master node can be used to upgrade the system.
2. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
3. Log in to the Memory Array as admin.
4. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
5. Identify which ACM is the master by typing the following command:

violin-acma [violin: master] (config) # show cluster master


Node Status:
Node ID: 1
Host ID: 9075d6177c48
Hostname: qa-stein16-acmb
Node Role: master
Node State: online
Node internal address: 169.254.1.11, port: 60102
Node external address: 10.1.14.208
Recv. Heartbeats from: 2
Send Heartbeats to: 2
6. If upgrading from a USB drive, insert the USB drive into the USB port on the front of the

Memory Array that is associated with the Master node: the left USB port is ACM A; the right
USB port is ACM B. The LED next to the USB port will start flashing.
7. Perform an upgrade using one of the following methods, depending on the image location:
a. To upgrade from a USB drive, type the following to mount the USB drive and then install

the image:
(config) # usb mount
(config) # cluster upgrade usb:// <path> immediate
b. To upgrade from a URL accessible to the system, type the following, where <URL> is

the path to the image:


(config) # cluster upgrade <URL> immediate
This upgrades both ACMs and reboots both modules immediately after completion of the upgrade.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

237

Chapter 6: Manage the Memory Array with the CLI

8. If upgrading from a USB drive, log back in to the same ACM from which the upgrade was done

and then type the following at the command prompt to eject the USB drive:
violin-acma [violin: master] (config) # usb eject
Note: The upgrade process may take from 20 minutes to 1 hour to complete. Do not power off
or reboot the system during the upgrade process. Type monitor upgrades at the command
prompt to monitor the VCM upgrade process. Once the VCM upgrade process is completed, type
vdiag to show the VIMM upgrade progress. The Memory Gateways power on when the VCMs are
ready.

Reboot and Shutdown Procedures


This section provides instructions for several different types of reboot and shutdown procedures. To
ensure proper system functionality, complete each step in the order presented.

Before You Proceed


It is recommended that you complete the following before rebooting or shutting down the Memory
Array or any of its modules.

Save the Configuration File


Changes made to a cluster can be lost if they are not saved to a configuration file. The Memory
Array stores one or more configuration files on persistent storage, one of which is designated as
active.
The active configuration file is where changes are stored when you save the configuration.
Whenever the system reboots, it loads the configuration settings from the file designated as active.
The system backs up the active configuration file automatically.
To save changes made to the configuration file:
You can save the configuration by clicking the Commit Changes button in any screen of the Web
Interface, or by using one of these commands (which have the same effect) in the CLI:
* violin-acma [violin: master] (config) # configuration write
violin-acma [violin: master] (config) # write memory

An asterisk (*) before the command prompt is a reminder that changes were made but have not yet
been saved; therefore after saving the configuration, the asterisk no longer appears.
See Configuration File Management on page 230 for more information.

238

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Reboot and Shutdown Procedures

Rebooting the Memory Array


The following command reboots the Memory Array and all of its modules. See Array and Cluster
Action Commands on page 313 for the commands to reboot all Array Controller Modules, Memory
Gateways or vRAID Controller Modules.
1. Review the procedures described in Before You Proceed on page 238.
2. log in to the Memory Array as admin.
3. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
4. Shut down the Memory Gateways as described in Shutting Down the Memory Gateways on

page 236.
5. Once the Memory Gateways are shut down, return to the Master ACM and then type the

following at the command prompt (from config mode):


violin-acma [violin: master] (config) # array reboot
WARNING: Rebooting array may cause data disruption. Are you sure? [no]
6. Type yes to verify the command.

The following modules are rebooted: Array Controller Modules, vRAID Controller Modules, internal
Memory Gateways, VIMMs and Host Bus Adapters.
Depending on the number (24 or 64) and type of VIMMs (SLC or MLC), the reboot process will take
at least one hour for an SLC system and as long as two hours for an MLC system.
Type the following command to view reboot progress:
violin-acma [violin: master] (config) # monitor boot

Shutting Down the Memory Array


Follow these steps to shut down all Memory Array modules.
1. Review the procedures described in Before You Proceed on page 238.
2. log in to the Memory Array as admin.
3. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
4. Shut down the Memory Gateways as described in Shutting Down the Memory Gateways on

page 236.
5. Once the Memory Gateways are shut down, return to the Master ACM and then type the

following at the command prompt (from config mode):


violin-acma [violin: master] (config) # array shutdown

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

239

Chapter 6: Manage the Memory Array with the CLI

Powering Off and On Memory Array Modules


Follow these steps to power off and power on all Memory Array module types.
1. Log in to the Memory Array as admin.
2. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
3. Power off or power on modules, as follows:

To power off all types of a Memory Array module, type the following at the command prompt:

violin-acma [violin: master] (config) # no array modules type <vcm | acm | fpm |
mg | hba> enable
Where:

vcm

is the vRAID Controller Modules in the Memory Array. This powers off all VCMs and
VIMMs.

acm

is the Array Controller Modules in the Memory Array.

fpm

is the Front Panel Module in the Memory Array.

mg

is the internal Memory Gateways in the Memory Array. This powers off all Memory
Gateways.

hba

is the Host Bus Adapters in the Memory Array. This powers off all HBAs.

To power on a specific type of Memory Array module, type the following at the command
prompt:

violin-acma [violin: master] (config) # array modules type <vcm | acm | fpm | mg
| hba> enable

Powering Off and On Specific Memory Array


Modules
The following Memory Array modules can be powered off individually: internal Memory Gateways,
Host Bus Adapters, VIMMs and VCMs.
Type the following at the command prompt to power off a specific module:
violin-acma [violin: master] (config) # no array modules id <vimmxx | vcm-x | mgx | hba-x> enable
Where:

240

vimmxx

xx the slot number of the VIMM (0-63) in a 64-VIMM system

vcm-x

x is one of the VCMs (vcm-a, vcm-b, vcm-c, vcm-d)

mg-x

x is one of the Memory Gateways (either mg-a or mg-b)

hba-x

x is one of the Host Bus Adapters (hba-a, hba-b, hba-c or hba-d)

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Reboot and Shutdown Procedures

Type the following at the command prompt to power on a specific module:


violin-acma [violin: master] (config) # array modules id <vimmxx | vcm-x | mg-x
| hba-x> enable
Some modules must be powered off and on when being replaced. See the Violin 6000 Series
Memory Array Service Guide for instructions on replacing Memory Array modules.

Restoring Power to VIMMs and VCMs


VIMMs and VCMs that are powered off or that have failed are flagged by the system as a module
that should not be used or may need to be replaced. This flagwhich can be displayed in the CLI
by typing show donotuseis a reminder to the system administrator if a VIMM or VCM fails. This
flag may also display for VIMMs and VCMs that do not require replacement.
The following is an example alarm for a VIMM that has the donotuse flag:
# VIMM 1 faulted; VIMM is not responding; VIMM taken out of service
To clear the donotuse flag:
Before you can power on a VIMM or VCM, you must clear the donotuse flag if it is on.
1. First, check to see if the flag is on by typing the show donotuse command at the prompt. If

the flag has been set for a VIMM by the system, you will see output similar to the following:
# show donotuse
vimmid system VIMM is not responding at 11-01-2012 20:41:11 UTC
If the administrator set the flag, by issuing the no array modules id vimmid command,
the output would be:
vimmid user-set VIMM is not responding at 11-01-2012 20:41:11 UTC
2. Type one of the following at the command prompt:
a. To clear the flag for a VIMM, where id is the VIMM number:

# no array modules id vimmid donotuse


b. To clear the flag for a VCM, where x is the VCM letter (a, b, c or d):

# no array modules id vcm-x donotuse


c. To clear the flag for all system-set faults, where component is either VIMM or VCM:

# no array modules id <component> donotuse


3. See Powering Off and On Specific Memory Array Modules on page 240 to complete the

power-on sequence.
Note: If the VIMM or VCM has failed and requires replacement, see the Violin 6000 Series

Memory Array Service Guide for instructions on replacing Memory Array modules.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

241

Chapter 6: Manage the Memory Array with the CLI

Restarting the Memory Array


Follow these procedures to restart the Memory Array if it has been shut down.

Caution: The Memory Array must be completely shut down before proceeding.
1. Unplug the AC power cords from the power receptacles on the rear of the Memory Array

chassis.
2. Wait 30 seconds and then reconnect the power cords to their power receptacles.

The Memory Array begins to start up. During the boot up process, the green Status LEDs will flash.
The Memory Array is fully booted when the Status LED is continuously lit.

Rebalancing RAID Groups


If RAID groups become unbalanced over time due to VIMM replacement or other administratorinitiated changes, the VIMM tree can be manually or automatically balanced as needed. An
administrator can also schedule automatic Array balancing. Unbalanced RAID groups are reported
in the Violin Web interface. Auto balance is disabled by default.
If two or more VIMMs in a RAID group share the same root VIMM, the RAID group is considered
unbalanced, causing the system to perform less than optimally.
Balance of the system can be restored by moving VIMMs from RAID rebuilds. If necessary,
multiple RAID rebuilds can be performed at the same time.
Unprotected RAID groups cannot be rebalanced until the parity VIMM is fully recovered and a spare
VIMM is available. Each RAID group consists of five VIMMs: four for data an one parity. The parity
VIMM is used to reconstruct data.
A RAID rebalance can be set to occur automatically, on a scheduled basis or manually. A RAID
rebuild can take three hours or longer.
Table 6.1 shows all of the automatic, scheduling and manual commands. Examples of these
commands are described in the sections that follow.

Note: If one of the balance functions is enabled (automatic or scheduled), it must be disabled

before setting up a different balance function.

Command

Description

array balance

This starts a RAID rebuild for each VCM that requires a rebuild.
More than one rebuild may be required to balance the system.

array balance enable

This command, which is the default setting, enables automatic


balancing. When unbalanced RAID groups are detected, they
are automatically rebuilt.

Table 6.1 Array Rebalance Commands

242

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Rebalancing RAID Groups

Command

Description

no array balance enable

Use this command to disable (turn off) automatic rebalancing.

show array balance

Display the current RAID rebalance settings and view the


status of all the VCMs.

array balance schedule once

This command schedules an array balance for the default time


of the upcoming Saturday at 1:00 A.M. This starts a RAID
rebuild for each VCM that requires a rebuild. More than one
rebuild may be required to balance the system.

array balance schedule once


[day-of-week
<sun|mon|tue|wed|thu|fri|sat>]
[time <hh:mm:ss>]

Use this command and parameters to set a one-time RAID


rebalance at a specified time and day of the week.

array balance schedule weekly


[day-of-week
<sun|mon|tue|wed|thu|fri|sat>]
[time <hh:mm:ss>]

Use this command and parameters to set a specific time and


day of the week on a recurring basis. Multiple RAID rebuilds
are completed until the system is balanced. The scheduled
array balance is disabled once the system is in balance.

no array balance schedule once

Cancel a scheduled one-time rebalance.

no array balance schedule weekly Cancel scheduled weekly recurring rebalances.


Table 6.1 Array Rebalance Commands

Discovering Unbalanced RAID Groups


The System Status LED on the front of the Memory Array is amber when an alarm has been raised
on at least one of the following modules: VIMM, MG, HBA, VCM, ACM, PCM, Fan, Power Supply.
Use the show alarms command to identify alarms. Also, issue the show array balance
command (see page 245) or the vdiag command to identify RAID groups that require
rebalancing. Following is an example of vdiag:
violin-acma [violin: master] > enable
violin-acma [violin: master] # vdiag
...
--- reading VIMM Config for all VCMs
- VIMM Config for VCM: vcm-a... Degraded
*** WARNING: Unbalanced VIMMs - 6 & 1 have the same root port : 1
- VIMM Config for VCM: vcm-b... Optimal
- VIMM Config for VCM: vcm-c... Degraded
*** WARNING: Unbalanced VIMMs - 6 & 1 have the same root port : 1
*** WARNING: Unprotected Raid Group(s): 0,1
- VIMM Config for VCM: vcm-d... Optimal
...
The Cluster Status page in the Web interface will also display a message in yellow if any RAID
group is unbalanced. Click Home > System View to view the Cluster Status page.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

243

Chapter 6: Manage the Memory Array with the CLI

Enabling Automatic Rebalancing


By setting up automatic rebalancing, VCMs will initiate RAID rebuilds automatically whenever
necessary. The setting is disabled once all VCMs report that the system is balanced.
1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
2. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
3. Type the following command:

(config) # array balance enable


Unbalanced RAID groups are automatically rebuilt when detected. The following is an example of
a RAID rebuild in progress:
RAID rebuild due to rebalance in progress, group 1, VIMM 49 (0% complete)
To turn off automatic rebalancing:
Use the following command to turn off automatic rebalancing:
# no array balance enable

Enabling Incremental Rebalance of RAID Groups


Follow these steps to set up incremental balancing, which starts a rebuild of any unbalanced RAID
groups now. If any RAID groups are unbalanced, only one rebuild is performed to restore balance.
1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
2. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
3. Type the following command to rebuild any unbalanced RAID groups now:

(config) # array balance


Each VCM is checked for any needed RAID rebalance. If necessary, a RAID rebuild is then
immediately started.

244

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Rebalancing RAID Groups

Scheduling a RAID Group Rebalance


Scheduling regular RAID rebalancing may be a more convenient option so you dont have to
complete the occasional manual check for unbalanced RAID groups.
1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
2. At the command prompt, type enable and then configure terminal:

violin-acma [violin: master] > enable


violin-acma [violin: master] # configure terminal
3. Enter one of the following commands:
a. To schedule a one-time RAID rebalance at the default day and time of 1:00 A.M. Saturday:

# array balance schedule once


b. To schedule a one-time RAID rebalance at a specific time and day of the week:

# array balance schedule once [day-of-week <sun|mon...>] [time <hh:mm:ss>]


c. To schedule a recurring weekly RAID rebalance:

# array balance schedule weekly [day-of-week <sun|mon...>] [time <hh:mm:ss>]


To turn off a scheduled RAID group rebalance:
Use the following command to turn off a scheduled RAID rebalance:
# no array balance schedule <once|weekly>

Showing Current RAID Rebalance Settings


Follow these steps to display the current RAID rebalance settings and to view the status of all the
VCMs.
1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Memory Array. Enter the system host name or the ACM
management IP address to ensure a direct connection.
2. Type the following at the command prompt:

violin-acma [violin: master] > enable


violin-acma [violin: master] # show array balance
auto balance
: no
one-time balance
: day-of-week: sat, time: 01:00:00 (next: 2012/
11/24 01:00:00 -0800)
weekly balance
: no
vcm-a
vcm-b
vcm-c
vcm-d

535-0008-00 Rev 10

:
:
:
:

balance in progress
balanced
balanced
unbalanced

Violin 6000 Series Memory Array Users Guide

245

Chapter 6: Manage the Memory Array with the CLI

246

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 7

Data Security

This chapter covers available options for enhancing data security and includes the
following topics:

Managing Data Security on page 247


iSCSI Authenticated Sign-On on page 248
Setting Up iSCSI CHAP Authentication on page 248
Removing CHAP Secrets from a Target on page 251
Showing iSCSI CHAP Configurations on page 252

Managing Data Security


Managing data security is the practice of ensuring data is protected from
destructive forces and the intrusive actions of unauthorized users. Violin Memory
ensures the security of your data with the following features:

iSCSI CHAPEnforces iSCSI Authenticated Sign-On to ensure that Internet


Small Computer System Interface (iSCSI) initiators and targets prove their
identity to each other using the Challenge-Handshake Authentication Protocol
(CHAP).
Note:

535-0008-00 Rev 10

iSCSI CHAP Authentication requires the use of an iSCSI target.

Violin 6000 Series Memory Array Users Guide

247

Chapter 7 - Data Security

iSCSI Authenticated Sign-On


The Challenge-Handshake Authentication Protocol (CHAP) authenticates a user or network host,
validating the identity of the remote clients before allowing them access to an array. Using CHAP
within iSCSI enhances security through the prevention of dictionary attacks, spoofing, and reflection
attacks.
There are two types of CHAP authentication to choose from: Unidirectional CHAP Authentication
and Bidirectional CHAP Authentication.

Unidirectional CHAP Authentication


Unidirectional CHAP is also known as One-Way CHAP. Unidirectional CHAP allows the target to
verify the credentials of the initiator before allowing it to proceed to the login process.
Once the authentication negotiation is completed, the target generates a challenge phrase using its
own CHAP secret words and ID, then sends it to the initiator. The initiator uses the known target
CHAP secret to create a response, and sends the response to the target. After the initiators
response is successfully verified by the target, the login process begins.

Bidirectional CHAP Authentication


Bidirectional CHAP is also known as Two-Way CHAP, or Mutual Authentication. Bidirectional CHAP
allows an initiator to verify that it is attempting to log in to the correct target. This option is dependent
on the client set up (e.g., iSCSI initiator).
After the initiator has been successfully authenticated by the target, the initiator creates a CHAP
challenge phrase that it sends to the target. In this instance, the target uses the known initiator
CHAP secret to generate a response. After the targets response is successfully verified, the initiator
will continue with the login process.

Setting Up iSCSI CHAP Authentication


Review CHAP Requirements on page 249 for CHAP secret recommendations and restrictions, then
choose one of the following configuration methods.

Establishing a CHAP Secret on page 249


Configuring Unidirectional iSCSI CHAP on page 250
Configuring Bidirectional iSCSI CHAP on page 250

Note: When you enable CHAP on a Memory Gateway (target) for one client (initiator), the rest of
the clients (for that target) must also use CHAP. Clients have to enable CHAP (from their side)
before they are able to log in to the target.

248

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Setting Up iSCSI CHAP Authentication

CHAP Requirements
iSCSI CHAP configurations must meet the following requirements:

The minimum CHAP secret size is 12 (bytes) characters (IPSec is not supported).

For bidirectional CHAP, each target-initiator pair must have one target CHAP secret and one
initiator CHAP secret configured.

In bidirectional CHAP mode, the target CHAP secret cannot be identical to the initiators CHAP
secret to which it is connected.

A particular target can have bidirectional CHAP set up with multiple clients.

The maximum CHAP secret size is 64 (bytes) characters.


For unidirectional CHAP, each target-initiator pair must have one target CHAP secret
configured.

Note: iSCSI CHAP configurations are persistent across system reboots.

Establishing a CHAP Secret


This section demonstrates the ways in which you can establish a CHAP secret. For information on
the complete iSCSI CHAP configuration process, see Configuring Unidirectional iSCSI CHAP on
page 250 or Configuring Bidirectional iSCSI CHAP on page 250.

Note: A CHAP secret must have a minimum of 12 characters (bytes). The maximum length is 64

characters.

Use the CLI command {target-secret | initiator-secret} <CHAP secret word>, for example:
iscsi chap target iscsi target-secret Myfirstsecret to initiator
iqn.1991-05.com.microsoft:violin-w2k3r2

Enter the secret at the prompt at the CHAP secret prompt using {target-secret-prompt |
initiator-secret-prompt} format. In this case the character input is hidden, as shown in the
following example:
iscsi chap target iscsi initiator-secret-prompt to initiator
iqn.1991-05.com.microsoft:violin-w2k3r2
CHAP secret: ***************

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

249

Chapter 7 - Data Security

Configuring Unidirectional iSCSI CHAP


In a unidirectional iSCSI CHAP configuration, the Memory Gateway (target) authenticates the client
(initiator) to make sure it is a trusted host. This configuration requires the establishment of a target
CHAP secret.
To configure unidirectional CHAP authentication, do the following:
1. Connect to the Memory Gateway master through a terminal port.
2. Enable configuration mode, using the following commands.

> enable
# configure terminal
(config) #
3. Establish the target CHAP secret for a specified initiator using the following command,

substituting the variables with information for your site. See CHAP Requirements on page 249
for CHAP secret recommendations and restrictions.
# iscsi chap target <target_name> {target-secret|target-secretprompt} <CHAP_secret_word> to {<initiator_name>|<igroup_name>}

Note: The igroup_name variable option, as used in this command, allows you to establish the
CHAP secret for a group of initiators all at once. However, when you view iSCSI CHAP
configurations, as described in Showing iSCSI CHAP Configurations on page 252, the individual
initiators that are members of the igroup are shown individually without reference to the
igroup_name (they belong to).

Configuring Bidirectional iSCSI CHAP


In a bidirectional iSCSI CHAP configuration, the Memory Gateway (target) authenticates the client
(initiator) to make sure it is a trusted host. Then, the client authenticates the target to ensure that it
is a trusted device. This configuration requires the establishment of a target CHAP secret and an
initiator CHAP secret.
iscsi chap target <target_name> {target-secret|target-secretprompt|initiator-secret|initiator-secret-prompt} <CHAP_secret_word> to
initiator {<initiator_name>|igroup <igroup_name>}
To configure bidirectional CHAP authentication, do the following:
1. Connect to the Memory Gateway master through a terminal port.
2. Enable configuration mode, using the following commands.

> enable
# configure terminal
(config) #
3. Establish a target (Memory Gateway) CHAP secret, as described in Configuring Unidirectional

iSCSI CHAP on page 250.

250

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Removing CHAP Secrets from a Target

4. Establish the initiator CHAP secret using the following command. Substitute target variables

with the values used to establish the target CHAP secret, and initiator variables with the
appropriate initiator information. See CHAP Requirements on page 249 for CHAP secret
recommendations and restrictions.
# iscsi chap target <target_name> {initiator-secret|initiatorsecret-prompt} <CHAP_secret_word> to
{<initiator_name>|<igroup_name>}

Note: The igroup_name variable option, as used in this command, allows you to establish the
CHAP secret for a group of initiators all at once. However, when you view iSCSI CHAP
configurations, as described in Showing iSCSI CHAP Configurations on page 252, the individual
initiators that are members of the igroup are shown individually without reference to the
igroup_name (they belong to).

Removing CHAP Secrets from a Target


Replacing of a CHAP secret of an existing target-initiator is not supported. Please delete the old
CHAP secret and enter a new one.
The igroup here is used like an expander that helps to set up the CHAP secret for a group of
initiators in one CLI command. However it doesn't have the same meaning as used in the lun
export CLI command.
To remove the target secret and initiator secret for a target-initiator pair, do the following:
1. Connect to the Violin Memory Gateway master through a terminal port.
2. Enable configuration mode, using the following commands.

> enable
# configure terminal
(config) #
3. Remove the initiator CHAP secret for a target and initiator pair using the following command.

Substitute target and initiator variables with the values appropriate for each device.
# no iscsi chap target <target_name> to
{<initiator_name>|<igroup_name}

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

251

Chapter 7 - Data Security

Showing iSCSI CHAP Configurations


Use the show iscsi chap command to view target and initiator CHAP configurations, as shown
in the following example.
(config) # show iscsi chap
Target Initiator Target
Initiator
Chap
Chap
------------------------------------------------------------------Yes
Yes
iscsi
iqn.1991-05.com.microsoft:win2k8-lt
Yes
Yes
iscsi
iqn.1991-05.com.microsoft:violin-w2k3r2
Yes
No
iscsi-2
iqn.1994-05.com.redhat:981b2975f144

252

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CHAPTER 8

Data Management

This chapter explains the features and functionality of vMOS Data Management,
and covers the following topics:

535-0008-00 Rev 10

Violin Memory Data Management on page 254


Data Management Use Cases and Scenarios on page 255
Best Practices on page 255
Optimizing Performance with ALUA on page 257
Thin Provisioning on page 260
Snapshots on page 263
Snap Groups on page 270
Schedule Management on page 274
Free Space Management on page 279

Violin 6000 Series Memory Array Users Guide

253

Chapter 8 - Data Management

Violin Memory Data Management


vMOS Data Management is available on Violin 6000 Series flash Memory Arrays as part of vMOS6. vMOS Data Management allows you to manage and protect critical data, as well as simplify
backup and disaster recovery using the following features:

Thin provision LUNs for better utilization of storage


Snapshots of individual LUNs and LUN groups, read-only or read-write
Snap groups for management purposes
Schedules for automated snapshots
Manage and monitor provisioned and allocated space on the array

Data Management Terminology


This section introduces general data management terminology you should be familiar with before
you begin working with vMOS Data Management.

LUN Group
A LUN Group is a set of LUNs upon which you can perform actions. All the LUNs used by a specific
application can be grouped together into a LUN group. All LUNs in a LUN group must belong to the
same array. Actions to a LUN group are applied to all LUNs that are members of the LUN group.
You can have a maximum of eight LUNs in a LUN group. For more information on LUN groups, see
Working with LUN Groups on page 197.

Protected Snapshots
Protected snapshots allow you to specify that a snapshot cannot be automatically deleted by the
system during space reclamation. An Admin user can manually delete a protected snapshot at any
time, but the system cannot automatically delete the snapshot to reclaim space.

Snapshot
A snapshot is a space efficient (exact) replica of the state of a LUN or group of LUNs at a particular
point in time. Snapshots are read-only by default, but can be made read-write if necessary.

Snap Group
A snap group is an object that represents snapshots taken across a collection of LUNs belonging
to a LUN group. To create a snap group, snapshots of each LUN in a LUN group are taken, then
grouped as a snap group.

Thin Provisioning
Thin Provisioning is a method of optimizing the utilization of available storage through the use of
on-demand allocation of blocks of data instead of allocating all the blocks of data up front. This
means that the physical storage space is only allocated when data is written to the LUN.

254

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Use Cases and Scenarios

Over Provisioning
Over provisioning is the practice of provisioning space (for thin LUNs) beyond the physical capacity
of the array. In this case, allocation of the physical space occurs as the data is a written to the LUNs.

Data Management Use Cases and Scenarios


vMOS Data Management provides a flexible and efficient means for managing multiple spaceoptimized copies of critical data and increasing overall storage utilization. This section lists typical
vMOS Data Management use cases and scenarios.

Data Management Use Cases

Data continuityPoint-in-time copy solutions provide continuity of service in the event of a


node failure. This is especially true when used in conjunction with High Availability
configurations.

Decision support analysis and reportingOperations that do not need real-time information
can use a replica database created from snapshots. This approach enhances performance by
eliminating unnecessary competition for access to the primary database.

Testing and trainingDevelopment and service groups can test data for applications. This
practice provides a realistic basis for testing robustness, integrity, and performance of new
applications at no impact to the production application.

Database error recoveryYou can quickly recover a database using a snapshot, and rollback
to an earlier instance of the data. This practice ensures the integrity of a database in the case
of an admin or application program error that compromised the database.

Example Scenarios

Daily backups for analytics, reports, and data protectionA crash-consistent point-in-time
snapshot of the database used primarily for read-only purposes, such as backups, running
business analytics, or off-loading the generation of reports by querying data.

Snapshots for online data protection and restorationCrash-consistent point-in-time


snapshots created at regular intervals, such as every hour. In the event of a logical corruption
or user errorsuch as an accidental deletethe data can be manually reconstructed or
restored from the snapshot.

Best Practices
This section covers recommended vMOS Data Management practices in the following areas:

Over Provisioning
Usage Thresholds
Performance Optimization

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

255

Chapter 8 - Data Management

Over Provisioning
Thin provision LUNs are allocated as the application writes to these LUNs. Consequently, there is
a difference between provisioned capacity and actual capacity for an array supporting thin LUNs.
Over provisioning is the practice of defining additional space beyond the capacity of the physical
capacity of the array.

Note: Over provisioning applies to the entire array, not individual LUNs.

The following guidelines are suggested practices for over provisioning the array:

Over provisioning is supported to 1000% (10 x) beyond the physical space on an array
SNMP trap event disk-space-low should be set
Hard and soft (alert, limit, and reclaim) space usage thresholds should be set
Snapshots and snap groups should not all be specified as protected to allow for free space
reclamation

For information on usage thresholds, see Free Space Management on page 279. For information
on SNMP traps, see Trap/Notify Event E-mail and Logged Events on page 436 and Available Traps
on page 438.

Usage Thresholds
Effective space management entails specifying maximum limits for the used space, provisioned
space, and space used by snapshots. When this limit is reached, warnings are issued until space
allocation falls below the limit. You set free space thresholds in the following ways:

usedspace-thresholdManages the physical space usage of the system, through the use of
hard and soft (alert and limit) thresholds.

provision-thresholdManages the logical space usage of the system, through the use of hard
and soft (alert and reclaim) thresholds.

Performance Optimization
Asymmetric Active-Active ALUA is recommended for use on thin provision LUNs and LUNs with
snapshots for maximum performance. ALUA optimizes performance by directing the I/O to one port
(Memory Gateway) instead of both. Asymmetric logical unit access is managed implicitly by the
target device.

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA to prevent

a substantial performance hit.

256

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Optimizing Performance with ALUA

Optimizing Performance with ALUA


Asymmetric Active-Active (ALUA) directs management traffic to one preferred Gateway, to increase
performance for thin provisioned LUNs and LUNs with snapshots. ALUA is achieved by setting a
preferred port attribute and an ALUA attribute on a per-LUN basis. Asymmetric logical unit access
is managed implicitly by the target device.

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA to prevent

a substantial performance hit.

This section covers the following topics:

Setting Preferred Port and ALUA Attributes on page 257


Viewing Preferred Port Settings and Sessions on page 258
Viewing ALUA Settings on page 259

Setting Preferred Port and ALUA Attributes


There is a preferredport LUN attribute that is used in conjunction with the alua LUN attribute
that sets the preferred bit and target port asymmetric access state of each target port group. If the
preferred port is set to 1, the target ports of the Memory Gateway connected to port A of the
container are preferred, with optimized paths. This in turn makes the target ports of the Memory
Gateway connected to port B non-preferred and non-optimized.
Likewise, if the preferred port is set to 2, the target ports of the Memory Gateway connected to port
B of the container are preferred with optimized paths. This in turn makes the target ports of the
Memory Gateway connected to port A non-preferred and non-optimized.
If a preferred port is not specified, it defaults to 1. The preferred bit can only be changed by manually
setting the preferredport LUN attribute.
The preferred port settings remain unchanged in the case of failover. For example, LUN-1 is set with
A as the preferred port, and B as the non-preferred port. Then after MG-A fails, the preferred port
for LUN-1 is still A, and the on-preferred port is still B.
There are two methods for setting the preferredport and alua attributes:

Setting the Preferred Port and ALUA Attributes for a New Thin Provision LUN on page 257
Setting ALUA for an Existing LUN on page 258

Setting the Preferred Port and ALUA Attributes for a


New Thin Provision LUN
You can set both the preferredport and the alua attributes when creating a new LUN.
Optionally, you can set the preferred port for a LUN first (as described in Setting a Preferred Port
for an Existing LUN on page 258), and then set the alua attribute at a later time (as described in
Setting ALUA for an Existing LUN on page 258).

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

257

Chapter 8 - Data Management

Note: The preferredport setting is only applicable when the alua attribute is enabled on a
LUN. If a preferred port is not specified, it defaults to 1. To ensure optimum performance, manual
balancing of LUNs between the two preferred ports is recommended.

# lun create container <container_name> name <lun_name> size <size_GB>


[preferredport <1|2>] thin alua

Setting a Preferred Port for an Existing LUN


You can set the preferredport attribute on an existing LUN.

Note: The preferredport setting is only applicable when the alua attribute is enabled on a

LUN. If the alua attribute is not enabled, the preferredport setting has no effect.
# lun set container <container_name> name <lun_name> preferredport <1|2>

Setting ALUA for an Existing LUN


This section demonstrates how to set the alua attribute for a LUN (with a preferredport setting)
on which ALUA is not enabled. ALUA must be enabled for the preferredport attribute to be
recognized.
# lun set container <container_name> name <lun_name> alua

Removing an ALUA Setting


You can disable the alua attribute for a LUN using the following command.
# no lun set container <container_name> name <lun_name> alua

Viewing Preferred Port Settings and Sessions


You can display a list of LUNs and their preferredport settings using the following command.
# show luns preferred port
Container: MyContainer
LUN
Preferred port
---------------------------------------------ALUAlun
1
bigthin
1
thick1
2
thick2
2
thick3
2
thin1
1
thin2
1
thin3
1
thin4
1

258

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Optimizing Performance with ALUA

You can display a list of preferredport sessions using the following command.
# show luns preferredport sessions
Container: MyContainer
LUN
Preferred port
---------------------------------------------VMEM_1
1
Connected
Sessions : vmem-1-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_1
1
Connected
Sessions : vmem-1-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_2
2
Connected
Sessions : vmem-2-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
VMEM_2
2
Connected
Sessions : vmem-2-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2

Viewing ALUA Settings


You can display a list of LUNs with alua settings using the following command.
# show luns alua
Container: MyContainer
LUN
ALUA
-----------------------------------ALUAlun
1
bigthin
1
thick1
0
thick2
0
thick3
0
thin1
1
thin2
1
thin3
1
thin4
1

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

259

Chapter 8 - Data Management

You can display a list of alua sessions using the following command.
# show luns alua sessions
Container: MyContainer
LUN
ALUA
-----------------------------------VMEM_1
1
Connected
Sessions : vmem-1-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_1
1
Connected
Sessions : vmem-1-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_2
1
Connected
Sessions : vmem-2-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
VMEM_2
1
Connected
Sessions : vmem-2-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2

Thin Provisioning
Thin provisioning provides on-demand allocation of blocks of data, versus the traditional method of
allocating all the blocks up front. vMOS Data Management allocates storage capacity to the thin
provisioned LUNs as application writes data over time, thereby allowing the capacity to grow on
demand.
This section covers the following topics:

Thick LUNs versus Thin LUNs on page 260


Thin Provision LUNs on page 261

Thick LUNs versus Thin LUNs


This section discusses the basic differences between thick and thin LUNs, their advantages and
disadvantages, and how to work within their constraints.

260

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Thin Provisioning

Note: A LUN can be created as thin or thick. However, once a LUN is created (thick or thin), the

type cannot be changed. A thick LUN remains thick and a thin LUN remains until deleted.

A thick LUN is a LUN for which the entire provisioned size of the LUN is allocated up front,
when the LUN is created. For instance, when you create a thick LUN of size 10 TB, vMOS will
allocate all the 10 TB right at the time of LUN creation. For information on how to create thick
LUNs, see Working with LUNs on page 190.

A thin LUN is a LUN for which space is allocated as the application writes to the LUN. The
provisioned size of the LUN indicates the maximum size to which this LUN can grow. For
instance, when you create a thin LUN of size 10 TB, vMOS will initially allocate no space for
this LUN at the time of creation. Later, as the application writes to the LUN, space will be
allocated.
This is a flexible approach that allows you to use space as needed. However, there is a risk of
running out of space if you over provision the array. For more information, see Thin Provision
LUNs on page 261 and Free Space Management on page 279.

vMOS provides visibility into the provisioned capacity and allocated capacity for each LUN as well
as the entire container. Free Space Management policies can be used for enforcing control over the
free space available in the container. For more information, see Free Space Management on page
279.

Thin Provision LUNs


You can create a thin provision LUN within a specified storage container by specifying the thin
option to the end of the lun create command.

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA, to ensure

optimum performance. For more information, see Optimizing Performance with ALUA on page 257.

Prerequisite
Before you can create a thin provision LUN, log in to the Master Memory Gateway as an Admin
user, then enter Enable and Config mode as shown in the following example.
login as: admin
{cluster: master} > enable
# configure terminal

Creating a Thin Provision LUN


The command for creating a thin provision LUN provides the same options as the command for
creating a regular LUN, with the exception of thin at the end of the syntax.
# lun create container <container_name> name <LUN_name> size [<size GB> |
equal] [quantity <number>] [nozero] [readonly] [startnum <unsigned
integer>] [blocksize 512 | 4096] [offline] thin

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

261

Chapter 8 - Data Management

The following example demonstrates the creation of a 10 GB thin provision LUN named Mylun1 in
a container named MyContainer.
# lun create container MyContainer name Mylun1 size 10 thin
LUN create: success!

Modifying Read/Write Access for a Thin Provision LUN


The lun set command allows you to specify a LUN as read-only. This command is the same as
that used to modify the read/write access for a regular (thick) LUN.
# lun set container <container_name> name <thinlun_name> readonly

Renaming a Thin Provision LUN


You can use the lun rename command to rename a thin provisioned LUN.
# lun rename container <container_name> name <existing_thinlun_name> to
<new_thinlun_name>

Exporting a Thin Provision LUN


The process for exporting thin provision LUNs is the same as exporting regular (thick) LUNs. For
more information, see Exporting LUNs on page 193.

Note: Once a LUN is exported, it cannot be deleted without first unexporting the LUN.

# lun export container <container_name> name <thinlun_name> [lunid][to


<igroup | initiator>]... [using <port >]

Unexporting a Thin Provision LUN


The process for unexporting thin provision LUNs is the same as exporting regular (thick) LUNs. For
more information, see Exporting LUNs on page 193.

Note: You must unexport a LUN prior to deleting it. You are not allowed to delete an exported

LUN.

# no lun export container <container_name> name <thinlun_name>

Showing a List of Thin Provision LUNs


You can view information about thin provision and thick LUNs using the show luns command. You
can filter LUNs by container, name, and session parameters.
To view a list of containers, enter show luns container ?. The name parameter enables you
to view only those LUNs which are prefixed by a particular name.

262

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snapshots

# show luns container <container_name> name <thinlun_name> sessions


The following example shows the results for thin and thick LUNs.
# show luns
Container: MyContainer
LUN
Size Type RW Bksz Status
Ports
--------------------------------------------------------------------Mylun1
10G thin rw 512 HA
A,B
Mylun2
5G thick rw 512 HA
A,B

Deleting a Thin Provision LUN


The delete LUN command is the same for thin and thick (regular) LUNs.

Note: You must unexport a LUN prior to deleting it. You are not allowed to delete an exported

LUN.

# no lun create container <container_name> name <thinlun_name>

Snapshots
A snapshot is a space-efficient, point-in-time copy of a LUN or other storage volume. By default,
snapshots are read-only. However, you can set the permissions on snapshots to read-write.
Snapshots help high-availability systems avoid down-time, because the time and I/O needed to
create a snapshot does not increase with the size of the data set. A direct backup, however, is
proportional to the size of the data set.

Note: An application has to be quiesced (on the client side) before you can take an application
consistent snapshot. The snapshots discussed in this section refer to crash consistent snapshots,
taken on the array.

This section covers the following topics:

Creating Snapshots on page 264


Deleting Snapshots on page 264
Viewing Snapshot Information on page 265
Rolling Back the Contents of a Snapshot on page 267
Renaming Snapshots on page 268
Modifying the Access to Snapshots on page 269
Exporting Snapshots on page 269
Protecting Snapshots from Automatic Deletion on page 270

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

263

Chapter 8 - Data Management

Creating Snapshots
Snapshot creation is instantaneous. When a snapshot is initially created it consumes no space. As
writes occur to the LUN, the snapshot grows in size.
The following rules apply for snapshots:

A LUN can have a maximum of 1,024 snapshots

Deleting a single snapshot from a snap group is not allowed

A container can have a maximum of 10,000 snapshots across all the LUNs in the container
Taking a snapshot of a snapshot is not allowed
Snapshots are taken one at a time (serial); creating multiple simultaneous snapshots is not
allowed at this time

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA, to ensure

optimum performance. For more information, see Optimizing Performance with ALUA on page 257.

By default, snapshots are created read-only. However, you can choose to create read-write
snapshots, or change a snapshot to a read-write after its created.
A snapshot name must start with alphanumeric characters, and may also include dashes and
underscores. The [description] option allows you to add a description to the snapshot. You can
allow write privileges to the snapshot with the [readwrite] option. The [protect] option
prevents the snapshot from being deleted during space reclamation.
# snapshot create container <container_name> lun <lun_name> name
<snapshot_name> [description][readwrite][protect]

Deleting Snapshots
You must have Admin user privileges to delete snapshots. When a snapshot is deleted, the amount
of space allocated to the snapshot is returned to free space.
Review the following rules apply when deleting snapshots:

Snapshots that belong to a group cannot be deleted individually. However, you can delete all
the snapshots in a group.

Snapshots that have been exported cannot be deleted. You must unexport the snapshot first,
then it can be deleted.

Protected snapshots cannot be deleted, unless you have Admin user privileges. However, it is
recommended that you unprotect the snapshots first, then delete them.

# no snapshot create container <container_name> lun <lun_name> name


<snapshot-name>

264

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snapshots

Viewing Snapshot Information


You can display the same information for snapshots as you can for LUNs. For more information,
see Viewing LUNs and Containers on page 192 and Optimizing Performance with ALUA on page
257.
The show snapshots command has the following options:

alua: displays snapshots and their associated ALUAs


container: displays the snapshots within a specific container
count: displays snapshots
lun: displays only the snapshots within a specific LUN
naca: displays snapshots and their associated NACAs
preferredport: displays snapshots and their associated ALUA preferred ports
reserved: displays snapshots with SCSI reservations
serial: displays the serial numbers for each snapshot
sessions: displays snapshot sessions
udid: displays snapshots and their associated UDIDs

Showing a List of Snapshots


Use the following command to display a list of snapshots on the array. Along with the list of
snapshots, the name, timestamp, read-only/read-write status, and protected information for each
snapshot is displayed.
# show snapshots

Container: 41238F00608
Snapshot
LUN
RW Protect Status
Ports AllocSz Created
--------------------------------------------------------------------------------------snapg1_lun1_20130416_133533 lun1
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun2_20130416_133533 lun2
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun3_20130416_133533 lun3
ro no
HA
A,B
0G 2013/04/16_13:35:33

Showing a List of Snapshots for a LUN


Use the following command to display a list of snapshots for a specific LUN.
# show snapshots container <container-id> lun <lun-name>

Showing a List of Snapshot Sessions


Use the following command to display a list of snapshot sessions:
# show snapshots sessions

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

265

Chapter 8 - Data Management

Container: MyContainer
Snapshot
LUN
RW Protect Status
Ports AllocSz
---------------------------------------------------------------------s3-20-13
lun3
ro no
HA
A,B 50G
Connected Sessions : vmem-dm1-mga
: Port: hba-a2, Session: wwn.21:00:00:24:ff:26:68:08, LUN ID: 1
: Port: hba-a2, Session: wwn.21:00:00:24:ff:26:68:64, LUN ID: 1
: Port: hba-a2, Session: wwn.21:00:00:24:ff:26:68:09, LUN ID: 1
Connected Sessions
: Port: hba-a2,
: Port: hba-a2,
: Port: hba-a2,

: vmem-dm1-mgb
Session: wwn.21:00:00:24:ff:26:68:08, LUN ID: 1
Session: wwn.21:00:00:24:ff:26:68:64, LUN ID: 1
Session: wwn.21:00:00:24:ff:26:68:09, LUN ID: 1

Showing Snapshots with Associated ALUAs


Use the following command to display a list of snapshots and their associated ALUAs. For
information on ALUA and preferred ports, see Optimizing Performance with ALUA on page 257.
# show snapshots alua
Container: MyContainer
snapshot
ALUA
------------------------------vmem_20130319_175400
0
lun1_20130319_175700
1
lun2_20130319_180000
1
lun3_20130319_180301
0
lun4_20130319_180601
0
HR_1_20130319_181201
0
Eng1_20130319_181500
1

Showing Snapshots with Associated NACAs


Use the following command to display a list of snapshots and their associated NACAs. For more
information on NACA, see AIX Compatibility NACA Bit Support on page 179.
# show snapshots naca

266

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snapshots

Container: MyContainer
snapshot
NACA
------------------------------Admin_20130329_5500
0
lun5_20130329_5700
1
lun7_20130329_5800
1
lun3_20130329_5301
0
lun9_20130329_5601
1
HR_1_20130329_5201
0
Eng1_20130329_5900
1

Showing a List of Exported Snapshots


Use the following command to display a list of exported snapshots.
# show exports

Container: MyContainer
LUN
Snapshot Target
Initiator
LUNID Status
--------------------------------------------------------------------Admin1_thick 20813
iscsi iqn.1994-05.com:01f775debf9 1
Active
lun05_thin
20814
iscsi iqn.1994-05.com:01f775debf9 3
Active
lun09_thin
20815
iscsi iqn.1994-05.com:01f775debf9 4
Active
HR13_thick
20816
iscsi iqn.1994-05.com:01f775debf9 2
Active

Rolling Back the Contents of a Snapshot


A rollback is the process of restoring the contents of a LUN from a snapshot. You can perform this
task without unexporting an exported LUN.

Performing a Rollback
Before you try performing a rollback, you should understand the requirements and the process.
Requirements:
a. Both ports of a LUN must be offline before issuing the snapshot rollback command.
b. If the snapshot you want to restore the LUN from is read-write, the snapshot must be

unexported first.
c. After the snapshot is unexported, the LUN you want to restore must be unexported as
well.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

267

Chapter 8 - Data Management

Rollback Process:

A rollback follows this process:


a. When a rollback is initiated, the system creates a new snapshot of the LUN to preserve

the state of the LUN prior to the rollback.


b. The LUN is changed to match the contents of the (restore) snapshot specified in the
rollback.
c. The LUN can be brought back online, as well as the (restore) snapshot used in the
rollback process.
Note: The system snapshottaken at the beginning of the rollback processcan later be used

to undo the rollback, should the need arise.

Command Syntax
Offline Ports

# no lun set container <container_name> name <lun_name> port <a|b> online


Snapshot Rollback

# snapshot rollback set container <container_name> lun <lun_name> name


<snapshot-name>
The following example shows a snapshot rollback command, preceded by both ports of a LUN
being taken offline.
violin-123 [violin: master] (config) # no lun set container 123 name lun1 port A online
Data disruption will occur. Really offline LUN lun1 on port A? [no] yes
Success
violin-123 [violin: master] (config) # no lun set container 123 name lun1 port B online
Data disruption will occur. Really offline LUN lun1 on port B? [no] yes
Success
violin-123 [violin: master] (config) # snapshot rollback container 123 lun lun1 name s1
WARNING! The contents of LUN lun1 will be overwritten with the contents of snapshot s1.
Do you want to continue? [no] yes

Renaming Snapshots
You can change the name of a snapshot at any time, provided it has not been exported. Changing
the name of a snapshot does not impact the existing sessions for that snapshot, as long as the
snapshot has not yet been exported.

Note: Changing the snapshot name after the snapshot has been exported is not recommended,

because traffic can be disrupted. The effect on the client depends on how it handles the change.

Specify the container ID, LUN name, old snapshot name, and new snapshot name.

268

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snapshots

# snapshot rename container <container_name> lun <lun_name> name <oldsnapshot-name> to <new-snapshot-name>

Modifying the Access to Snapshots


You can change snapshot access from read-only to read-write, or from read-write to read-only.

Note: Existing snapshot sessions are disconnected after making this change.

You are not allowed to modify the individual properties of a snapshot that belong to a snap group.
For example, you are not allowed to change the read-only/read-write property or the protect
property of a snapshot that belongs to a snap group.
# snapshot set container <container_name> lun <lun_name> name <snapshotname> readwrite

Exporting Snapshots
You can export snapshots in the same way you can export LUNs, using the following options:
lunid: assigns a LUN ID to the exported snapshot
to: exports a snapshot to an initiator or initiator group
using: exports a snapshot using a target port

Basic Syntax for Exporting a Snapshot


# snapshot export container <container_name> lun <lun_name> [snapshotname] [lunid] [to <igroup|initiator>]... [using <port >]

Assigning a LUN ID to an Exported Snapshot


# snapshot export container <container_name> lun <lun_name> [snapshotname] [lunid]

Exporting a Snapshot to an Initiator or Initiator Group


# snapshot export container <container_name> lun <lun_name> [snapshotname] [to <igroup|initiator>]

Exporting a Snapshot Using a Target Port


# snapshot export container <container_name> lun <lun_name> [snapshotname] [using <port >]

Unexporting a Snapshot
# no snapshot export container <container_name> lun <lun_name> [snapshotname]

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

269

Chapter 8 - Data Management

Protecting Snapshots from Automatic Deletion


You can protect snapshots from being deleted by the system during space reclamation. A protected
snapshot can never be deleted by the system, it must be manually deleted by an Admin user. The
system can only delete unprotected snapshots to gain free space.

Note: If there are no unprotected snapshots and free space has gone below the threshold value,

an event is generated using syslog, SNMP trap, email and other supported notification methods.

Protecting a Snapshot
# snapshot set container <container_name> lun <lun_name> name <snapshotname> protect

Unprotecting a Snapshot
# no snapshot set container <container_name> lun <lun_name> name
<snapshot-name> protect

Snap Groups
A snap group is an object that represents a set of snapshots taken across a collection of LUNs that
belong to a LUN group. When a snapshot of a LUN group is taken, a snapshot is taken of each
individual LUN in the LUN group (serially), then all the resulting snapshots are grouped together as
a Snap Group.
Snap groups are useful for creating an application level checkpoint, when an application is deployed
across several LUNs.
This section covers the following topics:

Creating a Snap Group on page 270


Deleting a Snap Group on page 271
Showing a List of Snap Groups on page 271
Rolling Back the Contents of a Snap Group on page 272
Modifying a Snap Group on page 272
Changing the Name of a Snap Group on page 273
Exporting a Snap Group on page 273

Creating a Snap Group


You can create a snap group from an established LUN group. A snap group is a group of snapshots
of the LUNs belonging to the LUN group. This operation creates a snapshot of each LUN in the snap
group, then links the snapshots together into a group.
# snapgroup create container <container_name> lungroup <lungroup_name>
name <snap_group_name>[readwrite] [protect] [description]

270

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snap Groups

For information on how to modify a snap group after its created, see Modifying a Snap Group on
page 272.

Deleting a Snap Group


You can delete a snap group using its name. When you delete a snap group, all the snapshots
contained within the group are deleted.

Note: Snapshots that belong to a group cannot be deleted individually. However, you can delete

the entire group of snapshots.


# no snapgroup create container <container_name> lungroup <lungroup_name>
name <snap_group_name>

Showing a List of Snap Groups


You can display a list of the snapshots in a snap group using any of the following options:
container: displays only the snap groups in a specific container.
LUN group name: displays only the snap groups that belong to a specific LUN group.
snap group name: displays only a specific snap group.

Viewing Snap Group Information


In the following command, if you leave out the snapgroup-name, the resulting list shows all snap
groups for the LUN group on the container. If you leave out the lungroup-name and snapgroupname, the resulting list displays all snap groups for all LUN groups on the container.
If you use the show snapgroups command without any options, the resulting display shows the
snap groups for all LUN groups, along with the associated snapshots.
# show snapgroups [container] <container-name> [lungroup] <lungroup-name>
[snapgroup] <snapgroup-name>

# show snapgroups container 41238F00608 lungroup lung1 snapgroup snapg0


Container: 41238F00608
Lungroup: lung1
Description: Just another snapgroup
# of snapshots: 3
Snapshots
---------------------------------------------------------------------snapg1_lun1_20130416_133533
snapg1_lun2_20130416_133533
snapg1_lun3_20130416_133533
Total Allocated Size: 0G
Snapshot Protected/Unprotected: 0G/0G

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

271

Chapter 8 - Data Management

Rolling Back the Contents of a Snap Group


You can roll back (restore) the contents of all LUNs in a LUN group from a snap group. This
operation does not require that the LUNs be unexported. However, all the LUNs and snapshots
involved are taken offline when the contents of the LUN are changed.
A LUN group may change after a snap group is created. In this case, the LUNs that were in the LUN
group when the snap group was created are used for the rollback. If a LUN no longer exists, it is
skipped.
Before beginning a rollback, the system creates a new snap group to preserve the contents of the
LUNs. If a rollback of a LUN fails, the operation is aborted.

Note: Each LUN must have port A and port B put offline before a rollback can be executed.

Rolling Back a Snap Group


The following command specifies the LUN group to be restored by the specified snap group.
# snapgroup rollback container <container-name> lungroup <lungroup_name>
name <snapgroup-name>

Modifying a Snap Group


This section demonstrates how to change the characteristics of a snap group.

Adding or Changing a Description


Use the following command to add a description to a snap group, or change an existing description.
Enter the new description text in place of the <description_text> variable. The
<description_text> variable can contain multiple words if the words are enclosed within
double quotes.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> description <description_text>

Protecting and Unprotecting a Snap Group


Use the following command to protect a snap group from being automatically deleted when free
space is needed.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> protect
Use the following command to allow the snap group to be automatically deleted when free space is
needed.
# no snapgroup set container <container_name> lungroup <lungroup_name>
name <snapgroup_name> protect

272

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Snap Groups

Specifying Read/Write Permissions


Use the following command to grant read/write access to a snap group.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> readwrite
Use the following command to set the permissions to read-only for a snap group with read/write
access.
# no snapgroup set container <container_name> lungroup <lungroup_name>
name <snapgroup_name> readwrite

Changing the Name of a Snap Group


You can change the name of a snap group at any time.

Renaming a Snap Group


Use the following command to change the name of an existing snap group. You must specify the
LUN group associated with the snap group.
# snapgroup rename container <container-name> lungroup <lungroup-name>
name <snapgroup_name> to <new-snapgroup-name>

Exporting a Snap Group


You can export a snap group and all the snapshots contained within the snap group, using the
following options.
to: exports a snapshot to an initiator or initiator group
using: exports a snapshot using a target port

Exporting a Snap Group to an Initiator


Use the following command to export a snap group to a specified initiator.
# snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name] to <initiator_port>

Exporting a Snap Group Using a Port


Use the following command to export a snap group using a specified port or ports.
# snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name] using <port ...>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

273

Chapter 8 - Data Management

Unexporting a Snap Group


Use the following command to unexport a snap group.
# no snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name]

Schedule Management
You can automatically schedule the creation of snapshots and snap groups using schedule
management commands. This feature allows you to define a schedule that creates snapshots or
snap groups at specified time intervals.
Every schedule supports a maximum number of snapshots and snap groups that can be kept at one
time, through the max-keep option. When the max-keep option is implemented, if the maximum
number of stored snapshots is reached, the oldest unexported and unprotected snapshot or snap
group (created by the scheduler) is deleted when the next snapshot is created.

Note: The max-keep limit is set on a per schedule basis, not per LUN or LUN group.

This section covers the following topics:

Creating a Schedule on page 274


Deleting a Schedule on page 275
Modifying Schedules on page 276
Showing a List of Schedules on page 279

Creating a Schedule
Snapshots can be taken at regular intervals to facilitate space efficient backups. Schedules
automate this process, offering a variety of options so you can tailor them to different needs. For
information on how to create a schedule using the Web interface, see Creating Schedules on page
85.
You can create more than one schedule for a given LUN or LUN group. However, each schedule
applies to only one LUN or LUN group. A cluster can support up to 1024 schedules. When multiple
schedules are set to be executed at the same time, they execute one after the other, not
simultaneously. The sequential execution of schedules may cause a delay between the specified
time of execution and the actual time the schedule is launched.
Each snapshot created by the scheduler is created using the following naming convention:
<LUN_name|LUN_group_name>_<scheduler-name>_<time-stamp>
Note: If you change the name of a LUN, any existing schedules that include the LUN will not

reflect the name change. LUN names are not automatically changed in schedules, however, the
snapshot schedule will continue un-impacted with the renamed LUNs.

274

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Schedule Management

By default, a schedule snapshot is created as read-only. However, when creating a schedule, you
can change this option to read-write.

Customizing a Schedule
Use the following command syntax to create a schedule:
# schedule snapshot create container <container-name> <options>
# write memory
Use the following <options> to customize a schedule:
description: Adds an identifying description to the schedule
disabled: Schedule will be disabled upon creation; default is enabled; it can later be
modified to be enabled
end-date: Specifies the end date for the schedule
end-time: Specifies the end time for the schedule
lun: Creates a schedule for a LUN
lungroup: Creates a schedule for a LUN group
max-keep: Specifies the number of snapshots kept before deleting; does not apply for a
one-time schedule
protect: Specifies the snapshots taken by this schedule are protected from automatic
deletion
readwrite: Specifies that the snapshots taken by this schedule have read/write access
schedule-name: Specifies a name for the schedule
start-date: Specifies the start date for the schedule
start-time: Specifies the start time for the schedule
time-of-day: Specifies the time of day at which a non-periodic schedule triggers
type-daily: Specifies a daily schedule [time-of-day]
type-monthly: Specifies a monthly schedule [day-of-month] [interval]
[day-of-month]: Specifies the day of the month on which a monthly schedule executes; use
a negative number to count backwards from the end of the month
[interval]: Specifies the number of months for the schedule to repeat; the default is 1 if this
option is not specified
type-once: Specifies a one-time schedule [date]
[date]: Specifies the execution date for a one-time schedule
type-periodic: Specifies a periodic schedule [periodicity]
[periodicity]: Specifies the number of recurring intervals for the schedule
type-weekly: Specifies a weekly schedule [days-of-week]
[days-of-week]: Specifies the days of the week on which a weekly schedule executes

Deleting a Schedule
You can delete a schedule at any time. Deleting a schedule does not affect (or impact in any way)
the snapshots or snap groups already created by the schedule. If a schedule is currently in the
process of creating a snapshot or snap group, it does not impact the creation.
When deleting a schedule, you have the option of deleting all unprotected and unexported
snapshots and snap groups created by that schedule. When a LUN or LUN group is deleted, all the
schedules associated with that LUN or LUN group are automatically deleted.
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

275

Chapter 8 - Data Management

For information on how to delete a schedule using the Web interface, see Modifying and Deleting
Schedules on page 88.

Schedule Delete Command


Specify the container name, the LUN or lungroup name and the schedule name to delete a
schedule.
# no schedule snapshot create container <container-name> <options>
For example:
# no schedule snapshot create container 41238F00608 lun lun1 schedule-name
sched1
# write memory

Modifying Schedules
Every schedule supports a maximum number of snapshots and snap groups that can be kept at one
time, through the max-keep option. When the max-keep value is decreased, unexported and
unprotected snapshots and snap groups are deleted as necessary, to meet the new max-keep
requirement. The default value of max-keep is 20 snapshots.
For information on how to modify schedules using the Web interface, see Modifying and Deleting
Schedules on page 88.
This section covers the following topics:

Modify Schedule Options and Examples on page 276


Basic Syntax for Modifying a Schedule on page 277
Changing a Schedule Name on page 277
Changing the Maximum Number of Kept Snapshots on page 277
Enabling a Schedule on page 277
Disabling a Schedule on page 277
Making a Schedule Read-Only on page 278
Making a Schedule Read-Write on page 278
Protecting Snapshots in a Schedule on page 278
Unprotecting Snapshots in a Schedule on page 278
Changing the Time of Day a Schedule Executes on page 278

Modify Schedule Options and Examples


The command options, as described in Customizing a Schedule on page 275, also apply to
modifying a schedule. The following options are unique to modifying a schedule:
enable: Activates a schedule
disable: Deactivates a schedule
protect: Protects the snapshots created by the schedule from automatic deletion by the
system to create free space

276

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Schedule Management

unprotect: Allows the snapshots created by the schedule to be automatically deleted by


the system to create free space
readonly: Sets the permissions for the snapshots created by the schedule as read-only
readwrite: Sets the permissions for the snapshots created by the schedule as read-write
Note: You can disabletemporarily pausea schedule at any time. If a schedule is in progress,

the disable action does not interrupt or abort the schedule. The schedule will be put into a disabled
state after the creation is complete.

The following sections demonstrate the basic syntax for modifying a schedule, and provides
examples of common uses as well as the options that are unique to modifying a schedule.

Basic Syntax for Modifying a Schedule


Use the following command with the necessary options to modify an existing schedule. For
information on available options, see Customizing a Schedule on page 275.
# schedule snapshot modify container <container-name> lun|lungroup
<lun_name|lungroup_name> <options>

Changing a Schedule Name


The following example changes the name of a schedule associated with the specified LUN.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> new-schedule-name <new_schedule_name>

Changing the Maximum Number of Kept Snapshots


The following example changes the maximum number of snapshots that are kept. After this number
is reached, the next oldest snapshot is deleted when a new snapshot is created.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> max-keep <new_max-keep_value>

Enabling a Schedule
The following example enables a schedule.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> enable

Disabling a Schedule
The following example disables a schedule.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> disable

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

277

Chapter 8 - Data Management

Note: You can disabletemporarily pausea schedule at any time. If a schedule is in progress,

the disable action does not interrupt or abort the schedule. The schedule will be put into a disabled
state after the creation is complete.

Making a Schedule Read-Only


The following example sets the permissions for the snapshots created by the schedule as read-only.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> readonly

Making a Schedule Read-Write


The following example sets the permissions for the snapshots created by the schedule as readwrite.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> readwrite

Protecting Snapshots in a Schedule


The following example protects the snapshots created by the schedule so they are not automatically
deleted by the system to create more free space.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> protect

Unprotecting Snapshots in a Schedule


The following example allows the snapshots created by the schedule to be automatically deleted by
the system to create more free space.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> unprotect

Changing the Time of Day a Schedule Executes


The following example changes the time of day a schedule executes.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> time-of-day <new_time_of_day>

278

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Free Space Management

Showing a List of Schedules


You can display a list of schedule names using the show schedule command.

Viewing Schedules
Use the following command to view a particular schedule.
# show schedule <schedule_name>
If a snapshot is created by a schedule, it appears in the list of objects. In this case, the schedule
name appears in the snapshot list.

Free Space Management


You can monitor and manage the available space on containers for LUNs, snapshots, snap groups,
and LUN groups. This section covers the following topics:

Monitoring Free and Consumed Space on page 279


Rules for Reclaiming Free Space on page 283
Thresholds and the Reclamation Process on page 282
Setting Usage Thresholds on page 283

Monitoring Free and Consumed Space


Monitoring free space (of a container) is recommended when using snapshots and snap groups.
Monitoring free space is important when provisioned space goes beyond the physical or usable
capacity of the array.
Overprovisioning is the practice of provisioning space beyond the capacity of the array, since thin
provision LUNs only use space as it is physically written. This section covers how to monitor free
and consumed space in the following topics:

Viewing a Container Space Summary on page 279


Viewing Container Space Utilization on page 280
Viewing LUN Space Utilization on page 280
Viewing Snapshot Space Utilization on page 281
Viewing Snapshot Space Utilization on page 281
Thresholds and the Reclamation Process on page 282

To monitor space through the Violin Web UI, see CHAPTER 2, Manage, Monitor, and Administer
with the Violin Web Interface on page 31.

Viewing a Container Space Summary


You can view a summary of the total space and free space on a container, along with the number
of LUNs, and the provisioned space in Gigabytes. Ports, host, and status information is also
displayed, using the following command. You must be in enable mode to run this command.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

279

Chapter 8 - Data Management

# show containers
Container LUNs Total Free Provisioned Ports HostA HostB Status
----------------------------------------------------------------41238F
8
20685G 20661G
40G
A,B
v-mga
v-mgb
HA

Viewing Container Space Utilization


You can view a detailed breakdown of space utilization on a container with the show containers
space_utilization command. The following terms apply:

provisioned size: amount of logical space used, or the space provisioned for use

allocated size: amount of physical space used

free space: amount of space available for use

You must enter enable mode to run this command.


# show containers space-utilization
name: MyContainer
Category
Allocated Provisioned
------------------------------------------------Thick LUNs
100G
100G
Thin LUNs
640G
640G
Snapshots
0
0
Reserved
30G
Container
Maximum space

770G

740G

20676G

20676G

Viewing LUN Space Utilization


You can view space utilization data for individual LUNs as well as all LUNs on a container. This
command displays detailed information about all the LUNs on a container. The following terms
apply:

allocated size: amount of physical space used

total (provisioned) size: amount of space asked for

You must enter enable mode to run these commands.

280

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Free Space Management

# show luns
Container: MyContainer
LUN
Size Type
RW Bksz Status Ports Snapshots AllocSz TotalSz
---------------------------------------------------------------------lun5_thck
50G thick rw 512 HA
A,B
324
50G
50G
lun6_thck
75G thick rw 512 HA
A,B
25
75G
75G
lun7_thck
60G thick rw 512 HA
A,B
202
60G
60G
lun23_thn
35G thin
rw 512 HA
A,B
121
21G
23G
lun24_thn
45G thin
rw 512 HA
A,B
221
12G
15G
lun25_thn
50G thin
rw 512 HA
A,B
355
22G
27G
The following command displays information about a particular LUN on a specified container.
# show luns container <container_name> name <lun_name>
Container: MyContainer
LUN Size Type RW Bksz Status
Ports Snapshots AllocSz TotalSz
---------------------------------------------------------------------lun1
1G thin rw 512 HA
A,B
1
0G
0G
Total Allocated Size: 0G
Lun Allocated/Provisioned Size: 0G/1G
Lun Snapshot Protected/Unprotected/Shared Size: 0G/0G/0G

Viewing Snapshot Space Utilization


You can view space utilization data for snapshots on a container. The following term applies:

allocated size: amount of physical space used

You must enter enable mode to run this command.


# show snapshots
Container: 41238F00608
Snapshot
LUN
RW Protect Status
Ports AllocSz Created
--------------------------------------------------------------------------------------snapg1_lun1_20130416_133533 lun1
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun2_20130416_133533 lun2
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun3_20130416_133533 lun3
ro no
HA
A,B
0G 2013/04/16_13:35:33

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

281

Chapter 8 - Data Management

Thresholds and the Reclamation Process


The following table lists the types of thresholds you can set to manage and reclaim free space, and
the limits for each:

Threshold
usedspace-threshold

Manages the physical


space usage of the
system

provision-threshold

Manages the logical


usage of the system

Soft Limit

Hard Limit

Range: 0-100
Default:
0 => no used
space alerts

Range: 0-100
Default:
0 => no space
reclamation

When used space


exceeds the soft
limit, an SNMP
alert is issued.

When used space


exceeds the hard
limit, snapshot
space reclamation
begins

Range: 0 - 999
Default: 0 => no
provisioned space
warnings or alerts

Range 0 - 999
Default: 100 =>
provisioned space
equals usable
space

When provisioned
space exceeds the
soft limit, LUN
creation succeeds
but a warning and
SNMP alerts are
issued.

When provisioned
space exceeds
the hard limit,
further
provisioning is
stopped.
The hard limit
defines the
logical size of
the system.

Example

Soft limit = 50
Hard limit = 75
When 50% of the usable
space in the array is used
up, an SNMP alert is
issued.
When 75% of the usable
space in the array is used
up, space reclamation
begins by deleting viable
snapshots.
Soft limit = 125
Hard limit = 150
Assuming the usable
capacity of array is 20 TB, a
hard limit of 150% allows
the logical capacity of the
array to be 30 TB.
When creating a new LUN
causes the total
provisioned size to exceed
25 TB (125% of 20 TB), a
warning is issued but the
LUN creation succeeds.
When creating a new LUN
causes the total
provisioned size to exceed
30 TB, LUN creation fails
and an error is issued.

Table 8.1 Free Space Thresholds

Reclamation uses the following process:


1. Reclamation begins when the hard limit for the usedspace-threshold is exceeded.
2. The oldest to the newest unprotected, read-only, unexported snapshots are deleted.
3. When the amount of free space on the array goes below the trigger value or the max-delete

limit is reached (10 snapshots), reclamation halts.


4. If the max-delete limit is reached before the free space on the array drops below the trigger

value, reclamation resumes following the rules outlined in step 3.


282

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Free Space Management

Rules for Reclaiming Free Space

You should not specify all snapshots and snapgroups as protected, otherwise automatic space
reclamation is not possible.

You can never specify a LUN size larger than the total usable capacity on the container.

If the provision-threshold is exceeded, LUN creation is prohibited until LUNs are deleted
or you increase the provisioning space threshold.

con The maximum number of snapshots that can be deleted at one time (max-delete default)
is 10. The max-delete default cannot be modified.

Snapshots and snap groups are deleted from oldest to newest, until one of the following is
achieved:

You can set the provision-thresholdthe maximum provisioned space on the arrayto
a maximum of ten times (1000%) the physical space on the array.

The free space on the array drops below the trigger value.
The maximum number (max-delete) of unprotected, read-only, unexported snapshots or
snapgroups is deleted.
If the max-delete is reached and the available free space does not fall below the trigger,
the identified snapshots and snap groups are deleted and the reclamation process is
restarted.

You can specify the maximum number of snapshots or snap groups to keep (max-keep), as
described in Modifying Schedules on page 276.

A list of deleted snapshots is available in SNMP log files.


If other policies are implemented by an external management software, you can set the
reclamation thresholds to zero (0). This allows the external management software to be used
instead of the Violin free space policies.

Setting Usage Thresholds


You can specify space usage thresholds that activate alerts and space reclamation when the limit
is reached. The threshold triggers are set at the container-level (array) and allow you to specify
thresholds for free space and provisioned space. This section covers the following topics:

Setting a Used Space Threshold Trigger on page 284


Setting a Provision Threshold Trigger on page 284
Deleting Threshold Triggers on page 284
Monitoring Available Free Space on page 284

For information on the rules that apply to space reclamation, see Rules for Reclaiming Free Space
on page 283.

Note: Threshold values are in percentages (%). Threshold triggers are set at the container-level

(array).

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

283

Chapter 8 - Data Management

Setting a Used Space Threshold Trigger


The following command specifies hard and soft thresholds (in percentages), to manage used space
in the container.
# container set name <container_name> usedspace-threshold soft|hard
<number_percent>

soft: threshold issues an alert when the percentage is exceeded


hard: threshold starts space reclamation when the percentage is exceeded

Setting a Provision Threshold Trigger


The following command specifies hard and soft thresholds (in percentages), to manage provisioned
space in the container.
# container set name <container_name> provision-threshold soft|hard
<number_percent>

soft: threshold issues an alert when the percentage is exceeded


hard: threshold prevents further provisioning when the percentage is exceeded

Deleting Threshold Triggers


The following command deletes a used space threshold set for a specific container.
# no container set name <container_name> usedspace-threshold [soft] [hard]
The following command deletes a provisioned space threshold set for a specific container.
# no container set name <container_name> provision-threshold [soft] [hard]

soft: threshold issues a warning when the percentage is exceeded


hard: threshold starts reclamation when the percentage is exceeded

Monitoring Available Free Space


The commands for monitoring the available free space on a container or array are covered in
Monitoring Free and Consumed Space on page 279.
For information on how to monitor free space in at-a-glance visual displays, see Space
Management on page 102.

284

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

REFERENCE

APPENDIX A, CLI Reference on page 287


APPENDIX B, Alarm Reference on page 369
APPENDIX C, Violin Drivers on page 387
APPENDIX D, Violin Utilities on page 403
APPENDIX E, Performance Tuning and Testing on page 423
APPENDIX F, SNMP Traps on page 433
APPENDIX G, Optimizing Connectivity for Initiator Hosts on page 465

CLI Reference

APPENDIX A

This appendix lists and describes the available commands in the command line
interface (CLI) of the Violin 6000 Series Memory Array in the following sections.

535-0008-00 Rev 10

CLI Command Descriptions on page 288


CLI Option Commands on page 289
General Configuration Commands on page 292
Network Configuration Commands on page 314
Administrative Commands on page 316
Email Alert Consolidation Commands on page 317
Unified Logging Upload Commands on page 319
Address Resolution Protocol Commands on page 319
Array Configuration and Show Commands on page 320
VIMM Commands on page 324
iSCSI Commands on page 325
Security Commands on page 326
SCSI-3 ALUA Commands on page 330
Fibre Channel Commands on page 331
Initiator Group Commands on page 331
LUN Commands on page 333
LUN Group Commands on page 338
Data Management Commands on page 341
Diagnostic and Display Commands on page 359
Standard Show Commands on page 359
Standard CLI Commands on page 361

Violin 6000 Series Memory Array Users Guide

287

Appendix A - CLI Reference

CLI Command Descriptions


The sections below describe CLI commands for the Violin 6000 Series Memory Array.

Key to Command Parameters on page 288


General Configuration Commands on page 292
Network Configuration Commands on page 314

Key to Command Parameters


This section is a key to the meaning and format of parameter values and other attributes of the CLI
commands. Parameter values are shown in angle brackets, and listed alphabetically below.

288

<cluster id>

A string specifying the name of a cluster.

<domain>

A domain name, such as vmem.com.

<hostname>

A hostname, such as hexagon.vmem.com.

<ifname>

An interface name, such as eth0, eth1, lo (loopback), and so on.

<IP address>

An IPv4 address, such as 192.168.0.1.

<log level>

A syslog logging severity level. Possible values, from least to most


severe, are: debug, info, notice, warning, error, crit, alert,
emerg.

<MAC address>

A MAC address. The segments may be 8 bits or 16 bits at a time, and


may be delimited by : or .. So you could say 11:22:33:44:55:66,
1122:3344:5566, 11.22.33.44.55.66, or 1122.3344.5566.

<netmask>

A netmask (such as 255.255.255.0) or mask length prefixed with a


slash (such as /24). These two express the same information in
different formats.

<network prefix>

An IPv4 network prefix specifying a network. This is used in conjunction


with a netmask to determine which bits are significant. For example,
192.168.0.0.

<node id>

ID of a node (Memory Gateway, Violin 6000 Series Memory Array)


belonging to a cluster. This is a numerical value greater than zero.

<port>

A TCP or UDP port number.

<regular
expression>

An extended regular expression as defined by the grep man page.


(The value you provide here is passed on to grep -E.)

<TCP port>

A TCP port number in the full allowable range [0...65535].

<URL>

Either a normal URL, using any protocol that wget supports, including
http, https

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CLI Option Commands

If you omit the :password part, you may be prompted for the password
in a follow up prompt, where you can type it securely (without the
characters being echoed). This prompt will occur only if the cli default
prompt empty-password setting is true; otherwise, the CLI assumes
you do not want any password.
If you include the :S character, this is taken as an explicit declaration
that the password is empty, and you will not be prompted in any case.
INTERACTIVE

A command that is only available for interactive usage from the CLI
shell. Specifically, this excludes using the command from jobs, because
the Scheduler runs commands in a batch mode with no direct user
interactivity. In most cases, it is obvious why each of these commands
has the INTERACTIVE restriction.

CLI Option Commands


The following groups of commands relate to the CLI itself:

cli session ... commands change a setting only for the current CLI session. They do not
affect any other sessions, and can be performed by any user at any time. All of these
commands are INTERACTIVE (not available from the Scheduler).

cli default ... commands change the defaults for the specified setting for all future CLI
sessions of all users. They also change the setting for the current session from which they
were executed, but not for any other currently active sessions. Since they change
configuration, the user must be in Configure mode to run them, and hence they can only be
run by admin.

Other cli ... commands which take one-time actions, rather than change a setting, and
thus do not fall under the session or default umbrellas. For example, cli clear-history.

terminal ... commands are clones of a subset of the cli session ... commands, and
are only present for Cisco compatibility. All of these commands are INTERACTIVE (not
available from the Scheduler).

Note that some settings, such as the terminal length and width, are inherently session-specific, and
there are no corresponding commands to set the defaults in configuration.

Control User Inactivity


cli default auto-logout <length in minutes>
cli session auto-logout <length in minutes>
no cli default auto-logout
no cli session auto-logout
Control the length of user inactivity required before the CLI will automatically log a user out. The no
... variants of this command disable the automatic logout feature.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

289

Appendix A - CLI Reference

Control Paging of CLI Output


[no] cli default paging enable
[no] cli session paging enable
Enable or disable paging of CLI output. If paging is enabled, all command output, as well as all help
text printed when the ? key is pressed, will be displayed one screen at a time, using the same pager
as the 'show log' command uses. If the text to be displayed fits on a single screen, it will be printed
normally and the pager will not be used.
Note that the abbreviated list of commands printed when <tab> is hit twice is not paged, even in the
unlikely event that it does not fit on the screen.
Note that if the CLI does not have a terminal (for example, it is being driven by a script), paging is
disabled automatically regardless of the default setting, and cannot be re-enabled for this session.
However, even in this case, the default setting can still be changed.

Control Showing Hidden Commands


[no] cli default show config-hidden enable
Enable or disable showing hidden commands in the output of the various forms of show config
.... By default, hidden commands are displayed to represent the running state of a system.

Confirm Loss of Unsaved Changes


[no] cli default confirm lose-unsaved
Enable or disable confirmations of cases where you might accidentally lose unsaved changes.
Currently, this is just for the reload [halt] command; other cases where you might lose
configuration are just some of the configuration ... commands, which have no confirmations
in any case, since they are explicitly dealing with configuration.

Confirm Reboot or Halt Reload


[no] cli default confirm reload
Enable or disable confirmations of rebooting or halting the system using the 'reload' command. This
confirmation is in addition to any separate confirmations that may be displayed for unsaved
changes.
cli session terminal width <number of characters>
cli session terminal length <number of lines>
terminal width <number of characters>
terminal length <number of lines>
Override the auto-detected size of the terminal. This is useful mostly when the size could not be
auto-detected and the CLI is using the default 80x24.
290

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

CLI Option Commands

These settings are persistent only for the current CLI session. They are also lost if the terminal is
resized and the CLI is able to auto-detect its new size.
Note that the commands without the cli session prefix are identical to those with the prefix, and
are present only for Cisco compatibility.

Set Terminal Type


cli session terminal type <type>
no cli session terminal type
terminal type <type>
no terminal type
Set the type of the terminal. The 'no' variants clear the terminal setting, which will cause the session
to be treated as a dumb terminal. The commands without the cli session prefix are identical
to those with the prefix, and are present only for Cisco compatibility.

Clear Command History


cli clear-history
Clears the command history of the current user.

Display CLI Settings


show cli
Display CLI settings: the inactivity timeout, whether or not paging is enabled, the terminal size and
type. For settings which have configured defaults, both those and the current session settings are
displayed.

Display Terminal Details


show terminal
Display current terminal width and length, whether auto-detected or overridden, as well as the
current terminal type. This is a subset of the information displayed by show cli, and is only present
for Cisco compatibility.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

291

Appendix A - CLI Reference

General Configuration Commands


This section describes CLI commands for these tasks:

Verify Hardware Version and Capabilities on page 292


View Installed Licenses on page 294
Event Logging Configuration and Viewing on page 294
User Accounts and Local Authentication on page 299
NTP, Clock and Time Zones on page 300
Event Notification on page 302
Diagnostic Tools on page 303
Configuration Commands on page 305
Enable and Config Modes on page 310
Web Proxy Settings on page 311
Xinetd Server Settings on page 311
tcpdump Capture Files on page 311
NTB Commands (vMOS Data Management) on page 312
Cluster Configuration and Show Commands on page 313

Verify Hardware Version and Capabilities


Some software features are optimized for a particular Violin Memory platform. This section
demonstrates how to verify the hardware version of a system and its inherent capabilities.

Show Hardware Version


show version

292

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Displays the product information for the system you are logged in to, as shown in the following
example.
vmem-mga [cluster: master] # show version
Product name:
Product release:
Build ID:
Build date:
Target arch:
Built by:
Array version:
Array Build ID:
Cluster ID:
Licensed for:

vMOS
V6.0.0
#27
2013-04-24 20:13:18
x86_64
vmem-builds.int
A6.0.0
#12
99999-9999-4583
Violin Memory Gateway [ VMOS6 ]

Uptime:

7d 19h 9m 54.688s

Product model:
Host ID:
Serial number:

tt_shb
9d959bb327b4
47208T00102

Show Hardware Capabilities


show capabilities
Displays the capabilities (of the hardware) of the system you are logged in to, without discerning if
the feature is enabled or activated.
The following example shows that the Internal Gateway of the Violin 6000 Series flash Memory
Array is capable of Encryption. However, to use the Encryption feature a special license must be
installed. For information on how to verify if a license is installed, see View Installed Licenses on
page 294. Contact Violin Memory Customer Support to purchase a license, as described in
Contacting Violin Memory on page 5.
*vmem-mg-b [vmem: master] (config) # show capabilities
Internal Gateway: yes
Encryption Support: yes
Serial Redirect: no
USB Boot : no
*vmem-mg-b [vmem: master] (config) #

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

293

Appendix A - CLI Reference

View Installed Licenses


show license
Displays licenses installed on the system, along with associated license key.
If an installed license shows No as its Active output, an error may have been made when inputting
the license key. Double-check the valid license key against the key that is shown in the show
license output.

Event Logging Configuration and Viewing


This section provides the syntax for event log commands, along with an explanation of the
functionality of each command.

Set Local Log Severity


logging local <log level>
no logging local
Set the minimum severity of log messages to be saved in log files on local persistent storage,
disable local logging altogether. The logging local none and no logging local commands
have the same effect.
[no] logging <IP address>
Send syslog messages to a remote syslog server, or stop sending messages to the specified server.
Note that hostnames are not allowed here.

Set Log Severity for All Syslog Servers


logging trap <log level>
Set the minimum severity of log messages sent to all syslog servers. Note that the Cisco command
set does not provide for setting different severity levels on a per-server basis.
Set, clear, enable, or disable class-specific log level overrides for all syslog servers. Semantics are
the same as for the logging local ... variants above.
[no] array serial-logging <vcm-a | vcm-b | vcm-c | vcm-d | mg-a | mg-b |
all-vcms | all-mgs | all>
Enable or disable serial logging of vRAID Controller Modules and Memory Gateways.

Configure a Custom Syslog Port


vsyslog port <port-number>
logging <ip-addr>
The vsyslog port <port-number> command works in conjunction with logging <ip-addr>
command to set up the forwarding of syslog to remote host. The default syslog forwarding port
number is 514. To forward the syslog to a different port, issue the vsyslog port <port-

294

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

number> command before the logging <ip-addr> command, as shown in the following
example.
myvmem-n1 [myvmem-n1: master] (config) # vsyslog port 5555
myvmem-n1 [myvmem-n1: master] (config) # logging 10.1.4.169
myvmem-n1 [myvmem-n1: master] (config) # write mem

Specify Log Overrides


logging local override class <class> priority <log level>
no logging local override class <class>
Set or remove a per-class override on the logging level. All classes that do not have an override set
will use the global logging level set with logging local <log level>; any that do have an
override will do as the override specifies. If none is specified for the log level, nothing from this class
will be logged.
Class is a user-friendly synonym for facility in syslog parlance. It allows log messages to be
divided up according to their origin. The default Samara classes are mgmt-core (for mgmtd alone),
mgmt-back (for other back end components), and mgmt-front (for front end components,
utilities, and tests).

Enable or Disable Overrides


[no] logging local override
Enable or disable all class-specific overrides to the local log level. Overrides are enabled by default.
The no variant which disables them will leave them in configuration, but disable them such that the
logging level for all classes is determined solely by the global setting.

Send Logs to a Remote Server


[no] logging <IP address>
Send syslog messages to a remote syslog server, or stop sending messages to the specified server.
Note that hostnames are not allowed here.

Set Log Severity for a Specific Syslog Server


logging <IP address> trap <log level>
Set the minimum severity of log messages sent to the indicated syslog server. This is not Cisco
compatible (as noted above) but does match functionality provided in the reference UI.

Specify Log Overrides for a Specific Syslog Server


logging <IP addr> trap override class <class> priority <log level>
no logging <IP addr> trap override class <class>
[no] logging <IP addr> trap override
Set, clear, enable, or disable class-specific log level overrides for the specified syslog server.
Semantics are the same as for the logging local ... variants above.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

295

Appendix A - CLI Reference

Disable Logging for All Syslog Servers


no logging trap
Disable logging to syslog servers altogether. This simply sets the severity level to none; the list of
servers is not erased. Does not affect console or local logging, despite the generic sound of the term
trap.

Allow Logs from Another Host


[no] logging receive
Allow this system to receive log messages from another host. This is disabled by default. If enabled,
only log messages matching or exceeding the minimum severity specified with the logging
local <log level> command are logged, regardless of what is sent from the remote host.

Specify Log Format


logging format standard logging format welf
no logging format welf
Sets the format in which log messages should be set. The choices are standard and welf. The
default is standard, and the no variant resets the format to this.

Specify the Log Firewall


logging format welf fw-name <firewall name>
no logging format welf fw-name
Specifies the firewall name that should be associated with each message logged in WELF format.
If no firewall name is set, the hostname is used by default. Note that neither of these commands
enables WELF logging if it is not already enabled.

Set CLI Command Severity


logging level cli commands <log level>
Set the severity level at which CLI commands that the user executes are logged. The default is
info.

Specify When Logs are Rotated


logging files rotation criteria frequency {daily, weekly, monthly}
logging files rotation criteria size <log file size threshold>
logging files rotation criteria size-pct <log file size percent threshold>
Configure what criteria will be used to decide when log files on local persistent storage should be
automatically rotated. There are two mutually exclusive options: rotate based on time, or based on
when the active log file reaches a certain size threshold. If the latter is chosen, the size of the file is
checked hourly, so if it passes the threshold in the middle of the hour it will not be rotated until the
end of the hour.

296

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Specify Number of Old Log Files Saved


logging files rotation max-num <max number of files to keep>
Configure how many old log files will be kept. If the number of log files ever exceeds this number
(either at rotation time, or when this setting is lowered), the system will delete as many as necessary
to bring it down to this number, starting with the oldest.

Force Log File Rotation


logging files rotation force
Force an immediate rotation of the log files. This does not affect the schedule of auto-rotation if it
was done based on time: the next automatic rotation will still occur at the same time it was
previously scheduled for. Naturally, if the auto-rotation was based on size, this will delay it
somewhat as it reduces the size of the active log file to zero.

Force Deletion of Oldest Log Files


logging files delete oldest [<number of files to delete>]
Force the immediate deletion of the specified number of the oldest log files.

Upload Logs to a Remote Host


logging files upload {current, <file number>} <URL>
Upload a log file to a remote host. The word current specifies the current log file. To specify an
archived log file, give its number instead, as displayed by show log files.
The current log file will have the name messages if you dont specify a new name for it in the
upload URL. The archived log files will have the name messages.<n>.gz if you dont specify a
new name in the URL, and will be compressed with gzip regardless.

Note: Files are uploaded from all gateways simultaneously. Therefore, care should be taken to
allow that many simultaneous connections on the server accepting the files (for example, increase
the maximum open ftp connections parameter).

Enable Automatic Log Upload to Remote Host


logging files upload-auto <control parameter>
Enable automatic upload of log files to a remote host. The control parameters are used to control
interval and information gathered. Control parameters are:
Enable automatic log gathering.

enable
immediate
{current, <file
number>}

535-0008-00 Rev 10

One-shot upload of logs to the configured site.

Violin 6000 Series Memory Array Users Guide

297

Appendix A - CLI Reference

include-dump
interval
<interval>
max-size <file
size>
remote-dir <dir
name>
remote-site
<site name>
user <user
name>
<password>

Enable inclusion of sysdump information during log gathering.


Set how often to gather logs, in hours.
Set the maximum uploadable file size, in MB.
Set the remote directory for uploading logs.
Set the remote site for uploading logs, in URL format.
Change the user/password used with the remote server.

Note: Files are uploaded from all gateways simultaneously. Therefore, care should be taken to
allow that many simultaneous connections on the server accepting the files (for example, increase
the maximum open ftp connections parameter).

Display All Event Logs


show logging
Display all event logging configuration settings.

Display a Local Log File


show log [files <file number> ] [matching <regular expression>]
View a local log file using the less pager.

If files <file number> is specified, view an archived log file, where the number is from 1
up to the number of archived log files.

If matching <regular expression> is specified, the file is piped through the grep utility
to only include lines matching the provided regular expression.

Display the Last Lines of a Log Files


show log continuous [matching <regular expression>]
Display the last few lines of the current log file, and then continue to display new lines as they come
in, until the user presses CTRL+C. This is done using the tail utility.
If matching <regular expression> is specified, only log lines matching the provided regular
expression are printed.

298

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

View a List of Local Log Files


show log files
View a list of local log files.

User Accounts and Local Authentication


This section provides the syntax for commands used for creating and managing user accounts and
local authentication. An explanation of the functionality of each command is also provided.

Note: There are two defined system accounts: one with full privileges (admin), and one with
privileges for reading all data and performing all actions, but not for changing any configuration
(monitor).

Create or Remove a User Account


[no] username <userid>
Create or remove a user account. New users are created initially with admin privileges and
disabled. To enable a user account, just set a password on it (or use the nopassword command
to enable it with no password required for login).
Removing a user account does not terminate any current sessions that user has open; it just
prevents new sessions from being established.

Change User Account Capabilities


username <userid> capability <capability>
no username <userid> capability
Change the capabilities for this user account. Creates the account if it doesnt exist. The system
provides three predefined capabilities: admin, monitor, and unpriv. It is possible to statically expand
this set.
The no modifier reverts the specified user to the default capability, which is admin privileges.

Specify User Login Credentials


User login credentials include a username and password.

Note: Two types of password encryption are supported, SHA-1 and MD5. Secure Hash
Algorithms (SHA) are cryptographic hash functions structured differently and are distinguished by
the appended number, such as -1. Message-Digest Algorithm is a cryptographic hash function that
produces a 128 bit (16 byte) hash value.

username <userid> password <cleartext password>


username <userid> password 0 <cleartext password>
username <userid> password 7 <encrypted password>
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

299

Appendix A - CLI Reference

username <userid> nopassword


[no] username <userid> disable
[no] username <userid> disable password
Control what it takes for the specified user to log in. The first three commands set a password on
the account.

The 0 flavor allows the password to be specified in cleartext.


The 7 flavor allows the password to be provided in the same encrypted form in which it would
be stored in the password file. This is useful for the show configuration command, since
the cleartext password cannot be recovered after it is set. These two commands are thus
named for Cisco compatibility.

The nopassword command means that no password is required to log in. The disable command
configures the account so that no one can log into that account.
The disable password command leaves the account as a whole the same, but forbids login with
a password. It is assumed that ssh key access will be used instead. To re-enable the account, the
user must un-disable it, and put a password on it.
The no username <userid> disable command prints a message to this effect; it only exists
to avoid stumping users with an apparently irreversible command.
Disabling a user account does not terminate any current sessions that user has open; it just
prevents new sessions from being established.

Display Current User Name


show users
Display the username of the currently logged-in user, and the capabilities that user has.

Display All User Accounts


show usernames
Display a list of all user accounts and the capabilities of each.

NTP, Clock and Time Zones


clock set <hh:mm:ss> [<yyyy/mm/dd>]
Set the system clock. The time must be specified. The date is optional; if not specified, the date will
be left the same.
clock timezone <zone>
no clock timezone
Set the system time zone. The time zone may be specified in one of three ways:
A nearby city whose time zone rules to follow. The system has a large list of cities which can be
displayed by the help and completion system. They are organized hierarchically because there are

300

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

too many of them to display in a flat list. A given city may be required to be specified in two, three,
or four words, depending on the city. The possible forms this could take include:
<continent> <city>
<continent> <country> <city>
<continent> <region> <country> <city>
<ocean> <island>
An offset from GMT. This will be in the form GMT-offset GMT, GMT-offset GMT+<1-12>, or
GMT-offset GMT-<1-14>.
UTC. This is almost identical to GMT.
The default is GMT-offset GMT.
show clock
Display the current system time, date, and timezone.
ntpdate <IP address>
Set the system clock using the specified NTP server. This is a one-time operation and does not
cause the clock to be kept in sync on an ongoing basis. It will generate an error if NTP is enabled,
as the socket it requires will already be in use.
ntp peer <IP address> [version <number>]
no ntp peer <IP address>
Add or remove an NTP peer. Allowable version numbers are 3 and 4. If no version number is
specified when adding a peer, the default is 4.
ntp server <IP address> [version <number>]
no ntp server <IP address>
Add or remove an NTP server. Allowable version numbers are 3 and 4. If no version number is
specified when adding a server, the default is 4.
[no] ntp peer <IP address> disable
[no] ntp server <IP address> disable
Disable or re-enable an NTP server or peer. Servers and peers start enabled; disabling is just a way
of making them temporarily inactive without losing their configuration.
[no] ntp enable
[no] ntp disable
Enable or disable NTP overall. Note that the latter is the Cisco command; the former is just a pair
of aliases added to increase usability, as otherwise it may be hard for a user to figure out how to
enable NTP if they are not aware of no commands and only see a way to disable it.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

301

Appendix A - CLI Reference

show ntp
Display current NTP settings.

Event Notification
[no] email enable
Enable or disable the sending of e-mail when certain events occur. These events are the same as
those for which SNMP traps can be sent (see SNMP Configuration on page 365).
email mailhub <hostname>
no email mailhub
Set or clear the mail relay to use to send notification emails.
email mailhub-port <TCP port>
no email mailhub-port
Set the mail relay port to use to send notification emails. The no variant resets the port to its default,
which is 25.
email domain <domain name>
no email domain
Set the domain name from which the emails will appear to come from. This is used in conjunction
with the system hostname to form the full name of the host from which the email appears to come.
The rules are as follows:

If an email domain is specified using this command, it is always used. If the hostname has any
dots in it, everything to the right of the first dot is stripped and the email domain is appended.

Otherwise, if the hostname has dots in it, it is used as is.


Otherwise, the currently-active system domain name is used. This can come either from the
resolver configuration, or from state dynamically instantiated by DHCP.

[no] email notify event <event name>


Enable or disable sending email notifications for the specified event type.
The <event name> can be any of the following: process-crash, process-exit, liveness-failure, cpuutil-high, cpu-util-ok, paging-high, paging-ok, disk-space-low, disk-space-ok, memusage-high,
memusage-ok, netusage-high, netusage-ok, disk-io-high, disk-io-ok, unexpected-cluster-join,
unexpected-cluster-leave, unexpected-cluster-size, unexpected-shutdown, interface-up, interfacedown, user-login, user-logout, cache-faults, hwmon-file-sys-error, hwmon-mce-error, mediadevice-health-warn, media-device-state-change, media-device-lifetime-warn, media-deviceunknown-type, media-system-swap-state, excessive-shutdowns, license-state-change, conntrackentries-high, conntrack-entries-ok, vimm-temperature-high, vimm-temperature-ok, chassistemperature-high, chassis-temperature-ok, lid-ajar-time-high, lid-ajar-time-ok, array-pcie-link-up,
array-pcie-link-down, array-data-plane-ready, array-raid-rebuild, vimm-state-change, array-psustate, array-led-change, fc-port-state-change, ib-port-state-change, array-fan-change, vmg-fanchange, vmg-psu-change, vmg-boot-raid-change, lid-ajar, kernel-crash, vmg-ha-split-brain, ipmidcoretemp, used-threshold-alert, used-threshold-limit, prov-threshold-alert, prov-threshold-limit.

302

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Note that this does not affect autosupport emails. Autosupport can be disabled overall, but if it is
enabled, all autosupport events (currently only PM process failures) are sent as emails.
[no] email notify recipient <email addr>
Add or remove an email address from the list of addresses to send email notifications of events.
[no] email notify recipient <email addr> class info
[no] email notify recipient <email addr> class failure
Enable or disable the sending of informational or failure events to the specified recipient. Each
event type is classified as either informational or failure. The specified recipient will receive the
intersection of the set of events specified by this command, and the set of events specified overall
with the [no] email notify event <event name> command.
[no] email notify recipient <email addr> detail
Specify whether the emails this recipient is sent should be detailed or summarized. Each email
potentially has both a detailed and summarized form, where the detailed form has a superset of the
information. (In practice, only PM process failure emails currently have a detailed form; for
everything else, the two are the same.)
[no] email autosupport enable
Enable or disable the sending of email to vendor autosupport when certain failures occur.
email autosupport mailhub <hostname> no email autosupport mailhub
Set the mail relay to use to send autosupport emails.
email send-test
Send a test email to all of the configured notification email recipients. This is useful to make sure
the configuration works without having to wait for an event to occur.
show email
Display notification settings. This does not include SNMP traps, which are under the snmp-server
command tree.

Diagnostic Tools
This section provides the syntax for a variety of diagnostic tool commands, along with an
explanation of the functionality.

ping and traceroute


ping [<options>] <hostname>
traceroute [<options>] <hostname>
Network diagnostic tools ping and traceroute. Invokes standard binary, passing command line
parameters straight through.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

303

Appendix A - CLI Reference

tcpdump
tcpdump [<options>]
Network diagnostic tool tcpdump. Invokes standard binary, passing command line parameters
straight through. Runs in foreground, printing packets as they arrive, until user presses CTRL+C.

slogin
slogin [<options>] <hostname>
Invokes the SSH client. The user is returned to the CLI when SSH finishes.

telnet
telnet [<options>]
Invokes the telnet client. The user is returned to the CLI when telnet finishes.

show version
show version [concise]
Display version information for the currently running system image. The basic command shows
each field with a description, one per line; the concise variant fits it all onto one line, without labels,
in a form suitable for pasting in a bug report.

show files system


show files system
Display information regarding bytes and inodes usage of the file systems on the system.

show memory
show memory
Display information about system memory utilization.

reload
reload [halt] [noconfirm]
Reboot the system if reload, shut down the system if reload halt.
If there are unsaved changes to the configuration, the user may be prompted as to whether they
want to save these changes (that is, do a write memory) first before rebooting. The prompt will
be suppressed if confirmation of losing unsaved changes is disabled (with the no cli default
confirm lose-unsaved command).
The user may also be prompted to confirm the reload regardless of whether there are unsaved
changes or not. This prompt is contingent on a separate configuration setting, controlled with the
304

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

[no] cli default confirm reload command. If both prompts are enabled, and the
configuration was unsaved, the user will be prompted twice.
The noconfirm parameter suppresses both of these confirmations if it is specified.

reload force
reload force
If the system is busy performing another operation requiring the management subsystem (which is
almost any management operation), the regular reload [halt]command will block until it is
finished. If rebooting the system is urgent, the reload force command will do it immediately.
This reboots the system, and there is no halt variant. There is also never any confirmation, whether
or not there are any unsaved changes to the configuration.

debug generate dump


debug generate dump
Generate a debugging dump. The dump can then be manipulated using the file debug-dump
... family of commands.
debug metasave
Enable metasave during sysdump.

Configuration Commands
write memory
Save the running configuration to the active configuration file.
write memory local
Same as configuration write local, provided for Cisco compatibility.
write terminal
Same as show running-config, provided for Cisco compatibility.
configuration jump-start
Run the initial-configuration wizard. The wizard is automatically invoked whenever the CLI is
launched when the active configuration file is fresh (that is, not modified from its initial contents).
This command invokes the wizard on demand.
show configuration [full]
Display a list of CLI commands that will bring the state of the a fresh system up to match the current
persistent state of this system. A short header is included, containing the name and version number
of the configuration, in a comment.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

305

Appendix A - CLI Reference

Commands which are not required because they would set something to its default are not included
thus running this command on a fresh configuration will produce no output, aside from the header.
Note that this does not include changes that have been made but not yet written to persistent
storage.
The full option will also include commands that set things to their defaults, but excludes those of
them that are instances of hidden commands.
show configuration running
Same as show configuration except that it applies to the currently running configuration, rather
than the current persisted configuration. Show running-config is for Cisco compatibility.
show configuration files [filename]
If no filename is specified, display a list of configuration files in persistent storage. If a filename is
specified, display the commands to recreate the configuration in that file. In the latter case, only
non-default commands are shown, as for the normal show configuration command; the full,
all, and subtree options are not available.

Configuration File Management


This section provides the syntax for configuration file management commands, along with an
explanation of the functionality of each command.
The system can store one or more configuration files on persistent storage. At any given time, one
of the configuration files is designated as active. That is the file that configuration will be loaded
from on boot, and which configuration will be saved to when a save is requested.
Configuration changes are immediately applied to the running configuration (with the exception of
configuration batch commands), but are not made persistent until they are explicitly saved
using the configuration write command.

Note: These configuration commands only work when you are in Configure mode (which

you enter by using the conf t commandsee Enable and Config Modes on page 310).

configuration new
configuration new <name> [factory [keep-basic]]
Create a new configuration file under the specified name. If no additional parameters are specified,
active licenses from the current running configuration are copied over into it. If the factory
parameter is specified, nothing is copied over; it has the factory defaults. If the keep-basic
parameter is specified, local network configuration is copied over so you won't lose network
connectivity when you switch to it.

configuration revert
configuration revert saved

306

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Revert the running configuration to the latest saved version of the active configuration file.
configuration revert factory [keep-basic | keep-connect]
Revert both running and saved configurations to factory defaults. If keep-basic is specified,
preserve local network configuration. If keep-connect is specified, preserve active licenses.
These two options are mutually exclusive.

configuration merge
configuration merge <name>
Merges the shared configuration from one configuration file into the running configuration.
No configuration files are modified during this process. The <name> must be a non-active
configuration file.

configuration switch-to
configuration switch-to <name>
Load configuration from the specified file and change that to be the active configuration file. The
current running configuration is lost, and not automatically saved to the previous active
configuration file.

configuration write
configuration write
configuration write to <name>
Write the running configuration to persistent storage. The former command writes it to the currently
active file. The latter command writes it to the specified file, and changes the active file to that one.
configuration write local
On a system with clustering, only save the configuration on the local box instead of attempting to
save on all cluster members.
configuration write to usb [<name>]
Save a local configuration file to a USB.

configuration delete, move, copy


configuration delete <name>
configuration move <source name> <dest name>
configuration copy <source name> <dest name>
Delete, move (rename), or copy a configuration file. These do not affect the current running
configuration. The active configuration file may not be deleted or renamed, nor may it be the target
of a move or copy. It may be the source of a copy, in which case the original remains active.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

307

Appendix A - CLI Reference

configuration fetch
configuration fetch <URL> [<name>]
Download a configuration file from a remote host.
configuration fetch usb [<name>]
Download a configuration file from a USB.

configuration upload
configuration upload <name> <URL>
configuration upload active <URL>
Download or upload a configuration file. A file may not be downloaded over the active configuration
file. If no name is specified for a configuration fetch, it is given the same name as it had on the
server. If active is specified for a configuration upload, the currently-active configuration file is
uploaded. No configuration file may have the name active.
See Key to Command Parameters on page 288 for a description of valid URLs.

Note: If downloading configuration files from another system, they can be found in the /config/

db directory. So an example command line to fetch the initial configuration database would be:
configuration fetch scp://admin:password@hostname/config/db/initial write
memory

Same as configuration write, provided for Cisco compatibility.

write memory local


write memory local
Same as configuration write local, provided for Cisco compatibility.

write terminal
write terminal
Same as show running-config, provided for Cisco compatibility.

configuration jump-start
configuration jump-start
Run the initial-configuration wizard. The wizard is automatically invoked whenever the CLI is
launched when the active configuration file is fresh (that is, not modified from its initial contents).
This command invokes the wizard on demand.

308

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

show configuration
show configuration [full]
Display a list of CLI commands that will bring the state of the a fresh system up to match the current
persistent state of this system. A short header is included, containing the name and version number
of the configuration, in a comment.
Commands which are not required because they would set something to its default are not
includedthus running this command on a fresh configuration will produce no output, aside from
the header.
Note that this does not include changes that have been made but not yet written to persistent
storage.
The full option will also include commands that set things to their defaults, but excludes those of
them that are instances of hidden commands.
show configuration running
Same as show configuration except that it applies to the currently running configuration, rather
than the current persisted configuration. The command show running-config is for Cisco
compatibility.
show configuration files
Displays a list of configuration files in persistent storage.
show configuration files [filename]
If a filename is specified, the commands to recreate the configuration in that file display. In the latter
case, only non-default commands are shown, as for the normal show configuration command;
the full, all, and subtree options are not available.

Image Management
This section provides the syntax for image management commands, along with an explanation of
the functionality of each command.

Specify Boot Location


boot system location <location ID>
boot system next
Specify which location the system should boot from by default. If next is used, set the boot location
to be the next one after the one currently booted from. (This does not mean the next one after the
one we are currently set to boot from; thus the command is idempotent, and will not continue to
cycle through all of the available locations.)

Control Boot Manager Password


boot bootmgr password <cleartext password>
boot bootmgr password 0 <cleartext password>
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

309

Appendix A - CLI Reference

boot bootmgr password 7 <encrypted password>


no boot bootmgr password
Configure or remove a password to control access to boot manager parameters. Similar to the
username * password ... commands, it is generally intended to be used in its cleartext forms;
the form that takes an encrypted password mainly exists so that show configuration will have
something to display.

Show Images
show images
Show all image files on the system, as well as what images are installed in two locations: the active
location (which was most recently booted from) and the default location (which is the default to boot
from in the future). There may or may not be overlap between these two lists.
show bootvar
Similar to show images in that it displays what images are on the two locations, and which are the
active and default location. But not all of the show images data is displayed, and additionally this
displays whether or not a boot manager password is set.

Enable and Config Modes


enable
Enter enable mode, if the user account was set up with the privileges to do so.
disable
Leave enable mode.
configure terminal
conf t
Enter Config mode, if the current user account has the privileges to do so. Note that there is no
mechanism to prevent multiple users from being in Config mode simultaneously.
no configure
Exit Config mode and return to enable mode.
exit
Exit the current mode. From Config mode, go to enable mode. From enable or standard mode, log
out of the system. Note that to go from enable mode to standard mode, the disable command
must be used.
help
Display a general CLI help message.

310

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Web Proxy Settings


This section provides the syntax for web proxy setting commands, along with an explanation of the
functionality of each command.
web proxy host <IP address> [port <TCP port>]
no web proxy
If desired on a http or ftp download, a proxy can be specified. If no port is specified, the default
is 1080.

Xinetd Server Settings


This section provides the syntax for xinetd server setting commands, along with an explanation of
the functionality of each command.

Enable and Disable a Telnet Server


[no] telnet-server enable
Enable/disable the telnet server.

Show Telnet Server Settings


show telnet-server
Show telnet server settings.

Enable and Disable an FTP Server


[no] ftp-server enable
Enable/disable the FTP server.

Show FTP Server Settings


show ftp-server
Show FTP server settings.

tcpdump Capture Files


This section provides the syntax for tcpdump commands, along with an explanation of the
functionality of each command.

Display tcpdump Files


show files tcpdump
Display a list of tcpdump capture files.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

311

Appendix A - CLI Reference

Delete a tcpdump File


file tcpdump delete <filename>
Delete the specified tcpdump output file.

Upload a tcpdump File


file tcpdump upload <filename> <URL>
Upload the specified tcpdump output file to the specified URL. Only scp pseudo-URLs are
supported for the destination. See Key to Command Parameters on page 288 for the scp://
URL format.

NTB Commands (vMOS Data Management)


The Non-Transparent Bridge (NTB) is automatically enabled during installation. If this system is
running vMOS-6, you can use the commands in this section verify that NTB is enabled and to show
the status of the NTB link.
Verifying that NTB is Configured
Perform the following command in enable mode.
show ntb configured
violin-vmga [violin-vmg: master] # show ntb configured
vntb0 :
Enabled: yes
MTU: 16320
Mask Len: 30
mg-a IP: 169.254.2.1
mg-b IP: 169.254.2.2
Verifying that the NTB Link is Up on Both Gateways
Perform the following command in enable mode.
show ntb status
violin-vmga [violin-vmg: master] # show ntb status
vntb0 link status :
Link
Local
Remote
------------ ---------PCI (local) : Up
Up
PCI (peer) : Up
Up
NTB :
Up
Up
Network :
Up
Up

312

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

General Configuration Commands

Cluster Configuration and Show Commands


Show Cluster Commands
show cluster configured
Display global cluster configuration state.
show cluster local
Display local cluster run state.
show cluster local error-status
Display error status of local node.
show cluster master
Display run state information about master node.
show cluster global
Displays global cluster run state.
show cluster standby
Display run state information about standby node.
Array and Cluster Action Commands
array format capacity <50 | 65 | 78 | 84 | 87>
Format the Memory Array to a specific capacity.
array modules
Configure a Memory Array module.
array reboot [acms-only | mgs-only | vcms-only]
Reboot all Array Controller Modules, internal Memory Gateways or vRAID Controller Modules.
array shutdown
Shut down the following modules in the Violin 6000 Series Memory Array: Array Controller Modules,
vRAID Controller Modules, internal Memory Gateways, VIMMs and Host Bus Adapters. This
command also turns off the LEDs on the front of the Violin 6000 Series Memory Array.
array upgrade modules type vcm
Upgrade all VCMs.
array upgrade modules id vcm-x
Upgrade a particular VCM, where vcm-x is vcm-a, vcm-b, vcm-c or vcm-d.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

313

Appendix A - CLI Reference

system upgrade <URL or image name>


Upgrade all nodes with the cluster to the specified image. This must be performed on the Master.
Cluster Configuration Commands
cluster master address vip <IP address> <netmask>
Set the cluster master virtual IP address and netmask.
no cluster master address vip
Reset cluster master virtual address to default.
Display Statistics Configuration and Gathered Data
show stats alarm [alarm id]
Display status and configuration of statistics-based alarms.
show stats chd
Display configuration of statistics CHDs.
show stats cpu
Display CPU statistics.
show stats media
Display media statistics.
show stats sample
Display configuration of statistics samples.

Network Configuration Commands


This section describes the CLI commands for network configuration.
In general, the commands described in this section only work when you are in Config mode.

314

Network Bond Commands on page 315


Name Resolution Commands on page 315
Routing Commands on page 316

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Network Configuration Commands

Network Bond Commands


The network bond command enables you to define two or more network interfaces (data ports)
as a single logical address called eth0 and to define the mode by which these interfaces are
aggregated together.
network bond eth0 mode [balance-abalance-rr|backup|link-agg|link-agglayer2+3|link-agg-layer3+4] interface <ifname> interface <ifname>
The command aggregates two interfaces together as a bonded group called eth0. The interfaces
share the same subnet.

Ten network bonding modes are supported:


balance-rr

Round robin balancing

backup

Backup fault-tolerant mode

link-agg

Link Aggregation mode

link-agglayer2+3
link-agglayer3+4

Link Aggregation Layer 2 + 3 mode


Link Aggregation Layer 3 + 4 mode

Name Resolution Commands


hostname <hostname>
no hostname
Set or clear the system hostname.
[no] ip name-server <IP address>
[no] ip domain-list <domain>
[no] ip host <hostname> <IP address>
The commands configure DNS servers, specifies which domain(s) to try unqualified hostnames in,
and defines hostname/IP mappings for /ETC/HOSTS.
show hosts
Show all of the following values: hostname, name servers, domain name list, and static host
mappings.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

315

Appendix A - CLI Reference

Routing Commands
ip default-gateway <IP address>
no ip default-gateway
Set or remove the default route.
ip route <network prefix> <network mask> <next hop IP address>
no ip route <network prefix> <network mask> [<next hop IP address>]
Set or remove a static route. If it is called with only a network prefix and mask, it deletes all routes
for that prefix.
show ip route
Display the routing table in the system, which includes dynamic routes as well as any active static
routes.
show ip route static
Display the list of configured static routes
show ip default-gateway [static]
Display the currently active default route (or the configured one, if static is used). This is
redundant with the show ip route [static] command, but is provided to enhance usability.

Administrative Commands
This section describes the administrative commands. In general, the commands described in this
section only work when you are in Config mode.

donotuse Command
VIMMs and VCMs that are powered off or that have failed are flagged by the system as a module
that should not be used or may need to be replaced. This flagwhich can be displayed in the CLI
by typing show donotuseis a reminder to the system administrator if a VIMM or VCM fails. This
flag may also display for VIMMs and VCMs that do not require replacement.
show donotuse
The show donotuse command shows VIMMs and VCMs that are flagged as donotuse faults,
including user- and system-set faults. The following is an example of the show donotuse
command along with output for a system-set fault:
# show donotuse
vimmid system VIMM is not responding at 11-01-2012 20:41:11 UTC
User-set faults enable the donotuse flag when an administrator issues one of the following
commands:

316

no array modules id vimmid | vcm-x enable


Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Email Alert Consolidation Commands

no array modules type vcm enable

The following is an example of the show donotuse command along with output for a user-set fault:
# show donotuse
vimmid user-set VIMM is not responding at 11-01-2012 20:41:11 UTC
no array modules id vimmid donotuse
Use the above command to clear the donotuse flag for a VIMM, where id is the VIMM number.
no array modules id vcm-x donotuse
Use the above command to clear the donotuse flag for a VCM, where x is the VCM letter (a, b, c or
d).
no array modules id <component> donotuse
Use the above command to clear the flag for all system-set faults, where component is either VIMM
or VCM.
no array modules id <component> enable
Use the above command to clear the flag for all user-set faults, where component is either VIMM
or VCM.

Email Alert Consolidation Commands


You can manage email alerts, reducing the number of emails received, with the email consolidation
feature.
Important points to remember about email consolidation:

If a system begins shutdown or if a maximum number of emails are staged (default 5), they are
sent out automatically.

Emails are consolidated on a per-host basis. Emails from different hosts (acm-a, acm-b, mg-a,
or mg-b) cannot be combined.

Log in to the ACM master or MG master node to configure email consolidation. The default is
disabled.

Enable and Disable Email Consolidation


You can enable and disable email consolidation using the following command. The default is
disabled. Log in to the desired host (acm-a, acm-b, mg-a, mg-b), then issue the command.

Enabling Email Consolidation


email consolidate
Turns on email consolidation. The default is disabled.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

317

Appendix A - CLI Reference

Disabling Email Consolidation


no email consolidate
Turns off email consolidation.

Customize Email Consolidation


When email consolidation is enabled, the default settings are as follows:

Time period before email is sent: 60 seconds


Maximum number of events that can be combined: 5

Setting the Wait Period


email consolidate period [time]
Sets the wait time in seconds, before the email is sent.

Setting the Number of Combined Events


email consolidate events [num]
Sets the maximum number of combined events.

View Current Email Settings


You can view the current email consolidation settings with the following command.
show email
Output similar to the following is shown.
vmem-acm-b [system1: master] # show email
Mail hub:
Mail hub port:
25
Domain:
(system domain name)
Return address:
do-not-reply
Include hostname in return address: yes
...
Consolidate email settings:
Enable:
no
Period:
60
Max_events:
5
...

318

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Unified Logging Upload Commands

Unified Logging Upload Commands


This section covers the unified logging upload commands and their respective purposes.

Upload Log Files for All Nodes


logging files upload-auto immediate
When run from the internal Memory Gateway master, /var/log/messages are collected from both
Memory Array nodes (ACM) and both internal Memory Gateway nodes (MG), and then uploaded
to a pre-configured target.

Cancel a Log File Upload Process


logging files upload-auto immediate cancel
Stops an in-process log file upload.

Upload Log Files From the Local Host


logging files upload-auto immediate local
Only uploads /var/log/messages from the local host.

Upload Log Files From a Specific Node


logging files upload-auto immediate module id <id>
Uploads log files from a specified Node (acm-a/b, mg-a/b).

Upload Log Files From a Specific Node Type


logging files upload-auto immediate module type <type>
Uploads log files from a specific node type (acm or mg).

Address Resolution Protocol Commands


The following commands allow you to configure ARP, a protocol used for resolution of network layer
addresses into link layer addresses. This is a critical function in multiple-access networks.

Add and Remove Static ARP Entries


arp <IP address> <MAC address>
Add a static entry to ARP.
no arp <IP address>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

319

Appendix A - CLI Reference

Remove a static entry from ARP. Note that this cannot be used to remove dynamic entries.

Clear Dynamic ARP Entries


clear arp-cache
Clear dynamic entries in the ARP cache. Note that this does not delete static ARP entries
configured with the arp ... command.

Display Contents of ARP


show arp
Display the contents of ARP. This should contain all of the statically-configured ARP entries, as well
as any that the system has picked up at dynamically.

List Statically-Configured ARP Entries


show arp static
Display a list of all statically-configured ARP entries.

Array Configuration and Show Commands


You can use the array set of commands in the CLI to configure and monitor the Array Controller
Modules (ACMs).

Array Configuration Commands


The following array specific commands allow you to format the array, power up or power down a
specific array module or ID, configure a PCIe port/profile, and display array-related information and
system alarms log.
The Violin 6000 supports four vRAID Controllers. You can format all four of the vRAID Controllers
storage capacity into one large array entity by using the array format capacity command at
the configure terminal sub-mode.
An example of the array format capacity command is shown below.

Caution: The Memory Array is preformatted to specific storage capacities, depending on the
type of VIMMs in the system. A single level cell (SLC) system is formatted to 65% and a multi-level
cell system is formatted to 84%. For optimum system performance, do not change these values.

The following storage capacity percentages are supported: 50%, 65%, 78%, 84% and 87%.
violin-acma [violin: master] (config) # array format capacity <50 | 65
| 78 | 84 | 87>
320

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Array Configuration and Show Commands

Use the array modules type <module type> enable command to power up a specific array
module type:
violin-acma [violin: master] (config) # array modules type <vcm | acm |
fpm | mg | hba> enable
Use the [no] prefix to power down a specific module type, for example:
violin-acma [violin: master] (config) # no array modules type vcm
enable
Use the array cooling command to adjust the allowable temperature of the Memory Array. This
command reduces the speed of the fans based on the preferred setting.
violin-acma [violin: master] (config) # array cooling <normal | eco>
The eco option allows the Memory Array to run at a higher temperature before the fans increase in
speed to lower the temperature of the system.

Array Show Commands


Use the show array set of commands to view details about the array. The following example
shows an array that contains 64 VIMMs, has no alarms, a controller temperature of 28 degrees
centigrade and an ambient temperature of 24C:
violin-acma [violin: master] # show array
Array
Type
#VIMM Alrm Ready T/Con T/Amb MGs Status
------------------------------------------------------------------------------------VIOLIN_MEMORY_ARRAY_23109R00000012 V6000
64
yes no
24
22
optimal
violin-acma [violin: master] #

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

321

Appendix A - CLI Reference

Use the show array detail command to show more information about the array. The following
example includes information about power supplies, LEDs and fans:
violin-acma [violin: master] # show array detail
ARRAY: VIOLIN_MEMORY_ARRAY_23109R00000012
INDEX: 0
Chassis Type
: V6000
Number of VIMMs
: 64
Ambient Temp
: 22
Controller Temp
: 24
Power A
: OFF
Power B
: ON
Lid Ajar Time
: 0 secs
Alarm LED
: ON
Power A LED
: OFF
Power B LED
: ON
MG-a Status
: running
MG-b Status
: running
Fans:
Fan a1
: High
Fan b1
: Slow
Fan c1
: Slow
Fan a0
: High
Fan b0
: Slow
Fan c0
: Slow
violin-acma [violin: master] #
show array modules
Display information about all of the array modules.
show array summary
Display summary information for arrays.
Additional show commands are available by typing show ? at the command prompt.
show array modules type <all | vimm | vcm | acm | pcm |fpm | mg | hba>
Display information about a module type.
See General Configuration Commands on page 292 for additional Array configuration commands,
and the Violin 6000 Series Memory Installation Guide for the initial steps to configure the Violin 6000
Series Memory Array.

Array Balance Commands


RAID groups may become unbalanced over time if VIMMs are replaced and if other administratorinitiated changes are made. If two or more VIMMs in a RAID group share the same root VIMM, the
RAID group is considered unbalanced, causing the system to perform less than optimally. Array
balance is disabled by default.

322

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Array Configuration and Show Commands

Balance of the system can be restored by moving VIMMs from RAID rebuilds. If necessary,
multiple RAID rebuilds can be performed at the same time.
array balance enable
The above command enables automatic balancing. When unbalanced RAID groups are detected,
they are automatically rebuilt.
array balance
The above command starts a RAID rebuild for each VCM that requires a rebuild. More than one
rebuild may be required to balance the system.
no array balance enable
Use this command to disable (turn off) automatic rebalancing.
array balance schedule once
Use the above command to schedule an array balance for the default time of the upcoming
Saturday at 1:00 A.M. This starts a RAID rebuild for each VCM that requires a rebuild. More than
one rebuild may be required to balance the system.
no array balance schedule once
Use the above command to cancel a scheduled one-time rebalance.
show array balance
Use the above command to display the current RAID rebalance settings and view the status of all
the VCMs.
array balance schedule once [day-of-week <sun|mon|tue|wed|thu|fri|sat>]
[time <hh:mm:ss>]
Use the above command and parameters to set a one-time RAID rebalance at a specified time and
day of the week.
array balance schedule weekly [day-of-week <sun|mon|tue|wed|thu|fri|sat>]
[time <hh:mm:ss>]
Use the above command and parameters to set a specific time and day of the week on a recurring
basis. Multiple RAID rebuilds are completed until the system is balanced. The scheduled array
balance is disabled once the system is in balance.
no array balance schedule weekly
Use the above command to cancel scheduled weekly recurring rebalances.
See Rebalancing RAID Groups on page 242 for more information on using the array balance
commands.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

323

Appendix A - CLI Reference

VIMM Commands
This section describes the VIMM configuration and monitoring commands that you can use in the
CLI.
Use the array modules id vimm command to power on VIMMs. Use the [no] prefix to power
off a VIMM. For example:
violin-acma [violin: master] (config) # [no] array modules id vimm<xx>
enable
Where:
[no]

Specifies that a VIMM is to be disabled.

id

Enable or disable a specific VIMM.

<xx>

The specific VIMM number to disable.

Use the show vimms set of commands to display all or specific VIMM information. For example:
violin-acma [violin: master] (config) #show vimms [detail | summary]
Where:

324

<detail>

Shows detailed information about all or a specific VIMM.

<summary>

Shows a summary of the VIMMs.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

iSCSI Commands

The following example shows output of the show vimms detail command for one VIMM:
violin-acma [violin: master] (config) #show vimms detail
VIMM01:
VCM
: vcm-a
Type
: 512G-MLC-Flash
Status
: Active
Present
: yes
Power
: yes
DoNotUse Fault
: no
Current (mA)
: 989.38
RAID
: 1
Spare
: no
Health
: health threshold: (OK)
Temp (C)
: 39
Serial
: 2610CN00002723
Model
: 620-0046-01_R03
Date
: 20110212
FpgaVersion
: 19935
SwVersion
: 19892
%-Format Capacity
: 65.00
%-DieFail
: 0.00
%-BlkFail
: 0.00
%-BlkEraseAvg
: 2.00
%-LifeTimeRemaining
: 98.00
vvimms
Use this command to display the Violin 6000 Series Memory Array VIMMs.

iSCSI Commands
This section provides the syntax for iSCSI commands, along with an explanation of the functionality
of each command.

Show iSCSI Targets


show iscsi
The show iscsi command shows if iSCSI has been enabled, the number of bindings, the IP
address, and interface for each binding.
(config) # show iscsi
iSCSI is enabled
iSCSI Target: iscsi

#Bindings: 4

10.1.9.82 (unknown)

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

325

Appendix A - CLI Reference

192.168.1.101 (eth3)
192.168.2.100 (unknown)
192.168.3.101 (eth4)

Enable iSCSI Target Ports


[no] iscsi enable
The iscsi enable command may be used to enable or disable iSCSI target ports.

Create an iSCSI Target


[no] iscsi target create <target_name>
The iscsi target create command enables you to create and name a target. Additional target
names may be created if needed. The target name consists of up to 32 alphanumeric characters.
A user-defined name for the target. The term iSCSI is the default name used for the target
automatically created when you use the iscsi enable command.

Bind an iSCSI Target


[no] iscsi target bind name <target_name> to <ip_address> [to
<ip_address>]*
The iscsi target bind command enables you to bind an iSCSI target to one or more IP
addresses. The command limits visibility of the target to initiators which have access to those IP
addresses.

Security Commands
This section covers the following commands:

iSCSI CHAP Configuration on page 326


RADIUS Configuration on page 328
TACACS+ Configuration on page 329

iSCSI CHAP Configuration


Enforces authenticated sign-on to ensure that Internet Small Computer System Interface (iSCSI)
initiators and targets prove their identity to each other using the Challenge-Handshake
Authentication Protocol (CHAP). For more information, see iSCSI Authenticated Sign-On on page
248.

326

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Security Commands

CHAP Requirements
iSCSI CHAP configurations must meet the following requirements:

The minimum CHAP secret size is 12 characters (bytes) (IPSec is not supported).

For bidirectional CHAP, each target-initiator pair must have one target CHAP secret and one
initiator CHAP secret configured.

In bidirectional CHAP mode, the target CHAP secret cannot be identical to the initiators CHAP
secret to which it is connected.

The maximum CHAP secret size is 64 characters (bytes).


For unidirectional CHAP, each target-initiator pair must have one target CHAP secret
configured.

Note: iSCSI CHAP configurations are persistent across system reboots.

Configuring Unidirectional CHAP


iscsi chap target <target_name> {target-secret} <CHAP_secret_word> to
{initiator <initiator_name>|igroup <igroup_name>}
Sets the CHAP target secret for a target-initiator, or target-initiator group, pair.
The igroup_name variable option, as used in this command, allows you to establish the CHAP
secret for a group of initiators all at once. However, when you view iSCSI CHAP configurations, as
described in Showing iSCSI CHAP Configurations on page 328, the individual initiators that are
members of the igroup are shown individually without reference to the igroup_name (they belong
to).

Configuring Bidirectional CHAP


iscsi chap target <target_name> {target-secret|initiator-secret}
<CHAP_secret_word> to {initiator <initiator_name>|igroup <igroup_name>}
Sets the CHAP target secret and initiator, or initiator group, secret.
The igroup_name variable option, as used in this command, allows you to establish the CHAP
secret for a group of initiators all at once. However, when you view iSCSI CHAP configurations, as
described in Showing iSCSI CHAP Configurations on page 328, the individual initiators that are
members of the igroup are shown individually without reference to the igroup_name (they belong
to).

Removing CHAP Secrets


no iscsi chap target <target_name> to {initiator <initiator_name>|igroup
<igroup_name>}
Removes the CHAP target secret and initiator secret for a target.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

327

Appendix A - CLI Reference

Showing iSCSI CHAP Configurations


Use the show iscsi chap command to view target and initiator CHAP configurations, as shown
in the following example.
(config) # show iscsi chap
Target Initiator Target
Initiator
Chap
Chap
------------------------------------------------------------------Yes
Yes
iscsi
iqn.1991-05.com.microsoft:win2k8-lt
Yes
Yes
iscsi
iqn.1991-05.com.microsoft:violin-w2k3r2
Yes
No
iscsi-2
iqn.1994-05.com.redhat:981b2975f144

RADIUS Configuration
radius-server timeout <seconds>
no radius-server timeout
Sets (or resets to the default) a global communication value for all RADIUS servers. Can be
overridden in a radius-server host command. The default is 3. Sets the timeout for
retransmitting a request to any RADIUS server. Range is 1-60.
radius-server retransmit <retries>
no radius-server retransmit
Sets (or resets to 0) a global communication value for all RADIUS servers. Can be overridden in a
radius-server host command. Defaults to 1. Sets the number of times the client will attempt
to authenticate with any RADIUS server. To disable retransmissions set it to zero. Range is 0-5.
radius-server key <string>
no radius-server key
Sets (or clears) a global communication value for all RADIUS servers. Can be overridden in a
radius-server host command. Sets the shared secret text string used to communicate with
any RADIUS server.
radius-server host {hostname , ip-address} [auth-port <port-number>]
[timeout <seconds>] [retransmit <retries>] [key <string>]
no radius-server host {hostname , ip-address} [auth-port <port-number>]
Add a RADIUS server to the set of servers used for authentication. Some of the parameters given
may override the configured global defaults for all RADIUS servers. The auth-port defaults to
1812 and is used for authentication requests.
The same IP address can be used in more than one radius-server host command as long as
the auth-port is different for each. auth-port is a UDP port number. auth-port must be
specified immediately after the host option (if present).
If no radius-server host {hostname , ip-address} is specified, all radius specific
configuration for this host is deleted. no radius-server host {hostname , ip-address}

328

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Security Commands

auth-port <port> may be specified to refine which host is deleted, as the previous command
will delete all RADIUS servers with the specified ip-address.
RADIUS servers are tried in the order they are configured.
show radius
Show the RADIUS configuration.

Note: We do not have CLI commands to specify the acct-port (accounting port) or retransmit
on a per server basis. Also, there is no radius-server deadtime command as there is in the
Cisco command set.

TACACS+ Configuration
This section provides the syntax for TACACS+ configuration commands, along with an explanation
of the functionality of each command.

Set Wait Time for TACACS+ Server


tacacs-server timeout <seconds>
no tacacs-server timeout
Sets (or resets to the default) a global communication value for all TACACS+ servers. Can be
overridden in a tacacs-server host command. Defaults to 5. Sets the wait time for
retransmitting a request to any TACACS+ server. Range is 1-60.

Set Client Authentication Attempts


tacacs-server retransmit <retries>
no tacacs-server retransmit
Sets (or resets to 0) a global communication value for all TACACS+ servers. Can be overridden in
a tacacs-server host command. Defaults to 2. Sets the number of times the client will attempt
to authenticate with any TACACS+ server. To disable retransmissions set it to zero. (Number of
times to search the TACACS list.) The range is 0-5.

Set Shared Secret


tacacs-server key <string>
no tacacs-server key
Sets (or clears) a global communication value for all TACACS+ servers. Can be overridden in a
tacacs-server host command. Sets the shared secret text string used to communicate with
any TACACS+ server.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

329

Appendix A - CLI Reference

Add a TACACS+ Authentication Server


[no] tacacs-server host {hostname , ip-address} [auth-port <portnumber>][auth-type {ascii, pap}] [timeout <seconds>] [retransmit
<retries>][key <string>]
Add a TACACS+ server to the set of servers used for authentication. Some of the parameters given
may override the configured global defaults for all TACACS+ servers. The auth-port is used for
authentication requests. The auth-type specifies which of the two currently supported
authentication methods will be used.
The same IP address can be used in more than one tacacs-server host command as long as
the auth-port is different for each. auth-port is a UDP port number. auth-port must be
specified immediately after the host option (if present).
If no tacacs-server host {hostname , ip-address} is specified, all tacacs-specific
configuration for this host is deleted. no tacacs-server host {hostname , ip-address}
auth-port <port> may be specified to refine which host is deleted, as the previous command
will delete all TACACS+ servers with the specified ip-address.
TACACS+ servers are tried in the order they are configured.

Show the TACACS+ Configuration


show tacacs
Show the TACACS+ configuration.
Currently there is no single-connection option on a per TACACS+ server basis.

SCSI-3 ALUA Commands


Asymmetric Logical Unit Access (ALUA) is a multipathing technology that enhances availability
through efficient data access. This is done through the correct handling of path failures with out
relying on client timeout mechanisms.

Note: By default ALUA is not enabled. To use this feature, you must enable ALUA on a per LUN

basis.
lun set container <container_name> name <lun_name> alua
Enables ALUA for a single LUN in a specified container.
lun set container <container_name> name * alua
Enables ALUA for all LUNs in the container through the use of the wildcard (*) character.
lun create container <container_name> name <LUN_name> size <size_GB> alua
Enables ALUA for the newly created LUN.

330

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Fibre Channel Commands

Fibre Channel Commands


You can use the following CLI command to set the Fibre Channel port parameters, such as Speed
Option, Port Type, enabling and disabling a port, as well as resetting the Fibre Channel link.
fc {on | target} {global | hostname} {all | hostnamexxx} target {all |
hba-xx} | enable | issue_lip | speed {auto, 2Gb, 4Gb, 8Gb} | type {loop,
loop-preferred, point-to-point}
To reset the port settings to default value, use the following command.
no fc {on | target} {global | hostname} {all | hostnamexxx} target {hbaxx | all} {enable | speed | type}

speed: Default is auto


type: Default is point-to-point
enable: Default is enable

Initiator Group Commands


This section covers the following commands:

Create an Initiator Group on page 332


Add Initiators to a Group on page 332
Create a Nested Initiator Group on page 332
Show Initiator Groups on page 332
Show Nested Initiator Groups on page 333
Show Initiators on Targets on page 333

This section provides the syntax for initiator group and initiator group related commands. An
explanation of the functionality of each command is also provided.

Changing the LUN ID after a LUN has been exported is not recommended. For example, if a
LUN is exported as LUN ID 1 and later the export is changed to LUN ID 2, traffic is disrupted
during the change. The affect on the client depends on how it handles LUN ID changes.

You can export LUNs to different igroups on different targets, even when they have initiators in
common.

Note: After you create an export for a specific iSCSI initiator using a specific target, the initiator

is excluded from seeing LUN exports from that target to all initiators.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

331

Appendix A - CLI Reference

Create an Initiator Group


[no] igroup create name <name>
The igroup create command creates an initiator group, after which you can add initiators using
the addto command. For more information, see Add Initiators to a Group on page 332.

Add Initiators to a Group


[no] igroup addto name <igroup_name> initiators [initiator_name ]
The igroup addto command adds one or more iSCSI, Fibre Channel, or InfiniBand initiators.
iSCSI initiator identifiers (IQNs) are user-defined. Fibre Channel initiator identifiers (WWNs) are
generated automatically by a Host Bus Adapter (HBA). InfiniBand initiator identifiers begin with a
guid prefix.

Create a Nested Initiator Group


Best practices for nested igroups:

Use a unique LUN ID (LUN name) for each LUN to avoid the chance of conflicts.

Refrain from exporting a LUN to different targets using a different LUN ID (LUN name) for the
LUN for each target, as this practice can result in conflicts.

Plan the nested igroups hierarchy first. Then, export the LUNs to the different igroups, allowing
the system to auto-assign LUN IDs to ensure they are each unique.

[no] igroup addto name <igroup_name> initiators <initiator_name or


igroup_name >
The igroup addto command allows you to include an igroup as a member of another igroup. The
nested igroup becomes the initiator in this instance. Nested igroups can contain iSCSI, Fibre
Channel, and InfiniBand initiators.
In the following example two igroups are created: A and B. The B igroup is then added to A, and A
becomes a nested igroup.
igroup
igroup
igroup
igroup

create name A
create name B
addto name A initiators B
addto name A initiators wwn.50:01:43:80:18:6b:3e:f2

Now the igroup A contains two members wwn.50:01:43:80:18:6b:3e:f2 and B. Since B is an igroup,
we call the A is a nested igroup.

Show Initiator Groups


show igroups
Displays all the initiator groups with their members.

332

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

LUN Commands

Show Nested Initiator Groups


show igroups flatten
Displays all the initiator groups along with their members, replacing initiator group members with
initiators. This shows the nested igroup data by flattening the nested hierarchies.

Show Initiators on Targets


show targets initiators
Displays a list of initiators with their associated targets.
show targets initiators no-igroup
Displays a list of initiators that are not currently members of an igroup, along with their associated
targets.

LUN Commands
This section covers the following commands:

Create LUNs on page 333


View LUNs on page 334
Set LUN Privileges and UDIDs on page 335
Rename a LUN on page 335
Resize a LUN on page 336
Export LUNs on page 336
View LUN Statistics on page 337

This section provides the syntax for LUN commands, along with an explanation of the functionality
of each command.
VMware ESX 4.1 does not support 4K block size. For VMware ESX 4.1, use a 512 byte block size
LUN, which is supported.

Create LUNs
The lun create command enables you to create a LUN within a specified storage container.
Command Syntax

[no] lun create container <container_name> name <LUN_name> size [<size GB>
| equal] [quantity <number>] [nozero] [readonly] [startnum <unsigned
integer>] [blksize 512 | 4096] [offline] alua naca

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

333

Appendix A - CLI Reference

Arguments and Options

The table shows syntax for LUN commands.


name

Defines the name of LUN to be created; used as a prefix if the


quantity of LUNs created is greater than one.

size

Defines the size of each LUN in GB, or equal to divide the free
space of the container equally among the new LUNs. A value of
0 (zero) may be used in place of equal.

container

Identifies the name of the container in which the LUN is created.


Defines the number of LUNs to be created; the default is 1. If the
number is greater than 1, the names of the newly created LUNs
will be appended with an index number from startnum up to the
number of LUNs created.

quantity

nozero

Specify to avoid zeroing-out the data on the LUNs, which could


take a long time for large LUNs.

readonly

Creates the LUNs in read-only mode.

startnum

Defines starting index number for newly created LUNs. The


default is 1.
Defines the logical block size for the created LUNs; the default is
512, can be set to 512 or 4096. Not all systems can handle 4096byte sizes. Use 512 if you are in doubt.

blksize

offline

Creates the LUNs in offline mode.

alua

Turns on ALUA for a LUN. For more information on ALUA, see


Optimizing Performance with ALUA on page 257.

naca

Turns on NACA for a LUN. For more information on NACA, see


AIX Compatibility NACA Bit Support on page 179.

View LUNs
The show luns command enables you to view LUNs. LUNs may be filtered by container, name,
and session parameters. To view a list of containers, enter show luns container ?. The name
parameter enables you to view only those LUNs which are prefixed by a particular name. The udid
option shows the UDID associated with a LUN.
show luns [container] [name] [count] [reserved] [serial] [sessions]
The following table provides descriptions for each command argument and option.

334

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

LUN Commands

Arguments and Options

container

Displays only the LUNs within a specific container.

name

Displays a specific LUN.

count

Displays LUNs with active sessions and their count.

reserved

Displays LUNs with SCSI reservations.

serial

Displays the serial numbers for each LUN.

sessions

Displays the sessions accessing a particular LUN.

Set LUN Privileges and UDIDs


[no] lun set container <id> name <name> readonly
The lun set command enables you to set a LUN as read-only. The lun set command is the
only command usable after a LUN has been created except the no lun create readonly
command.
# lun set container <container_name> name <lun_name> udid <unique-number>
Sets the unique device identifier (UDID) for the LUN, after which you are prompted to confirm the
change.
# lun set container <container> name * udid <start_number>
Sets the UDIDs for all LUNs in the container, starting at 100 and increasing incrementally for each
additional LUN (101, 102, 103 ...). The * acts as a wildcard.
# no lun set container <container> name * udid
Removes the UDIDs for all LUNs in a container. The * acts as a wildcard.

Rename a LUN
You can rename a LUN using the following command.

Note: Renaming or deleting a LUN is not allowed with actively exported LUNs. You must

unexport the LUN before you renaming or deleting it.

[no]lun rename container <container_ID> name <existing_lun_name> to


<new_lun_name>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

335

Appendix A - CLI Reference

Resize a LUN
You can increase the size of an existing LUN by specifying a new size or specifying the amount you
want to increase the existing size in gigabytes. Decreasing the size of an existing LUN is not
supported. For a smaller size LUN, create a new LUN of the desired size.
lun resize container <container_id> name <lun_name> size <new_GB>
Increases the size of an existing LUN by specifying the new size in gigabytes.
lun resize container <container_id> name <lun_name> size +<increment_GB>
Increase the size of an existing LUN by specifying the amount (GBs) to increase the current size.

WARNING! Existing client side file systems that might be stored on the LUN are not extended
as part of the resize operation. Increasing the size of an existing client side file system must be done
on the client. Some client systems do not detect a LUN size change until they reboot.

Export LUNs
The lun export command enables you to export the LUNs within a specific container to an
initiator or initiator group. A single LUN may be exported multiple times through different target ports
(multipathing) or to different initiators (clustered access).

Caution: When working with initiator groups or nested initiator groups, review the recommended

guidelines as described in Exporting LUNs on page 193 prior to exporting.

Syntax

[no] lun export container <container_name> name <lun_name> [lunid][to


<igroup | initiator>]... [using <port >]

336

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

LUN Commands

Arguments and Options

lun_name

The lun_name could be wildcard specified, such as


FINANCE*

container <container_name>

The name of the container

name <lun_name>

The name of the LUN

lunid

Designates the LUN ID assigned to an exported LUN.


By default, LUN IDs are automatically assigned by
vSHARE. User-defined LUN IDs may be specified to
track specific LUNs.

igroup

The name of the igroup.


If no igroup or initiator is specified, all initiators will have
access to the LUN.

initiator

The IQN (iSCSI) or WWN (Fibre Channel) name of the


initiator.

port

The port is iSCSI portal (i.e. 10.10.0.14) or Fibre


Channel wwn ID.

View LUN Statistics


LUN statistics are accessed via the CLI with the following command:
show stats lun [container <container_id>] [name <lun_name>] [on global|on
host <hostname>] [continuous] [detail]
Use the container <container_id> option to restrict statistics display to a single container. If
it is omitted, statistics are shown for all the containers accessible to the hosts.
Use the name <lun_name> option to get statistics for a single LUN. If it is committed, statistics for
all LUNs are specified.

Note: Select shell wildcard patterns can be used in the <lun_name> field to match a set of LUNs.
For example, you can use the asterisk (*) to match all characters that follow. Such as mylun* to
match all LUN names that begin with mylun. Or, you can specify a range of LUN names using the
[a-e] wildcard. Such as my-lun[2-4][0-9] to match all LUNs from my-lun20 to my-lun49.

Use the on global option to get statistics for data flowing to LUNs through all nodes in a cluster.
Use the on host <hostname> option to get statistics for data flowing to LUNs on a specific host.
Use the continuous option to refresh displayed statistics every ten seconds.
Use the detail option to display statistics in a verbose format.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

337

Appendix A - CLI Reference

LUN Group Commands


This section covers the following commands:

Creating LUN Groups on page 338


Deleting LUN Groups on page 338
Modifying LUN Groups on page 338
Exporting a LUN Group on page 339
Displaying LUN Groups on page 340

Creating LUN Groups


The following guidelines apply:

A LUN may be part of multiple LUN groups.

A LUN group name must be unique within a container.

A LUN group can contain a minimum of one LUN and a maximum of eight LUNs.
A LUN group name must start with an alphanumeric character, and may contain hyphens,
underscores, and periods.

Substitute LUN names for the <lun#> variables in the command above. You must have one LUN to
create a LUN group, and optionally can specify seven other LUNs as members.
# lungroup create container <container_name> name <lungroup_name> lun
<lun1> lun [<lun2> lun <lun3> lun <lun4> ... lun <lun8>]

Deleting LUN Groups


You can delete a LUN group without affecting the LUNs belonging to the group. Deleting a LUN
group in effect only deletes the relationship that binds the member LUNs together as an object.

Note: You must delete the snap groups (snapshots of a LUN group) associated with a LUN group
before you are allowed to delete the LUN group. Snapshots that belong to a group cannot be
deleted individually. You must delete all the snapshots in a snap group.

# no lungroup create container <container_name> name <lungroup_name>

Modifying LUN Groups


You can change a LUN group name, as well as the LUNs that are members of the group. You can
add new LUNs to a LUN group, and remove existing LUN members. This function only impacts the
management of the LUN group (object), and does not create or delete actual LUNs.

Note: If a LUN is deleted, it is automatically removed from any LUN groups of which it is a
member. If deleting a LUN results in a LUN group with zero members, then that LUN group is
automatically deleted.

338

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

LUN Group Commands

Adding LUNs to a LUN Group


Substitute appropriate names for the variables in the following command.
# lungroup addto container <container_name> name <lungroup_name> lun
<new_lun>
Note: A LUN group can have a maximum of eight LUNs.

Deleting LUNs from a LUN Group


Substitute LUN names for the <lun#> variables in the following command.
# no lungroup addto container <container_name> name <lungroup_name> lun
<lun1> lun [<lun2> lun <lun3> lun <lun4> ... lun <lun7>]
Note: You can delete up to seven LUNs from a LUN group. One LUN must remain to maintain

the group. If you delete all LUNs from a LUN group, the LUN group is automatically deleted.

Renaming a LUN Group


To rename a LUN group, specify the container in which the LUN resides, the existing name (old
name) of the LUN followed by the new name of the LUN.

Note: Renaming a LUN group with exported LUNs is not recommended, as traffic can be

disrupted. For more information, see Guidelines for Exporting LUNs on page 194.
# lungroup rename container <container-id> name <old-lungroup-name> to
<new-lungroup-name>

Exporting a LUN Group


You can export a LUN group and all the LUNs contained within the LUN group, using the following
options.
to: exports a LUN group to an initiator or initiator group
using: exports a LUN group using a target port
description: allows you to add a description to identify the LUN group
Rules for exporting LUNs also apply to LUN groups. For more information, see Guidelines for
Exporting LUNs on page 194.

Exporting a LUN Group to an Initiator Port


The following command exports a LUN group to a specified initiator port.
# lungroup export container <container_name> name <lungroup_name> to
<initiator_port>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

339

Appendix A - CLI Reference

Exporting a LUN Group Using Specific Ports


The following command exports a LUN group using specified ports.
# lungroup export container <container_name> name <lungroup_name> using
<ports>

Adding a Description to a LUN Group


# lungroup set container <container_name> name <lungroup_name>
description <description of the LUN group>
This command is adds a unique description to the LUN group.

Adding a Description to a LUN Group


# lungroup set container <container_name> name <lungroup_name>
description <description of the LUN group>
This command is adds a unique description to the LUN group.

Displaying LUN Groups


You can display a list of all LUN groups on a system. Each LUN group name and the LUNs present
in each group are shown. When a LUN name changes, the LUN group list shows the new name.
You can specify a container, and only show the LUN groups in that container.
The following command displays a list of LUN groups and their individual members.
# show lungroups [container <container_name>]

Container: MyContainer
LUN Group
LUNs
-------------------------------------------------------------Finance_LG
2013,1stQ,2ndQ,3rdQ,4thQ
HR_LG
Benefits,Employees,Expenses
RandD_LG
Resources,Expenses,HeadCount
Eng_thn_LG
eng1_thn,eng2_thn,eng3_thn,eng5_thn
Admin_thn_LG
adm1_thn,adm2_thn,adm3_thn
Corp_thn_LG
corp5_thn,corp6_thn,corp7_thn

340

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Data Management Commands


This section covers the commands for the following:

Optimizing Performance with ALUA on page 341


Thin Provision LUNs on page 344
Snapshots on page 346
Snap Groups on page 350
Schedule Management on page 353
Free Space Management on page 356

Optimizing Performance with ALUA


Implicit Asymmetric Active-Active (ALUA) directs management traffic to one preferred port, to
increase performance for thin provisioned LUNs and LUNs with snapshots. ALUA is achieved by
setting a preferred port attribute and an ALUA attribute on a per-LUN basis.

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA, to prevent

a substantial performance hit.

There is a preferredport LUN attribute that is used in conjunction with the alua LUN attribute
that sets the preferred bit and target port asymmetric access state of each target port group.

Setting the Preferred Port and ALUA Attributes for a


New LUN
You can set both the preferredport and the alua attributes when creating a new LUN.
Optionally, you can set the preferred port for a LUN first (as described in Setting a Preferred Port
for an Existing LUN on page 341), and then set the alua attribute at a later time (as described in
Setting ALUA for an Existing LUN on page 342).

Note: The preferredport setting is only applicable when the alua attribute is enabled on a

LUN. If a preferred port is not specified, it defaults to 1.


# lun create container <container_name> name <lun_name> size <size_GB>
[preferredport <1|2>] alua

Setting a Preferred Port for an Existing LUN


You can set the preferredport attribute on an existing LUN.

Note: The preferredport setting is only applicable when the alua attribute is enabled on a

LUN. If the alua attribute is not enabled, the preferredport setting has no effect.
# lun set container <container_name> name <lun_name> preferredport <1|2>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

341

Appendix A - CLI Reference

Setting ALUA for an Existing LUN


This section demonstrates how to set the alua attribute for a LUN (with a preferredport setting)
on which ALUA is not enabled. ALUA must be enabled for the preferredport attribute to be
recognized.
# lun set container <container_name> name <lun_name> alua

Removing an ALUA Setting


You can disable the alua attribute for a LUN using the following command.
# no lun set container <container_name> name <lun_name> alua
Viewing Preferred Port Settings and Sessions
You can display a list of LUNs and their preferredport settings using the following command.
# show luns preferred port
Container: MyContainer
LUN
Preferred port
---------------------------------------------ALUAlun
1
bigthin
1
thick1
2
thick2
2
thick3
2
thin1
1
thin2
1
thin3
1
thin4
1
You can display a list of preferredport sessions using the following command.
# show luns preferredport sessions

342

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Container: MyContainer
LUN
Preferred port
---------------------------------------------VMEM_1
1
Connected
Sessions : vmem-1-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_1
1
Connected
Sessions : vmem-1-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_2
2
Connected
Sessions : vmem-2-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
VMEM_2
2
Connected
Sessions : vmem-2-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
Viewing ALUA Settings
You can display a list of LUNs with alua settings using the following command.
# show luns alua
Container: MyContainer
LUN
ALUA
-----------------------------------ALUAlun
1
bigthin
1
thick1
0
thick2
0
thick3
0
thin1
1
thin2
1
thin3
1
thin4
1

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

343

Appendix A - CLI Reference

You can display a list of alua sessions using the following command.
# show luns alua sessions
Container: MyContainer
LUN
ALUA
-----------------------------------VMEM_1
1
Connected
Sessions : vmem-1-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_1
1
Connected
Sessions : vmem-1-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 1
VMEM_2
1
Connected
Sessions : vmem-2-mg-a
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
VMEM_2
1
Connected
Sessions : vmem-2-mg-b
: Port: hba-a1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2
: Port: hba-b1, Session: wwn.21:00:00:24:ff:45:fc:9a, LUN ID: 2

Thin Provision LUNs


You can create a thin provision LUN within a specified storage container by adding the thin option
to the end of the lun create command.

Caution: Thin provisioned LUNs and LUNs with snapshots should always use ALUA, to prevent

a substantial performance hit. For more information, see Optimizing Performance with ALUA on
page 341.

Creating a Thin Provision LUN


The command for creating a thin provision LUN provides the same options as the command for
creating a regular LUN, with the exception of thin at the end of the syntax.
# lun create container <container_name> name <LUN_name> size [<size GB> |
equal] [quantity <number>] [nozero] [readonly] [startnum <unsigned
integer>] [blocksize 512 | 4096] [offline] thin

344

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

The following example demonstrates the creation of a 10 GB thin provision LUN named Mylun1 in
a container named apple.
# lun create container MyContainer name Mylun1 size 10 thin
LUN create: success!

Modifying Read/Write Access for a Thin Provision LUN


The lun set command allows you to specify a LUN as read-only. This command is the same as
that used to modify the read/write access for a regular (thick) LUN.
# lun set container <container_name> name <thinlun_name> readonly

Renaming a Thin Provision LUN


You can use the lun rename command to rename a regular (thick) LUN.
# lun rename container <container_name> name <existing_thinlun_name> to
<new_thinlun_name>

Exporting a Thin Provision LUN


The process for exporting thin provision LUNs is the same as exporting regular (thick) LUNs. For
more information, see Exporting LUNs on page 193.

Note: Once a LUN is exported, it cannot be deleted without first unexporting the LUN.

# lun export container <container_name> name <thinlun_name> [lunid][to


<igroup | initiator>]... [using <port >]

Unexporting a Thin Provision LUN


The process for unexporting thin provision LUNs is the same as exporting regular (thick) LUNs. For
more information, see Exporting LUNs on page 193.

Note: You must unexport a LUN prior to deleting it. You are not allowed to delete an exported

LUN.

# no lun export container <container_name> name <thinlun_name>

Showing a List of Thin Provision LUNs


You can view information about thin provision and thick LUNs using the show luns command. You
can filter LUNs by container, name, and session parameters.
To view a list of containers, enter show luns container ?. The name parameter enables you
to view only those LUNs which are prefixed by a particular name.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

345

Appendix A - CLI Reference

# show luns container <container_name> name <thinlun_name> sessions


The following example shows the results for thin and thick LUNs.
# show luns
Container: MyContainer
LUN
Size Type RW Bksz Status
Ports
--------------------------------------------------------------------Mylun1
10G thin rw 512 HA
A,B
Mylun2
5G thick rw 512 HA
A,B

Deleting a Thin Provision LUN


This delete LUN command is the same for thin and thick (regular) LUNs.

Note: You must unexport a LUN prior to deleting it. You are not allowed to delete an exported

LUN.

# no lun create container <container_name> name <thinlun_name>

Snapshots
A snapshot is a space-efficient, point-in-time copy of a LUN or other storage volume. By default,
snapshots are read-only. However, you can set the permissions on snapshots to read-write.

Note: An application has to be quiesced (on the client side) before you can take an application
consistent snapshot. The snapshots discussed in this section refer to crash consistent snapshots,
taken on the array.

Creating Snapshots
A snapshot name must start with alphanumeric characters, and may also include dashes and
underscores. The [description] option allows you to add a description to the snapshot. You can
allow write privileges to the snapshot with the [readwrite] option. The [protect] option
prevents the snapshot from being deleted during space reclamation.
# snapshot create container <container_name> lun <lun_name> name
<snapshot_name> [description][readwrite][protect]
Deleting Snapshots
The following rules apply when deleting snapshots:

346

Snapshots that belong to a group cannot be deleted individually. However, you can delete all
the snapshots in a group.

Snapshots that have been exported cannot be deleted. You must unexport the snapshot first,
then it can be deleted.
Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Protected snapshots cannot be deleted, unless you have Admin user privileges. However, it is
recommended that you unprotect the snapshots first, then delete them.

# no snapshot create container <container_name> lun <lun_name> name


<snapshot-name>

Showing a List of Snapshots


Use the following command to display a list of snapshots on the array. Along with the list of
snapshots, the name, timestamp, read-only/read-write status, and protected information for each
snapshot is displayed.
# show snapshots

Container: 41238F00608
Snapshot
LUN
RW Protect Status
Ports AllocSz Created
--------------------------------------------------------------------------------------snapg1_lun1_20130416_133533 lun1
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun2_20130416_133533 lun2
ro no
HA
A,B
0G 2013/04/16_13:35:33
snapg1_lun3_20130416_133533 lun3
ro no
HA
A,B
0G 2013/04/16_13:35:33

Showing a List of Snapshots for a LUN


Use the following command to display a list of snapshots for a specific LUN.
# show snapshots container <container-id> lun <lun-name>

Showing a List of Snapshot Sessions


Use the following command to display a list of snapshot sessions:
# show snapshots sessions

Showing Snapshots with Associated ALUAs


Use the following command to display a list of snapshots and their associated ALUAs. For
information on ALUA and preferred ports, see Optimizing Performance with ALUA on page 341.
# show snapshots alua

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

347

Appendix A - CLI Reference

Container: MyContainer
snapshot
ALUA
------------------------------vmem_20130319_175400
0
lun1_20130319_175700
1
lun2_20130319_180000
1
lun3_20130319_180301
0
lun4_20130319_180601
0
HR_1_20130319_181201
0
Eng1_20130319_181500
1

Showing Snapshots with Associated NACAs


Use the following command to display a list of snapshots and their associated NACAs. For more
information on NACA, see AIX Compatibility NACA Bit Support on page 179.
# show snapshots naca
Container: MyContainer
snapshot
NACA
------------------------------Admin_20130329_5500
0
lun5_20130329_5700
1
lun7_20130329_5800
1
lun3_20130329_5301
0
lun9_20130329_5601
1
HR_1_20130329_5201
0
Eng1_20130329_5900
1

Showing a List of Exported Snapshots


Use the following command to display a list of exported snapshots.
# show exports

Container: MyContainer
LUN
Snapshot Target
Initiator
LUNID Status
--------------------------------------------------------------------Admin1_thick 20813
iscsi iqn.1994-05.com:01f775debf9 1
Active
lun05_thin
20814
iscsi iqn.1994-05.com:01f775debf9 3
Active
lun09_thin
20815
iscsi iqn.1994-05.com:01f775debf9 4 Inactive
HR13_thick
20816
iscsi iqn.1994-05.com:01f775debf9 2
Active

348

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Performing a Rollback
Before you try performing a rollback, you should understand the requirements and the process.
Requirements:
a. If the snapshot you want to restore the LUN to is read-write, the snapshot must be taken

offline first.
b. After the snapshot is taken offline, the LUN you want to restore must be taken offline.
Process:

A rollback follows this process:


a. When a rollback is initiated, the system creates a new snapshot of the LUN to preserve

the state of the LUN prior to the rollback.


b. The LUN is changed to match the contents of the (restore) snapshot specified in the
rollback.
c. The LUN can be brought back online, as well as the (restore) snapshot used in the
rollback process.
Note: The system snapshottaken at the beginning of the rollback processcan later be used

to undo the rollback, should the need arise.

Command Syntax

# snapshot rollback set container <container_name> lun <lun_name> name


<snapshot-name>
Renaming Snapshots
You can change the name of a snapshot at any time, provided it has not been exported. Changing
the name of a snapshot does not impact the existing sessions for that snapshot, as long as the
snapshot has not yet been exported.
Specify the container ID, LUN name, old snapshot name, and new snapshot name.
# snapshot rename container <container_name> lun <lun_name> name <oldsnapshot-name> to <new-snapshot-name>
Modifying the Access to Snapshots
You can change snapshot access from read-only to read-write, or from read-write to read-only.

Note: Existing snapshot sessions are disconnected after making this change.

You are not allowed to modify the individual properties of a snapshot that belong to a snap group.
For example, you are not allowed to change the read-only/read-write property or the protect
property of a snapshot that belongs to a snap group.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

349

Appendix A - CLI Reference

# snapshot set container <container_name> lun <lun_name> name <snapshotname> readwrite

Basic Syntax for Exporting a Snapshot


# snapshot export container <container_name> lun <lun_name> [snapshotname] [lunid] [to <igroup|initiator>]... [using <port >]

Assigning a LUN ID to an Exported Snapshot


# snapshot export container <container_name> lun <lun_name> [snapshotname] [lunid]

Exporting a Snapshot to an Initiator or Initiator Group


# snapshot export container <container_name> lun <lun_name> [snapshotname] [to <igroup|initiator>]

Exporting a Snapshot Using a Target Port


# snapshot export container <container_name> lun <lun_name> [snapshotname] [using <port >]

Unexporting a Snapshot
# no snapshot export container <container_name> lun <lun_name> [snapshotname]

Protecting a Snapshot
# snapshot set container <container_name> lun <lun_name> name <snapshotname> protect

Unprotecting a Snapshot
# no snapshot set container <container_name> lun <lun_name> name
<snapshot-name> protect

Snap Groups
You can create a snap group from an established LUN group. A snap group is a group of snapshots
of the LUNs belonging to the LUN group.
Creating a Snap Group
This operation creates a snapshot of each LUN in the snap group, then links the snapshots together
into a group.
# snapgroup create container <container_name> lungroup <lungroup_name>
name <snap_group_name>[readwrite] [protect] [description]

350

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Deleting a Snap Group


You can delete a snap group using its name. When you delete a snap group, all the snapshots
contained within the group are deleted.

Note: Snapshots that belong to a group cannot be deleted individually. However, you can delete

the entire group of snapshots.


# no snapgroup create container <container_name> lungroup <lungroup_name>
name <snap_group_name>

Viewing Snap Group Information


If you use the show snapgroups command without any options, the resulting list displays all snap
groups for all LUN groups on all containers.
# show snapgroups [container] [lungroup-name] [snapgroup-name]
[protected] [readwrite]

# show snapgroups container 41238F00608 lungroup lung1 snapgroup snapg0


Container: 41238F00608
Lungroup: lung1
Description: Just another snapgroup
# of snapshots: 3
Snapshots
---------------------------------------------------------------------snapg1_lun1_20130416_133533
snapg1_lun2_20130416_133533
snapg1_lun3_20130416_133533
Total Allocated Size: 0G
Snapshot Protected/Unprotected: 0G/0G
Rolling Back the Contents of a Snap Group
You can roll back (restore) the contents of all LUNs in a LUN group from a snap group. This
operation does not require that the LUNs be unexported. However, all the LUNs and snapshots
involved are taken offline when the contents of the LUN are changed.
The following command specifies the LUN group to be restored by the specified snap group.
# snapgroup rollback container <container-name> lungroup <lungroup_name>
name <snapgroup-name>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

351

Appendix A - CLI Reference

Adding or Changing a Snap Group Description


Use the following command to add a description to a snap group, or change an existing description.
Enter the new description text in place of the <description_text> variable.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> description <description_text>

Changing a Snap Group Port


Use the following command to change the port to which the snap group is exported.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> port <port#>

Protecting and Unprotecting a Snap Group


Use the following command to protect a snap group from being automatically deleted when free
space is needed.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> protect
Use the following command to allow the snap group to be automatically deleted when free space is
needed.
# no snapgroup set container <container_name> lungroup <lungroup_name>
name <snapgroup_name> protect

Changing Snap Group Permissions


Use the following command to grant read/write access to a snap group.
# snapgroup set container <container_name> lungroup <lungroup_name> name
<snapgroup_name> readwrite
Use the following command to set the permissions to read-only for a snap group with read/write
access.
# no snapgroup set container <container_name> lungroup <lungroup_name>
name <snapgroup_name> readwrite

352

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Renaming a Snap Group


Use the following command to change the name of an existing snap group. You must specify the
LUN group associated with the snap group.
# snapgroup rename container <container-name> lungroup <lungroup-name>
name <snapgroup_name> to <new-snapgroup-name>

Exporting a Snap Group to an Initiator


Use the following command to export a snap group to a specified initiator.
# snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name] to <initiator_port>

Exporting a Snap Group Using a Port


Use the following command to export a snap group using a specified port or ports.
# snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name] using <port ...>

Unexporting a Snap Group


Use the following command to unexport a snap group.
# no snapgroup export container <container_name> lungroup <lungroup_name>
name [snap_group_name]

Schedule Management
You can automatically schedule the creation of snapshots and snap groups using schedule
management commands.
Creating a Schedule
Use the following command syntax to create a schedule:
# schedule snapshot create container <container-name> <schedule-options>
Use the following <options> to customize a schedule:

535-0008-00 Rev 10

description: Adds an identifying description to the schedule


disable: Specifies a schedule as disabled until the schedule is enabled
end-date: Specifies the end date for the schedule
end-time: Specifies the end time for the schedule
lun: Creates a schedule for a LUN
lungroup: Creates a schedule for a LUN group
max-keep: Specifies the number of snapshots kept before deleting; does not apply for a
one-time schedule

Violin 6000 Series Memory Array Users Guide

353

Appendix A - CLI Reference

protect: Specifies the snapshots taken by this schedule are protected from automatic
deletion
readwrite: Specifies that the snapshots taken by this schedule have read/write access
schedule-name: Specifies a name for the schedule
start-date: Specifies the start date for the schedule
start-time: Specifies the start time for the schedule
time-of-day: Specifies the time of day at which a non-periodic schedule triggers
type-daily: Specifies a daily schedule [time-of-day]
type-monthly: Specifies a monthly schedule [day-of-month] [interval]
[day-of-month]: Specifies the day of the month on which a monthly schedule executes; use
a negative number to count backwards from the end of the month
[interval]: Specifies the number of months for the schedule to repeat; the default is 1 if this
option is not specified
type-once: Specifies a one-time schedule [date]
[date]: Specifies the execution date for a one-time schedule
type-periodic: Specifies a periodic schedule [periodicity]
[periodicity]: Specifies the number of recurring intervals for the schedule
type-weekly: Specifies a weekly schedule [days-of-week]
[days-of-week]: Specifies the days of the week on which a weekly schedule executes
Deleting a Schedule
Deleting a schedule does not affect (or impact in any way) the snapshots or snap groups already
created by the schedule. If a schedule is currently in the process of creating a snapshot or snap
group, it does not impact the creation.
# no schedule snapshot create container <container-name> <scheduleoptions>

Basic Syntax for Modifying a Schedule


Use the following command with the necessary options to modify an existing schedule.
# schedule snapshot modify container <container-name> lun|lungroup
<lun_name|lungroup_name> <schedule-options>

Changing a Schedule Name


The following example changes the name of a schedule associated with the specified LUN.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> new-schedule-name <new_schedule_name>

Changing the Maximum Number of Kept Snapshots


The following example changes the maximum number of snapshots that are kept. After this number
is reached, the next oldest snapshot is deleted when a new snapshot is created.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> max-keep <new_max-keep_value>

354

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

Enabling a Schedule
The following example enables a schedule.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> enable

Disabling a Schedule
The following example disables a schedule.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> disable
Note: You can disabletemporarily pausea schedule at any time. If a schedule is in progress,

the disable action does not interrupt or abort the schedule. The schedule will be put into a disabled
state after the creation is complete.

Making a Schedule Read-Only


The following example sets the permissions for the snapshots created by the schedule as read-only.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> readonly

Making a Schedule Read-Write


The following example sets the permissions for the snapshots created by the schedule as readwrite.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> readwrite

Protecting Snapshots in a Schedule


The following example protects the snapshots created by the schedule so they are not automatically
deleted by the system to create more free space.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> protect

Unprotecting Snapshots in a Schedule


The following example allows the snapshots created by the schedule to be automatically deleted by
the system to create more free space.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> unprotect

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

355

Appendix A - CLI Reference

Changing the Time of Day a Schedule Executes


The following example changes the time of day a schedule executes.
# schedule snapshot modify container <container_name> lun <lun_name>
schedule-name <schedule_name> time-of-day <new_time_of_day>

Viewing Schedules
Use the following command to view a particular schedule.
# show schedule <schedule_name>
If a snapshot is created by a schedule, it appears in the list of objects. In this case, the schedule
name appears in the snapshot list.

Free Space Management


You can monitor and manage the available space on containers for LUNs, snapshots, snap groups,
and LUN groups.

Viewing a Container Space Summary


You can view a summary of the total space and free space on a container, along with the number
of LUNs, and the provisioned space in Gigabytes. Ports, host, and status information is also
displayed, using the following command. You must be in enable mode to run this command.
# show containers
Container LUNs Total Free Provisioned Ports HostA HostB Status
----------------------------------------------------------------41238F
8
20685G 20661G
40G
A,B
v-mga
v-mgb
HA

Viewing Container Space Utilization


You can view a detailed breakdown of space utilization on a container with the show containers
space_utilization command. The following terms apply:

provisioned size: amount of space asked for

allocated size: amount of physical space used

free space: amount of space available for use

You must enter enable mode to run this command.

356

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Data Management Commands

# show containers space-utilization


name: MyContainer
Category
Allocated Provisioned
------------------------------------------------Thick LUNs
518G
518G
Thin LUNs
3G
185G
Snapshots
5G
100G
Reserved
154G
Container
680G
803G
Maximum space
10365G
31097G

Viewing LUN Space Utilization


You can view space utilization data for individual LUNs as well as all LUNs on a container. This
command displays detailed information about all the LUNs on a container. The following terms
apply:

allocated size: amount of physical space used

total (provisioned) size: amount of space asked for

You must enter enable mode to run these commands.


# show luns
Container: MyContainer
LUN
Size Type
RW Bksz Status Ports Snapshots AllocSz TotalSz
---------------------------------------------------------------------lun5_thck
50G thick rw 512 HA
A,B
324
50G
50G
lun6_thck
75G thick rw 512 HA
A,B
25
75G
75G
lun7_thck
60G thick rw 512 HA
A,B
202
60G
60G
lun23_thn
35G thin
rw 512 HA
A,B
121
21G
23G
lun24_thn
45G thin
rw 512 HA
A,B
221
12G
15G
lun25_thn
50G thin
rw 512 HA
A,B
355
22G
27G
The following command displays information about a particular LUN on a specified container.
# show luns container <container_name> name <lun_name>
Container: MyContainer
LUN
Size Type RW Bksz Status Ports Snapshots AllocSz TotalSz
--------------------------------------------------------------------lun3_thn
50G thin rw 512 HA
A,B
554
32G
38G
Container: MyContainer Lun: lun3_thn
Total Allocated Size: 32G
Lun Allocated/Provisioned Size: 32G/50G
Lun Snapshot Protected/Unprotected/Shared Size: 2G/4G/6G

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

357

Appendix A - CLI Reference

Viewing Snapshot Space Utilization


You can view space utilization data for snapshots on a container. The following term applies:

allocated size: amount of physical space used

You must enter enable mode to run this command.


# show snapshots
Container: MyContainer
Snapshot
LUN
RW Protect Status Port AllocSz
---------------------------------------------------------------------lun20_thck_130324_140
lun20_thck
ro no
HA
A,B 50G
lun24_thck_130324_151
lun24_thck
ro no
HA
A,B 80G
lun27_thck_130124_157
lun27_thck
ro yes
HA
A,B 40G
lun26_thn_130324_161
lun26_thn
ro no
HA
A,B 22G
lun28_thn_130324_164
lun28_thn
ro no
HA
A,B 17G
lun29_thn_130324_167
lun29_thn
ro yes
HA
A,B 31G

Setting a Used Space Threshold Trigger


The following command specifies a percentage of used space in the container that when reached,
triggers automatic space reclamation.
# container set name <container_name> usedspace-threshold
<number_percent> [soft] [hard]

soft: threshold that issues a warning when broken


hard: threshold that starts reclamation when broken

Setting a Provision Threshold Trigger


The following command specifies a percentage of provisioned space in the container that when
reached, triggers automatic space reclamation.
# container set name <container_name> provision-threshold
<number_percent> [soft] [hard]

358

soft: threshold that issues a warning when broken


hard: threshold that starts reclamation when broken

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Diagnostic and Display Commands

Diagnostic and Display Commands


varray
Display array information, including number of VIMMs, temperature, fan speed and LED states.
vdiag
Display array diagnostic information (must be run from the Master ACM).
vincident
Display incident report for the array.
vinfo
Display information about the array.
vstat
Display array statistics.
vvimms
Display VIMM information.

Standard Show Commands


show alarms
Display alarms. See Alarm Reference on page 369 for information about alarms.
show array
See Array Configuration and Show Commands on page 320.
show bootvar
Display installed system images and boot parameters.
show chassis info
Display the following information about the chassis: date, model, serial number and software
version.
show clock
Display the current system time, date, and time zone.
See NTP, Clock and Time Zones on page 300 for additional time-specific commands.
show email

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

359

Appendix A - CLI Reference

Display notification settings. This does not include SNMP traps, which are under the snmp-server
command tree.
See Event Notification on page 302 for additional e-mail-specific commands.
show hosts
Show all values configured for the following: hostname, name servers, domain name list, and static
host mappings.
show interfaces
Display detailed running state for all interfaces.
show inventory
Display basic information about the VCMs and VIMMs in the Array.
show ip <default-gateway | dhcp | route>
Display IP-related information for the commands above.
show log <continuous | files | matching | not>
Display logging configuration for the above commands. Where:
<cr>

Shows current event log file in a scrollable pager.

<continuous>

Shows new event log messages as they arrive.

<files>

Shows archived log files.

<matching>

Shows event logs that match a given regular expression.

<not>

Shows event logs that do not meet certain criteria.

show ntp | configuration


Display NTP runtime state; display NTP configuration.
See NTP, Clock and Time Zones on page 300 for additional NTP-specific commands.
show pcie
Use the show pcie command to display detailed PCIe connection information. Below is an example
of the command and output for a system named violin with four VCMs. The output shows the two
possible configurations: direct-attach and mg.
See the Violin 6000 Series Memory Array Installation Guide for initial PCIe configuration
commands.
The first section, called Switch configuration, displays the current routing mode, which in this case
is set to the direct-attach mode. The default mode (direct-attach) is four PCIe direct connections,
with two on each ACM. The four PCIe ports run at gen2 speed with a PCIe lane width of x8 lanes
per port, as shown in the Port configuration section. The Port configuration section is broken into
two parts: one for the ACM in slot a and the other for the ACM in slot b. The PCIe ports are

360

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Standard CLI Commands

labeled external a and b below. The display will show optimal for a port that is configured at its
highest speed, degraded if it is at a lower speed and no link if it cant detect a connection.
violin-acma [violin: master] (config) # show pcie
Current PCI-E config: mg
Config mg
Config direct-attach
Ports acm-a (lab-stein12-acma):
mg_out: optimal
hba-a: degraded: no link
hba-b: degraded: no link
mg_in: optimal
vcm-a: optimal
vcm-b: optimal
vcm-c: optimal
vcm-d: optimal
Ports acm-b (lab-stein12-acmb):
mg_out: optimal
hba-c: degraded: no link
hba-d: degraded: no link
mg_in: optimal
vcm-a: optimal
vcm-b: optimal
vcm-c: optimal
vcm-d: optimal
violin-acma [violin: master] (config) #
show version
Display version information for the current system image.
show vimms
Display information about the VIMMs.
See VIMM Commands on page 324 for additional VIMM-specific commands.

Standard CLI Commands


This section describes commands in the following categories:

Authentication Method and Order on page 362


SSH Configuration on page 362
Banner on page 364
CLI Options on page 364
SNMP Configuration on page 365
Web Interface Configuration on page 366

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

361

Appendix A - CLI Reference

Authentication Method and Order


aaa authentication login default <list of authentication methods> ...
no aaa authentication login
Sets the list of acceptable authentication methods for system logins. local, radius, and
tacacs+ are acceptable methods. The order in which the methods are specified is the order in
which the authentication is attempted.
aaa authorization map default-user <user name>
no aaa authorization map default-user
When a user is authenticated (via RADIUS or TACACS+) and does not have a local account, this
command specifies what local account the authenticated user will be logged on as. If the user name
is local, this mapping is ignored. This mapping is used depending on the setting of the authorization
map order.
aaa authorization map order {remote-only,remote-first,local-only}
no aaa authorization map order
Can be set to one of three choices: remote-first, remote-only, or local-only. Used when
authenticating users via RADIUS or TACACS+. The order determines how the remote user
mapping behaves. If the authenticated user name is valid locally, no mapping is performed.
The setting has the following three possible behaviors:

remote-first: If a local-user mapping attribute is returned and is a valid local user name, map
the authenticated user to the local user specified in the attribute. Otherwise, if the attribute is
not present or not valid locally, use the user specified by the default-user command. (This is
the default behavior.)

remote-only: Only try to map a remote authenticated user if the authentication server sends a
local-user mapping attribute. If the attribute does not specify a valid local user, no further
mapping is tried.

local-only: All remote users will be mapped to the user specified by the aaa authorization map
default-user <user name> command. Any vendor attributes received by an authentication
server are ignored.

show aaa
Shows the current authentication and authorization settings.

SSH Configuration
SSH Server
[no] ssh server enable
Enable or disable the ssh server.
If the ssh server is disabled, the CLI is only accessible over the serial console. Note that this does
not terminate existing ssh sessions; it will only prevent new ones from being established.
ssh server host-key generate

362

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Standard CLI Commands

Regenerate new host keys for the SSH server. This generates three keys: RSA for sshv1, RSA for
sshv2, and DSA for sshv2. Note that the system automatically generates the host keys on its first
boot, so this only needs to be done if a security breach is suspected and the keys need to be
changed.
ssh server host-key <type> private-key <key>
ssh server host-key <type> public-key <key>
Manually set the host-key (either private or public, but should be both if changing) of the specified
key type.
[no] ssh server listen enable
Enable (or disable) the listen interface restricted list for sshd. If enabled and at least one non-DHCP
interface is specified in the list, the SSH connections are only accepted on those specified
interfaces. When disabled, SSH connections are accepted on any interface.
[no] ssh server listen interface <ifname>
Provides a mechanism to add and remove interfaces to the 'listen' list. If the interface is also running
as a DHCP client, it will be as if the interface was not added. If DHCP is later turned off on this
interface, it will be as if the interface was then added to the listen list.
show ssh server
Display information about the ssh server, including whether or not it is enabled, and the host keys.
SSH Client
ssh client user <username> identity <key-type> generate [passphrase
<phrase>]
Generate a new identity (private and public keys) for the specified user name. The given user name
must correspond to a valid local user account. When the keys are generated, the private key is
written to the users ssh directory in an appropriately named file (id_dsa).
This identity can be used when the user uses the slogin command to connect from the system to
another host.
DSA and RSA v2 keys for SSHv2 can be generated. This is specified with dsa2 or rsa2 as the
key-type parameter.
ssh client user <username> identity <key-type> public-key <key>
ssh client user <username> identity <key-type> private-key <key>
Set the public or private key (of specified type) for the specified user name. This is an alternative to
generating the key in the above command and is also used for reverse mapping generated keys.
no ssh client user <username> identity [<key-type>]
Removes the public/private keys for the specified user. Any private key file in a valid user SSH
directory is deleted.
ssh client user <username> authorized-key sshv2 <key>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

363

Appendix A - CLI Reference

The specified key is added to the list of authorized sshv2 RSA or DSA public keys for this user
account. These keys can be used to log into the users account. The specified user must be a valid
account on the system. As keys are added, an implicit id is associated with the key. This is to make
key deletion easier.
Be aware that if a key is being pasted from a cut buffer and was displayed with a paging program,
it is likely that newline characters have been inserted, even if the output was not long enough to
require paging. Most likely show command output will be displayed this way, as paging is enabled
by default in the CLI. One can specify no cli session paging enable before doing the show
command to prevent the newlines from being inserted.
no ssh client user <username> authorized-key sshv2 <key id>
Remove a public key from the specified users authorized key list. The key identifier can be found
by using 'show ssh client'.
show ssh client
Display information about SSH client identities (public/private keys) and the per user list of
authorized keys for the users.

Banner
At various login points, some legal and welcome text can be displayed. This text is controlled by
bindings and can be set by the user from the CLI as follows:
banner login <string>
no banner login
Set the contents of the /etc/issue and /etc/issue.net files.
banner motd <string>
no banner motd
Set the contents of the /etc/motd file.
show banner
Display the contents of the currently configured banners.

CLI Options
There are four groups of commands relating to the CLI itself:

364

cli session ... commands change a setting only for the current CLI session. They do not
affect any other sessions, and can be performed by any user at any time. All of these
commands are INTERACTIVE (not available from the Scheduler).

cli default ... commands change the defaults for the specified setting for all future CLI
sessions of all users. They also change the setting for the current session from which they
were executed, but not for any other currently active sessions. Since they change
configuration, the user must be in Config mode to run them, and hence they can only be run by
admin.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Standard CLI Commands

Other cli ... commands which take one-time actions, rather than change a setting, and
thus do not fall under the session or default umbrellas. For example, cli clear-history.

terminal ... commands are clones of a subset of the cli session ... commands, and
are only present for Cisco compatibility. All of these commands are INTERACTIVE (not
available from the Scheduler).

Note that some settings, such as the terminal length and width, are inherently session-specific, and
there are no corresponding commands to set the defaults in configuration.
cli default auto-logout <length in minutes>
cli session auto-logout <length in minutes>
no cli default auto-logout
no cli session auto-logout
Control the length of user inactivity required before the CLI will automatically log a user out. The no
... variants of this command disable the automatic logout feature.

SNMP Configuration
SNMP MIBs are available at ftp://ftp.violin-memory.com and in the Violin Web interface.
[no] snmp-server enable
Enable or disable the SNMP server. Note that this not only stops serving of SNMP variables, but
also the sending of SNMP traps.
[no] snmp-server enable traps
Enable or disable sending of SNMP traps from this system. Traps may only be enabled if the SNMP
server overall is enabled. The traps sent by the SNMP agent are:

Cold boot (may include SNMP configuration having been changed)


Link up/down
CPU load too high
CPU load no longer too high
Paging activity too high
A process has failed
A process has exited unexpectedly

Note that traps are only sent if there are trap sinks configured with the snmp-server host ...
command, and if these trap sinks are themselves enabled.
[no] snmp-server listen enable
Enable (or disable) the listen interface restricted list for snmpd. If enabled and at least one nonDHCP interface is specified in the list, the snmp connections are only accepted on those specified
interfaces. When disabled, snmp connections are accepted on any interface.
[no] snmp-server listen interface <ifname>

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

365

Appendix A - CLI Reference

Provides a mechanism to add and remove interfaces to the listen list. If the interface is also
running as a DHCP client, it will be as if the interface was not added. If DHCP is later turned off on
this interface, it will be as if the interface was then added to the listen list.
snmp-server community <community name>
no snmp-server community
Set the community name required to be supplied with SNMP requests to the system.
snmp-server contact <contact name>
no snmp-server contact
snmp-server location <system location>
no snmp-server location
Set the syscontact and syslocation variable served from the System MIB in MIB-II.
snmp-server host <hostname> traps [version <1,2c>] <community string>
no snmp-server host <hostname>
Add or remove a host to which SNMP traps should be sent. Note that this setting is only meaningful
if traps are enabled, though the list of hosts may still be edited if traps are disabled.
[no] snmp-server host <hostname> disable
Disable a trap sink without actually removing it altogether from the configuration. All trap sinks are
created enabled.
[no] snmp-server traps event <event name>
Specify which types of events should be sent as SNMP traps. By default the entire list of notifiable
events are sent as SNMP traps to any declared trap sinks. This command enables or disables a
single event for conversion to an SNMP trap.
show snmp
Display all SNMP configuration options.

Web Interface Configuration


[no] web enable
Enable or disable the Web Interface.
[no] web http enable
Enable or disable HTTP access to the Web Interface. This setting is only meaningful if the Web
Interface as a whole is enabled.
web http port <TCP port>
no web http port
Set the port number for HTTP. The default is 80. The no command resets it to the default, but does
not disable HTTP.

366

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Standard CLI Commands

[no] web https enable


Enable or disable HTTPS (HTTP over SSL) access to the Web Interface his setting is only
meaningful if the Web Interface as a whole is enabled.
web https port <TCP port>
no web https port
Set the port number for HTTPS. The default is 443. The no command resets it to the default, but
does not disable HTTPS.
[no] web httpd listen enable
Enable (or disable) the listen interface restricted list for HTTPD. If enabled and at least one nonDHCP interface is specified in the list, the http connections are only accepted on those specified
interfaces. When disabled, http connections are accepted on any interface.
[no] web httpd listen interface <ifname>
Provides a mechanism to add and remove interfaces to the listen list. If the interface is also
running as a DHCP client, it will be as if the interface was not added. If DHCP is later turned off on
this interface, it will be as if the interface was then added to the listen list.
web auto-logout <length in minutes>
no web auto-logout
Control the length of user inactivity required before the Web Interface will automatically log out a
user. no web auto-logout disables the automatic logout feature.
web session renewal <length in minutes>
no web session renewal
Control the length of time before Web session cookies are automatically regenerated.
web session timeout <length in minutes>
no web session timeout
Control the maximum lifetime of a Web session cookie.
show web
Display Web Interface configuration settings.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

367

Appendix A - CLI Reference

368

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Alarm Reference

APPENDIX B

This chapter describes how you may use Memory Array tools to diagnose system
and VIMM-specific alarms. The chapter describes non-service affecting and
service affecting alarms that may occur during operation of the Violin Memory Array
and provides information on resolving those alarms in three sections.

Understanding Memory Array Alarms on page 369


Service-Affecting Alarms on page 372
Non-Service Affecting Alarms on page 377

Understanding Memory Array Alarms


The Memory Array provides you with key tools for identifying and interpreting
raised alarms.

Alarms are indicated by the state of the LEDs on the front of the Violin 6000
Series Memory Array chassis.

Information about an active alarm may then be viewed by running the show
alarms command.

Alarms for Violin 6000 Series Memory Array modules are also shown on the
Array Status screen in the Violin Web Interface. See Showing Status of the
Memory Array Modules on page 149 for more information.

This appendix provides information about how to resolve and clear these alarms
when they occur.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

369

Appendix B - Alarm Reference

Interpreting Alarm LEDs


The current status of the Violin 6000 Series Memory Array system may be indicated when a service
LED enters an alarmed state. Faulty modules can be replaced with no downtime. Six LEDs
identified beloware located on the front of the Violin 6000 Series Memory Array chassis.

AC-A

AC-B

Interface Status
ID LED
Button

System Status

VIMM Status

Figure B.1 Front Status LEDs

The System Status and VIMM Status LEDs alert you of System and VIMM-specific alarms by their
color and state: a solid amber light. When both LEDs are solid amber, an alarm has been registered
for one or more VIMMs. A solid amber System Status LED by itself indicates that an alarm has been
registered for an issue unrelated to a VIMM. See System LEDs on page 15 for information about
the LEDs not shown below.

LED

System Status

VIMM Status

Interface Status

LED State

Description

Green

The following system components are operating normally:


VIMM, internal Memory Gateway, HBA, vRAID Controller
Module, Array Controller Module, Fan, Front Panel Module,
Power Controller Module.

Amber

An alarm has been raised on at least one of the following


system components: VIMM, internal Memory Gateway,
HBA, vRAID Controller Module, Array Controller Module,
Fan, Front Panel Module, Power Controller Module.

Grey

The system is off or starting up.

Green

All VIMMs are functioning correctly.

Amber

An alarm has been raised for at least one VIMM.


A VIMM is not powered or not present.

Green

All interfaces are OK.

Table B.1 Front LED Descriptions

Many alarms occur during bootup and automatically clear as soon as the system stabilizes. For
example, the Data Plane Unavailable alarm frequently occurs during bootup because the data
plane is not enabled until later in the process. Such alarms may be safely ignored.

370

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Understanding Memory Array Alarms

Understanding System Alarm Commands


When hardware malfunctions or another error occurs on the Violin 6000 Series Memory Array
system, you are notified in the following ways: the System and/or VIMM Status LED on the front of
the Memory Array chassis is lit solidly and an alarm is raised by the system.
The names of active system alarms may be viewed by running the show alarms command on the
Memory Array.
show alarms command
The show alarms command displays the current alarms on a Memory Array.
The command may be run by entering show alarms at the root context level.
violin-acmb-acm-b [violin: master] (config) # show alarms
--- show alarm for violin-acmb at Thu May 10 15:25:03 2012
No ACM alarms.
VCM alarms:
vcm-a:
No alarms
vcm-b:
No alarms
vcm-c:
No alarms
vcm-d:
No alarms
No VIMM alarms.
No MG alarms.
No HBA alarms.
No FAN alarms.
violin-acmb-acm-b [violin: master] (config) #
The show alarms command returns the name of every active alarm on the Violin 6000 Series
Memory Array system. Instructions for clearing system alarms are offered in this appendix.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

371

Appendix B - Alarm Reference

Service-Affecting Alarms
Service-affecting alarms are alarms raised by the system when an error occurs that interrupts traffic
and indicates that the data plane is either severely impacted or completely disabled.
This section is organized into eight topics:

Equipment Service-Affecting Alarms on page 372


Flash Service-Affecting Alarms on page 372
Port Service-Affecting Alarms on page 373
Power Service-Affecting Alarms on page 373
RAID Service-Affecting Alarms on page 374
System Service-Affecting Alarms on page 375
Temperature Service-Affecting Alarms on page 376
VIMM Service-Affecting Alarms on page 376

Equipment Service-Affecting Alarms


There is one service affecting equipment alarm:

Booting Suspended, Fans Missing Alarm on page 372

Booting Suspended, Fans Missing Alarm


The Booting Suspended, Fans Missing alarm indicates that booting has been suspended because
an insufficient number of fans were detected. The alarm indicates the number of fans missing.

Flash Service-Affecting Alarms


There are two service affecting flash alarms:

Fatal Flash Error, <Hex-Value> Alarm on page 372


Unformatted System Alarm on page 373

Fatal Flash Error, <Hex-Value> Alarm


The Fatal Flash Error, <Hex-Value> alarm represents an error code associated with the failure. The
error is representative of a fatal error in the flash datapath.
The system must shut down because the non-functional VIMM has made the current VIMM
configuration invalid.
To clear the alarm, reboot the system. Contact Violin Memory Customer Support for assistance.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

372

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Service-Affecting Alarms

Unformatted System Alarm


The Unformatted System alarm indicates that all the VIMMs in the system are unformatted. The
system is unusable until the system VIMMs are formatted.
The system should be formatted if there is no data on the system.

Port Service-Affecting Alarms


There are two service affecting port alarms:

No PCIe Host Detected on Enabled Port Alarm on page 373


Port Negotiated to 0 Lanes Alarm on page 373

No PCIe Host Detected on Enabled Port Alarm


The No PCIe Host Detected on Enabled Port alarm indicates that one of the ACMs is not present
and may be malfunctioning.
Port Negotiated to 0 Lanes Alarm
The Port Negotiated to 0 Lanes alarm indicates that the PCIe interface between the VCM and ACM
negotiated to 0 lanes. The Interface Status LED flashes.
To clear the alarm, reboot the system. Contact Violin Memory Customer Support for assistance or
if the problem persists.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

Power Service-Affecting Alarms


There are two service affecting power alarms:

AC Power Failure, Shutting Down Alarm on page 373


Main Power Failure, System Shut Down Alarm on page 373

AC Power Failure, Shutting Down Alarm


The AC Power Failure, Shutting Down alarm indicates a failure in the power feeds to the power
supplies.
Check the AC supply circuits.
Main Power Failure, System Shut Down Alarm
The Main Power Failure, System Shut Down alarm indicates a failure detected in the main power
supplies.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

373

Appendix B - Alarm Reference

This should only occur in the unlikely event of both power supplies failing. At least one power supply
should be replaced. Contact Violin Memory Customer Support for assistance.

RAID Service-Affecting Alarms


There are five service affecting RAID alarms:

FATAL RAID Error Alarm on page 374


Multiple RAID Errors Alarm on page 374
RAID Group Faulted Alarm on page 374
RAID Consistency Error Alarm on page 374
RAID Group Faulted Alarm on page 374

FATAL RAID Error Alarm


The FATAL RAID Error alarm indicates that a fatal RAID group error has been detected at the
displayed vector. A properly configured RAID group configuration is necessary for the system to be
operational.
To clear the alarm, reboot the system. Contact Violin Memory Customer Support for assistance.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

Multiple RAID Errors Alarm


The Multiple RAID Errors alarm indicates that more than one RAID error has occurred and at what
location.
This is a nonrecoverable error. Contact Violin Memory Customer Support for assistance.
RAID Consistency Error Alarm
The RAID Consistency Error alarm indicates that there is a consistency error with the RAID
grouping and at what location.
This is a nonrecoverable error. Contact Violin Memory Customer Support for assistance.
RAID Group Faulted Alarm
The RAID Group Faulted alarm indicates that two or more VIMMs in the specified RAID group have
failed and no spares are available to rebuild the RAID group.
To clear the alarm, replace the failed VIMMs and insert spares.
RAID V2P Error Alarm
The RAID V2P Error alarm indicates that the RAID group has experienced an error with a VIMM at
the specified ID number.
This is a nonrecoverable error. Contact Violin Memory Customer Support for assistance.
374

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Service-Affecting Alarms

System Service-Affecting Alarms


There are six service affecting system alarms:

Data Plane Unavailable Alarm on page 375


I/O Timeout From Host Alarm on page 375
Scheduler Paused Alarm on page 375
Unable to Poll VIMM Temperatures; System Shutdown Alarm on page 375
System Booting Alarm on page 376
System Shut Down Alarm on page 376

Data Plane Unavailable Alarm


The Data Plane Unavailable alarm indicates that the data plane is unavailable. This alarm occurs
under various conditions, including during a system boot if the system experiences an
unrecoverable PCIe error, and if the host does not receive an I/O response within a specific time
interval.
If the alarm occurs on bootup, this alarm is self-clearing and clears upon successful completion of
the bootup process.
To clear this alarm if it occurs because of an unrecoverable PCIe error, check your PCIe
connections and reboot the system and the host. Contact Violin Memory Customer Support for
assistance.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

I/O Timeout From Host Alarm


The I/O Timeout From Host alarm indicates that an I/O request from the host to the Violin 6000
Series Memory Array timed out before the request was acknowledged. This time out results in a
disabling of the data plane and the System Status LED flashes until the system is restarted.
This is a nonrecoverable error. Contact Violin Memory Customer Support for assistance.
Scheduler Paused Alarm
The Scheduler Paused alarm indicates that the hardware scheduler temporarily paused during
bootup or when a VIMM is being taken out of service.
To clear the alarm, wait for the system to successfully complete the bootup process.
Unable to Poll VIMM Temperatures; System Shutdown Alarm
The Unable to Poll VIMM Temperatures; System Shutdown alarm indicates that the management
channel is not allowing temperatures on the VIMMs to be polled, which should never happen. The
system is shut down to prevent overheating.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

375

Appendix B - Alarm Reference

System Booting Alarm


The System Booting alarm indicates that the system is in the bootup process.
To clear the alarm, wait for the system to successfully complete the bootup process.
System Shut Down Alarm
The alarm indicates the system has been shut down.

Temperature Service-Affecting Alarms


There is one service-affecting temperature alarm.
Controller FPGA Overheated, System Shut Down Alarm
The Controller FPGA Overheated, System Shut Down alarm indicates that the main processor of
the system experienced temperatures over the acceptable maximum temperature and has shut the
system down to prevent damage to the equipment. The alarm specifies the systems current
temperature in Celsius.
To clear the alarm, reboot the system, check the fans for proper operation, and check the ambient
temperature of the system. Contact Violin Memory Customer Support for assistance.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

VIMM Service-Affecting Alarms


The fans operate at high speed and an alarm is raised for a VIMM if the temperature reaches 75C.
The VIMM automatically shuts down (taken out of service) upon a third consecutive reading of 85C.
A system log event is generated when VIMM temperature reaches 75C (indicating overheating).
There are four service affecting VIMM alarms:

Insufficient VIMMs Alarm on page 376


Main Controller Does Not Support VIMMs Alarm on page 377
Multiple VIMMs Failed; System Shut Down Alarm on page 377
VIMM Flash Format In Progress Alarm on page 377

Insufficient VIMMs Alarm


The Insufficient VIMMs alarm indicates that an insufficient number of VIMMs have been detected
to construct a usable system.

376

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Non-Service Affecting Alarms

Main Controller Does Not Support VIMMs Alarm


The Main Controller Does Not Support VIMMs alarm indicates that the software version running on
the vRAID controller with which the VIMM is associated does not support the specified VIMM type:
Flash or DRAM.
Multiple VIMMs Failed; System Shut Down Alarm
The Multiple VIMMs Failed; System Shut Down alarm indicates that multiple VIMMs are not
operational and the system must shut down because the non-functional VIMMs have made the
current VIMM configuration invalid.
To clear the alarm, replace the non-functioning VIMMs. Call Violin Memory Customer Support for
replacement parts.
After replacing the VIMMs in the system, the VIMM configuration should once again be valid.
VIMM Flash Format In Progress Alarm
The VIMM Flash Format In Progress alarm indicates that VIMMs are being formatted. The alarm
continues to be raised while the format is in progress and is cleared automatically when the format
has completed. If any VIMMs fail to format, an alarm is raised on each VIMM.
VIMM Faulted; Do Not Use, Replace VIMM Alarm
This alarm identifies the faulty VIMM and the reason for the fault. See Replacing a VIMM in the
Violin 6000 Series Memory Array Service Guide.

Non-Service Affecting Alarms


Non-service affecting alarms are alarms that call attention to errors that do not affect data traffic on
the system.
This section describes the non-service affecting alarms that may be raised on the system and
provides instructions for resolving those alarms.
This section is organized into seven topics:

Temperature Non-Service Affecting Alarms on page 378


Equipment Non-Service Affecting Alarms on page 378
Flash Non-Service Affecting Alarms on page 379
Port Non-Service Affecting Alarms on page 380
Power Non-Service Affecting Alarms on page 380
RAID Non-Service Affecting Alarms on page 380
VIMM Non-Service Affecting Alarms on page 381

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

377

Appendix B - Alarm Reference

Temperature Non-Service Affecting Alarms


Two non-service affecting temperature alarms may be raised by the system:

Controller FPGA Overheating Alarm on page 378


High Temperature on Board Sensor Alarm on page 378

Controller FPGA Overheating Alarm


The Controller FPGA Overheating alarm indicates that the main processor of the system is
experiencing temperatures over the acceptable maximum temperature. The alarm specifies the
systems current temperature in Celsius.
If the chassis is cooled down to within the acceptable temperature range, the system will not shut
down.
To clear the alarm, confirm that the fans are operating correctly, there are no airflow restrictions, the
lid is in place, and the ambient temperature is within the acceptable range.

Caution: To avoid overheating and the generation of system alarms, the lid must not be off of

the system for more than 5 minutes when the ambient temperature is 35 C (95 F) and above.

See Replacing a Fan in the Violin 6000 Series Memory Array Service Guide.
High Temperature on Board Sensor Alarm
The High Temperature on Board Sensor alarm indicates that the specified board sensor on the
system is unreadable and that the system cannot retrieve system environment information.
To clear the alarm, check fan operation, the fan filter, and the ambient temperature of the system.
See Replacing a Fan in the Violin 6000 Series Memory Array Service Guide.

Equipment Non-Service Affecting Alarms


There are three non-service affecting equipment alarms:

Board Sensor Unreadable Alarm on page 378


Fan Missing Alarm on page 378
Fan Running Too Slowly Alarm on page 379

Board Sensor Unreadable Alarm


The Board Sensor Unreadable alarm indicates that the specified board sensor is unreadable and
that the system cannot retrieve system environment information.
To clear the alarm, check for equipment failure and contact Violin Memory Customer Support.
Fan Missing Alarm
The Fan Missing alarm indicates the specified fan is missing.
378

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Non-Service Affecting Alarms

Fan Running Too Slowly Alarm


The Fan Running Too Slowly alarm indicates that the specified fan is running at a much lower speed
than it should. The alarm specifies the top (1) or bottom (2) fan row and the fan within that fan row:
left, center, or right. To clear the alarm, replace the fan in the system.

Flash Non-Service Affecting Alarms


There are five non-service affecting flash alarms:

Flash CPL IRQs on VIMM Alarm on page 379


Flash Format Failed on VIMM Alarm on page 379
Flash Sequence Number Mismatch Alarm on page 379
Preparing Flash on VIMM Alarm on page 379
VIMM Flash Format In Progress Alarm on page 379

Flash CPL IRQs on VIMM Alarm


The Flash CPL IRQs on VIMM alarm indicates that an error has been detected by the Flash VIMM
Control Plane.
This is a fatal error on the VIMM and it must be taken out of service.
Flash Format Failed on VIMM Alarm
The Flash Format Failed on VIMM alarm indicates that the format operation on the specified VIMM
failed. The VIMM will be taken out of service.
Flash Sequence Number Mismatch Alarm
The Flash Sequence Number Mismatch alarm indicates that the VIMM sequence numbers in a
particular RAID group do not match when data is written to those VIMMs.
To clear the alarm, reboot the system. Contact Violin Memory Customer Support for assistance.

Note: Before performing a reboot, stop any activity that may be affected by the interruption, such

as applications currently accessing the system.

Preparing Flash on VIMM Alarm


The Preparing Flash on VIMM alarm indicates that flash is being prepared on the specified VIMM
for use by the system. This alarm clears once the flash preparations have completed.
VIMM Flash Format In Progress Alarm
The VIMM Flash Format In Progress alarm indicates that the flash VIMMs formatting is in progress.
To begin the flash formatting, the system must be rebooted first.
The VIMM Status LED flashes.
To clear the alarm:
535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

379

Appendix B - Alarm Reference

1. Wait for the system to successfully complete the boot up process.


2. Type show alarms to display the percentage of the flash format progress.

Port Non-Service Affecting Alarms


There is one non-service affecting port alarms:

Port Is Not Running at the Maximum Data Rate Possible Alarm on page 380

Port Is Not Running at the Maximum Data Rate Possible Alarm


The Port Is Not Running at the Maximum Data Rate Possible alarm occurs when the negotiated
rate of the connection on the specified port is lower than the maximum possible data rate.
This error can occur when an internal PCIe link between the VCM and ACM is not connected at
optimal bandwidth, which may indicate a potential problem with either the VCM or ACM.

Power Non-Service Affecting Alarms


There are three non-service affecting power alarms:

Power Supply Missing Alarm on page 380


Power Supply Failure Alarm on page 380
Power Supply: Polling Failure Alarm on page 380

Power Supply Missing Alarm


The Power Supply Missing alarm indicates that a power supply is missing.
Power Supply Failure Alarm
The Power Supply Failure alarm indicates that a power supply has failed.
See Replacing a Power Supply in the Violin 6000 Series Memory Array Service Guide.
Power Supply: Polling Failure Alarm
The Power Supply: Polling Failure alarm indicates a failure to poll the specified power supply.
Contact Violin Memory Customer Support.

RAID Non-Service Affecting Alarms


There are four non-service affecting RAID alarms:

380

Power Supply: Polling Failure Alarm on page 380


RAID Group Unprotected Alarm on page 381
RAID Rebuild in Progress Alarm on page 381

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Non-Service Affecting Alarms

RAID Rebuild of Group Completed with Errors (No Additional Information Available) Alarm on
page 381

RAID Group Unprotected Alarm


The RAID Group Unprotected alarm indicates that one VIMM in the specified RAID group has failed
and that the group is no longer RAID protected, because no spare VIMMs are available to rebuild
the RAID group.
To clear the alarm, replace the failed VIMM and insert a spare VIMM. For step-by-step instructions,
see Replacing a VIMM in the Violin 6000 Series Memory Array Service Guide.
The VIMM Status LED turns off when the system returns to a normal operational state and the alarm
clears.
RAID Rebuild in Progress Alarm
The RAID Rebuild in Progress alarm indicates that a RAID group rebuild is in progress for the
specified RAID and lists the group VIMM ID that is built.
To clear the alarm, wait for the system to complete the RAID group rebuild and return to a normal
operational state.
RAID Rebuild of Group Completed with Errors (No Additional
Information Available) Alarm
The RAID Rebuild of Group Completed with Errors (No Additional Information Available) alarm
indicates that a RAID rebuild of the specified group failed.
Raid Rebuild Of Group Completed with Errors Starting at 4K
Address Alarm
The Raid Rebuild Of Group Completed with Errors Starting at 4K Address alarm indicates that a
RAID rebuild of the specified group failed, as well as the starting address.

VIMM Non-Service Affecting Alarms


There are 19 non-service affecting VIMM alarms:

Excessive ECC Errors on VIMM Alarm on page 382


Failed to Validate Configuration of VIMMs, Raid Group Alarm on page 382
No Spare Memory Modules Alarm on page 382
Programming VIMM Alarm on page 382
Unsupported VIMM Configuration Alarm on page 382
VIMM Booting Alarm on page 383
VIMM Configuration Out Of Spec Alarm on page 383
VIMM Failed Alarms on page 383
VIMM Extremely Hot; VIMM Shutdown Alarm on page 384
VIMM Failed Alarm on page 384
VIMM Failed: Excessive ECC Errors Alarm on page 384

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

381

Appendix B - Alarm Reference

VIMM Hot Alarm on page 384


VIMM Incompatible Formatted Capacity Alarm on page 385
VIMM in Maintenance State Alarm on page 385
VIMM Isolated Alarm on page 385
VIMM Temperature Unreadable, VIMM Shut Down Alarm on page 385
VIMM Unformatted Alarm on page 385
VIMM Threshold Exceeded Alarm on page 385

Excessive ECC Errors on VIMM Alarm


The Excessive ECC Errors on VIMM alarm indicates that the system has detected an excessive
number of ECC errors on the specified VIMM.
To clear the alarm, replace the VIMM. See Replacing a VIMM in the Violin 6000 Series Memory
Array Service Guide.
Failed to Validate Configuration of VIMMs, Raid Group Alarm
The Failed to Validate Configuration of VIMMs, Raid Group alarm indicates that the system failed
to validate the current VIMM configuration. The alarm lists the ID of the invalid VIMMs and the RAID
group in which the error has occurred.
To clear the alarm, remove and replace the failed VIMMs. See Replacing a VIMM in the Violin
6000 Series Memory Array Service Guide.
No Spare Memory Modules Alarm
The No Spare Memory Modules alarm indicates that the system no longer contains any available
VIMMs.
To clear the alarm, add spare VIMMs or replace VIMMs that have failed. See Replacing a VIMM
in the Violin 6000 Series Memory Array Service Guide.
Programming VIMM Alarm
The Programming VIMM alarm indicates that the specified VIMM is currently being programmed by
the system software.
To clear the alarm, wait for the system to complete programming of the VIMM.
Unsupported VIMM Configuration Alarm
The Unsupported VIMM Configuration alarm indicates that the current VIMM configuration
consisting of a specified number of RAID group(s) is invalid and unsupported.
To clear the alarm, replace the missing VIMM or failed VIMMs. See Replacing a VIMM in the Violin
6000 Series Memory Array Service Guide.
For partially-populated systems, install the VIMMs in specific slots. If not inserted in the designated
slots, the system may have difficulty using all of the VIMMs efficiently. See VIMM Slot Locations on
page 23 for guidance.

382

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Non-Service Affecting Alarms

VIMM Booting Alarm


The VIMM Booting alarm indicates that the VIMM is in the process of booting and lists the
percentage completed in the boot up process. The alarm clears when the VIMM has completely
booted up.
VIMM Configuration Out Of Spec Alarm
The VIMM Configuration Out of Spec alarm indicates that the current VIMM configuration is invalid.
The show vimms summary command and the alarm message lists the number of system VIMMs
that are missing, failed, in maintenance, or in an admin down state.
To clear the alarm, list the failed VIMMs using the show vimm detail command, and then shut
down the system to replace the missing VIMMs.
VIMM Failed Alarms
A VIMM Failed alarm indicates that the VIMM failed for one of the following reasons, and that it
has been taken out of service.
Failed to communicate over
management interface

The alarm indicates a failure to communicate with the VIMM


over the management interface.

High temperature threshold


exceeded

The alarm indicates that the VIMM was shut down because it
became too hot.

Failed to read temperature

The alarm indicates that there was a failure to read the


temperature sensor on the VIMM.

Isolated

The alarm indicates that the system has been isolated.

Dead

The alarm indicates that the VIMM is identified as dead.

Excessive ECC errors

The alarm indicates that the amount of ECC errors has been
exceeded.

Incompatible memory
configuration

The alarm indicates that the memory was not properly


configured.

Formatted capacity is
incompatible with system

The alarm indicates that the format of memory is not


compatible.

Formatted capacity is zero

The alarm indicates the memory has not been formatted.

Failed to set VIMM ID

The alarm indicates that the ID of the identified VIMM could not
be set.

Failed to set context

The alarm indicates that the context was not set.

Fatal Flash CPL IRQ received

The alarm indicates a fatal error on the VIMM, requiring VIMM


replacement.

Bad block threshold exceeded

The alarm indicates that the number of bad blocks on the VIMM
has exceeded the safe operational threshold.

Boot failure (NIOS_ASSERT


raised on software scan)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (NIOS_ASSERT


raised on software ready)

The alarm indicates a boot-time failure of the VIMM.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

383

Appendix B - Alarm Reference

Boot failure (software failed to


become ready)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (software failed to


complete scanning)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (activating


software failed)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (cpu memory is not


initialized)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (holding cpu in


reset failed)

The alarm indicates a boot-time failure of the VIMM.

Boot failure (releasing cpu


from reset failed)

The alarm indicates a boot-time failure of the VIMM.

Previous fatal error detected

The alarm indicates that the VIMM had been fatally-errored on


a previous boot cycle and must be replaced.

Incompatible flash data type

The alarm indicates that the type of flash (MLC, SLC) is not
compatible with the other VIMMs in the system.

Cannot determine flash data


type

The alarm indicates that a VIMM is of an unknown flash


configuration.

VIMM Extremely Hot; VIMM Shutdown Alarm


The VIMM Extremely Hot; VIMM Shutdown alarm indicates that the temperature of the specified
VIMM is out of the acceptable temperature range and the VIMM automatically shuts down. The
alarm specifies the last read temperature of the VIMM in Celsius.
To clear the alarm:
1. Check for any airflow restrictions in the front panel.
2. If there are no airflow issues and the environment is within specifications, replace the VIMM.

See Replacing a VIMM in the Violin 6000 Series Memory Array Service Guide.
VIMM Failed Alarm
The VIMM Failed alarm indicates that the specified VIMM has failed and is inoperable.
To clear the alarm, replace the VIMM. See Replacing a VIMM in the Violin 6000 Series Memory
Array Service Guide.
VIMM Failed: Excessive ECC Errors Alarm
The VIMM Failed: Excessive ECC Errors alarm indicates that a specific VIMM is taken out of service
because it experienced excessive ECC errors.
VIMM Hot Alarm
The VIMM Hot alarm indicates that the specified VIMM is reaching its maximum temperature within
the acceptable temperature range. The alarm specifies the VIMM ID and the current temperature
in Celsius. The VIMM shuts down if the temperature reaches the maximum acceptable temperature.
To clear the alarm:
384

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Non-Service Affecting Alarms

1. Check for any airflow restrictions in the front panel.


2. If there are no airflow issues and the environment is within specifications, replace the VIMM.

See Replacing a VIMM in the Violin 6000 Series Memory Array Service Guide.
VIMM Incompatible Formatted Capacity Alarm
The VIMM Incompatible Formatted Capacity alarm indicates that the specified VIMM has a
formatted capacity that is different from the rest of the system, and is thus not being used.
VIMM in Maintenance State Alarm
The VIMM in Maintenance State alarm indicates that the specified VIMM is in maintenance state.
To clear the alarm, Contact Violin Memory Customer Support for assistance.
VIMM Isolated Alarm
The VIMM Isolated alarm indicates that the specified VIMM is isolated and not reachable by any
other VIMM within the tree. This is caused by the failure of other VIMMs, preventing a path from the
main controller to the VIMM.
To clear the alarm, replace the failed VIMM(s). See Replacing a VIMM in the Violin 6000 Series
Memory Array Service Guide.
VIMM Temperature Unreadable, VIMM Shut Down Alarm
The VIMM Temperature Unreadable, VIMM Shut Down alarm indicates that the temperature for the
specified VIMM cannot be read and the VIMM has been shut down.
To clear the alarm, replace the VIMM. See Replacing a VIMM in the Violin 6000 Series Memory
Array Service Guide.
VIMM Unformatted Alarm
The VIMM Unformatted alarm indicates that the specified VIMM is unformatted, and is thus not
being used.
VIMM Threshold Exceeded Alarm
The VIMM Threshold Exceeded alarm indicates that a VIMM has been taken out of service due to
an exceeded monitored threshold.
VIMM Incompatible Formatted Capacity Alarm
The VIMM Incompatible Formatted Capacity alarm indicates that a VIMM has been formatted to a
capacity that is incompatible with the system. The VIMM ID is displayed in the alarm.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

385

Appendix B - Alarm Reference

vRAID Controller Module (VCM) Alarms


The following are possible VCM alarms that may appear. In all cases, the solution is provided along
with the alarm.
A VCM is alarmed if the temperature reaches 75C and automatically completes a shut down/
failover upon a second consecutive reading of 82C (at 30 second intervals).
Heartbeat Timeout; VCM Failed; Replace VCM Alarm
See the Violin 6000 Series Memory Array Service Guide for instructions on replacing the VCM.
VCM Not Responding; VCM Communications Failed; Reboot
VCM Alarm
See Powering Off and On Memory Array Modules on page 240.
VCM Faulted; Do Not Use, Replace VCM Alarm
See the Violin 6000 Series Memory Array Service Guide for instructions on replacing the VCM.
VCM Not Visible to One or More Hosts; Reboot Host Alarm
See Powering Off and On Memory Array Modules on page 240.
Manufacturing Data Not Valid; Replace VCM Alarm
See the Violin 6000 Series Memory Array Service Guide for instructions on replacing the VCM.
Manufacturing Data Not Available; Replace VCM Alarm
See the Violin 6000 Series Memory Array Service Guide for instructions on replacing the VCM.
VCM Faulted; Previous Heartbeat Failure Detected; Do Not
Use, Replace VCM Alarm
See the Violin 6000 Series Memory Array Service Guide for instructions on replacing the VCM.
RAID rebuild due to rebalance in progress
This alarm indicates that a RAID group is unbalanced. RAID groups may become inefficient over
time if VIMMs are replaced and if other administrator-initiated changes are made. If two or more
VIMMs in a RAID group share the same root port, the RAID group is considered unbalanced and
performs less than optimally.
See Rebalancing RAID Groups on page 242 for more information.

386

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Drivers

APPENDIX C

This chapter describes the configuration of a direct-attached Violin 6000 Series


Memory Array system using a Linux host. Installation of the Violin Drivers is only
necessary if you connect the Violin 6000 Series Memory Array directly to a host
machine.

Note: See the Violin Array Controller Driver for Windows Installation Guide for
instructions on installing and using the driver for Windows. The guide is available
from the Violin Memory Customer Support site.

Topics covered include system prerequisites, the installation of the Violin drivers,
the installation of the Violin utilities, and the creation of block device partitions.

Violin Linux Drivers Overview on page 387


Installing Violin Linux Driver Prerequisites on page 388
Installing Violin Linux Drivers on page 389
Loading and Unloading Linux Drivers on page 394
Installing Violin Utilities on page 396
Configuring Partitions and Storage Devices on page 397

Violin Linux Drivers Overview


In a direct-attached configuration, the Violin Linux driver enables the host machine
to access block storage on a Violin Memory Array.
The Violin Linux driver (vtms-linux-driver) must be installed on the host
machine if the Memory Array is to be directly attached to a Linux host.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

387

Appendix C - Violin Drivers

Understanding Violin Linux Driver Types


Violin Linux drivers may be implemented as one of three different device types: character devices,
block devices or SCSI devices. The Memory Array system supports only one device type at a time.
The Violin Linux driver accesses the system as the following device type:
Block

The default and preferred driver mode. Allows for file system creation,
mounting, and optional host buffer cache usage.

In general, a Violin Linux driver provides block device access to the Memory Array enabling the host
to create and mount block storage.
This chapter describes the steps required to install and configure Violin Linux drivers as block
devices only. If you plan to use the Violin Linux driver to enable character or SCSI connections,
contact Violin Memory Customer Support.

Installation and Configuration Overview


The Violin Linux driver enables a direct-attached connection between a Violin Memory Array and a
Linux host machine.
During Phase 3 of a Memory Array deployment, you may choose to configure the system for block
storage or direct-attached storage. If you choose direct-attached configuration, you must install the
appropriate device driver (Linuxor Windows) and the Violin utilities on the host machine.
In general, the configuration of a direct-attached Memory Array system using a Linux host is a fivestep process.

Step 1: Installing Violin Linux Driver Prerequisites: Ensure that all of the required
packages are installed on the Linux host before you install and build the Violin Linux driver.

Step 2: Installing Violin Linux Drivers: Install the Violin Linux driver on the host, build the
driver, and configure the host to load the Violin Linux driver manually or as a module.

Step 3: Loading the Violin Linux drivers: Depending upon where the Linux drivers were
installed, they may be loaded manually or automatically as modules when the host boots up.

Step 4: Installing Violin Utilities: Violin utility commands enable you to monitor and fine tune
the performance of the Memory Array.

Step 5: Configuring Partitions and File Systems: If the Violin Linux driver is used as a block
device, you may create partitions and file systems.

Installing Violin Linux Driver Prerequisites


The first step towards configuring a direct-attached Violin Memory Array system with a Linux host
is to ensure that all of the required packages are installed on the Linux host.
Three packages must be installed on the Linux host before you can install the Violin Linux driver:
the Kernel Development Package, the GCC Compiler, and the Libaio Development Package.
The actual name of each package may vary depending on the Linux distribution.

388

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Installing Violin Linux Drivers

Kernel Development Package


The Kernel Development Package provides the kernel headers and sources for building any Linux
kernel module. The package(s) are typically named kernel-devel or kernel-sources /
kernel-headers.
If a kernel was custom built from http://kernel.org/ sources, the kernel build tree must be
available for the Violin Linux driver to reference.

GCC Compiler
The GCC Compiler compiles the Linux kernel and modules. The GCC Compiler version should
match the version that was used to build the running kernel.

Libaio Development Package


The Libaio Development Package is an asynchronous I/O development package for applications
that use libaio.so.
The perf_test benchmark utility (included among the Violin utilities) uses the asynchronous I/O
features to provide high performance asynchronous I/O benchmarking. See Performance Tuning
and Testing on page 423 for more information on the perf_test utility and asynchronous I/O testing.
Install both the libaio and libaio-devel packages before installing the Violin Utilities. The
following example installs the required packages on a CentOS 5.5 x86_64 system. At the root
prompt, type:
# yum install gcc kernel-devel-`uname -r`.x86_64 libaio-devel

Installing Violin Linux Drivers


The second step towards configuring a direct-attached Violin Memory Array system with a Linux
host is to install the Violin Linux driver.
The Violin Linux driver enables a direct-attached PCIe connection between the Violin Memory Array
and the Linux host machine.
In the course of installing the Violin Linux driver, you must decide whether the Violin Linux driver is
to be loaded manually or loaded automatically as a module when the host boots up.
This section describes the installation and removal of the Violin Linux drivers:

Installing Violin Linux Drivers on page 390


Uninstalling Violin Linux Drivers on page 393

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

389

Appendix C - Violin Drivers

Installing Violin Linux Drivers


Before installing the Violin Linux driver, ensure that the host computer has the kernel-devel RPM
installed and GCC installed for the running kernel, which will allow the driver source to compile.
These packages may not be installed by default on the Linux host.
The information shown in the following examples may vary from your installation depending on the
host computer kernel and distribution.
The Violin Linux driver may be installed on either a Linux kernel that is running or not running. Both
procedures are documented in this section.

Installing Violin Linux Drivers on Running Linux Kernels on page 390

Installing Violin Linux Drivers on Running Linux Kernels


To load the Violin Linux driver onto the host computer:
1. Power up the Memory Array and verify the PCIe connectivity between the Memory Array and

the host computer before you install and load the Violin Linux driver onto the host.
Because the PCIe Hot Plug is not supported by most current BIOS versions, you must power
up the Memory Array before powering up the host computer.
2. Log into the host computer as root.
3. Download the Violin Linux install file (vtms-linux-driver<release>.run) from the Violin

Memory Customer Support ftp site.


Where <release> indicates the release number; for example, D6.0.0.3
4. Save the Violin Linux install file to a suitable location on the host.
5. Open a terminal shell window and navigate to the location of the Violin Linux install script.
6. To run the Violin Linux install script, type:

./vtms-linux-driver-<release>.run

390

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Installing Violin Linux Drivers

The script begins installing the driver, as shown in the following example:
# ./vtms-linux-driver-D6.0.0.3.run
Copying to a temporary location...
Creating directory vtms-linux-driver-D6.0.0.3
Verifying archive integrity... All good.
Uncompressing Violin Memory, Inc. Linux Driver
source..............................
Current settings detected:
------------------------------------------------Kernel
= 2.6.32-100.28.5.el6.x86_64
Kernel Dir = /lib/modules/2.6.32-100.28.5.el6.x86_64/build
Kernel GCC = 4.4.4
GCC ver
= 4.4.4
Arch
= x86_64
View the driver README.txt? [n]:
Skipping /tmp/vtms-linux-driver-D6.0.0.3/README.txt
7. Type y if you want to view the README.txt.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

391

Appendix C - Violin Drivers

8. When prompted to build the Violin Linux driver type y:


Build the driver now? [y]:
Detected kernel build dirs:
------------------------------------------------/lib/modules/2.6.32-100.28.5.el6.x86_64/build
/lib/modules/2.6.32-71.el6.x86_64/build
/lib/modules/2.6.35.14/build
/lib/modules/2.6.35.7/build
/lib/modules/3.0.0/build
Build dir [/lib/modules/2.6.32-100.28.5.el6.x86_64/build]:
Building driver for 2.6.32-100.28.5.el6.x86_64
make[1]: Entering directory `/tmp/vtms-linux-driver-D6.0.0.3'
make[1]: Leaving directory `/tmp/vtms-linux-driver-D6.0.0.3'
make[1]: Entering directory `/usr/src/kernels/2.6.32-100.28.5.el6.x86_64'
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_strad.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_hvm.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_strad_cmn.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_smart.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_strad_bdev.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_strad_cdev.o
CC [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms_strad_scsi.o
LD [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms.o
Building modules, stage 2.
MODPOST 1 modules
CC
/tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms.mod.o
LD [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms.ko.unsigned
NO SIGN [M] /tmp/vtms-linux-driver-D6.0.0.3/2.6.32-100.28.5.el6.x86_64/
x86_64/vtms.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-100.28.5.el6.x86_64'
Build complete.
9. At the prompt, you are asked if you want to install the Violin Linux driver in the /lib/modules

directory.

If you select yes, the Violin Linux driver module is added to the kernel modules.

If you select no, the Violin Linux driver is not installed to the /lib/modules directory.

A message appears stating that the Violin Linux driver installation is complete.
10.Once the installation is complete you may load the Violin Linux driver for use.

392

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Installing Violin Linux Drivers

If you installed the Violin Linux driver in the /lib/modules directory, see Loading Violin
Linux Drivers as Modules on page 395 for detailed instructions.

If you did not install the Violin Linux driver in the /lib/modules directory, see Loading
Violin Linux Drivers Manually on page 394.

Preventing Violin Linux Drivers from Loading on Boot Up


To prevent the kernel from loading the Violin Linux driver at bootup, add the Violin Linux driver to
the /etc/modprobe.d/blacklist file. Type modprobe vtms once the system is booted to
load the driver.
Ensuring that the Violin Linux Driver Loads on Boot Up
Depending on your Linux distribution, you may need to modify the /etc/modprobe.conf file to
include an alias for the Memory Array if you want the Violin Linux driver to automatically load on
bootup.
To add an alias for the Violin Linux driver, edit the file such as the following:
alias scsi_hostadapterN vtms
Where N specifies the next available integer or blank if it is the first alias entry for a SCSI host
adapter.

Uninstalling Violin Linux Drivers


1. Log into the Linux host as root.
2. Open a terminal window and at the system prompt, type:

cd /tmp/vtms-linux-driver-<release>
make uninstall
The Violin Linux driver is removed from the /lib/modules directory, but can still be loaded and
unloaded using the steps described in Loading and Unloading Linux Drivers on page 394.
Load the Violin Linux driver again if you want to use the Memory Array. See Installing Violin Linux
Drivers on page 390 for details on installing the Violin Linux driver.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

393

Appendix C - Violin Drivers

Loading and Unloading Linux Drivers


The third step towards configuring a direct-attached Violin Memory Array system with a Linux host
is to load the Violin Linux driver.
Violin Linux drivers may be configured to be loaded automatically as modules by the Linux host or
to require manually loading.
This section describes the loading and unloading of Violin Linux drivers in three topics:

Loading Violin Linux Drivers Manually on page 394


Loading Violin Linux Drivers as Modules on page 395
Unloading the Violin Linux Driver on page 395

Loading Violin Linux Drivers Manually


If you did not install the driver in the /lib/modules directory, you must reload the driver manually
after each system reboot.
To load the Violin Linux driver manually:
1. Power up the Memory Array and verify the PCIe connectivity between the Memory Array and

the host computer before installing and loading the Violin Linux driver onto the host computer.
2. Log into the host computer as root.
3. At the system prompt, navigate to the following directory:

cd /tmp/vtms-linux-driver-<release>/<kernel_version>/
<architecture_type>
Where:
<release>

Indicates the release number, such as D6.0.0.3

<kernel_version>

Indicates the kernel version, such as 2.6.9-42.ELsmp.

<architecture_type>

Indicates the architecture type of the host computer, such as


x86_64.

4. Load the Violin Linux driver; at the system prompt, type:

./load_strad.sh
5. At any point, if you decide to install the Violin Linux driver in /lib/modules at the system

prompt, type:
cd /tmp/vtms-linux-driver-<release>
make install
depmod

394

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Loading and Unloading Linux Drivers

Where:
Indicates the release number, such as 4.5.4.1.

<release>

Loading Violin Linux Drivers as Modules


To load the Violin Linux drivers as modules:
1. Power up the Memory Array and verify the PCIe connectivity between the Memory Array and

the host computer before installing and loading the Violin Linux driver onto the host computer.
2. Log into the Linux host as root.
3. Open a terminal window.
4.

(Optional) To update the dependency mappings of newly installed modules, at the system
prompt, type:
depmod
You may need to run depmod for modprobe to detect the new module.

5. To load the Violin Linux driver, at the system prompt, type:

modprobe vtms [<device_type>]


Where <device_type> indicates device type of the loaded driver. Valid values are:
none

Load as a block device

[use_cdev=1]

Load as a character device

[use_scsi=1]

Load as a SCSI device

After loading the Violin Linux driver, create partitions and file systems on the Memory Array or
directly access the character device.

Unloading the Violin Linux Driver


1. Log into the host computer as root.
2. Open a terminal window.
3. To unload the Violin Linux driver, at the system prompt, type:

rmmod vtms

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

395

Appendix C - Violin Drivers

Installing Violin Utilities


The fourth step towards configuring a direct-attached Violin Memory Array system with a Linux host
is to install the Violin utilities.
Violin utilities are tools designed to monitor the performance of a direct-attached Memory Array
system. Using Violin utilities, you may retrieve detailed information about the Memory Array and
data transfer counts that enable you to configure the system for optimal performance.
Use the Violin utility commands in the /usr/local/bin directory to display information on the
Memory Array.

Utility

Description

perf_test

Violin multi-threaded AIO-capable disk benchmark utility. See


Performance Testing Using Perf_Test on page 428 for detailed instructions
on using this utility.

vcounts

Displays Memory Array I/O counters.

veeprom

Displays information, such as the main board serial number and the
management MAC address.

vinfo

Displays driver version and registry tunable parameters.

vpartial

Displays Memory Array partial Flash page counters.

vstat

Displays Memory Array status information.

vzero

Resets Memory Array I/O counters to zero.

Table C.1 Memory Array Commands for Viewing Violin Linux Driver Information

For the complete syntax and usage details of each command, see Violin Utilities on page 403.
On each command, specify the optional device index ( [ <device_index> ] ) to list the
information for a particular Memory Array. If you do not specify an individual device, the command
lists the information for all the Memory Arrays found.

Installing Violin Utilities on Linux Hosts


To install the utilities onto the host computer:
1. Log into the host computer as root.
2. Download the Violin Utilities Package tgz file (vtms-linux-utils-<release>.tgz) from

the Violin Memory Customer Support ftp site.


Where <release> indicates the release number, such as D6.0.0.3
3. Extract the contents of the compressed file to a suitable location on the host.
4. Open a terminal shell window and navigate to the location of the Violin Utilities install script

(vtms-linux-<release>.tar).

396

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Partitions and Storage Devices

5. To run the Violin utilities install script, type:

./vtms-linux-utils-<release>.run
Where <release> indicates the release number, such as D6.0.0.3

Configuring Partitions and Storage Devices


In a direct-attached Violin Memory Array system with a Linux host, block device partitions must be
configured.
Create block device partitions on the Memory Array for creating multiple file system partitions. Use
the /dev/vtmsa device for creating file systems only if a single large partition is required.
When creating partitions for 4kB partition alignment, the fdisk utility has a -S option that lets you
override the default geometry of 63 sectors per track. Use fdisk with the -S56 option for 4kB
alignment on created partitions. For more information, see Memory Array Flash 4kB Alignment on
page 425.

Creating Block Device Partitions


To create a block device partition on the Memory Array:
1. Log into the host computer as root.

The following command is only needed when splitting the block device into multiple partitions.
2. First, open the device for adding partitions by typing the following at the command prompt:

fdisk S56 /dev/vtmsa


Where /dev/vtmsa specifies the device to open.
The information shown below is returned and you will be in the block device setup menu.
# fdisk S56 /dev/vtmsa
The number of cylinders for this disk is set to 16709. There is
nothing wrong with that, but this is larger than 1024, and could in
certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
3. At the Command prompt, type n to create a new partition:

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

397

Appendix C - Violin Drivers

Where n specifies to create a new partition.


The command displays information similar to the following:
Command (m for help): n
Command action
e
extended
p
primary partition (1-4)

4. Next, at the Command prompt, create the new partition by typing:

p
Where p creates a primary partition.
The command displays information similar to the following:
Command action
e
extended
p
primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-16709, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-16709, default 16709): 8000

Specify the partition number if you will be creating more than one partition on the device,
or accept the default value of 1 by pressing the Enter key. The default value to set the
beginning cylinder to is 1, which can be changed if needed.

Specify the size of the block device or accept the default value of the available memory by
pressing the Enter key.

5. Next, at the Command prompt, write the new partition by typing:

w
Where w writes the partition table to disk and exit.
The command displays information similar to the following:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#

The system command prompt is returned. Finish by creating the file system that uses the new
block device partition, creating the new mount path, and mounting the new block device file
system.
398

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Partitions and Storage Devices

6. Create a file system on the block device by typing:

mkfs -t ext3 /dev/vtmsa<n>


Where:
-t ext3

Specifies the type of file system to be built.

/dev/vtmsa<n>

Specifies the name of the new file system,


where <n> is the assigned device number.

The command displays information similar to the following:


# mkfs -t ext3 /dev/vtmsa1
mke2fs 1.39 (date)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
176160768 inodes, 352321536 blocks
17616076 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
10752 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
7. Create the new mount path for mounting the block device by typing:

mkdir /mnt/strad
Where /mnt/strad specifies the name of the new mount path.
8. At the command prompt, mount the new file system by typing:

mount t ext3 /dev/vtmsa<n> /mnt/strad

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

399

Appendix C - Violin Drivers

Where:
-t ext3

Specifies the type of file system to mount.

/dev/vtmsa<n>

Specifies the name of the new file system, where <n> is the assigned
device number.

/mnt/strad

Specifies the name of the new mount path.

9. To unmount the file system, at the command prompt, type:

umount /mnt/strad

Enabling Host to Automatically Mount Partitions


By editing the /etc/fstab file, you can enable the host computer to automatically mount Memory
Array partitions on bootup.
1. Log into the host computer as root and change directories into /etc.
2. Edit the /etc/fstab file with the desired text editing tool.
3. Add the following row to the file, changing the values to appropriate ones for your system:
/dev/<partition> /mnt/<mount_pth> <fs_type> <mount_opt> <dump_opt>
<fsck_opt>

Where:
/dev/
<partition>
/mnt/
<mount_pth>
<fs_type>
<mount_opt>

400

Specifies the partition name.


Specifies the default mount path.
Specifies the file system type of the device.
Specifies the mount options, which are separated by commas, for the file
system.
The available options are:
auto | noautoSpecifies whether to automatically mount the device or
not. With noauto, the device can only be mounted explicitly.
user | nouser Specifies whether a typical user versus the root user
can mount the device.
exec | noexec Specifies that the binaries contained on the partition
can or cannot be executed. Not recommended for a root partition.
roMounts the device read-only.
rwMounts the device read-write.
sync | async Specifies how input and output is performed by the
device. For example, a command is executed at the same time it has been
issued.
defaults Specifies to use the default options, which are: rw, suid,
dev, exec, auto, nouser, async.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring Partitions and Storage Devices

<dump_opt>

<fsck_opt>

Specifies whether the device is backed up by the dump utility or not. If 0 is


specified, the device will not be backed up. 1 specifies that the device will
be backed up.
Specifies what order the devices are checked.
If 0 is specified, the device wont be checked by fsck.

Enabling Logical Volume Manager (LVM) to


Recognize Direct-Attached Storage
By default, Logical Volume Manager (LVM) does not correctly recognize the Violin 6000 Series
Memory Array in a direct-attached configuration. Block devices named /dev/vtms(a-z) are
created when installing the Violin Linux driver. LVM only scans for certain device names when
looking for devices to manage, and by default, vtms(a-z) is not scanned.
This issue can be resolved by installing a patch included with the Linux driver installation. The patch
modifies the /etc/lvm/lvm.conf file so that it recognizes the Violin 6000 Series Memory Array
block device files.
1. Log into the host computer as root.
2. Within the Linux driver tar (.tgz) file, expand the file vtms-linux-app-patch-

<release>.tgz, where <release> indicates the release number; for example, D6.0.0.3.
The expanded file contains the following two directories:

lvm
openfiler

3. Open the lvm directory.


4. Run the installation script titled vtms-lvm-patch.sh on the Linux system by typing the

following:
sudo ./vtms-lvm.patch.sh

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

401

Appendix C - Violin Drivers

402

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

APPENDIX D

Violin Utilities

This chapter describes Violin utilities for configuring and performance testing the
Violin 6000 Series Memory Array system. These commands are common to the
Violin Linux driver and to the Violin Memory Gateway.

Understanding Violin Utilities on page 403


Violin Utilities Reference on page 405

Understanding Violin Utilities


Violin utilities are tools designed to monitor the performance of Memory Array
systems in a direct-attached configuration.
Using Violin utilities, you may retrieve detailed information about the Memory Array
and data transfer counts that enable you to configure the system for optimal
performance.

Installing Violin Utilities


The Violin utilities may be installed on the Linux host when the Violin drivers are
installed for a direct-attached Memory Array deployment. See Violin Drivers on
page 387 for more information.

Running Violin Utilities


As with any command that modifies the configuration of the Memory Array system,
Violin utility commands must be issued as the root user on a Linux computer or
as an Administrator on a Windows computer.
On each Violin utility command, specify the optional device index
([<device_index>]) to list the information for a particular Memory Array. If you

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

403

Appendix D - Violin Utilities

do not specify an individual device, the command lists the information for all Memory Arrays found.
Running Violin Utilities on a Linux Host
Violin utilities are run on the Linux host from the command line.
Running Violin Utilities on a Windows Host
A shortcut icon is created on the Windows desktop to the Violin Utilities command shell when you
install the Violin Utilities on the Windows host.
If you are not logged on as Administrator, right-click the icon and then select Run As
Administrator to open the shell with the proper permissions.
Running Violin Utilities from the Memory Array
Violin utilities must be run from the Master Memory Gateway. The following is an example of the
steps required to log in to the internal Master Memory Gateway on a Violin 6000 Series Memory
Array.
1. Start a terminal application and log in to the Master ACM as admin. The Master ACM is set

up during initial configuration of the Violin 6000 Series Memory Array. Enter the system host
name or the ACM management IP address to ensure a direct connection.
2. Once logged in to the Master ACM, type enable at the command prompt:

violin-acma [violin: master] > enable


3. Log in to the Master Memory Gateway by typing the following command:

violin-acma [violin: master] # slogin mg-master


4. At the command prompt, type enable:

violin-mga [violin: master] > enable


You can now run the Violin utilities.

404

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Violin Utilities Reference


This section documents the syntax and usage of the following Violin utilities.

varray on page 405


vcounts on page 406
veeprom on page 409
vincident -a on page 410
vinfo on page 410
vinventory on page 412
vmesg on page 413
vpartial on page 413
vring on page 415
vspeedtest on page 415
vstat on page 416
vvimms on page 419
vzero on page 419

varray
The varray command displays array information, including number of VIMMs, temperature, fan
speed and LED states.
Syntax
varray

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

405

Appendix D - Violin Utilities

Example
The varray utility returns information similar to the following when run on a Linux host:
violin-mga [violin: master] (config) # varray
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013

-- Memory Array Virtual Device-Device:


/dev/vtmsa
Index:
0
-- Memory Array -Chassis Type:
Number of VIMMs:
Ambient Temperature:
Controller Temperature:
Power A:
Power B:
Uptime:
Lid Ajar Time:
Fan 0:
Fan 1:
Fan 2:
Fan 3:
Fan 4:
Fan 5:
Alarm
LED:
Status LED:
Power A LED:
Power B LED:

V6000
64
20C
42C
ON
ON
242745 secs
0 secs
Slow
Slow
Slow
Slow
Slow
Slow
OFF
ON
ON
ON

vcounts
The vcounts utility displays data transfer counters for the Memory Array.
Syntax
vcounts [ <device_index> ]

406

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Example
The vcounts utility returns information similar to the following when run on a Linux host:
# vcounts
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Index:

/dev/vtmsa
0

-- Target Counts
IO
> 128K
64K < IO <=128K
32K < IO <=64K
16K < IO <=32K
8K
< IO <=16K
4K
< IO <=8K
IO
=
4K
IO
<
4K

-:
:
:
:
:
:
:
:

IO requests
:
IO requests completed
active io sent to VCMs
IO requests failed
IO zero-size requests

0
0
49
2
52
282
315193111
2076

:
:
:
:

-- Counts from all VCMs -IRQ calls:


IRQ calls for Violin:
IRQ calls for errors:
Completed I/O bytes:
Completed read bytes:
Completed write bytes:
Completed I/O's:
Completed read I/O's:
Completed write I/O's:
Failed read I/O's:
Failed write I/O's:
Average read bytes:
Average write bytes:
Unaligned host buf reads:
Unaligned host bounce reads:
Unaligned host buf writes:
Unaligned host bounce writes:
Requested DMA reads:
Requested DMA writes:
Flash partial page reads:
Flash partial page writes:

535-0008-00 Rev 10

315212448
315195572
0
0
16876

205897852
201347061
0
1291037701120
645633350656
645404350464
315195935
157626576
157569359
0
0
4095
4096
1971
3
3
0
157627156
157569436
2112
17

Violin 6000 Series Memory Array Users Guide

407

Appendix D - Violin Utilities

Returns
The utility returns the following counters:

408

IRQ calls

The total interrupt request handler calls to the Memory Array


device driver.

IRQ calls for V6000

The total calls to the Memory Array device driver where work
was done.

IRQ calls for errors

The total of DMA errors returned as well as PCIe link loss


errors.

Completed I/O bytes

The total bytes read/written from/to a Memory Array.

Completed read bytes

The total bytes read from the Memory Array.

Completed write bytes

The total bytes written to a Memory Array.

Completed I/O's

The total I/O read/write requests from and to Memory Array.


This is not the individual DMA descriptors completed, but for
each of the user requested I/Os.

Completed read I/O's

The total I/O read requests from a Memory Array. This is not the
individual DMA descriptors completed, but for each of the user
requested I/Os.

Completed write I/O's

The total I/O write requests to a Memory Array. This is not the
individual DMA descriptors completed, but for each of the user
requested I/Os.

Failed read I/O's

The total failed I/O read requests from a Memory Array. This is
not the individual DMA descriptors failed, but for each of the
user requested I/Os.

Failed write I/O's

The total failed I/O write requests to a Memory Array. This is not
the individual DMA descriptors failed, but for each of the user
requested I/Os.

Average read bytes

The rough average of read I/O request sizes.

Average write bytes

The rough average of write I/O request sizes.

Unaligned host buf


reads

The total I/O read requests from a Memory Array, but only
incremented when an unaligned host address required special
buffer byte copying to service the DMA request.

Unaligned host buf


writes

The total I/O write requests to a Memory Array, but only


incremented when an unaligned host address required special
buffer byte copying to service the DMA request.

Requested DMA reads

Incremented for each read DMA descriptor added to the


descriptor ring.
A single I/O may result in multiple DMA descriptors to complete
a single I/O request.

Requested DMA writes

Incremented for each write DMA descriptor added to the


descriptor ring. Note that a single I/O may result in multiple
DMA descriptors to complete a single I/O request.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Flash partial page


reads

Incremented when a DMA descriptor for read is less than a


flash page (4kB) in size. On a DRAM-based system, this will
always be 0.

Flash partial page


writes

Incremented when a DMA descriptor for write is less than a


flash page (4kB) in size which leads to a hardware ReadModify-Write operation.

veeprom
The veeprom utility displays the Memory Array hardware information such as the main board serial
number, MAC address of the management interface, and so on.
Syntax
veeprom [ <device_index> ]
Linux Example
The veeprom utility returns information similar to the following example:
# veeprom
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Proc device:
Index:

/dev/vtmsa
/proc/driver/vtms/strad0
0

-- EEPROM info -ee_version:


1
ee_partnum:
620-0071-00
ee_serialnum: 2710BN00000090
ee_boardver: 14
ee_mfgdate:
1001201
ee_mgmtmac:
Unknown

The Linux example returns the following information.


ee_version

Displays the EEPROM data format version.

ee_partnum

Displays the part number of the main board.

ee_serialnum

Displays the serial number of the main board.

ee_boardver

Displays the version of the main board.

ee_mfgdate

Indicates the manufacturing date of the main board.

ee_mgmtmac

Displays the MAC address of the management interface.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

409

Appendix D - Violin Utilities

vincident -a
The vincident script collects useful information from the host servers and array such as version/
timestamp of the current kernel, CPU information, partition information, Memory Array
configuration, and Memory Array logs.
Once collected, this information can be sent to Violin Memory Customer Support for analysis to
determine the source of performance issues, such as ECC errors.
The vincident script is installed on the host server as part of the Violin Utility package. For more
information, see Installing Violin Utilities on page 403 for Linux hosts, or Installing Violin Utilities on
page 403 for Windows hosts.
Syntax
vincident {-a | <tty_device> | <ip_address> } [--max-timeout secs]
vincident may be run using the IP address of either Memory Array VCM (<ip_address>) or by
specifying the VCM name (for example, "vincident vcm-a"). You can also use a serial cable
connected from the host server to the Memory Array (<tty_device>).
The vincident utility creates an incident report in the current directory with a name similar to
vincident.20110624T110149.
In the event that the full path name of the vincident utility is not in the root PATH, the full path
of vincident is /opt/violin/bin/vincident.
Example
# vincident -a
Gathering information from host...
Gathering information from target...
Target IP = vcm-a
This could take a couple of minutes, please be patient...
Target IP = vcm-b
This could take a couple of minutes, please be patient...
Target IP = vcm-c
This could take a couple of minutes, please be patient...
Target IP = vcm-d
This could take a couple of minutes, please be patient...
Incident report created in vincident.20121001T153541

vinfo
The vinfo utility displays the type and version for a flash-based Memory Array.
Syntax
vinfo [ <device_index> ]

410

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Example
The vinfo utility returns information similar to the following example when run on a Windows host:
# vinfo
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Index:

/dev/vtmsa
0

-- Target Info -Host Driver:


Driver Date:
Target S/W:
Target Port:
Stripe order:
Stripe2 order:
Stripe number:
Stripe length:
Serial #:
Memory:
Memory Type:
RAID groups:
Granularity:
ring_size:
iotimeout:
LBA sector:
nomsi:
nomsix:
debug:
Mgmt. MAC:
Target Ethernet Link:
Target IP Address:
Target Netmask:
Target Gateway:

vtms-linux-driver-V6.0.0
Mar 03 2013 11:15:03
A5.5.0 #1-rc (d442848)
1
strad0
strad1
strad2
Unknown0 Unknown1 Unknown2
4
12288
23109R00000016
8607114461184 bytes
256GB FLASH VIMMs
12 (60-VIMM)
128 bytes
4096
30
512 bytes
0
0
0x0
Unknown
Unknown
10.1.14.140
0.0.0.0
0.0.0.0

VCM Devices:
Device:
Memory(bytes):
RAID groups:
irqtune:
debug:
Serial #:

VCM-A
strad0
8607114461184
12 (60-VIMM)
96
0x0
2710BN00000090

VCM-B
strad1
8607114461184
12 (60-VIMM)
96
0x0
2710BN00000079

strad3
Unknown3

VCM-C
strad2
8607114461184
12 (60-VIMM)
96
0x0
2710BN00000104

VCM-D
strad3
8607114461184
12 (60-VIMM)
96
0x0
2710BN00000094

Returns
The utility returns the following information.
Host Driver

Displays the host system vtms device driver version.

Driver Date

Displays block mode only. When set to 1, allows READA read-ahead I/Os
to be accepted.

Target S/W

Displays the software/firmware version running on Memory Array.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

411

Appendix D - Violin Utilities

Memory

Displays the size in bytes of usable system capacity. For flash VIMMs, this
value changes based on formatted capacity.

Memory Type

Displays the size and type of populated VIMMs.

RAID groups

Displays the number of 5-VIMM RAID groups. Spare VIMMs are not
counted.

Granularity

Displays the smallest access granularity for I/O request in bytes.

RingSize

Displays the size of driver DMA descriptor ring per Memory Array.
Must be power of 2 with range of 2 - 4096.

IrqTune

Displays the Interrupt combining tunable with 0 = disabled and 4095 being
the highest value.

IoTimeout

Displays the time in seconds before the device driver declares an I/O as
stuck and disables Memory Array I/O access. 0 = disables timeout.

NoMSI

When set to 1, specifies that the driver will not attempt to allocate a PCIe
MSI-based interrupt vector.

Debug

Displays the current value of driver debug mask. 0 = no debug messages.

Serial #

Displays the Memory Array serial number stored on its EEPROM and also
shown on the label on the back of the unit.

Mgmt. MAC

Displays the Memory Array Ethernet port MAC address, useful for adding
into a DHCP server configuration file.

vinventory
The vinventory utility scans the board and displays the main board inventory. The output displays
all modules (present or not), their state, serial and model numbers.
Syntax
vinventory

412

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

The vincident utility returns information similar to the following example:


violin-acma-acm-a [violin: master] (config) # vinventory
----------------------------------------------------------------------------------------------inventory scan started at 20:40:54 03/13/2013 UTC and is complete
===============================================================================================
device
presence
state
serial
model
version
----------------------------------------------------------------------------------------------acm-a
present
current
35042F00032 620-0070-00_R27
acm-b
present
current
35042F00042 620-0070-00_R27
device
DNU
presence
state
serial
model
version
fault detail
----------------------------------------------------------------------------------------------vcm-a
present
current
27042F00068
620-0071-00
0
vcm-b
present
current
27042F00020
620-0071-00
0
vcm-c
present
current
27012F00115
620-0071-00
0
vcm-d
present
current
27042F00057
620-0071-00
0
device
DNU
presence
state
serial
type
model
vimm set
----------------------------------------------------------------------------------------------vimm00
present
current 2511AF00002654 256G-SLC-Flash 410-0126-00_R05 .
vimm01
present
current 2511AF00002518 256G-SLC-Flash 410-0126-00_R05 .
vimm02
present
current 2511AF00002609 256G-SLC-Flash 410-0126-00_R05 .
vimm03
present
current 2511AF00002602 256G-SLC-Flash 410-0126-00_R05 1
vimm04
present
current 2511AF00002346 256G-SLC-Flash 410-0126-00_R05 .
vimm05
present
current 25117N00000065 256G-SLC-Flash 410-0126-00_R04 .
vimm06
present
current 2511AF00002568 256G-SLC-Flash 410-0126-00_R05 1
vimm07
present
current 2511AF00002607 256G-SLC-Flash 410-0126-00_R05 .
vimm08
present
current 2511AF00002169 256G-SLC-Flash 410-0126-00_R05 .
vimm09
present
current 2511AF00002181 256G-SLC-Flash 410-0126-00_R05 .
vimm10
present
current 2511AF00002646 256G-SLC-Flash 410-0126-00_R05 .
vimm11
present
current 2511AF00002622 256G-SLC-Flash 410-0126-00_R05 .
vimm12
present
current 2511AF00002615 256G-SLC-Flash 410-0126-00_R05 .
vimm13
present
current 2511AF00002193 256G-SLC-Flash 410-0126-00_R05 2
vimm14
present
current 2511AF00002391 256G-SLC-Flash 410-0126-00_R05 .
vimm15
present
current 2511AF00002200 256G-SLC-Flash 410-0126-00_R05 .
vimm16
present
current 2511AF00002692 256G-SLC-Flash 410-0126-00_R05 2
vimm17
present
current 2511AF00002658 256G-SLC-Flash 410-0126-00_R05 .
vimm18
present
current 2511AF00002659 256G-SLC-Flash 410-0126-00_R05 .
vimm19
present
current 2511AF00002663 256G-SLC-Flash 410-0126-00_R05 .
...

vmesg
The vmesg utility displays kernel log messages, and is primarily used for debugging purposes.
Syntax
vmesg

vpartial
The vpartial utility displays the number of read/write I/O requests processed and the number of
partial 4kB flash pages.
Syntax
vpartial

535-0008-00 Rev 10

[ <device_index> ]

Violin 6000 Series Memory Array Users Guide

413

Appendix D - Violin Utilities

Example
The vpartial utility returns information similar to the following example when run on a Linux host:
# vpartial
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Index:

/dev/vtmsa
0

-- Target Unaligned / Partial Counts -Completed read I/O's:


157628534
Unaligned host buf reads:
1971
Unaligned host buf bounce reads:
3
Requested DMA page reads:
157629114
Flash partial page reads:
2112
Completed write I/O's:
Unaligned host buf writes:
Unaligned host buf bounce writes:
Requested DMA page writes:
Flash partial page writes:

157570174
3
0
157570251
17

Returns
The utility returns following information.

414

Completed read I/O's

Displays the total I/O read requests from a Memory Array.


This is not the individual DMA descriptors completed, but
for each of the user requested I/Os.

Unaligned host buf reads

Displays the total I/O read requests from a Memory Array,


but only incremented when an unaligned host address
required special buffer byte copying to service the DMA
request.

Flash partial page reads

Incremented when a DMA descriptor for read is less than a


flash page (4kB) in size.

Completed write I/O's

Displays the total I/O write requests to a Memory Array.


This is not the individual DMA descriptors completed, but
for each of the user requested I/Os.

Unaligned host buf writes

Displays the total I/O write requests to a Memory Array, but


only incremented when an unaligned host address required
special buffer byte copying to service the DMA request.

Flash partial page writes

Increments when a DMA descriptor for write is less than a


flash page (4kB) in size, which leads to a hardware readmodify-write operation.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

vring
The vring utility debugs the internal Memory Array I/O request ring at a low level, and checks for
unaligned flash device access.
Look for the transfer sizes under the column labeled SIZE. If most of the lines show 4096, full 4kB
accesses are being done to the Memory Array hardware, which is optimal. In an unaligned access
case, you will see lines alternate between 512 and 3584 for transfer size, since two read-modifywrite operations occur for each 4kB of data.
Syntax
vring [ -p <partition_name> ]
Example
The vring utility returns information similar to the following example when run on a Linux host:
# vring
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
IDevice:
Proc device:
Index:

/dev/vtmsa
/proc/driver/vtms/strad0
0

-- DMA ring info -INDX CMD/FLAGS TRGT_ADDR


2445 0x00020000 0x00000076c740c000
2446 0x01020000 0x0000002a25b3c000
2447 0x00020000 0x000000639cde2000
2448 0x00020000 0x0000000fc765c000
2449 0x01020000 0x0000000c7c195000
...

HOST_ADDR
0x00000005a56c9000
0x0000000313bdc000
0x0000000313bdc000
0x000000031212b000
0x00000005a56c9000

SIZE
4096
4096
4096
4096
4096

Parameters

Parameter

Description

-p

Specifies that a partition is to be selected.

<partition_name>

Specifies the name of the partition.

Table D.1 vring Utility Parameters

vspeedtest
The vspeedtest utility displays a quick speed test of the Array.
Syntax
vspeedtest

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

415

Appendix D - Violin Utilities

Example
# vspeedtest
Checking speed on array device id ataVIOLIN_MEMORY_ARRAY_23109R00000016
3609.854 Read MB/s, 881311 Read IOPS

vstat
The vstat utility displays the status of the connection and the ready status of a Memory Array.
Syntax
vstat [ <device_index> ]

416

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Example
The vstat utility returns information similar to the following example when run on a Linux host:
violin-acmb-acm-b [violin: master] (config) # vstat
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Index:

/dev/vtmsa
0

-- Target Status -vdev_online: 1


vdev_link:
1
reconfigure: 0
Status LED:
OFF
Alarm LED:
OFF
PWR_A LED:
OFF
PWR_B LED:
OFF
lid_ajar:
0
VCM Devices:
alarm:
ready:
formatting:
format_done:
paused:
link:
raid_rebuild:
write_buffer:
linkwidth:
maxlinkwidth:
cur_payload:
max_payload:
cur_read_req:
dma_active:
io_pend:
cleanup:
resubmit:

VCM-A
OFF
1
0
0
0
1
0
0
4
4
256
1024
4096
0
0
0
0

VCM-B
OFF
1
0
0
0
1
0
0
4
4
256
1024
4096
0
0
0
0

VCM-C
OFF
1
0
0
0
1
0
0
4
4
256
1024
4096
0
0
0
0

VCM-D
OFF
1
0
0
0
1
0
0
4
4
256
1024
4096
0
0
0
0

Returns
The utility returns the following information.
Status LED

Indicates whether the Status LED is on or not.

Alarm LED

Indicates whether the Alarm LED is on or not. If it is on, it indicates the status
of the LED flashing.

PWR_A LED

Indicates whether the Power A LED is on or not.

PWR_B LED

Indicates whether the Power B LED is on or not.

ready

Indicates whether the data plane is online and ready or offline.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

417

Appendix D - Violin Utilities

418

formatting

Indicates if formatting of the VIMMs is in progress or not. This is only


applicable to flash VIMM systems.

format_done

Indicates the progress percentage done during formatting of the VIMMs.

paused

Indicates the pause interval for I/Os.

link

Indicates whether the PCIe connection is online or offline.

lid_ajar

Indicates whether the lid is closed or not. To avoid overheating and the
generation of system alarms, the lid must not be off of the system for more
than 5 minutes when the ambient temperature is 35 C (95 F) and above.

raid_rebuild

Indicates the status of a RAID group rebuild.

write_buffer

Indicates whether flash write buffering is enabled or disabled.

linkwidth

Indicates how many active PCIe lanes are available.

maxlinkwidth

Indicates the maximum number of active PCIe lanes.

cur_payload

Indicates the size of the PCIe payload.

max_payload

Indicates the maximum size of the PCIe payload.

cur_read_req

Indicates the size of the PCIe read requests.

dma_active

Indicates the number of 4kB DMA descriptors actively being processed by


Violin 6000 Series Memory Array hardware.

io_pend

Indicates the number of I/O requests in the queue for a Violin 6000 Series
Memory Array.
A single I/O request may involve more than one 4kB DMA descriptor.

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

vvimms
Use this command to display information about the Memory Array VIMMs.
Syntax
vvimms
Example
# vvimms
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Device:
Index:

/dev/vtmsa
0

VIMM RG Type Status Temp(C) %-FmtCap %-DieFail %-BlkFail % BlkEraseAvg


00
0 512G-MLC-Flash Active 34
84.00
0.00
0.00
8.00
01
1 512G-MLC-Flash Active 34
84.00
0.00
0.00
7.00
02
0 512G-MLC-Flash Active 34
84.00
0.00
0.00
8.00
03
1 512G-MLC-Flash Active 35
84.00
0.00
0.00
5.00
04 -1 512G-MLC-Flash Spare 34
0.00
0.00
0.00
8.00
05 -1 512G-MLC-Flash Spare 34
0.00
0.00
0.00
8.00
06
3 512G-MLC-Flash Active 34
0.00
0.00
0.00
6.00
07
2 512G-MLC-Flash Active 33
84.00
0.00
0.00
9.00
08
3 512G-MLC-Flash Active 34
84.00
0.00
0.00
9.00
09
2 512G-MLC-Flash Active 34
84.00
0.00
0.00
8.00
10
4 512G-MLC-Flash Active 35
84.00
0.00
0.00
8.00
11
5 512G-MLC-Flash Active 36
84.00
0.00
0.00
9.00
12
4 512G-MLC-Flash Active 35
84.00
0.00
0.00
9.00
13 -1 512G-MLC-Flash Spare 36
0.00
0.00
0.00
3.00
14
5 512G-MLC-Flash Active 36
84.00
0.00
0.00
9.00
15
7 512G-MLC-Flash Active 35
84.00
0.00
0.00
9.00
16 -1 512G-MLC-Flash Spare 34
0.00
0.00
0.00
3.00
17
6 512G-MLC-Flash Active 34
84.00
0.00
0.00
9.00
18
7 512G-MLC-Flash Active 35
84.00
0.00
0.00
9.00
19
6 512G-MLC-Flash Active 36
84.00
0.00
0.00
8.00
...

VCM
A
A
A
A
A
B
B
B
B
B
C
C
C
C
C
D
D
D
D
D

vzero
The vzero utility resets the I/O counters to zero.
Syntax
vzero [ <device_index> ]

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

419

Appendix D - Violin Utilities

Example
The vzero utility returns information similar to the following example when run on a Linux host:
# vzero
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Zeroed counters for Violin index 0

perf_test
The perf_test utility is a lightweight yet powerful tool for measuring the I/O performance of
storage devices.
The utility is designed to push the I/O device as hard as possible by a variety of methods including
POSIX threads, variable block sizing, asynchronous I/O, direct communication, as well as
sequential and random read/write operations to data over a user-defined address range.
Syntax
perf_test
Example
By default, the perf_test accesses the first Memory Array device using a single thread for a
repeated 4kB read of sector 0. For best results, use the -R option to randomly access a specific
range (-s) using multiple threads (-t), direct I/Os (-o), and asynchronous I/Os (-A).
The perf_test utility returns information similar to the following example when run on a Linux
host:
# perf_test -s 640 -R -A64 -t8 -o
Violin Memory, Inc.
Version: vtms-linux-utils-V6.0.0 03/13/2013
Command: perf_test -s 640 -R -A64 -t8 -o
Running with options:
threads
block_size
memory size
memory start addr
write:read ratio
random mode

=
=
=
=
=
=

duration
path
MB
no-cache mode
AIO depth

= 0 secs
= /dev/vtms-strad
= 1000000 bytes
= 1
= 64

420

8
4096
640 GB
0x0
0:1
1

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Violin Utilities Reference

Time (sec)Read BW Write BWTotal BWRead IOPSWrite IOPSTotal IOPS


1
2
3
4

817.181
817.132
817.160
817.096

MB/s0.000
MB/s0.000
MB/s0.000
MB/s0.000

MB/s817.181
MB/s817.132
MB/s817.160
MB/s817.096

MB/s199507001995070
MB/s1994950199495
MB/s1995010199501
MB/s1994860199486

For a discussion of using the perf_test utility in Violin Memory Array performance tuning, see
Performance Testing Using Perf_Test on page 428.
Options

Option

Description

-h | -?

Displays help.

-b block-size

Sets the size of each block, in bytes, such as 128, 512, 1024, and so
on.
Recognized unit/size qualifiers include: k and K for the appropriate
binary multipliers.

-B
[low,high[,step]]

Specifies range of blocks.

-r read-weight

Specifies the read weight, relative to the write weight. Specify 0 to not
do any reads at all.

-w write-weight

Specifies the write weight, relative to the read weight. Specify 0 to not
do any writes at all.

-s memory-size

Specifies the system memory size, in GB (if no units are provided).


Recognized unit/size qualifiers include: k, K, m, M, g and G for the
appropriate binary multipliers.

-d duration

Specifies the duration of the test, in seconds, before terminating. Not


specifying the duration, or specifying 0, allows perf_test to run
indefinitely.

-p device-path

Specifies the path to device, such as /dev/sda, and /dev/vtmsa).

-t num-threads

Specifies the number of threads to invoke. Each thread is governed by


the options specified for reads, writes, verification, block size, and so
on, and operates independently in terms of randomness of addresses
touched.

-A async-io-depth

Specifies the number of I/Os to generate using the operating systems


asynchronous I/O API.
On Linux, this option is only available if the libaio and libaiodevel packages were installed with the Violin Utilities installation.
Specify less threads using the -t option for Linux drivers and specify
more asynchronous I/Os using the -A option, as it reduces CPU
context switching.

-a address

Specifies the address, in hex, where read/write operations occur or


start. Useful with the -C option for sequential reads and writes.

Table D.2 Perf_Test Utility Options

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

421

Appendix D - Violin Utilities

Option

Description

-c char

Specifies a character, in hex, to write when performing write


operations. Example: 0xCA.

-V

Verifies writes with a read to ensure data integrity. This option can
have a significant impact on overall I/O throughput.

-I

Ignores errors on read/write operations to the device.

-R

Selects addresses to read/write randomly.

-C

Selects addresses to read/write incrementing by the block size


specified.

-q

Specifies quiet mode. Prints a summary of information only just before


exiting and not every second. This option is useful when using
perf_test in a scripted environment.

-z

Specifies print timestamps as real time instead of number of seconds


elapsed since the start of the test.

-L

Specifies latency mode.

-u

Prints detailed system utilization statistics.

-o

Informs perf_test to bypass the buffer cache by using the


O_DIRECT flag when opening a connection to the device-path. This
option applies to block devices only and not character devices.

Table D.2 Perf_Test Utility Options (Continued)

422

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Performance Tuning and Testing

APPENDIX E

This chapter provides an overview of Violin Memory Array performance tuning and
testing, describes flash-layer performance tuning, and network-layer performance
testing techniques using the perf_test utility.

Performance Tuning and Testing Overview on page 423


Flash-Layer Performance Tuning on page 424
Network-Layer Performance Testing on page 427

Performance Tuning and Testing Overview


One of the primary reasons for choosing a Violin Memory Array for block storage
is that a flash-based memory array enables you to extract maximum performance
from your applications.
But optimal performance is achievable only if the entire Memory Array system is
properly tuned. In many cases, the default settings provide for significant
application acceleration. Where this is not the case, a careful review of the system
defaults at each layer is recommended.
If any one layer is incorrectly sized or configured, the performance of the entire
application will be limited by this bottleneck. In HDD-based systems, the physical
disks are often an obvious performance bottleneck. In a flash-based memory array,
application performance bottlenecks may occur at any one of six system layers:

535-0008-00 Rev 10

Flash-layer: The flash-based memory array configuration and attributes

File System-layer: The file system and its settings such as block size,
snapshots, and logging

Network-layer: The PCIe cables, cards, and slots


Host-layer: The processors, DRAM, interconnects, and PCIe hubs
Operating System-layer: The Linux, Unix, or Windows operating system and
its buffer and I/O settings

Violin 6000 Series Memory Array Users Guide

423

Appendix E - Performance Tuning and Testing

Database-layer: The database (if used) and its configuration and optimizations

In general, performance tuning and testing is a six-step process by which each layer of the Memory
Array system is tuned before moving on to the next layer in the system.
Performance tuning and testing techniques for the higher system levels are beyond the scope of
this book. This chapter describes techniques for tuning and testing the first two layers in the Memory
Array system: the flash layer and the network layer.

Step 1: Flash-layer performance tuning: Ensure that the file system and operating system
are 4kB aligned. The vpartial and vring utilities enable you to identify 4kB alignment
issues.

Step 2: Network-layer performance tuning and testing: Network-layer performance testing


may be done in two phases. First, ensure that all of the PCIe connections are high-bandwidth.
Next, use the perf_test utility to establish performance baselines for reads, writes, and
mixed reads and writes.

After the flash and network layers have been configured and tested, you may test the performance
of the higher system layers.
While these tests are operating, use operating system tools to confirm that actual I/O activity is
similar to the levels tested using the perf_test utility. If the I/O is not similar to the baselines, then
the operating system, file system, or database may need to be tuned. Please contact Violin Memory
Customer Support for assistance if needed.

Flash-Layer Performance Tuning


In a Violin Memory Array system, the performance of the flash layer is a function of several
attributes of the flash-based memory arrays.

Type of VIMM: Single level cell (SLC) or multi-level cell (MLC): SLC is faster for writes
Number of VIMMs per Memory Array: More VIMMs usually deliver more performance.
Formatted Capacity: 65% format is faster than 84%
Number of Violin Memory Arrays: Like all storage media, more arrays provides higher
bandwidth.

Flash-based memory arrays are designed for 4kB block access or any multiple of 4kB blocks.
Smaller block sizes (e.g., 512 bytes) will significantly reduce performance, particularly for writes.
Therefore, it is import that you verify whether the file system and operating system are 4kB aligned.
For more information see Memory Array Flash 4kB Alignment on page 425.
Random workloads with high IOPS are well supported by flash memory. Unlike hard disk drives,
sequential accesses are not significantly faster. For this reason, it is typically better that higher
layers are tuned for 4kB-16kB block sizes and high IOPS.
Where an application needs very high bandwidths, multiple memory arrays are recommended.
Flash Memory Arrays achieve maximum performance when large numbers of flash devices are
used simultaneously, which requires a large number of simultaneous accesses by the application
and file system. Typically, this is enabled through asynchronous I/O and having many threads
simultaneously access the flash memory. Where this is not the case, this is known as singlethreaded access and severely limits performance.
424

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Flash-Layer Performance Tuning

Memory Array Flash 4kB Alignment


One major consideration for flash-based Memory Array system performance is the 4kB address
alignment on I/O requests.
The most common indication that a partition is out of alignment is poor performance: low read/write
I/Os per second (IOPS). Partitions can easily be out of 4kB alignment because most operating
systems, when creating a file system, do so for traditional RAIDs and solid-state drives; that is, 63
sectors per track.
Two utilities included in the Violin Utilities Package, the vpartial utility and the vring utility
enable you to identify these issues.
This section describes how Violin utilities may be used to diagnose 4kB alignment issues and
provides instructions for correcting these problems on Linux and Windows hosts.

Checking Flash 4kB Alignment and Partial Pages on page 425


Checking Flash 4kB Alignment and Request Ring on page 425
Addressing 4kB Alignment Issues on Linux Hosts on page 426
Addressing 4kB Alignment Issues on Windows Hosts on page 426

Checking Flash 4kB Alignment and Partial Pages


The vpartial utility shows the number of read/write I/O requests processed and partial 4kB flash
pages.
# vpartial
Violin Memory, Inc.
Version: vtms-linux, <date>
Device:
Index:

vtmsa
0

-- Target Unaligned / Partial Counts -Completed read I/O's:


1995280246
Unaligned host buf reads: 0
Flash partial page reads: 10326
Completed write I/O's:
1903433508
Unaligned host buf writes: 0
Flash partial page writes: 4535553

For more information on the vpartial utility, see vmesg on page 413.
Checking Flash 4kB Alignment and Request Ring
The vring utility debugs the internal Memory Array I/O request ring at a low level, and checks for
unaligned flash device access.
Look for the transfer sizes under the column labeled SIZE. If most of the lines show 4096, full 4kB
accesses are being done to the Memory Array hardware, which is optimal. In an unaligned access

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

425

Appendix E - Performance Tuning and Testing

case, you will see lines alternate between 512 and 3584 for transfer size, since two Read-ModifyWrite operations occur for each 4kB of data.
# vring
Violin Memory, Inc.
Version: vtms-linux-utils-D5.2.0.4, 05/23/2012
INDX
0
1
2
3
4
...

CMD/FLAGS
0x00000000
0x00000000
0x00000000
0x00020000
0x01020000

TRGT_ADDR
0x0000001b32acc000
0x0000001b32acd000
0x0000001b32ace000
0x0000001b32acf000
0x00000033eb48c000

HOST_ADDR
0x0000000044736000
0x0000000063e77000
0x0000000022bb8000
0x0000000079639000
0x00000000865bb000

SIZE
4096
4096
4096
4096
4096

The vring utility requires access to /dev/vtms-strad, which is a symbolic link to the first
discovered Memory Array.
If more than one Memory Array is connected, the devices can be explicitly selected by using the
partition 0 control device. For example, if the second Memory Array is vtms1, then the command is:
vring -p /dev/rdsk/vtms1v0
For more information on the vring utility, see vring on page 415.
Addressing 4kB Alignment Issues on Linux Hosts
On Linux systems, the fdisk utility with the -S option enables you to override the default geometry
of 63 sectors per track and specify a different number of sectors for use by the partition tables.
Running fdisk -S56 provides 4kB alignment automatically on created partitions. For example,
fdisk -S56 /dev/vtmsa
Addressing 4kB Alignment Issues on Windows Hosts
Windows Server 2008 and Windows 7 Servers

Windows Server 2008 and Windows 7 operating systems automatically align.


Windows 2003 and Windows XP Servers

On Windows 2003 and Windows XP Servers, 4kB addresses may be realigned using the
diskpart hard disk partitioning utility.
1. If the disk you are aligning is already blank (raw), go to Step 3. If the disk contains data, back

up the disk before proceeding.


2. Delete all partitions on the disk.
3. From the Windows 2003 Server, open a command prompt and run Diskpart.exe.
4. At the diskpart command prompt, type List Disk and press Enter.

426

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Network-Layer Performance Testing

If the disk you want to align does not appear in the list, make sure that it exists and is accessible
using the Disk Management snap-in.
5. At the diskpart command prompt, type Select Disk X.

Where x is the number of the disk as shown in the output of the List Disk command. The
diskpart utility should return a message that indicates that Disk x is the selected disk.
6. At the diskpart command prompt, type Create Partition Primary Align=64.
7. At the diskpart command prompt, type Assign Letter=<DriveLetter>.
8. After the drive letter is assigned, type exit to exit the diskpart utility.
9. Use the Disk Management snap-in or the Format command to format the partition as an

NTFS-formatted partition.
NOTE: when formatting, select an Allocation Unit Size that is a multiple of 4kBs.
Reference: Microsoft Technet article http://technet.microsoft.com/en-us/library/
aa998219.aspx

Network-Layer Performance Testing


The second step in fine tuning a Violin Memory Array is to test the network layer performance.
Network-layer performance testing may be done in two phases. First, ensure that all of the PCIe
connections are high-bandwidth. The Memory Array is designed to use either single PCIe x8 G1 or
dual PCIe x4 G1 connections and will perform optimally if the PCIe or network interfaces are
insufficient provisioned for the bandwidth required.
Once you have confirmed that the PCIe connections are high bandwidth, use the perf_test utility
to baseline the system by testing the read bandwidth, write bandwidth, and a mix of reads and writes
against the expected block size of the application.

Preliminary Network-Layer Checks on page 427


Performance Testing Using Perf_Test on page 428

Preliminary Network-Layer Checks


The Violin Memory Array is designed for high-bandwidth connections via either two or four PCIe x8
G2 or dual PCIe x4 G1.
Where the Memory Array is connected to the host, check the following factors to achieve the best
possible performance from your Violin 6000 Series Memory Array:

PCIe Bridge Slot Sharing on page 428


PCIe Slots Rated for x4 on page 428
PCIe Payload on page 428

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

427

Appendix E - Performance Tuning and Testing

PCIe Bridge Slot Sharing


Many host systems share PCIe data lanes among two or more physical slots. Individually, a slot
may be x8 electrically, but it may share those eight lanes with another slot or be restricted by an
upstream PCIe switch.
In effect, the aggregate bandwidth when both slots are fully used would not be greater than x8
speeds. This can hinder each device to 50% of its capable bandwidth or worse. Be mindful of the
PCIe slot routing for your host server to make the best use for IOPS and bandwidth.
PCIe Slots Rated for x4
Even though a PCIe slot connector may appear to physically support an x8 or even x16 card, the
connected electrical lanes may only be x4. Many host servers have a mixture of PCIe slots
available, such as x4 and x8. Check the data sheet for your host computer to make sure that the
PCIe adapter card is plugged into an x8 electrically capable slot.
PCIe Payload
The maximum payload size configured for the hosts PCIe adapter and the upstream PCIe bridge
devices can limit bandwidth speeds.
Intel x86/x64 CPU-based systems generally can handle a payload size of 256-bytes. BIOS vendors
often leave this configured to the default value of 128-bytes. Certain AMD64 servers can be
configured to handle a payload as high as 512-bytes, depending on bridge chips used.
Testing has shown that a read bandwidth of 1.7 GBps is achievable with a 512- byte PCIe payload,
whereas a 128-byte payload might be limited to 1.2 GBps. In some cases, upgrading a host server
to the latest BIOS version will increase the default configured payload.

Performance Testing Using Perf_Test


The perf_test utility is a lightweight tool for measuring the I/O performance of storage devices.
The perf_test utility was specifically designed to push the I/O device as hard as possible using
a variety of methods including POSIX threads, variable block sizing, asynchronous I/O, direct
communication, as well as sequential and random read/write operations to data over a user-defined
address range.
This section describes the perf_test utility and shows how it may be used to test the performance
of a direct-attached Violin 6000 Series Memory Array system:

Running the Perf_Test Utility on page 428


Baselining the Memory Array System on page 431
Testing Read Bandwidth on page 431
Testing Write Bandwidth on page 432

Running the Perf_Test Utility


For best results, use the (-R) option to randomly access a specific range (-s) using multiple
threads (-t), direct I/Os (-o), and asynchronous I/Os (-A).

428

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Network-Layer Performance Testing

For example, the command perf_test -s 640 -R -A64 -t8 -o returns the following example
when run on a Linux host:
# perf_test -s10 -R -A64 -t8 -o
Violin Memory, Inc.
Version: vtms-linux-utils-D6.0.0.3, 03/07/2013
Command: perf_test -s10 -R -A64 -t8 -o
Running with options:
threads
block_size
memory size
memory start addr
write:read ratio
random mode
duration
seconds to skip
path
MB
fill pattern
no-cache mode
AIO depth

=
=
=
=
=
=
=
=
=
=
=
=
=

Time (sec)

Write BW

1
2
3
4
5
6
7
8
9
Average

Read BW

3811.958
4010.030
3809.862
3824.481
3707.888
3699.851
3991.936
3925.807
3997.503

MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s

3864.368 MB/s

8
4096
10 GB
0x0
0:1
1
0 secs
0 secs
/dev/vtms-strad
1000000 bytes
0x0
1
64

0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000

MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s

0.000 MB/s

Total BW

3811.958
4010.030
3809.862
3824.481
3707.888
3699.851
3991.936
3925.807
3997.503

MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s
MB/s

3864.368 MB/s

Read IOPS

Write IOPS

Total IOPS

0
0
0
0
0
0
0
0
0

930653
979011
930142
933711
905246
903284
974593
958448
975952

943448

930653
979011
930142
933711
905246
903284
974593
958448
975952
943448

The following table describes the options used in this command. For a complete list of perf_test
utility options, see perf_test on page 420.
-s memory-size

Specifies the system memory size, in GB (if no units are provided).


Recognized unit/size qualifiers include: k, K, m, M, g and G for the
appropriate binary multipliers.

-t num-threads

Specifies the number of threads to invoke. Each thread is governed


by the options specified for reads, writes, verification, block size,
and so on, and operates independently in terms of randomness of
addresses touched.

-R

Selects addresses to read/write randomly.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

429

Appendix E - Performance Tuning and Testing

-o

Informs perf_test to bypass the buffer cache by using the


O_DIRECT flag when opening a connection to the device-path. This
option applies to block devices only and not character devices.

-A async-io-depth

Specifies the number of I/Os to generate using the operating


systems asynchronous I/O API.

For best results, take the following factors into consideration when running the perf_test utility.
Memory Access Patterns

The perf_test memory access modes include random, sequential, and single-address.
Accessing just a single address can radically impact the performance a device can deliver, as can
sequential and random access. So, know which address access mode is being used when running
tests.
Threading and Asynchronous I/O

Use perf_test to specify the number of threads to spawn and the number of outstanding I/Os
within each request.
The Linux operating system tends to deal with larger asynchronous I/O depths better than a larger
number of threads. High amounts of I/O can be achieved by understanding the operating system
behavior and using a combination of thread counts and asynchronous I/O.
Block Size

Consider the block size when testing for maximal bandwidth versus maximal IOPS. Use a larger
block size (megabytes, if necessary) when evaluating bandwidth performance and smaller block
sizes, such as 4kB, when evaluating a devices maximum IOPS potential.
Latency

Use perf_test to measure round-trip latency of an I/O request. Generally, latency measurements
should only be made using one thread and an asynchronous I/O depth of one. Any other values
skew the latency measurements.
Direct-Attached and Buffered I/O

Use perf_test defaults to use the system buffer cache. In some cases, such as sequential read
tests on systems with a large amount of RAM, this can be an advantage because data read from
the device can be cached in the systems buffer cache.
However, that does not help in qualifying the speed of the device itself. To better qualify the speed
of the device being tested, use the -o option, which tells perf_test to use the O_DIRECT flag
when attaching to the device, thus circumventing the buffer cache.
Specify less threads using the -t option for Windows and Linux drivers and specify more
asynchronous I/Os using the -A option, as it reduces CPU context switching.
On Linux, the -o option is only available if the libaio and libaio-devel packages were
installed with the Violin Utilities installation. See Libaio Development Package on page 389 for more
information.

430

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Network-Layer Performance Testing

Read / Write Ratio

Use the -r and -w options for defining a read:write ratio.


The default is 100% reads. To specify a 100% write mix, use the -w1 -r0 options. For a 50% read/
write mix, use -w1 -r1.
The -r and -w values are added together to create a ratio for I/Os. For example, -r80 -w20 is the
same as -r8 -w2, which is effectively 80% reads and 20% writes.
Baselining the Memory Array System
It is recommended that you use the perf_test utility to characterize the Violin Memory Array
system as the first step in qualifying the system. These tests should include:

Random reads at 4kB block size:(-R) (-b 4096)


Sustained random writes at 4kB block size: (-R) (-w1)(-r0) (-b 4096)
Random reads and writes at mix & the expected block size (given the application and file
system): (-R) (-w1)(-r1) (-b)

Each of these tests should be run using asynchronous I/O settings (-A) and a range (-t) of thread
counts (for example, 1- 64).
The baselines established using perf_test may enable you to identify performance issues at the
operating system-layer, file system-layer, or database-layer of the Memory Array system.
Testing Read Bandwidth
By default, the perf_test accesses the first Memory Array device using a single thread for a
repeated 4kB read of sector 0.
The following example shows a command that uses the (-s), (-R), (-b), (-d), and (-p) options to
check the read bandwidth of the Violin 6000 Series Memory Array.
# perf_test -s 384 -R -t4 -b 16384 -d5 -p /dev/rdsk/vtms2v1
Running with options:
threads
= 4
block_size
= 16384
memory size
= 393216 MB
memory start addr
= 0 MB
write:read ratio
= 0:1
random mode
= 1
duration
= 5 secs
path
= /dev/rdsk/vtms2v1
MB
= 1000000 bytes
Time (sec) Read BW
Write BW
Total BW
Read IOPS
1
1259.292 MB/s 0.000 MB/s 1259.292 MB/s 76861
2
1258.271 MB/s 0.000 MB/s 1258.271 MB/s 76798
3
1259.717 MB/s 0.000 MB/s 1259.717 MB/s 76887
4
1258.863 MB/s 0.000 MB/s 1258.863 MB/s 76834
5
1258.300 MB/s 0.000 MB/s 1258.300 MB/s 76800
Average
1258.889 MB/s 0.000 MB/s 1258.889 MB/s 76836

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

Write IOPS
0
0
0
0
0
0

Total IOPS
76861
76798
76887
76834
76800
76836

431

Appendix E - Performance Tuning and Testing

The example shows that the read bandwidth is roughly 1.2 GBps, which is what you might expect
on a PCIe bus with the payload set to the lowest setting of 128-bytes.
Testing Write Bandwidth
To check the write bandwidth, use the -w and -r options to define the ratio of writes to reads at 1:0.
This ratio enables you to determine the random percent of 1/Os that are writes.
In the following example, a performance test is run to check write bandwidth using the -w1 -r0
options to place the write to read ratio at 1:0.
# perf_test -s 384 -R
Running with options:
threads
block_size
memory size
memory start addr
write:read ratio
random mode
duration
path
MB
Time (sec) Read BW
1
0.000 MB/s
2
0.000 MB/s
3
0.000 MB/s
4
0.000 MB/s
5
0.000 MB/s
Average
0.000 MB/s

-t4 -b 16384 -w1 -r0 -d5 -p /dev/rdsk/vtms2v1


= 4
= 16384
= 393216 MB
= 0 MB
= 1:0
= 1
= 5 secs
= /dev/rdsk/vtms2v1
= 1000000 bytes
Write BW
Total BW
1005.936 MB/s 1005.936
1005.924 MB/s 1005.924
1006.266 MB/s 1006.266
1006.104 MB/s 1006.104
1006.594 MB/s 1006.594
1006.165 MB/s 1006.165

MB/s
MB/s
MB/s
MB/s
MB/s
MB/s

Read IOPS Write IOPS


0
61397
0
61396
0
61417
0
61407
0
61437
0
61410

Total IOPS
61397
61396
61417
61407
61437
61410

The Violin 6000 Series Memory Array write bandwidth reaches a maximum of roughly 1 GB/s on x8
PCIe.

432

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

SNMP Traps

APPENDIX F

This chapter focuses on SNMP use with the Violin 6000 Series Memory Array, and
covers the following topics:

About Violin Memory SNMP MIBs on page 433


Benefits of Using a MIB Browser on page 434
SNMP Configuration on the Violin 6000 Series Memory Array on page 435
Trap/Notify Event E-mail and Logged Events on page 436
Available Traps on page 438
Configuring and Testing Traps on page 449
New Trap MIB Objects on page 454

About Violin Memory SNMP MIBs


The Violin Memory SNMP MIB files are available for use with standard SNMP
clients. The examples in this Appendix show SNMP MIB items accessed from a
standard SNMP client. This assumes a standard Violin Memory Array with SNMP
enabled using a default community string of public and the SNMP v2c protocol.
An enterprise manager should be configurable to track these items and report
changes in the enterprise.

Note: You must use the MIB associated with the product version. MIBs are not
guaranteed to be backwards/forwards compatible from version to version at this
time.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

433

Appendix F - SNMP Traps

MIB files are available for direct download from the Violin Memory Array Web UI Administration >
Information page. Each file is described in the table below.

This file...

Provides this information...

VIOLIN-MEMORY-ROOT-MIB.txt

The root Violin Memory Array and Gateway Object


Identifiers (OIDs).

VIOLIN-MEMORY-ARRAY-MIB.txt

Individual Memory Array module information, including,


model and serial numbers, software version, temperature,
VIMM health, format, read and write, link speed, power
and other states.

VIOLIN-MEMORY-MEDIA-MIB.txt

Basic Memory Array information, including chassis


information, module states, alarms, VIMM life, format
percentage and state, IP addresses, LED information, I/O
information, read and write operations, and more.

VIOLIN-MEMORY-TRAP-MIB.txt

OIDs for SNMP traps sent from the Memory Array to


configured destination points to alert when events occur,
such as the lid is ajar, state changes to license keys, fans,
and more.

TallMaple-MIB.txt

Basic system information about CPU load, process


failures, mounted file systems, and more.

SNMP MIB Files

Below are example URLs for MIBs on a Violin Memory Array named HOSTNAME:
http://HOSTNAME/doc/VIOLIN-MEMORY-MIB.txt
http://HOSTNAME/doc/TallMaple-MIB.txt
Traps:
http://HOSTNAME/doc/VIOLIN-MEMORY-TRAP-MIB.txt

Benefits of Using a MIB Browser


You can obtain a free MIB Browser from iReasoning (Linux, Mac, Windows) that allows a load of up
to 10 MIBs. An MIB Browser is a tool for managing SNMP enabled network devices and
applications. It allows you to load MIBs, issue SNMP requests to retrieve agent's data, or make
changes to the agent. A built-in trap receiver can receive SNMP traps and handle trap storm.
To download a free iReasoning MIB Browser, go to the company Web site at http://ireasoning.com

434

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

SNMP Configuration on the Violin 6000 Series Memory Array

SNMP Configuration on the Violin 6000 Series


Memory Array
Use the snmp and snmp-server commands to configure SNMP. It defaults to on.
violin-acma [violin:
SNMP enabled:
SNMP port:
System location:
System contact:
Read-only community:
Traps enabled:
Trap community:

master] (config) # show snmp


yes
161

public
yes
public

Interface listen enabled: yes


No Listen Interfaces.
No trap sinks configured.
violin-acma [violin: master] (config) #

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

435

Appendix F - SNMP Traps

Trap/Notify Event E-mail and Logged Events


This section lists the trap notify settings, along with their respective event e-mail subject lines,
classifications, and logged events.

Trap/Notify Setting
user-login
user-logout
process-exit
liveness-failure
cpu-util-high
cpu-util-ok

Event Email Subject

User %s logged in%s


User %s logged out%s
Process exit: %s
Process hung: %s
CPU utilization too high
CPU utilization alarm
clearing
paging-high
Paging activity too high
paging-ok
Paging activity alarm
clearing
disk-space-low
Disk space low
disk-space-ok
Disk space OK
free-space-low
Low free space
memusage-high
Memory utilization too
high
memusage-ok
Memory utilization OK
netusage-high
Network utilization too
high
netusage-ok
Network utilization OK
disk-io-high
Disk I/O too high
disk-io-ok
Disk I/O OK
unexpected-cluster-join
A node joined the
cluster unexpectedly
unexpected-cluster-leave A node left the cluster
unexpectedly
unexpected-cluster-size Unexpected cluster size
event on %s

Disk failure warning:


device %s
cache-faults
A cache fault was
detected
hwmon-file-sys-error
File system malfunction
unexpected-shutdown
Unexpected shutdown
interface-down
%s link down
interface-up
%s link up
hwmon-mce-error
Machine check
exception
media-device-healthMedia device health
warn
check warning
media-device-stateUnexpected device
change
removal
media-device-stateUnexpected device
change
state change

436

Class.

Logged Event

Event
Event
Event
Event
Event
Event

/mgmtd/session/events/login
/mgmtd/session/events/logout
/pm/events/failure/unexpected_exit
/pm/events/failure/liveness
/stats/events/cpu_util_indiv/rising/error
/stats/events/cpu_util_indiv/rising/clear

Event
Event

/stats/events/paging/rising/error
/stats/events/paging/rising/clear

Event
Event
Event
Event

/stats/events/fs_mnt_bytes/falling/error
/stats/events/fs_mnt_bytes/falling/clear
/vshare/events/array/free_space_trigger
/stats/events/memory_pct_used/rising/error

Event
Event

/stats/events/memory_pct_used/rising/clear
/stats/events/intf_util/rising/error

Event
Event
Event
Event

/stats/events/intf_util/rising/clear
/stats/events/disk_io/rising/error
/stats/events/disk_io/rising/clear
/cluster/events/unexpected_join

Event

/cluster/events/unexpected_leave

Event

/cluster/events/unexpected_size

Failure /smart/events/warning
Event

/crd/events/internal_fault

Failure
Failure
Event
Event
Event

/hwmon/events/failure/filesystem
/system/events/unexpected_shutdown
/net/interface/events/link_down
/net/interface/events/link_up
/hwmon/events/failure/mce

Event

/media/events/device/health_warning

Event

/media/events/device/state_change

Event

/media/events/device/state_change

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Trap/Notify Event E-mail and Logged Events

media-device-unknowntype
media-device-lifetimewarn
media-system-swapstate
media-system-swapstate
excessive-shutdowns

Unknown media device


detected
Cache device lifetime
warning
System swap device
activated
System swap disabled

Excessive unexpected
shutdowns
license-state-change
A license for %s %s
conntrack-entries-high
Too many connection
tracking entries
conntrack-entries-ok
Connection tracking
entries alarm clearing
vimm-temperature-high
VIMM temperature
alarm detected
vimm-temperature-ok
VIMM temperature
alarm clearing
chassis-temperature-high Chassis temperature
alarm detected
chassis-temperature-ok
Chassis temperature
alarm clearing
lid-ajar-time-high
Excessive lid ajar time
detected
lid-ajar-time-ok
Lid ajar alarm clearing
lid-ajar
Array lid ajar state
change detected
array-pcie-link-up
Array PCIE link up
detected
array-pcie-link-down
Array PCIE link down
detected
array-data-plane-ready
Array data plane ready
state change detected
array-raid-rebuild
Array RAID rebuild state
change detected
vimm-state-change
Array VIMM state
change detected
array-psu-state
Array PSU state change
detected
array-led-change
Array LED state change
detected
array-fan-change
Array FAN state change
detected
fc-port-state-change
vSHARE FC port state
change detected
ib-port-state-change
vSHARE IB port state
change detected
vmg-fan-change
Gateway FAN state
change detected

535-0008-00 Rev 10

Event

/media/events/device/unknown_device_type

Event

/media/events/device/life_remain_warning

Event

/media/events/system/swap_state_change

Event

/media/events/system/swap_state_change

Failure /shutdown_check/events/
excessive_shutdowns
Event /license/events/key_state_change
Event /stats/events/conntrack_entries/rising/error
Event

/stats/events/conntrack_entries/rising/clear

Event

/media/events/vimm_temp/rising/error

Event

/media/events/vimm_temp/rising/clear

Event

/media/events/chassis_temp/rising/error

Event

/media/events/chassis_temp/rising/clear

Event

/media/events/lid_ajar_time/rising/error

Event
Event

/media/events/lid_ajar_time/rising/clear
/media/events/array/lid_ajar

Event

/media/events/array/pcie_link_up

Event

/media/events/array/pcie_link_down

Event

/media/events/array/data_plane_ready

Event

/media/events/array/raid_rebuild

Event

/media/events/array/vimm_state_change

Event

/media/events/array/psu_state

Event

/media/events/array/led_change

Event

/media/events/array/fan_change

Event

/vshare/events/fc/port_state_change

Event

/vshare/events/ib/port_state_change

Event

/vshare/events/vmg/fan_change

Violin 6000 Series Memory Array Users Guide

437

Appendix F - SNMP Traps

vmg-psu-change
vmg-boot-raid-change

Gateway PSU state


change detected
Gateway Boot Disk
RAID state change
detected

Event

/vshare/events/vmg/psu_change

Event

/vshare/events/vmg/boot_raid_change

Examples
Example Failure Email Subject System failure on <system>: Unexpected shutdown
Example Event Email Subject System event on <system>: Unexpected cluster size event on <cluster
name>
Example Event Log
May 25 01:44:17 njvshare mgmtd[4148]: [mgmtd.INFO]: EVENT:
/vshare/events/fc/port_state_change

Available Traps
The following section covers the available traps. The first table lists the traps that are enabled by
default. The second table lists the traps that are disabled by default, and that you can enable as
needed.

438

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Available Traps

Default Enabled Traps


New Traps in Violin Memory Gateway Release G5.2.0

Traps

Description

ib-port-state-change

InfiniBand port state change detected

lid-ajar

Lid ajar alarm

vmg-boot-raid-change

VMG-350 and HP DL380 only. Boot disk status


changed.

vmg-fan-change

VMG-3xx and HP DL380 only. Fan state


changed.

vmg-psu-change

VMG-3xx and HP DL380 only. Power supply


status changed.

New Traps in Violin Memory Gateway Release G5.1.x

Traps

Description

array-data-plane-ready:

Array data plane state changed.

array-led-change:

Array LED state changed.

array-pcie-link-down:

Array PCIE link down.

array-pcie-link-up:

Array PCIE link up.

array-psu-state:

Array PSU state changed.

array-raid-rebuild:

Array RAID rebuild state changed.

chassis-temperature-high: High chassis temperature detected.


chassis-temperature-ok:

Chassis temperature returned to normal levels.

lid-ajar-time-high:

Excessive lid ajar time detected.

lid-ajar-time-ok:

Lid ajar alarm cleared.

vimm-state-change:

Array VIMM state changed.

vimm-temperature-high:

High VIMM temperature detected.

vimm-temperature-ok:

VIMM temperature returned to normal levels.

Traps Prior to Violin Memory Gateway Release G5.1.x

Traps

Description

cpu-util-high:

CPU utilization has risen too high.

disk-space-low:

File system free space has fallen too low.

interface-down:

An interface's link state has changed to down.

interface-up:

An interface's link state has changed to up.

liveness-failure:

A process in the system was detected as hung.

paging-high:

Paging activity has risen too high.

process-crash:

A process in the system has crashed.

process-exit:

A process in the system unexpectedly exited.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

439

Appendix F - SNMP Traps

snmp-authtrap:

An SNMP v3 request has failed authentication

unexpected-shutdown:

Unexpected system shutdown.

Default Disabled Traps


An additional 16 SNMP traps are available that are disabled by default.

Trap

Description

array-fan-change:

Array FAN state changed.

disk-io-high:

Disk I/O per second has risen too high.

fc-port-state-change:

vSHARE FC port state changed.

license-state-change:

A license has changed state.

media-device-healthwarn:

A media device has a health status warning.

media-device-lifetimewarn:

A media device has a low est. life remaining.

media-device-statechange:

Unexpected change in media device state.

media-device-unknowntype:

Detected a media device of unknown type.

media-system-swapstate:

Detected a change in system swap state.

memusage-high:

Memory usage has risen too high.

netusage-high:

Network utilization has risen too high.

unexpected-cluster-join:

A node has unexpectedly joined the cluster.

unexpected-clusterleave:

A node has unexpectedly left the cluster.

unexpected-cluster-size:

The number of nodes in the cluster is


unexpected.

user-login:

A user has logged into the system.

user-logout:

A user has logged out of the system.

Trap Information Table

Trap Name

array-data-planeready

440

Threshold

Value
Unit

State Change 0 or 1

Description

A Violin Array data


plane available state
change has occurred.
The old value and new
values are supplied. A
value of 0 = not ready,
1 = ready.

Violin 6000 Series Memory Array Users Guide

Solution

If the new value is


0, then check the
Violin Array alarms
for more
information.

Sev.

High /
Low

535-0008-00 Rev 10

Available Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

array-fan-change

State Change State

One or more fans have


changed state on a
Violin Array. The old
and new values are
provided using the
following states: OFF,
Absent, Low, Medium,
or High.

Check Violin Array


for alarms as well
as airflow and
operating
environment.

Medium

array-led-change

State Change State

One or more of the


LEDs on a Violin Array
has changed state.
The following LEDs are
tracked for state
change: Alarm,
PowerA, PowerB, and
Status. The LED
values are: OFF,
SLOW_BLINK,
FAST_BLINK, or ON.

If the new value is


OFF for either
Power LED, then
check power
cables. If Status
LED is anything but
ON, or Alarm LED is
anything but OFF,
then check the
Violin Array for
alarms.

High /
Low

array-pcie-link-down

Event

Triggered

The Violin Array


specified in the trap
has detected a PCIe
link loss.

Check the PCIe


cable between the
Violin Array and the
Violin Memory
Gateway.

High

array-pcie-link-up

Event

Triggered

The Violin Array


specified in the trap
has detected that the
PCie link has gone
active.

Nothing.

Low

array-psu-state

State Change State

A Violin Array has


changed state
regarding one or both
of the Power Supply
Units. A true or false
value for psuA and
psuB specifies whether
the old / new values
are different. The PSU
state can be: Absent,
ON, or OFF.

Check the power


source to the Violin
Array power
supplies.

High /
Low

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

441

Appendix F - SNMP Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

array-raid-rebuild

State Change 0 or 1

A Violin Array has


changed state
regarding VIMM RAID
group rebuild. A new
value of 1 specifies
that a RAID rebuild is
in progress and that
performance will be
affected. A new value
of 0 specifies that the
RAID rebuild has
completed.

If the new value is


1, check the Violin
Array alarms for a
failed VIMM and
contact Violin
support for a
possible
replacement.

Medium

chassis-temperaturehigh

75

Celsius

Temperature inside a
Violin Array chassis
has exceeded normal
operating range

Check airflow and


operating
environment.

High

chassis-temperatureok

70

Celsius

Temperature inside a
Violin Array chassis
has dropped into
normal operating
range

Nothing.

Low

cpu-util-high

98

Percent

A Violin Memory
Gateway has detected
that a CPU has
exceeded utilization
above the threshold
level

Please contact
Violin customer
support if the
system is not under
full data traffic load.

Low

disk-io-high

5120

KBytes /
sec

The internal disk on a


Violin Memory
Gateway has crossed
a threshold for
performing too many I/
Os per second.

If the system is not


under data traffic
load, please contact
Violin customer
support.

Low

disk-space-low

Percent
Free

A Violin Memory
Gateway disk space
has crossed the
threshold of percent of
bytes free.

Please contact
Violin customer
support.

Medium

442

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Available Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

fc-port-state-change

State Change State

One or more Fibre


Channel ports have
changed state on a
Violin Memory
Gateway. The old and
new values for state
are provided from one
of: Unknown, Failover
Failed, Failover, Not
Supported, Online,
Lost, Dead,
Unconfigured. The FC
port speed is included
in the data but not
used to generate the
state change. The
following speed values
are used: 1 Gbit, 2
Gbit, 4 Gbit, and 8
Gbit.

Verify that OM-3


rate Fibres are used
in your config for 8
Gb. Check that the
Fibres and SFP
ports were properly
cleaned and that
the cables and
SFPs are fully
inserted. Verify that
the Fibre does not
exceed bend radius
specifications.

Medium

free-space-low

User
configurable

Available free space on


the array fell below the
threshold.

Adjust the free space


threshold to activate
space reclamation,
and/or delete unused
snapshots.

Medium

ib-port-state-change

State Change Active,


Down,
Initialize,
Armed

vSHARE InfiniBand
(IB) port state
changed.

One or more of the Medium


to High
IB ports have
changed state on a
Violin Memory
Gateway. The old
and new state
values are provided,
as well as the IB
port speed. If a port
is down, contact
Violin Memory
Customer Support.

interface-down

Event

Triggered

A network interface on
a Violin Memory
Gateway has lost link.

Check the network


cables to the Violin
Memory Gateway.

High

interface-up

Event

Triggered

A network interface on
a Violin Memory
Gateway has detected
link up.

Nothing.

Low

535-0008-00 Rev 10

Percent
Free

Violin 6000 Series Memory Array Users Guide

443

Appendix F - SNMP Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

license-state-change

State Change State

A Violin Memory
Gateway feature
license state has
changed. The old and
new active state is
passed as well as the
specific feature
license. The active
state is a true or
false value. When
true, the feature
license is active.

If a license has
changed to active =
false, please
contact Violin
customer support to
see if your license
has expired.

Medium

lid-ajar

State Change Triggered

Array lid is open.

Close and secure


the lid.

High

lid-ajar-time-high

60

Seconds

A Violin Array chassis


lid is open

Verify Violin Array


High
chassis lid is closed

lid-ajar-time-ok

Seconds

A Violin Array chassis


lid has been closed for
at least this period

Nothing.

Low

liveness-failure

Event

Triggered

An internal process on
a Violin Memory
Gateway has been
detected as hung.

Please contact
Violin customer
support

High

media-device-healthwarn

10

Percent

Check the Violin


A Violin Memory
Gateway media device Array for any
(Violin Array) has one alarms.
or more health
attributes in a warning
or critical state.
Normalized S.M.A.R.T
attributes are used.
The key attributes for
Violin Arrays are Avail
Reserved Space and
Media Wearout
Indicator. S.M.A.R.T
attr 232: Avail
Reserved Space is the
percentage of reserved
blocks available
(unused). This
threshold is 10%.
S.M.A.R.T attr 233:
Media Wearout
Indicator tracks the
number of erase cycles
for flash as a
percentage of life
remaining.

444

Violin 6000 Series Memory Array Users Guide

High

535-0008-00 Rev 10

Available Traps

Trap Name

Threshold

Value
Unit

Solution

Sev.

A Violin Memory
Gateway media device
(Violin Array) has
crossed the threshold
for S.M.A.R.T attr 233:
Media Wearout
Indicator. This tracks
the number of erase
cycles for flash as a
percentage of life
remaining.

Contact Violin
customer support to
determine if any
VIMMs should be
replaced.

High

media-devicelifetime-warn

media-device-statechange

State Change State

A Violin Memory
Gateway media device
(Violin Array) has
changed state. The
possible states are:
unknown, online,
offline, error, removed,
disabled, or onlining.

Verify that the


connected Violin
Array is in the
proper online state.

High /
Low

media-deviceunknown-type

Event

A Violin Memory
Gateway has detected
a media device
connected of an
unknown type. The
Model, Serial #, and
size are provided.

The most common


occurrence is a
freshly formatted
Violin Array has
been connected to
a Violin Memory
Gateway. The CLI
media init ...
command is used to
initialize the device.

Low

media-system-swapstate

State Change State

An internal Memory
Gateway disk has
changed state for
having an active swap
partition. The active
state is true when a
swap partition has
been activated or false
for deactivation.

Please contact
Violin customer
support.

Low

memusage-high

90

A Violin Memory
Gateway has detected
that system RAM has
exceeded a
percentage in use
threshold.

Please contact
Violin customer
support.

Medium

535-0008-00 Rev 10

Percent

Description

Triggered

Percent

Violin 6000 Series Memory Array Users Guide

445

Appendix F - SNMP Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

netusage-high

10485760

Bytes / sec A Violin Memory


Gateway has detected
that a network
interface has
exceeded a bytes per
second threshold.

Please verify your


network
configuration. For
10 GbE iSCSI, the
threshold should be
adjusted much
higher.

Low

paging-high

2000

Duration /
sec

Memory paging on a
Violin Memory
Gateway has
exceeded a threshold.

Please contact
Violin customer
support if the
system is not under
full data traffic load.

Medium

process-crash

Event

Triggered

An internal process on
a Violin Memory
Gateway has crashed.
A callhome event is
generated with the
details of the event.

Please contact
Violin customer
support.

High

process-exit

Event

Triggered

An internal process on
a Violin Memory
Gateway has
unexpectedly exited. A
callhome event is
generated with the
details of the event.

Please contact
Violin customer
support.

High

unexpected-clusterjoin

Event

Triggered

A Violin Memory
Gateway has
unexpectedly joined a
vCLUSTER after the
180 seconds cluster
startup time has
elapsed.

Check the Violin


Memory Gateway
log for any errors.
Please contact
Violin customer
support if the join
event is
unexplained.

Low

unexpected-clusterleave

Event

Triggered

A Violin Memory
Gateway has
unexpectedly left a
vCLUSTER after
already being a
member.

Check power and


network
connectivity to the
missing VMG.
Please contact
Violin customer
support if the leave
event is
unexplained.

High

446

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Available Traps

Trap Name

Threshold

Value
Unit

Description

Solution

Sev.

unexpected-clustersize

Expected
Nodes

Node
count

After a vCLUSTER
startup time of 180
seconds has elapsed,
the number of detected
nodes should match
cluster expectednodes configured. This
trap is sent when the
number of nodes has
changed and is not the
expected value.

Use the CLI to


configure cluster
expected-nodes to
set the appropriate
value.

Low

unexpectedshutdown

Event

Triggered

A Violin Memory
Gateway has
unexpectedly
shutdown. This may
happen during a
software upgrade
when the upgrade did
not cleanly apply and
the system reverted
back to the previous
version prior to
upgrade. A callhome
event is generated.

Please contact
Violin customer
support.

High

user-login

Event

Triggered

A login to a Violin
Memory Gateway via
either the CLI or Web
UI has occurred.

Verify the user id


has not been
compromised.

Low

user-logout

Event

Triggered

A logout from a Violin


Memory Gateway via
either the CLI or Web
UI has occurred.

Check that the


appropriate settings
for auto-logout are
configured for the
user. There are
separate settings
for the CLI vs. Web
UI.

Low

vimm-state-change

State Change State

One or more VIMMs


have changed state on
a Violin Array. A
comma separated list
of VIMMs are provided
for each state:
admin_down, booting,
active, spare, failed,
present, or alarmed.
The set value for each
VIMM list / state
change is true for set
or false for clear.

Check the Violin


Array for alarms to
determine severity
of state change.

High /
Low

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

447

Appendix F - SNMP Traps

Trap Name

vimm-temperaturehigh

Threshold

Value
Unit

Description

Solution

Sev.

80

Celsius

VIMM temperature has


exceeded normal
operating range

Check airflow and


operating
environment.

High

vimm-temperature-ok 75

Celsius

VIMM temperature has


dropped into normal
operating range

Nothing.

Low

vmg-boot-raidchange

Active,
Degraded,
Resyncing,
Unknown

There was a state


change in the book
disk. The states are as
follows:

Degraded and
Unknown status
mean that the RAID
disk is likely down
and needs to be
replaced.

High

NA

Active is a normal
state.

Resyncing means
the RAID group is
rebuilding, which is
also normal.

Degraded means
the RAID disk is
down.

Unknown means
the RAID disk is
unavailable and
could be down.

vmg-fan-change

NA

Off,
Absent,
Low,
Medium,
High,

One or more fans have


changed state on a
Violin Memory
Gateway.

An absent status
could mean a failed
fan. Replace the fan
as soon as
possible.

High

vmg-psu-change

NA

On, Off,
Absent

Power supply status


changed. There are
two power supply units
and both should be on.

If the status
changes to off or
absent, investigate
the issue
immediately.

High

448

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring and Testing Traps

Configuring and Testing Traps


Use the snmp command to configure traps, which can be sent to multiple hosts:
violin-acma [violin: master] > enable
violin-acma [violin: master] # conf terminal
violin-acma [violin: master] (config) # snmp ?
community
contact
in MIB-II
enable
host
listen
restrictions
location
in MIB-II
port
traps
user

Add a new SNMP community


Set a value for the syscontact variable
Enable SNMP-related functionality
Configure hosts to which to send SNMP traps
Configure SNMP server interface access
Set a value for the syslocation variable
Set the UDP port for the SNMP agent
Configure trap-related settings
Configure SNMP access on a per-user basis

Enabling Traps
Use the snmp-server traps event command to enable traps:
violin [violin: master] (config) # snmp-server traps event cpu-util-high
*violin [violin: master] (config) # wr mem

Testing Traps
Use the snmp-server traps send-test command to test traps:
violin-acma [violin: master] (config) # snmp-server traps ?
community
Set the default community for traps sent to hosts which
do not have a custom community string set
event
Specify which events will be sent as traps
send-test
Send a test trap
violin-acma [violin: master] (config) # snmp-server traps send-test
This will send a test trap to all configured trap sinks. This will be the 'testTrap' notification from the
TMS-MIB. This trap is only ever sent on request from the user; it is not triggered automatically. This
trap is not available for enable or disable through configuration; it is always enabled, meaning it will
always be sent when requested by the user.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

449

Appendix F - SNMP Traps

Spare VIMMs
To query the spare VIMMs in the system:
[user@lab-2 mibs]$ snmpwalk -Ou -M +. -m +./VIOLIN-MEMORY-MIB.txt -v 2c -c public
lab-ib-srv1 violin-memory | grep spare | grep "Gauge32: 1"
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.spa
re."lab-system-098"."vimm30" = Gauge32: 1
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.spa
re."lab-system-098"."vimm31" = Gauge32: 1
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.spa
re."lab-system-098"."vimm32" = Gauge32: 1
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.spa
re."lab-system-098"."vimm52" = Gauge32: 1

Failed VIMMs
To query the failed VIMMs in the system:
snmpwalk -Ou -M +. -m +./VIOLIN-MEMORY-MIB.txt -v 2c -c public lab-ib-srv1 violinmemory | grep fail | grep "Gauge32: 1"
[user@lab-2 mibs]$
(none)

PSU States
To query the state of the power supplies in the system:
snmpwalk -Ou -M +. -m +./VIOLIN-MEMORY-MIB.txt -v 2c -c public lab-ib-srv1 violinmemory | grep -i psu
enterprises.violinmemory.products.memoryGateway.appliance.media.chassisSystemArrayTable.chassisSy
stemArrayEntry.chassisSystemPowerPSUA."lab-fender-098" = STRING: "ON"
enterprises.violinmemory.products.memoryGateway.appliance.media.chassisSystemArrayTable.chassisSy
stemArrayEntry.chassisSystemPowerPSUB."lab-fender-098" = STRING: "ON"
[user@lab-ib-cn2 mibs]$

450

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring and Testing Traps

Temperatures: per VIMM and Chassis


To query the temperatures (reported in degrees celsius) of the chassis and the VIMMs:
[user@lab-ib-cn2 mibs]$ snmpwalk -Ou -M +. -m +./VIOLIN-MEMORY-MIB.txt -v 2c -c
public lab-ib-srv1 violin-memory | grep -i temp
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm00" = INTEGER: 39
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm01" = INTEGER: 43
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm02" = INTEGER: 43
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm03" = INTEGER: 45
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm04" = INTEGER: 42
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm05" = INTEGER: 41
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm06" = INTEGER: 39
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm07" = INTEGER: 38
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm08" = INTEGER: 37
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm09" = INTEGER: 38
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm10" = INTEGER: 40
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm11" = INTEGER: 39
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm12" = INTEGER: 40
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm13" = INTEGER: 39
enterprises.violinmemory.products.memoryGateway.appliance.media.arrayVimmTable.arrayVimmEntry.tem
p."lab-system-098"."vimm14" = INTEGER: 39

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

451

Appendix F - SNMP Traps

Performance Stats
To query performance statistics for the system:
[test@host1 mibs]$ snmpwalk -Ou -M +. -m +./VIOLIN-MEMORY-MIB.txt -v 2c -c public
lab-vs3-n2 violin-memory | grep ata-VIOLIN
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaDevTable.mediaDevEntry.media
DevIdx."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: ataVIOLIN_MEMORY_ARRAY_2110CR00000304
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaDevTable.mediaDevEntry.devId
."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: ataVIOLIN_MEMORY_ARRAY_2110CR00000304
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaDevTable.mediaDevEntry.fwVer
sion."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: 3.7.2
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaDevTable.mediaDevEntry.g6Mod
el."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: Violin Memory Array
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaBlockTable.mediaBlockEntry.d
evId."2110CR00000304" = STRING: ata-VIOLIN_MEMORY_ARRAY_2110CR00000304
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaBlockTable.mediaBlockEntry.d
evPath."2110CR00000304" = STRING: /dev/disk/by-id/ataVIOLIN_MEMORY_ARRAY_2110CR00000304-part4
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.mediaStatsDevIdx."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: ataVIOLIN_MEMORY_ARRAY_2110CR00000304
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.kernelOpsInProgress."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: 0
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.kernelOpsTime."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING: 47374
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.kernelOpsTimeWeighted."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING:
79475
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.kernelReadCompleted."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING:
1157474
enterprises.violinmemory.products.memoryGateway.appliance.media.mediaStatsDevTable.mediaStatsDevE
ntry.kernelReadKbytes."ata-VIOLIN_MEMORY_ARRAY_2110CR00000304" = STRING:
11750483

452

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Configuring and Testing Traps

Fibre Channel (vSHARE) Information


To query Fibre Channel information for a vSHARE configuration:
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.ww
n.1."hba-a1" = STRING: wwn.21:00:00:24:ff:26:6a:8c
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.ww
n.1."hba-a2" = STRING: wwn.21:00:00:24:ff:26:6a:8d
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.ww
n.5."hba-a1" = STRING: wwn.21:00:00:1b:32:9f:d3:d1
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.ww
n.5."hba-a2" = STRING: wwn.21:01:00:1b:32:bf:d3:d1
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.en
able.1."hba-a1" = INTEGER: true(1)
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.en
able.1."hba-a2" = INTEGER: true(1)
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.en
able.5."hba-a1" = INTEGER: true(1)
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.en
able.5."hba-a2" = INTEGER: true(1)
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.sp
eed.1."hba-a1" = STRING: 8 Gbit
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.sp
eed.1."hba-a2" = STRING: Unknown
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.sp
eed.5."hba-a1" = STRING: 8 Gbit
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.sp
eed.5."hba-a2" = STRING: Unknown
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.su
pportedSpeeds.1."hba-a1" = STRING: 1 Gbit, 2 Gbit, 4 Gbit, 8 Gbit
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.su
pportedSpeeds.1."hba-a2" = STRING: 1 Gbit, 2 Gbit, 4 Gbit, 8 Gbit
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.su
pportedSpeeds.5."hba-a1" = STRING: 1 Gbit, 2 Gbit, 4 Gbit, 8 Gbit
enterprises.violinmemory.products.memoryGateway.vShare.globalTargetFcTable.globalTargetFcEntry.su
pportedSpeeds.5."hba-a2" = STRING: 1 Gbit, 2 Gbit, 4 Gbit, 8 Gbit

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

453

Appendix F - SNMP Traps

Fibre Channel Performance Statistics (vSHARE)


Example
The following is an example of querying Fibre Channel performance statistics for a vSHARE
configuration.
$ snmpwalk -c public -v 2c 10.1.10.137 VIOLIN-MEMORYMIB::statsTargetFcTable.statsTargetFcEntry -m VIOLIN-MEMORY-MIB.txt
VIOLIN-MEMORY-MIB::statsTargetFcIdx."hba-a1" = STRING: hba-a1
VIOLIN-MEMORY-MIB::statsTargetFcIdx."hba-a2" = STRING: hba-a2
VIOLIN-MEMORY-MIB::txFrames."hba-a1" = STRING: 1222433
VIOLIN-MEMORY-MIB::txFrames."hba-a2" = STRING: 1222436
VIOLIN-MEMORY-MIB::rxFrames."hba-a1" = STRING: 611257
VIOLIN-MEMORY-MIB::rxFrames."hba-a2" = STRING: 611260
VIOLIN-MEMORY-MIB::dumpedFrames."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::dumpedFrames."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::nosCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::nosCount."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::linkFailureCount."hba-a1" = STRING: 116
VIOLIN-MEMORY-MIB::linkFailureCount."hba-a2" = STRING: 61
VIOLIN-MEMORY-MIB::lossOfSyncCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::lossOfSyncCount."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::lossOfSignalCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::lossOfSignalCount."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::invalidTxWordCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::invalidTxWordCount."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::invalidCrcCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::invalidCrcCount."hba-a2" = STRING: 0
VIOLIN-MEMORY-MIB::primSeqProtocolErrCount."hba-a1" = STRING: 0
VIOLIN-MEMORY-MIB::primSeqProtocolErrCount."hba-a2" = STRING: 0

New Trap MIB Objects


Event: unexpected-cluster-size: The number of nodes in the cluster is unexpected.
vmemClusterUnexpectedSize NOTIFICATION-TYPE
OBJECTS {
clusterConfigId,
clusterConfigServiceDescr,
clusterConfigExpectedNodes,
clusterStateNumNodes,
expectedNodesTypeUint16,
currentNodesTypeUint16
}
STATUS
current
DESCRIPTION
"vmemClusterUnexpectedSize"
::= { vmemNotifTrapsPrefix 1 }

454

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

New Trap MIB Objects

Event: unexpected-cluster-join: A node has unexpectedly joined the cluster.


vmemClusterUnexpectedJoin NOTIFICATION-TYPE
OBJECTS {
clusterGlobalIdx,
hostid,
hostname,
primaryAddr,
clusterAddr,
clusterStateNumNodes,
clusterConfigId,
clusterConfigServiceDescr,
clusterConfigExpectedNodes,
hostnameTypeString,
expectedNodesTypeUint16,
currentNodesTypeUint16
}
STATUS
current
DESCRIPTION
"vmemClusterUnexpectedJoin"
::= { vmemNotifTrapsPrefix 2 }
Event: unexpected-cluster-leave: A node has unexpectedly left the cluster.
vmemClusterUnexpectedLeave NOTIFICATION-TYPE
OBJECTS {
clusterGlobalIdx,
hostid,
hostname,
primaryAddr,
clusterAddr,
clusterStateNumNodes,
clusterConfigId,
clusterConfigServiceDescr,
clusterConfigExpectedNodes,
hostnameTypeString,
expectedNodesTypeUint16,
currentNodesTypeUint16
}
STATUS
current
DESCRIPTION
"vmemClusterUnexpectedLeave"
::= { vmemNotifTrapsPrefix 3 }

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

455

Appendix F - SNMP Traps

Event: media-device-health-warn: A media device has a health status warning.


vmemHealthWarning NOTIFICATION-TYPE
OBJECTS {
id,
location,
type,
vmemModel,
vmemSerialNo,
output
}
STATUS
current
DESCRIPTION
"vmemHealthWarning"
::= { vmemNotifTrapsPrefix 11 }
Event: media-device-lifetime-warn: A media device has a low estimated life remaining.
vmemLifeRemain NOTIFICATION-TYPE
OBJECTS {
id,
location,
vmemModel,
vmemSerialNo,
vmemRevision,
lifeRemain
}
STATUS
current
DESCRIPTION
"vmemLifeRemain"
::= { vmemNotifTrapsPrefix 12 }

456

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

New Trap MIB Objects

Event: media-device-state-change: Unexpected change in media device state.


vmemStateChange NOTIFICATION-TYPE
OBJECTS {
id,
oldTypeString,
newTypeString,
devPath,
blockSz,
numBlocks,
offset,
vmemModel,
devId,
expected
}
STATUS
current
DESCRIPTION
"vmemStateChange"
::= { vmemNotifTrapsPrefix 13 }
Event: media-device-unknown-type: Detected a media device of unknown type.
vmemUnknownDeviceType NOTIFICATION-TYPE
OBJECTS {
id,
location,
mfrModel,
mfrSerialNo,
size
}
STATUS
current
DESCRIPTION
"vmemUnknownDeviceType"
::= { vmemNotifTrapsPrefix 14 }
Event: media-system-swap-state: Detected a change in system swap state.
vmemSystemSwapState NOTIFICATION-TYPE
OBJECTS {
active
}
STATUS
current
DESCRIPTION
"vmemSystemSwapState"
::= { vmemNotifTrapsPrefix 15 }

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

457

Appendix F - SNMP Traps

Event: vimm-temperature-high: High VIMM temperature detected.


vmemVimmTempRisingError NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemVimmTempRisingError"
::= { vmemNotifTrapsPrefix 16 }
Event: vimm-temperature-ok: VIMM temperature returned to normal levels.
vmemVimmTempRisingClear NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemVimmTempRisingClear"
::= { vmemNotifTrapsPrefix 17 }
Event: chassis-temperature-high: High chassis temperature detected.
vmemChassisTempRisingError NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemChassisTempRisingError"
::= { vmemNotifTrapsPrefix 20 }

458

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

New Trap MIB Objects

Event: chassis-temperature-ok: Chassis temperature returned to normal levels.


vmemChassisTempRisingClear NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemChassisTempRisingClear"
::= { vmemNotifTrapsPrefix 21 }
Event: lid-ajar-time-rising-error: Chassis lid ajar time has exceeded a configured threshold.
vmemLidAjarTimeRisingError NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemLidAjarTimeRisingError"
::= { vmemNotifTrapsPrefix 24 }
Event: lid-ajar-time-rising-clear: Chassis lid ajar time condition is clear.
vmemLidAjarTimeRisingClear NOTIFICATION-TYPE
OBJECTS {
id,
value,
node
}
STATUS
current
DESCRIPTION
"vmemLidAjarTimeRisingClear"
::= { vmemNotifTrapsPrefix 25 }
Event: array-pcie-link-up: Array PCIE link up.
vmemArrayPcieLinkUp NOTIFICATION-TYPE
OBJECTS {
id,
container
}
STATUS
current
DESCRIPTION
"vmemArrayPcieLinkUp"
::= { vmemNotifTrapsPrefix 31 }

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

459

Appendix F - SNMP Traps

Event: array-pcie-link-down: Array PCIE link down.


vmemArrayPcieLinkDown NOTIFICATION-TYPE
OBJECTS {
id,
container
}
STATUS
current
DESCRIPTION
"vmemArrayPcieLinkDown"
::= { vmemNotifTrapsPrefix 32 }
Event: array-data-plane-ready: Array data plane state changed.
vmemArrayDataPlaneReady NOTIFICATION-TYPE
OBJECTS {
id,
container,
oldTypeUint8,
newTypeUint8
}
STATUS
current
DESCRIPTION
"vmemArrayDataPlaneReady"
::= { vmemNotifTrapsPrefix 33 }
Event: array-raid-rebuild: Array RAID rebuild state changed.
vmemArrayRaidRebuild NOTIFICATION-TYPE
OBJECTS {
id,
container,
state
}
STATUS
current
DESCRIPTION
"vmemArrayRaidRebuild"
::= { vmemNotifTrapsPrefix 34 }

460

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

New Trap MIB Objects

Event: vimm-state-change: Array VIMM state changed.


vmemArrayVimmStateChange NOTIFICATION-TYPE
OBJECTS {
id,
container,
vimms,
set,
stateTypeString
}
STATUS
current
DESCRIPTION
"vmemArrayVimmStateChange"
::= { vmemNotifTrapsPrefix 35 }
Event: array-psu-state: Array PSU state changed.
vmemArrayPsuState NOTIFICATION-TYPE
OBJECTS {
id,
container,
psuAChanged,
psuAOld,
psuANew,
psuBChanged,
psuBOld,
psuBNew
}
STATUS
current
DESCRIPTION
"vmemArrayPsuState"
::= { vmemNotifTrapsPrefix 36 }

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

461

Appendix F - SNMP Traps

Event: array-led-change: Array LED state changed.


vmemArrayLedChange NOTIFICATION-TYPE
OBJECTS {
id,
container,
alarmLedChanged,
alarmLedOld,
alarmLedNew,
powerALedChanged,
powerALedOld,
powerALedNew,
powerBLedChanged,
powerBLedOld,
powerBLedNew,
statusLedChanged,
statusLedOld,
statusLedNew
}
STATUS
current
DESCRIPTION
"vmemArrayLedChange"
::= { vmemNotifTrapsPrefix 37 }
Event: fc-port-state-change: Fibre channel port state changed.
vmemFcPortStateChange NOTIFICATION-TYPE
OBJECTS {
hostname,
port,
oldState,
newState,
speed
}
STATUS
current
DESCRIPTION
"vmemFcPortStateChange"
::= { vmemNotifTrapsPrefix 38 }

462

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

New Trap MIB Objects

Event: array-fan-state-change: Array fan state changed.


vmemArrayFanChange NOTIFICATION-TYPE
OBJECTS {
id,
container,
fan1Changed,
fan1Old,
fan1New,
fan2Changed,
fan2Old,
fan2New,
fan3Changed,
fan3Old,
fan3New,
fan4Changed,
fan4Old,
fan4New,
fan5Changed,
fan5Old,
fan5New,
fan6Changed,
fan6Old,
fan6New
}
STATUS
current
DESCRIPTION
"vmemArrayFanChange"
::= { vmemNotifTrapsPrefix 39 }
Event: events-login: A user has logged in event.
vmemEventsLogin NOTIFICATION-TYPE
OBJECTS {
username,
timestamp,
remoteAddr,
peerId,
clientDescr,
sessionid
}
STATUS
current
DESCRIPTION
"vmemEventsLogin"
::= { vmemNotifTrapsPrefix 40 }

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

463

Appendix F - SNMP Traps

Event: events-logout: A user has logged out event.


vmemEventsLogout NOTIFICATION-TYPE
OBJECTS {
username,
timestamp,
remoteAddr,
peerId,
clientDescr,
sessionid
}
STATUS
current
DESCRIPTION
"vmemEventsLogout"
::= { vmemNotifTrapsPrefix 41 }

464

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Optimizing Connectivity for Initiator Hosts

APPENDIX G

This appendix demonstrates ways in which you can optimize the connectivity of
initiator (client-side) hosts with Violin Memory Arrays. The following topics are
covered:

Optimizing Connectivity for Windows Hosts on page 465


Optimizing Connectivity for AIX Hosts on page 466

Optimizing Connectivity for Windows Hosts


Depending on the Windows operating system, client machines using vSHARE
should use the Microsoft Multipath I/O (MPIO) driver or the Violin Device Specific
Module (DSM) driver for optimal storage array connectivity. Install the appropriate
driver for your operating system.

Windows Server 2008 R2 and Later


Install the Microsoft MPIO driver. MPIO is not installed by default. Use the following
link for installation instructions.
To install and configure MPIO for Windows Server 2008 R2, do the following:
1. Click the following link and follow the installation instructions.

http://technet.microsoft.com/en-us/library/ee619752(WS.10).aspx
2. To ensure a proper MPIO operation, complete the following steps:
a. Install SP1 on Windows Server 2008 R2.
b. Install HotFix KB2522766 (from the Microsoft Support site).
c. Install HotFix KB2460971 (from the Microsoft Support site).
d. Install HotFix KB2468345 (from the Microsoft Support site).
e. Install HotFix KB2591462 (from the Microsoft Support site).

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

465

Appendix G - Optimizing Connectivity for Initiator Hosts

3. Failover Clustering related:


a. Install HotFix KB2531907 (from the Microsoft Support site).

Windows Server 2003 R2


This section demonstrates how to download and install the MPIO D4.5.0 driver, and then change
the load balance policy setting.
To download and install the MPIO D4.5.0 driver, do the following:
1. Go to the Violin Memory Web site (http://www.vmem.com).
2. Click

Support and then log in.

Note: You must be a registered Violin Memory customer to download this driver. If you are
not registered, you are prompted to complete the registration process.
3. Click the

Software Downloads.

4. Click the

MPIO Driver DSM D4.5.0 link within Drivers and Utilities to download the software.

If you are using the Violin driver, the load balance policy is set to 1. For higher performance, this
should be set to 2 (Round Robin).
To change the load balance policy setting, complete the following steps:
1. Open the Registry Editor and navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\v1010dsm\Parameters\Dsm
LoadBalanceSettings\<EnumeratedViolin LUN>
2. Modify DWORD: DsmLoadBalancePolicy and change the value to 2 for all discovered LUNs.
3. Restart the client machine.

Optimizing Connectivity for AIX Hosts


The IBM (International Business Machines) initiator hosts running AIX operating systems support
native multipathing capabilities through the Multipath I/O (MPIO) framework. It is recommended that
AIX initiator hosts connected to Violin Memory Arrays have Violin drivers installed, along with AIX
MPIO, to optimize connectivity.
This section covers the following topics:

466

System Requirements on page 467


Installing the Violin Driver for AIX MPIO on page 467
Configuring an AIX Initiator Host for Optimum Connectivity on page 468
Discovering AIX Devices on page 469
Uninstalling the Violin Driver for AIX MPIO on page 469

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Optimizing Connectivity for AIX Hosts

System Requirements
This section covers the requirements for AIX operating systems and Violin Memory Gateway
software versions.

Supported AIX Operating Systems


Violin drivers support the following versions of the AIX operating system:

AIX 6.1 (minimum supported TL: 6100-07-05-1228)


AIX 7.1 (minimum supported TL: 7100-01-04-1216)
VIO server version 2.1.3 with Fix Pack 23 (2.1.3.10-FP-23, or later)

Required AIX File Sets


An AIX initiator host (Partition/DLPAR) requires the following file sets to effectively connect with the
Violin Memory Arrays:

devices.common.IBM.fc.rte
devices.common.IBM.rte
devices.fcp.disk.rte
devices.fcp.tape.rte

Note: Refer to the AIX operating system documentation for instructions if any of the required file

sets listed above are not present on the AIX initiator host.

Required Violin Memory Gateway Software


Violin Memory Arrays require Violin Memory Gateways running software version G5.5.1 or later to
be interoperable with AIX clients.

Installing the Violin Driver for AIX MPIO


This section demonstrates how to download and install the Violin driver for AIX MPIO.

Note: You can use smitty, the System Management Interface Tool, to install software on an AIX

system. Or, you can use the command suggested in the following procedure.

To download and install the Violin driver for AIX MPIO, do the following:
1. Go to the Violin Memory Support Site (http://www.violin-memory.com/support/).
2. Download the appropriate driver for AIX MPIO (devices.fcp.disk.vmem)based on the version

of AIX running on your systemto a temporary location on the AIX initiator host, such as
/var/tmp/violin.

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

467

Appendix G - Optimizing Connectivity for Initiator Hosts

3. Do one of the following:

Log in to the AIX initiator host as root user.


Log in to the VIOS partition as padmin, then enter a shell by running the following
command.
# oem_setup_env
4. Use smitty install, or the following command to install the Violin driver for AIX MPIO.
# installp -acX -d/<file_path> devices.fcp.disk.vmem.rte

The following is an example of installing an AIX 6.1 initiator host.


# install -acX -d/var/tmp/violin/6.1.03devices.fcp.disk.vmem.rte devices.fcp.disk.vmem.rte
5. Use the following command to verify that the Violin driver was successfully installed.
# lslpp -l devices.fcp.disk.vmem.rte

Configuring an AIX Initiator Host for Optimum


Connectivity
This section covers the recommended configuration standards to obtain optimum connectivity with
an AIX initiator host.
1. Configure the following settings for num_cmd_elems, as necessary:

Emulex LP10000 series FC HBA adapter: 1000

Emulex LP11000 series FC HBA adapter: 2000

Emulex LP12000 series FC HBA adapter: 4000

Adapter into VIO server configuration using NPIV capability: 2000

2. Ensure that the maximum transfer size (max_xfer_size) is set to 0x200000, using the

following commands:
# chdev -l fcs0 -a max_xfer_size=0x200000
# chdev -l fcs0 -a num_cmd_elems=2000
3. Ensure the NACA bit is set for LUNs that are exported to AIX initiator hosts. For more

information, see the Violin 6000 Series Memory Array Users Guide.
4. Configure the following settings for each fscsi driver object in the following way, to ensure non-

disruptive upgrades for Violin Memory Gateways.


Note: The dyntrk parameter cannot be set to no for VIO/NPIV configurations.
a. Set dyntrk to no using the following command:
# chdev -l fscsi0 -a dyntrk=no -P
b. Set fc_err_recov to delayed_fail using the following command:
# chdev -l fscsi0 -a fc_error_recov=delayed_fail -P
c. Reboot the AIX initiator host to enable the changes to the HBA settings.

468

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Optimizing Connectivity for AIX Hosts

Discovering AIX Devices


This section demonstrates how to make exported Violin Memory LUNs visible to an AIX initiator
host for the first time.
To discover an AIX device, do the following:
1. Run the following command to initiate device discovery.
# cfgmgr -v
2. To view Violin Memory LUNs run the following command.
# lsdev -Cc disk

The Violin driver for AIX MPIO automatically configures the following attributes for optimum
connectivity:

algorithm: round_robin

queue_depth: 255

reserve_policy: no_reserve

rw_timeout: 60

Uninstalling the Violin Driver for AIX MPIO


This section demonstrates how to uninstall the Violin driver for AIX MPIO.
Prerequisites:

Stop all applications that may be accessing LUNs on Violin Memory Arrays.

To uninstall the Violin driver for AIX MPIO, do the following:


1. Log in to the AIX initiator host as root user.
2. For LUNs controlled by a Logical Volume Manager (LVM), make the device unavailable (vary

off) before deleting LUNs from the Violin Memory Array. Use the following command.
# varyoffvg <vg_name>
3. Ensure that the LUN entries are removed from the device tree, using the following command.
# rmdev -dl <hdisk##>
4. Use the following command to uninstall the Violin driver.
# installp -ug devices.fcp.disk.vmem.rte
5. Use the following command to verify that the Violin driver has been successfully removed.
E lslpp -l devices.fcp.disk.vmem.rte

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

469

Appendix G - Optimizing Connectivity for Initiator Hosts

470

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

System Specifications

This section contains specifications for the following:

535-0008-00 Rev 10

Memory Array System Specifications on page 472


Fibre Channel Adapter Card Specifications on page 473
InfiniBand Adapter Card Specifications on page 474
PCIe Host Adapter Card Specifications on page 474
Ethernet/iSCSI Adapter Card Specifications on page 475

Violin 6000 Series Memory Array Users Guide

471

System Specifications

Memory Array System Specifications


The table below lists the Violin 6000 Series Memory Array system specifications:

Series

6600

Model

Violin Memory 6606

Flash Type

SLC

Raw Capacity (GiB/GB)

6TB/6.6TB

VIMM Count (Data + Hot Spare) 20 + 4

Violin Memory 6616

6200
Violin Memory 6212

Violin Memory 6232

MLC
16TB/17.6TB

12TB/13.2TB

32TB/35.2TB

60 + 4

20 + 4

60 + 4

Reliability/Resiliency

System Level Hardware Based vRAID


4 vRAID Controller Modules
2 Array Controller Modules
2 Memory Gateways
Automated Failover & Failback

Connectivity Options

8x 4/8Gb/s Fibre Channel


8x 10GbE iSCSI
8x 40Gb/s QDR InfiniBand
4x PCIe Gen2 x8

Dimensions
Height:
Width:
Depth:
Cable Management:

5.25" (3RU/134 mm)


17.5 / 420 mm
27 / 700 mm
6 / 153 mm

Minimum Rear Clearance

7" (178 mm)

Weight

76lbs / 34.5kg

89lbs / 40.4kg

76lbs / 34.5kg

89lbs / 40.4kg

Power*

1110W

1679W

1344W

1709W

Cooling

3822 BTU/hr

5780 BTU/hr

4626 BTU/hr

5884 BTU/hr

Environmental
Inlet Temp:
Humidity:
Altitude:

0C to 35C, to 7,500 feet


0C to 30C, 7,500 to 10,000 feet
5-95% (non condensing)
10,000 feet (Derate temperature)

Electrical
Input Power Voltage:
Operating Range:
Current Rating:

200-240 VAC
180-264 VAC
15 A maximum

Interfaces

RJ-45 Serial Console (2)


RJ-45 10/100/1000 Ethernet (2)

Management (CLI)

Serial, SSH, SNMP, Web/HTTP

Table G.1 Memory Array System Specifications


*Nominal power measurements for Fibre Channel configuration.

472

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Fibre Channel Adapter Card Specifications

Fibre Channel Adapter Card Specifications


The following table provides basic information for the QLogic QLE2562 Host Bus Adapter. See the
QLogic Web site (http://www.qlogic.com) for the most complete and up-to-date information.

Fibre Channel Specifications


Negotiation:
IOPS:
Class of service:
Topology:
Protocols:
PCIe Express Interface
Compliance:

8/4/2Gbps auto-negotiation
200,000 initiator and target IOPS per port
2 and 3
FC-AL, FC-AL2, point-to-point, switched fabric
FCP-3-SCSI
FC-Tape (FCP-2)
PCIe Express Base Specification rev. 2.0
PCIe Express Card Electromechanical Specification rev. 2.0
PCIe Bus Power Management Interface Specification rev. 1.2
PCI Hot Plug Specification rev. 1.0

Physical and Electrical:

PCIe x8 physical connector


StarPoint link training:
- Maximum x4 lanes for Gen2 rate
- Maximum x8 lanes for Gen1 rate

Connectivity
Ports:

Dual 8Gbps Fibre Channel


SFP+ with LC-style connector

HBA Specifications
Airflow:
Power consumption:
Form factor:
Temperature:

No airflow required
6.2 Watts (typical)
Low-profile PCI Express card (6.6 in. x 2.54 in.)
0 to 55C (operating)
-40 to 70C (non-operating)
10% to 90% (operating, non-condensing)
5% to 93% (non-operating, non-condensing)
RoHS 6

Relative Humidity:
RoHS compliance:

Table G.2 Fibre Channel HBA Specifications

The following table is a description of the LED states of the QLogic QLE2562 Host Bus Adapter.
See the QLogic Web site (http://www.qlogic.com) for the most complete and up-to-date information.

Yellow
(8Gbps)

Green
(4Gbps)

Orange
(2Gbps)

Off

Off

Off

Power off

On

On

On

Power on (before firmware initialization)

Flashing

Flashing

Flashing

Yellow, Green and Amber flashing alternatively

Description

Power on (after firmware initialization)


Firmware error

Off

Off

On/Flashing

Online, 2Gbps link/I/O activity

Off

On/Flashing

Off

Online, 4Gbps link/I/O activity

On/Flashing

Off

Off

Online, 8Gbps link/I/O activity

Table G.3 LED Descriptions

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

473

System Specifications

InfiniBand Adapter Card Specifications


The following table provides basic information for the Mellanox ConnectX-2 VPI Single and Dual
Port QSFP InfiniBand and Ethernet Adapter Card. See the Mellanox Web site
(http://www.mellanox.com) for the most complete and up-to-date information.

QSFP 40Gb/s Connector:


Protocol Support
InfiniBand:

InfiniBand (Copper and optical) Max power per port 2.0 W.


Cable power budget class 2.
IBTA v1.2.1, Auto-Negotiation (40Gb/s, 10Gb/s per lane), (20Gb/s, 5Gb/s
per lane) or (10Gb/s, 2.5Gb/s per lane)

QoS:

8 InfiniBand Virtual Lanes for each port

Data rate:

QDR: InfiniBand

Connectivity:

- Interoperable with IB or 10GigE switches


- microGiGaCN or QSFP connectors
- Passive Copper cables (Direct Attach)
- External optical media adapter and active cable support
- QSFP to SFP+ connectivity through QSA

Table G.4 InfiniBand Adapter Card Specifications

PCIe Host Adapter Card Specifications


The following table provides basic information for the Dolphin Express IXH610 Adapter. See the
Dolphin Web site (http://www.dolphinics.com) for the most complete and up-to-date information.

Link Speeds:

40 Gbits/s

Application Performance:

0.81 microsecond latency (application to application)

Active Components:

IDT PES24NT6AG2 x8 Gen 2 PCI Express Chip

Topologies:

Point to point, Switched

Cable Connections:

One x8 Standard PCI Express Copper Cables

Power Consumption:

7 watts

Mechanical Dimensions:

PCI Express Card Electromechanical Specification 2.0

Operating Environment:

Operating Temperature: 0C-55C


Relative Humidity: 5%-95% non-condensing

Table G.5 PCI Express Gen2 Host Adapter Specifications

474

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Ethernet/iSCSI Adapter Card Specifications

Ethernet/iSCSI Adapter Card Specifications


The following table provides basic information for the Intel Ethernet X520 Adapter. See the Intel
Web site (http://www.intel.com) for the most complete and up-to-date information.

Data rate supported per port:

Optical: 1 GbE/10 GbE


Direct Attach: 10 GbE

Bus type:

PCI Express 2.0 (5 GT/s)

Bus width:

4-lane PCI Express and 8-lane PCI Express

Interrupt levels:

INTA, MSI, MSI-X

Operating temperature:

0C-55C (32F-131F)

Connectors:

One or two LC fiber-optic connectors


SFP+ direct attach cables

Physical dimensions:

Low-profile PCI Express: 5.73 inches long (without PCI bracket

Table G.6 iSCSI Adapter Specifications

535-0008-00 Rev 10

Violin 6000 Series Memory Array Users Guide

475

System Specifications

476

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

Index

Numerics
4kB alignment
See partitions

A
AC Power Failure, Shutting Down alarm 373
active configuration file 230, 238
backed up 231
admin role 159
access privileges 34, 119, 159
commands in Config mode 225
Admin user 34
admin username
password 158
AIX
configure initiator host 468
discover devices 469
file sets, required 467
hosts 466
MPIO 466
supported OS 467
uninstall Violin driver 469
Violin driver, installing 467
AIX compatibility 179
AIX compatibility, NACA 179
Alarm LED 370
alarms
Alarm LED states 370
commands 371
non-service affecting alarms 377385
service affecting alarms 372377
ALUA
attributes 257
definition 66
enable 66
535-0008-00 Rev 10

iSCSI-3 8
performance optimization 257
preferred port 257
settings, view 259
ARP configuration 319
Array Controller
about 19
location 12
Array status screen 148
asterisk before CLI prompt 230, 238
authenticated sign-on 248
authentication
bidirectional CHAP 248
CHAP 248
iSCSI CHAP 248
local 299
SMTP configuration 130
unidirectional CHAP 248

B
bidirectional authentication 248
block size, of LUNs 63, 191, 334
block storage
See vSHARE
block storage media devices
enabling or disabling 207209
initializing Memory Arrays 180181
read and write statistics 210
block zeroing, VAAI 212
Board Sensor Unreadable alarm 378
board status
viewing in Web interface 149
Board Status page 49, 50
boot images 114
Booting Suspended, Fans Missing alarm 372

Violin 6000 Series Memory Array Users Guide

477

C
cache media devices
read and write statistics 210
call home
auto support 128
fault reporting 128
notification 128
settings 128
call home settings 168
caution icons 3, 217
CHAP
authenticated sign-on 248
bidirectional 248
bidirectional, configure 250
requirements 249
secret, establish 249
secret, remove 251
set up iSCSI 248
show configurations 252, 328
types 248
unidirectional 248
unidirectional, configure 250
chassis
front view 13, 1516
mounting on equipment rack 11
overview of 11
rear view 14
serviceability of 11
temperature alarms
non-service affecting 378
service-affecting 376
top view of modules 12
CLI
ARP configuration 319
boot commands 309
command history 291
configuration commands 306
connecting to 227
create user account 299
diagnostic commands 303
display settings 291
hidden commands 290
logging in 227229
LUN statistics 216, 337
options 289
paging output 290
reboot 290
reload 290
See command line interface (CLI)
Standard mode
commands available 224
tcpdump 311
terminal type 291
user account commands 299
user inactivity 289
cluster
Cluster Status page 48
management address, change 123, 163
Cluster Status page 48, 49
478

command
array rebalance 242
command line interface (CLI)
ambiguous command 222
asterisk for unsaved changes 230, 238
command completion
finding options with ? 222
finding values with ? 224
tab completion 224
command descriptions 288289
command list
display with tabs 224
command modes 225
command prompts 226
INTERACTIVE commands 289
key to parameters 288
shorthand form 222
showing help 222
command modes
Config mode 225
Enable mode 225
prompt and response conventions 226
Standard mode 225
user privileges 159
commands
unified logging upload 219
Commit Changes button 230
Config mode 225
admin role 159
command prompt 226
entering 225
unsaved changes (asterisk) 226
configuration
ARP 319
e-mail 129
network bond 315
RADIUS 328
reverting to saved configuration 232
save settings
configuration file 230
file management 230, 238
saving settings 230, 238
showing 231
SMTP 130
TACAS+ 329
configuration file 230
active 230, 238
backed up 231
copying 232
deleting 232
file management 230
revert to saved configuration 232
save to a different file
example 230
saving to a different file 230
show configuration files
example 231
showing configuration 231
showing configuration files 231
active file 231

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

switching to active file 230


configuration files
changes unsaved to 226
configuration wizard
running on demand 305
configuration write
example 230
configure terminal
Config mode 225
shorthand 222
connectivity
optimize for AIX hosts 466
optimize for initiator hosts 465
optimize for Windows hosts 465
containers
configuring 180
status 51
verifying activity and status 203
Controller FPGA Overheated, System Shut Down alarm
376

Controller FPGA Overheating alarm 378


customer support 5

D
data management 253
best practices 255
scenarios 255
terminology 254
use cases 255
Data Plane Unavailable alarm 375
diagnostic tools 303
diskpart utility 426
DNS servers
configuring 315
DNS settings 124, 164
domain name CLI parameter 288

E
ECC errors 382, 384, 410
e-mail
alert consolidation 217, 317
alerts 217
configuration 129
consolidation 217
customizing 218
E-mail Settings page 129, 162, 169
events 132
network settings 129
Enable mode
command prompt 226
disable 225
monitor role 159
error messages
ambiguous commands 222
535-0008-00 Rev 10

begin with % in CLI 226


global commands 225
Ethernet Interface 14, 472
Excessive ECC Errors on VIMM alarm 382

F
Failed to Validate Configuration of VIMMs
Raid Group alarm 382
failover protection 22
fan
location 12
Fan Missing alarm 378
Fan Running Too Slowly alarm
non-service affecting
equipment alarm 379
fans 16
Fatal Flash Error, Hex-Value alarm 372
FATAL RAID Error alarm 374
fdisk utility 426
feature licenses 138, 170
Fibre Channel
CLI commands 331
protocol 177
target ports 183
file management, configuration 306
firmware
upgrading
Memory Array 237
upgrading using CLI 233
flash
alarms 373
non-service affecting 379380
service-affecting 372
Flash CPL IRQs on VIMM alarm 379
Flash Format Failed on VIMM alarm 379
Flash Sequence Number Mismatch alarm 379
flash-based media
media health 209
read and write statistics 210
show media 203
format
changing format capacity 313, 320
default capacity 21
performance tuning 424
showing current format capacity 325
free space management 279
monitor 279
reclamation process 282
reclamation rules 283
set thresholds 283
thresholds 282
Front and Rear Panel page 54
front panel
viewing in Web interface 56
full copy, VAAI 212

Violin 6000 Series Memory Array Users Guide

479

G
global default gateway 123, 164

H
help
command completion
tab completion 224
command-line help 222
question mark in CLI 222
showing in CLI 222
hidden commands, show 290
High Temperature on Board Sensor X X C alarm 378
host
AIX initiator 466
initiator 465
Windows initiator 465
host, initiator 465
hostname
CLI parameter 288
setting or clearing 315

I
I/O Timeout From Host alarm 375
ID LED 16
remotely activating 56
igroups
See initiator groups
immediate upgrade, Memory Gateway 235
immediate upgrade, system 234
initiator groups 67
configuration of 187188
create, delete 69
delete initiator 71
nested 72, 332
initiator hosts, connectivity 465
initiators
create groups 69
delete from group 71
managing 69
Insufficient VIMMs alarm 376
INTERACTIVE commands 289
interfaces
bonding of 315

ifname CLI parameter 288


physical ports 14
verifying activity and status 202
IP address
CLI parameter 288
IP address CLI parameter 288
iSCSI
authenticated sign-on 248
CHAP set up 248
target port configuration 184187

480

targets, show 325


iSCSI-3, ALUA 8

large number abbreviations 226


LED
identifying Memory Array 16
LEDs 15
Alarm LED, interpretation of states 370
libaio package 421, 430
libaio-devel package 421, 430
licenses, feature 138, 170
Linux drivers
loading
with modprobe 395
unloading 395
local authentication 299
logging
automatic upload 297
CLI severity 296
delete oldest files 297
disable 296
formats 296
overrides 295
receive 296
remote server 295
remote upload 297
rotation 296
set severity 294
show commands 298
unified upload 219, 319
LUN group 254
LUN Management
Container 59
Highlighted LUN, details 59
LUN statistics, CLI 216, 337
LUNs, information 59
LUN statistics, CLI 337
LUN Status page 51
LUNs 19
create, delete 62
creation of 63, 190191, 333334
export guidelines 194
exporting of 193195, 336337
LUN IDs 68, 186, 193, 195, 202, 337
Manage, Web Interface 59
Monitor LUNs page 110
monitoring, Web Interface 110
Read/Write Bandwidth 110, 111
Read/Write IOPs 110, 111
Read/Write Latency 110, 111
removing UDIDs 197
resizing 192
search and sort 60
specifying UDID 195
statistics, CLI 216

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

M
MAC address CLI parameter 288
Main Controller Does Not Support VIMMs alarm 377
Main Power Failure, System Shut Down alarm 373
Manage 221
LUNs 59
Manage Initiators page 69
Manage Targets page 75
management interfaces 27
RJ-45 Ethernet CLI 14
serial console port 14
serial console port CLI 227
mask
netmask format 288
Master ACM 156
connecting to Violin Web interface 143
Master Gateway
See master node
master node 114
connect to Web Interface 31
statistics, viewing 48
media
enable or disable
all media 208
read and write statistics 210
media, health status 209
Memory Array
about 8
alarms
understanding 369
rebooting 239
shutting down modules 239
version information 157
Memory Arrays, initializing for block storage 180181
Memory Gateway
boot images 114
master node, Web Interface connection 31
Memory Gateways
about 19
location 12
shutting down 236237
memory plane 18
memory, show media 203
message bar
Commit Changes button 230
modules
powering off and on 240
shutting down 239
Monitor
Monitor LUNs page 110, 111
monitor role 159
access privileges 34, 119, 159
commands in Enable mode 225
Monitor user 34
monitor username
password 158
MTBF 18

535-0008-00 Rev 10

Multiple RAID Errors alarm 374


Multiple VIMMs Failed 377

N
NACA 179
NACA bit support 179
netmask CLI parameter 288
network
bond 315
Network Interfaces
about 19
location 13
network interfaces
See interfaces
No PCIe Host Detected on Enabled Port alarm 373
No Spare Memory Modules alarm 382
nodes, cluster
cluster node id CLI parameter 288
NTP
modify settings 125

O
OpenVMS 195
over provisioning 255, 256

P
partitions
4kB alignment 425427
creating 397400
password
admin 158
change 120, 160
monitor 158
PCIe switching 10
performance optimization 257
performance testing
using Perf_Test 428432
port
CLI parameter 288
Port X Negotiated to 0 Lanes alarm 373
ports
alarms 373, 380
POSIX threads 420
Power Controllers
about 18
location 12
power supplies 16
alarms 373, 380
Power Supply Failure alarm 380
Power Supply Missing alarm 380
Power Supply Polling Failure alarm 380

Violin 6000 Series Memory Array Users Guide

481

preferred port, ALUA 257


Preparing Flash on VIMM alarm 379
Programming VIMM alarm 382
provision
over 255
thin 254, 260
thresholds, alert, limit 103
usage thresholds 256
proxy settings, Web 311

R
RADIUS configuration 328
RAID
alarms 374, 380381
automatic balancing 244
discovering unbalanced group 243
rebalance commands 242
rebalancing 242
scheduling group rebalance 245
showing rebalance settings 245
RAID Consistency Error alarm 374
RAID Group Faulted alarm 374
RAID Group Unprotected alarm 381
RAID Rebuild in Progress alarm 381
Raid Rebuild Of Group %D Completed with X Errors Starting at 4K Address Y alarm 381
RAID Rebuild of Group Completed with Errors (No Additional Information Available) alarm 381
RAID V2P Error alarm 374
rear panel
viewing in Web interface 54
reboot 290
REST 27
REST API 29
revert to saved configuration
example 232
roles
specify for a user 119, 159
user privileges 119, 158
routing
commands 316

S
save configuration 230, 238
active configuration file 230, 238
configuration file 230, 238
configuration write 230
write memory 230
schedule
modify schedule 276
schedule management 274
create schedule 274
delete schedule 275
show list 279
482

Scheduler Paused alarm 375


SCSI sessions 186, 202
SCSI-3, ALUA 66
serial cable
connecting 227
server, xinetd 311
show configuration
CLI command options 231
show configuration files
example 231
show configuration running 231
show hidden commands 290
show media 203
media health 209
options 203
show running-config 231
show stats media 210
show system alarms command 371
show system message command 371
sign-on, authenticated 248
SMTP, authentication configuration 130
snap group 254, 270
create 270
delete 271
export 273
modify 272
rename 273
rollback 272
show list 271
snapshots 263
create 264
delete 264
export 269
modify access to 269
protect 270
protected 254
rename 268
rollback 267
view information 265
SNMP 27
configure 134
events 136
management 133
settings, Web Interface 133
trap sinks 135
SNMP Traps 29
software
downloading 233
upgrading 233
Memory Gateway 235
upgrading using CLI 233
SSH 14
staged upgrade, Memory Gateway 235
Standard mode 225
command prompt 226
unpriv role 159
statistics, media read and write 210
storage media

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

read and write statistics 210


show media
options 203
status 209
Syslog 27, 28
System Booting alarm 376
System Shutdown alarm 375, 377
System Status LED 15, 370
System View 48

control inactivity 289


edit account 120, 160
password
initial value 158
privileges
admin role 34, 119, 159, 225
monitor role 34, 119, 159, 225
unpriv role 225
privileges and roles 119, 158, 159
user management 119
user accounts 119, 299

T
TACAS+ configuration 329
target ports
configuring 182
Fibre Channel ports 183
iSCSI ports, configuration of 184187
verifying port activity and status 201
targets
manage 75
Manage Targets page 75
Monitor Targets page 111
monitoring, Web Interface 111
TCP port
range of values 288
tcpdump, commands 311
Telnet 14
telnet command 224
thin provisioning 254, 260
thresholds, alert, reclaim 103
thresholds, free space 283
thresholds, usage 256
tools, diagnostic 303
trap sinks, SNMP 135

V
VAAI support 212
vcounts command 406409
veeprom command 409
VIMM
about 9
VIMM Booting (X% Complete) alarm 383
VIMM Configuration Out of Spec alarm 383
VIMM Extremely Hot 384
VIMM Failed
Excessive ECC Errors alarm 384
VIMM Failed alarm 384
VIMM Failed alarms 383
VIMM Flash Format In Progress alarm 377
VIMM Hot alarm 384
VIMM in Maintenance State alarm 385
VIMM Incompatible Formatted Capacity alarm 385
VIMM Isolated alarm 385
VIMM Shutdown alarm 384
VIMM status 49
VIMM Status LED 15, 370
VIMM Temperature Unreadable, VIMM Shut Down alarm
385

U
Unable to Poll VIMM Temperatures 375
Unformatted System alarm 373
unidirectional authentication 248
Unified Logging Upload 219, 319
unpriv role
commands in Standard mode 225
Unsupported VIMM Configuration alarm 382
upgrading
Memory Array firmware 237
Memory Gateway software 235
URL
CLI parameter 288
usage thresholds 256
usage thresholds, set 283
USB LEDs 15
used space thresholds 103
user
change password 120, 160
535-0008-00 Rev 10

VIMM Threshold Exceeded alarm 385


VIMM Unformatted alarm 385
VIMMs 20
alarms 376377, 381385
architecture 20
configurations 22
flash-based 21
location 13
slot locations 23, 24, 26
spare locations 23
spares 23
types of 21
vincident command 410
vinfo command 410412
Violin 6000
architecture 9
components 1726
models 10
performance of 21
platform 11
platform components 17

Violin 6000 Series Memory Array Users Guide

483

system specifications 472


Violin driver
AIX MPIO, install 467
AIX MPIO, uninstall 469
Violin Linux driver
installing 388392
loading
manually 394395
overview 387
uninstalling 393
Violin Utilities
installing 396, 403
running 403
Violin Web Interface
layout, overview 32
supported web browsers 33
task map 39
VMware VAAI support 212
vpartial command 413414
vpartial utility
4kB alignment, assessment of 425
vRAID
about 10
vRAID Controllers
about 19
location 13
vring utility
4kB alignment, assessment of 425426
command 415
vSHARE 19
architecture 176
configuration 177178
vstat command 416418
VXM 19
VXM technology 9
vzero command 419

W
warning icons 3
Web Admin page 126, 167
Web Interface
Administration 113, 154
Board Status page 49
Call Home Settings 128, 168
Cluster Status page 48

484

Commit Changes button 230


container status 51
DNS Settings page 124, 164
E-mail Events 132
E-mail Settings 129, 162, 169
feature licenses 138, 170
LUN Status page 51
LUN status page 51
LUNs, monitor 111
Manage LUNs 59
Monitor LUNs page 110
Monitor Targets page 111
Monitoring Overview page 106
NTP Settings page 125
RAID group 50
SNMP Events 136
SNMP Settings 133
supported Web browsers 145
targets, monitor 111
task map 39
Web Admin page 126, 167
Web interface
configuring 146
Front and Rear Panel page 54
printing screens 146
Web proxy, settings 311
Windows
initiator host 465
optimized connectivity 465
Server 2003 R2 466
Server 2008 R2 465
write memory
example 230
write terminal 231

X
xinetd server, settings 311
XTree interface
accessing 173

Z
zeroing-out data 191, 334

Violin 6000 Series Memory Array Users Guide

535-0008-00 Rev 10

You might also like