VERITAS Cluster Server 4.0 Bundled Agents Reference Guide for AIX

VERITAS Cluster Server 4.0 Bundled Agents Reference Guide for AIX VERITAS Cluster Server 4.0 Bundled Agents Reference Guide for AIX

sfdoccentral.symantec.com
from sfdoccentral.symantec.com More from this publisher
11.07.2015 Views

VERITAS Cluster Server 4.0Bundled Agents Reference GuideAIXN10186JAugust 2004

<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>4.0</strong><strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong><strong>AIX</strong>N10186JAugust 2004


DisclaimerThe in<strong>for</strong>mation contained in this publication is subject to change without notice. <strong>VERITAS</strong> SoftwareCorporation makes no warranty of any kind with regard to this manual, including, but not limited to,the implied warranties of merchantability and fitness <strong>for</strong> a particular purpose. <strong>VERITAS</strong> SoftwareCorporation shall not be liable <strong>for</strong> errors contained herein or <strong>for</strong> incidental or consequential damagesin connection with the furnishing, per<strong>for</strong>mance, or use of this manual.<strong>VERITAS</strong> Legal NoticeCopyright © 1998-2004 <strong>VERITAS</strong> Software Corporation. All rights reserved. <strong>VERITAS</strong>, <strong>VERITAS</strong>Software, the <strong>VERITAS</strong> logo, <strong>VERITAS</strong> <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong>, and all other <strong>VERITAS</strong> productnames and slogans are trademarks or registered trademarks of <strong>VERITAS</strong> Software Corporation.<strong>VERITAS</strong>, the <strong>VERITAS</strong> Logo, and <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> Reg. U.S. Pat. & Tm. Off. Other productnames and/or slogans mentioned herein may be trademarks or registered trademarks of theirrespective companies.<strong>VERITAS</strong> Software Corporation350 Ellis StreetMountain View, CA 94043USAPhone 650–527–8000 Fax 650–527–2901www.veritas.comThird-Party CopyrightsApache LicenseVersion 2.0, January 2004http://www.apache.org/licenses/TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION1. Definitions."License" shall mean the terms and conditions <strong>for</strong> use, reproduction, and distribution as defined by Sections 1 through 9 of this document."Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License."Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with thatentity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity,whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of suchentity."You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License."Source" <strong>for</strong>m shall mean the preferred <strong>for</strong>m <strong>for</strong> making modifications, including but not limited to software source code, documentation source,and configuration files."Object" <strong>for</strong>m shall mean any <strong>for</strong>m resulting from mechanical trans<strong>for</strong>mation or translation of a Source <strong>for</strong>m, including but not limited to compiledobject code, generated documentation, and conversions to other media types."Work" shall mean the work of authorship, whether in Source or Object <strong>for</strong>m, made available under the License, as indicated by a copyright noticethat is included in or attached to the work."Derivative Works" shall mean any work, whether in Source or Object <strong>for</strong>m, that is based on (or derived from) the Work and <strong>for</strong> which the editorialrevisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License,Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work andDerivative Works thereof.ii<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work orDerivative Works thereof, that is intentionally submitted to Licensor <strong>for</strong> inclusion in the Work by the copyright owner or by an individual or LegalEntity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any <strong>for</strong>m of electronic, verbal,or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, sourcecode control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor <strong>for</strong> the purpose of discussing and improvingthe Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not aContribution.""Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor andsubsequently incorporated within the Work.2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide,non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly per<strong>for</strong>m,sublicense, and distribute the Work and such Derivative Works in Source or Object <strong>for</strong>m.3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide,non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell,import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarilyinfringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. IfYou institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contributionincorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License <strong>for</strong>that Work shall terminate as of the date such litigation is filed.4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or withoutmodifications, and in Source or Object <strong>for</strong>m, provided that You meet the following conditions:(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and(b) You must cause any modified files to carry prominent notices stating that You changed the files; and(c) You must retain, in the Source <strong>for</strong>m of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices fromthe Source <strong>for</strong>m of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readablecopy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works,in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source <strong>for</strong>m ordocumentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever suchthird-party notices normally appear. The contents of the NOTICE file are <strong>for</strong> in<strong>for</strong>mational purposes only and do not modify the License. You mayadd Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work,provided that such additional attribution notices cannot be construed as modifying the License.You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions <strong>for</strong> use,reproduction, or distribution of Your modifications, or <strong>for</strong> any such Derivative Works as a whole, provided Your use, reproduction, anddistribution of the Work otherwise complies with the conditions stated in this License.5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted <strong>for</strong> inclusion in the Work by You tothe Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above,nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding suchContributions.6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, exceptas required <strong>for</strong> reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor providesits Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULARPURPOSE. You are solely responsible <strong>for</strong> determining the appropriateness of using or redistributing the Work and assume any risks associatedwith Your exercise of permissions under this License.8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required byapplicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You <strong>for</strong> damages, includingany direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability touse the Work (including but not limited to damages <strong>for</strong> loss of goodwill, work stoppage, computer failure or malfunction, or any and all othercommercial damages or losses), even if such Contributor has been advised of the possibility of such damages.9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge afee <strong>for</strong>, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in acceptingsuch obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if Youagree to indemnify, defend, and hold each Contributor harmless <strong>for</strong> any liability incurred by, or claims asserted against, such Contributor byreason of your accepting any such warranty or additional liability.<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>iii


Data Encryption Standard (DES)Support <strong>for</strong> data encryption in VCS is based on the MIT Data Encryption Standard (DES) under the following copyright:Copyright © 1990 Dennis Ferguson. All rights reserved.Commercial use is permitted only if products that are derived from or include this software are made available <strong>for</strong> purchase and/or use inCanada. Otherwise, redistribution and use in source and binary <strong>for</strong>ms are permitted.Copyright 1985, 1986, 1987, 1988, 1990 by the Massachusetts Institute of Technology. All rights reserved.Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibilityof any person or organization contemplating export to obtain such a license be<strong>for</strong>e exporting.WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation <strong>for</strong> any purpose and withoutfee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission noticeappear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the softwarewithout specific, written prior permission. M.I.T. makes no representations about the suitability of this software <strong>for</strong> any purpose. It is provided asis without express or implied warranty.SNMP SoftwareSNMP support in VCS is based on CMU SNMP v2 under the following copyright:Copyright 1989, 1991, 1992 by Carnegie Mellon UniversityAll Rights ReservedPermission to use, copy, modify, and distribute this software and its documentation <strong>for</strong> any purpose and without fee is hereby granted, providedthat the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supportingdocumentation, and that the name of CMU not be used in advertising or publicity pertaining to distribution of the software without specific,written prior permission.CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIALDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OFCONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCEOF THIS SOFTWARE.iv<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


ContentsPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiHow This <strong>Guide</strong> Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiConventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivGetting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvDocumentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvVCS Enterprise <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvChapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1Resources and Their Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Modifying <strong>Agents</strong> and Their Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Categories of <strong>Bundled</strong> <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Application Control <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Basic Storage <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Global <strong>Cluster</strong> Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Networking <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3VCS Infrastructure and Support <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Chapter 2. VCS <strong>Bundled</strong> <strong>Agents</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5Application Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7v


Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Sample Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Application Agent Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10DiskGroup Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Setting the noautoimport Flag <strong>for</strong> a Disk Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Info Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13DNS Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Online Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Monitor Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Sample Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ElifNone Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18vi<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


FileNone Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19FileOnOff Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20FileOnOnly Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21IP Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Optional Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23Sample Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24IPMultiNIC Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25Contentsvii


Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Optional Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Sample Configuration: IPMultiNIC and MultiNICA . . . . . . . . . . . . . . . . . . . . . . . . 27IPMultiNICB Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Sample Configuration: MultiNICB and IPMultiNICB . . . . . . . . . . . . . . . . . . . . . . . . 30LVMVG Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Notes on the LVMVG Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Mount Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Info Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Sample Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Listing File Systems in /etc/filesystems on <strong>AIX</strong> 5.1c . . . . . . . . . . . . . . . . . . . . . . . . 41viii<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICA Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45Sample Configuration: MultiNICA and IPMultiNIC . . . . . . . . . . . . . . . . . . . . . . . . . 45MultiNICB Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48Required Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Optional Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51Checklist <strong>for</strong> Using MultiNICB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Advantages of MultiNICB and IPMultiNICB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Limitations of MultiNICB and IPMultiNICB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52How MultiNICB Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Sample Configuration: MultiNICB and IPMultiNICB . . . . . . . . . . . . . . . . . . . . . . . . 54NFS Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55Required Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Type Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56Sample Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56NIC Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Contentsix


xii<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


PrefaceThis guide provides reference in<strong>for</strong>mation <strong>for</strong> the VCS agents bundled with <strong>VERITAS</strong><strong>Cluster</strong> <strong>Server</strong> (VCS) software on the <strong>AIX</strong> operating system. The guide providesin<strong>for</strong>mation on configuring and using bundled agents.How This <strong>Guide</strong> Is OrganizedChapter 1, “Introduction” on page 1 introduces the bundled agents.Chapter 2, “VCS <strong>Bundled</strong> <strong>Agents</strong>” on page 5 describes each of the bundled agents.xiii


ConventionsConventionsConvention Usage Examplemonospacemonospace(bold)italicboldUsed <strong>for</strong> path names, commands,output, directory and file names,functions, and parameters.Indicates user input.Identifies book titles, new terms,emphasized text, and variablesreplaced with a name or value.Depicts GUI objects, such as fields,list boxes, menu selections, etc. Alsodepicts GUI commands.Read tunables from the/etc/vx/tunefstab file.See the ls(1) manual page <strong>for</strong> morein<strong>for</strong>mation.# ls pubsC:\> dir pubsSee the User’s <strong>Guide</strong> <strong>for</strong> details.The variable system_name indicates thesystem on which to enter the command.Enter your password in the Passwordfield.Press Return.blue text Indicates hypertext links. See “Getting Help” on page xv.# Unix superuser prompt (all shells). # cp /pubs/<strong>4.0</strong>/user_book/release_mgnt/<strong>4.0</strong>/archivexiv<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Getting HelpGetting HelpFor technical assistance, visit http://support.veritas.com and select phone or emailsupport. This site also provides access to resources such as TechNotes, product alerts,software downloads, hardware compatibility lists, and our customer email notificationservice. Use the Knowledge Base Search feature to access additional product in<strong>for</strong>mation,including current and past releases of <strong>VERITAS</strong> documentation.Additional ResourcesFor license in<strong>for</strong>mation, software updates and sales contacts, visithttps://my.veritas.com/productcenter/ContactVeritas.jsp. For in<strong>for</strong>mation onpurchasing product documentation, visit http://webstore.veritas.com.Documentation FeedbackYour feedback on product documentation is important to us. Send suggestions <strong>for</strong>improvements and reports on errors or omissions to clusteringdocs@veritas.com. Includethe title and part number of the document (located in the lower left corner of the titlepage), and chapter and section titles of the text on which you are reporting. Our goal is toensure customer satisfaction by providing effective, quality documentation. For assistancewith topics other than documentation, visit http://support.veritas.com.VCS Enterprise <strong>Agents</strong>VCS enterprise agents are not included with the VCS software, but are sold separately.Contact your <strong>VERITAS</strong> sales representative <strong>for</strong> details on these agents or additionalagents under development:◆◆◆DB2 UDBNetBackupOraclePrefacexv


VCS Enterprise <strong>Agents</strong>xvi<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Introduction 1<strong>Bundled</strong> agents are VCS processes that manage resources of predefined resource typesaccording to commands received from the VCS engine, HAD. These agents are a part ofVCS, and are installed when VCS is installed. A system has one agent per resource typethat monitors all resources of that type; <strong>for</strong> example, a single IP agent manages all IPresources.When the agent starts, it obtains the necessary configuration in<strong>for</strong>mation from VCS. Theagent then periodically monitors the resources, and updates VCS with the resource status.<strong>Agents</strong> typically:✔ Bring resources online.✔ Take resources offline.✔ Monitor resources and report state changes to VCS.Note Refer to the <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>4.0</strong> User’s <strong>Guide</strong> <strong>for</strong> general in<strong>for</strong>mation on VCSagents.Resources and Their AttributesResources are the key parts of a system and are known by their type, such as a disk, avolume, or an IP address. VCS includes a set of resource types, which are defined in thetypes.cf file by a collection of attributes. Each type has a corresponding agent that isdesigned to control the resource. The VCS configuration file, main.cf, contains thevalues <strong>for</strong> the resource attributes and has an include directive to the types.cf file.An attribute’s given value configures the resource to function in a specific way. Bymodifying the value of a resource attribute, you can change the way the VCS agentmanages the resource. For example, the IP agent monitors an IP address resource, and youset the attribute “Address” to monitor the specific IP address.1


