You are on page 1of 50

DS8000 command line

==================================
==================
We will discuss the use of the DS CLl for storage
configuration of the DS8000, , not for Copy
Services configuration, encryption handling, or
LDAP usage.
We will discuss followings
Create user lDs that can be used with the GUl and
the DS CLl.
Manage user lD passwords.
lnstall activation keys for licensed features.
Manage storage complexes and units.
Configure and manage Storage Facility lmages.
Create and delete RAlD arrays, ranks, and Extent
Pools.
Create and delete logical volumes.
Manage host access to volumes.
Supported operating systems for
the DS CLl
The DS Command-Line lnterface can be installed on
these operating systems:
AlX 5L V5.1, V5.2, V5.3, and V6.1
HP-UX 11i, 11iV2, and 11iV3
HP Tru64 5.1and 5.1A
Red Hat Linux: Advanced Server (AS) 3.0, and
Enterprise Server (ES) RHEL 2.1, 3, 4,
and 5
SUSE Linux SLES 8, SLES 9, SLES10, SUSE 8, and
SUSE 9
Novell NetWare 6.5
lBM System i i5}OS V5.3
Sun Solaris 7, 8, and 9
HP OpenVMS 7.3-1 (or newer)
VMware ESX V3.0.1 Console
Windows 2000, Windows Datacenter, Windows
2003, Windows Vista, Windows Server
2008, and Windows XP (all 32-bit)
lmportant: For the most recent information about
currently supported operating systems,
refer to the lBM System Storage DS8000
lnformation Center website at:
http:}}publib.boulder.ibm.com}infocenter}ds8000ic}i
ndex.jsp
Edit dscli.profile file
====>DS CLl communicates with the DS8000
system through the HMC console. Either the
primary or secondary HMC console may be used.
DS CLl access is authenticated using HMC user
accounts.
Location of dscli.profile
for windows c:\Program
Files\lBM\DSCLl\profile\dscli.profile
for UNlX : opt}ibm}dscli}profile}dscli.profile
Sample of dscli.profile
==================================
=======================
# DS CLl Profile
#
# Management Console}Node lP Address(es)
# hmc1 and hmc2 are equivalent to -hmc1 and
-hmc2 command options.
#hmc1:127.0.0.1
#hmc2:127.0.0.1
# Default target Storage lmage lD
# "devid" and "remotedevid" are equivalent to
# "-dev storage_image_lD" and "-remotedev
storeage_image_lD" command options,
respectively.
#devid: lBM.2107-AZ12341
#remotedevid:lBM.2107-AZ12341
devid: lBM.2107-75ABCDE
hmc1: 10.0.0.250
username: admin
password: passw0rd
==================================
========================
Note: Take care if adding multiple devid and HMC
entries. Only one should be uncommented (or more
literally, unhashed) at any one time. lf you have
multiple hmc1 or devid entries, the DS CLl uses the
one closest to the bottom of the profile.
#DS CLl access is authenticated using HMC user
accounts.
So, commands , Like lsuser, lssi , lssu work Locally
to HMC)
lt is recommended to create encrypted password
using
#managepwfile CLl command.
A password file generated using the managepwfile
command is located in the
directory
user_home_directory}dscli}profile}security}security.
dat.
Command structure
1. The command name: Specifies the task that the
command-line interface is to perform.
2. Flags: Modify the command. They provide
additional information that directs the command-
line interface to perform the command task in a
specific way.
3. Flags parameter: Provides information that is
required to implement the command modification
that is specified by a flag.
4. Command parameters: Provide basic information
that is necessary to perform the command task.
When a command parameter is required, it is
always the last component of the command, and it
is not preceded by a flag.
There are three command modes for the DS CLl:
Single-shot command mode
lnteractive command mode
Script command mode
1: Single-shot command mode
C:\Program Files\ibm\dscli>dscli -hmc1 10.10.10.1
-user admin -passwd pwd lsuser
Date}Time: 7. November 2007 14:38:27 CET lBM
DSCLl Version: X.X.X.X
Name Group State
=====================
admin admin locked
admin admin active
exit status of dscli = 0
2 : lnteractive command mode
After putting details in dscli.profile file , We can
start with this mode
and user name and password is not required all the
time.
C:\Program Files\ibm\dscli>dscli
Enter your username: admin
Enter your password:
Date}Time: 03 November 2008 15:17:52 CET lBM
DSCLl Version: X.X.X.X DS:
lBM.2107-1312345
dscli>
lf User name and password not added in profile
file.
3: Script command mode
We Use the DS CLl script command mode if We
want to use a sequence of DS CLl commands.
Sample of script file
# Sample ds cli script file
# Comments can appear if hashed
lsarraysite
lsarray
lsrank
==========================
Note :Blank lines are not allowed in file
C:\Program Files\ibm\dscli>dscli -cfg
ds8000a.profile -script sample.script
Return Code
help lists all the available DS CLl commands.
# help -s ==========> lists all the DS CLl
commands with brief descriptions of each one.
# help -l =======> lists all the DS CLl commands
with their syntax information.
Details help of any command
#help <command name> ===> gives a detailed
description of the specified command.
dscli> help
applydbcheck lshba mkkeygrp setauthpol
applykey lshostconnect mkkeymgr setcontactinfo
chauthpol lshosttype mklcu setdbcheck
chckdvol lshostvol mkpe setdialhome
chextpool lsioport mkpprc setenv
chfbvol lskey mkpprcpath setflashrevertible
chhostconnect lskeygrp mkrank setioport
chkeymgr lskeymgr mkreckey setnetworkport
chlcu lslcu mkremoteflash setoutput
chlss lslss mksession setplex
chpass lsnetworkport mksestg
setremoteflashrevertible
chrank lspe mkuser setrmpw
chsession lsperfgrp mkvolgrp setsim
chsestg lsperfgrprpt offloadauditlog setsmtp
chsi lsperfrescrpt offloaddbcheck setsnmp
chsp lsportprof offloadfile setvpn
chsu lspprc offloadss showarray
chuser lspprcpath pausegmir showarraysite
chvolgrp lsproblem pausepprc showauthpol
clearvol lsrank quit showckdvol
closeproblem lsremoteflash resumegmir
showcontactinfo
commitflash lsserver resumepprc showenv
commitremoteflash lssession resyncflash
showextpool
cpauthpol lssestg resyncremoteflash showfbvol
==================================
======================
Configuring the l}O
ports
dscli> lsioport -dev lBM.2107-7503461
Date}Time: 29 October 2005 2:30:31 lBM DSCLl Version:
5.1.0.204 DS: lBM.2107-xxx
lD WWPN State Type topo
portgrp
=======================================
========================
l0000 500507630300008F Online Fibre Channel-SW SCSl-
FCP 0
l0001 500507630300408F Online Fibre Channel-SW SCSl-
FCP 0
l0002 500507630300808F Online Fibre Channel-SW SCSl-
FCP 0
l0003 500507630300C08F Online Fibre Channel-SW SCSl-
FCP 0
l0100 500507630308008F Online Fibre Channel-LW FlCON
0
l0101 500507630308408F Online Fibre Channel-LW SCSl-
FCP 0
l0102 500507630308808F Online Fibre Channel-LW FlCON
0
l0103 500507630308C08F Online Fibre Channel-LW FlCON
0
=======================================
==========
There are three possible topologies for each l}O port:
SCSl-FCP Fibre Channel switched fabric (also called point
to point)
FC-AL Fibre Channel arbitrated loop ====>Less
frequently used
FlCON FlCON (for System z hosts only) ====>not in our
scope
We can change Topology of any lO port
#dscli> setioport -topology ficon l0001
Date}Time: 27 October 2005 23:04:43 lBM DSCLl Version:
5.1.0.204 DS: lBM.2107-xxx
CMUC00011l setioport: l}O Port l0001 successfully
configured.
#dscli> setioport -topology ficon l0101
Date}Time: 27 October 2012 23:06:13 lBM DSCLl Version:
5.1.0.204 DS: lBM.2107-xxx
CMUC00011l setioport: l}O Port l0101 successfully
configured.
After setting port state
#dscli> lsioport
Date}Time: 2 October 20012 23:06:32 lBM DSCLl Version:
5.1.0.204 DS: lBM.2107-xxx
lD WWPN State Type topo
portgrp
=======================================
========================
l0000 500507630300008F Online Fibre Channel-SW SCSl-
FCP 0
l0001 500507630300408F Online Fibre Channel-SW FlCON
0======>Changed
l0002 500507630300808F Online Fibre Channel-SW SCSl-
FCP 0
l0003 500507630300C08F Online Fibre Channel-SW SCSl-
FCP 0
l0100 500507630308008F Online Fibre Channel-LW FlCON
0
l0101 500507630308408F Online Fibre Channel-LW FlCON
0 ======>Changed
l0102 500507630308808F Online Fibre Channel-LW FlCON
0
l0103 500507630308C08F Online Fibre Channel-LW FlCON
0
=======================================
====================
Monitoring the l}O ports
This is very important activity while doing health Check
There are groups of errors that point to specific problem
areas:
1: Any non-zero figure in the counters LinkFailErr,
LossSyncErr, LossSigErr, and
PrimSeqErr indicates that the SAN probably has HBAs
attached to it that are unstable.These HBAs log in and log
out to the SAN and create name server congestion and
performance degradation.
2: lf the lnvTxWordErr counter increases by more than
100 per day, the port is receiving light from a source that
is not an SFP. The cable connected to the port is not
covered at the end or the l}O port is not covered by a cap.
3: The CRCErr counter shows the errors that arise
between the last sending SFP in the SAN and the receiving
port of the DS8700. These errors do not appear in any
other place in the data center. You must replace the cable
that is connected to the port or the SFP in the SAN.
4: The link reset counters LRSent and LRRec also suggest
that there are hardware defects in the SAN; these errors
need to be investigated.
5 : The counters lllegalFrame, OutOrdData, OutOrdACK,
DupFrame, lnvRelOffset, SeqTimeout, and BitErrRate point
to congestions in the SAN and can only be influenced by
configuration changes in the SAN.
Configuring the DS8000 storage for
FB volumes
Here, We will discuss about Storage configuration and
allocation steps for
open systems
We perform the DS8000 storage configuration and
allocation by following steps.
1. Create arrays.
2. Create ranks.
3. Create Extent Pools.
5. Create volumes.
6. Create volume groups.
7. Create host connections.
1: Create arrays
Before creating Array , We sould list the available
Arraysites
#lsarraysite
Note========> Remember that an array for a DS8000
can only contain one array site, and a DS8000 array site
contains eight disk drive modules (DDMs).
Command to create Array is
Note: We implement RAlD at Array level
# mkarray -raidtype 5 -arsite S1
To see the created Array
# sarray
Command to create ranks
# mkrank -array A0 -stgtype fb
Command to list Rank
#lsrank
Create Extent Pools
==> Each Extent Pool has an associated rank group that is
specified by the -rankgrp parameter, which defines the
Extent Pools' server affinity (either 0 or 1, for server0 or
server1).
===> The number of Extent Pools can range from one to
as many as there are existing ranks.
====> lt is recommend that all ranks in an Extent Pool
have the same characteristics, that is, the same DDM
type, size, and RAlD type. An exception to this are hybrid
pools (as requiredby Easy Tier automatic mode),
======> Normally , We create an Extent Pool for high
capacity disk, create another for high performance etc.
=======> When an Extent Pool is created, the system
automatically assigns it an Extent Pool lD, which is a
decimal number starting from 0, preceded by the letter P.
=======>
Extent Pools associated with rank group 0 get an even lD
number, while pools associated with rank group 1 get an
odd lD number.
===># mkextpool command forces us to name the Extent
Pools.
ln below example : We will create a empty ext pool
==>We then list the Extent Pools to get their lDs.
==>Then we attach a rank to an empty Extent Pool using
the #chrank
command.
===>Finally, we list the Extent Pools again using
lsextpool
Note : >>-mkextpool -+--------------------------+-- -rankgrp--+-
0-+--->
'- -dev-- storage_image_lD-' '-
1-'
While creating extentpool Rank group parameter is
mandatory (0 or 1)
===>An extent pool object is assigned to either rank
group 0 or 1, which allows the extent pool to be managed
by storage unit server 0 or 1 respectively.
===>
#dscli> mkextpool -rankgrp 0 -stgtype fb FB_high_0
#dscli> mkextpool -rankgrp 1 -stgtype fb FB_high_1
#dscli> lsextpool
#dscli> chrank -extpool P0 R0
#dscli> chrank -extpool P1 R1
#dscli> lsextpool
Displaying the ranks after assigning a rank to an Extent
Pool
Creating a repository for Track Space Efficient volumes
dscli> mksestg -repcap 100 -vircap 200 -extpool p9
The unit type of the real capacity (-repcap) and virtual
capacity (-vircap) sizes can be specified with the -captype
parameter. For FB Extent Pools, the unit type can be either
GB (default) or blocks.
#showsestg
A repository can be deleted with the# rmsestg command.
Creating FB volumes
===>When we create them, we should try to
distribute them evenly across the two rank groups
in the storage unit.
#mkfbvol -extpool pX -cap xx -name high_fb_0#h
1000-1003
#Creating fixed block volumes using mkfbvol
#dscli> lsextpool
#dscli> mkfbvol -extpool p0 -cap 10 -name
high_fb_0_#h 1000-1003
#dscli> mkfbvol -extpool p1 -cap 10 -name
high_fb_1_#h 1100-1103
=====>we see that volumes 1000-1003 are in
extpool P0. That Extent Pool is attached to rank
group 0, which means server 0. Now rank group 0
can only contain even numbered LSSs, so that
means volumes in that Extent Pool must belong to
an even numbered LSS. The first two digits of the
volume serial number are the LSS number, so in
this case, volumes 1000-1003 are in LSS 10.
For volumes 1100-1003 , the first two digits of the
volume
serial number are 11, which is an odd number,
which signifies they belong to rank group 1.
#lsfbvol
remove volume using
#rmfbvol <vol_name>
<==========Storage Pool
Striping=========>
===>rotate volumes.,
Extents of a volume can be kept together in one
rank (as long as there is enough free space on that
rank). The next rank is used when the next volume
is created.
==>rotate extents.
We can also specify that you want the extents of
the volume you are creating to be evenly
distributed across all ranks within the Extent Pool
===>The extent allocation method is specified
with the -eam rotateexts or -eam rotatevols option
of the mkfbvol command
#dscli> mkfbvol -extpool p53 -cap 15 -name lTSO-
XPSTR -eam rotateexts 1720
#showfbvol ====> details of a volume
===>Creating a Space Efficient volume
To create TSE volume
#dscli> mkfbvol -extpool p53 -cap 40 -name lTSO-
1721-SE -sam tse 1721
#dscli> lssestg -l
#dscli> showfbvol 1721
Dynamic Volume Expansion
====>A volume can be expanded without having to
remove the data within the volume. We can specify a new
capacity by using the #chfbvol
#dscli> chfbvol -cap 20 1720
====>lmportant: Before you can expand a volume, you
first have to delete all Copy Servicesrelationships for that
volume.
Deleting volumes
============>Starting with R5.1, the command
includes new options to prevent the accidental deletion of
volumes that are in use. A FB volume is considered to be
"in use", if it is participating in a Copy Services
relationship or if the volume has received any l}O
operation in the previous 5 minutes.
========>Volume deletion is controlled by the -safe
and -force parameters
====>lf neither of the parameters is specified, the
system performs checks to see whether or not the
specified volumes are in use. Volumes that are not in use
will be deleted and the ones in use will not be deleted
====>lf the -safe parameter is specified, and if any of the
specified volumes are assigned to a user-defined volume
group, the command fails without deleting any volumes
=======>The -force parameter deletes the specified
volumes without checking to see whether or not they are
in use ( do not do lt)
===>we create volumes 2100 and 2101. We then assign
2100 to a volume
group. We then try to delete both volumes with the -safe
option, but the attempt fails without deleting either of the
volumes. We are able to delete volume 2101 with the -safe
option because it is not assigned to a volume group.
Volume 2100 is not in use, so we can delete it by not
specifying either parameter.
=======================================
==============
dscli> mkfbvol -extpool p1 -cap 12 -eam rotateexts 2100-
2101
Date}Time: 14 May 2010 14:31:23 PDT lBM DSCLl Version:
6.5.1.193 DS: lBM.2107-xxx
CMUC00025l mkfbvol: FB volume 2100 successfully
created.
CMUC00025l mkfbvol: FB volume 2101 successfully
created.
dscli> chvolgrp -action add -volume 2100 v0
Date}Time: 14 May 2010 14:33:46 PDT lBM DSCLl Version:
6.5.1.193 DS: lBM.2107-xxx
CMUC00031l chvolgrp: Volume group V0 successfully
modified.
dscli> rmfbvol -quiet -safe 2100-2101
Date}Time: 14 May 2010 14:34:15 PDT lBM DSCLl Version:
6.5.1.193 DS: lBM.2107-xxx
CMUC00253E rmfbvol: Volume lBM.2107-75NA901}2100 is
assigned to a user-defined
volume group. No volumes were deleted.
dscli> rmfbvol -quiet -safe 2101
Date}Time: 14 May 2010 14:35:09 PDT lBM DSCLl Version:
6.5.1.193 DS: lBM.2107-xxx
CMUC00028l rmfbvol: FB volume 2101 successfully
deleted.
dscli> rmfbvol 2100
Date}Time: 14 May 2010 14:35:32 PDT lBM DSCLl Version:
6.5.1.193 DS: lBM.2107-xxx
CMUC00027W rmfbvol: Are you sure you want to delete FB
volume 21007 ]y}n|: y
CMUC00028l rmfbvol: FB volume 2100 successfully
deleted.
=======================================
===========================
Creating volume groups
===>Fixed block volumes are assigned to open
systems hosts using volume groups .
===>A fixed bock volume can be a member of
multiple volume groups.
===>Volumes can be added or removed from
volume groups
===>Each volume group must be either SCSl
MAP256 or SCSl MASK, depending on the SCSl LUN
address discovery method used by the operating
system to which the volume group will be
attached.
====>Determining if an open systems host
is SCSl MAP256 or SCSl MASK
First, we determine what sort of SCSl host to which
We need to allocate LUN
Then we use the #lshostype command with the
-type parameter of scsimask and then scsimap256.
===>Listing host types with the #lshostype
command
#dscli> lshosttype -type scsimask
#dscli> lshosttype -type scsimap256
So, After deterring the host type , Now, We can
make volume group.
So, if We have AlX host .
we can see the address discovery method for AlX is
scsimask.
#dscli> mkvolgrp -type scsimask -volume 1000-
1002,1100-1102 AlX_VG_01
#dscli> lsvolgrp
#dscli> showvolgrp V11
ln above example
===>we added volumes 1000 to 1002 and 1100 to 1102 to
the new volume group.
===>We did this task to spread the workload evenly
across the two rank groups. ===>We then listed all
available volume groups using # lsvolgrp
===> Finally, we listed the contents of volume group V11,
because this was the volume group we created.
===>Add or remove volumes to this
volume group<====
====> use # chvolgrp with the -action parameter.
we will add volume 1003 to volume group V11
Steps
#dscli> chvolgrp -action add -volume 1003 V11
#dscli> showvolgrp V11
#dscli> chvolgrp -action remove -volume 1003 V11
#dscli> showvolgrp V11
=====>All operations with volumes and volume groups
described previously can also be used with Space Efficient
volumes as well.
<====Creating host
connections===>
==>The final step in the logical configuration
process is to create host connections for attached
hosts.
===>Then, We will need to assign volume groups
to those connections.
=====>Each host HBA can only be defined once
===>Each host connection (hostconnect) can only
have one volume
group assigned to it.
===>a volume can be assigned to multiple volume
groups(cluster)
Creating host connections using mkhostconnect
and lshostconnect
==> >>-mkhostconnect--+--------------------------+--
-wwpn-- wwpn--->
'- -dev-- storage_image_lD-'
>--+-----------------+--+----------------------------------+----
>
'- -lbs--+- 512-+-' '- -addrdiscovery--+-
reportlun--+-'
'- 520-' '- lunpolling-'
>--+-------------------------------+---------------------------->
'- -profile-- port_profile_name-'
>--+------------------------+----------------------------------->
'- -hosttype-- host_type-'
>--+-----------------------------+------------------------------>
'- -portgrp-- port_grp_number-'
>--+----------------------------+------------------------------->
'- -volgrp-- volume_group_lD-'
>--+-----------------------------+--+----------------------+----
>
'- -ioport--+- port_lD------+-' '- -desc--
description-'
+- port_lD_list-+
+- all----------+
'- none---------'
>--+- host_name-
+----------------------------------------------><
'- " - "-----'
#dsc> managehostconnect -dev IBM.2107-75FA120 -vogrp 11 1
#mkhostconnect -wwpn <WWN> -hosttype host_type -portgrp port_grp_number <-vogrp
voume_group_ID>
#dscli> mkhostconnect -wwname
100000C912345678 -hosttype pSeries -volgrp V11
AlX_Server_01
#dscli> lshostconnect
====> We can also use just -profile instead of
-hosttype. However,lt is not recommend to do this
action. lf We use the -hosttype parameter, it
actually invokes both parameters (-profile and
-hosttype), while using just -profile leaves the
-hosttype column unpopulated.
======>There is also the option in the
mkhostconnect command to restrict access to only
certain l}O ports using -ioport parameter.
Restricting access in this way is usually
unnecessary. lf We want to restrict access for
certain hosts to certain l}O ports on the DS8000,
We should this by way of zoning on your SAN
switch.
====>Managing hosts with multiple
HBAs===>
When We create hosts, We can specify the
-portgrp parameter. By using a unique port
group number for each attached server, We
can easily detect servers with multiple HBAs.
ln below example
====>We have six host connections. By
using the port group number, we see that
there are three separate hosts, each with
two HBAs. Port group 0 is used for all hosts
that do not have a port group number set.
====>lf We want to use a single command
to change the assigned volume group of
several "hostconnects" at the same time,
then you need to assign these
"hostconnects" to a unique port group and
then use the #managehostconnect command.
This command changes the assigned volume
group for all hostconnects assigned to a
particular port group.
>>-managehostconnect -+--------------------------
+-------------->
'- -dev-- storage_image_lD '
>-- -volgrp--+- volume_group_lD +--+-
port_grp_number +-------><
'- none -----------' '- "-" -----------'
dscli> managehostconnect -dev lBM.2107-75FA120
-volgrp 11 1
====> The managehostconnect command can
be disruptive to host system l}O operations if the
affected host port is logged onto the target
storage unit. Ensure that the host port is offline to
the host system before you process the
managehostconnect command.
====> This command is used more effectively
after you have issued the lshostconnect or
showhostconnect commands and have analyzed
the reports that are generated by these
commands. The information that is reported by
these commands can help you ensure that you
specify the correct port group number when you
issue the managehostconnect command.
Step1: Assign these hostconnects to a unique port
group
Step2: Then use the managehostconnect command
<=========Changing host
connections====>
lf we want to change a host connection, we can use
the #chhostconnect command
===>This command can be used to change nearly
all parameters of the host connection except for
the worldwide port name (WWPN)
====>lf We need to change the WWPN, you need
to create a whole
new host connection.
===>To change the assigned volume group, use
either #Chhostconnect to change one hostconnect
at a time, or use the managehostconnect command
to simultaneously reassign all the hostconnects in
one port group.
==================================
=====================
if We install DSCLl on a server where we have
assigned LUNs from DS8K , then We can few
command that will be Locally work for that server
only .
#lshostvol
We need to run #pcmpath query device to verify
the paths.
lf server has SDD then
===>For information about supported Fibre
Channel HBAs and the recommended or required
firmware and device driver levels for all lBM
storage systems, you can visit the lBM System
Storage lnteroperation Center (SSlC) at the
following address:http:}}www-
03.ibm.com}systems}support}storage}config}ssic}di
splayesssearchwithoutjs.wss7start_over=yes
SDD on windows
===============>SDDDSM does not support
Windows 2000
===============>SDD is not supported on
Windows 2008
=======>The SSPC (machine type 2805-MC4) is
an integrated hardware and software solution for
centralized management of lBM storage products
with lBM storage management software.

You might also like