Skip to main content

Provide high availability and scaling to your Samba instances

Use active/active clustered Samba to allow users to simultaneously access files on shared storage, even in the event of a server failure.
Image
Classic card catalog

Samba is a widely used open source software suite that provides file and print services for Microsoft Windows clients using Linux and Unix. It enables users to share files and printers over a network, regardless of their operating system. Samba is often used in enterprise environments to provide shared file storage. For example, Samba can be combined with Red Hat Enterprise Linux Resilient Storage (which includes GFS2) to provide a highly available and scalable clustered file system.

GFS2 is a shared-disk file system designed for use in a clustered environment. It allows multiple bare metal or virtual servers to access the same file system simultaneously. It enables them to share a block device exported by an on-premises SAN (Storage Area Network) architecture or one that uses a public cloud-shared block store. With GFS2, users can create, mount, and manage a shared file system accessible to multiple Samba servers.

[ Build a resilient IT culture ]

Image
Clustered Samba with GFS2 Architecture Diagram
(Abhijith Das, CC BY-SA 4.0)

Active/active clustered Samba on GFS2 is a powerful solution that can help organizations achieve high availability and scalability for their file-sharing needs. This configuration allows multiple Samba servers to simultaneously access the same shared storage, providing users with seamless access to their files, even in the event of a server failure.

RHEL's Resilient Storage Add-on includes GFS2 and clustered Samba.

Benefits

There are several benefits to deploying a highly available clustered Samba-over-GFS2 solution:

  • Active/active: With multiple Samba servers accessing the same shared storage via GFS2, if one server fails, the others can continue to provide access to files without interruption.
  • Load balancing: By spreading the load across multiple servers, organizations can achieve better performance and scalability.
  • Redundancy: By eliminating single points of failure using redundant hardware components, organizations can tolerate hardware failure and keep services running.
  • Simplified management: After the initial configuration, the software manages the cluster, GFS2, and Samba services automatically. Any service migration due to load balancing or failover is handled without system administrator intervention. Configuration changes and package updates can often be performed node by node, without taking down the service..

Considerations

There are 2 important considerations for organizations looking to implement this solution:

  1. Hardware and redundancy: in addition to having sufficient hardware resources like CPU, RAM, and storage on the cluster servers, it is also essential to keep redundancy in mind when it comes to power, networking, and shared storage components. Redundant NICs, switches, power supplies, and multipathing shared storage vastly improve the system's availability by avoiding single points of failure.
  2. Configuration: setting up clustered Samba on GFS2 can be complex, and organizations must carefully configure each server and the shared storage to ensure proper operation. The Red Hat Enterprise Linux Documentation provides instructions on setting up and configuring active/active clustered Samba with RHEL Resilient Storage.

[ Check out Red Hat Portfolio Architecture Center for a wide variety of reference architectures you can use. ]

Wrap up

This solution provides high availability and scaling to Samba use cases, including cross-platform file, print, and media servers, homedir server users, Active Directory integration for centralized authentication and resource access, and more.

Author’s photo

Abhi Das

Abhi is a File Systems and Storage Engineer at Red Hat with over 17 years of experience designing and developing cluster and storage solutions for the enterprise. More about me

Try Red Hat Enterprise Linux

Download it at no charge from the Red Hat Developer program.

OUR BEST CONTENT, DELIVERED TO YOUR INBOX

Privacy Statement