Entry PointsEntry PointsAn entry point is a plug-in that is called when an event occurs within the VCS agent. TheVCS engine uses entry points to manipulate resources. In addition to the online, offline, andmonitor entry points, the clean entry point applies to many agents and is calledautomatically by the framework when all ongoing actions associated with a resource mustbe terminated and the resource must be taken offline (perhaps <strong>for</strong>cibly).Refer to the <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> Agent Developer’s <strong>Guide</strong> <strong>for</strong> more in<strong>for</strong>mation on entrypoints and the VCS agent framework. Refer to the <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> User’s <strong>Guide</strong> <strong>for</strong>more in<strong>for</strong>mation on VCS attributes.Modifying <strong>Agents</strong> and Their ResourcesUse <strong>Cluster</strong> Manager (Java Console), <strong>Cluster</strong> Manager (Web Console), or the VCScommand line to dynamically modify the configuration of the resources managed by anagent. See the <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>4.0</strong> User’s <strong>Guide</strong> <strong>for</strong> instructions on how to completethese tasks.VCS enables you to edit the main.cf file directly. To implement these changes, make sureto restart VCS.Categories of <strong>Bundled</strong> <strong>Agents</strong>VCS enables you to use bundled agents <strong>for</strong> networking, basic storage, application control,and VCS infrastructure and support functions:Application Control <strong>Agents</strong>◆ “Application Agent” on page 6◆ “Process Agent” on page 67Basic Storage <strong>Agents</strong>◆ “DiskGroup Agent” on page 11◆ “LVMVG Agent” on page 31◆ “Mount Agent” on page 38◆ “NFS Agent” on page 55◆ “Share Agent” on page 77◆ “Volume Agent” on page 792 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Categories of <strong>Bundled</strong> <strong>Agents</strong>Global <strong>Cluster</strong> Support◆ “DNS Agent” on page 14◆Wide Area HeartbeatWhile global clusters require the Wide Area Heartbeat agent, it is not a standard VCSagent <strong>for</strong> monitoring VCS resources. It is documented in the VCS User’s <strong>Guide</strong> sectionon global clusters.Networking <strong>Agents</strong>◆ “IP Agent” on page 22◆ “IPMultiNIC Agent” on page 25◆ “IPMultiNICB Agent” on page 28◆ “MultiNICA Agent” on page 43◆ “MultiNICB Agent” on page 47◆ “NIC Agent” on page 57VCS Infrastructure and Support <strong>Agents</strong>◆ “ElifNone Agent” on page 18◆ “FileNone Agent” on page 19◆ “FileOnOff Agent” on page 20◆ “FileOnOnly Agent” on page 21◆ “NotifierMngr Agent” on page 60◆ “Phantom Agent” on page 65◆ “Proxy Agent” on page 70◆ “ServiceGroupHB Agent” on page 73◆ “VRTSWebApp Agent” on page 80Chapter 1, Introduction3


Categories of <strong>Bundled</strong> <strong>Agents</strong>4 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


VCS <strong>Bundled</strong> <strong>Agents</strong> 2This chapter provides in<strong>for</strong>mation on the VCS bundled agents. Described <strong>for</strong> eachbundled agent are its resource types, entry points, state definitions, and modifiableattributes. The tables associated with bundled agents indicate required and optionalattributes. Included are its resource type, defined in the types.cf file, and a sampleconfiguration in the main.cf file.5


Application AgentApplication AgentDescriptionBrings applications online, takes them offline, and monitors their status. Enables you tospecify different executables <strong>for</strong> the online, offline, and monitor routines. (An applicationhas an executable to start it and an executable to stop it.) The executables must existlocally on each node. By default, an application runs in the context of root. Specify theuser name to run an application in a user context.The agent starts and stops the application with user-specified programs. You can monitorthe application in the following ways:◆◆◆◆Use the monitor programSpecify a list of processes to be monitoredSpecify a list of process ID files to be monitoredAll or some of the aboveEntry Points◆◆◆◆◆Online—Runs the StartProgram with the specified parameters in the specified usercontext.Offline—Runs the StopProgram with the specified parameters in the specified usercontext.Monitor—If MonitorProgram is specified, the agent executes the user-definedMonitorProgram in the user-specified context. If PidFiles is specified, the routineverifies that the process ID found in each listed file is running. If MonitorProcesses isspecified, the routine verifies that each listed process is running in the user-specifiedcontext.MonitorProgram must return ONLINE to employ any other monitoring method. Anyone, two, or three of these attributes can be used to monitor the application. If any oneprocess specified in either PidFiles or MonitorProcesses is determined not to berunning, the monitor returns OFFLINE.Clean—Kills processes specified in PidFiles or MonitorProcesses. Ensures that onlythose processes (specified in MonitorProcesses) running with the user ID specified inthe User attribute are killed. If the CleanProgram is defined, the agent executes theCleanProgram.6 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Application AgentState Definitions◆◆◆ONLINE—Indicates that all processes specified in PidFiles and MonitorProcesses arerunning and that the MonitorProgram returns ONLINE.OFFLINE—Indicates that at least one process specified in PidFiles or MonitorProcessesis not running, or that the MonitorProgram returns OFFLINE.UNKNOWN—Indicates that the application’s state is indeterminable.Required AttributesRequired AttributesType andDimensionDefinitionStartProgram string-scalar The executable, created locally on each node, whichstarts the application. Specify the complete path of theexecutable. Command-line arguments (if applicable)follow the name of the executable, separated byspaces.StopProgram string-scalar The executable, created locally on each node, whichstops the application. Specify the complete path of theexecutable. Command-line arguments (if applicable)follow the name of the executable, separated byspaces.At least one of thefollowing attributes:◆ MonitorProcesses◆ MonitorProgram◆ PidFilesSee descriptionsunder “OptionalAttributes” onpage 8.See descriptions “Optional Attributes” on page 8.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>7


Application AgentOptional AttributesOptionalAttributesType andDimensionDefinitionCleanProgram string-scalar The executable, created locally on each node, which<strong>for</strong>cibly stops the application. Specify the complete path ofthe executable. Command-line arguments (if applicable)follow the name of the executable, separated by spaces.MonitorProcesses string-vector A list of processes to be monitored and cleaned. Eachprocess name is the name of an executable. Qualify theexecutable name with its complete path if the path is usedto start the executable.The process name must be the full command lineargument displayed by the ps -u user -o args |more command <strong>for</strong> the process.MonitorProgram string-scalar The executable, created locally on each node, whichmonitors the application. Specify the complete path of theexecutable. Command-line arguments (if applicable)follow the name of the executable, separated by spaces.MonitorProgram can return the following VCSAgResStatevalues: OFFLINE values is 100, ONLINE values are from 101to 110 (depending on the confidence level), 110 equalsconfidence level of 100%. Any other value = UNKNOWN.PidFiles string-vector A list of PID files that contain the process ID of theprocesses to be monitored and cleaned. These files areapplication-generated files. Each PID file contains one PIDthat is monitored. Specify the complete path of each PIDfile in the list.The process ID can change when the process restarts. If theapplication takes time to update the pid file, the agent’smonitor script may return an incorrect result. If thisoccurs, increase the ToleranceLimit in the resourcedefinition.User string-scalar The user whose id is used to run StartProgram,StopProgram, MonitorProgram, and CleanProgram. Theprocesses specified in the MonitorProcesses list must runin the context of the specified user. Monitor checks theprocesses to make sure they run in this context.Default is "root".8 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Application AgentType Definitiontype Application (static str ArgList[] = { User, StartProgram, StopProgram,CleanProgram, MonitorProgram, PidFiles, MonitorProcesses }str Userstr StartProgramstr StopProgramstr CleanProgramstr MonitorProgramstr PidFiles[]str MonitorProcesses[])Sample ConfigurationsSample 1In this example, the executable samba is configured as StartProgram and StopProgram,with start and stop specified as command-line arguments respectively. The agent isconfigured to monitor two processes: a process specified by the pid smbd.pid, and theprocess nmbd.Application samba_app (User = "root"StartProgram = "/usr/sbin/samba start"StopProgram = "/usr/sbin/samba stop"PidFiles = { "/var/lock/samba/smbd.pid" }MonitorProcesses = { "nmbd" })Sample 2In this example, no user is specified, so the root user is used. The executable samba isused to start and stop the application, with start and stop as the command-linearguments, respectively. The executable sambaMonitor monitors the application anduses all as its command-line argument. In addition, the processes smbd and nmbd aremonitored.Application samba_app2 (StartProgram = "/usr/sbin/samba start"StopProgram = "/usr/sbin/samba stop"CleanProgram = "/usr/sbin/samba <strong>for</strong>ce stop"MonitorProgram = "/usr/local/bin/sambaMonitor all"MonitorProcesses = { "smbd", "nmbd" })Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>9


Application AgentApplication Agent Error MessagesMessage Tag DescriptionFile${VCS_HOME}/bin/Application/functions not found.ACheck if file${VCS_HOME}/bin/Application/functions exists and has properpermissions.User user does not exist. B Check if the specified user exists on the localsystems.Start Program does not exist oris not executable.BCheck if the specified StartProgram exists andthe user specified permission to execute it.No Start Program specified. B No Start Program is specified in the resourcedefinition and hence cannot bring theresource online.None of the parameters(MonitorProgram, PidFiles,MonitorProcesses) are specifiedto monitor the application.Monitor Program does not existor is not executable.Stop Program does not exist oris not executable.BBBNothing is specified to monitor the resource.Specify at least one parameter to monitor theresource.Check if the specified MonitorProgram existsand the specified user has permission toexecute it.Check if the specified StopProgram exists andthe specified user has permission to executeit.No Stop Program specified. B No Stop Program is specified in the resourcedefinition and hence cannot take the resourceoffline.Clean Program does not exist oris not executable.BCheck if the specified CleanProgram existsand the specified user has permission toexecute it.10 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


DiskGroup AgentDiskGroup AgentDescriptionBrings online, takes offline, and monitors a <strong>VERITAS</strong> Volume Manager (VxVM) diskgroup. This agent uses VxVM commands.Entry Points◆◆◆◆◆Online—Imports the disk group using the vxdg command.Offline—Deports the disk group using the vxdg command.Monitor—Determines if the disk group is online or offline using the vxdg command.If the disk group was imported with noautoimport=off, the group to which thedisk group belongs is taken offline (assuming the group is not frozen).If the monitor hangs, no attempt takes place to take the disk group offline. Thedependent groups can be taken offline (provided the disk group is functional) and theresnotoff trigger can be called.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.Info—The DiskGroup info entry point gets in<strong>for</strong>mation from the Volume Managerand displays the type and free size <strong>for</strong> the DiskGroup resource.State Definitions◆◆◆ONLINE—Indicates that the disk group is imported.OFFLINE—Indicates that the disk group is not imported.UNKNOWN—Indicates that a problem exists either with the configuration or the abilityto determine the status of the resource.Required AttributeRequired AttributeType andDimensionDefinitionDiskGroup string-scalar Name of the disk group configured with <strong>VERITAS</strong>Volume Manager, <strong>for</strong> example: diskgroup1.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>11


DiskGroup AgentOptional AttributesOptional AttributesType andDimensionDefinitionStartVolumes string-scalar If value is 1, the DiskGroup online script starts allvolumes belonging to that disk group after importingthe group.Default is 1.StopVolumes string-scalar If value is 1, the DiskGroup offline script stops allvolumes belonging to that disk group be<strong>for</strong>edeporting the group.Default is 1.Setting the noautoimport Flag <strong>for</strong> a Disk GroupVCS requires that the noautoimport flag of an imported disk group be explicitly set to“true.” This enables VCS to control the importation and deportation of disk groups asneeded when bringing disk groups online and taking them offline.Note Be aware that when you enable a disk group configured as a DiskGroup resourcethat does not have the noautoimport flag set to true, VCS <strong>for</strong>cibly deports the diskgroup and reimports it with the noautoimport flag set to true. This may disruptapplications running on the disk group.To check the status of the noautoimport flag <strong>for</strong> an imported disk group, enter:# vxprint -l disk_group | grep noautoimportIf the output from this command is blank, the noautoimport flag is set to false and VCSlacks the necessary control.To explicitly set the noautoimport flag to true, deport the disk group and import it withthe -t option as follows:To deport the disk group, enter:# vxdg deport disk_groupTo import the disk group, specifying the noautoimport flag be set to true to ensure thedisk group is not automatically imported, enter:# vxdg -t import disk_group12 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


DiskGroup AgentInfo Entry PointThe following steps are necessary to initiate the info entry point by setting the InfoIntervaltiming to a value greater than 0, <strong>for</strong> example:# haconf -makerw# hatype -modify DiskGroup InfoInterval 60In this case, the info entry point executes every 60 seconds. The command to retrievein<strong>for</strong>mation about the DiskType and FreeSize of the DiskGroup resource is:# hares -value diskgroupres ResourceInfoOutput includes the following in<strong>for</strong>mation:DiskType slicedFreeSize 35354136Type Definitiontype DiskGroup (static int OnlineRetryLimit = 1static str ArgList[] = { DiskGroup, StartVolumes, StopVolumes,MonitorOnly, MonitorReservation,tempUseFence}str DiskGroupstr StartVolumes = 1str StopVolumes = 1static int NumThreads = 1boolean MonitorReservation = 0temp str tempUseFence = "INVALID")Sample ConfigurationDiskGroup dg1 (DiskGroup = testdg_1)Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>13


DNS AgentDNS AgentIf an application that is required to be available across the wide area is a server <strong>for</strong> an IPaddress, and if this application is failed over to another subnet, the IP address from thedowned host cannot be effectively moved. A better solution is to update the canonicalname mapping in the DNS name server with the hostname of the system where theapplication is now online.DescriptionUpdates the canonical name mapping in the domain name server when failing overapplications across subnets (wide-area failover).Entry Points◆◆◆◆◆Monitor—If the online lock file exists, the monitor queries the name servers <strong>for</strong> theCNAME record <strong>for</strong> the Alias and reports back ONLINE if the response from at least oneof the name servers contains the same canonical name associated with the alias asspecified in the HostName attribute. If not, the monitor reports resource OFFLINE.Online—Queries the authoritative name server of the domain <strong>for</strong> CNAME records.Offline—Removes the online lock file created by the online function.Open—Removes the online lock file if the online lock file exists, and the CNAME recordon the name server does not contain the expected alias/canonical name mapping.Clean—Removes the online lock file, if present.14 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


DNS AgentRequired AttributesRequired AttributesType andDimensionDescriptionDomain string-scalar String representing the domain name, <strong>for</strong> example:veritas.com.Alias string-scalar String representing the alias to the canonical name,<strong>for</strong> example: www is the alias to the canonical namemtv.veritas.com in the earlier example.HostName string-scalar String representing canonical name of a system/IPaddress, <strong>for</strong> example: mtv.veritas.com, hro.veritas.com.TTL integer-scalar Non-zero integer value representing the "Time ToLive" value, in seconds, <strong>for</strong> the DNS entries in thezone being updated. Default is 1 day.StealthMasters string-keylist The list of primary master name servers in thedomain. This is optional if the primary master nameserver is listed in the zone’s NS record. If the primarymaster name server is a stealth server, the attributemust be defined.Note A stealth server is a name server that isauthoritative <strong>for</strong> a zone, but is not listed in thatzone’s NS records.Online QueryIf the canonical name in the response CNAME record does not match the one specified <strong>for</strong>the resource, online tries to update the CNAME record on all authoritative master nameservers in its domain (those master name servers that can be reached and on which it hasupdate permission). If the DNS update was successful or was not necessary on at least oneof the name servers, the online function creates an online lock file. The monitor functionchecks <strong>for</strong> the existence of this file. The online lock file is not created if no name server inthe domain could be updated.If the PrimaryMasters attribute is specified, Online tries to update the name serversspecified in the PrimaryMasters attribute since the primary master is a stealth serverwhich is not listed in the zone's NS record.In BIND 8, the primary master name server on receiving an update sends notification(NOTIFY) to all its slave servers asking them to pick up the update.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>15


