Friday, March 13, 2015

0505-121:alt_disk_install error & 0516-082 -----solved

516-082:/usr/sbin/lchangelv: Unable to access a special device file.

0505-121:alt_disk_install error


0516-082:/usr/sbin/lchangelv: Unable to access a special device file.
Execute redefinevg and synclvodm to build correct environment.


              Understanding the exact issue first

 The lchangelv command is low level command used to change the lv parameters. As per the error ,lchangelv is not able to access the special device files ,means issue seems with device files  and Can be with ODM also.

                  Below are the steps performed  


     1.                         for understanding , i ran alt_clone again and tried to figure out the major number of   the device files related to alt_clone. got the details


                                                  major number
brw-rw----    1 root     system       40,                 9   Mar 14 06:32 alt_hd10opt
brw-rw----    1 root     system       40,                14 Mar 14 06:32 alt_fslv01 







                                                                                                             
 2. verified the  existing device files starting with 40 to figure out whether the device files where actually used .

3. Copied all the files with major number 40 to different folder .

4. Again ran alt_clone ,but same error.But noticed that again the minor numbers are starting with 20 ,means there are some  ODM entries also that are affecting.

5. Since every device file will have entry in CuDvDr ,i started searching for the Major Number 40 in it
                            
odmget -q value1=40 CuDvDr
6. Once again cross verified the values  and after confirmation  removed it.
odmdelete -q value1=40 -o CuDvDr

7. Now my CuDvDr class is clear. But we need to verify all the object classes.

#odmget CuAt | grep alt
#odmget CuDv | grep alt
#odmget CuDvDr | grep alt
#odmget CuDep | grep alt

#odmget -q parent=altinst_rootvg -o CuDv








8. Found that   entries where available only on CuDv and CuDep. Hence removed the entries using below command.


odmdelete -q parent=altinst_rootvg -o CuDv
odmdelete -q name=altinst_rootvg -o CuDep



9. Started the Alt_clone  and Completed successfully.

Wednesday, January 21, 2015

LINUX Disk Storage Management & LVM Storage Management

       LINUX Disk Storage Management & LVM Storage Management




                     Disk Storage  Management
                    ------------------------------------------

Physical Disks are represented in LINUX as /dev/sda(SCSI Disks), /dev/hda(IDE Disks).

Suppose there is three SCSI Disks connected to the server . It will appear on server as

1st  Disk --/dev/sda
2nd Disk --/dev/sdb
3rd Disk --/dev/sdc



A valid block device could be one of two types of entries:

    A mapped device — A logical volume in a volume group, for example, /dev/mapper/VolGroup00-LogVol02.

    A static device — A traditional storage volume, for example, /dev/hdbX,/dev/sdaX, where hdb & sda  is a storage device name and X is the partition number. 

What is Partition?

The physical disk can be divided into one or more logical disks . These logical disks are known as partitions.


The idea is that if you have one hard disk, and want to have, say, two operating systems on it, you can divide the disk into two partitions. Each operating system uses its partition as it wishes and doesn't touch the other ones. This way the two operating systems can co-exist peacefully on the same hard disk. Without partitions one would have to buy a hard disk for each operating system.


*On an IDE drive you can have up to 63 partitions, 3 primary and 60 logical ( contained in one extended partition )

*On a SCSI drive the maximum number of partitions is 15.

Ex. -- Suppose you want to  4 partition  on new disk assigned to the server /dev/sdb.

After  partitioning the newly created  logical partitions will appear as.
 /dev/sdb1 ,/dev/sdb2 ,/dev/sdb3 and /dev/sdb4



What is Extended Partition ?


An extended partition is the only kind of partition that can have multiple partitions inside. Think of it like a box that contains other boxes, the logical partitions.

 The extended partition can't store anything, it's just a holder for logical partitions.
The extended partitions is a way to get around the fact you can only have four primary partitions on a drive. You can put lots of logical partitions inside it.
 
 What is Logical Partition?

Logical partitions are partitions that are created by dividing up the extended partition.


                       MBR(Master Boot Record)

