(tco 6) what is a mount point locally that connects to the remote nfs service?

Achieve high bandwidth performance with NFS enhancements from VAST Information

What was old is new again! The Network File System protocol is the grizzled remote data access veteran harking back to 1984 and has been a tried and tested way to access data from another server, while preserving the hierarchical file and directory semantics native to Unix and Linux. Being a Layer 7 protocol in the OSI stack, modern implementations of NFS use TCP (and RDMA) as the underlying transport beyond the network.

In this article, we'll examine some of the innovative work VAST Information has delivered to our customers for NFS3. VAST also supports access over SMB and S3, too every bit through a Kubernetes CSI – merely these will not be discussed here. In add-on, nosotros recently introduced NFS4 support at VAST. A more than detailed discussion of our implementation of  NFS4 features can exist found in this blog mail.

NFS3 is well defined in the standards community in RFC 1813 and while its availability is almost universal across operating systems and networks, information technology has never enjoyed a solid reputation for high bandwidth performance.

Enter VAST Information

Nosotros figured throwing out the infant with the bathroom water made no sense. Why non leverage the simplicity, solid install base, and standards-based implementation of NFS and improve the performance and availability to get the best of both worlds.The complexities of parallel file systems just aren't worth the hassle when NFS tin can be equally performant.This article examines the different methods of accessing data from a VAST Cluster using NFS3 that aid yous deliver high bandwidth performance, which are game-irresolute especially in your GPU accelerated environments.

VAST Data supports four different modes of NFS, and the aforementioned customer can use whatever combination of these at the same time for different mount points. They differ in the underlying ship protocol (TCP vs RDMA) and the introduction of new features in the upstream Linux kernel for NFS around multiple TCP connections between the client and storage system.

NFS/TCP

This is the existing standards based implementation present in all Linux kernels. This sets up one TCP connexion between the client port and one storage port, and uses TCP as the ship for both metadata and data operations.

# This is an instance mount commands (ane local ports to 1remote ports):
sudo mountain -o proto=tcp,vers=iii 172.25.one.1:/ /mnt/tcp
# This is standards based syntax for NFS/TCP - the proto=tcp is default.

While the easiest to apply and requiring no installation on not-standard components, this is also the least performant option. Typically nosotros see nearly ii-2.5 GB/southward per mount signal for this with large block IOs and about 40-60K 4K IOPS. Performance in this case is limited for two reasons: all traffic is sent to a single storage port on a single VAST C-node, and a single TCP socket is used which hits up confronting TCP limitations.

NFS/RDMA

This as well has been a capability in most modern Linux kernels for many years. Hither the connection topology is yet the same – unmarried connection between one client port and one storage port – however the data transfer occurs using RDMA thus increasing the throughput. The use of RDMA bypasses the TCP socket limitations. This implementation requires:

  • an RDMA-capable NIC e.g. Mellanox ConnectX series
  • Jumbo frame support in the RDMA network
  • an OFED from Mellanox and
  • an installable parcel (.rpm or .deb) for NFS/

Technically some versions of  Linux include an NFS/RDMA bundle, but we strongly recommend using the VAST version, as information technology fixes several issues with the stock parcel.

From a kernel support perspective, VAST supports several Os variants (CentOS, Ubuntu, SUSE,…), Linux kernels (iii.x, iv.x, 5.x) and MOFEDs (4.4 onwards) and can provide a build for any specific kernel/MOFED combination that is needed. Please refer to the tabular array at the stop of this post for more information.

# This is an case mount for NFS/RDMA command (1 local ports to 1remote ports):
sudo mount -o proto=rdma,port=20049,vers=3 172.25.ane.1:/ /mnt/rdma
# This is standards based syntax for NFS/RDMA. Port 20049 is also standard for NFS/RDMA and is implemented in VAST
With NFS/RDMA, we are able to achieve 8-8.5 GB/s per mount signal with large IOs (one MB), while IOPS remains unchanged relative to the standard NFS over TCP option.

NFS/TCP with nconnect:

This is an upstream kernel feature merely sectional to Linux kernels after v.three. This requires no specialized hardware (no RDMA, NICs,…) and works "out-of-the-box". Here the NFS driver allows for multiple connections betwixt client and one storage port – controlled by the nconnect mount parameter. Up to 16 TCP connections can be created between the client and storage port with nconnect. The transport protocol is TCP as is the case with standard NFS/TCP. Using nconnect bypasses the single TCP connectedness limitations.

# This is an example mount control for kernel v.3+ nconnect NFS/TCP (i local ports to 1 remote ports):
sudo mount -o proto=tcp,vers=3,nconnect=8 172.25.1.i:/ /mnt/nconnect
# This is standards based syntax for NFS/TCP. Annotation that nconnect is limited to 16.
# Once over again, the proto=tcp is default - the command will simply not work for the wrong kernels.
# The default port is specified equally 20048 for nconnect and is implicit - use the "-v" flag for details if curious

The upstream kernel nconnect feature tin can provide shut to line bandwidth for a unmarried 100 Gb NIC. IOPS remain unchanged equally i storage port is in use equally with the previous options. For instance, we can attain xi GB/southward on a single mount indicate with this on a Mellanox ConnectX-5 100 Gb NIC.

