storage link user guide

42
User Guide Citrix StorageLink User Guide This document describes how to use Citrix ® StorageLink™ Version 1.0.5MP1 Author: Citrix Engineering and Program Management Date Created: August 2009

Upload: sha-foru

Post on 26-Oct-2014

105 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Storage Link User Guide

User Guide 

 

Citrix StorageLink User Guide 

This document describes how to use Citrix® StorageLink™ 

Version 1.0.5‐MP1 

Author: Citrix Engineering and Program Management 

Date Created: August 2009

Page 2: Storage Link User Guide

 

 

Citrix StorageLink User Guide

Copyright © 2009 Citrix All Rights Reserved.

Version: 1.0.5-MP1

Citrix, Inc.

851 West Cypress Creek Road

Fort Lauderdale, FL 33309

United States of America

Citrix Inc.

Disclaimers This document is furnished "AS IS." Citrix,Inc. disclaims all warranties regarding the contents of this document, including, but not limited to, implied warranties of merchantability and fitness for any particular purpose. This document may contain technical or other inaccuracies or typographical errors. Citrix,Inc. reserves the right to revise the information in this document at any time without notice. This document and the software described in this document constitute confidential information of Citrix,Inc. and its licensors, and are furnished under a license from Citrix,Inc. This document and the software may be used and copied only as permitted by such license.

The Citrix Web site also provides the latest product updates. 

If you have comments about this documentation, submit your feedback to: 

#[email protected] Trademarks Citrix, Inc., the Citrix logo, Citrix StorageLink, are trademarks of Citrix, Inc. in the United States and other countries. All other products or services mentioned in this document are trademarks or registered trademarks of their respective companies.

This product includes software developed by

Apache: http://www.apache.org/licenses/LICENSE-2.0.html

SSL: http://www.openssl.org/source/license.html

Pegasus: http://pegasus.codeplex.com/license 

ICU: http://source.icu-project.org/repos/icu/icu/trunk/license.html

Page 3: Storage Link User Guide

 

 

Table of contents Table of contents ...................................................................................... 3 

Intended Audience .................................................................................... 5 

Self‐Service Technical Support ................................................................... 5 

Standard Product Support .............................................................................. 5 

Document feedback .................................................................................. 5 

Introduction to Citrix StorageLink ............................................................. 5 

Components of StorageLink ...................................................................... 6 

Feature overview ...................................................................................... 6 

System Requirements ............................................................................... 7 

StorageLink Gateway ..................................................................................... 7 

StorageLink Manager ..................................................................................... 7 

Software prerequisites ................................................................................... 7 

The StorageLink environment ................................................................... 8 

Hypervisor hosts ............................................................................................ 9 

Storage infrastructure .................................................................................. 10 

Getting started with StorageLink Manager ............................................. 11 

The StorageLink Manager interface .............................................................. 11 

Add storage adapter credentials .................................................................. 13 

Add a hypervisor host .................................................................................. 15 

Creating a Storage Repository ...................................................................... 15 

Allocate Storage ........................................................................................... 18 

Create a Storage Profile ............................................................................... 19 

Create a Virtual Machine Template .............................................................. 20 

Prepare the VM template ............................................................................. 21 

Create VMs from template ........................................................................... 23 

Interoperable virtual machines ............................................................... 25 

StorageLink command line interface ....................................................... 25 

Basic csl syntax............................................................................................. 26 

Special characters and syntax ....................................................................... 26 

Interactive mode .......................................................................................... 27 

XML output mode ........................................................................................ 27 

Verbose output mode .................................................................................. 27 

CLI cookbook ................................................................................................ 27 

PowerShell interface ............................................................................... 38 

Page 4: Storage Link User Guide

 

 

MSCS support for StorageLink and SQLite ............................................... 39 

Troubleshooting ...................................................................................... 39 

 

 

Page 5: Storage Link User Guide

 

Intended Audience The guide is intended for experienced virtual machine administrators, storage administrators, and testers of software applications. This document assumes the reader is familiar with the following topics:  

If you have comments about this documentation, submit your feedback to: 

#[email protected] 

Self‐Service Technical Support Use the following Citrix links for self‐help resources and technical support information: 

Standard Product Support Citrix recognizes the challenges that arise when implementing and maintaining a new enterprise software solution into your organization. To ensure that a seamless and successful transition is achieved, the Citrix Technical Support Team is committed to provide world‐class customer support in a professional and dedicated manner. The Citrix Technical Support Department is open from 9 am to 6 pm EST (excluding Canadian statutory holidays). Email Support is the preferred method of communication. Each email received by our support team is tracked internally to closure and users can expect a direct response within 4 business hours. Please direct all support requests to #[email protected].

Document feedback #[email protected] 

Introduction to Citrix StorageLink Citrix StorageLink is part of the Citrix Essentials product offering. Citrix Essentials is enterprise‐class virtual infrastructure that enhances the scalability and agility of Citrix XenServer and Microsoft Hyper‐V and Virtual Machine Manager with simplified storage set‐up and operation, powerful VM lifecycle management, and dynamic server provisioning. Citrix StorageLink allows you to  

• move applications into production faster with automated lab development, test and deployment tools 

• increase business agility and speed new servers into production quickly with built‐in VM cloning and snapshot support 

• dynamically provision workloads to both virtual and physical servers from a single master VHD image 

Page 6: Storage Link User Guide

 

Citrix Essentials enables IT Professionals to accelerate virtualization projects using XenServer and/or Hyper‐V quickly, with less effort, and scale as business needs grow. 

Components of StorageLink The core of Citrix StorageLink is the StorageLink Gateway, which runs on a Windows 2003/2008 server (physical or virtual machine) and serves as a platform for managing your storage and virtual machines. 

There are three ways to manage and use the rich feature set provided by StorageLink Gateway: 

• the StorageLink Manager, a MMC‐based graphical user interface 

• the StorageLink CLI, a command‐line interface that can be used in a Windows Command Prompt 

• the StorageLink PowerShell plug‐in for Windows PowerShell, the new command line shell and task‐based scripting technology from Microsoft 

All components can be installed on the same system, or on separate physical or virtual machines running Windows 2003/2008 or Vista. 

This guide is an overview for using Citrix StorageLink Manager. The Citrix StorageLink PowerShell Guide describes the PowerShell plug‐in. 

Feature overview Citrix StorageLink has a number of key features that help simplify the lifecycle management of applications and virtual machines in your virtualized infrastructure. These key features include: 

• Rapid VM creation (UI). StorageLink allows you to form golden images (virtual machine templates) from storage volumes (LUNs) in your storage arrays along with data LUNs to enable rapid VM creation of complex servers by leveraging the cloning and snapshot capabilities of the underlying storage array hardware. 

• Improved storage utilization. This allows administrators to easily add capacity and improve utilization of their storage hardware investment by leveraging thin provisioning capabilities inherent in most modern storage arrays. 

• Lower TCO. StorageLink automates the configuration and provisioning of VM storage. Using templates, the provisioned storage is matched to the VM storage resources requirements. StorageLink reduces manual error prone tasks and ensures the VM has the necessary storage it needs. 

StorageLink provides the user with a graphical user interface, a command line interface and Windows PowerShell support. 

StorageLink graphically displays storage assets, virtualization hosts, host HBAs, and fabric information. 

Page 7: Storage Link User Guide

 

System Requirements 

StorageLink Gateway The StorageLink Gateway can be installed on a physical or virtual machine. 

Note: If you are using the Windows firewall, your firewall will be disabled automatically. If you are using a 3rd part party firewall, you must manually create a firewall rule to open port 21605, or disable your firewall all together. Another alternative is to run both the Citrix StorageLink Manager and the Citrix StorageLink service on the same machine.

Operating system  Microsoft Windows 2008 (recommended), 2003, or Vista 

RAM  1 GB or more 

Disk space  minimum of 100 MB for Gateway installation 

StorageLink Manager StorageLink Manager can be installed on a physical or virtual machine. 

