This section contains the information you need to plan your Sun Cluster HA for Samba installation and configuration.
Your data service configuration might not be supported if you do not observe these restrictions.
Consider the restrictions in this section to plan the installation and configuration of Sun Cluster HA for Samba. This section provides a list of software and hardware configuration restrictions that apply to Sun Cluster HA for Samba only.
For restrictions that apply to all data services, see the Sun Cluster Release Notes.
The Sun Cluster HA for Samba data service deployment – The Sun Cluster HA for Samba data service consists of two components, Samba and Winbind. These components have the following deployment restrictions.
Samba component — The Samba component, i.e. SMB/CIFS and NetBIOS Name Server, cannot operate as a scalable service and therefore the Sun Cluster HA for Samba data service for the Samba component can only be configured to run as a failover service.
Winbind component — The Winbind component can operate as either a failover or scalable service and therefore the Sun Cluster HA for Samba data service for the Winbind component can be configured to run as a failover or scalable service.
Winbind deployment – The following restrictions apply when deploying winbind.
Samba Version — If the winbind feature is used, then Samba v2.2.4 or later must be installed.
Solaris Version — Solaris 8 or Solaris 9 with patch 113476–05 or later.
Multiple instances — Only one instance of winbind can be deployed, regardless of that instance being a failover or scalable service.
Supported configurations – Currently, only the following configurations are supported with the Sun Cluster HA for Samba data service.
Samba in a Primary Domain Controller (PDC) configuration
Samba in a Backup Domain Controller (BDC) configuration
Samba as an NT Domain member without winbind
Samba as an NT Domain Member with winbind, however refer to the restriction above with Solaris 9
Samba in a security=user configuration
Installing Samba onto Cluster File Systems — Regardless of which Samba delivery method you have chosen, ie from http://www.samba.org or from Solaris 9, the following restrictions apply.
Samba component — Each Samba instance must have a unique configuration directory that reflects the Samba NetBIOS instance name. This configuration directory can be mounted as either a Failover File System or Global File System.
Winbind component — The winbind component can only be deployed as a single instance, however Winbind still requires a configuration directory . This configuration directory can be mounted as a Failover File System or Global File System if the Winbind component will operate as a failover service. However, this configuration directory must be mounted as a Global File System if the Winbind component will operate as a scalable service.
It is considered best practice when mounting Global File Systems to mount them with the /global prefix and to mount Failover File Systems with the /local prefix. However, be aware that this is simply viewed as best practice.
The following example shows Samba installed from http://www.samba.org onto a Global File System with two Samba instances (SAMBA1 and SAMBA2) and Winbind within that Global File System. The final output shows a subset of the /etc/vfstab entries for Samba deployed using Solaris Volume Manager.
# ls -l /usr/local total 4 drwxrwxrwx 2 root other 512 Oct 1 16:44 bin lrwxrwxrwx 1 root other 13 Oct 11 11:20 samba -> /global/samba # # ls -l /global/samba total 18 drwxr-xr-x 2 root other 512 Oct 11 15:00 bin drwxr-xr-x 3 root other 512 Oct 14 13:49 lib drwxr-xr-x 6 root other 512 Oct 11 15:00 man drwxr-xr-x 2 root other 512 Oct 14 10:05 private drwxr-xr-x 7 root other 512 Oct 14 13:39 SAMBA1 drwxr-xr-x 7 root other 512 Oct 14 13:40 SAMBA2 drwxr-xr-x 6 root other 512 Oct 11 15:01 swat drwxr-xr-x 3 root other 512 Oct 14 10:45 var drwxr-xr-x 2 root other 512 Jan 17 09:28 winbind # # more /etc/vfstab (Subset of the output) /dev/md/dg_d6/dsk/d63 /dev/md/dg_d6/rdsk/d63 /global/samba ufs 4 yes logging,global # |
In the above example the configuration directory for the Samba NetBIOS instance SAMBA1 is /global/samba/SAMBA1, whereas the configuration directory for the Samba NetBIOS instance SAMBA2 is /global/samba/SAMBA2. The Winbind configuration directory is /global/samba/winbind.
The following example shows Samba installed from Solaris 9 on Local File Systems and two Samba instances (SMB1 and SMB2) on Failover File Systems. The final output shows a subset of the /etc/vfstab entries for Samba deployed using Solaris Volume Manager.
# ls -l /local/samba total 4 drwxr-xr-x 2 root other 512 Dec 19 15:51 SMB1 drwxr-xr-x 2 root other 512 Dec 19 15:51 SMB2 # # more /etc/vfstab (Subset of the output) /dev/md/dg_d7/dsk/d70 /dev/md/dg_d7/rdsk/d70 /local/samba/SMB1 ufs 3 no logging /dev/md/dg_d8/dsk/d80 /dev/md/dg_d8/rdsk/d80 /local/samba/SMB2 ufs 3 no logging # |
In the above example the configuration directory for the Samba NetBIOS instance SMB1 is /local/samba/SMB1, whereas the configuration directory for the Samba NetBIOS instance SMB2 is /local/samba/SMB2.
Your data service configuration might not be supported if you do not adhere to these requirements.
Use the requirements in this section to plan the installation and configuration of Sun Cluster HA for Samba. These requirements apply to Sun Cluster HA for Samba only. You must meet these requirements before you proceed with your Sun Cluster HA for Samba installation and configuration.
Samba components and their dependencies —The Sun Cluster HA for Samba data service can be configured to protect a Samba instance and its respective components. These components, and their dependencies between each other, are briefly described below.
Table 1–3 Samba components and their dependencies (via -> symbol)
Componet |
Description |
---|---|
Samba (Mandatory) |
-> Winbind resource, if winbind and a single Samba instance is deployed. See below for more information. -> Winbind resource group, if winbind and multiple Samba instances are deployed. See below for more information. -> SUNW.HAStoragePlus resource The SUNW.HAStoragePlus resource manages the Samba File System Mount points and ensures that Samba is not started until these are mounted. |
Winbind(Optional) |
-> SUNW.HAStoragePlus resource The SUNW.HAStoragePlus resource manages the Winbind File System Mount points and ensures that Winbind is not started until these are mounted. |
For more detailed information about these Samba components, refer to the smbd(8), nmbd(8), winbindd(8), and smb.conf(5) man pages.
If your configuration only has a single instance of Samba with winbind, the winbind resource must be registered within the same resource group as the Samba resource. Furthermore, the Samba resource must be start dependent on the winbind resource. Refer to the r_properties(5) man page for information on Resource_dependencies.
If your configuration has multiple instances of Samba with winbind, the winbind resource must be a scalable resource and all Samba resources must be start dependent on the winbind scalable resource group. Refer to the rg_properties(5) man page for information on RG_dependencies. Furthermore, the winbind configuration directory must be mounted as a Global File System.
Each Samba component has a configuration and registration file under /opt/SUNWscsmb/xxx/util, where xxx is a three character abbreviation for the respective Samba component. These files allow you to register the Samba components with Sun Cluster.
Within these files, the appropriate dependencies have already been applied.
# cd /opt/SUNWscsmb # # ls -l samba/util total 6 -rwxr-xr-x 1 root sys 1526 Dec 20 14:44 samba_config -rwxr-xr-x 1 root sys 736 Dec 20 14:44 samba_register # # ls -l winbind/util total 4 -rwxr-xr-x 1 root sys 1006 Dec 20 14:44 winbind_config -rwxr-xr-x 1 root sys 613 Dec 20 14:44 winbind_register # # more samba/util/* :::::::::::::: samba/util/samba_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by samba_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # SMB_BIN - name of the Samba bin directory # SMB_SBIN - name of the Samba sbin directory # (If no sbin then specify the bin directory) # SMB_INST - name of the Samba configuration directory # SMB_LOG - name of the Samba log directory # for log.smbd and log.nmbd # (If not specified will default # to $SMB_INST/logs) # FMUSER - name of the Samba fault monitor user # FMPASS - name of the Samba fault monitor user password # LH - name of the LogicalHostname SC resource # HAS_RS - name of the Samba HAStoragePlus SC resource # # The following two examples illustrate sample parameters # for Samba packaged with Solaris 9 and Samba downloaded # from http://www.samba.org. # # Please be aware that /global/samba/SAMBA1, /local/samba/SMB1 and # uid/pwd of samba are used just as examples. You will need # change this if your values are different. # # SUNWsmb* packaged with Solaris 9 # # SMB_BIN=/usr/sfw/bin # SMB_SBIN=/usr/sfw/sbin # SMB_INST=/local/samba/SMB1 # SMB_LOG=/local/samba/SMB1/logs # FMUSER=samba # FMPASS=samba # # Latest production release from http://www.samba.org # # SMB_BIN=/global/samba/bin # SMB_SBIN=/global/samba/sbin or /global/samba/bin # SMB_INST=/global/samba/SAMBA1 # SMB_LOG=/global/samba/SAMBA1/logs # FMUSER=samba # FMPASS=samba # RS= RG= SMB_BIN= SMB_SBIN= SMB_INST= SMB_LOG= FMUSER= FMPASS= LH= HAS_RS= :::::::::::::: samba/util/samba_register :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # . `dirname $0`/samba_config scrgadm -a -j $RS -g $RG -t SUNW.gds \ -x Start_command="/opt/SUNWscsmb/samba/bin/start_samba \ -R $RS -G $RG -B $SMB_BIN -S $SMB_SBIN -C $SMB_INST \ -L $SMB_LOG -U ${FMUSER}%${FMPASS} -M scmondir" \ -x Stop_command="/opt/SUNWscsmb/samba/bin/stop_samba \ -R $RS -G $RG -B $SMB_BIN -S $SMB_SBIN -C $SMB_INST \ -L $SMB_LOG -U ${FMUSER}%${FMPASS} -M scmondir" \ -x Probe_command="/opt/SUNWscsmb/samba/bin/probe_samba \ -R $RS -G $RG -B $SMB_BIN -S $SMB_SBIN -C $SMB_INST \ -L $SMB_LOG -U ${FMUSER}%${FMPASS} -M scmondir" \ -y Port_list=137/udp,138/udp,139/tcp -y Network_resources_used=$LH \ -x Stop_signal=9 \ -y Resource_dependencies=$HAS_RS # |
The smb.conf file — The Sun Cluster HA for Samba data service provides a sample smb.conf file, however you should ensure that the following parameters are set.
The smb.conf file is probably the most important file within Samba. Therefore you are recommended to refer to the smb.conf(5) man page for complete configuration information on the parameters that follow. Be aware that the Samba man pages with Solaris 9 are only installed if you have installed the SUNWsfman package.
Samba smb.conf file
bind interfaces only has to be set to True.
interface has to be defined to the Logical Hostname.
netbios name has to be set to the NetBIOS name by which the Samba server is known.
security specifies the security mode the Samba instance will run under.
Winbind smb.conf file
workgroup has to be set to the same value as the Samba smb.conf entry.
password server has to be set to the same value as the Samba smb.conf entry.
template homedir has to be set to the same value as the Samba smb.conf entry.
template shell has to be set to the same value as the Samba smb.conf entry.
winbind uid has to be set to the same value as the Samba smb.conf entry.
winbind gid has to be set to the same value as the Samba smb.conf entry.
winbind enum users has to be set to the same value as the Samba smb.conf entry.
winbind use default domain has to be set to the same value as the Samba smb.conf entry.
If additional smb.conf entries are made and those entries require a path variable, then you must ensure that any subsequent pathname is created within the relevant Samba or Winbind instance configuration directory.