cancel
Showing results for 
Search instead for 
Did you mean: 

Is virtual host name created in cluster

Sridhar_sri
Level 5
Hi Gurus,
                    I have a question related to Veritas Cluster 5.0. I have configured HA setup using two nodes. I have installed my prodcut in both the nodes. Now I can access my product using the Virtual IP address. But the fact is my product runs based on the server hostname. So as like as Virtual IP address , if there is virtual hostname then i dont want to install product on both the nodes. Instead i can use a storage array in between and install prodcut on that storage array using virtual hostname which is created when configuring the cluster.



Can anyone help me on this problem.

With Regards,
Sri
14 REPLIES 14

Gaurav_S
Moderator
Moderator
   VIP    Certified
Hi Sri,

what is the OS here ?

In any case, as far my experience, in any case, product binaries need to be there on each host.... not sure but I am not very clear with your query....


Gaurav

Sridhar_sri
Level 5
Garuav,
              I have installed my product on the Storage array. Thro SAN technologies i have connected both servers to this array. Now using Cluster i am going to online one server so that only one of the server willl be pointed to the array at an instant.

As you asked, as my binaries are going to be placed in the Storage array so no need for keepnig the binaries in both the servers. But my question is,

Most of the files in my application are based on hostname, Hence when i install my product on storage array using primary server(in which the cluster is online) i can see the hostnames are poinitng to primary server hostname. hence after failover my application will not work, as secondary server hostname is different. Hence my idea is to have a hostname (virtual) which is common to both the servers(and it will be used by the server which is online). is this possible to acheive this virtual hostname concept along with virtual IP address assignation during the cluster configuration ?

I want to do this in both windows and solaris .

Regards,
Sri

Wally_Heim
Level 6
Employee
Hi Sri,

For the Windows version, the Lanman resource is what you would configure to handle virtual names. 

I think the Solaris product also uses Lanman but I'm not sure.  You can check the Bundled Agent's Guide for the Solaris product to see if it has a Lanman agent or not.

Thanks,
Wally

Gaurav_S
Moderator
Moderator
   VIP    Certified
Hi Sri,

OK I understand the query now....

firs thing, Lanman agent is not available for solaris....

One very simple issue I think why this wouldn't work with shared location of binaries is, using a cluster (if VCS), uses a mechanism of LLT. To configure LLT correctly, system name should be picked separately along with its node ids. Lets assume we created the files under /etc but how they would behave is unknown... above mentioned thing would not have been tested for solaris atleast..


Gaurav

Sridhar_sri
Level 5
Thanks Gaurav and Wally for their valuable inputs. As wally suggested let me try with Lanman resource for windows.