Operating system  Microsoft Windows 2008 (recommended), 2003, or Vista 

RAM  1 GB or more 

Disk space  minimum of 100 MB 

Software prerequisites 

Prerequisite  Description 

Microsoft Management Console 3.0 

(required for StorageLink Manager) http://www.microsoft.com/downloads/details.aspx?FamilyID=61fc1c66‐06f2‐463c‐82a2‐cf20902ffae0&displaylang=en 

Page 8: Storage Link User Guide

 

SQL – SQLite or Microsoft SQL Server 

The StorageLink Gateway deploys with a simple embedded SQLite database, but that can be swapped out for pre‐installed Microsoft SQL Server if you so choose. There is a script called csl_db_config.cmd to help you configure the StorageLink Gateway database. The supported databases are embedded SQLite, Microsoft SQL Server 2008, and Microsoft SQL Server 2005. For Microsoft SQL Server, only Windows Authentication mode is supported. 

For setting up the StorageLink Gateway with Microsoft SQL Server, the script syntax is: 

csl_db_config mssql [Database Server Name] [Database Instance Name] [Database Name]

Also please remember to attach the StorageLink Gateway Microsoft SQL database files (csl_db.mdf and csl_db_1.ldf) to your Microsoft SQL Server database instance. The StorageLink Gateway Microsoft SQL database files are in the <% StorageLink Gateway Install Directory %\database> directory, which by default is C:\Program Files (x86)\Citrix\StorageLink\database 

For setting up StorageLink Gateway with embedded SQLite, the script syntax is: 

csl_db_config.cmd sqlite [StorageLink Gateway Install Directory]

The default StorageLink Gateway installation directory is 

c:\Program Files (x86)\Citrix\StorageLink

Microsoft Windows PowerShell 

required to use the StorageLink PowerShell plug‐in 

On Windows 2008 the Windows PowerShell feature needs to be added. This can be done from the Windows Server Manager under Features. Previous to Windows 2008, Windows PowerShell needs to be downloaded from Microsoft and installed. 

The StorageLink environment When you first install StorageLink, the service contains no information about the hypervisor hosts or the storage systems (storage arrays) in your environment. You first need one or more servers to use as hosts for Hyper‐V and/or XenServer virtual machines, and one or more of the supported storage systems. 

Page 9: Storage Link User Guide

 

Hypervisor hosts 

Hyper‐V hosts 

To act as a host for Hyper‐V virtual machines, in addition to the systems requirements for Windows Server 2008, the server must be a 64‐bit environment and support hardware‐assisted virtualization (Intel VT or AMD‐V) technology. 

On installation, a Windows 2008 Server is not configured to act as a Hyper‐V host. You must enable this capability using the Server Manager.  

IMPORTANT: StorageLink supports the RTM version of Microsoft Hyper-V only.

Pre-release versions of Hyper-V are not supported. You can check the version by opening Hyper-V Manager on the host console, and selecting About from the Help menu.

Windows 2008 R2 Beta is also not supported. A future release of StorageLink will have full support for Windows 2008 R2.

To enable a Windows 2008 Server to act as a Hyper‐V host 

1. Select Hyper‐V from the list of roles the wizard presents. 

2. Reboot the server. 

IMPORTANT: After the reboot, make sure that you open Hyper-V Manager and accept the EULA that it will present to you on first launch.

Next, make sure that there is a physical NIC for Hyper‐V Manager to use to connect to the virtual NICs it creates for virtual machines. Otherwise, a virtual machine VM created by StorageLink will not have a network adapter. 

To set up an external NIC for Hyper‐V virtual machines 

1. Open Hyper‐V Manager. 

2. Select Virtual Network Manager from the Actions pane. 

3. Select External, then click the Add button. 

4. From the list of available NICs, select the card for this new virtual network. 

5. Click OK. 

Finally, if the storage system you are working with uses the iSCSI protocol, make sure that the host’s iSCSI initiator is enabled. 

Note: Hardware iSCSI initiators are not supported in the current release of StorageLink.

Page 10: Storage Link User Guide

 

10 

To enable the iSCSI initiator 

1. From the Start menu, select Administrative Tools ‐> iSCSI initiator, and confirm that you do want to enable the iSCSI initiator service when so prompted. 

XenServer hosts 

To act as a host for XenServer virtual machines, the server must be a 64‐bit environment. For running Windows virtual machines, it must also support hardware‐assisted virtualization (Intel VT or AMD‐V) technology. 

Storage infrastructure The following table summarizes the available storage system adapters. 

Storage Adapter  Considerations for use with StorageLink 

EMC CLARiiON (SMI‐S)  Supports EMC CLARiiON CX3 and CX4 series storage systems 

Note: For snapshots made of XenServer 5.5 virtual machines, the XenCenter operations New VM from snapshot, Create template from snapshot, and Export snapshot as template (and their command‐line equivalents) operate slowly as the hardware does not support creation of hardware clones from snapshots. 

HP Enterprise Virtual Array (EVA) (SMI‐S) 

Supports EVA 4100/4000/4400, 6000/6100, 8000/8100 series  The HP Enterprise Virtual Array comes with Command View EVA management software. When the management software is installed, there is an option for installing the EVA SMI‐S provider. This provider must be installed. StorageLink was tested for use with HP Storage Works Command View EVA version 8.0. 

Note: For snapshots made of XenServer 5.5 virtual machines, the XenCenter operations New VM from snapshot, Create template from snapshot, and Export snapshot as template (and their command‐line equivalents) operate slowly as the hardware does not support creation of hardware clones from snapshots. 

Page 11: Storage Link User Guide

 

11 

Storage Adapter  Considerations for use with StorageLink 

HP Modular Smart Array (MSA) 2000 series 

Supports all HP MSA 2000 series storage systems ActivePerl must be installed on the host where the StorageLink Service was installed. This is a free download from ActiveState.com:

http://www.activestate.com/downloads/ 

Note: For snapshots made of XenServer 5.5 virtual machines, the XenCenter operations New VM from snapshot, Create template from snapshot, and Export snapshot as template (and their command‐line equivalents) operate slowly as the hardware does not support creation of hardware clones from snapshots. 

HP LeftHand P4000 Series (SAN/iQ) 

Supports HP LeftHand P4000 series storage systems. HP CLiQ must be installed on the host where StorageLink Service is installed. Additionally, the iSCSI service must be started on the host where CLiQ is installed. The StorageLink service does not utilize this locally running iSCSI initiator, but it is required for the proper functioning of CLIQ.Please contact your local HP representative for download information. 

NetApp/IBM N Series Storage Adapter 

Supports NetApp FAS/S/V series, IBM N series, and IBM N Gateway series storage systems No additional software or configuration is required. Your storage system should have ONTAPI 1.6 or newer firmware installed. 

Universal SMI‐S Fabrics  Supports all models of Brocade Fibre Channel switches 

Getting started with StorageLink Manager Once you have your hypervisor hosts and storage systems configured for use, you can begin to use StorageLink. 

The following sections illustrate the process. 

The StorageLink Manager interface To launch StorageLink Manager, select Citrix StorageLink Manager from the Start menu. 

Page 12: Storage Link User Guide

 

12 

When StorageLink Manager launches, it prompts you to connect to the StorageLink Gateway: 

You can test the connection by clicking the Test Connection button. If you have connectivity to the Gateway, the dialog box will indicate this with a message that says “passed” to the right of the Test Connection button.  

In this example, the StorageLink service is installed on the same server as the StorageLink Manager, so localhost can be used instead of the specific machine name or IP address. 

After you have connected to the Gateway, the StorageLink Manager interface looks like the figure below. It has three distinct sections: 

• The left hand navigation pane allows you to navigate through the various working areas available to you in StorageLink by selecting the particular area in the lower part of the panel. Once selected, the working area will display in the tree view above as a parent node, which can be expanded to view any available child nodes. Selecting a working area sets the state 

Page 13: Storage Link User Guide

 

13 

of the other two parts of the interface. The working areas in StorageLink are Hypervisor Hosts, Virtual Machines, Storage Systems, Templates, Jobs, and Administration. 

• The center content pane has 2 tabs: the Home tab has a series of links arranged in sequence to help you get started when you begin to use StorageLink. These links trigger a dialog box or wizard appropriate to the task. The Home tab contains the same content regardless of working area. The General tab displays specific detail about the currently‐selected node of the left navigation pane. 

• The right hand action pane is also divided into an upper and lower section. The upper section has a list of tasks that can be performed at any time; contains the same content regardless of working area.  The actions displayed in the lower part of the panel correspond to actions that can be performed in the current working area on the currently selected object node in the navigation pane. For example, in the figure above, the Hypervisor Hosts working area is selected; therefore, the actions in the lower part of the pane are actions that apply to the hypervisor hosts as a group. If a specific hypervisor host was selected, the actions that apply to a specific hypervisor host would appear. 

Note that there is usually more than one way to initiate an action in StorageLink Manager. You can click an action in the Actions pane; you can select an action from the Actions menu; or you can right‐click on a node in the Navigation pane and choose from the context menu of actions that appears. 

Also, note that some system objects can appear in more than one working area. For example, in the Hypervisor Hosts working area, a specific hypervisor host is an expandable node that includes virtual machines as one of its subnodes. If you select a specific virtual machine node, the center and right panes are the same as you would see had you originally been in the Virtual Machines working area and selected a specific virtual machine. 

The following sections illustrate the process of using StorageLink, up through the creation of a virtual machine. The same sequence of steps is offered interactively in the Home tab of the center pane. 

To follow these steps, you will need a Windows Vista installation ISO available to the hypervisor host. 

Add storage adapter credentials You add storage systems by providing management credentials to the appropriate Storage Adapter. A Storage Adapter is like a driver for a specific vendor/model of storage system. There is also a vendor‐independent Storage Adapter called the Universal SMI‐S Storage Adapter which is used with SMIS‐compliant hardware like the HP EVA. 

To add a storage system 

1. Click Storage Infrastructure in the lower half of the left navigation pane to display the Storage Infrastructure work area, then Add Storage Adapter Credentials from the lower half of the Actions pane. The following dialog box appears: 

Page 14: Storage Link User Guide

 

14 

Note: Usage of non-ASCII strings is not supported in this release of StorageLink Manager

Storage volumes and storage repositories names must be only alphanumeric ASCII strings, as they are passed to the hardware, and the hardware vendors do not support non-alphanumeric ASCII strings.

Non-ASCII strings in description fields is currently not supported. Support for Unicode strings for the description field is planned for future release.

2. In the dialog box that appears, select the Storage adapter from the pull‐down list, provide a Name, the CIMOM namespace and CIMOM IP address (for SIMS‐S compliant storage systems), the Port number, the User name, and Password; repeat the password in the Confirm password field; then click OK. 

Note: Some fields become grayed out depending on the storage adapter type selected.

Your storage system displays in the left hand panel after discovery has completed. Please see the Job view for detailed progress of the discovery of your storage systems and fabrics. 

If you are using Brocade switches in your environment, and you have set up all your physical cabling, StorageLink provides automatic fabric zoning. Automatic fabric zoning is enabled only if you give the service credentials for accessing a Brocade SMIS CIMOM configured with your fabric. If you don’t set up a Brocade SMIM CIMOM, the service will skip over zoning operations. 

Page 15: Storage Link User Guide

 

15 

Add a hypervisor host In addition to adding a storage system to StorageLink’s storage infrastructure, you need to add your hypervisor hosts. 

Important: Before you can add the a Hyper-V host to the Gateway, you must have the Hyper-V role enabled, and have opened Hyper-V Manager to accept the end user license agreement (EULA).

To add a hypervisor host 

1. Click on Add Hypervisor Host from the top half of the right hand action pane. 

2. Fill in your credentials. Be sure to add the local Administrator password for the host rather than the Domain Administrator password. 

3. Click OK. 

Once you have added your hypervisor host, it will show up in the tree control in the left pane, when you are in the Hypervisor Hosts work area. 

Clicking Refresh in the right hand panel will ensure that you are getting the latest content in the views in the StorageLink Manager. 

Creating a Storage Repository 

A storage repository is a template with a defined set of capabilities for creating storage volumes from your storage system. The storage repository is also a container that keeps track of all the storage that you have allocated using the repository. Also, when new virtual machines are created using virtual machine templates which refer to storage volumes contained in the repository, the snapshots and clones created through the use of a virtual machine template are deposited back into the repository where the original/source storage volumes reside. The exception is when the new virtual machine is deployed into a different XenServer resource pool, as in such cases the newly created storage volumes will be placed into a storage repository in that XenServer resource pool. If no storage 

Page 16: Storage Link User Guide

 

16 

repository exists in the target XenServer resource pool which is suitable for the new storage volumes, one will be created for you automatically. 

You can create multiple storage repositories referring to the same storage pool in the same storage system, but a given storage volume can only reside in one storage repository. 

In the above example we have two repositories, one which contains our OS boot storage volumes, and a second for general use. You can add and remove storage volumes to/from a repository, and you can even provision storage outside of StorageLink and add that to the repository using the Add/Remove Storage Volumes dialog. 

To create a storage repository 

1. Select Create Storage Repository from the upper half of the Actions pane. 

2. The Create Storage Repository wizard appears. Enter a Name, an optional Description, and select the Storage system that will host the storage for this repository. For Host group selection, choose either Microsoft Hyper‐V or Citrix XenServer and select from the entries in the pulldown list. (This list will show Microsoft Clustering Services host groups if Hyper‐V is selected, or XenServer pool masters if XenServer is selected.) 

Page 17: Storage Link User Guide

 

17 

Click Next to continue.

3. In the next page of the wizard, define the repository settings (the set of available settings depends on the storage system vendor/model and the configuration of the storage pool you’ve selected): 

• identify the Storage pool for the storage repository 

• select the Raid type 

• set the Provisioning type (Default, Thick or Thin) 

• set the Provisioning options (for example, deduplication) 

• set the storage Protocol used to connect the hypervisor host to the storage (iSCSI, Fibre Channel, or Auto to have the system choose) 

Click Next to continue. 

Page 18: Storage Link User Guide

 

18 

4. The storage repository can be populated with existing pre‐created storage volumes resident in the storage array, or new reference storage volumes can be created dynamically. In this example, we choose to allocate a new storage volume to the storage repository after the repository has been created.  

Click Finish to continue. 

Once you have added your storage repository, it will show up in the tree control in the left pane, when you are in the Storage Repositories work area. You see can details about the storage repository in the General tab of the center pane. If you created a Storage Repository for a XenServer resource pool, it will also show up in XenCenter, where you can begin utilizing it for virtual machine operations. 

Allocate Storage The next step is to select your new storage repository and allocate a raw storage volume from it. You’ll use this volume as your boot device in your storage profile. 

To allocate storage for the desktop boot image 

1. Select the Storage System that your new repository was created from and click Refresh. 

2. Select the storage repository, and click Create Storage Volume from the lower half of the Actions pane. 

3. The Create Storage Volume dialog box appears. Provide a Storage volume name for the storage volume (for this example we’ll use VistaImage) and a Size (for this example we’ll use 30 GB). 

Page 19: Storage Link User Guide

 

19 

A new 30‐GB reference storage volume shows up under the storage repository. 

Create a Storage Profile The storage profile is one component of a virtual machine template. It contains the list of storage volumes to be snapshotted/cloned when the virtual machine template is instantiated. 

To create a Storage Profile 

1. Click Virtual Machine Templates in the lower half of the left navigation pane to display the Virtual Machine Templates working area, then Create Storage Profile from the lower half of the Actions pane. The following dialog box appears: 

2. Provide a Name, and an optional Description. Select the Storage repository containing the pool of storage, and identify a storage volume containing a Boot storage volume. The boot storage volume will be the 

Page 20: Storage Link User Guide

 

20 

