Thursday, May 27, 2010

Automating Various Application Server

Hey All i am going to write how you could automate your full environment with various application Server in few days but just wanted to post so you guys are aware.

I will take sometime to write on this topic as i want cover all aspects .

How do I improve my Vocabulary

Ideas are immense and infinite but when one has ideas and not enough packaging to support it, the idea looks vague and ineffective.

Vocabulary is a strong tool to effective communication. It is a double edged weapon as usage of flamboyant vocabulary often puts the reader off and using multiple words to express an idea makes the reader beat round the bush. For Example, look at this statement "The Metropolitan had the mechanism to control the flow of automobiles on either side of the road with specific indicators that the operators of the automobiles follow in order to avoid confusion and accidents on the streets" and read the next statement - "The city had Traffic Signals that the drivers follow to avoid traffic congestion on the streets". Excessive vocabulary can be dangerous and inadequate vocabulary will be boring. In the above sentences, the idea is the same but packaged in different styles, one of them definitely is confusing.

An average educated person has at least 400 - 500 words in the vocabulary but ideally it is good to have at least 1000 words for effective communication. It becomes all the more important for the individuals to understand the utility of each of the word.

Moving on with our understanding of Vocabulary, it is important to understand what is a poetic expression and what is a layman's language, what is a scientific language and what is a common parlance. While it is important to understand the reader before choosing the expression, we should also keep in mind that the idea should be universally appreciated. The quality of our communication reflects in the choice of words. Expressions and choice of words vary from country to country, culture to culture. Using slang, colloquial terms should be in sync with the reader or if the writer is not sure, such expressions should be avoided.

The Big Question is how do i improve my vocabulary? At an age where our learning abilities take a metamorphosis, the basic methods of learning vocabulary would seem primitive and ineffective. The best way to improve vocabulary for such an age group is to read topics on varied interests. Fiction, Non-Fiction, Current Affairs would be the basic topics which can be taken up and a cross reference of the same with a dictionary would be helpful. this exercise will have dual benefits - 1. it will refine your idea generation process and 2. it will enhance vocabulary. Self help Book like "Word Power Made Easy" should be used to understand the word origin and usage. One should not shy away from using the words in day to day communication however care should be taken about the reader group.

Every subject matter has its own set of words and our interaction with homogeneous groups should always include Subject Matter Vocabulary to enhance communication effectiveness. For Eg: what is High Blood Pressure to us is Hypertension to a doctor, for us there is power cut and for an electrician there is electricity trip down. So one of the key issues is that whenever we are communicating with a set of people out of our area of comfort, it is important that we understand and use their set of vocabulary.

This is a basic overview about improving vocabulary especially for people who would want to improve their levels of vocabulary to a manageable extent.

Wednesday, May 26, 2010

Trouble Ticket system

Trouble Ticket system

Many Small and medium sized companies are always struggling to find the best suited ticket system for them , if you have a budget constrain why to invest more on Expensive ticket system when you have open-source solution . I had to identify a open source ticketing and change management system , i had to go through many ticket system and review there feature. The best i found was OTRS Open source Ticket Request System , you can download the same from Here.

Below are the features of OTRS , there are lots of plugin's available to

Web-Interface:

  • Agent web interface for viewing and working on all customer requests
  • Admin web interface for changing system things
  • Customer web interface for viewing and sending infos to the agents
  • Webinterface with themes support
  • Webinterface with Single sign on (e. g. HTTPBasicAuth or LogonTickets)
  • Multi language support (Brazilian Portuguese, Bulgarian, Czech, Chinese, Dutch, Danish, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Norwegian, Polish, Portuguese, Russian, Slovak, Spanish, Turkish and Vietnam)
  • customize the output templates (dtl) release independently
  • Webinterface with multi attachment support
  • easy and logical to use

Email-Interface:

  • MIME support (attachments)
  • PGP support
  • SMIME support
  • dispatching of incoming email via email addess or x-header
  • autoresponders for customers by incoming emails (per queue)
  • auto convert of incoming html only emails to text/plain (to get it easier searchable)
  • email-notification to the agent by new tickets, follow ups or lock timeouts
  • follow up check based on references and in-reply-to header

