High-performance Server Message Block (SMB) stack
NQ Storage is the market choice for SMB file sharing in the enterprise field.
NQ Storage is a commercial, high-performance SMB stack that offers flexible integration for a wide range of storage services, from standalone NAS to high-end data centers. In contrast to the open-source Samba, NQ Storage is not process-based but thread-based. Such a feature enables handling heavy loads in terms of thousands of client connections, numerous open files, etc., while having a low resource consumption.
NQS supports all dialects all SMB dialects up to the latest 3.1.1; ensuring connectivity from all the latest client versions of Microsoft, Apple Macintosh, and Samba.
What makes
NQ storage unique?
Easily portable on all operating systems, NQ Storage is especially designed for the Object-Oriented design approach. It’s flexible, easily integrated with unique objects and comes with project - dependent layer. Extra features: no native direct calls, add your own transport.
NQ Storage has cleared load testing with concurrent 10,000 connections with I/O. You can form highly scalable connections with its thread-pool mechanism. Internal DBS are configurable in order to optimize the platform, and options for memory pre- and run-time allocation.
NQ Storage allows for improved message handling with epolls and prioritized I/O operations with separate core and VFS. With zero-copy data handling (IOVEC), performance is further boosted. Multi-threading allows high availability and asynchronous operations.
NQ Storage is user-friendly during run time as well. Visuality Systems have made it super easy to control run-time configuration. Users of NQ Storage can easily perform operations such as: add or remove numerous users, add or remove numerous shares, terminate or restart NQ Storage, and more.
Armed with the latest SMB protocols and encryption, Visuality Systems offers the most up-to-date solution for storage compliant with all relevant Microsoft standards. Features include: Hyper-V, Shadow-Copy, SQL Server, Multi-Channel, SMB Direct (RDMA), etc.
NQ Storage uses Active Directory integration (Join Domain capability) to offer passthrough user authentication in Domain. A special Security Descriptor library allows managing user security descriptors.
Want to learn more?
NQ Storage is a highly portable library with the simple aim to be integrated into a storage solution.
NQ Storage can be integrated into either a Standalone Server or a Clustering solution.
NQ Storage as a standalone server
The model for using NQ Storage as a Standalone Server is illustrated in Figure 1. The SMB Engine module in Figure 1 is the central component of the entire architecture.
It is responsible for SMB syntax as well as for some non-file semantics. File semantics are maintained in the VFS module called POSIX VFS. Two transport modules – Socket.
Transport and SMB Direct – are responsible for networking. The Environment Abstraction component maps an abstract system
API on the exact operating system calls. Visuality Systems distinguishes between Project-Dependent (UD) and System Dependent (SY) layers. Recalling the difference between porting and integration, SY corresponds to Porting while UD corresponds to Integration.
NQ Storage as a Clustering Storage system
Another approach is integrating NQ Storage into a Clustering Storage system as illustrated in Figure 2.
The file system semantics illustrated in Figure 2 crosses not only the protocol borders,
but also node borders. Entities such as Persistent Handles, Continuously Available shares, etc., cannot be handled inside one node, and therefore, fall out of NQ Storage’s scope.
The Porting process is the same as for Standalone, while VFS Integration requires significant efforts. This happens because for a Clustering solution, POSIX VFS must be replaced with a custom VFS implementation. As NQ Storage exposes a well-defined VFS API, implementing a custom VFS involves connecting the SMB Engine with the Clustering File System (FS), which most storage providers already possess. To gain the best performance, most VFS API calls are made asynchronously with completion routines (callbacks). This approach allows the user to fully benefit from multi-threaded architecture (see below).
and approved
evaluation
by your team
Visuality systems
support & guidance
Visuality Systems
maintenance & support
What sets Visuality System apart?
Related resources
Visuality NQ Storage solution – Stephen Foskett and a panel of Storage Field Day delegates (Webinar)
Upgrade Your Product
Upgrade your SMB today with a fully scalable, robust, and continually updated SMB client library with 24/7 dedicated, rapid response support.