boot disk (C drive) for the virtual machine. It is possible to add optional data storage volumes that would become the other data drives (D, E, etc.) drives in the virtual machine. 

3. Click OK. 

The new profile appears under the Virtual Machine Templates node. 

Create a Virtual Machine Template The Virtual Machine Template is comprised of two key components: 

• the Storage Profile, which contains a list of Storage Volumes to be cloned or snapshot when the template is instantiated 

• the Hardware Profile, which indicates how much memory and the number of virtual CPUs to allocate for each new VM that is created from the template 

The following diagram outlines the relationship between the VM template, the Storage Profile, and the Hardware Profile. You can reuse Storage Profiles with different VM templates, and you can reuse Hardware Profiles with different VM templates as well. 

It is recommended that you first create a Storage Repository so that you can allocate storage volumes to the Storage Repository (SR) for use with Storage Profile creation. If your storage administrator has already allocated storage volumes with OS boot images already installed on them, you can select your SR from the tree and use the Edit Storage Volume Settings dialog box to add those pre‐created storage volumes to the SR. 

The following sequence diagram outlines the basic procedure for creating a new Virtual Machine Template. 

When you create a new virtual machine template using a newly‐allocated Storage Volume with no OS boot image on it, there are some additional steps you must take to prepare your VM template. 

In this example, we will be using the storage profile we just created in the previous example. 

Page 21: Storage Link User Guide

 

21 

To create a Virtual Machine Template 

1. Click Virtual Machine Templates in the lower half of the left navigation pane to display the Virtual Machine Templates working area, then Create Virtual Machine Template from the lower half of the actions pane. The following dialog box appears: 

2. Enter a Name and, if desired, an optional Description. Select your Storage profile, and choose a Hardware profile from the drop‐down list that best meets your needs. 

3. Click OK. 

The new template appears under the Virtual Machine Templates node. 

Prepare the VM template In this example, using a Hyper‐V host, we need to prepare the template with an unattended installation of the operating system, in this case Windows Vista. 

To prepare the VM template 

1. In the Hyper‐V Manager or SCVMM console, create a virtual machine without a hard drive (not shown here). In this example, we have created a virtual machine called VistaImage VM. 

2. In StorageLink Manager, click Storage Repositories in the lower half of the left navigation pane to display the Storage Repositories working area. Select the storage profile created earlier, then select Import Storage Volumes to VM from the lower half of the actions pane 

3. Choose the VistaImage storage volume that was created in the Allocate Storage section above and click the checkbox next to the storage volume in the lower part of the dialog box. 

Page 22: Storage Link User Guide

 

22 

Click OK to attach the storage to the VM. 

4. Return to the Hyper‐V or SCVMM console and verify that the disk was attached to the VistaImage VM virtual machine by checking its virtual machine settings (right‐click on the virtual machine in the list and select Settings from the context menu).  

5. Double‐click on VistaImage VM to open its console. From the console’s window, choose DVD drive > Insert Disk from the Media menu and browse to the location of your Windows Vista ISO. 

6. From the virtual machine’s console, select Start from the Actions menu. The virtual machine will boot off the ISO you just attached and begin the operating system installation process. 

7. When the operating system completely loads and sets the virtual machine’s configuration settings it will reboot; at this point, power off the virtual machine. 

IMPORTANT: Failure to shut down the machine after the first reboot may cause further deployments based on this image to fail.

8. From the Hyper‐V or SCVMM console, delete the VistaImage virtual machine. The virtual machine is destroyed, but the storage volume containing the image you prepared from it still exists and is attached to your virtual machine template. 

The image contained on the VistaImage storage volume in the StorageLink storage repository named My Storage Repository is now ready for deployment. 

Page 23: Storage Link User Guide

 

23 

Create VMs from template In this example we create a virtual machine on a Hyper‐V host using the desktop template built from a base desktop hardware profile and a storage profile that contained an unattended install of the Microsoft Windows Vista operating system. With a few simple clicks using the StorageLink Manager’s Create Virtual Machine wizard, we can create any number of desktop VMs based on this template and assign them to Hyper‐V hosts. The desktop virtual machines will get automatically configured and named after the first boot. 

To create virtual machines from a template 

1. From the upper half of the actions pane, choose Create Virtual Machines(s).  

2. From the VM template drop down, choose the DesktopTemplate created earlier. Click Next. 

Page 24: Storage Link User Guide

 

24 

3. Enter a base Name for the virtual machine. For each virtual machine created, StorageLink will append 00, 01, 02, etc. Select the Hypervisor host that will run the newly created virtual machine. From the Protocol preference field, select the storage protocol to connect the storage to the virtual machine. From the Copy type field, select snapshot. (A snapshot is used when you want a base image and each machine gets a private write area. Snapshots save significant disk space. The other copy type is clone, which completes instantly, but creates a complete copy of the data.) Choose the Number of virtual machines you wish to create (for example, 5). 

Click Next to continue. 

4. Review the information and click Finish

Page 25: Storage Link User Guide

 

25 

The new virtual machines show up under the Virtual Machine view in StorageLink Manager.  

Virtual machines are not started automatically. Select them and click Start from the actions menu. 

The virtual machine state is not updated automatically after an action. You need to click Rescan to see the current state. For example, if you start a virtual machine, the virtual machine still appears to be off in StorageLink Manager until you do a rescan. 

Note: After you start your virtual machines on a Hyper-V host, you will need to insert the Hyper-V integration services disk into them to ensure that networking works correctly. Please refer to Microsoft's Hyper-V Manager documentation for instructions on how to do this.

After you start your virtual machines on a XenServer host, you will need to install the XenServer Tools. Please refer to the XenServer and XenCenter documentation for instructions on how to do this.

Interoperable virtual machines If you want a virtual machine image to run on either Hyper‐V or XenServer hosts, you need to install the paravirtualized tools for either of the hypervisors in the virtual machine image. Both Hyper‐V and XenServer paravirtualized tools prep the image in such a way that it will boot on either hypervisor. 

• For a Hyper‐V virtual machine, you need to install the Integration Services. 

• For XenServer virtual machine, you need to install the XenServer Tools. 

Once this is done, you can take an image created on one hypervisor and create a virtual machine from the template on the other hypervisor. 

In addition, you can also migrate a virtual machine from a Hyper‐V host to a XenServer host or vice‐versa. 

If you plan on running the image from either hypervisor type, then it is best to save the image after you have installed both sets of paravirtualized tools. 

StorageLink command line interface This section describes various operations that can be performed with the StorageLink command line interface (CLI), csl.exe. The csl CLI enables the writing of scripts for automating system administration tasks and allows integration of StorageLink into an existing IT infrastructure.  

The csl command line interface is installed by default with the StorageLink Manager installation.  

To use it, open a Windows Command Prompt and change directories to the directory where the file resides (typically C:\Program Files\Citrix\StorageLink\Client or C:\Program Files

Page 26: Storage Link User Guide

 

26 

(x86)\Citrix\StorageLink\Client for 64‐bit installations), or add its installation location to your system path.  

Basic help is available for CLI commands on‐host by typing:  

csl.exe help=<operation>

A list of the most all csl commands is displayed if you type:  

csl.exe help

Basic csl syntax  The basic syntax of all csl CLI commands is:  

csl.exe <operation> <argument=value> <argument=value> ...

Each specific command contains its own set of arguments that are of the form argument=value. Some commands have required arguments, and most have some set of optional arguments. Typically a command will assume default values for some of the optional arguments when invoked without them.  

Most of the commands have a abbreviation available to minimize typing; i.e. the operations sr‐create and storage‐repository‐create are the same.  

If the csl command is executed remotely, additional connection and authentication arguments are used. Use the following syntax to execute command remotely:  

csl.exe server=HOSTNAME[:PORT][,USERNAME,PASSWORD] <operation>

The server argument is used to specify the hostname or IP address. The username and password arguments are used to specify credentials.  

The optional port argument can be used to specify the service port on the remote StorageLink Gateway host (defaults to 21605).  

Example: On the local StorageLink Gateway host:  

csl.exe vm-list

Example: On the remote XenServer host:  

csl server=<hostname>,<username>,<password> vm-list

Special characters and syntax  To specify argument/value pairs on the csl.exe command line, write  

argument=value

without quotes, as long as value doesn't have any spaces in it. There should be no whitespace in between the argument name, the equals sign (=), and the value. Any argument not conforming to this format will be ignored.  

For values containing spaces, write:  

argument="value with spaces"

Page 27: Storage Link User Guide

 

27 

Interactive mode  The csl CLI supports running as an interactive shell. The syntax of entering the interactive shell is:  

csl.exe

After entering the interactive shell, you can execute commands by typing in the operation name without the csl.exe prefix.  

If the csl interactive shell should connect remotely, additional connection and authentication arguments are used. Use the following syntax to execute the interactive shell remotely:  

csl.exe server=HOSTNAME[:PORT][,USERNAME,PASSWORD]

XML output mode  The csl CLI supports displaying the output of commands structured as XML. To specify enabling XML output, use the following syntax:  

csl.exe <operation> xml

Verbose output mode  The csl CLI supports displaying the output of some commands more verbosely than the standard output. This will display the less‐frequent used properties of objects. To specify enabling the verbose output, use the following syntax:  

csl.exe <operation> verbose.

N.B. The verbose flag can be used together with the xml flag.  

CLI cookbook 

Add storage adapter credentials 

Before adding any storage credentials, you will first need a list of storage adapters supported on the system: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sa-list Storage Adapters: Storage Adapter: display name: EMC CLARiiON Storage Adapter (SMI-S) friendly name: EMC CLARiiON Storage Adapter (SMI-S) cred input options: 49215 desc: Supports EMC Clariion CX3 & CX4 series storage systems storage adapter ID: EMC_CLARIION ipAddress: port #: 0 username: password: library: cslsa_smis_storage_system.dll

… etc. for the remaining adapters. 

Next, add the storage credentials for the storage array to StorageLink Gateway: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sc-add adapter-id=NETAPP ipaddress=10.219.101.232 username=root password=xenroot Storage Management Credentials: display name: xenadu-2

Page 28: Storage Link User Guide

 

28 

friendly name: xenadu-2 uuid: d2cebadd-d4f8-421d-a399-823cfd29cfa9 storage adapter ID: NETAPP ipAddress: 10.219.101.232 port #: 0 username: root password: xenroot context: namespace: Storage Systems: ssid: NETAPP__LUN__0ADB65E9

Next, confirm that the storage credentials were added to StorageLink Gateway: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sc-list Management Credentials: Storage Management Credentials: display name: xenadu-2 (10.219.101.232) friendly name: xenadu-2 uuid: d2cebadd-d4f8-421d-a399-823cfd29cfa9 storage adapter ID: NETAPP ipAddress: 10.219.101.232 port #: 0 username: root password: ******** context: namespace: Storage Systems: ssid: NETAPP__LUN__0ADB65E9

If you are using Brocade switches in your environment, and you have set up all your physical cabling, StorageLink provides automatic fabric zoning. Automatic fabric zoning is enabled only if you give the service credentials for accessing a Brocade SMIS CIMOM configured with your fabric. If you don’t set up a Brocade SMIM CIMOM, the service will skip over zoning operations 

View storage system details 

You can use the CLI to view details of the storage systems that are connected to the StorageLink Gateway 

List the storage systems connected to StorageLink Gateway: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe ss-list Storage System: friendly name: xenadu-2 display name: NetApp FAS3050 (xenadu-2) vendor: NetApp model: FAS3050 serial #: 1070453 ssid: NETAPP__LUN__0ADB65E9

Make note of the value in ssid field. This will be needed for all follow on commands around querying the storage system. To get more information about the storage system: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe ss-get-info ssid=NETAPP__LUN__0ADB65E9 Storage System: friendly name: xenadu-2 display name: NetApp FAS3050 (xenadu-2) vendor: NetApp model: FAS3050 serial #: 1070453 ssid: NETAPP__LUN__0ADB65E9 system capabilities: : PROVISIONING : THIN_PROVISIONING : MAPPING : MULTIPLE_STORAGE_POOLS : LUN_GROUPING : DEDUPLICATION : DIFF_SNAPSHOT : REMOTE_REPLICATION

Page 29: Storage Link User Guide

 

29 

: CLONE : REQUIRES_STORAGE_POOL_CLEANUP protocol support: : FC : ISCSI : NFS : CIFS Snapshot Methods: Snapshot Method: name: LUNClone display name: max snapshots: 128 supported node types: : STORAGE_VOLUME snapshot types: : DIFF_SNAPSHOT : IS_DEFAULT snapshot capabilities: : THIN_PROVISIONED_TARGET : AUTO_PROVISIONED_TARGET Snapshot Method: name: SplitLUNClone display name: max snapshots: 128 supported node types: : STORAGE_VOLUME snapshot types: : CLONE snapshot capabilities: : THIN_PROVISIONED_TARGET : AUTO_PROVISIONED_TARGET

As you can see, this output provides details about the capabilities of the storage array – snapshot capabilities, system capabilities, protocol support, etc. 

Sometimes, you might want the list of host initiators that are connected to this storage array: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe ss-init-list ssid=NETAPP__LUN__0ADB65E9 Storage System Initiator Ports: Initiator Port: port id: 21:00:00:e0:8b:88:f8:2c friendly name: 21:00:00:e0:8b:88:f8:2c display name: 21:00:00:e0:8b:88:f8:2c storage system: NETAPP__LUN__0ADB65E9 protocol type: FC host type: 1 Initiator Port: port id: 21:00:00:e0:8b:9d:90:13 friendly name: 21:00:00:e0:8b:9d:90:13 display name: 21:00:00:e0:8b:9d:90:13 storage system: NETAPP__LUN__0ADB65E9 protocol type: FC host type: 1 Initiator Port: port id: iqn.1991-05.com.microsoft:jandakot.cluster.acme.com friendly name: iqn.1991-05.com.microsoft:jandakot.cluster.acme.com display name: iqn.1991-05.com.microsoft:jandakot.cluster.acme.com storage system: NETAPP__LUN__0ADB65E9 protocol type: ISCSI host type: 1

… etc. for the remaining initiator ports. 

You can also look at the target ports on the storage array: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe ss-target-list ssid=NETAPP__LUN__0ADB65E Storage System Target Ports: Target Port:

Page 30: Storage Link User Guide

 

30 

port id: 50:0a:09:81:86:57:c8:b0 friendly name: 0c display name: 0c storage system: NETAPP__LUN__0ADB65E9 protocol type: FC Target Port: port id: 50:0a:09:82:86:57:c8:b0 friendly name: 0d display name: 0d storage system: NETAPP__LUN__0ADB65E9 protocol type: FC Target Port: port id: 10.219.101.233 friendly name: 10.219.101.233 display name: 10.219.101.233 storage system: NETAPP__LUN__0ADB65E9 protocol type: ISCSI port iqn: iqn.1992-08.com.netapp:sn.101173424

The following command lists the storage pools on the array (note that the sp‐list command shows a flat list of all storage pools as output, even though some pools may have a hierarchical relationship with other pools): C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sp-list ssid=NETAPP__LUN__0ADB65E9 | more Storage Pool: display name: aco_sr friendly name: aco_sr storage pool ID (SPID): 6d924df2-1598-11de-acfb-00a098032b86 parent storage pool ID: 616b9560-ab88-11dd-acad-00a098032b86 storage system ID (SSID): NETAPP__LUN__0ADB65E9 total size (MB): 9802 free space (MB): 9802 is default pool: No status: 0 provisioning options: supported raid types: : RAID4 supported node types: : NFS : CIFS : STORAGE_VOLUME supported provisioning types: : FULL Storage Pool: display name: adf_c7d6a6a3_f5ed_4edd_8690_986b14e247fe friendly name: adf_c7d6a6a3_f5ed_4edd_8690_986b14e247fe storage pool ID (SPID): 88da2c92-1674-11de-acfb-00a098032b86 parent storage pool ID: 616b9560-ab88-11dd-acad-00a098032b86 storage system ID (SSID): NETAPP__LUN__0ADB65E9 total size (MB): 9802 free space (MB): 9802 is default pool: No status: 0 provisioning options: supported raid types: : RAID4 supported node types: : NFS : CIFS : STORAGE_VOLUME supported provisioning types: : FULL Storage Pool: display name: aggr0 friendly name: aggr0 storage pool ID (SPID): 838448e0-3027-11dd-a299-00a098032b86 parent storage pool ID: storage system ID (SSID): NETAPP__LUN__0ADB65E9 total size (MB): 58122 free space (MB): 178 is default pool: Yes

