Follow

Introduction

Scope of document

This document provides guidelines and instructions for setting up the InfiniBox NAS service.

Related Documentation

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

Obsolete documentation

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

Switch requirements

It is also recommended to 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.

Use two switches that support creating LACP port-group (AKA a LAG) that spread across the switches. This is also known as Port Channel. Typically, stacked switches support such configuration, but some non-stacked switches also support this (e.g. Cisco Nexus Virtual Port Channel).

Steps

  1. Use two switches that support creating LACP LAGs that spread across the switches.
    1. Typically, stacked switches support such configuration.
    2. Some switch chassis also support this (e.g. Cisco Nexus Virtual PortChannel).
  2. Select one port from each node (ETH3 in the above example), and connect it to switch module 1
  3. Select one port from each node (ETH4 in the above example), and connect it to switch module 2
  4. Configure a LAG for each couple of ports, as indicated above.

The following steps highlight the relevant configuration for NAS and Replication. 

  1. Create a network space:
    1. Create a new Port Group with ETH3 and ETH4 ports from every node
    2. Provide IP addresses for the Network Space:
      1. For NAS service, 6 IPs are required
      2. For replication service, more than 6 IP addresses are required (see here)
  2. 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

  1. On the InfiniBox left menu, click Settings
    1. Click the Network Spaces tab
    2. Click Create
    3. The Create Network Space screen opens
  2. Fill in the network space name and MTU
    Select NAS from the Service drop-down list
  3. Either select an Ethernet interface or click Create Interfaces.
    1. You can rename the default Interface name
    2. Select two ports for NAS from the available Ethernet ports (ports that are already taken by other interfaces are greyed-out)
    3. Click Create
    4. You are returned to the Create Network Space screen.
      1. Note: The Ethernet interfaces can be created beforehand, from the Network Interfaces tab.
  4. (Optional)
    Click Create VLAN in order to group interfaces into a Virtual LAN.
  5. Click Next to move to the IP Configuration screen.
  6. On the IP Configuration screen, fill in the networking data:
    • Network
    • Netmask
    • IP addresses - click Add to verify the validity of the IP addresses

  7. Click Finish.
    The network space is created and is visible on the screen

Load balancing

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:

;    zone file fragment
ibox IN   A    192.168.0.4
ibox IN   A    192.168.0.5
ibox IN   A    192.168.0.6
ibox IN   A    192.168.0.7
ibox IN   A    192.168.0.8
ibox IN   A    192.168.0.9

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:

fs01 -rw 192.168.0.4,192.168.0.5,192.168.0.6,192.168.0.7:/fs01

Manual IP balancing could also be used with small amount of NFS clients.

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:


SettingParameter NameDefault Value

Export permissions for newly created exports

mgmt/file.export_ permissions_default
[{"access":"RW","client":"*"," no_root_squash":true}]

Access permissions for newly created filesystem

mgmt/file.root_mode_ default

 755

By default, new file systems are created with root:root ownership and permissions 755:

$ ls -ld /mnt/fs01
drwxr-xr-x 2 root root 0 Sep 12 10:10 /mnt/fs01

The filesystem ownership and/or permissions should usually be modified on the client with root access to the file system as needed:

$ sudo chown john:it /mnt/fs01
$ sudo chmod 2750 /mnt/fs01
$ ls -ld /mnt/fs01
drwxr-s--- 2 john it 0 Sep 12 10:10 /mnt/fs01

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:

http://nfs.sourceforge.net/nfs-howto/ar01s05.html

The recommended Linux mount options are:

vers=3,tcp,hard,intr,rsize=262144,wsize=262144

For example:

#mount –t nfs –o vers=3,tcp,hard,intr,rsize=262144,wsize=262144 ibox:/FS1 /mount-point   

File locking

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 hard,intr

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:

  1. Start Server Manager
  2. Select Local Server option
  3. Click Manage at the right top part on the screen
  4. Select Add Roles and Features - Role-based or Feature-based installation
  5. Select Features - Client for NFS
  6. 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: 

    nfsadmin mapping
    [ComputerName] config adlookup=yes addomain=DomainName

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
> mount -o mtype=hard -o timeout=10 -o nolock \\ibox\exported_path Z:

INFINIDAT strongly recommends using hard NFS mounts, i.e. the mount options mtype=hard

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.


An alternative NFS client is available from OpenText (see http://connectivity.opentext.com/products/nfs-clients.aspx)

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.

Snapshots Management

InfiniBox supports multiple read-only (snaps) and writeable (clones) snapshots at the filesystem level. Periodic snapshot creation is available through the INFINIDAT SnapRotator tool. Contact your InfiniBox sales representative for more details.

A snap or clone must be explicitly exported by InfiniBox and mounted on the client to provide access to a specific point-in-time copy. This operation can be easily scripted using InfiniBox API calls:

Get filesystem ID for filesystem fs01:

curl -s --user admin:xxxx -X GET -H "Content-type: application/json"
http://box-gtouret/api/rest/filesystems?name="fs01"\&fields=id

Create a snapshot “snap003” for a filesystem with fsid=109 and get the snapshot fsid:

curl -s --user admin:xxxx -X POST -H "Content-type: application/json" \
-d '{"name": "snap003", "parent_id": 109}' \
http://box-gtouret/api/rest/filesystems

Export the snapshot “snap003” to all clients using the snapshot fsid:

curl -s --user admin:xxxx -X POST -H "Content-type: application/json" -d '
{"export_path": "/fs01.snap003", "filesystem_id": 115}' http://box-gtouret/api/rest/exports

Mount the snapshot “snap003” on the client:

mkdir -p /mnt/fs01.snap003 && mount ibox:/fs01.snap003 /mnt/fs01.snap003

Replication

InfiniBox currently offers asynchronous replication capabilities for both block and NFS storage. For more information on replication, please refer to: 

NAS Backup

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.












Was this article helpful?
0 out of 0 found this helpful

0 out of 0 found this helpful

Comments