- Creating a NAS Service
- NAS performance and network interfaces
- NAS best practices
- NFS Server Configuration Options
- NFS Export Configuration Options
- INFINIDAT NAS System Defaults
- Linux NFS Client Configuration Options
- VMware NFS Client configuration
- Windows NFS Client Configuration Guide
- Enabling SMB Access to InfiniBox NFS
- Snapshots Management
- NAS Backup
Scope of document
This document provides guidelines and instructions for setting up the InfiniBox NAS service.
This document is part of a series that includes:
- InfiniBox best practices for setting up the Ethernet network
- This document describes how to set up the physical network prior to setting up the services
- InfiniBox best practices for setting up the iSCSI service
- InfiniBox best practices for setting up the NAS service
- (This document)
- InfiniBox best practices for setting up the Replication service
Deployment consideration for setting up services
- InfiniBox 4.0 user documentation, and former InfiniBox releases, include an article named Deployment considerations for setting up services. This article is now obsolete. The instructions provided in this article were merged into this document.
Creating a NAS Service
Use two switches that support creating LACP port-groups (aka a LAG) that spread across the switches. This is also known as Port Channel. Typically, stacked switches support such a configuration, as well as some non-stacked switches (e.g. Cisco Nexus Virtual Port Channel).
It is recommended to:
- Set the relevant port-group (or port channel) LACP setting for "fast" rate, to match the InfiniBox port groups configuration which use 802.3ad (aka LACP) for availability and load-balancing of the physical ports.
- Set the ports connected to InfiniBox to account for changes using a spanning-tree algorithm.
For many network vendor implementations, this will be called “portfast”, “edge” or “edge-port” in the switch configuration semantics.
- Enable RX/TX flow-control for the entire network path between the InfiniBox system and all NAS clients.
- Set the link up/down delay to less than 15 seconds.
Some switches have a delay for link up/down, which might be default to 60 seconds or more. Cisco calls this "debounce", Juniper calls it hold-time, HP calls it link change suppression.
- Use two switches that support creating LACP LAGs that spread across the switches.
- Typically, stacked switches support such configuration.
- Some switch chassis also support this (e.g. Cisco Nexus Virtual PortChannel).
- Select one port from each node (ETH3 in the above example), and connect it to switch module 1
- Select one port from each node (ETH4 in the above example), and connect it to switch module 2
- Configure a LAG for each couple of ports, as indicated above.
The following steps highlight the relevant configuration for NAS and Replication.
- Create a network space:
- Create a new Port Group with ETH3 and ETH4 ports from every node
- Provide IP addresses for the Network Space:
- For NAS service, 6 IPs are required
- For replication service, more than 6 IP addresses are required (see here)
- If you need to run both NAS and replication on the same Port Group, just create another Network Space using the same Port Group.
Creating a NAS service
Creating a NAS Network Space
- On the InfiniBox left menu, click Settings
- Click the Network Spaces tab
- Click Create
- The Create Network Space screen opens
- Fill in the network space name and MTU
Select NAS from the Service drop-down list
- Either select an Ethernet interface or click Create Interfaces.
- You can rename the default Interface name
- Select two ports for NAS from the available Ethernet ports (ports that are already taken by other interfaces are greyed-out)
- Click Create
- You are returned to the Create Network Space screen.
- Note: The Ethernet interfaces can be created beforehand, from the Network Interfaces tab.
Click Create VLAN in order to group interfaces into a Virtual LAN.
- Click Next to move to the IP Configuration screen.
- On the IP Configuration screen, fill in the networking data:
- IP addresses - click Add to verify the validity of the IP addresses
- Click Finish.
The network space is created and is visible on the screen
DNS Round Robin is the best and simplest way to enable a balanced distribution of mounts between 6 IPs
within the network space. Simply define multiple A records with the same name and different IPs in your
DNS zone file:
With this setup, the name ibox has been assigned as the hostname. Each sequential name lookup will
result in the next IP being used, so client connections should be distributed across the available ports and IPs.
Automounter can be used to balance mounts between multiple IPs:
Manual IP balancing could also be used with small amount of NFS clients.
NAS performance and network interfaces
Each NFS client typically connects to the InfiniBox NFS export using a single IP address (as resolved using DNS load balancing). Thus, communication flows between a single IP address on the client and a single IP address on one of the InfiniBox nodes. Because of the underlying LACP interface behavior, a single NFS connection will be limited to the bandwidth of a single physical Ethernet port, even when following the recommendation to place two physical Ethernet ports in the interface.
A single NFS client would typically not be able to exceed the bandwidth of a single Ethernet port.
In many NAS environments there are several NFS clients, potentially thousands. In such scenarios the NFS clients can utilize the full aggregate bandwidth of the NAS network space.
NAS best practices
NFS Server Configuration Options
NFS performance highly depends on the actual application workload. As a rule of thumb, large file IO operations benefit from decreasing the fragmentation of packets.
To decrease packet fragmentation, set your Ethernet network to use jumbo frames. For InfiniBox NAS, set the MTU to 9000, which can be done as part of the Network Space creation:
It is important to preserve consistent settings on the client, network and file server to get the best performance.
NFS Export Configuration Options
For InfiniBox releases lower than 4.0.40, configure the preferred read and write sizes that InfiniBox NAS negotiates with the NFS client to 256KiB (the default is 64KiB):
For InfiniBox 4.0.40 and above, the preferred read and write sizes are 256KiB by default.
INFINIDAT NAS System Defaults
There are several system-level defaults which can be modified by INFINIDAT support:
|Setting||Parameter Name||Default Value|
Export permissions for newly created exports
Access permissions for newly created filesystem
By default, new file systems are created with root:root ownership and permissions 755:
The filesystem ownership and/or permissions should usually be modified on the client with root access to the file system as needed:
Linux NFS Client Configuration Options
Numerous articles are available online with recommendations for NFS client performance tuning. For Linux clients, we can recommend as an example:
The recommended Linux mount options are:
InfiniBox release 5.0 support NLM (Network Lock Manager), prior releases do not support NLM.
If your applications use NLM but run on a single Linux client with InfiniBox 4.0.x or previous release, you may use the "nolock" mount option to allow the Linux server to manage locks locally.
INFINIDAT strongly recommends using hard NFS mounts with interrupts disabled, i.e. the mount options
A soft NFS mount means that NFS timeouts and errors will be propagated to applications, causing file access disruptions. This can cause application errors during unplanned situations (such as network failures) or planned operations (such as InfiniBox software upgrade).
VMware NFS Client configuration
VMware offers less flexibility for NFS mount configuration. In particular, read/write block size cannot be tuned, and are fixed at 64KB.
VMware is also not using NLM for file locking.
Follow the VMware standard recommendations for NFS datastores configuration:
Windows NFS Client Configuration Guide
There are several NFS client implementations for Microsoft Windows operating systems. In this document we describe how to configure the native Microsoft NFS client to access Infinibox NFS NAS.
The Microsoft NFS client is available for multiple Windows versions. An installation procedure may differ slightly between these versions - we highly recommend to check Microsoft documentation for your specific version to ensure a proper setup.
The following procedure applies for Microsoft NFS client installation on Windows Server 2012 R2:
- Start Server Manager
- Select Local Server option
- Click Manage at the right top part on the screen
- Select Add Roles and Features - Role-based or Feature-based installation
- Select Features - Client for NFS
- Click Install.
It is important to define mapping of Unix User IDs/Group IDs to Windows users and groups. Assuming Active Directory is deployed in your organization it can also be used for such mapping.
To configure the Microsoft NFS client to rely on Active Directory for UID to User name mapping, run at command prompt:
To configure UIDs and GIDs for a Windows user account in Active Directory:
- Launch Active Directory Users and Computers on your AD controller
- Make sure the Advanced Features option in the View menu is enabled:
- In the Users section, right click on the user’s name and switch to the Attribute Editor tab. Modify uidNumber, uid, gidNumber, gid as needed:
To mount an NFS filesystem on your Windows machine run in the command prompt with the following arguments:
mtype=hard- the mount type is hard, as customary to all Linux client implementations
timeout=10- timeout for NFS operations set a 10 seconds
nolock- do not use NLM to lock files
INFINIDAT strongly recommends using hard NFS mounts, i.e. the mount options
A soft NFS mount means that whenever NFS timeouts, errors will be propagated to applications, causing file access disruptions. This can cause application errors during unplanned situations (such as network failures) or planned operations (such as InfiniBox software upgrade).
Since the default
mtype for Windows NFS client is soft, make sure you specify
mtype=hard whenever mounting an NFS export in Windows.
Enabling SMB Access to InfiniBox NFS
InfiniBox supports the NFS protocol only. It is possible to access InfiniBox NFS via the Microsoft NFS client - see the previous section for more details.
Another option is to implement an SMB-NFS gateway to provide a concurrent access via NFS and SMB to the same data.
There are two options available for such a setup:
- Using the open-source Samba gateway (https://www.samba.org/).
In this case a Linux server must be configured with theSamba software. It may join an existing Active Directory domain or use a different authentication model. The Linux server mounts InfiniBox NFS exports and shares them via the SMB protocol
- Using OpenText NFS gateway (http://connectivity.opentext.com/products/nfs-gateway.aspx).
This is commercial software which can run on Windows servers or clusters. This is the recommended option whenever high performance SMB access is required. Please contact your INFINIDAT sales representative for more details about available OpenText Gateway packaging options.
The snapshot pseudo-directory enables NFS clients to access to the contents of filesystem snapshots. The snapshot directory allows end-users to recover deleted or modified files autonomously without the intervention of the administrator. Using snapshot directory, the end-user can run a backup from a static view of the filesystem, without mounting the snapshot.
This feature supports customers migrating from existing NAS solutions by allowing the admin to determine the way the snapshot directory is named.
Visibility and contents of the snapshot directory
- The snapshot directory appears and is accessible as a regular folder.
- Its name is configurable upon creating the filesystem. The default name is .snapshot
- After an upgrade, if there was a folder named .snapshot,, the existing folder will not be accessible.
- Only RO snapshots that have never been writable can be visible and accessible on the snapshot directory
- Visibility of the snapshot directory:
- The visibility of snapshot directory is configurable per export
- Snapshot directory that is not visible can still be accessible - by providing the specific path
- Snapshots of snapshots are not accessible from the snapshot directory. They can be accessible if mounted to the first-level snapshots
- The snapshot directory is accessible from any folder
- Replication snapshot are not visible on the snapshot directory
For more information, see Overview of snapshot directory.
InfiniBox currently offers asynchronous replication capabilities for both block and NFS storage. For more information on replication, please refer to:
We recommend utilizing the highly efficient InfiniBox snapshot capability for backup. We offer convenient integration with several key backup vendor environments for snapshot management. Check with your InfiniBox sales representative for more details.
For backup to external media we recommend mounting relevant filesystems directly on the backup media server and performing backup via NFS mount.