Ticket:

  • custom queue view and queue view of all requests
  • Ticket locking
  • Ticket replies (standard responses)
  • Ticket autoresponders per queue
  • Ticket history, evolution of ticket status and actions taken on ticket
  • abaility to add notes (with different note types) to a ticket
  • Ticket zoom feature
  • Tickets can be bounced or forwarded to other email addresses
  • Ticket can be moved to a different queue (this is helpful if emails are for a specific subject)
  • Ticket priority
  • Ticket time accounting
  • Ticket print view (PDF)
  • Ticket pending feature
  • Ticket responsible feature
  • Ticket bulk feature
  • Ticket hook divider
  • Ticket event module layer
  • Generic agent to do automatically actions on tickets (based on scheduled jobs)
  • content fulltext search
  • Ticket ACL support
  • Ticket workflow feature

System:

  • ASP (activ service providing) support
  • Calendar / WorkingTime support for time calculations (SLA)
  • Customer Source can be used from a SQL databases or LDAP (e. g. eDirectory, AD, OpenLDAP)
  • TicketHook free setable like 'Call#', 'MyTicket#', 'Request#' or 'Ticket#'
  • Ticket number format free setable
  • database xml interface (driver for different databases including admin tasks like ALTER, CREATE, DROP, ... of tables)
  • database layer, support of different SQL databases (e. g. MySQL, PostgeSQL, Oracle, DB2 and MSSQL)
  • a stats framework
  • utf-8 support for frontend and backend
  • OTRS web package manager (to install applications like calendar or filemanager)
  • agent authentication against database, ldap, httpauth or radius
  • customer authentication against database, ldap, httpauth or radius
  • creation and configuration of user accounts, groups and roles
  • creation of standard responses
  • creation of sub queue
  • signature configuration per queue
  • salutation configuration per queue
  • email-notification of administrators
  • email-notification sent to problem reporter (by create, locked, deleted, moved and closed)
  • submitting update-info (via email or webinterface)
  • deadlines for trouble tickets
  • global TimeZone feature
  • Web config editor
  • Link support of objects link tickets, faqs, ...
  • different levels of permissions/access-rights
  • easy to develope you own addon's (OTRS API)
  • easy to write different frontends (e. g. X11, console, ...)
  • a fast and usefull application

Todo:

  • API to other ticket systems like Peregrine
  • XML interface

Hard reality about Soft Skills

I take it as a privilege to share my knowledge and understanding about Soft Skills and Managerial Effectiveness.

Communication is often looked at as ability to speak error free fluent English. For me it is just a part of the whole skill called communication and not the be all and end all of it.

Communication can be ideally split into various smaller entities and all these entities working together is the key to effective Communication. First is the idea or the fact. It depends on the individual as to how well one understands the aspect about which one is communicating. For Example, Socrates has the idea and understanding of the facts about philosophy; Harsha Bhogle has the idea and factual understanding of the game - cricket. This is the foundation to communication. If you would ask me about the contribution of Vincent Van Gogh to the medieval art of Italy, My communication would be flat on its back as I do not have the basic idea of art or medieval Italy.

Next is the Expression. This can be the medium which you are using. The medium can be a language or gestures or facial expressions. Dwelling into an example, when you sip coffee and it is hotter than you have expected it to be, there is an immediate stimulus that is involuntary; Anger, Excitement, Disappointment, Happiness...essentially everything can be expressed without uttering a word. Language here forms the packaging to our idea. Vocabulary is the key to expression, when somebody does a great job you say "Awesome" and you end up sending a negative expression when you say "Awful". The need to express idea gives way to a medium and this medium is the language.

Language is further divided to three issues - Vocabulary, Semantics and Syntactic. Semantics is rules to proper construction of words which are in sync with the expressions of a human being. Syntax is the rules to constructing a meaningful sentence which can be universally understood as the same way which the communicator intends it to be understood. In short, communication errors could be Semantic or syntactic.

For strong communication skill, one should always have Idea supported by vocabulary, semantic and syntactic understanding of the language being used.

One of the myth about communication is that there is good and bad communication. I differ with the idea; I would say there is strong and weak communication and not good and bad communication.

We would discuss more on the methods, ways and means to develop strong communication skill in my forthcoming posts

Signing Off
Sairam

Monday, May 17, 2010

Help Full Links & Tools

Help Full Links & Tools

Network Diagrams Creation Tutorials -- Link

Sunday, May 16, 2010

Zoning Brocade switches

Zoning Brocade switches

This tutorial provides a quick walk-through of setting up zoning on a Brocade switch.

Zoning provides a way to logically group together the components of a SAN. Ports, interfaces and even switches themselves can be grouped together into configurations that work together to make SANs more orderly and less daunting.