The MBR is a small program that is executed when a computer begins to boot up (i.e., start up) in order to find the operating system and load parts of it into memory.

The first sector is the master boot record (MBR) of the disk


 The master boot record contains a small program that ;

1.  Reads the partition table, checks which partition is active (that is, marked bootable),
2. Reads  the first sector of that partition, the partition's boot sector (the MBR is also a boot sector, but it has a special status and therefore a special name). This boot sector contains another small program that reads the first part of the operating system stored on that partition (assuming it is bootable), and then starts it.


Understanding the Partitoning Concept


There are two ways of partitioning the disk :

 1. Standard Partitions using parted
 2. LVM Partition Management


 Standard Partitions using parted

parted utility is used in linux for partitioning the disks having large size greater than 2 TB .

By default, the parted package is included when installing Red Hat Enterprise Linux.

 Using the parted utility , we can perform below tasks.

    a)  View the existing partition table

    b)  Change the size of existing partitions

    c)  Add partitions from free space or additional hard drives 



                          Viewing the Partition Table






            Creating a Partition

 For creating the partition on new disk first we need to label the disk.

From the partition table, determine the start and end points of the new partition and what partition type it should be.







 Removing  a Partition


 Creation of swap Partition using parted

 Creating a LVM Partition using parted


 Creation of boot partition using parted






Saturday, January 17, 2015

REDHAT LINUX BASICS -STARTUP

                    LINUX -OPERATING SYSTEM.

Linus Travolds released linux in 1991 under GPL.

What is kernel?

Kernel is called as the heart of operating system. Kernel is also the program  acting as chief opertions

There are many functionalities that are handled by Kernel.Below are the list of some critical fuctionalities:
 1. Starting & Stopping other programs.
 2. Handling Requests from memory
 3. Accessing disks
 4.Managing network connections etc..


Kernel are basically of two types :

1. Monolithic -----That provides all the services that application needs
                              EX; Linux is using monolithic kernel

2. Micro Kernel --- These consists of small core set of services . It nees                       other modules to be loaded  to perform other functions.
                               EX:Windows.



LINUX Distributions  are classified into two groups

1. Commercial     --  This type of distribution tends to have longer release cycle .Also Commercial generally offers support for their distribution  at certain cost. EX--redhat,suse

2.Non-Commercial  --The company offers use the  non-commercial distribution basically  for testing purpose   of the software. Several of ,non-commercial distributions are backed up with the support.
Ex: Debian,Fedora,Ubuntu



LINUX Licences:

GNU Public Licences(GPL)  ---GPL States that the software realesed is free .It's acceptable to take the software and resell it for his own profit,But when reseling  and if any changes made in the code ,u need to release the full source code  including the changes  at GPL platform and also the new source code will be under GPL . EX. Redhat

BSD & Apache  -- These types of licences gives the user to modify the source code without disclosing the changes made in the source code.


------------------------------------------------------------------------------------------------

Basic Linux System Adminsitration Tasks;

1. User Management
2. Logical Volume Management
3. Network Management
4.Device Management.
5.Package Management

 --------------------------------------------------------------------------------------

User Management In Linux

1.  Every file or program under Linux is owned by a user.
2.  Each user will be having a unique User ID(UID).
3.  Root user is known as super user which can do all the tasks in linux.
     By default the UID for root user is "0" .
4.  System Users are  normally having the UID from 0 to 499  . The manually   created users will  have UID after that.

 5. All the user information in linux is kept under text files .

Below are the files where the user's information is kept.

1.  /etc/passwd -- this file stores user-name,encrypted password  entry,UID,GID,Gecos,Home directory and login shell informations

2. /etc/shadow ---  this file stores the encrypted passoword information for user accounts.

why was the requirement of  /etc/shadow file if it was possible through /etc/password file only?

 Ans: As we all know that /etc/passwd file is readable by all the users,it was leading to the security treat since it was easy for the hackers to crack the  encrypted password .  So for handling this linux introduced /etc/shadow file that is only readable by root users or other required priviledged programs that requires access to that information.



How to create a user 

