Clustered CIFS For Everybody Clustering Samba With CTDB. LinuxTag 2009



Similar documents
Scalable NAS Cluster With Samba And CTDB Source Talk Tage 2010

SerNet. Clustered Samba. Nürnberg April 29, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Clustered NAS meets GPFS. Andrew Tridgell LTC ALRT Team

Lustre SMB Gateway. Integrating Lustre with Windows

SerNet. Samba Status Update. Linuxkongress Hamburg October 10, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Load Balancing and High availability using CTDB + DNS round robin

Samba 4 AD + Fileserver

Samba 4.2. Cebit 2015 Hannover

<Samba status report>

SerNet. Samba Status Update. Munich 13. March Volker Lendecke SerNet Samba Team. Network Service in a Service Network

# Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = no

Samba. Samba. Samba 2.2.x. Limitations of Samba 2.2.x 1. Interoperating with Windows. Implements Microsoft s SMB protocol

Introduction to Highly Available NFS Server on scale out storage systems based on GlusterFS

Integrating Red Hat Enterprise Linux 6 with Microsoft Active Directory Presentation

Using Samba to play nice with Windows. Bill Moran Potential Technologies

Samba on HP StorageWorks Enterprise File Services (EFS) Clustered File System Software

Large Scale Storage. Orlando Richards, Information Services LCFG Users Day, University of Edinburgh 18 th January 2013

Common Internet File System

Introduction to Gluster. Versions 3.0.x

Going in production Winbind in large AD domains today. Günther Deschner (Red Hat / Samba Team)

A Survey of Shared File Systems

Active/Active HA Clustering on Shared Storage with Samba

GlusterFS Distributed Replicated Parallel File System

NFS Ganesha and Clustered NAS on Distributed Storage System, GlusterFS. Soumya Koduri Meghana Madhusudhan Red Hat

Intel Entry Storage System SS4200-E Active Directory Implementation and Troubleshooting

A COMPARISON BETWEEN THE SAMBA3 AND LIKEWISE LWIOD FILE SERVERS

Configure Samba with ACL and Active Directory integration Robert LeBlanc BioAg Computer Support, Brigham Young University

Distributed File System Choices: Red Hat Storage, GFS2 & pnfs

SAMBA AND SMB3: ARE WE THERE YET? Ira Cooper Principal Software Engineer Red Hat Samba Team

The Simple High Available Linux File Server. Schlomo Schapiro Principal Consultant Leitung Virtualisierung & Open Source

XtreemFS Extreme cloud file system?! Udo Seidel

Univention Corporate Server. Operation of a Samba domain based on Windows NT domain services

GL254 - RED HAT ENTERPRISE LINUX SYSTEMS ADMINISTRATION III

High Availability Storage

INUVIKA TECHNICAL GUIDE

Linux Development Environment Description Based on VirtualBox Structure

(june > this is version 3.025a)

Best Practices for Data Sharing in a Grid Distributed SAS Environment. Updated July 2010

Building Storage Service in a Private Cloud

Storage / SAN / NAS. Jarle Bjørgeengen University of Oslo / USIT. October 18, 2011

Parallels Plesk Panel

Linux Administrator (Advance)

OpenVMS Update & OpenVMS Common Internet File System based on SAMBA

Installing QuickBooks Enterprise Solutions Database Manager On Different Linux Servers

SAMBA VI: As a Domain Controller

Samba File Sharing 1 of 17. File Sharing. Hal Miller & Leeland Artra. Notes:

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

High Performance Storage System Interfaces. Harry Hulen

Multiple Public IPs (virtual service IPs) are supported either to cover multiple network segments or to increase network performance.

Migration of Windows Intranet domain to Linux Domain Moving Linux to a Wider World

CYAN SECURE WEB HOWTO. NTLM Authentication

Interoperability Update: Red Hat Enterprise Linux 7 beta and Microsoft Windows

Spectrum Scale. Problem Determination. Mathias Dietz

Tushar Joshi Turtle Networks Ltd

Parallels Virtuozzo Containers 4.7 for Linux

VIDEO SURVEILLANCE WITH SURVEILLUS VMS AND EMC ISILON STORAGE ARRAYS

Allowing Linux to Authenticate to a Windows 2003 AD Domain. Prepared by. Thomas J. Munn, CISSP 11-May-06

NT4 PDC Migration to Samba 3

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

Open Source, Scale-out clustered NAS using nfs-ganesha and GlusterFS

Implementing and Managing Windows Server 2008 Clustering

Integrating UNIX and Linux with Active Directory. John H Terpstra

Storage Management for the Oracle Database on Red Hat Enterprise Linux 6: Using ASM With or Without ASMLib

NNAS-D5 Quick Installation Guide

Deploying Remote Desktop Connection Broker with High Availability Step-by-Step Guide

actinas Cube RDX FAQ

Quantum StorNext. Product Brief: Distributed LAN Client

Configuring Windows Server Clusters

PolyServe Matrix Server for Linux

