Blog

Home  /  MoSMB SMB3 NAS server   /  All about MoSMB Architecture – Part III

All about MoSMB Architecture – Part III

We are pleased to present part III of the excerpts from an interview with Dr. Sunu Engineer, CTO of Ryussi Technologies who is talking about his vision for “MoSMB – SMB with Mojo” architecture and how it will enable storage companies to embrace SMB 3.0 in their systems easily in a very short time.

How does authentication integration work if customers have their own authentication mechanism?
We support integration with authentication systems like Active directory and LDAP. We intend to support active directory with Kerberos support but for backward compatibility we will also support NTLM (this is not a preferred form). We also support SMB signing and SMB encryption and with 3.11 we will be supporting GCM mode of SMB encryption.
Authentication integration is best if the customer uses active directory and direct LDAP authentication. For custom authenticator systems we have not considered at this point in time since the dominant authentication systems for SMB are Active Directory and LDAP. On Unix system the authentication is based on PAM.

On what platforms will MoSMB available?

Initially MoSMB will be available on Linux and BSD. Since it is written in ANSI C it is highly portable. We are also looking at MoSMB to be ported as a lightweight server to be available on any type of storage system and for example be used in media storage devices for home media use.

One more point to note is that we started developing MoSMB keeping in mind that we would use resources like CPU and memory sparingly and it would have a very low footprint. We will ensure that we use only 30-40% of the CPU and about 25-30% of memory less then what SAMBA uses for corresponding loads.

What are the architectural features that make MoSMB future proof?

The main feature for making MoSMB future proof is that everything is pluggable. Since it is not monolithic we can change pieces very easily. The second part of the design is we use libraries for event management, libraries for memory allocation, resource allocation, synchronization, etc. This enables us to write the best module and replace this if the current library is not sufficient or is a poor performer.

On the protocol front the code is written in such a way that is Microsoft extends the core protocol we can easily make the corresponding changes. We are complete in functionality to SMB v2.1 and 3.0 and the v3.11 functionality can be incrementally added.

On the scalability front, we have architected MoSMB (like everyone else uses for scalable system) using consensus protocol to synchronize the data which is kept very lightweight.

In addition we have implemented the witness protocol and other axillary frameworks like VSS. One of the most important aspect of all this is the management. We will support all the management suites like HyperV manager and all PowerShell  command line in order to manage MoSMB and SMI-S will be supported to manage it.