cancel
Showing results for 
Search instead for 
Did you mean: 

NFS Service Group

mrrout
Level 4

Hi All,

I am looking for a help on configuring two NFS Service Groups (Failover) for a two node VCS 5.0 MP3 cluster on AIX 5.3 TL11. I am using VxVM and VxFS as volume manager and filesystem for my setup. Requirement for the Service Groups are as below:

ServiceGroup1 to contain:

1. Two NFS share filesystems made on two independent VxVM volumes (DG1).

ServiceGroup2 to contain:

1. Two NFS share filesystems made on two independent VxVM volumes (DG2).

 

 Would anyone be able to guide me to a good configuration of all resources required for these service groups, just for your information both service groups may run on a single node at any time. VCS Bundle Agent guide is quite confising.

 

Thanks in advance.

Manoranjan.

1 ACCEPTED SOLUTION

Accepted Solutions

Gaurav_S
Moderator
Moderator
   VIP    Certified

Hello,

have you had a look at sample configuration from VCS Bundled agents guide ? that gives a very clear example on how you should set up the environment using NFS

see below:

https://sort.symantec.com/public/documents/sf/5.0MP3/solaris/html/vcs_bundled_agents/ch_fileservice_agents13.html

 

If you are confused of something, let us know & would try to answer ur questions specifically..

 

Gaurav

View solution in original post

11 REPLIES 11

Gaurav_S
Moderator
Moderator
   VIP    Certified

Hello,

have you had a look at sample configuration from VCS Bundled agents guide ? that gives a very clear example on how you should set up the environment using NFS

see below:

https://sort.symantec.com/public/documents/sf/5.0MP3/solaris/html/vcs_bundled_agents/ch_fileservice_agents13.html

 

If you are confused of something, let us know & would try to answer ur questions specifically..

 

Gaurav

mrrout
Level 4

Hi Gaurav,

Thanks for your response, I will go through the link and try that on my setup, just a quick question - Does VCS (On AIX 5.3TL11) support two NFS SGs (Failover type).

 

Thanks.

Manoranjan.

Gaurav_S
Moderator
Moderator
   VIP    Certified

Hi,

I don't see any reason of not supporting two SGs .. only thing you have to remember is mentioned here:

https://sort.symantec.com/public/documents/sf/5.0MP3/solaris/html/vcs_bundled_agents/ch_fileservice_agents3.html#959374

Note   NFSv4root and NFSSecurity require AIX 5.3 ML03.

Symantec recommends that you configure only one NFS resource in a service group on a node. If you have more than one service group that uses the NFS resource, the other service groups can use a Proxy resource. The Proxy resource can point to the NFS resource in the first group. This use of the Proxy resource prevents redundant monitoring of the NFS daemons on the same system.

 

Gaurav

mrrout
Level 4

Hi,

I was going through the docs suggests above, I have some confusion in configuring Proxy resource. I would explain it as below (Relevant resources only have been mentioned, Both service groups are failover service groups):

Service Group - SG1:

NFS test_nfs (

Nservers = 20

)

 

The above service group (SG1) contains an NFS resource among other resources which I want to use in the 2nd Service Group (SG2) by using a proxy resource. Please help me configuring this resource assuming that the resources may be running on different hosts or on the same host at any point of time.

Service Group - SG2:

 Proxy Proxy_NFS (
                TargetResName = test_nfs

                )

Will this be ok or I will have to add some other attributes like - "TargetSysName". If so then what should be the value for "TargetSysName", assuming the server names - S1 and S2 on which these service groups will run.

Thanks in advance.

 

 

 

mrrout
Level 4

I just missed a question above, is there a way to refer to a resource name in a different service group in VCS. For example in the above case if I write "TargetResName = test_nfs" to refer to Resource named - "test_nfs" in SG1, will VCS understand or it should contain the service group name somewhere as well.

Thanks.

g_lee
Level 6