DNS AgentMonitor ScenariosOnline lock file exists Expected CNAME RR Monitor returnsNO N/A OFFLINEYES NO OFFLINEYES YES ONLINENote The DNS agent supports BIND version 8 and above.Type Definitiontype DNS (static str ArgList[] = { Domain, Alias, HostName, TTL,StealthMasters}str Domainstr Aliasstr HostNameint TTL = 86400 // i.e: 1 daystr StealthMasters[])Sample ScenarioAs an example, consider the <strong>VERITAS</strong> corporate web server. A person using a webbrowser specifies the URL www.veritas.com to view the <strong>VERITAS</strong> web page (wherewww.veritas.com maps to the canonical name mtv.veritas.com, which is a host inMountain View running the web server). The browser, in turn, retrieves the IP address <strong>for</strong>the web server by querying the domain name servers. If the web server <strong>for</strong>www.veritas.com is failed over from Mountain View to Heathrow, the domain nameservers need to be updated with the new canonical name mapping so that clients (webbrowsers) are directed to Heathrow instead of Mountain View. In case of a failover, theDNS agent should update the name server to change the mapping of www.veritas.com,from mtv.veritas.com to the canonical name of the standby machine in Heathrow (e.g.hro.veritas.com).16 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


DNS AgentSample ConfigurationHere’s a sample configuration <strong>for</strong> DNS.DNS www (Domain = "example.com"Alias = wwwHostname = wwwvirtual1Bringing the "www" resource online updates the authoritative nameservers <strong>for</strong> domain"example.com" with the following CNAME record:wwwCNAMEwwwvirtual1Thus all DNS lookups <strong>for</strong> www.example.com are resolved to wwwvirtual1.example.com.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>17


ElifNone AgentElifNone AgentDescriptionMonitors a file.Entry Point◆Monitor—Checks if the specified file exists. If it does, the agent reports as offline. If itdoes not, the agent reports as online.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar Specifies the complete pathname. Starts with the slash(/) that precedes the file name.Type Definitiontype ElifNone (static str ArgList[] = { PathName }static int OfflineMonitorInterval = 60static str Operations = Nonestr PathName)Sample ConfigurationElifNOne tmp_file01 (PathName = "/tmp/file01")18 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


FileNone AgentFileNone AgentDescriptionMonitors a file.Entry Point◆Monitor—Checks if the specified file exists. If it does, the agent reports as online. If itdoes not, the agent reports as offline.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar Specifies the complete pathname. Starts with the slash(/) that precedes the file name.Type Definitiontype FileNone (static int AutoStart = 1static str ArgList[] = { PathName }static int OfflineMonitorInterval = 60static str Operations = Nonestr PathName)Sample ConfigurationFileNone tmp_file01 (PathName = "/tmp/file01")Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>19


FileOnOff AgentFileOnOff AgentDescriptionCreates, removes, and monitors files.Entry Points◆◆◆◆Online—Creates an empty file with the specified name (if one does not already exist).Offline—Removes the specified file.Monitor—Checks if the specified file exists. If it does, the agent reports as online. If itdoes not, the agent reports as offline.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar Specifies the complete pathname. Starts with the slash(/) that precedes the file name.Type Definitiontype FileOnOff (str PathNamestatic str ArgList[] = { PathName })Sample ConfigurationFileOnOff tmp_file01 (PathName = "/tmp/file01")20 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


FileOnOnly AgentFileOnOnly AgentDescriptionCreates and monitors files.Entry Points◆◆◆Online—Creates an empty file with the specified name (if one already does not exist).Monitor—Checks if the specified file exists. If it does, the agent reports as online. If itdoes not, the agent reports as offline.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar Specifies the complete pathname. Starts with the slash(/) that precedes the file name.Type Definitiontype FileOnOnly (static str ArgList[] = { PathName }static str Operations = OnOnlystr PathName)Sample ConfigurationFileOnOnly tmp_file02 (PathName = "/tmp/file02")Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>21


IP AgentIP AgentDescriptionManages the configuration of a virtual IP address and its subnet mask on an interface. Thevirtual IP address must not be one currently in use.Use the IP Agent to support EtherChannel configurations. The virtual interfaceconfigured through EtherChannel should be used <strong>for</strong> the "Device" parameter. The NICagent should also be used to monitor the status of the EtherChannel virtual interface.Entry Points◆◆◆Online—Checks if the IP address is in use by another system. Uses ifconfig to setthe IP address on a unique alias on the interface.Offline—Brings down the IP address associated with the specified interface.Monitor—Monitors the interface to test if the IP address associated with the interfaceis in the UP state.State Definitions◆◆◆ONLINE—Indicates that the device is up and the specified IP address is assigned to thedevice.OFFLINE—Indicates that the device is down or the specified IP address is not assignedto the device.UNKNOWN—Indicates that the device name or the IP address is not specified in theconfiguration file (main.cf).22 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


IP AgentRequired AttributesRequired AttributesType andDimensionDefinitionAddress string-scalar Virtual IP address associated with the interface. Thevirtual IP address is different from the base andadministrative IP addresses of the interface.For example: "172.29.9.24".Device string-scalar Name of the NIC device associated with the IPaddress, <strong>for</strong> example: en0.Use ifconfig -a to display a list of NICs that areup and the IP addresses assigned to each NIC.NetMask string-scalar The subnet mask associated with the IP address. Thevalue of NetMask may be specified in decimal (base10) or hexadecimal (base 16).For example: "255.255.255.0".Optional AttributeOptional AttributeType andDimensionDefinitionOptions string-scalar Options <strong>for</strong> the ifconfig command.For example: metric n mtu m.Type Definitiontype IP (str Devicestr Addressstr NetMaskstr Optionsstatic str ArgList[] = { Device, Address, NetMask, Options })Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>23


IP AgentSample ConfigurationsSample 1: NetMask in decimal (base 10)IP IP_192_203_47_61 (Device = en0Address = "192.203.47.61"NetMask = "255.255.248.0")Sample 2: NetMask in hexadecimal (base 16)IP IP_192_203_47_61 (Device = en0Address = "192.203.47.61"NetMask = "0xfffff800")24 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


IPMultiNIC AgentIPMultiNIC AgentDescriptionManages and monitors a virtual (logical) IP address configured as an alias on oneinterface of a MultiNICA resource. This agent monitors the logical IP address. If theinterface is faulted, the IPMultiNIC agent works with the MultiNICA resource to fail overto a backup interface. If multiple service groups have IPMultiNICs associated with thesame MultiNICA resource, only one group has the MultiNICA resource. The other groupshave Proxy resources pointing to it.Entry Points◆◆◆Online—Configures a virtual IP address on one interface of the MultiNICA resource.Offline—Removes a virtual IP address from one interface of the MultiNICA resource.Monitor—Checks if the virtual IP address is configured on one interface of theMultiNICA resource.State Definitions◆◆◆ONLINE—Indicates that the specified IP address is assigned to the device.OFFLINE—Indicates that the specified IP address is not assigned to the device.UNKNOWN—Indicates that the IP address is not specified in the configuration file(main.cf).Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>25


IPMultiNIC AgentRequired AttributesRequired AttributesType andDimensionDefinitionAddress string-scalar Virtual IP address assigned to the active NIC.For example: "172.29.9.100".MultiNICAResName string-scalar Name of associated MultiNICA resource thatdetermines the active NIC.For example: MultiNICA_grp1.NetMask string-scalar Netmask <strong>for</strong> the virtual IP address. The value ofNetMask may be specified in decimal (base 10) orhexadecimal (base 16).Optional AttributeOptional AttributeType andDimensionDefinitionOptions string-scalar The ifconfig options <strong>for</strong> the virtual IP address.For example: mtu m.Type Definitiontype IPMultiNIC (static str ArgList[] = { "MultiNICAResName:Device", Address,NetMask, Options,"MultiNICAResName:Probed",MultiNICAResName }str Addressstr NetMaskstr Optionsstr MultiNICAResName)26 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


IPMultiNIC AgentSample Configuration: IPMultiNIC and MultiNICAFor more in<strong>for</strong>mation on this example, refer to “Sample Configuration: MultiNICA andIPMultiNIC” on page 45.group grp1 (SystemList = { sysa, sysb }AutoStartList = { sysa })MultiNICA mnic (Device@sysa = { en0 = "10.128.8.42", en1 = "10.128.8.42" }Device@sysb = { en0 = "10.128.8.43", en1 = "10.128.8.43" }NetMask = "255.255.255.0"Gateway = "10.128.1.1"BroadcastAddr = "10.128.8.255")IPMultiNIC ip1 (Address = "10.128.10.14"NetMask = "255.255.255.0"MultiNICAResName = mnic)ip1 requires mnicgroup grp2 (SystemList = { sysa, sysb }AutoStartList = { sysa })IPMultiNIC ip2 (Address = "10.128.9.4"NetMask = "255.255.255.0"MultiNICAResName = mnicOptions = "mtu m")Proxy proxy (TargetResName = mnic)ip2 requires proxyChapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>27


IPMultiNICB AgentIPMultiNICB AgentDescriptionMonitors a virtual (logical) IP address that is configured as an alias on one of the interfacesof a MultiNICB resource. The IPMultiNICB resource is configured as a failover servicegroup that is dependent on the MultiNICB resource. If the physical interface where thelogical IP address is configured is marked DOWN by the MultiNICB agent, the resource isreported OFFLINE. If multiple service groups have IPMultiNICB resources associatedwith the same MultiNICB resource, only one group has the MultiNICB resource. Theother service groups have a Proxy resource pointing to that MultiNICB resource.The minimal configuration <strong>for</strong> this agent consists of the failover IP address, the subnetmask, and the name of the MultiNICB resource that it depends on. Refer to “SampleConfiguration: MultiNICB and IPMultiNICB” on page 30 <strong>for</strong> an example of this type ofconfiguration.The haipswitch UtilityYou can use the "/opt/VRTSvcs/bin/IPMultiNICB/haipswitch utility to switch IPaddresses between MultiNICB interfaces on the same system. Running the utility with the-h flag gives an example of usage.EtherChannel SupportDo not use IPMultiNICB with the EtherChannel. Instead, use the NIC and IP agents.Entry Points◆◆◆◆◆◆◆Open—Data structures necessary <strong>for</strong> monitoring the network interfaces are created.Online—IP address is brought online on the NIC recommended by the MultiNICBresource.Monitor—Checks the existence of the IP address. If the address exists, queries theMultiNICB resource <strong>for</strong> status. The address is failed over to another NIC if necessary.Offline—IP address is de-configured.Clean—IP address is de-configured.Close—Data structures used by the monitor entry point are freed.Attr_Changed—Updates the data structures used <strong>for</strong> monitoring the NICs.28 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


IPMultiNICB AgentState Definitions◆◆◆◆ONLINE—Indicates the IP address is available on a NIC defined as good by theMultiNICB resource.OFFLINE—The IP address is not available.FAULTED—The IP address could not be brought online, usually due to all NICs in theMultiNICB resource faulting.UNKNOWN—Indicates an unrecoverable error condition in the monitor entry point.Required AttributesRequired AttributesType andDimensionDefinitionAddress string Defines the dotted decimal failover IP address.This IP address must be different than the base or testIP addresses in the MultiNICB resource.Note The IPMultiNICB agent automatically assignsthe failover IP address. Do not configure this IPaddress be<strong>for</strong>e the IPMultiNICB agent goes online.If the IP address is already configured, the agentwill return an error.NetMask string Defines the subnet mask <strong>for</strong> the failover IP address.MultiNICBResName string Contains the name of the MultiNICB resource that theIPMultiNICB resource depends on.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>29


IPMultiNICB AgentType Definitiontype IPMultiNICB (static int MonitorTimeout = 120static int OfflineMonitorInterval = 60static int MonitorInterval = 10static str ArgList[] = { Address, NetMask, MultiNICBResName,"MultiNICBResName:Probed" }str Addressstr NetMaskstr MultiNICBResName)Sample Configuration: MultiNICB and IPMultiNICBgroup grp1 (SystemList = { sysa, sysb }AutoStartList = { sysa })MultiNICB MNICB_grp1 (Device@sysa = { en0 = "10.128.8.42", en1 = "10.128.8.43" }Device@sysb = { en0 = "10.128.8.44", en1 = "10.128.8.45" }NetworkHosts = "10.128.8.10 10.128.8.45"LinkTestRatio = 1)IPMultiNICB ip1 (Address = "10.128.10.14"Netmask = "255.255.255.0"MultiNICBResName = MNICB_grp1)ip1 requires MNICB_grp1group grp2 (SystemList = { sysa, sysb }AutoStartList = { sysa })IPMultiNICB ip2 (Address = "10.128.10.15"Netmask = "255.255.255.0"MultiNICBResName = MNICB_grp1)Proxy MNICB_proxy (TargetResName = MNICB_grp1)ip2 requires MNICB_proxy30 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


LVMVG AgentLVMVG AgentDescriptionActivates, deactivates, and monitors a Logical Volume Manager (LVM) volume group.The LVMVG agent ensures the ODM is in sync with any changes to the volume groupsince it was last imported on the system. Refer to “Notes on the LVMVG Agent” onpage 34 <strong>for</strong> important in<strong>for</strong>mation on this agent.Entry Points◆◆◆◆Online—Activates the volume group. The Online entry point expects that the volumegroup is already imported on the system. If the volume group had been modified on asystem where it was previously active, the Online entry point detects this. It thensyncs up the ODM on the system where you want to bring the volume group resourceonline.Offline—Deactivates the volume group.Monitor—Determines the volume group’s state (activated or deactivated) andavailability <strong>for</strong> read/write operations.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.State Definitions◆◆ONLINE—Indicates that the volume group is activated.OFFLINE—Indicates that the volume group is deactivated.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>31


LVMVG AgentRequired AttributesRequired AttributesType andDimensionDefinitionMajorNumber integer-scalar Integer that represents the major number of thevolume group. To ensure NFS functions properly,assign the same major number to the volume groupon each system in the cluster.VolumeGroup string-scalar Name of the volume group configured with LVM.For example: testvg1.Optional AttributesOptional AttributesType andDimensionDefinitionOwnerName string-scalar Attribute used to specify the volume owner’s name.Default is root.If set, the owner’s name is applied to the volumegroup and all of its logical volumes.GroupName string-scalar Attribute used to specify the volume’s group.Default is system.If set, the groups’s name is applied to the volumegroup and all of its logical volumes.Mode string-scalar Attribute used to specify permissions <strong>for</strong> a volumegroup and its logical volumes.Default is 640.If set, these permissions are applied to the volumegroup and all of its logical volumes.ImportvgOpt string-scalar Attribute used to specify options <strong>for</strong> the importvgcommand.Default is n. This option indicates the volume groupis not automatically activated when imported.VaryonvgOpt string-scalar Attribute used to specify options <strong>for</strong> the varyonvgcommand. By default, this string is empty.32 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


LVMVG AgentOptional AttributesType andDimensionDefinitionSyncODM integer-scalar Integer that specifies whether or not the agentensures the ODM is in sync with any changes tothe volume group.If set to 1, the agent ensures the ODM is in syncwith the changes to the volume group (if the volumegroup was modified on another system in the cluster).The sync operation occurs on the system where theagent brings the volume group online.If set to 0, the changes to the volume group areindependent of the ODM.Default is 1.Type Definitiontype LVMVG (static int NumThreads = 1static str ArgList[] = { VolumeGroup, MajorNumber, OwnerName,GroupName, Mode, ImportvgOpt,VaryonvyOpt, SyncODM }str VolumeGroupint MajorNumberstr OwnerNamestr GroupNamestr Modestr ImportvgOpt = nstr VaryonvgOptint SyncODM = 1)Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>33


LVMVG AgentSample Configurationsystem sysAsystem sysBsystem sysCgroup lvmgroup (SystemList = { sysA, sysB }AutoStartList = { sysA }LVMVG lvmvg_vg1 (VolumeGroup = vg1MajorNumber = 50)LVMVG lvmvg_vg2 (VolumeGroup = vg2MajorNumber = 51ImportvgOpt = "f")Notes on the LVMVG AgentVolume Group Need To Be ImportedThe LVMVG agent relies on the ODM to find out the names of the disk devices that avolume group is created on. Unless a volume group is imported on the system, the ODMon that system does not contain any in<strong>for</strong>mation about that volume group. There<strong>for</strong>e, youmust import the volume group on all the systems in the group’s SystemList <strong>for</strong> theLVMVG agent to function properly.For example, in the “Sample Configuration” on page 34, the volume groups (vg1 andvg2) must be imported on the specified systems (sysA and sysB).Varyonvg OptionsBy default, the agent checks the state of the disk devices underneath the volume group. Ifthe disk device is in a DEFINED state, the agent resets it to an AVAILABLE state. You canchange this by using the VaryonvgOpt attribute.34 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


LVMVG AgentYou can have the agent not check <strong>for</strong> the state of the disk devices by setting VaryonvgOptattribute in the main.cf file to a value of u. This option to the varyonvg commandensures that the disks underneath the volume group are not reserved when the volumegroup is activated.Note When you activate a volume group with the u option, ghost disks are not created.There<strong>for</strong>e, you do not have to reset disks <strong>for</strong> these volume groups.SyncODM AttributeThis sync happens only if this attribute is set to 1.The LVMVG agent ensures the ODM is in sync with any changes to the volume groupsince it was last imported on the system. The agent maintains a timestamp file,/var/VRTSvcs/log/tmp/volume_group_name.ts, which records the time when thevolume group was last imported on the system. When the agent initially brings a volumegroup online, the agent exports and reimports the group while initializing the timestampfile <strong>for</strong> that group. During the export and reimport processes, the agent preserves theownership and mode in<strong>for</strong>mation <strong>for</strong> the volume group and all its logical volumes.The sync operation occurs when the timestamp value in the volume group’s timestampfile is older than the timestamp value in the volume group’s descriptor area. Thetimestamp value in the VGDA area of a volume group is updated after creating ordeleting logical volumes, and adding or removing physical volumes.Major NumbersIf a file system on a volume group is shared <strong>for</strong> NFS, make sure the volume group isimported with the same major number on all systems in the cluster.To view a list of available major numbers on the system, enter the lvlstmajorcommand. For example:# lvlstmajor49, 60 ...To import volume group vg00 with major number 60, enter:# importvg -V 60 -y vg00 hdisk3To view the major number assigned to a volume group, use the ls command with the -loption. For example:# ls -l /dev/vg00crw-r----- 1 root system 60, 0 Apr 2 16:05 /dev/vg00Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>35


LVMVG AgentAssign the same major number to the volume group on each system in the cluster. Thisautomatically occurs if a volume group is imported on all systems in the cluster. Specifythis major number in the MajorNumber attribute of the LVMVG configuration.Note Do not specify the V option in the ImportvgOpt attribute string, the agentautomatically does this.Autoactivate OptionsUse the “Concurrent Capable” options <strong>for</strong> the importvg and mkvg commands withHACMP, which are not required <strong>for</strong> VCS. If an LVM volume group is placed under VCScontrol, the autoactivate options should be turned off. Do this using SMIT or through thecommand line.From SMIT, set the following field values when creating or altering the volume group:Activate volume group AUTOMATICALLYat system restart?Create VG Concurrent Capable?Auto-varyon in Concurrent Mode?From the command line, to view the current value <strong>for</strong> these fields, use the lsattrcommand.For example:# lsattr -El vg00vgserial_id 0001632f00004c00000000ee092b3bd8 N/A Falseauto_on y N/A Trueconc_capable nN/A Trueconc_auto_on nN/A Truetimestamp 3ceff3390a8b1379 N/A TrueFrom the command line, to change the value <strong>for</strong> these fields, use the chvg command. Forexample, to change the value of auto_on to "n":1. Activate the volume group vg00 (if the volume group is not already activated):# varyonvg vg002. Run the chvg command:# chvg -a 'n' vg003. Verify the changes:# lsattr -El vg00vgserial_id 0001632f00004c00000000ee092b3bd8 N/A Falseauto_on n N/A Truenonono36 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


LVMVG Agentconc_capable nN/A Trueconc_auto_on nN/A Truetimestamp 3ceff3390a8b1379 N/A TrueThe hadevice UtilityThe LVMVG agent provides the hadevice utility to check the status of a disk device,reset a disk device to an AVAILABLE state, and break any SCSI reservations on a diskdevice. Its syntax is:hadevice -c | -r | -b -p device_nameThe three possible states of a disk device are: AVAILABLE, DEFINED AND RESERVED, andDEFINED AND NOT RESERVED.To check the state of a disk device, enter:# hadevice -c device_nameThe following commands locate and remove ghost disks <strong>for</strong> a disk device and break anySCSI reservation on the disk device. When the -p flag follows the -b flag, it breaks anyprevious SCSI reservation on the device. It then obtains and retains a new reservation onthe device.To locate and remove ghost disks and break any SCSI reservations on the disk device,enter:# hadevice -b device_nameTo locate and remove ghost disks, break any SCSI reservations on the disk device, andobtain and retain a new reservation on the device, enter:# hadevice -b -p device_nameTo reset a disk device that is in a DEFINED state and put it into an AVAILABLE state, enter:# hadevice -r device_nameChapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>37


Mount AgentMount AgentDescriptionBrings online, takes offline, and monitors a file system mount point.Entry Points◆◆◆◆◆Online—Mounts a block device on the directory. If the mount process fails, the agentattempts to run fsck on the raw device to remount the block device.Offline—Unmounts the file system.Monitor—Determines if the file system is mounted. Checks mount status using thestat and statvfs commands.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.Info—See “Info Entry Point” on page 40 <strong>for</strong> more in<strong>for</strong>mation.State Definitions◆◆◆ONLINE—Indicates that the block device is mounted on the specified mount point.OFFLINE—Indicates that the block device is not mounted on the specified mount point.UNKNOWN—Indicates that a problem exists with the configuration.38 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Mount AgentRequired AttributesRequired AttributesType andDimensionDefinitionBlockDevice string-scalar Device <strong>for</strong> mount point.FsckOpt string-scalar Options <strong>for</strong> fsck command. -y or -n must beincluded as arguments to fsck or the resource cannotcome online. VxFS file systems per<strong>for</strong>m a log replaybe<strong>for</strong>e a full fsck operation (enabled by -y) takesplace. Refer to the manual page on the fsckcommand <strong>for</strong> more in<strong>for</strong>mation.Note On <strong>AIX</strong> 5.1c systems, the fsck commandcannot run on a file system unless an entry <strong>for</strong>that file system is added to/etc/filesystems. See “Listing File Systemsin /etc/filesystems on <strong>AIX</strong> 5.1c” on page 41 <strong>for</strong>more in<strong>for</strong>mation.FSType string-scalar Type of file system, <strong>for</strong> example: jfs or vxfs.MountPoint string-scalar Directory <strong>for</strong> mount point.Optional AttributesOptional AttributesType andDimensionDefinitionMountOpt string-scalar Options <strong>for</strong> mount command, <strong>for</strong> example: rw.Note Do not specify -o in the MountOpt field.SnapUmount boolean-scalar If set to 1, this attribute automatically unmounts VxFSsnapshots when the file system is unmounted.Default is 0.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>39


Mount AgentInfo Entry PointThe Mount info entry point executes the command:# df -h mount_pointThe output displays Mount resource in<strong>for</strong>mation:Size Used Avail Use%The following steps are necessary to initiate the info entry point by setting the InfoIntervaltiming to a value greater than 0, <strong>for</strong> example:# haconf -makerw# hatype -modify Mount InfoInterval 60In this case, the info entry point executes every 60 seconds. The command to retrievein<strong>for</strong>mation about the Mount resource is:# hares -value mountres ResourceInfoOutput includes the following in<strong>for</strong>mation:Size 15GUsed 5.7GAvailable 8.3GUsed% 41%Type Definitiontype Mount (str MountPointstr BlockDevicestr FSTypestr MountOptstr FsckOptint SnapUmount = 0static str ArgList[] = { MountPoint, BlockDevice, FSType,MountOpt, FsckOpt, SnapUmount})40 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Mount AgentSample ConfigurationsUse the crfs and mkfs commands to create file systems. VCS supports the followingconfigurations <strong>for</strong> the Mount agent:◆◆LVM volume group with a JFS file system.VxVM volume with a VxFS file system.Sample 1In the following configuration, the mnt resource requires the vg00 resource.LVMVG lvmvg_vg00 (VolumeGroup = vg00Disks = { "hdisk3" }Options = "u")Mount mnt (MountPoint = "/lvm_testmnt"BlockDevice = "/dev/lv00"FSType = jfs)mnt requires vg00Sample 2In the following configuration, vol0L is a volume in diskgrp testdg_1 created withVxVM.Mount m0 (MountPoint = "/tmp/m0"BlockDevice = "/dev/vx/dsk/testdg_1/vol0"FSType = vxfs)Listing File Systems in /etc/filesystems on <strong>AIX</strong> 5.1cThe Mount agent uses the fsck command to repair a corrupted file system. In a clusterrunning <strong>AIX</strong> 5.1c, the fsck command requires the /etc/filesystems file on eachsystem to contain entries <strong>for</strong> all VxFS and JFS file systems referenced by the BlockDeviceattribute of the Mount agent. The fsck-V vfstype filesystemname command alsodoes not work on <strong>AIX</strong> 5.1c systems without a corresponding entry <strong>for</strong> the file system in/etc/filesystems.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>41


Mount AgentThe crfs command automatically adds an entry <strong>for</strong> a new file system to/etc/filesystems on the system it was created on. You must add entries to/etc/filesystems on all other systems in the cluster. The mkfs command does notadd an entry <strong>for</strong> a new file system to /etc/filesystems. You must add entries to/etc/filesystems on all systems in the cluster.Example 1In this /etc/filesystems entry <strong>for</strong> a VxFS file system created on a VxVM volume,/mount_point is the mount point <strong>for</strong> the file system,/dev/vx/dsk/Diskgroup_name/Volume_name is the block device on which the filesystem is created, and vxfs is the file system type./etc/filesystems:/mount_point:dev = /dev/vx/dsk/Diskgroup_name/Volume_namevfs = vxfsmount = falsecheck = falseExample 2In this /etc/filesystems entry <strong>for</strong> a JFS file system created on an LVM logical volume,/mount_point2 is the mount point <strong>for</strong> the file system, /dev/LVMlogical_volume isthe block device on which the file system is created, /dev/LVMlogical_volumelog isthe log device <strong>for</strong> the file system automatically created by the crfs command, and jfs isthe file system type./etc/filesystems:/mount_point2:dev = /dev/LVMlogical_volumevfs = jfslog = /dev/LVMlogical_volumelogmount = falsecheck = false42 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICA AgentMultiNICA AgentDescriptionRepresents a set of network interfaces, and provides failover capabilities between them.Each interface in a MultiNICA resource can have its own base IP address or all theinterfaces can share a single base IP address. The MultiNICA agent configures andmonitors one interface at a time. If the agent detects no activity on the configuredinterface, it configures a new interface and migrates IP aliases to it.If an interface is associated with a MultiNICA resource, it should not be associated withany other MultiNICA or NIC resource. If the same set of interfaces must be a part ofmultiple service groups, first configure a MultiNICA resource in one of the servicegroups, and then configure Proxy resources that point to the MultiNICA resource in theother service groups.Entry Points◆◆◆Online—Not applicable.Offline—Not applicable.Monitor—Checks <strong>for</strong> activity on a configured interface by sampling input packetsreceived on that interface. If it does not detect activity, it <strong>for</strong>ces activity by sending outa broadcast ping. If it detects a failure, it migrates to the next interface.Note With <strong>AIX</strong>, systems do not respond to broadcast pings by default. Theadministrator must run "no -o bcastping=1" in order to enable response tobroadcast pings.Required AttributesRequiredAttributesType andDimensionDefinitionBroadcastAddr string-scalar Broadcast address. For example: "10.192.15.255".Device string-association List of interfaces and their base IP addresses.Gateway string-scalar IP address <strong>for</strong> the default gateway. For example: "10.192.1.7".NetMask string-scalar Netmask <strong>for</strong> the base IP address. The value of NetMask maybe specified in decimal (base 10) or hexadecimal (base 16).Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>43


MultiNICA AgentOptional AttributesOptional AttributesType andDimensionDefinitionHandshake-Interval integer-scalar Computes the maximum number of attempts the agentmakes either to ping a host (listed in the NetworkHostsattribute) when it fails over to a new NIC, or to ping thedefault broadcast address (depending on the attributeconfigured) when it fails over to a new NIC.To prevent spurious failovers, <strong>VERITAS</strong> recommends thatthe user enable the agent to try to contact a host on thenetwork several times be<strong>for</strong>e marking a NIC as faulted.Increased values result in longer failover times, whetherbetween the NICs or from system to system in the case offaulted NICs.The default is 1.NetworkHosts string-vector List of hosts on the network that are pinged to determineif the network connection is alive. Enter the IP address of ahost (instead of the HostName) to prevent the monitorfrom timing out (DNS causes the ping to hang). If this anunspecified attribute, the monitor tests the NIC bypinging the broadcast address on the NIC. If more thanone network host is listed, the monitor returns online if atleast one of the hosts is alive.For example: "166.93.2.1, 166.97.1.2".Options string-scalar The ifconfig options <strong>for</strong> the base IP address.For example: mtu m.PingOptimize integer-scalar Number of monitor cycles to detect if configured interfaceis inactive. A value of 1 optimizes broadcast pings andrequires two monitor cycles. A value of 0 per<strong>for</strong>ms abroadcast ping each monitor cycle and detects the inactiveinterface within the cycle.Default is 1.RouteOptions string-scalar String to add a route when configuring an interface. Noroutes are added if this string is set to NULL.For example: "-net 192.100.201.0 192.100.13.7".Note The MultiNICA agent supports only one active NIC on one IP subnet. The agentdoes not work with multiple active NICs on the same subnet.44 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICA AgentType Definitiontype MultiNICA (static str ArgList[] = { Device, NetMask, Gateway,BroadcastAddr, Options,RouteOptions, PingOptimizeMonitorOnly, HandshakeIntervalnetworkHosts }static int OfflineMonitorInterval = 60static str Operations = Nonestatic int MonitorTimeout = 300str Device{}str NetMaskstr Gatewaystr Optionsstr RouteOptionsint PingOptimize = 1int HandshakeInterval = 10str NetworkHosts[])Sample Configuration: MultiNICA and IPMultiNICIn the following example, two machines, sysa and sysb, each have a pair of networkinterfaces, en0 and en1. The two interfaces, en0 and en1, have the same base, or physical,IP address. However, the addresses on different hosts can differ. Note the lines beginningDevice@sysa and Device@sysb; the use of different physical addresses shows how tolocalize an attribute <strong>for</strong> a particular host.The MultiNICA resource fails over only the physical IP address to the backup NIC in theevent of a failure. The logical IP addresses are configured by the IPMultiNIC agent. Theresources ip1 and ip2, shown in the following example, have the Address attribute whichcontains the logical IP address. In the event of a NIC failure on sysa, the physical IPaddress and the two logical IP addresses fails over from en0 to en1.However, if both the NICs on sysa are disconnected, the MultiNICA and IPMultiNICresources work in tandem to fault the group on sysa. The entire group now fails over tosysb.If you have more than one group using the MultiNICA resource, the second group can usea Proxy resource to point to the MultiNICA resource in the first group. This preventsredundant monitoring of the NICs on the same system. The IPMultiNIC resource isalways made dependent on the MultiNICA resource. See “IPMultiNIC Agent” onpage 25.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>45


MultiNICA Agentgroup grp1 (SystemList = { sysa, sysb }AutoStartList = { sysa })MultiNICA mnic (Device@sysa = { en0 = "10.128.8.42", en1 = "10.128.8.42" }Device@sysb = { en0 = "10.128.8.43", en1 = "10.128.8.43" }NetMask = "255.255.255.0"Gateway = "10.128.1.1"BroadcastAddr = "10.128.25.255"Options = "mtu m")IPMultiNIC ip1 (Address = "10.128.10.14"NetMask = "255.255.255.0"MultiNICAResName = mnicOptions = "mtu m")ip1 requires mnicgroup grp2 (SystemList = { sysa, sysb }AutoStartList = { sysa })IPMultiNIC ip2 (Address = "10.128.9.4"NetMask = "255.255.255.0"MultiNICAResName = mnicOptions = "mtu m")Proxy proxy (TargetResName = mnic)ip2 requires proxy46 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICB AgentMultiNICB AgentDescriptionMonitors network interfaces and identifies the interface that the IPMultiNICB agent uses<strong>for</strong> failovers. Minimal configuration consists of defining a device and a test IP address.This test IP address is typically the address configured through the OS, usually throughSMIT. If the LinkTestRatio is set to a number greater than zero (one is the default), anetwork host should be defined <strong>for</strong> the ping test.The MultiNICB agent allows IP addresses to failover between multiple NICs on the samesystem. Each interface is configured with a test IP address that the agent uses to verify theinterfaces are functional. A failover IP address is managed by the IPMultiNICB agent. TheIPMultiNICB agent brings the failover IP address online, and move it between the NICsdefined in MultiNICB agent when NIC failures occur. The MultiNICB agent detects NICfailures in two ways: checking the link status by querying the driver and pinging anetwork host designated by the user.EtherChannel SupportEtherChannel should not be used with the MultiNICB resource. Instead, use the NICresource <strong>for</strong> monitoring an EtherChannel virtual interface.haping UtilityThe administrator can use the haping utility (/opt/VRTSvcs/bin/MultiNICB/haping)to test each NIC prior to configuring the MultiNICB resource. This utility takesthe NIC interface as an argument, and can be used to per<strong>for</strong>m a link test, broadcast ping,or ping a specific remote host. It is highly recommended that the administrator per<strong>for</strong>m atest ping with the remote host prior to adding it to the NetworkHosts parameter. Someexamples of the command syntax are as follows:Link test only on interface en0:haping -l en0Ping a remote host 10.10.10.10 from interface en0:haping -g 10.10.10.10 en0Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>47


MultiNICB AgentConfigurationOnly a single MultiNICB resource can be configured per system. IPMultiNICB resourcescan be configured in Failover groups, and Proxy Resources used to create the dependencybetween the MultiNICB and IPMultiNICB resources. See section “Sample Configuration:IPMultiNIC and MultiNICA” on page 27 that illustrates this configuration.Note <strong>AIX</strong> systems do not respond to broadcast pings by default. You must run "no -obcastping=1" in order to enable response to broadcast pings.The IP address <strong>for</strong> use by applications should be configured using the IPMultiNICBresource. The test IP addresses should not be used <strong>for</strong> application data.For more in<strong>for</strong>mation on setting up MultiNICB, see “Checklist <strong>for</strong> Using MultiNICB” onpage 51.Entry Points◆◆◆◆Open—Data structures necessary <strong>for</strong> monitoring the network interfaces are created.Close—Data structures used by the monitor entry point are freed.Monitor—Monitor interface status through link test and ping.Attr_Changed—Update the data structures used <strong>for</strong> monitoring the NICs.State Definitions◆◆◆◆ONLINE—Indicates at least one NIC is online.OFFLINE—Indicates all NICs configured <strong>for</strong> the resource are offline.FAULTED—All NICs configured <strong>for</strong> the resource have faulted.UNKNOWN—Indicates an unrecoverable error condition in the monitor entry point.48 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICB AgentRequired AttributesRequired AttributesType andDimensionDefinitionDevice string-association Lists the interfaces in order of preference <strong>for</strong>failover. A unique test IP address must be assignedto each interface.Use the <strong>AIX</strong> SMIT configuration tool to configurethe test IP addresses to make them persistentacross reboots.Note You also must manually configure the defaultIP route on each NIC in the MultiNICBresource.NetworkHosts string-vector List of hosts on the network that are pinged todetermine if the network connection is available.This must be an IP address, not a host name. If thisattribute is not specified, the monitor tests the NICby pinging the broadcast address on the NIC. Ifmore than one network host is specified, monitorreturns online if at least one host is reachable.Note You must set this attribute unless theLinkTestRatio is “0”.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>49


MultiNICB AgentOptional AttributesOptional AttributesType andDimensionDefinitionLinkTestRatio integer-scalar Controls the frequency of the ping test in relation tothe link test. The ping test may be run at a lesserfrequency to reduce network traffic. If this attributeis set to 1, packets are sent during every monitorcycle. If this attribute is set to 0, packets are neversent during a monitor cycle. For other values greaterthan 1, packets are sent at a lower frequency.For example, if LinkTestRatio=2, then the packetsend test only runs once <strong>for</strong> every two invocationsof the monitor entry point. (In other words, packetswould be sent out half as often than if LinkTestRatiowas equal to one.)If the LinkTestRatio is set to a number greater thanzero, you must specify a network host <strong>for</strong> the pingtest.Default is 1.NoBroadcast integer-scalar If set to 1, NoBroadcast prevents the agent fromsending broadcast pings. ARP requests may still begenerated.Note If no NetworkHosts are specified andNoBroadcast is set to 1, the agent cannotfunction properly. <strong>VERITAS</strong> does notrecommend setting NoBroadcast to 1.Default is 0.OfflineTestRepeatCount integer-scalar Number of times the test is repeated if the interfacestatus changes from up to down. For everyrepetition of the test, the next NetworkHost isselected in round-robin manner. At the end of thisprocess, broadcast is per<strong>for</strong>med if NoBroadcast isset to 0. A greater value prevents spurious changes,but increases the response time.Default is 3.OnlineTestRepeatCount integer-scalar Number of times the test is repeated if the interfacechanges from down to up. This helps preventoscillations in the status of the interface.Default is 3.50 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


MultiNICB AgentType Definitiontype MultiNICB (static int OfflineMonitorInterval = 60static int MonitorInterval = 10static str ArgList[] = { Device, NetworkHosts, LinkTestRatio,NoBroadcast, NetworkTimeout, OnlineTestRepeatCount,OfflineTestRepeatCount }static str Operations = Nonestr Device{}str NetworkHosts[] = { "0.0.0.0" }int LinkTestRatio = 1int NoBroadcastint NetworkTimeout = 100int OnlineTestRepeatCount = 3int OfflineTestRepeatCount = 3)Checklist <strong>for</strong> Using MultiNICBSatisfy the following requirements <strong>for</strong> the MultiNICB agent to function properly. Refer tothis list when setting up and troubleshooting this agent:✔ Provide a unique MAC address <strong>for</strong> each interface.✔ A MultiNICB resource controls all the interfaces on one IP subnet.✔ All interfaces under the MultiNICB resource are plumbed at boot time.✔ All interfaces under the MultiNICB resource are given test IP addresses at boot time.✔ All test IP addresses <strong>for</strong> the MultiNICB resource belong to the same subnet.✔ Test IP addresses must only be used by MultiNICB.✔All interfaces under the MultiNICB resource have the same default IP routeconfiguration.Note Since the base IP addresses are not failed over, do not use them <strong>for</strong>administrative or application purposes.✔✔If NetworkHosts is specified, the hosts must be directly accessible on the LAN.If any network host is meant to respond to a broadcast ping, runno -o bcastping = 1.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>51


MultiNICB AgentThe sample script does the following:◆If interface changes status, it prints a message to the console, <strong>for</strong> example:MultiNICB Agent Res. Name: Device en0 status changed from Down toUp.Sample Configuration: MultiNICB and IPMultiNICBgroup grp1 (SystemList = { sysa, sysb }AutoStartList = { sysa })MultiNICB MNICB_grp1 (Device@sysa = { en0 = ”10.128.8.42”, en1 = ”10.128.8.43” }Device@sysb = { en0 = ”10.128.8.44”, en1 = ”10.128.8.45” }NetworkHosts = “10.128.8.10 10.128.8.45”LinkTestRatio = 1)IPMultiNICB ip1 (Address = “10.128.10.14”Netmask = “255.255.255.0”MultiNICBResName = MNICB_grp1)ip1 requires MNICB_grp1group grp2 (SystemList = { sysa, sysb }AutoStartList = { sysa })IPMultiNICB ip2 (Address = “10.128.10.15”Netmask = “255.255.255.0”MultiNICBResName = MNICB_grp1)Proxy MNICB_proxy (TargetResName = MNICB_grp1)ip2 requires MNICB_proxy54 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


NFS AgentNFS AgentDescriptionStarts and monitors the nfsd, mountd, lockd, and statd subsystem processes required byall exported NFS file systems.The srcmstr daemon is the System Resource Controller (SRC). This agent send requests tothe SRC to start and monitor these processes.Note Start the srcmstr daemon be<strong>for</strong>e using this agent.Entry Points◆◆◆◆Online—Checks if nfsd, mountd, lockd, and statd are running. If they are not running,the agent starts the processes and exits.Offline—Not applicable.Monitor—Monitors nfsd, mountd, lockd, and statd by checking whether or not theprocesses are active.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.State Definitions◆◆◆ONLINE—Indicates that the NFS daemons are running properly.OFFLINE—Indicates that the NFS daemons are not running properly.UNKNOWN—Unable to determine the status of the NFS daemons.Required AttributeOptional AttributeType andDimensionDefinitionNservers integer-scalar Specifies the number of concurrent NFS requests theserver can handle. A zero value takes the defaultvalue from the SRC database.Default is 0.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>55


NFS AgentType Definitiontype NFS (int Nservers = 0static str ArgList[] = { Nservers }static str Operations = OnOnlystatic int RestartLimit = 1)Sample ConfigurationNFS NFS_groupx_24 ()56 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


NIC AgentNIC AgentBe<strong>for</strong>e using this agent:✔ Verify that each NIC has the correct administrative IP address and subnet mask.✔ Verify that each NIC does not have built-in failover support. If it does, disable it. Referto the NIC documentation <strong>for</strong> more in<strong>for</strong>mation.DescriptionMonitors the configured NIC. If a network link fails, or if a problem arises with theadapter, the resource is marked OFFLINE. The NIC listed in the Device attribute must havean administrative IP address, which is the default IP address assigned to the physicalinterface of a host on a network. This agent does not configure network routes or anadministration IP address.The NIC Agent can be used to support EtherChannel configurations. The virtual interfaceconfigured through EtherChannel should be used <strong>for</strong> the "Device" parameter. Use the IPagent to manage the IP address assigned to the EtherChannel virtual interface.Entry Points◆◆◆Online—Not applicable.Offline—Not applicable.Monitor—Tests the network card and network link. Pings the network hosts orbroadcast address of the interface to generate traffic on the network. Counts thenumber of packets passing through the device be<strong>for</strong>e and after the address is pinged.If the count decreases or remains the same, the resource is marked OFFLINE.Note With <strong>AIX</strong>, systems do not respond to broadcast pings by default. Theadministrator must run no -o bcastping=1 in order to enable response tobroadcast pings.State Definitions◆◆◆ONLINE—Indicates that the NIC resource is online.OFFLINE—Indicates that the NIC resource is offline.UNKNOWN—Indicates that the device is not configured or is configured incorrectly.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>57


NIC AgentRequired AttributeRequired AttributeType andDimensionDefinitionDevice string-scalar The name of the NIC to be monitored. Use SMIT tocheck all network adapters that are available <strong>for</strong> use.For example: en0 or en1.Optional AttributesOptional AttributesType andDimensionDefinitionNetworkHosts string-vector List of hosts on the network.◆◆◆If one host is specified, the monitor returnsONLINE when the host is reachable.If more than one host is specified, the monitorreturns ONLINE when at least one of the hosts isreachable.If no hosts are specified, the monitor issues abroadcast ping and returns ONLINE when any hostresponds to the broadcast ping request.Network Type string-scalar Reserved <strong>for</strong> future use. VCS ignores this value.PingOptimize integer-scalar Number of monitor cycles to detect if the configuredinterface is inactive.A value of 1 optimizes broadcast pings and requirestwo monitor cycles.A value of 0 per<strong>for</strong>ms a broadcast ping during eachmonitor cycle and detects the inactive interface withinthe cycle.Default is 1.58 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


NIC AgentType Definitiontype NIC (static str ArgList[] = { Device, NetworkType, PingOptimize,NetworkHosts}static int OfflineMonitorInterval = 60static str Operations = Nonestr Devicestr NetworkTypestr NetworkHosts[]int PingOptimize = 1)Sample ConfigurationsSample 1: Without Network Hosts (Using Default Ping Mechanism)NIC groupx_en0 (Device = en0PingOptimize = 1)Sample 2: With Network HostsNIC groupx_en0 (Device = en0NetworkHosts = { "10.182.1.1", "10.182.1.2" })Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>59


NotifierMngr AgentNotifierMngr AgentDescriptionStarts, stops, and monitors a notifier process, making it highly available. The notifierprocess manages the reception of messages from VCS and GCM and the delivery of thosemessages to SNMP consoles and SMTP servers. See the <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> User’s<strong>Guide</strong> <strong>for</strong> a description of types of events that generate notification. See the notifier(1)man page to configure notification from the command line.Note The attributes of the NotifierMngr agent cannot be dynamically changed using thehares -modify command. Changes made using this command are effective afternotifier is restarted.Entry Points◆◆◆◆Online—Starts the notifier process with its required arguments.Offline—VCS sends a SIGABORT. If the process does not exit within one second, VCSsends a SIGKILL.Monitor—Monitors the notifier process.Clean—Sends SIGKILL.State Definitions◆◆ONLINE—Indicates that the Notifier process is running.OFFLINE—Indicates that the Notifier process is not running.60 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


NotifierMngr AgentRequired AttributesRequired AttributesSnmpConsolesType andDimensionstringassociationDefinitionSpecifies the machine name of the SNMP managerand the severity level of the messages to be deliveredto the SNMP manager. The severity levels ofmessages are: In<strong>for</strong>mation, Warning (default), Error,and SevereError. Specifying a given severity level <strong>for</strong>messages generates delivery of all messages of equalor higher severity.For example:"172.29.10.89" = Error, "172.29.10.56" = In<strong>for</strong>mationNote SnmpConsoles is a required attribute ifSmtp<strong>Server</strong> is not specified. Otherwise,SnmpConsoles is an optional attribute. The usercan specify both SnmpConsoles andSmtp<strong>Server</strong> if necessary.Smtp<strong>Server</strong> string-scalar Specifies the machine name of the SMTP server.Note Smtp<strong>Server</strong> is a required attribute ifSnmpConsoles is not specified. Otherwise,Smtp<strong>Server</strong> is an optional attribute. The usercan specify both Smtp<strong>Server</strong> andSnmpConsoles if necessary.Optional AttributesOptional AttributesType andDimensionDefinitionMessagesQueue integer-scalar Size of the VCS engine’s message queue.Default is 30.NotifierListeningPort integer-scalar Any valid TCP/IP port numbers that are not used.Default is 14144.SmtpFromPath string This attribute should be set to a valid email address, ifa custom email address is desired <strong>for</strong> the FROM: fieldin the email sent by notifier.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>61


NotifierMngr AgentOptional AttributesSmtpRecipientsType andDimensionstringassociationDefinitionSpecifies the email address where in<strong>for</strong>mation is sentand the severity level of the messages received. Theseverity levels of messages are: In<strong>for</strong>mation, Warning(default), Error, and SevereError. Specifying a givenseverity level <strong>for</strong> messages indicates that all messagesof equal or higher severity are received.For example:"james@veritas.com" = SevereError,"admin@veritas.com" = WarningNote SmtpRecipients is a required attribute ifSmtp<strong>Server</strong> is specified.SmtpReturnPath string This attribute should be set to a valid email address, ifa custom email address is desired <strong>for</strong> the Return-Path: field in the email sent by notifier.Note If the mail server specified in Smtp<strong>Server</strong> doesnot support VRFY, then you need to set theSmtpVrfyOff to 1 in order <strong>for</strong> theSmtpReturnPath value to take effect.Smtp<strong>Server</strong>Timeout integer This attribute represents the time in seconds notifierwaits <strong>for</strong> a response from the mail server <strong>for</strong> theSMTP commands it has sent to the mail server. Thisvalue can be increased if it is noticed that the mailserver is taking a longer duration to reply back to theSMTP commands sent by notifier.Default is 10.Smtp<strong>Server</strong>VrfyOff boolean Setting this value to 1 results in notifier not sending aSMTP VRFY request to the mail server specified inSmtp<strong>Server</strong> attribute, while sending emails. Set thisvalue to 1 if your mail server does not support SMTPVRFY command.Default is 0.SnmpdTrapPort integer-scalar Port to which SNMP traps are sent. The valuespecified <strong>for</strong> this attribute is used <strong>for</strong> all consoles ifmore than one SNMP console is specified.Default is 162.SnmpCommunity string-scalar Specifies the community ID <strong>for</strong> the SNMP manager.Default is "public".62 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


NotifierMngr AgentType Definitiontype NotifierMngr (static int RestartLimit = 3static str ArgList[] = { EngineListeningPort, MessagesQueue,NotifierListeni ngPort, SnmpdTrapPort, SnmpCommunity, SnmpConsoles,Smtp<strong>Server</strong>, Smtp<strong>Server</strong>VrfyOff, S mtp<strong>Server</strong>Timeout, SmtpReturnPath,SmtpFromPath, SmtpRecipients }int EngineListeningPort = 14141int MessagesQueue = 30int NotifierListeningPort = 14144int SnmpdTrapPort = 162str SnmpCommunity = "public"str SnmpConsoles{}str Smtp<strong>Server</strong>boolean Smtp<strong>Server</strong>VrfyOff = 0int Smtp<strong>Server</strong>Timeout = 10str SmtpReturnPathstr SmtpFromPathstr SmtpRecipients{})Sample ConfigurationIn the following configuration, the NotifierMngr agent is configured to run with tworesource groups, NicGrp and Grp1. NicGrp contains the NIC resource and a Phantomresource that enables VCS to determine the online and offline status of the group. See“Phantom Agent” on page 65 <strong>for</strong> more in<strong>for</strong>mation on verifying the status of groups thatonly contain OnOnly or Persistent resources—such as the NIC resource. NicGrp must beenabled to run as a parallel group on both systems.Grp1 contains the NotifierMngr resource (ntfr) and a Proxy resource (nicproxy),configured <strong>for</strong> the NIC resource in the first group. In this example, NotifierMngr has adependency on the Proxy resource.Note Only one instance of the notifier process can run in a cluster. The process cannot runin a parallel group.The NotifierMngr resource sets up notification <strong>for</strong> all events to the SnmpConsole(snmpserv). In this example, only messages of SevereError level are sent to theSmpt<strong>Server</strong> (smtp.your_company.com), and the recipient,(vcsadmin@your_company.com):Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>63


NotifierMngr <strong>Agents</strong>ystem northsystem southgroup NicGrp (SystemList = { north, south }AutoStartList = { north }Parallel = 1)Phantom my_phantom ()NIC NicGrp_en0 (Enabled = 1Device = en0NetworkType = ether)group Grp1 (SystemList = { north, south }AutoStartList = { north })Proxy nicproxy(TargetResName = "NicGrp_en0")NotifierMngr ntfr (PathName = "/opt/VRTSvcs/bin/notifier"SnmpConsoles = { snmpserv = In<strong>for</strong>mation }Smtp<strong>Server</strong> = "smtp.your_company.com"SmtpRecipients = { "vcsadmin@your_company.com" = SevereError })ntfr requires nicproxy// resource dependency tree//// group Grp1// {// NotifierMngr ntfr// {// Proxy nicproxy// }// }64 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Phantom AgentPhantom AgentDescriptionEnables VCS to determine the status of parallel service groups that do not include OnOffresources (resources that VCS can start and stop as required). Without the "dummy"resource provided by this agent, VCS cannot assess the status of groups that only containNone (Persistent) and OnOnly resources because the state of these resources is notconsidered in the process of determining whether a group is online. Refer to the <strong>VERITAS</strong><strong>Cluster</strong> <strong>Server</strong> User’s <strong>Guide</strong> <strong>for</strong> in<strong>for</strong>mation on categories of service groups and resources.Entry Points◆Monitor—Determines status based on the status of the group.Type Definitiontype Phantom (static str ArgList[] = { Dummy }str Dummy)Note The Dummy attribute is <strong>for</strong> VCS use only and is not configurable.Sample ConfigurationsSample 1Phantom ()Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>65


Phantom AgentSample 2The following example shows a complete configuration file (main.cf), where theFileNone resource and the Phantom resource are in the same group.include "types.cf"cluster Phantom<strong>Cluster</strong>system sysasystem sysbgroup phantomgroup (SystemList = { sysa, sysb }AutoStartList = { sysa }Parallel = 1)FileNone my_file_none (PathName = "/tmp/file_none")Phantom my_phantom ()// resource dependency tree//// group maingroup// {// Phantom my_Phantom// FileNone my_file_none// }66 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Process AgentProcess AgentDescriptionStarts, stops, and monitors a process specified by the user.Entry Points◆◆◆◆Online—Starts the process with optional arguments.Offline—Terminates the process with a SIGTERM. If the process does not exit, VCSsends a SIGKILL.Monitor—Checks to see if the process is alive by scanning the process table <strong>for</strong> thename of the executable pathname and argument list.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.State Definitions◆◆◆ONLINE—Indicates the specified process is running properly.OFFLINE—Indicates the specified process is not running properly.UNKNOWN—Indicates the state of the process cannot be determined.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar Defines complete pathname to access an executableprogram. This path includes the program name. If aprocess is controlled by a script, the PathNamedefines the complete path to the shell.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>67


Process AgentOptional AttributeOptional AttributeType andDimensionDefinitionArguments string-scalar Passes arguments to the process. If a process iscontrolled by a script, the script is passed as anargument. Multiple arguments must be separated bya single space. A string cannot accommodate morethan one space between arguments, nor allow <strong>for</strong>leading or trailing whitespace characters. Argumentsmust not exceed 80 characters (total).Type Definitiontype Process (str PathNamestr Argumentsstatic str ArgList[] = { PathName, Arguments })Sample ConfigurationsSample 1Processusr_lib_sendmail (PathName = “/usr/lib/sendmail”Arguments = "bd q1h")Sample 2include "types.cf"cluster Process<strong>Cluster</strong> (...group ProcessGroup (SystemList = { sysa, sysb }AutoStartList = { sysa })68 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Process AgentProcess Process1 (PathName = "/usr/local/bin/myprog"Arguments = "arg1 arg2")Process Process2 (PathName = "/bin/csh"Arguments = "/tmp/funscript/myscript")// resource dependency tree//// group ProcessGroup// {// Process Process1// Process Process2// }Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>69


Proxy AgentProxy AgentDescriptionMirrors the state of another resource on a local or remote system. Provides a means tospecify and modify one resource and have it reflected by its proxies.Entry Points◆◆◆Online—Not applicable.Offline—Not applicable.Monitor—Determines status based on the target resource status.Required AttributeRequired AttributeType andDimensionDefinitionTargetResName string-scalar Name of the target resource whose status is mirroredby Proxy resource. The target resource must be in adifferent resource group from the Proxy resource.Optional AttributeOptional AttributeType andDimensionDefinitionTargetSysName string-scalar Mirrors the status of the TargetResName on systemspecified by the TargetSysName variable. If attributeis not specified, Proxy resource assumes the system islocal.70 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Proxy AgentType Definitiontype proxy (static str ArgList[] = { TargetResName, TargetSysname,"TargetResName:Probed",TargetResName:State }static int OfflineMonitorInterval = 60static str Operations = Nonestr TargetResNamestr TargetSysName)Sample ConfigurationsSample 1// Proxy resource to mirror the state of the resource// tmp_VRTSvcs_file1 on the local system.Proxy proxy1(TargetResName = "tmp_VRTSvcs_file1")Sample 2// Proxy resource to mirror the state of the resource// tmp_VRTSvcs_file1 on sys1.Proxy proxy1(TargetResName = "tmp_VRTSvcs_file1"TargetSysName = "sys1")Sample 3// Proxy agent to mirror the state of the resource mnic on// the local system; note that target resource is in grp1,// proxy in grp2; a target resource and its proxy cannot be in// the same group.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>71


Proxy Agentgroup grp1 (SystemList = { sysa, sysb }AutoStartList = { sysa })MultiNICA mnic (Device@sysa = { en0 = "10.128.8.42", en1 = "10.128.8.42" }Device@sysb = { en0 = "10.128.8.43", en1 = "10.128.8.43" }NetMask = "255.255.255.0"Name<strong>Server</strong>Addr = "10.130.8.1"Gateway = "10.128.1.1"Domain = "veritas.com"BroadcastAddr = "10.128.25.255"Options = "mtu m")IPMultiNIC ip1 (Address = "166.98.14.78"NetMask = "255.255.255.0"MultiNICAResName = mnicOptions = "mtu m")ip1 requires mnicgroup grp2 (SystemList = { sysa, sysb }AutoStartList = { sysa })IPMultiNIC ip2 (Address = "166.98.14.79"NetMask = "255.255.255.0"MultiNICAResName = mnicOptions = "mtu m")Proxy proxy (TargetResName = mnic)ip2 requires proxy72 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


ServiceGroupHB AgentServiceGroupHB AgentDescriptionStarts, stops, and monitors disk-based heartbeats associated with service groups. See the<strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> User’s <strong>Guide</strong> <strong>for</strong> details.The heartbeat region resides on a block device and consists of 128 blocks starting on thespecified block number (see the Disks attribute). The local system, via theServiceGroupHB agent, attempts to obtain “ownership” of the available disks as specifiedby the Disks attribute. The system gains ownership of a disk when it determines that thedisk is available and not owned by another system.When the system’s disk ownership meets the requirement of the AllOrNone attribute, itbrings the resource online and monitors the resource. If disk ownership falls below theAllOrNone requirement, VCS attempts to fail over the group to another node.Entry Points◆◆◆◆Online—Creates logical disk objects based on the Disks attribute at VCS startup.Brings resource online after “ownership” of the required number of disks is obtained.Offline—Takes resource offline after relinquishing ownership of previously acquireddisks. Deletes the logical disk objects.Clean—Takes resource offline and relinquishes ownership of previously acquireddisks.Monitor—Periodically checks if local system has ownership of required number ofdisks.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>73


ServiceGroupHB AgentRequired AttributesRequired AttributesType andDimensionDefinitionDisks string-vector Specifies, in paired values, the disk and the startingblock location to use <strong>for</strong> the heartbeat. Note that ablock device partition is used <strong>for</strong> the diskheartbeating, <strong>for</strong> example: /dev/hdisk3.A block device partition containing one or moreheartbeat regions cannot be used <strong>for</strong> any otherpurpose. If the same partition is used <strong>for</strong> more thanone heartbeat region, starting block numbers must beat least 64K (128 disk blocks) apart.AllOrNone boolean-scalar Specifies number of disks <strong>for</strong> which “ownership” isrequired to bring the resource online:◆ all available disks (AllOrNone = 1)◆ a simple majority of available disks(AllOrNone = 0)Default is 1.Type Definitiontype ServiceGroupHB (static str ArgList[] = { Disks, AllOrNone }static int OnlineRetryLimit = 5str Disks[]boolean AllOrNone = 1)74 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


ServiceGroupHB AgentSample ConfigurationIn this example, the disks hdisk3 and hdisk4 have service group heartbeat regionsbeginning at block 64 <strong>for</strong> service group “groupz.” The disk hdisk3 has a second heartbeatregion beginning at block 192 <strong>for</strong> service group “groupz.” The disk hdisk6 has a heartbeatregion beginning at block 192 <strong>for</strong> service group “group y.” The AllOrNone attribute is setto 1 <strong>for</strong> sghb1, specifying that the service group can come online with ownership of twodisks..system sysa.system sysb...group groupz (..)ServiceGroupHB sghb1 (Disks = { hdisk3, 64, hdisk3, 192, hdisk4, 64 }AllorNone = 1)FileOnOff file1 (PathName = "/tmp/file01")group groupy (..).ServiceGroupHB sghb2 (Disks = { hdisk6, 192 }).FileOnOnly file2 (PathName = "/tmp/file02")Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>75


ServiceGroupHB Agentfile1 requires sghb1file2 requires sghb2// resource dependency tree////// group groupz// {// FileOnOff file1// {// ServiceGroupHB sghb1// }// }// group groupy// {// FileOnOnly file2// {// ServiceGroupHB sghb1// }// }76 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Share AgentShare AgentBe<strong>for</strong>e you use this agent verify that the files and directories to be shared are on shareddisks.DescriptionEnables clients to share file system directories from a cluster server. The directories to beshared are stored on shared disks. This agent ensures transparent access to file systemdirectories during failover. The agent uses the exportfs command to share and unsharethe file system.Entry Points◆◆◆◆Online—Exports (shares) a directory to the specified client.Offline—Unshares the exported directory from the client.Monitor—Verifies that the shared directory is exported to the client.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.State Definitions◆◆◆ONLINE—Indicates that specified directory is exported to the client.OFFLINE—Indicates that the specified directory is not exported to the client.UNKNOWN—Indicates that the agent could not determine the state of the resource orthat the resource attributes are invalid.Required AttributeRequired AttributeType andDimensionDefinitionPathName string-scalar The path of the directory to export.For example: /usr/tom.Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>77


Share AgentOptional AttributeOptional AttributeType andDimensionDefinitionOptions string-vector The options <strong>for</strong> the exportfs command.Type Definitiontype Share (str PathNamestr Optionsstatic str ArgList[] = { PathName, Options })Sample ConfigurationShare share1 (PathName = "/mnt1"Options = "rw=minnehaha,access=minnehaha,root=minnehaha")The options <strong>for</strong> the Share agent must be specific. In this configuration, root access is onlygiven to the system minnehaha. By default, systems do not have root access to theexported directory /mnt1. Refer to the exportfs manual page <strong>for</strong> more in<strong>for</strong>mation.78 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


Volume AgentVolume AgentDescriptionBrings online, takes offline, and monitors a <strong>VERITAS</strong> Volume Manager (VxVM) volume.Entry Points◆◆◆◆Online—Starts the volume using the vxrecover command.Offline—Stops the volume using the vxvol command.Monitor—Determines if the volume is online or offline by reading a block from theraw device interface to the volume.Clean—See “Entry Points” on page 2 <strong>for</strong> more in<strong>for</strong>mation on the Clean entry point.Required AttributesRequired AttributesType andDimensionDefinitionDiskGroup string-scalar Name of the disk group which contains the volume,<strong>for</strong> example: DG1.Volume string-scalar Name of the volume, <strong>for</strong> example: DG1Vol1.Type Definitiontype Volume (str Volumestr DiskGroupstatic str ArgList[] = { Volume, DiskGroup }static int NumThreads = 1)Sample ConfigurationVolume v0 (Volume = vol0DiskGroup = testdg_1)Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>79


VRTSWebApp AgentVRTSWebApp AgentDescriptionBrings Web applications online, takes them offline, and monitors their status. Theapplication is a Java Web application con<strong>for</strong>ming to the Servlet Specification 2.2 and runsinside of the Java Web server installed as a part of the VRTSweb package. This agent isused to monitor the Web Consoles of various <strong>VERITAS</strong> products, such as VCS, GCM, andVVR.Entry Points◆◆◆◆Online—Starts the Web application with the specified parameters. If the Web server isnot already running, it first starts the server.Offline—Removes the Web application from the Web server. If no other Webapplication is running, it shuts down the Web server.Monitor—Checks if the specified Web application is currently running inside the Webserver. If the application is running, monitor reports ONLINE. If the application is notrunning, monitor reports OFFLINE.Clean—Removes the Web application from the Web server. If no other Webapplication is running, it shuts down the Web server.80 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


VRTSWebApp AgentRequired AttributesRequired AttributesType andDimensionDefinitionAppName string-scalar Name of the application as it appears in the Webserver.For example, <strong>for</strong> GCM, use "gcm"; <strong>for</strong> VCS, use "vcs".Access the applications at:http://hostname:8181/gcm orhttp://localhost:8181/vcs.InstallDir string-scalar Path to the Web application installation. The Webapplication must be installed as a .war file with thesame name as the AppName parameter; the "vcs"application must be installed as vcs.war. Thisattribute should point to the directory that containsthis .war file.For example, if AppName is "vcs" and InstallDir isopt/VRTSweb/<strong>VERITAS</strong>, the agent constructs thepath <strong>for</strong> the Web application as/opt/VRTSweb/<strong>VERITAS</strong>/vcs.war.TimeForOnline integer-scalar The time the Web application takes to start after it isloaded into the Web server. This parameter isreturned as the exit value of the online script, whichin<strong>for</strong>m VCS of the time it needs to wait be<strong>for</strong>e callingmonitor on the Web application resource. Thisattribute is typically at least five seconds.Type Definitiontype VRTSWebApp (static str ArgList[] = { AppName, InstallDir,TimeForOnline }str AppNamestr InstallDirint TimeForOnlinestatic int NumThreads = 1)Chapter 2, VCS <strong>Bundled</strong> <strong>Agents</strong>81


VRTSWebApp AgentSample ConfigurationVRTSWebApp VCSweb (AppName = "vcs"InstallDir = "/opt/VRTSweb/<strong>VERITAS</strong>"TimeForOnline = 5)82 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


IndexAagentsApplication 6bundled 1defining 1DiskGroup 11DNS 14ElifNone 18FileNone 19FileOnOff 20FileOnOnly 21IP 22IPMultiNIC 25IPMultiNICB 28LVMVG 31Mount 38MultiNICA 43MultiNICB 47NFS 55NIC 57NotifierMngr 60Phantom 65Process 67Proxy 70ServiceGroupHB 73Share 77Volume 79VRTSWebApp 80Application agentdescription 6entry points 6error messages 10optional attributes 8required attributes 7sample configurations 9state definitions 7type definition 9BCapplication control agentsApplication 2, 6Process 2, 67applications, managing 6attributes, modifying 1basic storage agentsDiskGroup 2, 11LVMVG 2, 31Mount 2, 38NFS 2, 55Share 2, 77Volume 2, 79BIND 8 15bundled agentscategories 2defining 1canonical name mapping 14<strong>Cluster</strong> Manager (Java Console), modifyingattributes 2<strong>Cluster</strong> Manager (Web Console)modifying attributes 2monitoring 80CNAME record, canonical name 15commandschvg 36crfs 41, 42exportfs 78fsck 39, 41hares -modify 60ifconfig 44importvg 36lsattr 36lvlstmajor 35mkfs 41, 42mkvg 3683


Dstat 38statvfs 38vxdg 11vxrecover 79vxvol 79comparing, MultiNICB and IPMultiNICB 52concurrent capable options 36configuration filesmain.cf 1, 5, 22, 25, 66modifying 2types.cf 1, 5configurationsMultiNICB agent 48DB2 UDB xvdefiningagents 1entry points 2descriptionsApplication agent 6DiskGroup agent 11DNS agent 14ElifNone agent 18FileNone agent 19FileOnOff agent 20FileOnOnly agent 21IP agent 22IPMultiNIC agent 25IPMultiNICB agent 28LVMVG agent 31Mount agent 38MultiNICA agent 43MultiNICB agent 47NFS agent 55NIC agent 57NotifierMngr agent 60Phantom agent 65Process agent 67Proxy agent 70ServiceGroupHB agent 73Share agent 77Volume agent 79VRTSWebApp agent 80directories, sharing 77disk groups, managing 11DiskGroup agentdescription 11entry points 11Eoptional attributes 12required attribute 11setting noautoimport Flag 12state definitions 11type definition 13DNS agentdescription 14entry points 14monitor scenarios 16online query 15required attributes 15sample configuration 17sample scenario 16type definition 16DNS lookups 17ElifNone agentdescription 18entry point 18required attribute 18type definition 18entry pointsApplication agent 6defining 2DiskGroup agent 11DNS agent 14ElifNone agent 18FileNone agent 19FileOnOff agent 20FileOnOnly agent 21IP agent 22IPMultiNIC agent 25IPMultiNICB agent 28LVMVG agent 31Mount agent 38MultiNICA agent 43MultiNICB agent 48NFS agent 55NIC agent 57NotifierMngr agent 60Phantom agent 65Process agent 67Proxy agent 70ServiceGroupHB agent 73share agent 77Volume agent 79VRTSWebApp agent 80error messages, Application agent 1084 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


FGHEtherChannel support 28IP agent 22MultiNICB agent 47NIC agent 57restrictions 47failback, MultiNICB agent 53failover featureMultiNICB agent 47failover IP address 47failover, MultiNICB agent 53file systemsJFS 41, 42listing 41VxFS 41FileNone agentdescription 19entry point 19required attribute 19sample configuration 19type definition 19FileOnOff agentdescription 20entry points 20required attribute 20sample configuration 20type definition 20FileOnOnly agentdescription 21entry points 21required attribute 21sample configuration 21type definition 21functionality, MultiNICB agent 53Global cluster support agentsDNS 3Wide Area Heartbeat 3Global <strong>Cluster</strong> support agents, DNS 14hadevice 37haipswitch utility 28haping utility, MultiNICB agent 47heartbeats, disk region 73ILIP addressesbase 43configuring 22, 25IPMultiNICB 48virtual 22, 25IP agentdescription 22entry points 22optional attribute 23required attributes 23sample configurations 24state definitions 22type definition 23IPMultiNIC agentdescription 25entry points 25optional attribute 26required attributes 26state definitions 25type definition 26IPMultiNIC and MultiNICA, sampleconfiguration 27, 45IPMultiNICB agentadvantages 52description 28entry points 28EtherChannel support 28haipswitch utility 28limitations 52required attributes 29state definitions 29type definition 30IPMultiNICB and MultiNICB, sampleconfiguration 30, 54listing file fystems 41Logical Volume Manager (LVM), managingvolume group 31lookups, DNS 17LVMVG agent 31concurrent capable options 36description 31entry points 31hadevice 37major numbers 35Index 85


Mnotes 34optional attributes 32required attributes 32sample configuration 34state definitions 31SyncODM 35type definition 33main.cf 1, 5, 22, 25, 52, 66major numbers, LVMVG agent 35modifying, attributes 1monitoring scenarios, DNS agent 16Mount agent/etc/filesystem 41<strong>AIX</strong> 5.1c systems 41description 38entry points 38file system, example 42file systems 41info entry point 40optional attributes 39required attributes 39sample configurations 41state definitions 38type definition 40using the fsck command 41mount points, managing 38mountd, managing 55MultiNICA agentdescription 43entry points 43optional attributes 44required attributes 43type definition 45MultiNICA and IPMultiNIC, sampleconfiguration 27, 45MultiNICB agentadvantages 52checklist, usage 51configuration 48description 47entry points 48failover, MultiNICB agent 53functionality 53haping utility 47limitations 52optional attributes 50required attributes 49NOrequirements 51state definitions 48trigger script 53type definitions 51MultiNICB and IPMultiNICBadvantages 52limitations 52sample configuration 54MultiNICB and IPMultiNICB, sampleconfiguration 30NetBackup xvnetworking agentsIP 3, 22IPMultiNIC 3, 25MultiNICA 3, 43NIC 3, 57NFS agentdescription 55entry points 55optional attributes 55sample configuration 56state definitions 55type definition 56nfsd, managing 55NIC agentdescription 57entry points 57optional attributes 58required attribute 58sample configuration 59state definitions 57type definition 59NIC, monitoring 57noautoimport flag, setting 12notifier process, managing 60NotifierMngr agentdescription 60entry points 60optional attributes 61required attributes 61sample configuration 63state definitions 60type definition 63online queries, DNS agent 15optional attributesApplication agent 886 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


PRDiskGroup agent 12IP agent 23IPMultiNIC agent 26LVMVG agent 32Mount agent 39MultiNICA agent 44MultiNICB agent 50NFS agent 55NIC agent 58NotifierMngr agent 61Process agent 68Proxy agent 70Share agent 78Oracle xvPhantom agentdescription 65entry point 65sample configurations 65, 66type definitions 65PidFiles 6, 8PrimaryMasters attribute 15Process agent 67description 67entry points 67optional attribute 68required attribute 67sample configuration 68sample configurations 68state definitions 67type definition 68processes, managing 67Proxy agentdescription 70entry points 70optional attribute 70required attribute 70sample configurations 71type definition 71required attributes 79Application agent 7DiskGroup agent 11DNS agent 15ElifNone agent 18FileNone agent 19FileOnOff agent 20FileOnOnly agent 21SIP agent 23IPMultiNIC agent 26IPMultiNICB agent 29LVMVG agent 32Mount agent 39MultiNICA agent 43MultiNICB agent 49NIC agent 58NotifierMngr agent 61Process agent 67Proxy agent 70ServiceGroupHB agent 74Share agent 77VRTSWebApp agent 81resource types, agent relationship 1resourcesdescription of 1OnOff 65relation to entry points 2sample configurations 13, 18, 82Application agent 9DNS agent 17FileNone agent 19FileOnOff agent 20FileOnOnly agent 21IP agent 24IPMultiNIC and MultiNICA 27LVMVG agent 34Mount agent 41MultiNICB and IPMultiNICB 30, 54NFS agent 56NIC agent 59NotifierMngr agent 63Phantom agent 65Process agent 68Proxy agent 71ServiceGroupHB agent 75Share agent 78Volume agent 79sample scenarios, DNS agent 16ServiceGroupHB agent 73description 73entry points 73required attribute 74sample configuration 75type definition 74Index 87


TShare agentdescription 77entry points 77optional attribute 78required attribute 77sample configuration 78state definitions 77type definition 78SMTP servers, receiving messages 60SNMP consoles, receiving messages 60state definitionsApplication agent 7DiskGroup agent 11IP agent 22IPMultiNIC agent 25IPMultiNICB agent 29LVMVG agent 31Mount agent 38MultiNICB agent 48NFS agent 55NIC agent 57NotifierMngr agent 60Process agent 67Share agent 77SyncODM 35Technical assistance xvtrigger script, MultiNICB agent 53type definitionsApplication agent 9DiskGroup agent 13DNS agent 16ElifNone agent 18FileNone agent 19FileOnOff agent 20FileOnOnly agent 21IP agent 23IPMultiNIC agent 26IPMultiNICB agent 30LVMVG agent 33Mount agent 40MultiNICA agent 45MultiNICB agent 51NFS agent 56NIC agent 59NotifierMngr agent 63Phantom agent 65Process agent 68Proxy agent 71ServiceGroupHB agent 74Share agent 78Volume agent 79VRTSWebApp agent 81types.cf 1, 5VVCS enterprise agents xvVCS infrastructure and support agentsElifNone 3, 18FileNone 3, 19FileOnOff 3, 20FileOnOnly 3, 21NotifierMngr 3, 60Phantom 3, 65Proxy 3, 70ServiceGroupHB 3, 73VRTSWebApp 3, 80virtual interface 57Volume agentdescription 79entry points 79required attributes 79sample configuration 79type definition 79volume group, major numbers 35Volume Manager (VxVM)managing a disk group 11managing a volume 79volumesLVM 42LVM volume group 31VxVM 42, 79VRTSWebApp agentdescription 80entry points 80required attributes 81sample configuration 13, 18, 82type definition 81WWeb Consoles, monitoring 8088 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>


90 <strong>VERITAS</strong> <strong>Cluster</strong> <strong>Server</strong> <strong>Bundled</strong> <strong>Agents</strong> <strong>Reference</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!