Page 31: Storage Link User Guide

 

31 

status: 0 provisioning options: supported raid types: : RAID6 supported node types: : NFS : CIFS : STORAGE_VOLUME supported provisioning types: : FULL : THIN

You can get more information about a particular storage pool by using the following command: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sp-get-info ssid=NETAPP__LUN__0ADB65E9 spid=838448e0-3027-11dd-a299-00a098032b86 Storage Pool: display name: aggr0 friendly name: aggr0 storage pool ID (SPID): 838448e0-3027-11dd-a299-00a098032b86 parent storage pool ID: storage system ID (SSID): NETAPP__LUN__0ADB65E9 total size (MB): 58122 free space (MB): 178 is default pool: Yes status: 0 provisioning options: supported raid types: : RAID6 supported node types: : NFS : CIFS : STORAGE_VOLUME supported provisioning types: : FULL : THIN

Similarly, you can get information about storage volumes on a storage system by using the sv‐list and the sv‐get‐info command.

Add hypervisor host 

Add a host to StorageLink Gateway as follows: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe host-add hostname=10.219.245.23 username=baehv\Administrator password=pass1234 Host Info: display name: 10.219.245.23 hostname: 10.219.245.23 uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf IP address: 10.219.245.23 hypervisor type: 1 OS type: Microsoft Windows Server 2008 Enterprise OS version: Service Pack 1 RAM (in MB): 8186 CPUs: 2 username: baehv\Administrator password: xenroot Host Initiators: Initiator: initiator name: 20-00-00-1B-32-01-5A-07 uuid: 63f082c1-cfa9-4531-9161-91a1de05387a display name: 20-00-00-1B-32-01-5A-07 initiator tag: PORT_1 chap password: chap username: host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf host name: 10.219.245.23 is virtual: false initiator type: 4 Ports: port: 21-00-00-1B-32-01-5A-07 Fabric: 10-00-00-05-1E-34-6D-42 Port State: Online Initiator:

Page 32: Storage Link User Guide

 

32 

initiator name: 20-01-00-1B-32-21-5A-07 uuid: 2b8625a0-bfa5-48a0-84f8-cd0f855cc968 display name: 20-01-00-1B-32-21-5A-07 initiator tag: PORT_2 chap password: chap username: host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf host name: 10.219.245.23 is virtual: false initiator type: 4 Ports: port: 21-01-00-1B-32-21-5A-07 Fabric: 00-00-00-00-00-00-00-00 Port State: Offline Initiator: initiator name: iqn.1991-05.com.microsoft:davinci.baehv.acme.com uuid: 52105770-688b-4e7d-afe3-441af8ccf04a display name: iqn.1991-05.com.microsoft:davinci.baehv.acme.com initiator tag: PORT_3 chap password: chap username: host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf host name: 10.219.245.23 is virtual: false initiator type: 2 Ports: port: iqn.1991-05.com.microsoft:davinci.baehv.acme.com Port State: Online Virtual Machines: Virtual Machine: display name: Manager hostname: Manager IP address: Manager uuid: DC93B15C-D998-4F19-9F91-C84F36FDE042 parent host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf OS type: OS version: RAM (in MB): 512 CPUs: 1 VM state: XCMN_VM_STATE_RUNNING

The command returns with the host connected, and also shows any virtual machines running on the host. 

Hypervisor host groups 

Host groups are collections of hypervisor hosts. For Hyper‐V, host groups represent failover cluster groups of hosts. For XenServer, host groups represent pools of hosts. When you add a host to StorageLink Gateway, it will detect if it is in a Windows failover cluster or XenServer pool and add all of the hosts that are in that host group. 

The command host‐group‐list lists all the hosts groups connected to the StorageLink Gateway: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe host-group-list

The command host‐group‐get‐info lists information about a specific host group. C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe host-group-get-info groupname=mygroup

You can specify either a groupname or a hostgroupuuid. 

The command host‐group‐remove removes a host group, along with all of the contained hosts, from the StorageLink Gateway. This action does not destroy any virtual machines or storage associated with these hosts. C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe host-group-remove groupname=mygroup

Page 33: Storage Link User Guide

 

33 

If a host is part of a host group, then you cannot remove that host by itself. You must remove the host group as a whole. 

You can specify either a groupname or a hostgroupuuid. 

Create storage repository  

Before creating a storage repository, you will need to identify a storage pool on which to create the Storage Repository. You can use the sp‐list command described above to identify an appropriate pool. 

Create a storage repository as follows (italicized arguments are optional): C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sr-create name=MyTestSR ssid=NETAPP__LUN__0ADB65E9 spid=616b9560-ab88-11dd-acad-00a098032b86 raid-type=RAID4 provisioning-type=THICK Storage Repository: name: MyTestSR uuid: b825edad-2dd1-42ee-8d04-3010ad015d0f display name: MyTestSR storage system: NETAPP__LUN__0ADB65E9 storage pool: 6c849b78-197f-11de-acfc-00a098032b86 raid type: RAID4 desc: protocol type: ALL provisioning type: THICK use deduplication: 0

Allocate storage on a storage repository 

You can create a new volume on the array, or add an existing volume to the SR. In this example, we will create a volume on the array, and then add it to the SR. C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sv-create name=MyTestLUN size=20G ssid=NETAPP__LUN__0ADB65E9 spid=616b9560-ab88-11dd-acad-00a098032b86 raid-type=RAID4 Storage Volume: display name: /vol/storagelink_fv_00/MyTestLUN friendly name: /vol/storagelink_fv_00/MyTestLUN size: 20480 used: 0 access: RW serial number: C4dbK4ORyUyD storage volume ID (SNID): NETAPP__LUN__0ADB65E9__433464624B344F5279557944 storage system ID (SSID): NETAPP__LUN__0ADB65E9 storage pool ID (SPID): 047f0d18-1981-11de-acfc-00a098032b86 node type: STORAGE_VOLUME is snapshot: No

Now add it to the SR: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sr-storage-add sr-uuid=b825edad-2dd1-42ee-8d04-3010ad015d0f svid-list=NETAPP__LUN__0ADB65E9__433464624B344F5279557944 Storage Repository: name: MyTestSR uuid: b825edad-2dd1-42ee-8d04-3010ad015d0f display name: MyTestSR storage system: NETAPP__LUN__0ADB65E9 storage pool: 6c849b78-197f-11de-acfc-00a098032b86 raid type: RAID4 desc: protocol type: ALL provisioning type: THICK use deduplication: 0 Storage Repository Nodes: Storage Repository Node: storage volume ID: NETAPP__LUN__0ADB65E9__433464624B344F5279557944 uuid: b825edad-2dd1-42ee-8d04-3010ad015d0f

Page 34: Storage Link User Guide

 

34 

Create a storage profile 

