EMC VMAX3 in 3D

EMC introduced VMAX3 series in the mid of 2014, which is an Enterprise Data Service Platform rather than a storage system. My eyes got stuck on a YouTube video from EMC which shows the 3D view of the components and features.

Read more

I wanted to share it with you, which resulted in this post. Here is it for you…

 

VMAX3 introduced 3 new models of VMAX – VMAX 100K, 200K and 400K – with the new HYPERMAX Operating System and Dynamic Virtual Matrix architecture. You may read more from the below links, from experts and EMC Elects..

 

New EMC VMAX³ – Industry’s First Enterprise Data Service Platform – Official Press Release

The VMAX3: Why Enterprise Class is Still Very Relevant – By Jason Nash

EMC Announces Next-Generation VMAX Storage Array – By Dave Henry

Symmetrix offers a new kind of MAXimum Virtualisation (VMAX) -By Rob Koper

VMAX 3 – The all-new Enterprise Data Service Platform..! Part-I – By Vipin V.K

EMC ANNOUNCE VMAX3 – By Roy Mikes

EMC announces its next Generation VMAX Array – By Mark May

EMC Announces VMAX Family Re-architected for Enterprise Data Services and Hybrid Clouds -By StorageReview.com

Just a few posts which I found interesting. You may suggest the links to more value added posts on VMAX3 in the comments section. We will try to add the link here for other’s reference.

You may find more EMC VMAX posts here. Thank You.

 

Creating and deleting a hard link in Linux

In one of our recent post (click here to read) we discussed about soft links . Now in this post we will discuss how to create and delete a hard link in Linux.

Hard links are also shortcuts used in Linux, but it is bit different from Soft Links. In case of a hard link, no new Inode will be created. If you are creating a hardlink to a fie with inode number 123456, hard link will use the same Inode. In case of soft links, a new Inode will be created for the link. Data can still be accessed via link even if the original file is deleted or moved to a different location. Read more

Here Let us see the commands and some examples of them.

Syntax :

ln sourcefile linkfile    #ln command is used for hard link creation with this syntax.

Examples :

[[email protected] test]# cat >> testfile  #Created a file named testfile for use in next steps
this is a test file

[[email protected] test]# ls -li

30760 -rw-rw-r– 1 admin admin 20 Jan 3 11:39 testfile #Listing with inode number (30760)

[[email protected] test]#ln testfile testlink #Created a link named testlink

[[email protected] test]# ls -li

30760 -rw-rw-r– 1 admin admin 20 Jan 3 11:39 testfile #Both files with same inode number

30760 -rw-rw-r– 1 admin admin 20 Jan 3 11:39 testlink

[[email protected] test]#more testlink #Source being accessed via link.
this is a test file

 

[[email protected] test]#rm -rf testfile #Deleting the source file

[[email protected] test]#more testlink #Actual content via link even after source deletion.
this is a test file

[[email protected] test]#

Now let us see the link removal. unlink command can be used to remove a link.

Syntax :

unlink linkname

Example

[[email protected] test]#unlink testlink

[[email protected] test]#

Thus we have tried creating and deleting a hard link in Linux. Hope this was helpful for you.

For more posts on Linux please click here. We are happy to have your suggestions/queries in the comments section below.

 

Creating and removing a Symbolic link (soft link) in Linux

Symbolic links or soft links are like shortcuts in Windows systems. We use these to point/redirect to another file/directory. Links are a mandatory in some cases where we need a shortcut to actual data, in our day-to-day tasks. With soft links, we can even point to a directory – which is not possible with hard links. Hard links are discussed in another post, which can be accessed by clicking here.

Let us see how can we create a soft link, how to use it and how can we remove/delete the link below. Read more

Symbolic link can be created by running the ln -s command. Let us see the syntax and example for creating a link.

Syntax :

ln -s target source(linkname)

Example :

[[email protected] test]#ln -s /home/beginnersforum/linux testlink   #A link to linux directory will be created with name testlink

[[email protected] test]#ls -l

lrwxrwxrwx 1 root root   26 Jan  1 2015  testlink -> /home/beginnersforum/linux

[[email protected] test]

