How can I configure Isilon's DNS and NFS with Bright?

Where am I?

How can I configure Isilon's DNS and NFS with Bright?

DNS setup for use with Isilon SmartConnect

Isilon OneFS: How to create a UNIX-based BIND DNS setup for use with SmartConnect, https://support.emc.com/kb/8975842 The DNS running on the Bright head node can be configured in two ways to work with the DNS of the Isilon SmartConnect:

If the DNS on Bright head node has nothing to do with the Isilon storage domain.

A forward zone which points to the Isilon DNS should then be defined in /etc/named.conf.include so that it doesn’t get overwritten by CMDaemon:zone “isilon.bcm.local” IN { type forward; forwarders {10.240.0.254;};};

If the DNS on the Bright head node manages the parent domain of the Isilon storage domain.

The DNS on the head node should then be configured to delegate queries for isilon.bcm.local by adding the the following entries in the include file of the relevant zone:# cat /var/named/bcm.local.zone39.include[...]sc-isilon.bcm.local. IN A 10.240.0.254isilon.bcm.local. IN NS sc-isilon.bcm.local.[...]

Best Practices for Isilon NFS client settings

Use NFS over TCP, not UDP

If using UDP, then if the network speed of the client and server are not identical, dropped packets may cause performance degradation when the faster system sends data to the slower system. For better performance and resilience, use the Transmission Control Protocol (TCP) instead.

Use NFS version 3 or 4

NFS version 2 should not be used for mounting because it uses UDP and does not support files larger than 2 GB. NFS version 3 is the standard for NFS and is the most stable and mature version of the NFS protocol. NFS version 4 is still considered new, but is becoming more popular, and is also relatively stable. Version 4 however does not support failover because it is stateful.

Use async mounts from the client

Using sync as a client mount option causes all write operations to be synchronous, which usually results in very poor write performance. Sync mounts should only be used in exceptional circumstances where a client program does not specify synchronous writes itself, but relies on that behavior.

Configure read and write RPC sizes to be as large as possible

In general, you should configure the read and write remote procedure call (RPC) sizes (rsize, wsize) to be as large as possible. On OneFS 5.0 and later, the server-side limits are:

rsize: 128 KB

wsize: 512 KB

The client implementation might limit you or default to lower values. For more information about the client implementation, consult your client documentation.

Use "hard" mounts

On most clients, it is recommended to use the hard and intr mount options so that input/output (I/O) errors are retried indefinitely, but can still be interrupted by signals. The hard option retries I/O errors indefinitely; the intr option allows signals to interrupt. In the event that an NFS client cannot access the mounted resource, a hard-mounted client continues to request access to the resource until the request is satisfied.

Use the lock mount option to ensure that clients can obtain exclusive access to the files when needed.

The OneFS implementation uses advisory locks, as opposed to mandatory locks, so all clients must be configured to use locking to ensure consistent locking behavior.

Recommended client settings

Modern Linux distributions support NFS read/write block sizes up to 1 MB, and will automatically negotiate the optimal block size with the NFS server. The negotiated values are ideal for properly configured high-performance, low-latency networks. To limit the negotiated read/write record size for all clients, the following sysctls can be set on the cluster:

Like in most operating systems, the default maximum network buffer sizes are too small. The network buffer size parameters must be set on the client before mounting NFS exports.

If this is a non-public server, you can turn off TCP timestamps (to reduce CPU processing) by setting this sysctl:

net.ipv4.tcp_timestamps=0

Make sure window scaling is enabled by setting this sysctl:

net.ipv4.tcp_window_scaling=1

Set the number of task request slots for RPC calls to 16 by setting this sysctl:

sunrpc.tcp_slot_table_entries=16

To make these changes permanent, follow the instructions for editing the /etc/sysctl.conf file in Configuring sysctls and making sysctl changes persist through node and cluster reboots and upgrades, http://bit.ly/kb-8923242.

Bright provides a metric collection script for Isilon. The script connects to SmartConnect and collects the the metrics. It is recommended to add SmartConnect as a generic device in CMDaemon and associate the metrics with it using the procedure below.