To create storage profile, you need a storage volume to associate as a boot storage volume C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe spr-create name=MyStorageProfile boot-svid=NETAPP__LUN__0ADB6 5E9__433464624B344F5279557944 Storage Profile: friendly name: MyStorageProfile uuid: cb412ae9-5979-4a89-823a-ce10aa26d051 display name: MyStorageProfile desc: boot storage volume: NETAPP__LUN__0ADB65E9__433464624B344F5279557944 state: 0 Storage Volumes: Storage Volume: display name: /vol/storagelink_fv_00/MyTestLUN friendly name: /vol/storagelink_fv_00/MyTestLUN size: 20480 used: 0 access: RW serial number: C4dbK4ORyUyD storage volume ID (SNID): NETAPP__LUN__0ADB65E9__433464624B344F5279557944 storage system ID (SSID): NETAPP__LUN__0ADB65E9 storage pool ID (SPID): 047f0d18-1981-11de-acfc-00a098032b86 node type: STORAGE_VOLUME is snapshot: No

Create a virtual machine template 

To create a virtual machine template, you first need to create a hardware profile that describes the memory and CPU characteristics of the virtual machine. C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe hwp-create name=MyHardwareProfile1 cpu-count=2 mem-size=1024M Hardware Profile: friendly name: MyHardwareProfile1 display name: MyHardwareProfile1 uuid: f6918a9f-84d3-4aa8-b208-a099a64701fd boot order: CPU count: 2 network policy: auto memory size (MB): 1024

Prepare the virtual machine template 

In Hyper‐V manager, create a diskless VM. Do not start the VM. 

Rescan the virtual machines: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe vm-list flags=refresh Virtual Machines: Virtual Machine: display name: Manager hostname: Manager IP address: Manager uuid: DC93B15C-D998-4F19-9F91-C84F36FDE042 parent host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf OS type: OS version: RAM (in MB): 512 CPUs: 1 VM state: XCMN_VM_STATE_RUNNING Virtual Machine: display name: vm1 hostname: vm1 IP address: vm1 uuid: BA664A1B-F322-419B-BE83-F8D00732D8A2 parent host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf OS type: OS version:

Page 35: Storage Link User Guide

 

35 

RAM (in MB): 1024 CPUs: 2 VM state: XCMN_VM_STATE_RUNNING Virtual Machine: display name: VMFromCLI hostname: VMFromCLI IP address: VMFromCLI uuid: 0C254D03-4268-40A6-8AAF-CBC0D15DD698 parent host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf OS type: OS version: RAM (in MB): 1024 CPUs: 2 VM state: XCMN_VM_STATE_RUNNING

The output of the rescan will provide the UUID of the VM. 

Now attach the storage volume to the VM. It is recommended that you specify the protocol here so that StorageLink uses the right protocol to attach the storage to the VM. C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe vm-import-storage vm-uuid=F67FC607-4B0D-4DD3-91ED-DF76BD705356 svid-list=NETAPP__LUN__0ADB65E9__433464624B344F5279557944 protocol=ISCSI

Go into SCVMM or Hyper‐V Manager and ensure that the disk is attached to the VM. Now attach the ISO/DVD drive to the VM and finish the OS installation inside the VM. Install Integration Services, and shut down the VM. Delete the VM from the Hyper‐V Manager. The storage volume will remain on the array. 

Create virtual machines from template 

Use the vm‐create‐from‐template command: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe vm-create-from-template vm-name=VMFromCLI hostname=10.219.245.23 template=MyVMTemplate protocol=ISCSI New VM List: Virtual Machine: display name: VMFromCLI hostname: VMFromCLI IP address: VMFromCLI uuid: 0C254D03-4268-40A6-8AAF-CBC0D15DD698 parent host uuid: bdee7c59-70ad-4c8f-bc97-8eef646babcf OS type: OS version: RAM (in MB): 1024 CPUs: 2 VM state: XCMN_VM_STATE_OFFLINE

Now start the VM: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe vm-start vm-uuid=0C254D03-4268-40A6-8AAF-CBC0D15DD698

Go into SCVMM/Hyper‐V manager to ensure that the VM is up. You can now connect to the VM console. 

Snapshots/Clones 

To create a clone of a storage volume, use the sv‐clone‐create command: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sv-clone-create src-svid=NETAPP__LUN__0ADB6 5E9__433464624B344F5279557944 Snapshot Session: display name: 57D0DFD session ID: 57D0DFD snapshot method: Snapshot Associations: Snapshot Assoc: display name: src volume: NETAPP__LUN__0ADB65E9__433464624B344F5279557944 snapshot volume: NETAPP__LUN__0ADB65E9__433464624B344F5436726D4F

Page 36: Storage Link User Guide

 

36 

group ID: operation: NONE progress: 100 state: 4 snapshot type:

To create a clone of a storage volume, use the sv‐snap‐create command: C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sv-snap-create src-svid=NETAPP__LUN__0ADB6

which has similar output. 

Get Service Log Files C:\Program Files (x86)\Citrix\StorageLink\Client>srv-log-get > <outputfile>

Assign Storage to Host C:\Program Files (x86)\Citrix\StorageLink\Client>csl.exe sv-assign-add svid=NETAPP__LUN__0ADB65E9__433464624B344F5436726D4F hostname=10.219.245.22 iqn=iqn.1991-05.com.microsoft:ataturk.baehv.acme.com Storage Assignments: Storage Assignment: display name: 10.219.245.22.01 name: 10.219.245.22.01 friendly name: 10.219.245.22.01 Initiator Ports: Target Ports: Storage Volumes: Storage Volume Lun Assignment: storage volume ID: NETAPP__LUN__0ADB65E9__433464624B344F5436726D4F LUN IQN: LUN: 0

Now go to your host, open Disk Manager, and choose Rescan Disks and this disk should show up. 

List of CLI commands 

The following lists all supported CLI commands: 

Fabric discovery  fa-list, fabric-list sw-list, switch-list za-list, zone-alias-list zn-create-auto, zone-create-auto zn-list, zone-list zs-list, zone-set-list

Hardware profiles  hwp-create, hardware-profile-create hwp-delete, hardware-profile-delete hwp-get-info, hardware-profile-get-info hwp-list, hardware-profile-list hwp-update, hardware-profile-update

Host management  host-add host-device-id-rescan host-get-info host-init-remove, host-initiator-remove host-init-rescan, host-initiator-rescan host-list host-remove

Host group management  host-group-get-info

Page 37: Storage Link User Guide

 

37 

host-group-list host-group-remove

License Server  ls-get, license-server-get-info ls-set, license-server-set-info

Misc commands  cm, custom-method h, help

Service events  ev-list, event-list ev-listener-register, event-listener-register

Service management  srv-log-get, service-log-get srv-set-pwd, service-set-password srv-version, service-version

Storage adapter management  sa-list, storage-adapter-list sa-scsidev-processor-list, storage-adapter-scsi-device-processor-list

Storage allocation  sp-create, storage-pool-create sp-destroy, storage-pool-destroy sv-create, storage-volume-create sv-destroy, storage-volume-destroy sv-resize, storage-volume-resize

Storage assignment  sv-assign-add, storage-volume-assignment-add sv-assign-list, storage-volume-assignment-list sv-assign-remove, storage-volume-assignment-remove

Storage discovery  sp-get-info, storage-pool-get-info sp-list, storage-pool-list ss-get-info, storage-system-get-info ss-init-list, storage-system-initiator-port-list ss-list, storage-system-list ss-target-list, storage-system-target-port-list sv-get-info, storage-volume-get-info sv-list, storage-volume-list

Storage profiles  spr-create, storage-profile-create spr-delete, storage-profile-delete spr-get-info, storage-profile-get-info spr-list, storage-profile-list spr-storage-add, storage-profile-storage-add spr-storage-remove, storage-profile-storage-remove spr-update, storage-profile-update

Storage repository  sr-create, storage-repository-create sr-delete, storage-repository-delete sr-destroy, storage-repository-delete sr-list, storage-repository-list

Page 38: Storage Link User Guide

 

38 

sr-storage-add, storage-repository-storage-add sr-storage-create, storage-repository-storage-create sr-storage-destroy, storage-repository-storage-destroy sr-storage-remove, storage-repository-storage-remove sr-update, storage-repository-update

Storage snapshots/cloning  sv-clone-create, storage-volume-clone-create sv-snap-create, storage-volume-snapshot-create sv-snap-delete, storage-volume-snapshot-delete