Here in the above example, we have created a link named testlink to the directory /home/beginnersforum/linux. Now accessing the testlink will redirect us to the linux directory as required.

 

Now we will see how we can remove the link,.  The command will be unlink for removing the link. Below are the syntax and example for the command.

Syntax :

unlink linkname

Example :

[[email protected] test]#ls -l

lrwxrwxrwx 1 root root   26 Jan  1 2015  testlink -> /home/beginnersforum/linux

[[email protected] test]#unlink testlink                    #Removing the link named testlink

[[email protected] test]#ls -l

[[email protected] test]#

Thus in the above unlink command example, we have removed the link named testlink which was created in our previous example.

For more options with these commands, you may refer to the man pages (man ln, man unlink).

That’s it..! We are done with creation and deletion of soft links. Hope this helped you.

For more posts on Linux please click here. We are happy to have your suggestions/queries in the comments section below.

 

Happy New Year 2015…!!!

It was a perfect year – 2014 – for us, where we started this great initiative.We will be keeping this momentum going in the coming years, with more value added posts and more…

Tomorrow is always a hope for doing something better.

We from Beginner’s Forum, wish you all our readers a Happy New Year 2015..!!!

 

New Year 2015

How to resize a linux filesytem without Data Loss

Today i’m going to show you how to resize a filesystem without data loss.This can be quite useful, if you do not use the LVM technology.

Note:- Before doing this in live enviornment, kindly test it in your testbox
Here i’m using my susebox .
Tools Used :- fdisk, umount, fsck, tune2fs, e2fsck, resize2fs.

I’m going to resize the /dev/sdb1 in this tutorial. ( if your partition is named diferently, kindly replace it) Read more

a

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In the above screenshot, you can able to see the harddisk size, mount point etc.

So /dev/sdb harddisk is of 16GB size

/dev/sdb1 is 8.7 GB . and it’s mounted to /testdir directory.

To extend the size of /dev/sdb1 , the filesystem should be unmounted. Here /dev/sdb1 is mounted on /testdir, run the umount command to unmount the same.

s

 

 

 

 

 

 

Now run fsck -n /dev/sdb1 for checking the filesystem.

a

 

 

 

 

Then we need to remove the journal from the filesystem , this will bring ext2 filesystem to /dev/sdb1

s

 

 

 

 

Now run e2fsck to check the filesystem,

t

 

 

 

 

 

 

 

Now we can resize the filesystem using resize2fs tool.

Resize2fs can resize ext2 file systems, but not ext3 file systems, that’s why we changed /dev/sdb1 to ext2 by removing journel from it.

8.7GB is the size of /dev/sdb1 (check the above df -h screenshot). Now we are going to extend  the /dev/sdb1 from 8.7 GB to 15 GB .

Note :- In case of shrinking data , don’t make it smaller than 1.9GB (space used as per df-kh output), you will lose data!

 


So we are going to run resize2fs /dev/sdb1 15000M

dd

 

 

 

 

 

Kindly note the number of blocks (384000) and their size (4k). We need it later..

Now we are going to delete the partition /dev/sdb1 using fdisk tool

” Dont worry about your data 🙂 ”

sss

 

 

 

 

 

 

Next we will create a new /dev/sdb1 partition. It was a primary partition earlier, so  choose p again, and again it is our partition no. 1:

sss

 

 

 

 

 

 

Then comes the important part,

Size of the partition:-

The  First Cylinder is not an issue , it’s default (1). But in the case of  Last Cylinder , we don’t have the value , So we can specify the size in kilobyes (K) .

We can calculate the size like this ,

Last Cylinder Size = The amount of blocks from the resize2fs output *  the size of block

// amount of blocks = 384000 .

// Size of block = 4k

Last Cylinder Size =    384000 * 4k =  1536000K

Apply this with +1536000K and write the partition using ‘w’

dddddThen run fsck -n /dev/sdb1.

 

Then  create the journal on our new /dev/sdb1, thus turning it into an ext3 partition again:

www

 

 

 

 

 

 

Check the size of filesystem,

q

 

 

 

 

Check with df -h and you are good to mount the filesystem.