Using the "useradd' command we are creating the users in linux.
Whenever we are running the useradd command the ASCII Text File  " /etc/default/useradd" is executed.

Content of /etc/default/useradd

# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

 *Above mentioned parameters are automatically taken once the useradd command is executed .

By default, a group will also be created for the new user .




Changing the default values(changing the /etc/default/useradd parameters)


When invoked with only the -D option, useradd will display the current default values

[root@abhi ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes






--------------------------------------------------------------------------------------------------------
Below help page of linux will be helpful in using the useradd command:



Usage: useradd [options]USER-NAME

Options:
  -b,   --base-dir BASE_DIR             base directory for the home directory of the   new account
  -c,  - -comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR            home directory of the new account
  -e, --expiredate EXPIRE_DATE    expiration date of the new account(The date is specified in the format YYYY-MM-DD.)
  -f, --inactive INACTIVE                 password inactivity period of the new account
  -g, --gid GROUP                            name or ID of the primary group of the new account
  -G, --groups GROUPS                   list of supplementary groups of the new account
  -m, --create-home                          create the user's home directory 
  -M, --no-create-home                      do not create the user's home directory
  -p, --password PASSWORD           encrypted password of the new account
  -r, --system                                     create a system account
  -s, --shell SHELL                            login shell of the new account
  -u, --uid UID                                    user ID of the new account
  -U, --user-group                              create a group with the same name as the user

--------------------------------------------------------------------------------------------------
Example

1. #useradd test

 This will create a user-id and it's home directory . Home directory will be by default "/home/user-id"

 2. # useradd -d /home/test  -p test123  test

Here we are creating a user test with home directory "/home/test"  and the passowrd that will be stored in /etc/shadow will be "test123"

'-p" parameter is not recommended to use until you are not creating the encrypted password using crypt command.

[root@abhi ~]# cat /etc/shadow |grep -i test
test:test123:16452:1:90:7:::
[root@abhi ~]#


3. Creation of  system  user account  with UID 510 and Primary goup ID as 500 .System user acount will not have home directory . But the user will have the no-ageing(means never expiry ) by default.
[root@abhi ~]# useradd -u 510 -g 500 -r test

**** This is helpful when customer requests for user account for collecting some details,who can't create any files or directory except /tmp.


4. If you want to create system user with home directory you need to use -m option .
#useradd -r -m test

5 .Creating a user-ID whose Gecos is "test user". The user account expires on 2015-12-18  and will become inactive after 5 days the user-ID expires.

[root@abhi ~]# useradd -c "test user" -e 2015-12-18  -f 5 test2

[root@abhi ~]# cat /etc/passwd |grep -i test2
test2:x:501:501:test user:/home/test2:/bin/bash






Content of /etc/shadow file after this:

[root@abhi ~]# cat /etc/shadow|grep test2
test2:!!:16452:1:90:7:5:16787:

.Note:   -f 0 means that the user account will become inactive as soon as    user-id expires

            -f -1 means that  user account inactive parameter  will be disbaled    for this    user.



Changing the base-dir )HOME) parameter in /etc/default/useradd file
[root@abhi ~]# useradd -D -b /home/test
[root@abhi ~]# useradd -D
GROUP=100
HOME=/home/test
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@abhi~]#





----------------------------------------------------------------------------------------------------------------------
                    How to remove a user .

We are using the command "userdel" to remove the user.




# userdel test       -----removes the user from the system(including entry in /etc/passwd & /etc/shadow file) IT will not remove the user's home directory.
#userdel -r test     -----It will remove the user definition and also the home directory of the user.
#userdel -f -r test  -----It will remove the user definition ,home directory and other definitions of user  forcefully,even if he is still logged in.

               Changing the attributes of user

We can change the attributes of users using the "usermod" command.

Below are the options available for usermod command

Usage: usermod [options] LOGIN

