Sun Cluster Data Service for Samba Guide for Solaris OS

Planning the Sun Cluster HA for Samba Installation and Configuration

This section contains the information you need to plan your Sun Cluster HA for Samba installation and configuration.

Throughout this section references will be made to the Samba instance and winbind instance. The Sun Cluster HA for Samba data service consists of three components smbd, nmbd, and winbindd.

The smbd and optional nmbd components will be created within a single resource. This will be referred to as the Samba instance or Samba resource.

The winbindd component will be created as a separate resource and will be referred to as the winbind instance or winbind resource.

For conceptual information about failover data services, and scalable data services, see Sun Cluster Concepts Guide for Solaris OS.

For conceptual information about failover zones, see Sun Cluster Data Service for Solaris Containers Guide.

Configuration Restrictions

The configuration restrictions in the subsections that follow apply only to Sun Cluster HA for Samba.


Caution – Caution –

Your data service configuration might not be supported if you do not observe these restrictions.


Restriction for the supported configurations of Samba

Sun Cluster HA for Samba supports Samba in the following configurations.

Sun Cluster HA for Samba is supported in the following Sun Cluster configurations.

Restriction for the Location of Samba files

The Samba files are where the Samba shares and smb.conf files are stored. The Sun Cluster HA for Samba data service requires that these files are stored within a configuration directory that reflects the NetBIOS name for the Samba or winbind instance. The Samba files needs to be placed on shared storage as either a cluster file system or a highly available local file system.

The following deployment example has been taken from Appendix A, Deployment Example: Installing Samba packaged with Solaris 10, where the configuration directory is /local/samba/smb1 which is a highly available local file system and the NetBIOS name is smb1.


Vigor5# mkdir -p /local/samba/smb1
Vigor5# cd /local/samba/smb1
Vigor5# mkdir -p lib logs private shares var/locks

Note –

If Samba is downloaded and compiled from http://www.samba.org you may also want to consider placing these binaries on a cluster file system or highly available local file system.

Refer to Determining the Location of Application Binaries in Sun Cluster Data Services Planning and Administration Guide for Solaris OS for a discussion on cluster file systems and highly available local file systems.


Restriction for the Samba smb.conf files

The Samba smb.conf file is a configuration file that is used by the Samba and winbind instances.

The Sun Cluster HA for Samba data service requires that these files are located at configuration-directory/lib/smb.conf. Depending on how Samba is deployed the following restrictions apply.

Each Samba instance requires a unique configuration directory that reflects the NetBIOS name of the Samba instance.

A winbind instance may share a Samba instance configuration directory and subsequent smb.conf file, together with the NetBIOS name of the Samba instance, if the Samba and winbind instances are deployed within the same failover resource group.

If a winbind instance is configured within a scalable resource group, a unique configuration directory that reflects the NetBIOS name for the winbind instance is required.

Each Samba instance smb.conf file must have a [scmondir] share. The Sun Cluster HA for Samba fault monitor uses smbclient to access the directory specified within [scmondir] to verify that smnd is operating correctly.


Example 1 Sample [scmondir] entry within smb.conf.


[scmondir]
comment = Monitor directory for Sun Cluster
path = /tmp
browseable = No

For illustration purposes the following example shows Samba installed from http://www.samba.org onto a cluster file system with two Samba instances (smb1 and smb2) and a winbind instance (winbind).

The Samba instances will run as failover services within separate failover resource groups on highly available local file systems with their own unique configuration directories. winbind will run as a scalable service on a cluster file system with it's own unique configuration directory.

Within this example:


Example 2 Samba and winbind configuration directories


bash-3.00# ls -l /opt/samba
lrwxrwxrwx   1 root     root     20 Jul 13 11:24 /opt/samba -> /global/samba/latest
bash-3.00#
bash-3.00# ls -l /global/samba
total 8
drwxrwx---   2 root     root     512 Jul 13 11:20 3.0.22
drwxrwx---   3 root     root     512 Jul 13 11:20 config
lrwxrwxrwx   1 root     root      20 Jul 13 11:20 latest -> /global/samba/3.0.22
drwxrwx---   2 root     root     512 Jul 13 11:20 software
bash-3.00#
bash-3.00# ls -l /global/samba/config
total 2
drwxrwx---   2 root     root     512 Jul 13 11:20 winbind
bash-3.00#
bash-3.00# ls -l /local/samba/config
total 4
drwxrwx---   2 root     root     512 Jul 13 11:25 smb1
drwxrwx---   2 root     root     512 Jul 13 11:25 smb2
bash-3.00#

Restriction for multiple Samba instances that require winbind

The Sun Cluster HA for Samba data service can support multiple Samba instances. However, only one winbind instance is supported per global zone, non-global zone or failover zone.