Capture

 

 

 

 

 

 

Hope this helped.

 

Brocade SAN switch zoning via CLI

We had discussed zoning in Cisco switch recently, in one of our posts. Now we will discuss the same on a Brocade switch via CLI. As we already discussed, the 3 components (zones, aliases and zoneset) remains the core here also. For reading bit more on this, you may read the previous post.

Now let’s directly come in to the commands for various steps.

Read more

We have the new HBA connected to the switch, we can ensure the successful connectivity by running switchshow command. This will show all the ports and the connected device WWNs, you can check the port number if you are aware of, or by finding the WWN (you may do a grep for the WWN).

Else if you are not aware of the switch and port on fabric on which the HBA is attached to, you may run nodefind. nodefind 10:xx:xx:xx:xx:xx:xx:01  will list the port details.

 

 

Now we can create the alias for the HBA (BForum_HBA1) and the storage port (VNX_SPA3). Below are the commands,

alicreate “BForum_HBA1″,”10:xx:xx:xx:xx:xx:xx:01”
alicreate “VXN_SPA3″,”50:06:xx:xx:xx:xx:xx:02”

For adding a WWN to an existing alias (adding a WWN – 10:xx:xx:xx:xx:xx:xx:02 to the alias BForum_HBA2 for example) you may run,

aliadd “BForum_HBA2″,”10:xx:xx:xx:xx:xx:xx:02”

Now we will be creating the zone for the HBA and storage port,

zonecreate “BForum_HBA1_VNX_SPA3″,”BForum_HBA1;VNX_SPA3”

We can add an alias to an existing zone by running the zoneadd command in similar way as we used aliadd command.

We can create zone config with the below command. This will add the zone to the cfg too..

cfgcreate “BForum_SAN1_CFG”,”BForum_HBA1_VNX_SPA3″

 

 

we should use the cfgadd command to add a new zone to an existing cfg as shown below,

cfgadd “BForum_SAN1_CFG”,”BForum_HBA1_VNX_SPB2

Thus we have the zones created and added to the (existing/new) config. Now we should save the config to memory to ensure this will be loaded in the next reboot of the switch also. The cfgsave command will do it for us.

We can now enable the zone config to make it in effect.

cfgenable BForum_SAN1_CFG

Yes we are all set. The server and storage now should be able to communicate. Some other useful commands are,

cfgshow BForum_SAN1_CFG           #Shows the config BForum_SAN1_CFG in detail

cfgdisable BForum_SAN1_CFG           #Disables the config BForum_SAN1_CFG

cfgremove “BForum_SAN1_CFG”,”BForum_HBA1_VNX_SPB2”           #Removes the zone BForum_HBA1_VNX_SPB2 from config BForum_SAN1_CFG

cfgactvshow            #Shows the current active config

alishow BForum_HBA1    #Shows the alias BForum_HBA1

zoneshow BForum_HBA1_VNX_SPA3   #Shows the zone BForum_HBA1_VNX_SPA3 details

More in coming posts. You may click here for SAN switch related posts. Thanks for reading..

 

Cisco MDS SAN switch Zoning via CLI

Here let’s discuss the steps to complete the zoning of a new server in Cisco MDS FC switch. In our previous post we had discussed the initialization procedure for a new MDS switch – may be helpful for you. The process of zoning will have 3 components, namely aliases, zones and zoneset (or zone configuration).

If you have a Brocade switch, you may refer to this post which explains zoning in a Brocade switch via CLI.

An alias is a name assigned to the WWN numbers which makes it easy to use/remember. WWN numbers Read more

– identity for a device, will have numbers separated by colon (:), for e.g, 10:ab:cd:ef:12:34:56:78 – are harder to be remembered.

A zone will be containing multiple objects which defines a communication path. In a zoning enabled switch, any two WWNs or port which are not having a common zone (which are not part of a single zone together) will not be able to communicate each other. We will create a Zone and will add the objects (WWNs, aliases or ports) to it.

A zoneset or a zone configuration is a collection of a set of zones in a switch/fabric. It makes easy to manage the zones. We will define an active configuration in switch/fabric and will add the zones, which need to be active, to this configuration.
Now let’s discuss the commands.

 

 

