NFS: Provision a Volume for Sharing

Microsoft.Windows.FileServer.NFS.Library.Server.ShareState (UnitMonitor)

This object monitors the provisioning of a volume for sharing and generates an alert if Server for NFS cannot provision a volume for sharing, if the alert is enabled for this monitor.

Knowledge Base article:

Summary

This object monitors the provisioning of a volume for sharing and generates an alert if Server for NFS cannot provision a volume for sharing, if the alert is enabled for this monitor.

A computer running Windows and Server for NFS can act as a file server and share files between Windows-based and UNIX-based computers.

Causes

This monitor can enter a Warning health state if Server for NFS cannot provision the volume for sharing; therefore, shared resources on the volume will not be available to NFS clients. The likely cause is that the computer is short of resources.

Use the Windows Event Viewer to inspect the System event log for messages from event source NfsServer with Event ID 1064. The message will indicate which volume could not be provisioned.

If the health state is unknown, it means that monitoring has not yet begun for this object.

Resolutions

Increase available system resources

To increase available system resources, use the following procedure:

1. Close all programs and stop unnecessary services on the affected server.

2. At an elevated command prompt, type nfsadmin server stop.

3. Type nfsadmin server start.

Verification

To verify Server for NFS is sharing files, use the following procedure:

1. At an elevated command prompt on the affected server, type nfsshare.

2. Verify that the list of shared resources is correct.

This monitor automatically resets to a Healthy state after Server for NFS is restarted.

Additional

Event ID 1064 (http://go.microsoft.com/fwlink/?LinkId=186000)

For more information about configuring Server for NFS, see Services for Network File System (http://go.microsoft.com/fwlink/?LinkId=185983).

Element properties:

TargetMicrosoft.Windows.FileServer.Service.NFS.Base
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.NFS.Library.Server.ShareState" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.Service.NFS.Base" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>System</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1064</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">NfsServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1000</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">NfsServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>