Monday, 18 August 2014

Install Cisco MDS9124 / MDS9148 additional FC port licenses

Install Cisco MDS9124  / MDS9148 additional FC port licenses
Login to Cisco License portal at
Use the PAK (Product Authorization Key) number that came with the printed card beside the switch or SFPs.
To obtain the license, you will be required to provide the switch serial number along with the PAK. Use the following procedure to obtain the switch serial number:
Login to the switch command console
Issue the “show license host” command. The serial number is the character string after the “=” sign.
For example:
CISCOSWITCH# show license host
License hostid: VDH=FOX12345ABC
Here, the switch serial number is “FOX12345ABC”
Follow the wizard in Cisco’s web site to obtain the license. It will arrive to your email mailbox, or it can be downloaded directly from this portal.

Login to Cisco device manager app as admin
Go to the menu Admin, Flash Files
Click Copy …
Direction: Server - > Switch
Protocol: tftp
Server Address: Type in the IP address of the tftp server where the “.lic” file is
Server file: locate the file in the tftp server, but remove all the path, except for the filename. This is because it needs to be relative to the tftp server root
Switch File: use “bootflash:/FILENAME.lic”, being FILENAME.lic the same name as the original file.
Most of the parameters here will be auto-populated, but need to be verified.
Click Apply.
Then Close and refresh the previous window. The file should be listed in the bootflash:
Click Close
At this point, there are two ways to install the license in the switch:
Option 1, using the command line
Login to the switch using a ssh session and type the command to activate the license as follows:
CISCO-MDS9124 login: admin
Cisco Storage Area Networking Operating System (SAN-OS) Software
TAC support:
Copyright (c) 2002-2007, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained herein are owned by
other third parties and are used and distributed under license.
Some parts of this software may be covered under the GNU Public
License or the GNU Lesser General Public License. A copy of
each such license is available at and
CISCO-MDS9124# install license bootflash:FILENAME.lic
Installing license .......done
CISCO-MDS9124# exit

Option 2, using the device manager:
Go to the Cisco device manager and goto admin, Licenses
Click the Install tab and click the arrow at the end of the “URI” box. It will show a drop down list of the license files present in the switch. Select the one that was recently transferred to the switch.
Both boxes, URI and Target Filename will be automatically populated
Click Install
After a few seconds the Status should say “success”

Verify that the licenses were installed properly:
Go to the Cisco device manager and goto admin, Licenses
The additional licenses should show up in the Features tab, Installed Count column

And on the main window, also the ports should be activated.

Tuesday, 12 August 2014

Setting up slewing NTP option in Linux for Oracle Database

Many times while installing/configuring Oracle Cluster, DBA’s  receive the following error message.
Checking NTP daemon command line for slewing option “-x”Check: NTP daemon command line
Node Name                     Slewing Option Set?  ————————————  ————————
vcsnode1                         no
vcsnode2                         no
Result:NTP daemon slewing option check failed on some nodes PRVF-5436 : The NTP daemon running on one or more nodes lacks the slewing option “-x”Result: Clock synchronization check using Network Time Protocol(NTP) failed
To fix this error, slewing needs to be configured.
Follow the below steps to configure slewing in Linux.
  • Stop ntpd daemon using the following command.
[root@vcsnode1 ~]# service ntpd stop
Shutting down ntpd:                                        [  OK  ]
[root@vcsnode1 ~]#
  • Edit /etc/sysconfig/ntpd file.  Usually the file looks as given below.
[root@vcsnode1 sysconfig]# cat ntpd
# Drop root to id ‘ntp:ntp’ by default.
OPTIONS=”-u ntp:ntp -p /var/run/”
# Set to ‘yes’ to sync hw clock after successful ntpdate
[root@vcsnode1 sysconfig]#
  • Edit the file and add “-x” to  ”OPTIONS=”-u ntp:ntp -p /var/run/”" line befor e”-u”
  • After editing the file, the contents should look like given below
[root@vcsnode1 sysconfig]# cat ntpd
# Drop root to id ‘ntp:ntp’ by default.
OPTIONS=”-x -u ntp:ntp -p /var/run/”
# Set to ‘yes’ to sync hw clock after successful ntpdate
[root@vcsnode1 sysconfig]#
  • Start ntpd daemon using the following command