All zoning in the Brocade environment is done within configurations. A configuration contains aliases and zones.

An alias is a tool to simplify repetitive port numbers or WWN entries into an easy-to-remember name. For instance: rather than typing in the WWN "50:00:0e:10:00:00:00:17" in zoning operations, one could use an alias to identify the WWN as being "DF350_intfc_0". Aliases can also be used to identify multiple ports or WWNs by a single name. All zoning commands accept aliases as valid parameters.

A zone is a set of devices that access one another. All devices connected to a Fabric may be configured into one or more zones. Devices that are in the same zone can see each other, devices that are in different zones can not.

alicreate : Creates new zone aliases. Assigns a name to a list of alias members. Alias members can include port numbers (for example; 1,2 indicates switch 1, port 2) or WorldWide? names. If there are multiple alias members, all members must be separated by semicolons within the list of alias members.

example : alicreate "df350_intfc_0", "50:00:0e:10:00:00:00:17"

zonecreate : Groups a list of zone members under a zone name. Zone members can include port numbers, WorldWide? names, or aliases created by the alicreate command. Multiple zone members must be separated by semicolons within the list of zone members.

example : zonecreate "c2zone", "snowtop_c2; df350_intfc_1"

cfgcreate : Assigns a configuration name to a list of configuration members. The configuration members are all zones Multiple configuration members are separated by semicolons.

example : cfgcreate "c2config", "c2zone"

cfgenable : Checks a specified configuration for errors and makes it the active configuration of the switch. Note: No zoning is applied to the switch until the cfgenable command completes successfully. If there is already an active configuration, cfgenable will replace the active configuration with the specified configuration.

example : cfgenable "c2config"

cfgdisable : Deactivates a specified configuration

example : cfgdisable "c2config"

cfgsave : Saves zoning information to switch's flash memory. Configuration will not survive a reboot of the switch until the configuration is saved.

cfgclear : Deactivates and removes all zoning information from active memory. To remove a configuration from flash memory, run cfgsave after cfgclear.

zoneshow : Shows zoning configuration.

switchshow : Shows overall configuration of switch. WWNs, login types (F-port, L-Port etc.) port status and some general switch info show up in switchshow.

Setting up a zoning configuration

The following example sets up a switch so that the LUNs presented on controller 0 of a DF350 Fibre unit are presented either to controller 2 or controller 3 of a Sun Solaris host depending on which configuration is activated.

Please note : If ANY ports on a switch are in an active zone configuration, ALL ports on the switch MUST be zoned in order to be useable. Since this example only uses ports 4-7 of the switch, ports 0-3 would not be useable until they were included in the active zoning configuration.

'Another note : Usually it is best to zone by WWN, rather than by port number. That way, if a port goes bad the user just has to move the affected interface cable to a different port on the switch and the zoning should still be in place.

login: admin
Password:

sw2400_68:admin> switchshow
switchName: sw2400_68
switchType: 3.2
switchState: Online
switchRole: Principal
switchDomain: 1
switchId: fffc01
switchWwn: 10:00:00:60:69:20:13:c0
port 0: sw No_Light
port 1: sw No_Light
port 2: sw No_Light
port 3: sw No_Light
port 4: sw Online F-Port 50:00:0e:10:00:00:00:5d
port 5: sw Online F-Port 50:00:0e:10:00:00:00:17
port 6: sw Online F-Port 20:00:00:e0:69:c0:08:23
port 7: sw Online F-Port 20:00:00:e0:69:c0:08:45
sw2400_68:admin> alicreate "df350_intfc_0", "50:00:0e:10:00:00:00:17"
sw2400_68:admin> alicreate "df350_intfc_1", "50:00:0e:10:00:00:00:5d"
sw2400_68:admin> alicreate "snowtop_c2", "20:00:00:e0:69:c0:08:45"
sw2400_68:admin> alicreate "snowtop_c3", "20:00:00:e0:69:c0:08:23"
sw2400_68:admin> zoneshow
Defined configuration:
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23

Effective configuration:
no configuration in effect

sw2400_68:admin> zonecreate "c2zone", "snowtop_c2; df350_intfc_1"
sw2400_68:admin> zonecreate "c3zone", "snowtop_c3; df350_intfc_1"
sw2400_68:admin> zoneshow
Defined configuration:
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23

Effective configuration:
no configuration in effect