Storage system credentials management  job-get-info job-list job-list-clear sc-add, storage-credential-add sc-list, storage-credential-list sc-remove, storage-credential-remove sc-update, storage-credential-update

Tag management  tag-add tag-remove

Virtual machine operations  vm-clone vm-create vm-create-from-template vm-delete vm-destroy vm-get-info vm-import-storage vm-list vm-move vm-shutdown vm-snapshot vm-start vm-turnoff

Virtual machine templates  vm-template-create, virtual-machine-template-create vm-template-delete, virtual-machine-template-delete vm-template-list, virtual-machine-template-list vm-template-update, virtual-machine-template-update

PowerShell interface For details on installing and using the StorageLink snap‐in for Windows PowerShell, refer to the StorageLink PowerShell Guide. 

Page 39: Storage Link User Guide

 

39 

MSCS support for StorageLink and SQLite To set up Microsoft Cluster Service to support StorageLink and SQLite 

1. Install Windows 2008 Server on two hosts. Make sure the hosts are identical for the most part and have multiple NICs. 

2. Wire up the NICs on the hosts to different networks. 

3. Join both hosts to the same domain and log in to the hosts as the domain administrator. 

4. On each of the two hosts, launch Server Manager and install the Failover clustering feature. 

5. Start the Failover Cluster Management interface (Start ‐> Administrative Tools ‐> Failover Cluster Management) and use this to manage the cluster henceforth. 

6. Run the Cluster Validation tool from the FCM, using the two hosts above. 

7. Once the validation tool indicates that the configuration is valid, create a failover cluster. 

8. Add two shared ISCSI disks to the two hosts using the MS ISCSI initiator, one to store StorageLink Gateway data and the other to act as a quorum disk. Initialize and format the disks with NTFS on one of the hosts. Bring them online on the other. Assign a drive letter to the drive on each host. Add the disks to the cluster in FCM. 

9. Change quorum settings in FCM to best reflect the needs of the deployment. We recommend that the failover cluster quorum is based on the two nodes and the single quorum disk created above. 

10. Install StorageLink Gateway on each host. If the service has been up and in use on a host for a while, then go ahead and install it on the remaining hosts in the cluster. Shut down all the StorageLink Gateway instances. Copy the database file cslg.db from the install location on the main instance that has been running for a while (or any of the cslg.db instances if there is no special data in there) to the shared storage. You will have to use FCM to make the shared storage visible on the host that you want to do this copy operation on. Edit the registry on each host to point it to the shared database and, if desired, to the shared location for the logs. 

11. Create a Generic Service cluster service in FCM. Do not include the registry in the service setup (leave it blank). Add the shared database disk as a dependency for the service. 

12. Control the lifecycle of the StorageLink Gateway service using FCM. 

Troubleshooting How do I collect logs to send to Citrix support? 

Before collecting logs, open a command prompt and set the trace level: 

Page 40: Storage Link User Guide

 

40 

REG ADD HKLM\SOFTWARE\Wow6432Node\Citrix\StorageLink\1.0\Server\Trace /v TraceLevel /t REG_DWORD /d 5 net stop StorageLink net start StorageLink

Then, make a directory and copy the logs there: mkdir c:\forCitrix copy c:\Program Files (x86)\Citrix\StorageLink\Server\cslsa_smis_vendor_options.cfg c:\forCitrix c:\ProgramData

I am unable to add my hypervisor host in StorageLink Manager/Command Line. 

Make sure that you are connecting to a Windows 2008 server. Check to make sure that you have enabled the Hyper‐V role on your server. (You will need to reboot the server after enabling the Hyper‐V role). 

Also check to ensure that if the server is part of the domain, you are connecting to it using the appropriate domain credentials. 

Finally, make sure that you have accepted the EULA for HyperV by opening up the HyperV Manager GUI and accepting the EULA there. 

I do not see my iSCSI initiators show up in StorageLink Manager/Command Line. 

This might be because the iSCSI initiator is not enabled on the server. You will need to log into your server and explicitly enable the iSCSI initiator. Go to Start ‐> Administrative Services ‐> iSCSI Initiator, and answer yes when prompted to enable the service. 

I am not able to add storage credentials for my CIMOM (see a CIM/SMIS client exception). 

Check all the cabling to your machines, switches and SAN. You will need to ensure that there is at least one connection from the host to the switch and one from the switch to the storage array(s). Also ensure that the IP address and port numbers of the CIMOM is correct. 

How do I know that my CIMOM is configured correctly for use with StorageLink? 

After adding the storage credentials for the CIMOM, go into the Storage Infrastructure tab. Under Fabrics, you should see entries for the Switch/Fabric. Also go into Jobs and look at the job entries with the text “Discovering Fabrics”. These entries should have a green checkbox on them 

I get an error creating a storage volume on StorageLink Manager/Command Line. 

This is most likely a space issue on the storage array. Many arrays are set up with periodic snapshots for storage volumes on the array, and space fills up pretty quickly. Also, the default setting for volume creation is THICK provisioning, which means the space for the volume is reserved on the array. Having many such volumes can quickly eat into the available space on the array 

When I attach my storage volume to my virtual machine, I get an error saying “exceeded max retries…” 

Check the cabling between the host, switch and storage array. Also check the network connections and routes from the host to the array (if using iSCSI). 

Look at the storage volume on the storage array and ensure that the LUN maps and zones are set up correctly. In case of iSCSI you will need to ensure that the 

Page 41: Storage Link User Guide

 

41 

storage volume is mapped to the correct host initiator. In case of FC, you will need to look at the FC switch and ensure that the zone is set up correctly. 

Make sure that the setting for protocol for the Storage Repository (FC, iSCSI, Auto) matches the protocol setting for the storage volume. By default, Auto will map to FC if the host has a Fibre Channel port available.  

I am not able to use my mouse to install Hyper‐V in my virtual machine. 

This is a known problem with the Hyper‐V virtual machine console. This is only a problem during the install process (when you will need to use keyboard only). After installing the Integration Services disk, the mouse will begin to function normally. 

Page 42: Storage Link User Guide

 

About Citrix 

Citrix Systems, Inc. (Nasdaq:CTXS) is the global leader and the most trusted name in application delivery infrastructure. More than 200,000 organizations worldwide rely on Citrix to deliver any application to users anywhere with the best performance, highest security and lowest cost. Citrix customers include 100% of the Fortune 100 companies and 98% of the Fortune Global 500, as well as hundreds of thousands of small businesses and prosumers. Citrix has approximately 6,200 channel and alliance partners in more than 100 countries. Annual revenue in 2006 was $1.1 billion. ©2009 Citrix Systems, Inc. All rights reserved. Citrix®, Citrix Presentation Server™, Citrix XenServer™ are trademarks of Citrix Systems, Inc. and/or one or more of its subsidiaries, 

and may be registered in the United States Patent and Trademark Office and in other countries. Microsoft® and Windows® are registered trademarks of Microsoft Corporation in 

the United States and/or other countries. UNIX® is a registered trademark of The Open Group in the United States and other countries. All other trademarks and registered 

trademarks are property of their respective owners. 

 Citrix Worldwide Worldwide headquarters 

Citrix Systems, Inc. 851 West Cypress Creek Road Fort Lauderdale, FL 33309 USA T +1 800 393 1888 T +1 954 267 3000 

Regional headquarters 

Americas 

Citrix Silicon Valley 4988 Great America Parkway Santa Clara, CA 95054 USA T +1 408 790 8000 

Europe 

Citrix Systems International GmbH Rheinweg 9 8200 Schaffhausen Switzerland T +41 52 635 7700 

Asia Pacific 

Citrix Systems Hong Kong Ltd. Suite 3201, 32nd Floor One International Finance Centre 1 Harbour View Street Central Hong Kong T +852 2100 5000 

Citrix Online division 

5385 Hollister Avenue Santa Barbara, CA 93111 USA T +1 805 690 6400 

www.citrix.com