July 23, 2014

Samba 4.0 is Released with Full Active Directory and Updated SMB Support

Yesterday, the Samba team released Samba 4.0, the culmination of almost a decade of work to create a full open source Active Directory server. Samba is the software that powers many Windows-compatible NAS devices, and the release of Samba 4.0 puts us all on a path toward SMB2 and SMB3 support!

Samba_Logo

Introducing Samba

Samba is an open source implementation of the Microsoft Windows networking protocol suite. As in previous versions, Samba 4 is a server for clients using the Microsoft SMB/CIFS file and print sharing protocol. This new release adds full Active Directory support, updates the SMB protocol to include SMB 2.1 and SMB3, and was built with Microsoft’s blessing and using their documentation.

From the enterprise to the home, most non-windows devices that provide networked storage to Windows clients use Samba software. This includes many NAS devices, Linux servers, and storage arrays. Even some that don’t use Samba are adopting it now that EMC has bought Likewise, a popular Samba alternative.

I have been using Samba myself since the mid 1990s, allowing Windows desktops to access storage on my UNIX servers. You probably use Samba too, even if you don’t know it.

Samba development has proceeded fits and starts all along, but improvements have come rapidly over the last few years. Version 3.5 added experimental SMB2 support in 2010, with a full SMB 2.0 implementation appearing in Samba 3.6 last year.

Samba 4.0

A major update to Samba has been in the works for many years. This work has finally come to fruition this week, with the release of Samba 4.0. This is a major step forward for the Samba team as well as the storage industry as a whole.

Andrew Bartlett’s SNIA SDC 2012 presentation has more on Samba 4.0

The headline feature of Samba for Plano is the addition of a full Active Directory server. This means that Samba, for the first time, can be the only server on a network of modern Windows machines. One can imagine many instances where a non-Windows server would be desirable, from the home to branch offices to the “Internet of things”.

For me, the addition of SMB 2.1 and 3.0 support is equally important. SMB 2.1, introduced as part of the Windows 7 release, is mainly a performance boost over the dramatically improved SMB 2.0 of the Windows Vista era.

SMB 3.0 for Everyone

But SMB 3.0 is a major step forward, enabling applications to run on networked storage provided by Samba or a Windows file server! I’ve written at length about SMB 3.0, and am very pleased to see an open-source implementation available. Note that SMB 3.0 support in Samba 4.0 is fairly rudimentary at this point, but the team is working hard to enhance and expand it.

For more info on SMB 3.0 in Samba, see Michael Adam’s presentation from SNIA SDC 2012. If you’re interested in SMB 3.0 generally, see David Kruse’s presentation.

Right now, Samba 4.0 negotiates to SMB 3.0 by default and supports the mandatory features, including the new authentication/encryption process. Over time, the Samba team will add additional features, with SMB Direct (SMB over RDMA like InfiniBand) already in testing.

The foundation for directory leases is there, but advanced and specialized features like multi-channel, transparent failover, and VSS support might not ever come. Since Samba has long supported their own type of clustered file servers, Windows scale-out file server support does not exist in Samba at this point.

This is not unique to Samba: Indeed, many third-party SMB 3.0 implementations are likely to skip Microsoft’s advanced networking features and focus on core protocol interoperability at least at first. Over time, I expect the vast SMB 3.0 protocol landscape to sort this out, with the “must-have” features rising to prominence and the rest pushed aside.

Stephen’s Stance

Unlike previous work, which was too often done without the support of Microsoft, the Samba Team this time enjoyed access to Microsoft documentation and interoperability testing support. It seems that Microsoft has finally learned that an ecosystem requires more than one player, and the storage and server teams at Microsoft should be commended for their embrace of “competitors” like Samba!

Watch my discussion of “Samba Forever” with Jeremy Allison and Volker Lendecke from SNIA Storage Developer Conference 2012

Samba is becoming more and more important. Windows servers will increasingly use SMB 3.0 as their networked storage protocol in Windows Server 2012 and Hyper-V 3. And EMC’s purchase of Likewise means the rest of the storage industry is looking for an SMB stack. But I’m most interested to see what Active Directory support means for future home and business devices.