Agenda. NT4 PDC Migration to Samba-3. Site Objectives. Samba-3 is NOT MS Windows NT. John H Terpstra, Samba-Team jht@samba.org

Why is it a better NFS server for Enterprise NAS?

Application Note. Configuring a NEO Tape Library with Symantec Backup Exec and NetApp NDMP Environment. Technical Bulletin. November 2013.

Implementing Failover Capabilities in Red Hat Network Satellite

Analisi di un servizio SRM: StoRM

CONFIGURING ACTIVE DIRECTORY IN LIFELINE

Kaspersky Endpoint Security 8 for Linux INSTALLATION GUIDE

recovery at a fraction of the cost of Oracle RAC

ACS 5.x and later: Integration with Microsoft Active Directory Configuration Example

Kaspersky Anti-Virus 8.0 for Linux File Server Installation Guide

CSE 265: System and Network Administration

Linux Powered Storage:

Panasas at the RCF. Fall 2005 Robert Petkus RHIC/USATLAS Computing Facility Brookhaven National Laboratory. Robert Petkus Panasas at the RCF

Configure AlwaysOn Failover Cluster Instances (SQL Server) using InfoSphere Data Replication Change Data Capture (CDC) on Windows Server 2012

Running a Workflow on a PowerCenter Grid

SMB a protocol example

Integrating Linux systems with Active Directory

DAS to SAN Migration Using a Storage Concentrator

Bring Linux into Microsoft s ADS

Develop a process for applying updates to systems, including verifying properties of the update. Create File Systems

Intellicus Enterprise Reporting and BI Platform

Deploying Microsoft Clusters in Parallels Virtuozzo-Based Systems

Oracle Net Service Name Resolution

Network Attached Storage. Jinfeng Yang Oct/19/2015

SSSD Active Directory Improvements

Transcription:

Clustered CIFS For Everybody Clustering Samba With CTDB LinuxTag 2009 Michael Adam obnox@samba.org 2009-06-24 Contents 1 Cluster Challenges 2 1.1 The Ideas............................... 2 1.2 Challenges For Samba........................ 2 2 CTDB 4 2.1 The CTDB Project.......................... 4 2.2 CTDB Design............................. 4 2.3 Clustered File Systems........................ 6 2.4 Setting Up CTDB.......................... 6 3 Clustered Samba 8 3.1 Configuration Options........................ 8 3.2 Registry Configuration........................ 9 1

1 Cluster Challenges 1.1 The Ideas Basic Ideas storage tends to become too small use a SAN and volume based file systems services using the storage tend to become too slow cluster these services (all-active) this clustering makes use of a clustered file system quite common for web and database servers how about offering the file system itself via CIFS or NFS in a clustered fashion? i.e. turn your SAN in a clustered NAS... Windows servers don t offer this form of clustering Samba now does! With the help of CTDB. 1.2 Challenges For Samba About Samba open source software (GPL) started in 1992 file and print services for windows clients on unix systems makes unix host appear in the windows network neighborhood member file server in windows NT and Active Directory domains can act as NT-style domain controller (logon server) deployed widely in production environments Samba4 (alpha): Active Directory domain controller Franky : glue the good parts together Challenges For Samba samba daemons on cluster nodes need to act as one CIFS server: view of file ownership windows file lock coherence samba instances need to share certain persistent data: user database (passdb.tdb) 2

join information (secrets.tdb) id mapping tables (winbindd idmap.tdb) further share volatile session data: SMB sessions (sessionid.tdb) share connections (connections.tdb) share modes (locking.tdb) byte range locks (brlock.tdb) messaging TDBs And Clustering Goals most problems are about distributing TDBs in the cluster TDB: small, fast Berkeley-DB-style database with record locks and memory mapping persistent TDBs vs. normal (volatile) TDBs TDB R/W performance critical for Samba performance TDB R/W ops: excessive use of POSIX fcntl byte range locks fcntl locks are slow on cluster file systems the more nodes, the slower... naive approach of putting TDBs on cluster storage works in principle but scales very badly A more clever approach is needed. Cluster Samba so that: One node is not slower than an unclustered Samba server. n + 1 nodes are faster than n nodes. This requires a clustered TDB implementation...... and a clustered messaging solution. CTDB :-) 3

2 CTDB 2.1 The CTDB Project The CTDB Project started in 2006 first prototypes by Volker Lendecke, Andrew Tridgell,... first usable version of CTDB: April 2007 meanwhile: Ronnie Sahlberg project maintainer git://git.samba.org/sahlberg/ctdb.git http://ctdb.samba.org/packages/ (RPMs, Sources) Currently runs on Linux and AIX 2.2 CTDB Design CTDB Design one daemon ctdbd on each node smbd talks to local ctdbd for messaging and TDB access ctdbd handles metadata of TDBs via the network ctdbd keeps local TDB copy (LTDB) for fast data reads/writes persistent and normal TDBs are handled differently CTDB distributes public IPs across cluster nodes management features: Samba, NFS and other services CTDB - Basic Setup 4