First we will create an alias for the new server HBA and the storage port to which it need to communicate.

#conifg -t

BForum_SAN01(config)# fcalias name BForum_HBA1 vsan 20        # This will create an alias with name BForum_HBA1

BForum_SAN01(config-alias)# member pwwn 10:xx:xx:xx:xx:xx:xx:01    # Adds the WWN to this alias

BForum_SAN01(config-alias)#exit

BForum_SAN01(config)# fcalias name VNX_SPA3 vsan 20

BForum_SAN01(config-alias)# member pwwn 50:xx:xx:xx:xx:xx:xx:01

BForum_SAN01(config-alias)#exit

Now we have the aliases ready. We can now create a zone for these two objects and add them. We will create a zone named ‘BForum_HBA1_VNX_SPA3’ which will be containing the host HBA (BForum_HBA1) and the storage port (VNX_SPA3).

BForum_SAN01(config)# zone name BForum_HBA1_VNX_SPA3 vsan 20

BForum_SAN01(config-zone)# member fcalias BForum_HBA1

BForum_SAN01(config-zone)# member fcalias VNX_SPA3

BForum_SAN01(config-zone)# exit

Zone too is ready now. Assuming we don’t have an existing configuration, we will be creating a zone config here. If you are already having a zoneset, you can use the zoneset name here in the below command.

 

 

BForum_SAN01(config)#zoneset name BForum_SAN01_Config VSAN 20

BForum_SAN01(config-zoneset)# member BForum_HBA1_VNX_SPA3

BForum_SAN01(config-zoneset)# exit

Now we have the zoneset created and zones added to it. We are good to activate the new zoneset.

BForum_SAN01(config)# zoneset activate name BForum_SAN01_Config VSAN 20

To verify the active zoneset, you may run the command show active zoneset

In case if you have to deactivate the zoneset, you may run the command,

BForum_SAN01(config)# no zoneset activate name BForum_SAN01_Config VSAN 20

We can save the running config to start-up config by running copy run start command. Now we have the zoning completed for one of the HBA of the new server. We will have to do the zoning for both the HBAs and should use multiple storage ports for redundancy.

You may click here for SAN switch related posts.

Hope this post was helpful for you. More, in coming posts, your thoughts in comments below… 🙂

How to use sudo – root privilege for a normal user

Sudo works under Linux / Mac OS X and all UNIX like operating systems. /etc/sudoers (config file that defines or list of who can run what) allows you to delegate authority to give certain users or groups of users the ability to run various commands as the superuser(root) or another user without needing the root password. This is useful for delegating roles and permissions to other users without sharing the root password.

This file must be edited with the visudo command as the root user . The sudo command allows users to do tasks on a Linux system as another user.

Read more

How do I use sudo?

Let us take an example here,

If you want to give the user John, access to restart httpd service. First, Login as root user, then use visudo command edit the config file:

# visudo

 

 

Append the following lines to file:

John ALL= /etc/init.d/httpd restart

Save and close file . Now John user can restart httpd service by typing the following command:

$ sudo /etc/init.d/httpd restart

Output:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password:
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

The sudo command has logged the attempt to the log file /var/log/secure or /var/log/auth.log file:

# tail -f /var/log/secure

Sample outputs:

Nov 15 06:05:36 localhost sudo: John : TTY=pts/1 ; PWD=/home/John ; USER=root ; COMMAND=/etc/init.d/httpd restart

Before running a command with sudo, users usually supply their password. Once authenticated, and if the /etc/sudoers configuration file permits the user access, the command will be run. sudo logs each command run.
a) If you want to allow John to run various commands:

John ALL=/sbin/halt, /bin/kill, /etc/init.d/httpd

b) Allow user John to restart httpd without any password i.e. as root without authenticating himself:

John ALL= NOPASSWD: /etc/init.d/httpd restart

c) Allow user Alex to run any command from /usr/bin directory:

Alex ALL = /usr/bin/*

 

 

d) Allow user Alex to run ALL commands:

Alex ALL =(ALL) ALL

e) If you want to allow system admin user to run all commands (add users to a group eg:- unixsa)
Append the following line:

## Allows people in group unixsa to run all commands
 %unixsa ALL=(ALL) ALL

Save and close the file. Finally, add a group called unixsa:

# groupadd unixsa

Add a user called Alex (existing user) to group unixsa:

# usermod -a -G unixsa Alex

Verify group membership:

# id Alex

Sample Outputs:

uid=5001(Alex) gid=5001(Alex) groups=5001(Alex),110(unixsa)

Login as user Alex and to run any command as the root type:

$ sudo /etc/init.d/network restart

f) If database admin user want to run command as oracle

Append the following lines to /etc/sudoers file:

John ALL=(oracle) /u01/app/oracle/product/11.1.0/db_1/bin/dbstart

In this case, it’s that indicating the user John can execute the dbstart command as oracle occurs. When using sudo to assume the role of a user other than root, use the -u option and give the user name as an argument, followed by the command that should be executed.

$ whoami
John

 

$ sudo -u oracle /u01/app/oracle/product/11.1.0/db_1/bin/dbstart

Output:

Password:
 Processing Database instance "TEST": log file /u01/app/oracle...

That’s all, we have tried all the common options for the sudo command. You may have your queries in the comments section.

 

Simple VMAX device allocation steps

Here we will discuss the basics of VMAX, a new device allocation to a new host. For a new host, we will have to create a Masking View (we will use MV or View later in this post), which will be containing Storage Group ( SG – Containing all the devices to be presented to the host ), Port Group ( PG -Containing the VMAX director ports through which the host will access the devices ) and Initiator Group ( IG – containing the host HBA WWNs ). Lets look more in to the configuration via symcli.

Read more

Let’s assume we are using Thin Devices with a pool named T_Pool_1 already present in our VMAX.We will create 2 TDEVs devices first. The command will be,

symconfigure -sid 1234 -cmd ” create dev count=2, size=54614, emulation=FBA, config=TDEV;” commit -v

The new devices AAAA and AAAB  of 50GB are now created. Now we will bind these to the pool T_Pool_1. The commad we will use,

symconfigure -sid 1234 -cmd “bind tdev AAAA:AAAB to pool T_Pool_1;” commit -nop -v

 

 

Now we are all set to allocate these devices to the server. But it requires the View created. We are assuming the zoning is done and the HBAs are having good connectivity with the VMAX. We can verify this by running the command,

symaccess -sid 1234 list logins -wwn 1xxxxxxxxxxx  # where 1xxxxxxxxxxx is the HBA WWN

If the HBA is logged in, we are good.Now we will create the IG first.

symaccess -sid 1234 -type init create -name BForum_IG -f WWN_file

Where the WWN_file should have the WWNs mentioned in the form,

WWN:1xxxxxxxxxxx  

WWN:2xxxxxxxxxxx  

If we need to a WWN later we can do it by running,

symaccess -sid 1234 -name BForum_IG -type init -wwn 3xxxxxxxxxxx add

Now we have the IG created. The initiators in IG will be listed with their WWN only. If we need to rename to make it human-readable, we can use the command –

symaccess -sid 1234 -wwn 1xxxxxxxxxxx  rename -alias BForum_HBA1/1xxxxxxxxxxx 

The next step, we will create the PG.

symaccess -sid 1234 create -name BForum_PG -type port -dirport 7f:0,9f:0

 

 

Now we have the PG created with the FA port 7F:0 and 9F:0 added to it. Now we are left with the SG. We will create it with the devices AAAA and AAAB added to it,.

symaccess -sid 1234 create -name BForum_SG -type storage -devs AAAA:AAAB 

Yes, we have all the groups created. Now we will create the View,

symaccess -sid 1234 create view -name BForum_MV -ig BForum_IG -pg BForum_PG -sg BForum_SG

That’s it..! The view is set with the host and devices added to it.Now the server will be able to discover the devices.

Backup is of top priority for your production data and VMs. We recommend Nakivo for your VMware, Hyper-V and EC2 instances backups.

That was easy, right ? Hope you enjoyed it.You may find more EMC VMAX posts here.

 

1 2 3 4 5