350 likes | 970 Views
SAC-444T. Designing systems for continuous availability - multi-node with remote file storage. Jim Pinkerton and Claus Joergensen Partner Architect and Principal Program Manager Microsoft Corporation. Agenda. OEMs System Integrators Network IHVs Storage ISVs Storage IHVs
E N D
SAC-444T Designing systems for continuous availability - multi-node with remote file storage Jim Pinkerton and Claus Joergensen Partner Architect and Principal Program Manager Microsoft Corporation
Agenda • OEMs • System Integrators • Network IHVs • Storage ISVs • Storage IHVs • Server App Developers • Remote File Storage for Server Apps • Features • SMB2 Transparent Failover • SMB2 Scale Out • VSS for SMB2 File Shares • SMB2 Performance for Server Applications • Platforms and sample configurations • Demo • Better understanding of system design for reliable storage utilizing a file server • Better understanding of how “Windows 8” File Server features light up new platform capabilities • System configurations for targeted file server scenarios WHO WILL BENEFIT FROM THIS TALK TOPICS WHAT YOU’LL LEAVE WITH
What We’ve Covered So Far … Business and Partnering Opportunities: “Windows Server 8” Continuous Availability Session 443 Platform Storage Evolved Designing Systems for Continuous Availability – Multi-node with Block Storage Building Continuously Available Systems with Hyper-V Session 451 Session 474 Session 450 • Designing Systems for Continuous Availability and Scalability Designing Systems for Continuous Availability – Multi-node with Remote File Storage Building Continuously Available File Server NAS Appliances Session 446 Session 444 Session 449
Remote File Storage for Server ApplicationsWhat is it and why? • What is it? • Server applications storing their data files on SMB2 file shares (UNC paths) • Examples: • Hyper-V: Virtual Hard Disks (VHD),configuration files, snapshots etc. • SQL Server: Database and log files • What is the value? • Easier provisioning – shares instead of LUNs • Easier management – shares instead of LUNs • Flexibility – dynamic server relocation • Leverage network investments – no need for specialized storage networking infrastructure or knowledge • Lower cost – Acquisition and Operation cost • Example: SQL Server Hyper-V Server Other App Server Web Server DB Server File Server File Server Shared Storage
“Windows Server 8” File Server Features at a glanceFor Server Applications (SMB2.2) This Talk Other talks that cover SMB2.2 Features Network Fault Tolerance & Scale Multichannel (Talk 446 & 451) Network Fault Tolerance with zero application downtime Bandwidth Aggregation across multiple network adapters SMB2 Direct & RDMA (Talk 446 & 451) Support for RDMA enabled network adapters High bandwidth, low latency and CPU consumption Scalable Management & Performance Optimization PowerShell (Talk 451) End to end CLI and scripting Performance Counters and Events (Talk 451) Extend local analysis techniques to the file server Appliance deployments (Talk 449) Designing Building Blocks for the Cloud (Talk 430) Use of File Server for Hosted Cloud deployments • Server Fault Tolerance – Transparent Failover • Server Fault Tolerance with zero application downtime • Hardware and software maintenance • Server Scale Out • Active/Active file shares – single share across all nodes • Increased bandwidth, optimized for FLASH • Application Consistent Backups • VSS for SMB2 File Shares (Extension to VSS) • Shadow copy of Server Application data on File Shares • Performance for Server Applications • Optimizations for server application IO profiles • Performance analysis & tuning • Flexible Storage Options • External Storage Arrays provide Offloaded Data Transfer (ODX) and sophisticated management • Shared JBOD SAS (Storage Spaces or Clustered PCI RAID) LEARN MORE [446] Designing systems for continuous availability and scalability [451] Building continuously available systems with Hyper-V [430]Designing the building blocks for a Windows Server 8 cloud
Historical - Windows Server 2008 R2Failovers are not transparent 1 Normal operation • Works great for traditional file server use scenarios • Server applications expect storage to be continuously available • With current solution connection and file handles are lost on share failover -> • Application disruption • Administrator intervention required to recover 2 Failover share and connections and handles lost 3 Administrator intervention needed to recover SQL Server 1 3 \\fs1\share \\fs1\share 2 File Server Cluster File Server Node A File Server Node B
“Windows Server 8”SMB2.2 Transparent Failover 1 Normal operation • Failover transparent to server application • Zero downtime – small IO delay during failover • Supports planned and unplanned failovers • HW/SW Maintenance • HW/SW Failures • Load Rebalancing • Resilient for both file and directory operations • Requires: • Windows Failover Clusters • Both server running application and file server cluster must be “Windows Server 8” Failover share - connections and handles lost, temporary stall of IO 2 Connections and handles auto-recovered Application IO continues with no errors 3 SQL Server 1 3 \\fs1\share \\fs1\share 2 File Server Cluster File Server Node A File Server Node B
SMB2 Transparent FailoverNew components (1/2) SMB 2.2 Server Witness Service • New protocol version: SMB2.2 • SMB2.2 Client (Redirector) • Client operation replay • End-to-end support for replay of idempotent and non-idempotent operations • SMB2.2 Server • Support for network state persistence • Single share spans multiple nodes (active-active shares) • Files are always opened Write-Through User Witness Protocol (new) SMB 2.2 Client Kernel Witness Client SMB 2.2 Server User User Kernel Kernel SMB2 Redirector SMB2 Server Operation replay State persistence SMB 2.2 Resume Key Filter File System
SMB2 Transparent FailoverNew components (2/2) SMB 2.2 Server Witness Service • Resume Key – used on failover to: • Resume handle state after planned or unplanned failover • Fence handle state information • Mask some NTFS failover issues • Witness Protocol • Enables faster unplanned failover because clients do not wait for timeouts • Enables dynamic reallocation of load User Witness Protocol (new) SMB 2.2 Client Kernel Witness Client SMB 2.2 Server User User Kernel Kernel SMB2 Redirector SMB2 Server Operation replay State persistence SMB 2.2 Resume Key Filter File System
SMB2 Transparent Failover Semantics (1/2)Server Side: State persistence until client reconnects • Server obeys a contract with the client to ensure replay of operation is transparent to application • All race conditions cleanly addressed • Protocol documentation will fully define behavior SMB 2.2 Server User User Kernel Kernel SMB2 Redirector SMB2 Server Operation replay State persistence SMB 2.2 Resume Key Filter File System
SMB2 Transparent Failover Semantics (2/2)Client Side: state recovery • Client obeys a contract with the server to ensure replay of operation is transparent to application • All race conditions cleanly addressed • Protocol documentation will fully define behavior SMB 2.2 Server User User Kernel Kernel SMB2 Redirector SMB2 Server Operation replay State persistence SMB 2.2 Resume Key Filter File System
Server Application View (e.g. SQL, IIS, etc.) • Cluster Client Failover (CCF) • Applicable for server applications that support failover clusters • Ensures server application can access its data files in the event of an unplanned failure of the server application cluster node • Server applications should: • Use new API to register the application instance • Call the API prior to opening any remote files • RegisterAppInstanceAPI: RegisterAppInstance( __in HANDLE ProcessHandle, __in GUID* AppInstanceId, __in BOOL ChildrenInheritAppInstance ); • Check to make sure open files are “persistent” • Persistence: A handle opened on a file share that supports transparent failover • GetFileInformationByHandleExfunction: GetFileInformationByHandleEx( __in HANDLE hFile, __in FILE_INFO_BY_HANDLE_CLASS FileInformationClass, __out LPVOID lpFileInformation, __in DWORD dwBufferSize ); • FILE_REMOTE_PROTOCOL_INFO Structure • New flag:REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE 0x4
Historical: Windows Server 2008 R2 Active-Passive Single File Server 1 logical file server 1 virtual IP address Active/Passive \\FSA\Share1\\FSA\Share2 Single name Simple Easy to manage Active-Passive Multiple File Servers 2+ logical file servers 2+ virtual IP addresses Access to disparate shares through different nodes \\FSA\Share1\\FSB\Share1 Leverage investment More complex to manage Multiple names FSA=10.1.1.3 FSB=10.1.1.4 FSA=10.1.1.3 Client Client \\FSA\Share1 \\FSA\Share2 \\FSA\Share1 \\FSB\Share1 File Server Cluster File Server Cluster Active Active for FSA Passive Active for FSB Name=FSA IP=10.1.1.3 Name=FSA IP=10.1.1.3 Name=FSB IP=10.1.1.4
“Windows Server 8”SMB2 Scale Out Hyper-V Cluster (Up to 63 nodes) • Active/Active • Simultaneous access to a single share through all cluster nodes • Multiple shares still useful to isolate traffic • Targeted for Server Applications • Server applications with few metadata operations - Hyper-V and SQL Server • Bandwidth intensive applications – Increase available bandwidth by adding cluster nodes • Simplified and easy management • Single logical file server – fewer DNS names, IP addresses (no need for virtual IPs) • Single file system namespaces – no drive letter limitation, larger file systems • No cluster disk resources to manage File Server Cluster (Up to 4 nodes) Single Logical File Server (\\FS\Share) Single File System Namespace Data Center Network (Ethernet, InfiniBand or combination) Cluster Shared Volumes
“Windows Server 8” Scale Out File Server RoleTwo Types of File Servers • New File Server Type • File Server for scale-out application data • Manage all nodes as a single file share service • Scale-out file shares are always enabled for transparent failover • Leverages: • Distributed Network Name (aka DNN name) • Manages DNS registration and deregistration of node IP addresses • Manages computer account and security • Clustered Shared Volumes (CSV) • CSV volumes are online on all cluster nodes • Round Robin DNS to distribute clients • Requirements: • Windows Failover Cluster with Clustered Shared Volumes • Both server application and file server cluster must be running “Windows Server 8” • SMB1 and earlier clients cannot connect to scale-out file shares
VSS for “Windows Server 8” File Shares Backup Server • Application consistent shadow copies for server application data stored on “Windows Server 8” file shares • Backup and restore scenarios • Full integration with VSS infrastructure Read from Shadow Copy Share G Backup A File Share Shadow Copy Agent Request Shadow Copy E Backup Agent Volume Shadow Copy Service Coordinate Shadow Copy B D Create Shadow Copy Volume Shadow Copy Service F Relay Shadow Copy request Create Shadow Copy C File Share Shadow Copy Provider \\fs\foo Data volume \\fs\foo@t1 Shadow Copy Application Server File Server VSS Providers
VSS for “Windows Server 8” File Shares • VSS Requestors (backup application ISV) • Extend existing ability to build a set of unique volumes that cover the backup set to also include file shares (UNC paths) • New API to make this processing symmetric for local and UNC paths: • IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths • Enable impersonation when initializing COM • VSS Writers (server application that is being backed up) • Report file shares (UNC paths) as path of interest in their backup set • VSS Providers for External Storage Subsystems • No change needed
SMB2 PerformanceFundamental gains for server applications • Substantial refactoring of SMB2client for performance • “Windows Server 8” at 97% of DAS transactional perf • Identical servers and storage • 1Gbps Ethernet v. 4Gbps FC • 28 x 10KRPM HDD • Network transport optimizations • TCP/IP – SMB2 multi-channel & NIC Teaming, TCP offloads, DC-TCP • RDMA – Lowest network CPU overhead (cycles/byte) From 25% to 97% of DAS performance
SMB2 PerformancePerformance tuning and debug Server View • Enabling administrators to use existing skill sets to tune file server performance • Client counters track per-share load • IO size, IO latency, IO queue length, etc • Separately tune/target log file vs. data file performance • Server counters track per-client load • Rebalance of load • Diagnose rogue clients Client View
demo SMB2 File Server for Server Applications Claus Joergensen Principal Program Manager File Server Team
Platform Choices: File Server for Server Applications Networking 2+ Interfaces Infiniband 10 GbE RDMA + Optionally RDMA Shared JBOD SAS Server 2+ servers 2+ node “Cluster in a Box” 2+ single node servers FC / iSCSI / SAS fabric Storage Spaces Clustered PCI RAID 1 GbE Storage Reliable Shared Storage External Storage Arrays
Sample configurationsCluster-in-a-Box solutions Cluster-in-a-Box Cluster-in-a-Box 1 GbE 1 GbE 1 GbE 1 GbE 10 GbE 10 GbE IB/RDMA IB/RDMA 10 GbE 10 GbE IB/RDMA IB/RDMA Shared JBOD SAS External Shared JBOD SAS Shared JBOD SAS External Shared JBOD SAS Cluster PCI RAID Cluster PCI RAID SAS HBA SAS HBA
Sample configurationsDiscreet Servers ... ... 2 2 1 4 1 4 1/10 GbE/IB 1/10 GbE/IB 1/10 GbE/IB 1/10 GbE/IB 1/10 GbE/IB 1/10 GbE/IB Shared JBOD SAS SAS HBA FC/SAS/ iSCSI HBA FC/SAS/ iSCSI HBA SAS HBA SAS HBA FC/SAS/ iSCSI HBA External Storage Arrays
In summary Remote File Storage for Server Applications Application Developers OEMs • Feature set enables Continuously Available storage from Windows File Server • Scale and Performance • Reliable • Easy to manage • Affordable • Add support for storing data file servers • Update VSS writer to support file shares • Use RegisterAppInstance • Design Systems for Continuous Availability • Provide a spectrum of products, from appliance-like deployment to high fan-out
For more information RELATED SESSIONS Continuously Available Platform Talks LEARN MORE SAC-443T – Business and partnering opportunities: Windows Server 8 continuous availability SAC-474T – Platform storage evolved SAC-446T – Designing systems for continuous availability and scalability SAC-450T – Designing systems for continuous availability - multi-node with block storage SAC-444T – Designing systems for continuous availability - multi-node with remote file storage SAC-451T – Building continuously available systems with Hyper-V SAC-449T – Building continuously available file server NAS appliances Related Windows Server 8 Talks SAC-430T – Designing the building blocks for a Windows Server 8 cloud SAC-433T – Network acceleration and other NIC technologies for the data center SAC-437T – A deep dive into Hyper-V networking SAC-439T – Enabling multi-tenancy and converged fabric for the cloud using QoS LEARN MORE
thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.