persistent TDBs complete copy in LTDB on all nodes read ops directly on LTDB (fast) write ops automatically distributed to all nodes (slow) data integrity and read performance guaranteed normal TDBs some records may be lost keep only needed records in LTDB most records are only ever accessed by one node only one node has current copy of a record (data master) before accessing a record, switch data master role good R/W performance, and sufficient data integrity Performance Figures By Andrew Tridgell and Ronnie Sahlberg, Linux Conf Australia 2008 32 client smbtorture NBENCH test 1 node: 109 MBytes/sec 2 nodes: 210 MBytes/sec 3 nodes: 278 MBytes/sec 4 nodes: 308 MBytes/sec Recovery what happens when a node goes down? data master for some records will be lost one node (recovery master) performs recovery recovery master collects most recent copy of all records from all nodes at the end, the recovery master is data master for all records Recovery Election / Recovery Lock recovery master is determined by an election process election involves recovery lock file on shared storage nodes compete with POSIX fcntl byte range locks finally, the new recovery master holds lock on the recovery lock file CTDB requires POSIX fcntl lock support in the cluster FS CTDB has no split brain (other than the file system) 5

2.3 Clustered File Systems Clustered File System - Requirements file system : black box storage: fibre channel, iscsi, drbd,... simulatneous writes from all nodes coherent POSIX fcntl byte range lock support use ping pong test to verify Special File Systems General Parallel File System GPFS (IBM): OK Global File System GFS(2) (Red Hat): OK GNU Cluster File System GlusterFS: OK Lustre (Sun): OK Oracle Cluster File System OCFS(2): OK (new!) 2.4 Setting Up CTDB CTDB - Configuration central file: /etc/sysconfig/ctdb must set: CTDB RECOVERY LOCK fill /etc/ctdb/nodes with internal addresses same file on all nodes! example /etc/ctdb/nodes 10.0.0.10 10.0.0.11 10.0.0.12 10.0.0.13 CTDB - Public Addresses set CTDB PUBLIC ADDRESSES in /etc/sysconfig/ctdb typical value /etc/ctdb/public addresses example /etc/ctdb/public addresses 192.168.111.10/24 eth0 192.168.111.11/24 eth0 192.168.111.12/24 eth0 192.168.111.13/24 eth0 need not be the same on all nodes need not even be present on all nodes (management node...) 6

IP Failover HEALTHY nodes get IP addresses from their public pool when a node goes done: public IPs moved to other nodes CTDB distributes the public IPs equally among healthy nodes with round robin DNS HA and load balancing speed up client reconnects with tickle ACKs! CTDB Toolbox ctdb control ctdbd onnode execute programs on selected nodes ctdb status ctdb ip 7

CTDB manages... CTDB can manage several services i.e. start, stop, monitor them controlled by sysconfig variables CTDB MANAGES SERVICE management performed by scripts in /etc/ctdb/events.d managed services should be removed from the runlevels CTDB manages... CTDB MANAGES SAMBA CTDB MANAGES WINBIND CTDB MANAGES NFS CTDB MANAGES VSFTPD CTDB MANAGES HTTPD 3 Clustered Samba Getting A Clustered Samba in vanilla Samba code since Samba 3.3 (January 2009) precompiled packages from http://www.enterprisesamba.org/ configure --with-cluster-support add idmap tdb2 to --with-shared-modules verify that gpfs.so is built for GPFS usage 3.1 Configuration Options Samba Configuration identical configuration on all nodes clustering = yes passdb backend = tdbsam groupdb:backend = tdb idmap backend = tdb2 vfs objects = fileid fileid:algorithm = fsid / fsname no need to change private dir 8

if CTDB MANAGES SAMBA, do not set interfaces or bind interfaces only example smb.conf [global] clustering = yes netbios name = smbcluster workgroup = mydomain security = ads passdb backend = tdbsam groupdb:backend = tdb idmap backend = tdb2 idmap uid = 1000000-2000000 idmap gid = 1000000-2000000 [share] path = /cluster storage/share writeable = yes vfs objects = fileid fileid:algorithm = fsname 3.2 Registry Configuration Registry Configuration store config in Samba s registry HKLM\Software\Samba\smbconf subkey section value parameter stored in registry.tdb distributed across cluster by CTDB means of easily managing the whole Samba cluster Activation of Registry Configuration registry shares = yes include = registry config backend = registry smb.conf for cluster usage [global] clustering = yes include = registry 9

net conf Manage the whole samba cluster with one command: net conf list net conf listshares net conf import net conf drop net conf showshare net conf addshare net conf delshare net conf setparm net conf getparm net conf delparm net conf getincludes net conf setincludes net conf delincludes Dump the complete configuration in smb.conf format. List the share names. Import configuration from file in smb.conf format. Delete the complete configuration. Show the definition of a share. Create a new share. Delete a share. Store a parameter. Retrieve the value of a parameter. Delete a parameter. Show the includes of a share definition. Set includes for a share. Delete includes from a share definition. 10