[root@VCSNode2 ~]# service ntpd start
Starting ntpd:                                             [  OK  ]
[root@VCSNode2 ~]#

  • Ask the DBA to install/proceed to configure Oracle Cluster

Thursday, 7 August 2014

How to configure Raw Disks in RHEL 5 for Oracle11g udev

The following is to change the owner, group and permissions for raw devices used for Oracle RAC.
Create a file called /etc/udev/rules.d/65-raw-permissions.rules with these contents:
#Set permissions of raw bindings to Oracle Clusterware devices
KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="640"
KERNEL=="raw2", OWNER="root", GROUP="oinstall", MODE="640"
KERNEL=="raw3", OWNER="oracle", GROUP="oinstall", MODE="640"
KERNEL=="raw4", OWNER="oracle", GROUP="oinstall", MODE="640"
KERNEL=="raw5", OWNER="oracle", GROUP="oinstall", MODE="640"

Test executing:
udevtest /class/raw/raw1
It should show something like:
udevtest /class/raw/raw1
main: looking at device '/class/raw/raw1' from subsystem 'raw'
udev_rules_get_name: rule applied, 'raw1' becomes 'raw/raw1'
udev_device_event: device '/class/raw/raw1' already in database, validate currently present symlinks
udev_node_add: creating device node '/dev/raw/raw1', major = '162', minor = '1', mode = '0640', uid = '0', gid = '600'
main: run: 'socket:/org/kernel/udev/monitor'
main: run: '/lib/udev/udev_run_devd'
main: run: 'socket:/org/freedesktop/hal/udev_event'
main: run: '/sbin/pam_console_apply /dev/raw/raw1 '

To apply the rules run:
# start_udev
Starting udev:                           [  OK  ]


Saturday, 1 March 2014

Procedure to upgrade Linux 6.1 to 6.4 without CD from a local repository

We are doing an upgrade of RHEL 6.1 to 6.4. It is applicable to other versions and distributions like CentOS.
1) Create a local repository to have all the packages of the new version available.
Create a file called /etc/yum.repos.d/server64.repo with the following contents:
name=Red Hat Enterprise Linux 6.4 x64

2) Verify what is the current running version and kernel.
# uname -a
Linux SERVER1.domain.local 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.1 (Santiago)

3) List the available packages and specially the kernel version. Limit yum to use the new repository only.
yum --disablerepo="*" --enablerepo="server64x64" list available
yum --disablerepo="*" --enablerepo="server64x64" list kernel

4) Run the update command and wait it for completion.
For interactive mode, when questions have to be answered to proceed with the update, use:
yum --disablerepo="*" --enablerepo="server64x64" update
For automated mode, assuming all questions will be answered as “yes”, use:
yum –y --disablerepo="*" --enablerepo="server64x64" update

Example of what will be presented on the screen:
Transaction Summary
Install      21 Package(s)
Upgrade     278 Package(s)

Total download size: 224 M
Is this ok [y/N]:

  abrt-plugin-logger.x86_64 0:1.1.16-3.el6
  abrt-plugin-mailx.x86_64 0:1.1.16-3.el6
  abrt-plugin-rhtsupport.x86_64 0:1.1.16-3.el6
  abrt-plugin-sosreport.x86_64 0:1.1.16-3.el6
  libjpeg.x86_64 0:6b-46.el6


5) Verify the new version of the OS
# uname -a
Linux SERVER1.domain.local 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
#cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)

6) Reboot to finish the process and to allow the new kernel and configuration be activated.

PS: RHEL 6.4 ships samba version 3.6. It has different configuration parameters in /etc/samba/smb.conf file when doing authentication thru AD.
Below are the required changes:


;    idmap uid = 10000-20000
;    idmap gid = 10000-20000
;    idmap backend = rid:DOMAIN=10000-20000


    idmap config * : backend = tdb
    idmap config * : range = 20001-30000
    idmap config DOMAIN : backend = rid
    idmap config DOMAIN : range = 10000-20000
    idmap config DOMAIN : base_rid = 0

(Replace DOMAIN with the short name of your domain name)

7) End

Tuesday, 25 February 2014

VMware Vsphere: Fix hidden NIC devices after P2V conversion of Windows servers

VMware Vsphere: Fix hidden NIC devices after P2V conversion of Windows servers

After a physical conversion a number of “stale devices” will exist in the new virtual machine. These are hardware devices which are no longer required.

Windows 2000 & 2003

To identify which devices are no longer physically installed on your virtual machine, use the Microsoft environment variable devmgr_show_nonpresent_devices. This is explained in the Microsoft article:

1. From the command prompt, type:

set devmgr_show_nonpresent_devices = 1

2. Start the search. Type:

start devmgmt.msc

3. From the Device Manager, list the devices.

Select: View > Show hidden devices.

4. Deinstall the listed devices:

Select the device and uninstall it from the Device Manager.


Tuesday, 4 February 2014

How to configure the right amount of swap space in Linux

Linux and other Unix-like operating systems use the term "swap" to describe both the act of moving memory pages between RAM and disk, and the region of a disk the pages are stored on. It is common to use a whole partition of a hard disk for swapping. However, with the 2.6 Linux kernel, swap files are just as fast as swap partitions. Now, many admins (both Windows and Linux/UNIX) follow an old rule of thumb that your swap partition should be twice the size of your main system RAM. Let us say I've 32GB RAM, should I set swap space to 64 GB? Is 64 GB of swap space really required? How big should your Linux / UNIX swap space be?

Old dumb memory managers

I think the '2x swap space' rule came from Old Solaris and Windows admins. Also, earlier memory mangers were very badly designed. There were not very smart. Today, we have very smart and intelligent memory manager for both Linux and UNIX.

Nonsense rule: Twice the size of your main system RAM for Servers

According to OpenBSD FAQ:

Many people follow an old rule of thumb that your swap partition should be twice the size of your main system RAM. This rule is nonsense. On a modern system, that's a LOT of swap, most people prefer that their systems never swap. You don't want your system to ever run out of RAM+swap, but you usually would rather have enough RAM in the system so it doesn't need to swap.

Select right size for your setup

Here is my rule for normal server (Web / Mail etc):

Swap space == Equal RAM size (if RAM < 2GB)

Swap space == 2GB size (if RAM > 2GB)

Many Oracle experts recommend something as follows for heavy duty Oracle server with fast storage such as RAID 10:

Swap space == Equal RAM size (if RAM < 8GB)

Swap space == 0.50 times the size of RAM (if RAM > 8GB)

However, newer servers can have 

Red Hat Recommendation

Red hat recommends setting as follows for RHEL 5:

The reality is the amount of swap space a system needs is not really a function of the amount of RAM it has but rather the memory workload that is running on that system. A Red Hat Enterprise Linux 5 system will run just fine with no swap space at all as long as the sum of anonymous memory and system V shared memory is less than about 3/4 the amount of RAM. In this case the system will simply lock the anonymous and system V shared memory into RAM and use the remaining RAM for caching file system data so when memory is exhausted the kernel only reclaims pagecache memory.

Considering that 1) At installation time when configuring the swap space there is no easy way to predetermine the memory a workload will require, and 2) The more RAM a system has the less swap space it typically needs, a better swap space

Systems with 4GB of ram or less require a minimum of 2GB of swap space

Systems with 4GB to 16GB of ram require a minimum of 4GB of swap space

Systems with 16GB to 64GB of ram require a minimum of 8GB of swap space

Systems with 64GB to 256GB of ram require a minimum of 16GB of swap space

Swap will just keep running servers...

Swap space will just keep operation running for a while on heavy duty servers by swapping process. You can always find out swap space utilization using any one of the following command:

cat /proc/swaps

swapon -s

free -m


See how to find out disk I/O and related information under Linux. In the end, you need to add more RAM, adjust software (like controlling Apache workers or using lighttpd web server to save RAM) or use some sort of load balancing.

Also, refer Linux kernel documentation for /proc/sys/vm/swappiness. With this you can fine tune swap space.

A note about Desktop and Laptop

If you are going to suspend to disk, then you need swap space more than actual RAM. For example, my laptop has 1GB RAM and swap is setup to 2GB. This only applies to Laptop or desktop but not to servers.

Kernel hackers need more swap space

If you are a kernel hacker (debugging and fixing kernel issues) and generating core dumps, you need twice the RAM swap space.


If Linux kernel is going to use more than 2GB swap space at a time, all users will feel the heat. Either, you get more RAM (recommend) and move to faster storage to improve disk I/O. There are no rules, each setup and configuration is unique. Adjust values as per your requirements. Select amount of swap that is right for you.