sw2400_68:admin> cfgcreate "c2config", "c2zone"
sw2400_68:admin> cfgcreate "c3config", "c3zone"
sw2400_68:admin> zoneshow
Defined configuration:
cfg: c2config
c2zone
cfg: c3config
c3zone
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23

Effective configuration:
no configuration in effect

sw2400_68:admin> cfgenable "c2zone"
error: "c2zone" is not a configuration
sw2400_68:admin> cfgenable "c2config"
zone config "c2config" is in effect
sw2400_68:admin> zoneshow
Defined configuration:
cfg: c2config
c2zone
cfg: c3config
c3zone
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23

Effective configuration:
cfg: c2config
zone: c2zone 20:00:00:e0:69:c0:08:45
50:00:0e:10:00:00:00:5d

What does this configuration look like on the Sun Solaris host?

After a reconfiguration boot, this is what the host sees when the " c2config " configuration is used on the switch.

# format
Searching for disks...done

c2t0d1: configured with capacity of 32.45GB
c2t0d2: configured with capacity of 15.51GB

AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c2t0d0
/pci@6,4000/fibre-channel@2/sd@0,0
2. c2t0d1
/pci@6,4000/fibre-channel@2/sd@0,1
3. c2t0d2
/pci@6,4000/fibre-channel@2/sd@0,2

Changing the configuration

To change the configuration, simply log into the switch and activate the " c3config " configuration that we created earlier.

sw2400_68:admin> cfgenable "c3config"
zone config "c3config" is in effect

After a reconfiguration boot, the Sun Solaris host now sees the new configuration. The LUNs that used to be presented to controller 2 are now presented to controller 3:

# format
Searching for disks...done

c3t0d1: configured with capacity of 32.45GB
c3t0d2: configured with capacity of 15.51GB

AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c3t0d0
/pci@6,4000/fibre-channel@3/sd@0,0
2. c3t0d1
/pci@6,4000/fibre-channel@3/sd@0,1
3. c3t0d2
/pci@6,4000/fibre-channel@3/sd@0,2

Saturday, May 15, 2010

Testing Microsoft Cluster

Testing Microsoft Cluster

I came across this tutorial when i need to plan cluster configuration testing so may be useful for you.

Test Number 1: Moving Groups

Move the current resources (including the Cluster Group and any Disk Groups) that were created with Cluster Service was installed, from the active cluster node to the inactive cluster node.

In your cluster, the two nodes can be divided into an active node .

After the Cluster Service has been installed on both nodes of the cluster, one of the nodes will be in control of all the default cluster groups (the active node) and the other node will not have any cluster groups assigned to it (the inactive node). The resources found on the active node, by default, include what is called the "Cluster Group" and the "Disk Group". (There may be one or more Disk Groups, depending on how your shared disk array has been configured. In this example, we will assume there is only one Disk Group.)

The Cluster Group generally contains these cluster resources:

· Cluster IP Address (the virtual IP address of the cluster).

· Cluster Name (the virtual name of the cluster, used by clients to access the cluster).

· Disk Q: (the quorum disk, may or may not be labeled Q:)

The Disk Group generally contains a single disk resource, a drive letter, which refers to a logical drive on the shared disk array. If you have more than one logical drive as part of the shared disk array, then there will be a separate Disk Group for each logical drive available.

Now that we got all that out of the way, let's begin our first test to see if the cluster is functioning properly. Our goal in this test is to see if we can manually move both default cluster groups from the active node in the cluster to the inactive node, and then reverse our steps so that the cluster groups return to their original location on the active cluster. Here's how:

1. Start Cluster Administrator.

2. In the Explorer pane at the left side of the Cluster Administrator, open up the "Groups" folder. Inside it you should see the Cluster Group and the Disk Group groups.

3. Click on "Cluster Group" to highlight it. In the right pane of the screen, you will see the cluster resources that make up this group. Note the "Owner" of the resources. This is the name of the active node.

4. Each of the groups must be moved to the other node, one at a time. First, right-click on "Cluster Group," then select "Move Group." As soon as you do this, you will see the "State" change from "Online" to "Offline pending" to "Offline" to "Online pending" to "Online." This will happen very quickly. Also note that the "Owner" changes from the active node to the inactive node.

5. Now do the same for the "Disk Group."

6. Assuming there are no problems, both groups will have moved to the inactive node, which, in effect, has now become the active node. Once both nodes have been moved, look in the Event Viewer to see if any error messages were generated. If everything worked correctly, there should be no error message.

7. Now, move both groups back to the original node by repeating steps four through six above.