Options:
  -c, --comment  COMMENT                   new value of the GECOS field
  -d, --home HOME_DIR                           new home directory for the user account
  -e, --expiredate EXPIRE_DATE             set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE                         set password inactive after expiration to INACTIVE
  -g, --gid GROUP                                    force use GROUP as new primary group
  -G, --groups GROUPS                            new list of supplementary GROUPS
   -l, --login NEW_LOGIN                       new value of the login name
  -L, --lock                                                lock the user account
  -m, --move-home                                    move contents of the home directory to the
                                                                  new location (use only with -d)
   -s, --shell SHELL                                  new login shell for the user account
  -u, --uid UID                                          new UID for the user account
  -U, --unlock                                            unlock the user account



#usermod -L test  ---locks the user account
#usermod -U test ----unlocks the user account
# usermod -u 505 test ---changing the UID for the user
# usermod -G admin test  --changing the primary group of user test to admin
#usermod -G  users,admin,system test  -- adding the user "test" to users,admin & test group
#usermod e 2015-12-18  -f 5 test2     -- modifying the account expiry date for the user test2 to 18th dec 2015 and password to be set as inactive after 5 days of expiry.
#usermod -a aks test -- appending the user to the group aks
#usermod -m -d /etc/test test ---moving the home directory and it's contents to new location /etc/test for user test.
---------------------------------------------------------------------------------------------------------------------


                            How to create a group

We can grate a group using the command "groupadd" Group details are stored in files /etc/group and /etc/gshadow .

#groupadd aks   ---creates a group named "aks"
#groupadd -g 508 abhi ---creates a group abhi with GID 508

                        How to delete a group

we can delete a group using the groupdel command

#groupdel aks

                       MOdifying group attributes

Group Attributes are modified using the command "groupmod"

#groupmod -g 510 abhi -- changing the GID for group abhi
#groupmod -n test abhi ---changing the group name from "abhi" to "test"

------------------------------------------------------------------------------------------------------------------------------------



 Some tips on applying Security Hardening   for users.

1. Setting the password policies for particular user 



Listing the current password policies applied to user "test"
#chage -l test

Last password change                                                           : Jan 17, 2015
Password expires                                                                   : Apr 17, 2015
Password inactive                                                                  : never
Account expires                                                                     : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 90
Number of days of warning before password expires         : 7


 setting  the parameter (Maximum) to 90 . the user will be prompted for changing the password  after 90 days.

  # chage -M 90 test 
  
       


#chage -W 8 test --  Start warning the user  8 days before password expires







Friday, December 12, 2014

Resolving the Pseudo Terminal( pty) error Issue

To find the maximum number of pseudo-terminals (PTY) in IBM AIX:

# lsattr -l pty0 -E


To increase or decrease  the Pseudo Terminals

# smit pty

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
  STATE to be configured at boot time                     [available]
  Maximum number of Pseudo-Terminals                 [256]  --change this                                                                                                                    #
 Maximum number of BSD Pseudo-Terminals           [16]             



--------------------------------------------------------------------------------------------------------

Diagnosing the problem The symptoms may indicate that there is an application that is holding on to ptys and not releasing it.

1. Login to console .

2. Try using the 'fuser' command to find the culprit application, like this:
      # cd /dev/pts
      # fuser *
    The 'fuser' command will list all PIDs associated with each pty device.
    If there is a process that is not releasing its ptys, you will see its PID occur many times in the   fuser   output above .

3. Verify which process is holding the pty's  and inform the respective team for corrective action.

 

Friday, November 21, 2014

Mailx and sendmail Configuration in AIX

Below are the pre-requisite for the sendmail configuration.

1. The server-ip and the FQDN Name of the mail server.
2. The  mail  server should be reachable through the SMTP port number 25.
3. Ensure that the server-ip has been allowed to send and recieve mail from mail relay server or mail server .

Sendmail configuration:

1. Edit the /etc/sendmail.cf file and check for "DS" entry and add the FQDN   name of the mail server infront of this.

2. Add the entry of mail server in /etc/hosts file  

3.stop the sendmail services and again start the sendmail services
 #stopsrc -s sendmail
 #startsrc -s sendmail

4. Verify that the you are able to send mail using the below command.

