tag:blogger.com,1999:blog-49297312898239975712024-02-22T06:04:42.274-08:00Spectrum Scale IBMThis blog is about introduction and configuration of features of IBM's product Spectrum Scale. This is not the official documentation of product.Vikramhttp://www.blogger.com/profile/02058828819337904199noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-4929731289823997571.post-44647065665300883832016-03-16T09:01:00.001-07:002016-04-07T05:20:15.090-07:00File Placement Optimizer (FPO) setup with Spectrum Scale 4.2<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
What is File Placement Optimizer (FPO) ?</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: justify;">
<a href="http://www.ibm.com/support/knowledgecenter/SSFKCN_3.5.0/com.ibm.cluster.gpfs.v3r5.gpfs200.doc/bl1adv_fposettings.htm" target="_blank">GPFS File Placement Optimizer (FPO)</a> is a set of features that allow GPFS to operate efficiently in a system based
on a shared nothing architecture. It is particularly useful for <span class="q">"big
data"</span> applications that process massive amounts of data.</div>
<div style="text-align: justify;">
</div>
<h3 style="text-align: left;">
Why this post ?</h3>
<h3 style="text-align: left;">
</h3>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Spectrum Scale 4.2 installer toolkit does not support FPO configuration enabling at the time of installation. This blog will provide you step by step guide for configuring FPO setup with spectrum scale installer toolkit.</div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Where to start ?</h3>
<h3 style="text-align: justify;">
</h3>
<div style="text-align: justify;">
Let's start with extracting and configuring spectrum scale installer toolkit similar to the regular setup. Here are details of my setup which I had given to spectrum scale installer toolkit. If you are looking for more help about spectrum scale installer toolkit then you will find it here - <a href="https://www.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.ins.doc/bl1ins_overviewspecscale.htm" target="_blank">Overview of the spectrumscale installation toolkit</a></div>
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# ./spectrumscale node list
[ INFO ] List of nodes in current configuration:
[ INFO ] [Installer Node]
[ INFO ] 10.0.100.71
[ INFO ]
[ INFO ] [Cluster Name]
[ INFO ] vwnode.gpfscluster
[ INFO ]
[ INFO ] [Protocols]
[ INFO ] Object : Enabled
[ INFO ] SMB : Enabled
[ INFO ] NFS : Enabled
[ INFO ]
[ INFO ] GPFS Node Admin Quorum Manager NSD Server Protocol GUI Server
[ INFO ] viknode1 X X X
[ INFO ] viknode2 X
[ INFO ] viknode3 X
[ INFO ] viknode4 X X
[ INFO ] viknode5 X X
[ INFO ]
[ INFO ] [Export IP address]
[ INFO ] 10.0.100.76 (pool)
[ INFO ] 10.0.100.77 (pool)
[root@viknode1 installer]# ./spectrumscale nsd list
[ INFO ] Name FS Size(GB) Usage FG Pool Device Servers
[ INFO ] nsd1 cesSharedRoot unknown dataAndMetadata 1 Default /dev/dm-2 [viknode1]</pre>
</div>
<br />
<div style="text-align: justify;">
Here I have added one NSD which will be required by cesSharedRoot filesystem.<br />
The CES shared root (cesSharedRoot) is needed for storing CES shared
configuration data, protocol recovery, and for some other protocol
specific purpose.<br />
Here is a high level diagram for this setup -<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkG_Xr77EjB5YgKdm0nWwe53P1G4cG0YPedKe3jhWGWE7ZPJq9W3otl8YW1bIHzsE9GldoI9e9GOVuFn3xcji912zW2TNNRRX5UmrMDQW9orEdbfsKH96Ca2YXr4f_wf2atqz6A9ALnEk/s1600/Presentation1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkG_Xr77EjB5YgKdm0nWwe53P1G4cG0YPedKe3jhWGWE7ZPJq9W3otl8YW1bIHzsE9GldoI9e9GOVuFn3xcji912zW2TNNRRX5UmrMDQW9orEdbfsKH96Ca2YXr4f_wf2atqz6A9ALnEk/s640/Presentation1.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
(Click on diagram to enlarge)</div>
Let's run
install command to install basic GPFS packages and GPFS commands.</div>
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# <b>./spectrumscale install</b></pre>
</div>
<br />
<br />
<h3 style="text-align: justify;">
Configuring NSDs for FPO </h3>
<h3 style="text-align: justify;">
</h3>
<h3 style="text-align: justify;">
</h3>
<div style="text-align: justify;">
Configuring NSDs is more or less everything about FPO. According to IBM's official documentation, it is recommended that GPFS FPO configuration has two storage pools, a system pool for metadata only and a data pool. On my setup I will be creating three storage pools. A fast storage pool and a slow storage pool and a system storage pool. Fast storage pool, let's say, have all SSDs and other fast disks; a slow storage pool, let's say, have all HDDs and other slow disks; and a pool named 'system' for storing metadata.</div>
<dl class="dl">
<dt class="dt dlterm" id="fposettings__fposps"><b>Storage pool:</b></dt>
<dt class="dt dlterm" id="fposettings__fposps"><b> </b></dt>
<dd class="dd"><i class="ph i">Storage pool stanzas</i> are used to specify the type of layout
map and write affinity depth, and to enable write affinity, <span style="font-family: inherit;">for each
stora</span>ge pool. </dd><dd class="dd">Storage pool stanzas have the following format:</dd><dd class="dd"><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><code><span class="ph synph"><span class="keyword kwd">%pool:</span>
<span class="keyword kwd">pool=</span><span class="ph var">StoragePoolName # </span></span></code><code><span class="ph synph"><span class="ph var"><span style="font-family: inherit;"><span style="font-size: small;">name of the storage pool.</span></span></span>
<span class="keyword kwd">blockSize=</span><span class="ph var">BlockSize # </span></span></code><code><span class="ph synph"><span class="ph var"><span style="font-family: inherit;"><span style="font-size: small;">the block size of the disks in the storage pool.</span></span></span>
<span class="keyword kwd">usage=</span>{<span class="keyword kwd">dataOnly</span> | <span class="keyword kwd">metadataOnly</span> | <span class="keyword kwd">dataAndMetadata</span>} # </span></code><code><span class="ph synph"><span style="font-family: inherit;"><span style="font-size: small;">the type of data to be </span></span></span></code><span style="font-family: inherit;"><span style="font-size: small;">stored in the storage pool.</span></span><code><span class="ph synph">
<span class="keyword kwd">layoutMap=</span>{<span class="keyword kwd">scatter</span> | <span class="keyword kwd">cluster</span>} # </span></code><code><span class="ph synph"><span style="font-family: inherit;"><span style="font-size: small;">The block allocation map type cannot be changed after the </span></span></span></code><span style="font-family: inherit;"><span style="font-size: small;">storage pool has been created.</span></span><code><span class="ph synph">
<span class="keyword kwd">allowWriteAffinity=</span>{<span class="keyword kwd">yes</span> | <span class="keyword kwd">no</span>} # </span></code><code><span class="ph synph"><span style="font-family: inherit;"><span style="font-size: small;">Indicates whether the IBM Spectrum Scale File Placement </span></span></span></code><span style="font-family: inherit;"><span style="font-size: small;">Optimizer (FPO) feature is to be enabled for the storage pool.</span></span><code><span class="ph synph">
<span class="keyword kwd">writeAffinityDepth=</span>{<span class="keyword kwd defkwd">0</span> | <span class="keyword kwd">1</span> | <span class="keyword kwd">2</span>} # </span></code><code><span class="ph synph"><span style="font-family: inherit;"><span style="font-size: small;">Specifies the allocation policy to be used by the node writing </span></span></span></code><span style="font-family: inherit;"><span style="font-size: small;">the data. It is also used for FPO-enabled pools.</span></span><code><span class="ph synph">
<span class="keyword kwd">blockGroupFactor=</span><span class="ph var">BlockGroupFactor # </span></span></code><span style="font-family: inherit;"><span style="font-size: small;">Specifies how many file system blocks are laid out sequentially on disk to behave like a single large block. This option only works on FPO enabled pools, where --allow-write-affinity is set for the data pool. </span></span></pre>
</div>
<br />
<span style="font-size: small;">For more details check <a href="http://www.redbooks.ibm.com/redbooks/pdfs/sg248254.pdf#G8.501315" target="_blank">Planning for IBM Spectrum Scale FPO</a></span></dd></dl>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b>NSD</b>:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Every loca<span style="font-size: small;">l disk to b</span>e used by GPFS must have a matching entry in the disk file. </div>
NSD stanzas have this format:<br />
<dl class="dl"><dd class="dd">Storage pool stanzas have the following format:</dd><dd class="dd"><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><code><span class="ph synph"><span class="keyword kwd">%nsd:</span></span></code></pre>
<pre style="line-height: 125%; margin: 0;"><code><span class="ph synph"><span class="keyword kwd"> device=</span><span class="ph var">DiskName # </span></span></code><code><span class="ph synph"><span class="ph var">device name that appears in </span></span></code>/dev<code><span class="ph synph">
<span class="keyword kwd">nsd=</span><span class="ph var">NsdName # </span></span></code><code><span class="ph synph">name of the NSD to be created
<span class="keyword kwd">servers=</span><span class="ph var">ServerList # </span></span></code><code><span class="ph synph"><span class="ph var">comma-separated list of NSD server nodes</span>
<span class="keyword kwd">usage=</span>{<span class="keyword kwd">dataOnly</span> | <span class="keyword kwd">metadataOnly</span> | <span class="keyword kwd">dataAndMetadata</span> |<span class="keyword kwd"> descOnly</span> | <span class="keyword kwd">localCache</span>} # </span></code><code><span class="ph synph">disk usage
<span class="keyword kwd">failureGroup=</span><span class="ph var">FailureGroup # </span></span></code><code><span class="ph synph"><span class="ph var">the failure group to which this disk belongs</span>
<span class="keyword kwd">pool=</span><span class="ph var">StoragePool # </span></span></code>the name of the storage pool to which the NSD is assigned</pre>
</div>
<br /></dd></dl>
On my setup I have three virtual files on three machines which I'll use as disks.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b>ls /dev/dm-3</b>
/dev/dm-3
[root@viknode2 ~]# <b>ls /dev/dm-4</b>
/dev/dm-4
[root@viknode3 ~]# <b>ls /dev/dm-5</b>
/dev/dm-5</pre>
</div>
<br />
<div style="text-align: justify;">
</div>
Now let's create a new Staza File in /tmp<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b>cat /tmp/newStanzaFile</b>
%pool:
pool=fast
layoutMap=cluster
blocksize=1024K
allowWriteAffinity=yes # this option enables FPO feature
writeAffinityDepth=1 # place 1st copy on disks local to the node writing data
blockGroupFactor=128 # Defines chunk size of 128MB
%pool:
pool=slow
layoutMap=cluster
blocksize=1024K
allowWriteAffinity=yes # this option enables FPO feature
writeAffinityDepth=1 # place 1st copy on disks local to the node writing data
blockGroupFactor=128 # Defines chunk size of 128MB
#Disks in system pool are defined for metadata
%nsd:
nsd=nsd1
device=/dev/dm-3
servers=viknode1
usage=metadataOnly
failureGroup=101
pool=system
# Disks in fast pool
%nsd:
nsd=nsd2
device=/dev/dm-4
servers=viknode2
usage=dataOnly
failureGroup=102
pool=fast
# Disk(s) in slow pool
%nsd:
nsd=nsd3
device=/dev/dm-5
servers=viknode3
usage=dataOnly
failureGroup=103
pool=slow</pre>
</div>
<br />
Here, I have three pools -<br />
1) System pool - Created by default by installer toolkit. I will use it to store metadata.<br />
2) Fast pool - For fast disks. Use to store data.<br />
3) Slow pool - For slow disks. Use to store data.<br />
<br />
Lets create these NSDs<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b>mmcrnsd -F /tmp/newStanzaFile</b></pre>
</div>
<br />
Creating NSDs is async process.<br />
After NSDs are created you can check them using <b>mmlsnsd</b> command.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b>mmlsnsd</b>
File system Disk name NSD servers
---------------------------------------------------------------------------
(free disk) nsd1 viknode1
(free disk) nsd2 viknode1
(free disk) nsd3 viknode2
(free disk) nsd4 viknode3</pre>
</div>
<br />
Now we are going to create a gpfs file system on these NSDs. I am going with all default parameters but you can tune the parameters as per your requirement. Here is guide to <a href="https://www.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.adm.doc/bl1adm_mmcrfs.htm%23mmcrfs" target="_blank">mmcrfs command</a>.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b> mmcrfs gpfs0 -F /tmp/newStanzaFile -T /ibm/gpfs0</b></pre>
</div>
<br />
Ones file system is created then you can check it with<b> mmlsfs </b>command.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# mmlsfs all
File system attributes for /dev/gpfs0:
======================================
flag value description
------------------- ------------------------ -----------------------------------
-f 8192 Minimum fragment size in bytes (system pool)
32768 Minimum fragment size in bytes (other pools)
-i 4096 Inode size in bytes
-I 16384 Indirect block size in bytes
-m 1 Default number of metadata replicas
-M 2 Maximum number of metadata replicas
-r 1 Default number of data replicas
-R 2 Maximum number of data replicas
-j cluster Block allocation type
-D nfs4 File locking semantics in effect
-k nfs4 ACL semantics in effect
-n 32 Estimated number of nodes that will mount file system
-B 262144 Block size (system pool)
1048576 Block size (other pools)
-Q none Quotas accounting enabled
none Quotas enforced
none Default quotas enabled
--perfileset-quota No Per-fileset quota enforcement
--filesetdf No Fileset df enabled?
-V 15.01 (4.2.0.0) File system version
--create-time Thu Apr 7 08:06:30 2016 File system creation time
-z No Is DMAPI enabled?
-L 4194304 Logfile size
-E Yes Exact mtime mount option
-S No Suppress atime mount option
-K whenpossible Strict replica allocation option
--fastea Yes Fast external attributes enabled?
--encryption No Encryption enabled?
--inode-limit 65792 Maximum number of inodes
--log-replicas 0 Number of log replicas
--is4KAligned Yes is4KAligned?
--rapid-repair Yes rapidRepair enabled?
--write-cache-threshold 0 HAWC Threshold (max 65536)
-P system;fast;slow Disk storage pools in file system
-d nsd2;nsd3;nsd4 Disks in file system
-A yes Automatic mount option
-o none Additional mount options
-T /ibm/gpfs0 Default mount point
--mount-priority 0 Mount priority</pre>
</div>
<br />
You can check storage pools with <b>mmlspool</b> command.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# mmlspool gpfs0 all -L
Pool:
name = system
poolID = 0
blockSize = 256 KB
usage = metadataOnly
maxDiskSize = 98 GB
layoutMap = cluster
allowWriteAffinity = no
writeAffinityDepth = 0
blockGroupFactor = 1
Pool:
name = fast
poolID = 65537
blockSize = 1024 KB
usage = dataOnly
maxDiskSize = 64 GB
layoutMap = cluster
allowWriteAffinity = yes
writeAffinityDepth = 1
blockGroupFactor = 128
Pool:
name = slow
poolID = 65538
blockSize = 1024 KB
usage = dataOnly
maxDiskSize = 64 GB
layoutMap = cluster
allowWriteAffinity = yes
writeAffinityDepth = 1
blockGroupFactor = 128</pre>
</div>
<br />
'allowWriteAffinity = yes' in above output shows disks in pool are enabled for FPO.<br />
Let's mount this file system on all nodes.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 ~]# <b>mmmount gpfs0 -a</b>
Wed Mar 16 10:40:42 EDT 2016: mmmount: Mounting file systems ...
[root@viknode1 ~]# <b>mmlsmount gpfs0</b>
File system gpfs0 is mounted on 5 nodes.</pre>
</div>
<br />
Enable protocols as per your requirement.<br />
Don't forget to mention correct filesystem and mount point for deploying protocols.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# <b>./spectrumscale node list</b>
[ INFO ] List of nodes in current configuration:
[ INFO ] [Installer Node]
[ INFO ] 10.0.100.71
[ INFO ]
[ INFO ] [Cluster Name]
[ INFO ] vwnode.gpfscluster
[ INFO ]
[ INFO ] [Protocols]
[ INFO ] Object : Enabled
[ INFO ] SMB : Enabled
[ INFO ] NFS : Enabled
[ INFO ]
[ INFO ] GPFS Node Admin Quorum Manager NSD Server Protocol GUI Server
[ INFO ] viknode1 X X X
[ INFO ] viknode2 X X
[ INFO ] viknode3 X X
[ INFO ] viknode4 X X
[ INFO ] viknode5 X X
[ INFO ]
[ INFO ] [Export IP address]
[ INFO ] 10.0.100.76 (pool)
[ INFO ] 10.0.100.77 (pool)</pre>
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# <b>./spectrumscale config protocols -f cesSharedRoot -m /ibm/cesSharedRoot</b>
[root@viknode1 installer]# <b>./spectrumscale config object </b><b><b>-f gpfs0</b> -m /ibm/gpfs0</b></pre>
</div>
<br />
Now you can deploy protocols and your setup will be ready with FPO.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@viknode1 installer]# <b>./spectrumscale deploy</b></pre>
</div>
<br />
For more details here are recommended videos -<br />
<a href="https://www.youtube.com/watch?v=NSZW2O9LP0M" target="_blank">Spectrum Scale (GPFS) for Hadoop Technical Introduction (Part 1 of 2) </a><br />
<a href="https://youtu.be/0eHWUNKykvA" target="_blank">Spectrum Scale (GPFS) for Hadoop Technical Introduction (Part 2 of 2)</a></div>
Vikramhttp://www.blogger.com/profile/02058828819337904199noreply@blogger.com2tag:blogger.com,1999:blog-4929731289823997571.post-77826347755664006012015-12-22T04:31:00.001-08:002016-03-18T04:33:19.511-07:00File - Object Unified Access<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<h3 style="text-align: left;">
<span style="font-size: large;">What is unified-access ?</span></h3>
<br />
<blockquote class="tr_bq">
Unified file and object access allows use cases where you
can access data using object as well as file interfaces. For example: If a user ingests a file
from the SMB interface then users with valid access rights can access that file from the object interface. On the other hand, if a user ingests a object from object interface then users with valid access rights can access that file from file interface.</blockquote>
<br />
<h3 style="text-align: left;">
<span style="font-size: large;">Why this post ?</span></h3>
<ol style="text-align: left;">
<li>Configuration of Spectrum Scale for unified access</li>
<li>Demo of unified access. </li>
</ol>
Prerequisite: Spectrum Scale 4.2+ should be installed.<br />
<br />
Details of cluster which I'll be using for demo::<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmlscluster
GPFS cluster information
========================
GPFS cluster name: vwnode.gpfscluster
GPFS cluster id: XXXX548474453088585
GPFS UID domain: vwnode.gpfscluster
Remote shell command: /usr/bin/ssh
Remote file copy command: /usr/bin/scp
Repository type: CCR
Node Daemon node name IP address Admin node name Designation
--------------------------------------------------------------------
1 vwnode0 XX.XX.100.110 vwnode0 quorum-perfmon
2 vwnode1 XX.XX.100.111 vwnode1 quorum-perfmon
3 vwnode2 XX.XX.100.112 vwnode2 quorum-perfmon
4 vwnode3 XX.XX.100.113 vwnode3 manager-perfmon
5 vwnode4 XX.XX.100.114 vwnode4 manager-perfmon
</pre>
</div>
<br />
User authentication details<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmuserauth service list
FILE access configuration : LDAP
PARAMETERS VALUES
-------------------------------------------------
ENABLE_SERVER_TLS false
ENABLE_KERBEROS false
USER_NAME cn=manager,dc=example,dc=com
SERVERS XX.XX.46.17
NETBIOS_NAME st001
BASE_DN dc=example,dc=com
USER_DN none
GROUP_DN none
NETGROUP_DN none
USER_OBJECTCLASS posixAccount
GROUP_OBJECTCLASS posixGroup
USER_NAME_ATTRIB cn
USER_ID_ATTRIB uid
KERBEROS_SERVER none
KERBEROS_REALM none
OBJECT access configuration : LDAP
PARAMETERS VALUES
-------------------------------------------------
ENABLE_ANONYMOUS_BIND false
ENABLE_SERVER_TLS false
ENABLE_KS_SSL false
USER_NAME cn=manager,dc=example,dc=com
SERVERS XX.XX.46.17
BASE_DN dc=example,dc=com
USER_DN ou=people,dc=example,dc=com
USER_OBJECTCLASS posixAccount
USER_NAME_ATTRIB cn
USER_ID_ATTRIB uid
USER_MAIL_ATTRIB mail
USER_FILTER none
ENABLE_KS_CASIGNING false
KS_ADMIN_USER ldapuser3
</pre>
</div>
<br />
<br />
<h3 style="text-align: left;">
<span style="font-size: large;">Configuration of Unified Access</span></h3>
<br />
<div style="text-align: left;">
<span style="font-size: small;">Step 1: <span style="font-family: inherit;">Enable
the file-access object capability from any protocol node</span></span></div>
<div style="text-align: left;">
<br /></div>
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><pre style="line-height: 125%; margin: 0;"><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->[root@vwnode4 ~]# mmobj config change --ccrfile spectrum-scale-object.conf --section capabilities --property file-access-enabled --value true<span style="color: black; font-family: "helv"; font-size: 10.0pt;"></span></pre>
</pre>
</div>
<br />
To validate whether unified access is enable you can check status ibmobjectizer service.<br />
If unified access is enabled ibmobjectizer must be running on exactly one node.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmces service list -v --all | grep ibmobjectizer
vwnode3: OBJ:ibmobjectizer is running</pre>
</div>
<br />
Step 2: For this demo, I am using unified_mode for authentication.<br />
In unified_mode users from object and file are expected to be common and coming
from the same directory service (Note that I have LDAP user authentication configure for both object and file).<br />
Check <a href="http://www-01.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.adm.doc/bl1adm_unifiedidmode.htm" target="_blank">this</a> for more information.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmobj config change --ccrfile object-server-sof.conf --section DEFAULT --property id_mgmt --value unified_mode</pre>
</div>
<br />
Step3: Create policy for unified access.<br />
Following command will create policy with name 'swiftOnFile' with unified access enabled.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmobj policy create swiftOnFile --enable-file-access
[I] Getting latest configuration from ccr
[I] Creating fileset /dev/cesSharedRoot:obj_swiftOnFile
[I] Creating new unique index and building the object rings
[I] Updating the configuration
[I] Uploading the changed configuration</pre>
</div>
<br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><br />
Let's check our freshly created policy for unified access.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmobj policy list
Index Name Default Deprecated Fileset Functions
-------------------------------------------------------------------------------------
0 SwiftDefault yes my_object_fileset
56921512210 swiftOnFile obj_swiftOnFile file-and-object-access
</pre>
</div>
<br />
You can make this policy default, though it is optional.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmobj policy change swiftOnFile --default</pre>
</div>
<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-size: large;">Demo of Unified Access</span></b></h3>
<br />
Now let's create a container and add a file in it.<br />
I am going to use Swift Explorer for this.<br />
If you are new to Swift Explorer please check my previous post to configure Swift Explorer -<br />
<span style="font-size: small;"><a href="http://spectrumscale.blogspot.in/2015/07/accessing-spectrum-scale-object-store.html"> Accessing Spectrum Scale Object Store using Swift Explorer</a></span><br />
<br />
Create a container :<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: small;"></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ekIXNK5CReWJDs5NiRWmysk-uwc5UK8auj7cFa0DBN-ibPVROFOiO7Wal7qiiAo0-zc1hH10-2FkrEDf7tsn3L615orQRGEDxbPhugLvF0CVcGFFXOggoROPBXSRVAdLZ_FsElWEQ08/s640/unified2.png" width="640" /> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Upload a file :</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD04RBoEZN7YvrBC5ajQqauHjfTPaJyeI0QVHnQJmPsCiVHCXBVFJtIG4nDI6gXmadgLAQST_lph36f667kbEA-FEAczCS_-dSaxPjF8VNBruh31YR0sZlirDRkAZVlz493vJUUKOo6rE/s640/unified3.png" width="640" /> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf-H4t1ZE1-aKrwaA9p2q6v16n2pb6tr_2P0tgaRFvOBYeiDamECxVSe-h_x31tZC_j5aAPtV0cOKMiUHJQBpQVA_TeduWNvgVkWqhxWDcf0Z8DV4IQRq0KbAHGbRzRyrro2beUb9QRWM/s640/unified4.png" width="640" /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: small;"></span></div>
<br />
Let's check where this file is uploaded on server.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# ls -l /ibm/cesSharedRoot/obj_swiftOnFile/s56921512210z1device1/AUTH_2de13f0dae4747b484ed06bc31b29835/unified_access
total 0
-rwxr-xr-x. 1 ldapuser3 ldapuser3 11 Dec 21 09:37 file1.txt</pre>
</div>
<br />
Explanation for path :<br />
<br />
<blockquote class="tr_bq">
<pre style="line-height: 125%; margin: 0;">/ibm/cesSharedRoot -- Mount point for GPFS file system</pre>
<pre style="line-height: 125%; margin: 0;">obj_swiftOnFile -- Policy create CLI creates a directory depending upon your policy name</pre>
<pre style="line-height: 125%; margin: 0;">s56921512210z1device1 -- 's' followed by policy index followed by fixed suffix 'z1device1' </pre>
<pre style="line-height: 125%; margin: 0;">AUTH_2de13f0dae4747b484ed06bc31b29835 -- Unique ID for a tenet with fixed prefix 'AUTH_'</pre>
<pre style="line-height: 125%; margin: 0;">unified_access -- Name of container
</pre>
</blockquote>
Let's export this container with NFS check this file from file interface.<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmnfs export add /ibm/cesSharedRoot/obj_swiftOnFile/s56921512210z1device1/AUTH_2de13f0dae4747b484ed06bc31b29835/unified_access/ -c "*(Access_Type=RW,SecType=sys,Squash=NoIdSquash,Protocols=3:4)"</pre>
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmnfs export list
Path Delegations Clients
----------------------------------------------------------------------------------------------------------------------------------
/ibm/cesSharedRoot/obj_swiftOnFile/s56921512210z1device1/AUTH_2de13f0dae4747b484ed06bc31b29835/unified_access none * </pre>
<pre style="line-height: 125%; margin: 0;"> </pre>
<pre style="line-height: 125%; margin: 0;"></pre>
</div>
<br />
Let mount it on some other machine --<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@localhost ~]# mount -t nfs -o vers=3 viknode:/ibm/cesSharedRoot/obj_swiftOnFile/s56921512210z1device1/AUTH_2de13f0dae4747b484ed06bc31b29835/unified_access /mnt/
</pre>
</div>
<br />
Let's check our 'file1.txt'<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@localhost ~]# ls -ln /mnt/
total 0
-rwxr-xr-x. 1 1002 1002 29 Dec 22 11:41 file1.txt
[root@localhost ~]# id ldapuser3
uid=1002(ldapuser3) gid=1002(ldapuser3) groups=1002(ldapuser3)
</pre>
</div>
<br />
Now try to ingest a file from NFS and try to get it from object interface<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@localhost ~]# su ldapuser3
bash-4.2$ echo "NFS Create File" > /mnt/nfs_file.txt
bash-4.2$ ls /mnt/
file1.txt nfs_file.txt
</pre>
</div>
<br />
Let's check this new file from object interface.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx2qEp8jgySmxMcFE0bcWEPN6Z1r3Dgx1fQzQ9mhWLTrT_E4JwQDBlxXH0fNno3PVZldD-gYVSoUb7Zo25Y4WCsItccLVku6YoTxXOHQlm69mYHAAUkwDxDTojHrEmJB9tEhLFXYMZvuc/s1600/unified8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx2qEp8jgySmxMcFE0bcWEPN6Z1r3Dgx1fQzQ9mhWLTrT_E4JwQDBlxXH0fNno3PVZldD-gYVSoUb7Zo25Y4WCsItccLVku6YoTxXOHQlm69mYHAAUkwDxDTojHrEmJB9tEhLFXYMZvuc/s640/unified8.png" width="640" /></a></div>
<br />
You can get more information about unified access <a href="http://www-01.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.adm.doc/bl1adm_manageunifiedaccess.htm" target="_blank">here</a>. </div>
Vikramhttp://www.blogger.com/profile/02058828819337904199noreply@blogger.com0tag:blogger.com,1999:blog-4929731289823997571.post-55609421547396940072015-12-22T04:31:00.000-08:002016-03-18T04:37:14.977-07:00Upgrading from 4.1.1 to 4.2<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
Why this post ?</h3>
<div style="text-align: left;">
<br />Upgrading spectrum scale is as easy as pie. In this post I demonstrate how to upgrade Spectrum Scale from 4.1.1 to 4.2.0. </div>
<br />
<h3 style="text-align: left;">
Where to start ?</h3>
<div style="text-align: left;">
Let's start with a Spectrum Scale 4.1.1 cluster.</div>
<br />
Here is my 4.1.1 Cluster details -<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# mmlscluster
GPFS cluster information
========================
GPFS cluster name: vwnode.gpfscluster
GPFS cluster id: 1175018713363073732
GPFS UID domain: vwnode.gpfscluster
Remote shell command: /usr/bin/ssh
Remote file copy command: /usr/bin/scp
Repository type: CCR
Node Daemon node name IP address Admin node name Designation
--------------------------------------------------------------------
1 vwnode1 XXX.XXX.100.111 vwnode1 quorum
2 vwnode2 XXX.XXX.100.112 vwnode2 quorum
3 vwnode3 XXX.XXX.100.113 vwnode3 quorum-manager
4 vwnode4 XXX.XXX.100.114 vwnode4 manager
</pre>
</div>
<br />
<br />
<h3 style="text-align: left;">
Let's upgrade</h3>
<br />
Extract brand new Spectrum Scale ( 4.2.0.1 in my case )<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# ./Spectrum_Scale_install-4.2.0.1_x86_64 --silent > /dev/null</pre>
<pre style="line-height: 125%; margin: 0;"></pre>
</div>
<br />
<br />
You can either fill-up all cluster definition using 'specturmscale' command or just copy old cluster definition file if there is no change in cluster since installation.<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 images]# cp
/usr/lpp/mmfs/4.1.1/installer/configuration/clusterdefinition.txt
/usr/lpp/mmfs/4.2.0.1/installer/configuration/clusterdefinition.txt
cp: overwrite â/usr/lpp/mmfs/4.2.0.1/installer/configuration/clusterdefinition.txtâ? y
[root@vwnode1 images]# </pre>
</div>
<br />
You will see lots of warnings if you check for object parameters<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 images]# /usr/lpp/mmfs/4.2.0.1/installer/spectrumscale config object
[ INFO ] No changes made. Current settings are as follows:
[ INFO ] Object File System Name is cesSharedRoot
[ INFO ] Object File System Mountpoint is /ibm/cesSharedRoot
[ INFO ] Endpoint Hostname is viknode
[ WARN ] No value for GPFS Object Base in clusterdefinition file.
[ WARN ] No value for GPFS Fileset inode allocation in clusterdefinition file.
[ WARN ] No value for Admin Token in clusterdefinition file.
[ WARN ] No value for Admin User in clusterdefinition file.
[ WARN ] No value for Admin Password in clusterdefinition file.
[ WARN ] No value for Swift User in clusterdefinition file.
[ WARN ] No value for Swift Password in clusterdefinition file.
[ WARN ] No value for Database Password in clusterdefinition file.
[ INFO ] Enable S3 is off
[ WARN ] No value for Multi-region Data File Path in clusterdefinition file.
[ WARN ] No value for Region Number for Multi-region in clusterdefinition file.</pre>
</div>
<br />
<br />
<br />
We need to specify following parameters in order to configure upgrade.<br />
<br />
ap -- Specify the password for the Admin User<br />
dp -- Specify the password for object database<br />
i -- Specify the GPFS fileset inode allocation to be used<br />
o -- Specify the GPFS fileset to be created/used as the<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# /usr/lpp/mmfs/4.2.0.1/installer/spectrumscale config object -o my_object_fileset -ap Passw0rd -dp Passw0rd -i 10000
[ INFO ] Setting GPFS Object Base to my_object_fileset
[ INFO ] Setting GPFS Fileset inode allocation to 10000
Enter the secret encryption key:
Repeat the secret encryption key:
[ INFO ] Setting Admin Password
[ INFO ] Setting Database Password</pre>
</div>
<br />
<br />
We also need to configure perform monitoring.<br />
You can either enable or disable performance monitoring as per your requirement.<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# /usr/lpp/mmfs/4.2.0.1/installer/spectrumscale config perfmon -r on
[ INFO ] Setting Enable Performance Monitoring reconfiguration to on</pre>
</div>
<br />
<br />
We should do precheck before upgrade.<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# /usr/lpp/mmfs/4.2.0.1/installer/spectrumscale upgrade -pr</pre>
</div>
<br />
<br />
If upgrade pre-check is successful, we are ready for upgrade.<br />
Just fire following command which will do upgrade -<br />
<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode1 ~]# /usr/lpp/mmfs/4.2.0.1/installer/spectrumscale upgrade</pre>
</div>
<br />
Done !<br />
<br />
Let's confirm using 'mmfsadm'<br />
<br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">[root@vwnode4 ~]# mmfsadm dump version | head -1
Build branch "4.2.0.1 ".
</pre>
</div>
<br />
<br /></div>
Vikramhttp://www.blogger.com/profile/02058828819337904199noreply@blogger.com0tag:blogger.com,1999:blog-4929731289823997571.post-89862923012683603412015-07-22T02:04:00.000-07:002016-03-18T04:42:05.451-07:00Accessing Spectrum Scale Object Store using Swift Explorer<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
What this post is about ?</h3>
<br />
<br /> As title indicates this post is about configuring Swift Explorer with Spectrum Scale object store.<br /><br />
<h3 style="text-align: left;">
What we will need ?</h3>
<br />
1) A cluster with spectrum scale installed<br />
2) Object service given by spectrum scale should be enable and configured with keystone<br />
3) A client on which you can install Swift Explorer.<br />
4) Your cluster should be pingable by client.<br />
<h3 style="text-align: left;">
<br /></h3>
<h3 style="text-align: left;">
How to use Swift Explorer ?</h3>
<br />
1. Download <a href="http://www.619.io/swift-explorer" target="_blank">Swift Explorer.</a><br />
2. Install application.<br />
3. Connect it to object store with proper authentication.<br />
<br />
And that's it !! You are ready to go..<br />
<br />
Let's me show you how I configure Swift Explorer for IBM Spectrum Scale -<br />
<br />
My Spectrum Scale cluster configuration -<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #ce5c00; font-weight: bold;">[</span>root@viknode3 ~<span style="color: #ce5c00; font-weight: bold;">]</span><span style="color: #8f5902; font-style: italic;"># mmlscluster --ces</span>
GPFS cluster <span style="color: black;">information</span>
<span style="color: #ce5c00; font-weight: bold;">========================</span>
GPFS cluster name: viknode.gpfscluster
GPFS cluster id: 18080921923631760149
Cluster Export Services global parameters
-----------------------------------------
Shared root directory: /ibm/cesSharedRoot/ces
Enabled Services: SMB NFS OBJ
Log level: 0
Address distribution policy: even-coverage
Node Daemon node name IP address CES IP address list
-----------------------------------------------------------------------
2 viknode3 XX.XX.100.73 XX.XX.100.76<span style="color: #ce5c00; font-weight: bold;">(</span>object_database_node,object_singleton_node<span style="color: #ce5c00; font-weight: bold;">)</span>
3 viknode4 XX.XX.100.74 XX.XX.100.75
</pre>
</div>
<br />
<br />
All you need to access Spectrum Scale object store is keystone v2.0 endpoints.<br />
<br />
If you don't have it already you can create it using following commands :<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #8f5902; font-style: italic;"># openstack endpoint create --region regionOne identity internal http://viknode3:35357/v2.0</span>
<span style="color: #8f5902; font-style: italic;"># openstack endpoint create --region regionOne identity public http://viknode3:5000/v2.0</span>
<span style="color: #8f5902; font-style: italic;"># openstack endpoint create --region regionOne identity admin http://viknode3:35357/v2.0</span>
</pre>
</div>
<br />
Endpoints for Spectrum Scale on my machine looks like - <br />
<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #f8f8f8; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #ce5c00; font-weight: bold;">[</span>root@viknode3 ~<span style="color: #ce5c00; font-weight: bold;">]</span><span style="color: #8f5902; font-style: italic;"># openstack endpoint list</span>
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------------------+
| 0413ec4c2bed446bb0235dd19167b55a | None | keystone | identity | True | public | http://viknode3:5000/v3 |
| e33971bc36ee43529cf86a06e07d1ef8 | None | keystone | identity | True | internal | http://viknode3:35357/v3 |
| 2dcdc8a16eea4e49884309f3b4f133ce | None | keystone | identity | True | admin | http://viknode3:35357/v3 |
| 8c7751fb59e6402a88609ce221bd155f | regionOne | keystone | identity | True | internal | http://viknode3:35357/v2.0 |
| fc49659bff0343baa96f02f157c36609 | regionOne | keystone | identity | True | public | http://viknode3:5000/v2.0 |
| c933034ee2344292bc9e67adb4713f69 | regionOne | keystone | identity | True | admin | http://viknode3:35357/v2.0 |
| 0439ebec239747e9ae008c8030ab8ec1 | regionOne | swift | object-store | True | public | http://viknode3:8080/v1/AUTH_%<span style="color: #ce5c00; font-weight: bold;">(</span>tenant_id<span style="color: #ce5c00; font-weight: bold;">)</span>s |
| 8bfd1aba25ff460b84fb610b00013a3c | regionOne | swift | object-store | True | internal | http://viknode3:8080/v1/AUTH_%<span style="color: #ce5c00; font-weight: bold;">(</span>tenant_id<span style="color: #ce5c00; font-weight: bold;">)</span>s |
| 169414a767834dd3a9c44527bbcab5c9 | regionOne | swift | object-store | True | admin | http://viknode3:8080 |
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------------------+
</pre>
</div>
<br />
Configuration for Swift Explorer -<br />
<br />
You can download Swift Explorer from it <a href="http://www.619.io/swift-explorer" target="_blank">here</a> as per client machine requirements.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMGt89RFjfLIZ9-DNFxnT-6uf5A7njoQBesZamQapx1uMhEt-GuJUyQnZ8y_jVF4USb4NkG5I1V6xbD2WNn7ef-vnGJ_0UmUgFgfx_JfI59OPKQFdWD89Djp9jbcpi18A-oYajCl1UPNo/s1600/download.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMGt89RFjfLIZ9-DNFxnT-6uf5A7njoQBesZamQapx1uMhEt-GuJUyQnZ8y_jVF4USb4NkG5I1V6xbD2WNn7ef-vnGJ_0UmUgFgfx_JfI59OPKQFdWD89Djp9jbcpi18A-oYajCl1UPNo/s640/download.png" width="640" /></a></div>
<br />
<br />
Install the application<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_zMak1aoR3a6g46GfrapwSOMuyaLfoqSDvC0R88O4XKUSFR-XByqfoUevn3EbJSgpvxsy6zh1LhRKlY5xVwEYzCbnl5AriLlYqBHv2QSJgH4Khxs8bkroODIGx9W5mUSGLVaky0z8PN4/s1600/install1_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_zMak1aoR3a6g46GfrapwSOMuyaLfoqSDvC0R88O4XKUSFR-XByqfoUevn3EbJSgpvxsy6zh1LhRKlY5xVwEYzCbnl5AriLlYqBHv2QSJgH4Khxs8bkroODIGx9W5mUSGLVaky0z8PN4/s640/install1_new.png" width="640" /></a></div>
<div style="text-align: center;">
(I am using windows client)</div>
<br />
<br />
Open the application once you are done with installation.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkMibrcR-W7qRyi0W_7VNg4I1x-FL5tNalRQ8PSiKcxKlGoSOZra69jI3EadQYrTOZmKP1ne4x51KyHH7Vgme3R65fTTbAQoAsZk4Rx1bUdVX7Nj6932MEwyKFHPeYTdzD3VJ95o3rr5E/s1600/run1_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkMibrcR-W7qRyi0W_7VNg4I1x-FL5tNalRQ8PSiKcxKlGoSOZra69jI3EadQYrTOZmKP1ne4x51KyHH7Vgme3R65fTTbAQoAsZk4Rx1bUdVX7Nj6932MEwyKFHPeYTdzD3VJ95o3rr5E/s640/run1_new.png" width="640" /></a></div>
<br />
<br />
Click on "Account" and select "Keystone Login"<br />
It will popup a form for keystone credentials as shown in image.<br />
Fill the credentials for keystone and click on "Ok"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlI-lHmgLTqAqaUHoTKybysGxxeIS_Y0FYRZXwDjwDXKEiamgzL0-z0e7ceW-YnHjaO3VWBR4TQgvuww7_0JikTVGkqkcwhNTiuLmx3oXulfr6978lldBga5i4nUnMKBFv0mY3UIhopDE/s1600/credentials_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlI-lHmgLTqAqaUHoTKybysGxxeIS_Y0FYRZXwDjwDXKEiamgzL0-z0e7ceW-YnHjaO3VWBR4TQgvuww7_0JikTVGkqkcwhNTiuLmx3oXulfr6978lldBga5i4nUnMKBFv0mY3UIhopDE/s640/credentials_new.png" width="640" /></a></div>
<br />
If your credentials are correct it will open the explorer when you can see the containers and objects in that container<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc85laELiUtwmvF1O8cxF_T0gDMpD24P3WcQb5zkuk6naBp9xyMku0cZMyqETsXLCCPjHfVJ712MncRA107Lu7L8ETOZoGZh4KSrSTO2wcT6cdRK5FiF0JXwDEaOdRHgCNu629obgxk2Q/s1600/listing_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="478" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc85laELiUtwmvF1O8cxF_T0gDMpD24P3WcQb5zkuk6naBp9xyMku0cZMyqETsXLCCPjHfVJ712MncRA107Lu7L8ETOZoGZh4KSrSTO2wcT6cdRK5FiF0JXwDEaOdRHgCNu629obgxk2Q/s640/listing_new.png" width="640" /></a></div>
<br /></div>
Vikramhttp://www.blogger.com/profile/02058828819337904199noreply@blogger.com0