Resource names are unique within the cluster - so it is sufficient to specifiy test_nfs as the TargetResName for the Proxy in SG2 (ie: you don't need to specify the group name for the Proxy resource).

Note: if it's possible that SG1 and SG2 may run on separate nodes, it may be better to create the NFS group in a separate Parallel service group (ie: so they can run independently of each other); however if SG1 and SG2 are meant to run on the same node at all times, then you just need to set up the service group dependencies correctly.

regards,

Grace

Gaurav_S
Moderator
Moderator
   VIP    Certified

I completely agree with Grace, it is always advisable to create parallel SG to make more independence....

mrrout
Level 4

Hi Grace,

Thanks for the point on Unique resource name.

I am including a 'main.cf' file which I am using in my setup for running NFS resources as failover type. The problem I encounter with this is as below:

State

Both SYS1 and SYS2 are up and running cluster services.

Both the service group - SG1 (Contains NFS resource) and SG2 (Contains a Proxy resource which points to the NFS resource in SG1) are online on SYS1.

I reboot the server SYS1 using reboot.

Both service groups failover to SYS2. - No issue.

As soon as SYS1 comes back and re-joins cluster the Proxy resource - "sProxy_NFS" (in this case) becomes "FAILED" in SYS1. Due to this the service group SG2 becomes "OFFLINE|FAULTED" on SYS1.

 

Can anyone suggest me where I am making a mistake in the SG configuration.

Thanks in advance.

mikebounds
Level 6
Partner Accredited

Not sure why you are getting this issue, but one thing I did note is that your NFS resource is non-critical in SG1, but the Proxy to it in SG is critical, but presumbly, both service groups should react the same to nfsd failure, so they should both have the same critical settings.  I would use a separate service group for NFS and NIC resources as follows:

 

 

 


 

include "types.cf"
 
cluster TEST_CLUS (
    UserNames = { admin = ePQiPKQStlQQoYQkPN }
    Administrators = { admin }
    UseFence = SCSI3
    )
 
system SYS1 (
    )
 
system SYS2 (
    )
 
group common (
    SystemList = { SYS1 = 0, SYS2 = 1 }
    AutoStartList = { SYS1, SYS2 }
    AutoFailOver = 0
    Parallel = 1
    )
 
    NFS NFS_NFS (
        Critical = 0
        )
 
    NIC NFS_NIC (
        Critical = 0
        Device @AIX-8 = en0
        Device @AIX-9 = en1
        NetworkHosts = { "102.10.5.1" }
        )
 
    Phantom phantom (
        Critical = 0
        )
 
 
group SG1 (
    SystemList = { SYS1 = 0, SYS2 = 1 }
    AutoStartList = { SYS1, SYS2 }
    )
 
    DiskGroup dg01 (
        DiskGroup = dg01
        )
 
    IP dNFS_IP (
        Critical = 0
        Device @SYS1 = en0
        Device @SYS2 = en1
        Address = "102.10.5.34"
        NetMask = "255.255.254.0"
        )
 
    Mount dNFS_Mount1 (
        Critical = 0
        MountPoint = "/11"
        BlockDevice = "/dev/vx/dsk/dg01/vol1"
        FSType = vxfs
        FsckOpt = "-y"
        )
 
    Mount dNFS_Mount2 (
        Critical = 0
        MountPoint = "/12"
        BlockDevice = "/dev/vx/dsk/dg01/vol2"
        FSType = vxfs
        FsckOpt = "-y"
        )
 
    Proxy dProxy_NFS (
        TargetResName = NFS_NFS
        )
 
    Proxy dProxy_NIC (
        TargetResName = NFS_NIC
        )
 
    Share dNFS_Share1 (
        Critical = 0
        PathName = "/11"
        Options = rw
        )
 
    Share dNFS_Share2 (
        Critical = 0
        PathName = "/12"
        Options = rw
        )
 
    dNFS_IP requires dNFS_NIC
    dNFS_IP requires dNFS_Share1
    dNFS_IP requires dNFS_Share2
    dNFS_Mount1 requires dg01
    dNFS_Mount2 requires dg01
    dNFS_Share1 requires dNFS_Mount1
    dNFS_Share1 requires dNFS_NFS
    dNFS_Share2 requires dNFS_Mount2
    dNFS_Share2 requires dNFS_NFS
 
 
group SG2 (
    SystemList = { SYS1 = 0, SYS2 = 1 }
    AutoStartList = { SYS1, SYS2 }
    )
 
    DiskGroup dg02 (
        DiskGroup = dg02
        )
 
    IP sNFS_IP (
        Critical = 0
        Device @SYS1 = en0
        Device @SYS = en1
        Address = "102.10.5.36"
        NetMask = "255.255.254.0"
        )
 
    Mount sNFS_Mount1 (
        Critical = 0
        MountPoint = "/21"
        BlockDevice = "/dev/vx/dsk/dg02/vol1"
        FSType = vxfs
        FsckOpt = "-y"
        )
 
    Mount sNFS_Mount2 (
        Critical = 0
        MountPoint = "/22"
        BlockDevice = "/dev/vx/dsk/dg02/vol2"
        FSType = vxfs
        FsckOpt = "-y"
        )
 
    Proxy sProxy_NIC (
        TargetResName = NFS_NIC
        )
 
    Proxy sProxy_NFS (
        TargetResName = NFS_NFS
        )
 
    Share sNFS_Share1 (
        Critical = 0
        PathName = "/21"
        Options = rw
        )
 
    Share sNFS_Share2 (
        Critical = 0
        PathName = "/22"
        Options = rw
        )
 
    sNFS_IP requires sNFS_NIC
    sNFS_IP requires sNFS_Share1
    sNFS_IP requires sNFS_Share2
    sNFS_Mount1 requires dg02
    sNFS_Mount2 requires dg02
    sNFS_Share1 requires sNFS_Mount1
    sNFS_Share1 requires sProxy_NFS
    sNFS_Share2 requires sNFS_Mount2
    sNFS_Share2 requires sProxy_NFS
Note, resouces in parallel common SG should be non-critical and the required critical settings you require should be set on the Proxy resources.

 

g_lee
Level 6

Manoranjan,

It's not a "mistake" in the configuration as such, it's the way you've configured the proxy.

In your main.cf, dNFS_NFS (for SG1) is non-critical

	NFS dNFS_NFS (
		Critical = 0
		)

whereas the proxy resource that points to this in SG2 is critical (by default Critical = 1)

	Proxy sProxy_NFS (
		TargetResName = dNFS_NFS
		)

From VCS 5.0 (AIX) User's Guide -> Administering the cluster from Cluster Manager (Java console) -> Adding a resource ( https://sort.symantec.com/public/documents/sf/5.0MP3/aix/html/vcs_users/ch_admin_vcs_from_javagui67.html )

"A critical resource indicates the service group is faulted when the resource, or any resource it depends on, faults."

So, on SYS1 the proxy resource looks for the status of dNFS_NFS in SG1 - this is offline (since it's running on SYS2), so this means the proxy is offline. However, because the proxy resource is critical, this causes SG2 to be marked faulted on SYS1. This is expected behaviour, as the target resource is offline on SYS1.

As mentioned earlier, the current configuration has the limitation that SG2 will not be able to online on a separate system to SG1 (ie: you wouldn't be able to have SG1 & SG2 running on separate nodes, eg: SG1 on SYS1 and SG2 on SYS2). If you do want to be able to run the groups on separate nodes, you will need to configure the NFS resource in a parallel group. See the following technote for an example (refers to old VCS versions, but the concept is the same)

http://www.symantec.com/docs/TECH18243

mikebounds
Level 6
Partner Accredited

I don't think g_lee's last post is quite correct:

NFS type is OnOnly and therefore it can be online on both systems, but the fact that NFS resource is not in a parallel SG, probably is the route of the issue.

The nfsd is usually started by Solaris on boot-up and therefore in the current configuration, when SG1 gets probed it should detect NFS resource is online on SYS1 and report it as online, even though it is online on SYS2 also, but if the Proxy in SG2 gets probed before NFS gets probed, then maybe Proxy reports offline.

In this configuration VCS should allow SG2 to be able to be online on a separate system to SG1 as VCS should allow NFS OnOnly resource to be online on both nodes at the same time and likewise for the Proxy resource in SG2 that points to the NFS resource.

Nevertheless, you still should configure a parallel SG as in my last post, as if for instance nfsd is NOT started by the O/S on SYS1, then VCS will NOT start it as SG1 is a failover SG which is online on SYS2, so VCS will NOT initiate the online (and for SG2, it can initiate an online as it is only a Proxy)

Mike