For Gaurav`s question, let me explaing about my prodcut little more in brief.  While installing my prodcut , it will take the hostname of the server from which installation is triggered. For example let us assume my server1 is assigned with hostname ServerA and server2 is with ServerB.

So i am installing my prodcut using Server1 in storage array , so my product binaries will be incorporated with ServerA as hostname. So if a failover happens, my product binaries will not work from Server2 because Server2 hostname is ServerB which is not present in my prodcu binary files. THis is my problem.

So as a solution , what i am trying to do is I am going to install my product using a hostname which will be common to both the server. Hence If i do a setup using virtual hostname and installing my product using the virtual hostname (it will be applicable for both the servers), even after failover that name will be allocated to Server2 also, hence my binaries will be working from server2 also.

Hope you understood my problem now..

With Regards,
Sri



Wally_Heim
Level 6
Employee
Hi Sri,

I think I understand a little more.  On Windows you can do a few tricks to get the application to believe it is running on a server with the virtual host name and not the physical server name.  It sounds like your biggest problem for your Windows clusters will the installation.

For the installation, you have two chooses.

Option #1 (My recommended approach)

1.  Rename the physical server name to be the virtual server name and reboot
2.  Install your application. 
3.  After the installation, stop the services for your application and set them to manual startup (assuming that your application installs as a service.) 
4.  Rename the server back to the physical server name and reboot.
5.  Repeat on the next node as needed to install your application.

Option #2  (This approach does not work for every application.)

1. Alter the ActiveComputerName registry location to be the virtual server name.  This is done by entering the virtual server name in the following registry key

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName

2. Install your appliation.
3. After the installation, stop the services for your application and set them to manual startup.  (assuming that your application installs as a service.) 
4. Reboot the server to reset the ActiveComputerName registry entry
5. Repeat on the next node as needed to install your application.

Now you just need to configure your service group.  You will need to have NIC, IP, Lanman, VMDg, MountV and GenericService resources configured.  The GenericService resource has attributes (UseVirtualName and LanmanResName) that allow it to start the service in the virtual server context of the Lanman resource.

If you want learn more about the Lanman or GenericService resource for the Windows product, please go to the VCS Bundled Agents Reference Guide for Windows located at: ftp://exftpp.symantec.com/pub/support/products/Storage_Foundation_for_Windows/306339.pdf

As for you application binaries being on shared storage.  I'm assuming that you are going to install SFW-HA to local storage and have only the binaries from your application being clustered on shared storage.  As mentioned this is not recommended but it will work and has been used on the Windows product in the past.  The one thing to remember is that if the binaries get corrupt then they are corrupt for all nodes and SFW-HA will not be able to bring you application online until you fix the correpted binaries.

Thanks,
Wally

Sridhar_sri
Level 5
HI Wally.
            Your suggestion is too good. But in this also i will face an problem . Let me explain that now to you.

As per either of your procedure, let me first install my prodcut in the shared storage using the virtual hostname and changed my product services as manual startup .Then i reverted back the server hostname and rebooted the server. Now when the server comes up , my product service will not come up.

As you suggested you want me to do this from secondary server, but what my openion is , no need to do this from secondary server. because i am doing the installation using virtual hostname which will be common to both the servers.

The problem here is, when my product comes up it cross checks with the current hostname of the server. If this mismatches , then it will allow my process to my come up. Hence my prodcut is unusable.

Hence it could be better if the virtual hostname (like virtual IP address) allocation is automatically taken care by the cluster during failover

Regards,
Sri

Wally_Heim
Level 6
Employee
Hi Sri,

The installatin methods that I mention are to allow the installation of your application so that it is not aware of the physical node names at all. 

The changes that I recommended to the GenericService cluster resource alters the way that the cluster starts the service so that the service does not see the phyical node name either but instead the service believes it is running directly on a server that is named with the virtual server name.

If you application installs as a service, then you will need to install it on all servers in your environment.  If you install your application just on the first server then the service will only exist on that physical server and not on any additional servers in the cluster.  There is no way around doing the installation multiple times unless you manually register the service (and other items like dlls, environment settings and registry keys) that the application is using on the other nodes. 

Thanks,
Wally

Sridhar_sri
Level 5
yes Wally. I got what you are trying to say.

As per your suggestion, i want to make the installation on  both the servers. I will do that. But small information needed related to that.

Can you tell me what are all the parameters needed for the Generic cluster service group and Lanmen resource. Other than the virtual hostname it depends on anyother resources or service groups or just virtual hostname is sufficient ?

Regards,
Sri

Wally_Heim
Level 6
Employee
Hi Sri,

All of the resource with their required attributes and optional attributes are described in the VCS Bundled Agents Guide.  You can download it with this link:  ftp://exftpp.symantec.com/pub/support/products/Storage_Foundation_for_Windows/306339.pdf

Thanks,
Wally

Sridhar_sri
Level 5
Thanks Wally for your wonderful support.

As you iterated already, there is no such lanmen  resource for solaris environment. Just let me know if you have any idea for solaris also as like as windows.

Thanks,
Sri.

Gaurav_S
Moderator
Moderator
   VIP    Certified
I think you are unfortunate for Solaris.... :( 

Not sure how you will workaround this.. you won't have a supported or trusted solution here I believe....

Gaurav

Sridhar_sri
Level 5
Thanks Gaurav,
    i will try to do some workaround in solaris. If i got any i will post the same in this forum.

Regards,
Sri

Roger_Zimmerman
Level 4

Hi, Sri,

which version of solaris you are working with? There are Solaris Virtual Machines called Container in Solaris 10 and per Patch also in Version 9.

With this you can do the following:
- make a Solaris Container, probably one that is owning only a few things (shared all zone) what is making an own environment, especially a hostname, take care for the switchable disks!
- make this zone switchable (only two files per node have to be changed / created)
- install your application into this zone, the most things are delivered by the global zone then and only the hostname by the local zone
- configure the Cluster environment, take especially care for the attribute "Container" for the few things delivered by this container
- be happy!!

Result of this will be an installation where volume manager, volumes, mount points, nics etc. comes from the global zone and hostname and ip adress from the local zone. Your service group spans both zones.

This is a very elegant method to provide not only a virtual server name through an ip adress but a really existing hostname for applications what are hostname aware, not logical interfaces aware.

Best regards
Roger