#echo "test"|mailx -v abc123@gmail.com
WARNING: local host name (test_boot) is not qualified; see cf/README: WHO AM I?
abc123@gmail.com... Connecting to mail.abc.com . via relay...
220 abc.com ESMTP
>>> EHLO test_boot
250-abc.com
250-PIPELINING
250-SIZE 10485760
250 8BITMIME
>>> MAIL From:<aks@test_boot> SIZE=28
250 ok
>>> RCPT To:<abc123@gmail.com
>>> DATA
250 ok
354 go ahead punk, make my day
>>> .
250 ok 1412847209 qp 31504 by mail.abc.com
abc123@gmail.com... Sent (ok 1412846609 qp 3188 by abc.com)
Closing connection to mail.abc.com.
>>> QUIT
221 abc.com Goodbye.





  Common Errors 




If you are getting the error 554 --Mail rejected.





1..Check the  mail queue of the server using command #mailq of the server , if the sent mssg is not present in it. means there is no issues with the server configuration the issue seems that the mail server is rejecting the mail .
2. Check with the mail team whether the ip is allowed to send mail.




Repository Disk corruption Issue in PowerHA Systemmirror 7.1

Why the issues Normally comes

 if any node in the cluster encounters errors with the repository disk or a failure while accessing the disk, the  cluster enters a limited or restricted mode of operation.
 In this mode of operation, most topology-related operations are not allowed. For example, node cannot be added or a node cannot join the cluster.  Because of this starting the cluster  on the problematic node   will fail ,since the "node_join" event will not succeed  due to  corrupted Repository Disk .

This type of issue arises if there is any storage level issue(I/O Issues) due to which the storage disks where not accessible. 


How to figure Out the problem is there with the Repository Disk:









When the repository disk fails, you are notified of the disk failure. PowerHA SystemMirror  notifies you of the repository disk failure until it is resolved. 


To determine what the problem is with the repository disk, you can view the following log files:

   1.  hacmp.out
   2.  AIX error log (using the errpt command)
 


Hacmp.out error mssg .

The following is an example of an error message in the hacmp.out log file when a repository disk fails:

ERROR: rep_disk_notify : Tue Jan 10 13:38:22 CST 2012 : Node "abc123"(0x62518DTS1H0638E873GE041A74C40ZF9) on Cluster test has lost access to repository disk hdisk3.



 AIX error log


LABEL:              OPMSG
IDENTIFIER:     AA8AB241
 

When a node loses access to the repository disk, an entry is made in the AIX error log of each node that has a problem.











 Below are the steps that we have already performed successfully for overcoming the Repository Disk Corruption Issue.

1. Verify that the caa services are running on both the cluster nodes . using #lssrc -g caa . if not running start the services on both the nodes .
2. Remove the Repository Disk configuration from the node where the repository disk corruption issue is reported  using the command # rmcluster -F -r <repository disk >
3. Rebuild or recover  the Repository disk using the command # clusterconf –r <repository-Disk>.
4. Once successful again the CAA_VG will appear on the error node  and become active .
5. Sync the cluster from the node that is having the latest Cluster Information.

If that is not working we need to again add the new repository disks into the cluster configuration .

Thursday, July 31, 2014

DUAL VIO'S CONCEPTS

Dual VIO  CONCEPT
===========
Why we need Dual VIO ?

For understanding the requirement of DUAL VIO, we need to go in flashback  and think about single vio concept......................


while doing so  few question arises in my mind.Let us take and example of small virtualized environment of 1 VIO and 4  VIO Client LPAR's and all disks are coming from VIO'S.

1.  How we will do the downtime maintenance activity of VIO.?
ans)  For  any downtime maintence actvity (upgrade etc) or in case of any issue which involves downtime of VIO, we need to bring down all 4 LPAR and then perform the activty on VIO.
     
2)  What if these 4 LPAR's are production critical and customer is not willing to afford the downtime?
ans) Here is the challenge  in doing the  VIO Downtime  related activities

3) Also what will happen if VIO server only automatically got rebooted or went down.?
ans)  This is also SPOF in case of virtualized single VIO implementation (where all the disks are coming from VIO)