If you intend to deploy multiple Samba instances that also require winbind, then you will need to consider if winbind needs to be a scalable service. The following discussion will help you determine how to deploy single or multiple Samba instances with winbind.

Disregard any reference to winbind if it is not required.

Within these examples:


Note –

Although these examples show non-global zones z1 and z2, you may also use global as the zone name or omit the zone entry within the Nodelist property value to use the global zone.



Example 3 Run all Samba instances and a winbind instance within the same failover resource group.

Create a single failover resource group that will contain all the Samba instances and a winbind instance in non-global zones across node1 and node2.


# clresourcegroup create -n node1:z1,node2:z1 RG1


Example 4 Run each Samba/winbind instance within separate failover resource groups.

Create multiple failover resource groups that will each contain one Samba/winbind instance in exclusive non-global zones across node1 and node2.


# clresourcegroup create -n node1:z1,node2:z1 RG1
#
# clresourcegroup create -n node1:z2,node2:z2 RG2
#
# clresourcegroup create -n node1:z[n],node2:z[n] RG[n]


Example 5 Run each Samba instance within separate failover resource groups and winbind in a scalable resource group.

Create multiple failover resource groups that will each contain one Samba instance and one scalable resource group that will contain a scalable winbind resource in shared non-global zones across node1 and node2.


# clresourcegroup create -n node1:z1,node2:z1 RG1
#
# clresourcegroup create -n node1:z1,node2:z1 RG2
#
# clresourcegroup create -n node1:z1,node2:z1 RG[n]
#
# clresourcegroup create -S -n node1:z1,node2:z1 RG3


Note –

For a scalable resource group different zones from the same node cannot be specified in the Nodelist parameter, thereby limiting a scalable resource group for winbind to one zone from the same node.



Example 6 Run each Samba/winbind instance in separate failover resource groups that contain separate failover zones across node1 and node2.

Create multiple failover resource groups that will each contain a failover zone. Each failover zone will then contain one Samba/winbind instance.


# clresourcegroup create -n node1,node2 RG1
#
# clresourcegroup create -n node1,node2 RG2
#
# clresourcegroup create -n node1,node2 RG[n]


Note –

If your requirement is simply to make Samba highly available you should consider choosing a global or non-global zone deployment over a failover zone deployment. Deploying Samba within a failover zone will incur additional failover time to boot/halt the failover zone.


Configuration Requirements

The configuration requirements in this section apply only to Sun Cluster HA for Samba.


Caution – Caution –

If your data service configuration does not conform to these requirements, the data service configuration might not be supported.


Determine which Solaris Zone Samba will run use

Solaris zones provides a means of creating virtualized operating system environments within an instance of the Solaris 10 OS. Solaris zones allow one or more applications to run in isolation from other activity on your system. For complete information about installing and configuring a Solaris Container, see System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.

You must determine which Solaris Zone Samba will run in. Samba can run within a global zone, non-global zone or in a failover zone configuration. Table 2 provides some reasons to help you decide.


Note –

Samba cam be deployed within a whole root zone or a sparse root zone of a non-global zone or failover zone.


Table 2 Choosing the appropriate Solaris Zone for Samba

Zone type 

Reasons for choosing the appropriate Solaris Zone for Samba 

Global Zone 

Only one instance of Samba will be installed. 

Non-global zones are not required. 

Non-global Zone 

Several Samba instances need to be consolidated and isolated from each other. 

Different versions of Samba will be installed. 

Failover testing of Samba between non-global zones on the same node is required. 

Failover Zone 

You require Samba to run in the same zone regardless of which node the failover zone is running on. 


Note –

If your requirement is simply to make Samba highly available you should consider choosing a global or non-global zone deployment over a failover zone deployment. Deploying Samba within a failover zone will incur additional failover time to boot/halt the failover zone.


Dependencies Between Sun Cluster HA for Samba Components

If your Samba resource requires winbind, you must configure a start dependency on the winbind resource.

You will be required to set this dependency after you have created the Samba and winbind resources and will be prompted to do so later on within Registering and Configuring Sun Cluster HA for Samba.

Table 3 list the various dependencies.

Table 3 Samba components and their dependencies

Component 

Description 

Samba resource  

(smbd and nmbd)

The winbind resource (If the Samba resource requires winbind services)

The smbd Logical Host resource

The smbd HA Storage resource

winbind resource  

(winbindd)

The winbindd Logical Host resource

The winbindd HA Storage resource


Note –

Dependencies against the relevant component's Logical Host or HA Storage resource will be set for you when the Samba and winbind resources are registered.


Required parameters for the Samba smb.conf file

The Samba smb.conf file located within each configuration directory must contain the following parameters. Refer to the smb.conf(5) man page for complete configuration information on the parameters that follow.