Upgrade from 5.1 to 6.0.5 - problem with NIC resource
Hi, all.
Just upgrade an S10 cluster running 5.1SP1 to 6.0.5.
For the NIC resource, we have a red question mark, and in the logs: NIC:nic:monitor:Cannot use IPv4 network host [IP deleted] for ping since Protocol is set to IPV4. Resource state: UNKNOWN
Probing does not clear it. When we set the resource to blank (=IPV4 by default), it doesn't help.
Here's the main.cf:
/etc/VRTSvcs/conf/config]$ cat main.cf
include "OracleASMTypes.cf"
include "types.cf"
include "Db2udbTypes.cf"
include "OracleTypes.cf"
include "SybaseTypes.cf"
cluster proddb017 (
UserNames = { admin = eLLlLGkHLqLOkTLp,
edisupport = GooMomNrpKpnOipHoxOkpL }
Administrators = { admin }
)
system proddb017-n1 (
)
system proddb017-n2 (
)
group webmethodsdb (
SystemList = { proddb017-n1 = 0, proddb017-n2 = 1 }
AutoStartList = { proddb017-n1, proddb017-n2 }
Operators = { edisupport }
)
Db2udb webm (
Critical = 0
DB2InstOwner = db2inst1
DB2InstHome = "/u01/home/db2inst1"
DatabaseName = webm
)
DiskGroup proddb017dg (
Critical = 0
DiskGroup = proddb017dg
)
IP ediwmdb-ip (
Critical = 0
Device = igb0
Address = "deleted"
NetMask = "deleted"
IfconfigTwice = 1
)
Mount db2_dbpath (
Critical = 0
MountPoint = "/db2_dbpath"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_dbpath"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2_diagnostics (
Critical = 0
MountPoint = "/db2_diagnostics"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_diags"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2_mirror_online_logs (
Critical = 0
MountPoint = "/db2_mirror_online_logs"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_log2"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2_online_logs (
Critical = 0
MountPoint = "/db2_online_logs"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_log1"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2_primary_log_archive (
Critical = 0
MountPoint = "/db2_primary_log_archive"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_archive1"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2_secondary_log_archive (
Critical = 0
MountPoint = "/db2_secondary_log_archive"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_archive2"
FSType = vxfs
FsckOpt = "-y"
)
Mount db2backup (
Critical = 0
MountPoint = "/db2backup"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_db2backup"
FSType = vxfs
FsckOpt = "-y"
)
Mount u01 (
Critical = 0
MountPoint = "/u01"
BlockDevice = "/dev/vx/dsk/proddb017dg/vol_u01"
FSType = vxfs
FsckOpt = "-y"
)
NIC nic (
Critical = 0
Device = igb0
NetworkHosts = { "deleted", "deleted", "deleted" }
Protocol = IPV4
)
db2_dbpath requires proddb017dg
db2_diagnostics requires proddb017dg
db2_mirror_online_logs requires proddb017dg
db2_online_logs requires proddb017dg
db2_primary_log_archive requires proddb017dg
db2_secondary_log_archive requires proddb017dg
db2backup requires proddb017dg
ediwmdb-ip requires nic
u01 requires proddb017dg
webm requires db2_dbpath
webm requires db2_diagnostics
webm requires db2_mirror_online_logs
webm requires db2_online_logs
webm requires db2_primary_log_archive
webm requires db2_secondary_log_archive
webm requires ediwmdb-ip
webm requires u01
// resource dependency tree
//
// group webmethodsdb
// {
// Mount db2backup
// {
// DiskGroup proddb017dg
// }
// Db2udb webm
// {
// Mount db2_dbpath
// {
// DiskGroup proddb017dg
// }
// Mount db2_diagnostics
// {
// DiskGroup proddb017dg
// }
// Mount db2_mirror_online_logs
// {
// DiskGroup proddb017dg
// }
// Mount db2_online_logs
// {
// DiskGroup proddb017dg
// }
// Mount db2_primary_log_archive
// {
// DiskGroup proddb017dg
// }
// Mount db2_secondary_log_archive
// {
// DiskGroup proddb017dg
// }
// IP ediwmdb-ip
// {
// NIC nic
// }
// Mount u01
// {
// DiskGroup proddb017dg
// }
// }
// }
The types.cf file:
/etc/VRTSvcs/conf/config]$ cat types.cf
type Apache (
static boolean IntentionalOffline = 0
static keylist SupportedActions = { "checkconffile.vfd" }
static str ArgList[] = { ResLogLevel, State, IState, httpdDir, SharedObjDir, EnvFile, PidFile, HostName, Port, User, SecondLevelMonitor, SecondLevelTimeout, ConfigFile, EnableSSL, DirectiveAfter, DirectiveBefore }
static int ContainerOpts{} = { RunInContainer=1, PassCInfo=0 }
str ResLogLevel = INFO
str httpdDir
str SharedObjDir
str EnvFile
str PidFile
str HostName
int Port = 80
str User
boolean SecondLevelMonitor = 0
int SecondLevelTimeout = 30
str ConfigFile
boolean EnableSSL = 0
str DirectiveAfter{}
str DirectiveBefore{}
)
type Application (
static keylist SupportedActions = { "program.vfd", "user.vfd", "cksum.vfd", getcksum }
static str ArgList[] = { User, StartProgram, StopProgram, CleanProgram, MonitorProgram, PidFiles, MonitorProcesses }
static int ContainerOpts{} = { RunInContainer=1, PassCInfo=0 }
str User
str StartProgram
str StopProgram
str CleanProgram
str MonitorProgram
str PidFiles[]
str MonitorProcesses[]
)
type CoordPoint (
static int InfoInterval = 300
static int OfflineMonitorInterval = 60
static str ArgList[] = { FaultTolerance }
static str Operations = None
int FaultTolerance
)
type DNS (
static keylist SupportedActions = { "dig.vfd", "master.vfd", "keyfile.vfd" }
static str ArgList[] = { Domain, TTL, TSIGKeyFile, StealthMasters, ResRecord, CreatePTR, OffDelRR }
str Domain
int TTL = 86400
str TSIGKeyFile
str StealthMasters[]
str ResRecord{}
boolean CreatePTR = 0
boolean OffDelRR = 0
)
type DiskGroup (
static keylist SupportedActions = { "license.vfd", "disk.vfd", "udid.vfd", "verifyplex.vfd", checkudid, campusplex, numdisks, joindg, splitdg, getvxvminfo, volinuse }
static int NumThreads = 1
static int OnlineRetryLimit = 1
static str ArgList[] = { DiskGroup, StartVolumes, StopVolumes, MonitorOnly, MonitorReservation, tempUseFence, PanicSystemOnDGLoss, DiskGroupType, UmountVolumes }
str DiskGroup
boolean StartVolumes = 1
boolean StopVolumes = 1
boolean MonitorReservation = 0
temp str tempUseFence = INVALID
boolean PanicSystemOnDGLoss = 0
str DiskGroupType = private
int UmountVolumes
)
type DiskGroupSnap (
static int ActionTimeout = 120
static int MonitorInterval = 300
static int NumThreads = 1
static str ArgList[] = { TargetResName, FDSiteName }
str TargetResName
str FDSiteName
)
type ElifNone (
static int OfflineMonitorInterval = 60
static str ArgList[] = { PathName }
static str Operations = None
str PathName
)
type FileNone (
static int OfflineMonitorInterval = 60
static str ArgList[] = { PathName }
static str Operations = None
str PathName
)
type FileOnOff (
static str ArgList[] = { PathName }
str PathName
)
type FileOnOnly (
static str ArgList[] = { PathName }
static str Operations = OnOnly
str PathName
)
type IP (
static keylist SupportedActions = { "device.vfd", "route.vfd" }
static str ArgList[] = { Device, Address, NetMask, Options, ArpDelay, IfconfigTwice, RouteOptions, PrefixLen }
static int ContainerOpts{} = { RunInContainer=0, PassCInfo=1 }
str Device
str Address
str NetMask
str Options
int ArpDelay = 1
int IfconfigTwice
str RouteOptions
int PrefixLen
)
type IPMultiNIC (
static int MonitorTimeout = 120
static str ArgList[] = { "MultiNICResName:Device", Address, NetMask, "MultiNICResName:ArpDelay", Options, "MultiNICResName:Probed", MultiNICResName, IfconfigTwice, PrefixLen }
static int ContainerOpts{} = { RunInContainer=0, PassCInfo=1 }
str Address
str NetMask
str Options
str MultiNICResName
int IfconfigTwice
int PrefixLen
)
type IPMultiNICB (
static int MonitorInterval = 30
static int OnlineRetryLimit = 1
static int ToleranceLimit = 1
static str ArgList[] = { BaseResName, Address, NetMask, DeviceChoice, RouteOptions, PrefixLen, IgnoreMultiNICBFailure, "BaseResName:Protocol" }
static int ContainerOpts{} = { RunInContainer=0, PassCInfo=1 }
str BaseResName
str Address
str NetMask
str DeviceChoice = 0
str RouteOptions
int PrefixLen
int IgnoreMultiNICBFailure
)
type Mount (
static keylist SupportedActions = { "mountpoint.vfd", "mounted.vfd", "vxfslic.vfd", chgmntlock, "mountentry.vfd" }
static str ArgList[] = { MountPoint, BlockDevice, FSType, MountOpt, FsckOpt, SnapUmount, CkptUmount, SecondLevelMonitor, SecondLevelTimeout, OptCheck, CreateMntPt, MntPtPermission, MntPtOwner, MntPtGroup, AccessPermissionChk, RecursiveMnt, VxFSMountLock }
str MountPoint
str BlockDevice
str FSType
str MountOpt
str FsckOpt
int SnapUmount
int CkptUmount = 1
boolean SecondLevelMonitor = 0
int SecondLevelTimeout = 30
int OptCheck
int CreateMntPt
int ReuseMntPt
str MntPtPermission
str MntPtOwner
str MntPtGroup
int AccessPermissionChk
boolean RecursiveMnt = 0
int VxFSMountLock = 1
)
type MultiNICA (
static int MonitorTimeout = 300
static int OfflineMonitorInterval = 60
static str ArgList[] = { Device, NetMask, ArpDelay, RetestInterval, Options, RouteOptions, PingOptimize, MonitorOnly, IfconfigTwice, HandshakeInterval, NetworkHosts, Protocol }
static str Operations = None
str Device{}
str NetMask
int ArpDelay = 1
int RetestInterval = 5
str Options
str RouteOptions
int PingOptimize = 1
int IfconfigTwice
int HandshakeInterval = 20
str NetworkHosts[]
str Protocol
)
type MultiNICB (
static int MonitorInterval = 10
static int OfflineMonitorInterval = 60
static str ArgList[] = { UseMpathd, MpathdCommand, ConfigCheck, MpathdRestart, Device, NetworkHosts, LinkTestRatio, IgnoreLinkStatus, NetworkTimeout, OnlineTestRepeatCount, OfflineTestRepeatCount, NoBroadcast, DefaultRouter, Failback, GroupName, Protocol }
static str Operations = None
int UseMpathd
str MpathdCommand = "/usr/lib/inet/in.mpathd"
int ConfigCheck = 1
int MpathdRestart = 1
str Device{}
str NetworkHosts[]
int LinkTestRatio = 1
int IgnoreLinkStatus = 1
int NetworkTimeout = 100
int OnlineTestRepeatCount = 3
int OfflineTestRepeatCount = 3
int NoBroadcast
str DefaultRouter = "0.0.0.0"
int Failback
str GroupName
str Protocol
)
type NFS (
static int RestartLimit = 1
static str ArgList[] = { UseSMF, Nservers, LockFileTimeout }
static str Operations = OnOnly
int Nservers = 16
int LockFileTimeout = 180
boolean UseSMF = 0
)
type NFSRestart (
static keylist SupportedActions = { "lockdir.vfd", "nfsconf.vfd" }
static str ArgList[] = { LocksPathName, NFSLockFailover, LockServers, NFSRes, "NFSRes:LockFileTimeout", "NFSRes:UseSMF" }
str NFSRes
str LocksPathName
boolean NFSLockFailover = 0
int LockServers = 20
)
type NIC (
static keylist SupportedActions = { "device.vfd" }
static int OfflineMonitorInterval = 60
static str ArgList[] = { Device, PingOptimize, NetworkHosts, Protocol, NetworkType }
static str Operations = None
str Device
int PingOptimize = 1
str NetworkHosts[]
str Protocol
str NetworkType
)
type NetBios (
static str ArgList[] = { "SambaServerRes:ConfFile", "SambaServerRes:SambaTopDir", "SambaServerRes:LockDir", NetBiosName, NetBiosAliases, Interfaces, WinsSupport, DomainMaster }
str SambaServerRes
str NetBiosName
str NetBiosAliases[]
str Interfaces[]
int WinsSupport
int DomainMaster
)
type NotifierMngr (
static int RestartLimit = 3
static str ArgList[] = { EngineListeningPort, MessagesQueue, NotifierListeningPort, SnmpdTrapPort, SnmpCommunity, SnmpConsoles, SmtpServer, SmtpServerVrfyOff, SmtpServerTimeout, SmtpReturnPath, SmtpFromPath, SmtpRecipients }
int EngineListeningPort = 14141
int MessagesQueue = 30
int NotifierListeningPort = 14144
int SnmpdTrapPort = 162
str SnmpCommunity = public
str SnmpConsoles{}
str SmtpServer
boolean SmtpServerVrfyOff = 0
int SmtpServerTimeout = 10
str SmtpReturnPath
str SmtpFromPath
str SmtpRecipients{}
)
type Phantom (
)
type Process (
static keylist SupportedActions = { "program.vfd", getcksum }
static str ArgList[] = { PathName, Arguments }
static int ContainerOpts{} = { RunInContainer=1, PassCInfo=0 }
str PathName
str Arguments
)
type ProcessOnOnly (
static str ArgList[] = { IgnoreArgs, PathName, Arguments }
static int ContainerOpts{} = { RunInContainer=1, PassCInfo=0 }
static str Operations = OnOnly
boolean IgnoreArgs = 0
str PathName
str Arguments
)
type Proxy (
static int OfflineMonitorInterval = 60
static str ArgList[] = { TargetResName, TargetSysName, "TargetResName:Probed", "TargetResName:State" }
static str Operations = None
str TargetResName
str TargetSysName
)
type RVG (
static int NumThreads = 1
static str ArgList[] = { RVG, DiskGroup }
str RVG
str DiskGroup
str StorageRVG
str StorageDG
str StorageHostIds
)
type RVGLogowner (
static int NumThreads = 1
static int OnlineRetryLimit = 5
static str ArgList[] = { RVG, DiskGroup }
str RVG
str DiskGroup
str StorageRVG
str StorageDG
str StorageHostIds
)
type RVGPrimary (
static keylist SupportedActions = { fbsync }
static int NumThreads = 1
static int OnlineRetryLimit = 1
static str ArgList[] = { RvgResourceName, AutoTakeover, AutoResync }
str RvgResourceName
int AutoTakeover = 1
int AutoResync
)
type RVGShared (
static int NumThreads = 1
static str ArgList[] = { RVG, DiskGroup }
str RVG
str DiskGroup
)
type RVGSharedPri (
static keylist SupportedActions = { fbsync, resync }
static int NumThreads = 1
static int OnlineRetryLimit = 1
static str ArgList[] = { RvgResourceName, "RvgResourceName:RVG", "RvgResourceName:DiskGroup", AutoTakeover, AutoResync }
str RvgResourceName
int AutoTakeover = 1
int AutoResync
temp str VCSResLock
)
type RVGSnapshot (
static keylist RegList = { Prefix }
static int NumThreads = 1
static str ArgList[] = { RvgResourceName, CacheObj, Prefix, DestroyOnOffline }
str RvgResourceName
str CacheObj
str Prefix
boolean DestroyOnOffline = 1
temp str FDFile
)
type RemoteGroup (
static int OnlineRetryLimit = 2
static int ToleranceLimit = 1
static str ArgList[] = { IpAddress, Port, Username, Password, GroupName, VCSSysName, ControlMode, OfflineWaitTime, DomainType, BrokerIp }
str IpAddress
int Port = 14141
str Username
str Password
str GroupName
str VCSSysName
str ControlMode
int OfflineWaitTime
str DomainType
str BrokerIp
)
type SANVolume (
static int OnlineRetryLimit = 4
static str ArgList[] = { SANVolume, SANDiskGroup, VolumeServer, Domain, ExclusiveUse, Preempt, AccessPolicy }
str Domain
str SANDiskGroup
str SANVolume
str VolumeServer
boolean ExclusiveUse = 1
boolean Preempt = 1
str AccessPolicy = RDONLY
)
type SambaServer (
static str ArgList[] = { ConfFile, SambaTopDir, LockDir, Ports, IndepthMonitorCyclePeriod, ResponseTimeout }
str ConfFile
str SambaTopDir
str LockDir
int Ports[] = { 139, 445 }
int IndepthMonitorCyclePeriod = 5
int ResponseTimeout = 10
)
type SambaShare (
static str ArgList[] = { "SambaServerRes:ConfFile", "SambaServerRes:SambaTopDir", "SambaServerRes:LockDir", ShareName, ShareOptions, "SambaServerRes:Ports" }
str SambaServerRes
str ShareName
str ShareOptions
)
type Share (
static keylist SupportedActions = { "direxists.vfd" }
static str ArgList[] = { PathName, Options, "NFSRes:State" }
str NFSRes
str PathName
str Options
)
type VRTSWebApp (
static int NumThreads = 1
static str ArgList[] = { AppName, InstallDir, TimeForOnline }
str AppName
str InstallDir
int TimeForOnline
)
type Volume (
static int NumThreads = 1
static str ArgList[] = { Volume, DiskGroup }
str Volume
str DiskGroup
)
type Zone (
static str ArgList[] = { Pool, BootState, ShutdownGracePeriod }
static int ContainerOpts{} = { RunInContainer=0, PassCInfo=1 }
str Pool
str BootState
int ShutdownGracePeriod
)
type Zpool (
static str ArgList[] = { PoolName, AltRootPath, ChkZFSMounts, ZoneResName, "ZoneResName:State" }
str PoolName
str AltRootPath
boolean ChkZFSMounts = 1
str ZoneResName
)
Any help would be greatly appreciated.
-Jay
We got it figured out.
It seems for some reason the types.cf file didn't get updated and was using an old or corrupted copy. I copied the /etc/VRTSvcs/conf/types.cf to /etc/VRTSvcs/conf/config/ and everything was cool.
I learned from the Veritas support engineers that most anytime that some of the simple resources such as MOUNT, IP, NIC, etc, have the "Unknown" status, it usually points to an issue with the types.cf file.
-Jay