For providing the solution to these issues , IBM introduced the DUAL VIO Concept , which provides solution for  all these drawbacks in simple virtualized environment .

 ----------------------------------------------------------------------------------------------

What is DUAL VIO Concept?

DUAL VIO concept provide the redundancy at VIO Server Level . It means that if 1 VIO Server is down  then the  network communication and the disks will be accessible through the second VIO.


HERE THE  QUESTION ARISES ?

How the commuication will happen through 2nd VIO? and the failover happens?
ans) while configuring DUAL VIO we also  need to implement SEA FAILOVER that if take care of network communication of the LPAR's.

HOw the disks will be accessible from 2nd VIO? and why?
ans) all the disks are mapped in cluster mode to both the VIO's from storage level ,I.e. the disk with same PVID is present on both VIO Servers and  VIOS mapping for the same disk  is done from both the VIO's .At  client level , you  will se two paths each coming from different vscsi.

Monday, May 13, 2013

TL Upgrade issue



  Issues faced while TL and SP  Upgradation from 6100-06-05-1115 to 6100-07-07-1316


we downloaded the   complete SP package  6100-07-07-1316 from IBM portal.

Problem:

The Upgradation was failing for  all the server's .

 oslevel -s   and nmon commands were not working 


Below are the error we got after the Upgradation.


.



Solution:


. As per our observation, the TL and SP upgrade was failing due to Conflicting Versions of Filesets present in the SP we downloaded.

2. The SP we downloaded is  having  multiple versions  of the following filesets (infocenter.man.EN_US.libs and  bos.help.msg.en_US.smit) that were above  the current level of the fileset present on the server
.
 ex:
 
      infocenter.man.EN_US.libs

      current fileset level on server  :6.1.6.0
      fileset levels present in the SP  we downloaded : 6.1.7.1 and 6.1.7.0
 
 
As per observation , while  doing the SP upgrade , due to  present of these conflicting versions of the filesets , certain more packages were also affected resulting into the un-exceptional
behaviour of the OS.  There is very least  and rare  chance that these type of situation comes  .
 
3 .  I  installed the  TL7 filesets  for the above mentioned filesets  and after that 
   started the upgradation  using #smitty update_all 

it worked ...........


.   I  strongly recommend that ,as a  best  practise  we should   follow  first upgradation the TL  seperately and then upgradation  with  SP  so that Conflicting Versions of Filesets issue can be avoided .


Monday, December 17, 2012

hacmp basic concept

HACMP

HACMP stands for High Availability Cluster Multiprocessing

Hacmp provides two types of environment

1. serial (high availability): this is used  to make the application highlt available
by using the shared disk and duplicate resources .  also the access to data  will be serially
means one node at a time.
2. parallel (cluster multiprocessing ) : this type of environment is used when the application is
 online on many nodes  and allthe nodes  can  concurrently access the data. for this type of environment
failover is not required.




why to use hacmp?

1. eliminating single point of failure
2. elminating planned and unplanned downtime.


hacmp ensures that the application should be highly available and accessible
 even if hardware ,software or any system management failure is there.


what is single point of failure?


1. node
2. power source
3. network adapter
4. network
5. disk adapter


WHAT TYPE OF FAILURE HACMP MONITORS

1. NODE and OS failure by using the redundant nodes
2. NIC failure by using redundant NIC cards
3. protection against network failure by using redundant network.

 SHARED EXTERNAL DISK DRIVES:

A  shared external disk drive is a disk connected to multiple nodes.

HACMP supports the following type of access to shared disk.

Non-concurrent access:  only one node can access  the data at one time. it uses serial environment.
                                      if the node that is using the disk fails then failover happens
                                    and other node  becomes the active node and accesses the data.

concurrent access:  the shared disks are actively connected to more than one node and data
                              can be accesses simultaneously . in this case parellel environment is used
                              and there is no need of failover.




A  hacmp  cluster comprises of 

1. topology (nodes, NIC, network etc)
2. resources (things need to make highly available)



HACMP Topology components:

1. nodes
2. networks
3. communication devices
4. communication interfaces



what  the term node refer  in HACMP?

A node is a standalone server having hacmp software and member of the cluster.


