CIFS/SMB/SMB2
SMB2 Meets Linux: Developing the SMB2 and CIFS Kernel Clients for Linux
Steve French, IBM - Linux Technology Center
Abstract
The new SMB2 kernel client for Linux is turning out to be well suited for Linux, providing better data integrity, performance and features. This presentation will review and demonstrate the progress on the Linux kernel client for SMB2, as well as discuss the current status of the Linux cifs client, and will show areas where the SMB2 protocol is well suited to Linux, and areas where the proposed SMB2 Unix Extensions will make it even better.
Learning Objectives
- Show how useful the SMB2 Unix Extensions are
- Show where SMB2 can be useful for Linux, and how to use it
- Show higher reliability available with SMB2
- Show progress on Linux cifs client and recent improvements in it too
MS-FSA: Describing Wire Visible Behavior of Microsoft File Systems
Neal Christiansen, MS-FSA: Describing Wire Visible Behavior of Microsoft File Systems
Abstract
LMS-FSA is a new algorithms document developed by Microsoft’s file system team to describe wire visible behavior of Microsoft file systems. This document defines an abstract data model and then provides a detailed algorithmic description of how Microsoft file systems operate. MS-FSA is referenced by the Common Internet File System (CIFS) Protocol Specification [MS-CIFS], the Server Message Block (SMB) Protocol Specification [MS-SMB], and the Server Message Block (SMB) Version 2 Protocol Specification [MS-SMB2].
Learning Objectives
- Understand why MS-FSA was developed
- Understand what is covered by MS-FSA
- Understand what is not covered by MS-FSA
- Provide examples of how the document may be used
Are We There Yet?: The Long and Winding Road to SMB/CIFS Specifications
Christopher R. Hertel, Storage Architect and CIFS Geek, ubiqx Consulting, Inc.
José Rivera, SA3G, ubiqx Consulting, Inc.
Abstract
It took two years to produce a new set of SMB/CIFS specifications, which now total approximately 1K pages. Now that [MS-CIFS] and [MS-SMB] are in maintenance mode, how can the CIFS community make the best use of them?
Learning Objectives
- How to read the new SMB/CIFS specifications, and related documents.
- How to provide feedback to Microsoft and the community.
- How long-standing questions have been resolved.
- Where to go from here (the future of SMB/CIFS).
CIFS Map of Solaris
Jiri Sasek, Ing, Oracle
Vladimir Marek, Ing, Oracle
Abstract
Both production Solaris releases 9 and 10 are bundling Samba. Development release of Solaris Nevada from which the OpenSolaris is branched releases also the internal CIFS server and smbfs (CIFS client file-system). This presentation aims to map the authentication algorithms, encryptions, data signing mechanisms... available on these different CIFS platforms.
A Comparison Between the Samba 3 and Likewise Lwiod SMB File Servers
Steven Danneman, Software Development Engineer II, Isilon Systems
Abstract
The Samba 3 smbd file server is the most predominantly deployed open source SMB server in the world. Lwiod is an open source SMB file server developed by Likewise Software. Both provide Windows file sharing functionality on Unix operating systems. In this presentation I'll compare and contrast the overall architecture and feature sets of these two servers from both an administrator and developer's perspective. Attendees should gain an understanding of the primary benefits and drawbacks of each implementation.
Learning Objectives
- The major architectural differences between the two servers.
- How threading model fundamentally affects the implementation of key SMB features on POSIX operating systems.
- The compromises in correctness and scalability each server must make to implement NTFS semantics on top of POSIX. An understanding of all major features provided by an enterprise SMB server stack.
Status of Clustered CIFS Using Samba
Volker Lendecke, Samba Team /SerNet
Abstract
The last 12 months have seen huge steps of clustered Samba towards an enterprise-level product. In particular the usability and stability of the network-wide persistent databases has been improved a lot, making the registry cluster configuration rock-solid. Other advances of clustered Samba include a much improved single-sign on with AD using winbind and better integration with advanced GPFS features.
IPv6 Enabling CIFS/SMB Applications
David Holder, Co-founder and Director, Erion
Abstract
Today IPv6 is no longer the protocol of the future, it is being extensively deployed in production networks. The central pool of IPv4 addresses will be exhausted in 2010 to 2011. As a result, Governments and organisations world-wide have been mandating its use for a number of years. As a CIFS/SMB developer, the time has come where you can no longer ignore IPv6. IPv6 is the default protocol in all major operating systems, including Windows Server 2008 and Windows 7. CIFS and Active Directory have had support for IPv6 for a number of years. This paper will address the key issues facing CIFS/SMB developers when migrating their applications to IPv6. It will provide a review of the status of IPv6 in Samba and Windows and describe how CIFS/SMB applications should be migrated to IPv6. This presentation will also include a brief IPv6 API and porting tutorial presenting the key things that developers need to know about IPv6 and the IPv6 socket API in order to effectively use IPv6 in their applications. Dr David Holder is closely involved in the migration of Samba to IPv6. He has worked with IPv6 for well over a decade and is a regular speaker at global IPv6 conferences.
Learning Objectives
- Understand the support for IPv6 in key CIFS/SMB implementations
- Appreciate some of the key differences between IPv4 and IPv6
- Learn the basic principles of migrating applications to IPv6
Failover and Resource Motion Delay in the Microsoft Windows Clustered Fileserver
Dan Lovinger, Senior Software Design Engineer, Microsoft
Abstract
This talk will examine the behavior of the Windows SMB2 clustered fileserver during the process of moving service between cluster nodes. We’ll examine the differences between planned and unplanned motion, both when unloaded as well as under significant external stress. Publicly available data sources on the Windows platform will be discussed and used to build visualizations of the processes involved, and highlight design considerations for solution and system implementers. To accurately model your client and server implementations, increased attention to real-world usage patterns is required. The File Server Capacity Tool (FSCT) Home Folder scenarios will be used to stress the system. This tool allows measurement of server capacity as well as identification of bottlenecks using a standard, well-characterized workload.
Learning Objectives
- Examine the building blocks of the Windows Clustered Fileserver, and the possible ways to scale them
- Understand the scenarios that make up the FSCT Home Folder workload"
- Identify design considerations at scale, and how load can impact system behavior
Implementing SMB2 Within Samba
Jeremy Allison, Engineer Google
Abstract
Samba now implements SMB2. This presentation will explain the code changes that were needed, and how the new features for SMB2 were built on top of the existing stable codebase.
Learning Objectives
- Samba internals
- SMB2 protocol
- SMB2 implementation details
Introduction to the CIFS/SMB/SMB2 Plugfest
Abstract
Abstract Pending
Interoperability Tools for CIFS/SMB/SMB2
Paul Long, Technical Evangelist, Microsoft
Abstract
Interoperating with Windows can be significantly simplified by learning how to use the tools and resources available to you. Tools such as Network Monitor, Test Suites, Protocol Documentation and Spec Explorer can help identify interoperability problems and assist in testing implementations. Resources such as leveraging protocol documentation support and attending PlugFests are invaluable for insuring your software will interoperate properly with Windows, in particular CIFS/SMB/SMB2 systems. This presentation will detail the available tools and resources to help you understand the offering.
Learning Objectives
- Why read the documentation when you have Network Monitor?
- Using Test Suites and Spec Explorer to improve interoperability
- Find Protocol Documentation from a Network Trace
- How to use Unified Messaging (ETW) and NetSh to gather traces
- Understanding other resources like PlugFest and Documentation Support
SMB Traffic Analyzer - Monitor the Data Flow of Samba Servers
Holger Hetterich, Level 3 Support Engineer / Samba Developer, Novell
Abstract
SMB Traffic Analyzer is a project with the goal make it possible to monitor and statistically view the data flow on Samba Servers. Rather than a network capturing tool, Traffic Analyzer utilizes the Virtual File System Layer of Samba, and produces a SQL enabled storage, making it easy for the users to generate statistics in general. Furthermore, client programs are being developed, structured on the SQL database, which produce full reports of the data flow and even monitor data flow in real-time.
Learning Objective
- Using the Samba Virtual File System Layer for Applications
Evaluating SMB2 Performance for Home Directory Workloads
David Kruse, Principal Developer Lead
Dan Lovinger, Sr Software Design Engineer, Microsoft
Abstract
Understanding performance analysis of the home directory workload on file servers can be a complex task in terms of modeling the workload, understanding the bottlenecks, and potentially changing the protocol to improve performance. Utilizing the File Server Capacity Tool (FSCT) from Microsoft to create a realistic workload, this talk will examine the home directory workload in detail to better identify issues for efficient optimization of your client and server implementations. The talk will provide increased insight into the client workloads over the SMB2 protocol, while also providing pointers on how to gather relevant data while running under load. It will also discuss the events used for performance analysis on Windows Server 2008 R2, and then look to how the data gathered can be used to create theoretical models of the effects of future protocol improvements. Finally, we’ll look at how these events could theoretically be exposed to individual clients to allow fine-grained scenario performance evaluation for both enterprise and branch-office workloads.
Learning Objectives
- Examine a system for gathering, evaluating, and visualizing performance data across a large number of active connections as is common in the home directory workload.
- Understand how the data can be used to create a theoretical model to extrapolate potential performance or scalability gains from future innovations.
- Discuss how the core architecture can be extended to allow individual clients to profile their scenarios across a variety of server implementations.
Scaling Likewise-CIFS Beyond 50K Concurrent Connections on a Single Node
Gerald Carter, Senior Software Design Engineer, Likewise Software
Abstract
Much effort has been invested recently in clustered SMB/CIFS solutions, however many environments still require high connection scalability from a single host or device. This session will present the architecture used by Likewise-CIFS, the SMB file server component of the Likewise Open project, to achieve more than 50,000 simultaneous client connections hosted by a single 4-way SMP host configured with 8 Gb of RAM. Attendees will also be introduced the freely available connection stress utility developed as part of Likewise Open.
Learning Objectives
- Understand the Likewise-CIFS threading model
- Understand Likewise-CIFS connection, session, and file handle management
- Learn how to use the Likewise-CIFS connection stress testing client tool
Embedded Private Cloud Using Samba and Ceph
Kai Blin, Samba Team
Abstract
Thanks to the low power consumption of ARM systems, it is possible to connect enterprise-grade SATA drives to the cloud with a peak power consumption of around 10 Watts. Using the Open Source technologies of clustered Samba and Ceph on top of these embedded system it's now possible to create flexible storage solutions that can be installed right at the SOHO, with a CIFS-based data access for cross-platform file sharing.
Learning Objectives
- Using clustered Samba to provide distributed CIFS file sharing
- Using the Ceph distributed file system for Samba clustering
Identity Mapping for Windows+UNIX Environments
Jordan Brown, Principal Software Engineer, Oracle
Abstract
The Solaris Operating System includes native support for SMB server and client operations, with full integration as the goal, including seamless interoperation with local and NFS operations. One interesting aspect of this integration is identity mapping - ensuring that a user gets the same access rights regardless of access point: local application, NFS or SMB.
Learning Objectives
- SIDs and UIDs - the fundamental disconnect between Windows and UNIX
- Mapping schemes: rules, directory data, ephemeral IDs.
- Problems encountered and solutions implemented
Unix Extensions for SMB2 - A Protocol Initiative
Tom Talpey, Architect, Microsoft
Abstract
A new effort is currently under way to specify a set of extensions to the SMB2 protocol to enable support for the Posix file semantics expected by Unix systems. Years ago, a SNIA effort specified similar extensions to the SMB/CIFS protocol. While incomplete, these extensions were adopted in several implementations and have provided an important base for use of SMB when communicating between Unix/Posix style systems, while using "normal" SMB to communicate with Windows. The new effort, originally discussed at last year's 2009 SNIA SMB Plugfest, began in Spring 2010 as an open collaborative one focused on the new SMB2 protocol, and significant work has been done. We'll review the scope and goals of the new effort, and make a deep dive into the specifics of what is currently being proposed. Attendees will leave with a good understanding of what's being done, what to expect the new capabilities to mean to them, and have a taste for when they'll become reality.
Analyzing Metadata Caching in the Windows SMB2 Client
Mathew George, Sr. Software Development Engineer, Microsoft
David Kruse, Principal Software Development Lead
Abstract
Metadata operations constitute a significant fraction of the network traffic between an SMB2 client and server running a typical file server workload. The simplified command set defined by the SMB2 protocol requires that a client implementation must make judicious use of metadata caching and compounding in order to effectively utilize network bandwidth. In the first part of the talk we will discuss the metadata caching strategies employed by the Windows SMB (should this be “SMB2”?) client implementation to reduce metadata traffic to the server. Specifically we will look into the 3 different metadata caches – the file-information cache, the directory cache and the file-not-found cache and see how these caches help reduce network round trips. We will also look at various configuration settings to control the sizes and lifetimes of these caches. The second part of the talk will look at some of the consistency issues that arise due to opportunistic metadata caching. We will also look at potential protocol improvements and show how we can mitigate these problems by improving the consistency and lifetimes of these metadata caches.
Learning Objectives
- Gain insight into the data and metadata caching policies of the Windows SMB2 client
- Learn about client settings that can be used to tune the metadata caching behavior
- Understand the benefits these caches provide in different scenarios."
- Investigate how the introduction of new protocol capabilities could further refine data and metadata caching
Case Study: MS-DFS - Writing New Drivers to Extend Likewise-CIFS
Gerald Carter, Senior Software Design Engineer, Likewise Software
Abstract
Likewise-CIFS is the SMB file server component of the Likewise Open project's Active Directory integration efforts. The server's loadable driver model provides third-party developers a means to extend current functionality while taking advantage of it's robust, scalable architecture. The existing file sharing features can be extended beyond SMB/CIFS to include NFS and WebDAV while the local POSIX file system driver (FSD) could be replaced with other alternative implementations. This session will use the new MS-DFS driver as an example to teach attendees how to write a new driver for the Likewise-CIFS stack, what name space and resource challenges must be addressed, and how multiple drivers may internally interact with each other.
Learning Objectives
- Explain the Likewise-CIFS driver architecture
- Learn how to extend Likewise-CIFS network and filesystem functionality by developing additional drivers
- Understand how individual drivers interact with each other internally to the Likewise-CIFS IO Manager
|