This is a very basic test, but it helps to determine if the cluster is working as it should. The following tests are slightly more comprehensive, helping you to root out any other potential problems.

· Now if you click on the "Disk Group," you will notice that your disk resource did not fail over. This is also normal. This is because a failover will only force dependent resources to failover as a group, and the "Cluster Group" we failed over earlier is not dependent on the "Disk Group," so it did not fail over. To fail over the disk group, right-click on the disk resource in the right pane of the window, and select "Initiate failure." You will have to do this a total of four times in order to failover the disk resource to the other node.

· Now that you have done, reverse your steps, and failover the "Cluster Group" and the "Disk Group" back to the original node.

Like the previous test, check out the Event Viewer logs to see if any error messages occurred. If everything worked as expected, you are ready for the next test.

Test Number 3: Turn Off Each Node

While the first two tests were performed from the Cluster Administrator, the next three tests are more real world. In this test, you will first need to ensure that all of the default groups are located on one of the two nodes. Then you will physically turn off (flip the switch) the active node (first node).

If you are watching the cluster groups from the Cluster Administrator from the inactive node after turning off the first node, you should see a failover occur and the resources should be automatically failed over to the second node. Check the Event Log for any potential error messages after this occurs.

Once you have checked for any potential problems, turn the node on that was turned off earlier (node 1) and wait until it fully boots. You will note that turning on the node that was turned off does not cause the cluster to fail back. The cluster resources will remain on the second node until you force them to return to the first node.

Now turn off the node with the active groups (second node), repeating what you did earlier with the first node. As before, you can use the Cluster Administrator from node 1 to watch the groups fail over to the first node. Check the Event Log for any potential error messages.

Once the groups fail back to the first node, turn the second node back on, and wait until it boots up fully.

This is a very good test to see if failover will work in the real world. If no problems arose from this test, then you are ready for the next test.

Test Number 4: Break Network Connectivity

This test is similar in concept as the above test. What we want to do is force a fail over. But instead of simulating a computer failure, we will be simulating a network-related error.

From the node that has the default resource groups (the first node), remove the network cable from the public network card. This will simulate a failure of the first node, and should initiate a failover to the second node.

If you are watching the cluster groups from the Cluster Administrator from the second node, you should see a failover occur and the resources should be automatically failed over. Check the Event Log for any potential error messages.

Once you have checked for any potential problems, plug the network cable back into the first node, and then remove the network cable from the public network card on the second node. As before, you can use the Cluster Administrator to watch the groups fail over to the first node. Check the Event Log for any potential error messages. Once you are done, plug the network cable back into the public network card on the second node.

If no problems arose from this test, then you are ready for the next.

Test Number 5: Break Shared Array Connectivity

This test is designed to help uncover potential issues with the shared disk array. I have seen clusters pass all of the above four tests, but fail this one if the shared disk array is not configured 100% correct. This test is designed to simulate what would happen if the controller card or cable connected from a node to the shared disk array fails.

From the node that has the default resource groups (he first node), remove the cable from the card used to connect to the shared array. This will simulate a failure of the first node, and should initiate a failover to the second node.

If you are watching the cluster groups from the Cluster Administrator from the second node, you should see a failover occur and the resources should be automatically failed over. Check the Event Log for any potential error messages.

Once you have checked for any potential problems, plug the cable back into the first node, and then remove the cable from the card used to connect to the shared array on the second node. As before, you can use the Cluster Administrator to watch the groups fail over to the first node. Check the Event Log for any potential error messages. Once you are done, plug the cable back into the appropriate card.

Clearing Deffer-ed Emails from mailqueues

# Clearing Deffer-ed Emails from mailqueues
#!/bin/bash
cd /var/spool/mqueue
for del in `mailq | grep MAILER-DAEMON | cut -d" " -f1`;
do rm df$del;
rm qf$del;
done

Thursday, May 13, 2010

Linux Hugemem Kernels

Linux Hugemem Kernels

For using 4 GB or more RAM with Linux 32 bit in RHEl5,Linux kernel should be compiled with PAE capable machines.The kernel provide support for upto 64GB of high memory.

Install PAE kernel
kernel-PAE-2.6.18-8.el5.i686.rpm

Verify the initial RAM disk image
To verify that an initial RAM disk already exists,
use the command ls -l /boot to make sure the initrd-.img file was created

Verify the boot loader
#cat /boot/grub/grub.conf | grep PAE

Edit /etc/grub.conf to make sure to new kernel as default.