In a HACMP cluster 32 nodes can be configured.

Network

In HACMP two types of network is defined.

1 . IP-Network
2.  Non-IP network

IP Network uses the TCP/IP protocol suite for communication between the nodes.

NON-IP network  is  used for monitoring the status of the cluster and is strongly recommended.
                                           This is because if there is network failure ,and only IP-network is used ,  it is diffcult for the active node to figure out whether it is  node or network failure  and this can lead to confusion and leads to  cluster partitioning or node isolation. .
                                            Non-ip network is used for differentiating between node and network failure.
 

Communication Interface:

In HACMP environment ,we are calling each  Network interface which is having a ip_address and an ip-label associated with it.  on the nodes which uses  IP network  for communication . we call

 en0 (network interface)
        ip-address (192.168.10.4)
       ip-label (abhi_boot1)


Communication devices:

In HACMP environment  , the devices used to configure the NON-IP  Network is called communication devices.
              it can be RS232( /dev/tty)  device , disk (/dev/hdisk#) etc

     communication devices provide point to point serial  connection normally used for heartbeating .


What does resources means in HACMP? 

 As per my understandings,  HACMP  is completely designed  for making the application  highly  availabilite.

 So the things required to make the application run on the node is considered as HACMP resources.

take and example of  application , what are the things required  for making it highly available:

1. how to control(start/stop) the application  : ( when some hardware error accurs ,resources need to move    from one node to another , then hacmp must be aware how to start and stop the application that's why we are providing start/stop script   )

2. how to access the application(to access you need ip  and can move from one node to another )
3. common storage is required(if one node is down then other can access)
4. sometime nfs is required
 

Resouces can be:

1. application server
2. service- ip
3. volume group
4. filesystem
5. NFS mounts:
6. NFS  exports

Application server : The application that has to be made highly available along with it's start/stop script is termed as application server in hacmp environment.

Service-ip/label:  every application should have an IP address assigned to access it and that ip should be highly available

volume group: if the application requires shared storage, this storage should be coming from this VG .

filesystem : filesystems required for making the application highly available

NFS mount :  NFS filesystems required for making the application highly available

NFS exports: NFS filesystem that need to be exported for running the application




What is Resource Group ?

Resource group is a collection all the resouces that are needed to make and application highly available.
                                                   
while defining resouce group ,we need to specify  polices(startup/failover/fallover)  that controls the resource group  action when  it detects  any failure.



As earlier , i have written that resource group is controlled by the policies.
the RG policies are :

1   Startup policy                     (used when cluster starts up.)
 2. Fallover policy                 (if node failure is there, it determines which node to takeover)
 3. Fallback policies               (when the higher priority node comes up, then this policy decides whether to
                                             move the RG to higher priority node or node)

startup policy:

 online on home node only :      The resource group is brought online only on its home (highest priority  
                                                   node defined ).if it is unavailable RG  will not start automatically.
available on first available node : The resource group comes online on the first participating node that  
                                                  becomes available.it's just like rotating RG.
using distribution policy :              here only one RG is active on one node. if one node is having an active RG
                                                  ,it will goto second if it is not having any active RG.
on all available nodes:                  This policy is used when you need that all nodes  can access the same RG
                                                   concurrently.


Fallover/failover policy:

Fallover to next priority node in the list :     at the time of failure,RG is moved to the next high priority node in
                                                                  the RG definition
Fallover using dynamic node priority : if using this option,  then the fallover will  happen according to the
                                                         selected criteria from the below methods
                                                                            1. highest_mem_free
                                                                            2. highext_idle_cpu
                                                                            3. lowest_disk_busy
Bring offline(on error node) : this is used with concurrent RG.since  RG is active on all nodes concurrently,
                                             if one node goes down, then RG on this node should become online for the maintenance of that node..


Fallback policy


fallback to higher priority node in the list:        when the highest priority node comes up, the RG is
                                                                     automatically moved to it.
Never fallback :                                             it will not fallback to higher priority node automatically, you
                                                                     need to move the RG manually.




--------------under construction-----------------------------------------