Multipath NFS/RDMA or NFS/TCP:

This option takes the features of NFS nconnect from the 5.3+ Linux kernels, combines it with TCP or RDMA every bit the send, and enhances the connectedness capabilities to the storage.

Commencement, nconnect here provides the ability to have multiple connections between the customer and the storage – however, the connections are no longer limited to a single storage port, merely can connect with any number of storage ports that tin serve that NFS filesystem. Load balancing and HA capabilities are built-in into this characteristic as well, and for circuitous systems with multiple client NICs and PCIe switches, NIC analogousness is implemented to ensure optimal connectivity inside the server.

A cardinal differentiator with Multipath is that the nconnect characteristic is no longer restricted to the v.3+ kernels, but has been backported to lower kernels (3.x and 4.10) besides, making these powerful features available to a broad ecosystem of deployments. Typical mount semantics differ from normal NFS mounts in a few ways. See instance below.

This is an case mount commands (iv local ports to eight remote ports):
```
sudo mount -o proto=rdma,port=20049,vers=three,nconnect=8,localports=172.25.1.101-172.25.1.104,remoteports=172.25.one.i-172.25.1.8 172.25.1.1:/ /mnt/multipath
```
The code changes in this repository add together the following parameters:
localports    A list of IPv4 addresses for the local ports to demark
remoteports   A listing of IPv4 addresses for the remote ports to bind
IP addresses tin be given as an inclusive range, with `-` as a delimiter, e.1000.
`FIRST-Last`. Multiple ranges or IP addresses can exist separated by `~`.

The performance we are able to achieve for a single mount far exceeds any other arroyo. Nosotros have seen up to 162 GiB/s (174 GB/s) on systems with 8×200 Gb NICs with GPU Direct Storage, with a single customer DGX-A100 Organization.

Additionally, as all the C-nodes participate to deliver IOPS, an entry level 4 C-node organization has been shown to deliver 240K 4K IOPS to a unmarried customer/single mount point/single client 100 Gb NIC system. Nosotros are designed to scale this performance linearly as more C-nodes participate.

Determination

These connectivity options for NFS are powerful methods to access data over a standards based protocol, NFS. The modern variants, and the innovation that VAST Information has brought to the forefront, has inverse the landscape of what NFS is capable of. The Table below summarizes the current status of these mount options, and their relative functioning

NFS connection method Kernel compatibility (M)OFED Requirements Single-mountain BW (READ) Single-mount IOPS (READ)
Standard NFS/TCP All (2.6+) None 2-2.5GB/sec (1 customer 100 Gb/due south NIC) twoscore-60K 4K Read
Standard NFS/RDMA On asking Well-nigh MOFEDs from Mellanox eight-8.five GB/sec (1 client 100 Gb/due south NIC) 40-60K 4K Read
NFS/TCP + stock Nconnect 5.3 and up none 10-11 GB/sec (1 customer 100 Gb/southward NIC) 40-60K 4K Read
Multipath NFS/RDMA

or NFS/TCP.

(NFS/RDMA also supports GDS and NIC Analogousness)

Requires VAST NFS Client.

Fedora and Debian forks

three.10, 4.15, 4.18, ,5.iii and 5.4  kernels. Others on asking.

Most MOFEDs from Mellanox for x86.

Multipath NFS/TCP can be supported without a (M)OFED likewise.

Upwards to 162 GiB/sec (174 GB/s) – with 8×200 Gb/s IB CX-6 client NICs – using one DGX-A100 server and GPU Direct for Storage  (needs RDMA). Scales linearly with the number of CNodes in the VIP pool. 4-cnodes give 200K-240K 4K IOPS

All these approaches are available with VAST Data's Universal Storage . Some are standard, some have kernel limitations, and some need RDMA support with some (free) software from VAST Data. VAST Information is working with NFS upstream maintainers to contribute our code to the Linux kernel (a showtime tranche has been submitted for the 5.14 kernel) and open source the work – an effort that nosotros hope will converge in the coming twelvemonth.

In the meantime, read this jointly produced reference architecture from VAST Data and NVIDIA to larn how your organization can implement a turnkey petabyte-scale AI infrastructure solution that is designed to significantly increase storage performance for your GPU accelerated environments.

General References

  • https://www.kernel.org/medico/Documentation/filesystems/nfs/nfs-rdma.txt
  • http://nfs.sourceforge.net/nfs-howto/ar01s05.html
  • http://www.slashroot.in/how-do-linux-nfs-performance-tuning-and-optimization
  • http://www.cyberciti.biz/faq/linux-unix-tuning-nfs-server-client-performance/
  • https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/vi/html/Storage_Administration_Guide/nfs-rdma.html
  • https://wiki.linux-nfs.org/wiki/alphabetize.php/Main_Page
  • https://support.vastdata.com/hc/en-u.s./manufactures/360024722513-Configuring-Linux-Server-Machines-equally-NFSoRDMA-Clients

dacombfary1996.blogspot.com

Source: https://vastdata.com/blog/meet-your-need-for-speed-with-nfs/

0 Response to "(tco 6) what is a mount point locally that connects to the remote nfs service?"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel