表 1–1 に、 Sun Cluster HA for Samba のインストールと構成に必要な作業を示します。指定された順番どおりに、各作業を行なってください。
表 1–1 作業マップ : Sun Cluster HA for Samba のインストールと構成
作業 |
参照先 |
---|---|
インストールを計画する | |
Samba をインストールして構成する | |
インストールと構成を確認する | |
Sun Cluster HA for Samba パッケージをインストールする |
scinstall ユーティリティーを使った Sun Cluster HA for Samba パッケージのインストール方法 |
Sun Cluster HA for Samba を登録して構成する | |
Sun Cluster HA for Samba のインストールと構成を確認する | |
Sun Cluster HA for Samba の障害モニターを理解する | |
Sun Cluster HA for Samba をデバッグする |
Winbind をスケーラブルサービス、Sun Cluster HA for Samba をフェイルオーバーサービスとして登録および構成する方法 |
Samba は、SMB/CIFS クライアントにシームレスなファイルサービスとプリントサービスを提供する、オープンソース/フリーウェアスイートです。Samba は、GNU General Public License のもとで無料で利用でき、http://www.samba.org からダウンロードできます。さらに、Samba は現在 SUNWsmbac、SUNWsmbar、SUNWsmbau、および SUNWsfman パッケージとして、Solaris 9 とともにパッケージ化されています。
Sun Cluster HA for Samba データサービスのメカニズムによって、Samba サービスの順序正しい起動、停止、障害モニター、自動フェイルオーバーを実行できます。次の Samba コンポーネントは、Sun Cluster HA for Samba データサービスによって保護されます。
表 1–2 コンポーネントの保護
コンポーネント |
Samba コンポーネントを保護するデータサービス |
---|---|
SMB/CIFS |
Sun Cluster HA for Samba (Samba コンポーネント) |
NetBIOS Name Server |
Sun Cluster HA for Samba (Samba コンポーネント) |
Winbind |
Sun Cluster HA for Samba (Winbind コンポーネント — 113476–05 以降が適用された Solaris 8 または Solaris 9) |
ここでは、Sun Cluster HA for Samba のインストールと構成の計画について説明します。
次の制限事項を守らないと、データサービスの構成がサポートされない場合があります。
ここで示す制限事項を考慮して、Sun Cluster HA for Samba のインストールと構成の計画を行なってください。ここでは、Sun Cluster HA for Samba にのみ適用されるソフトウェアとハードウェア構成の制限事項を示します。
すべてのデータサービスに適用される制限事項については、Sun Cluster ご使用にあたって を参照してください。
Sun Cluster HA for Samba データサービスの配備 – Sun Cluster HA for Samba データサービスは Samba と Winbind という 2 つのコンポーネントからなります。これらのコンポーネントを配備する場合の制限事項は、次のとおりです。
Samba コンポーネント — Samba コンポーネント、すなわち SMB/CIFS と NetBIOS Name Server は、スケーラブルなサービスとしては運用できないため、Samba コンポーネント用の Sun Cluster HA for Samba データサービスは、フェイルオーバーサービスとしてのみ構成できます。
Winbind コンポーネント — Winbind コンポーネントはフェイルオーバーサービスとしても、スケーラブルなサービスとしても運用できるため、Winbind コンポーネント用の Sun Cluster HA for Samba データサービスは、フェイルオーバーサービスとして運用するように構成することも、スケーラブルサービスとして運用するように構成することもできます。
Winbind の配備 – Winbind の配備に関する制限事項は、次のとおりです。
Samba のバージョン — Winbind 機能を使用する場合は、Samba v2.2.4 またはそれ以降をインストールする必要があります。
Solaris のバージョン — 113476–05 またはそれ以降のパッチを適用した Solaris 9
マルチインスタンス — インスタンスがフェイルオーバーサービスであるか、スケーラブルサービスであるかに関係なく、配備できる Winbind のインスタンスは 1 つだけです。
サポートされる構成 – 現在、Sun Cluster HA for Samba データサービスでサポートされるのは以下の構成に限られます。
Primary Domain Controller (PDC) 構成での Samba
Backup Domain Controller (BDC) 構成での Samba
Winbind を使用しない、NT ドメインメンバーとしての Samba
Winbind を使用する、NT ドメインメンバーとしての Samba。ただし、Solaris 9 の制限事項 (上述) を参照。
スタンドアロン構成での Samba
クラスタファイルシステムへの Samba のインストール — Samba の配布方法 (http://www.samba.org から、または Solaris 9 から) に関係なく、以下の制限事項が適用されます。
Samba コンポーネント — 各 Samba インスタンスに Samba NetBIOS インスタンス名が反映された固有の構成ディレクトリを与える必要があります。この構成ディレクトリは、フェイルオーバーファイルシステムまたは広域ファイルシステムとしてマウントできます。
Winbind コンポーネント — Winbind は、単一インスタンスとしてしか配備できませんが、Winbind のために構成ディレクトリが必要です。この構成ディレクトリは、Winbind コンポーネントをフェイルオーバーサービスとして運用する場合、フェイルオーバーファイルシステムとしてでも、広域ファイルシステムとしてでもマウントできます。ただし、Winbind をスケーラブルサービスとして運用する場合は、この構成ディレクトリを広域ファイルシステムとしてマウントする必要があります。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するようにしてください。 必須ではありませんが、こうするのが最も好都合です。
次の例の Samba は、http://www.samba.org から広域ファイルシステムにインストールされており、その広域ファイルシステム内に 2 つの Samba インスタンス (SAMBA1 および SAMBA2) および Winbind があります。最終出力は、Solaris Volume Manager を使用して配備された Samba に対応する /etc/vfstab エントリのサブセットです。
# 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 (出力の一部) /dev/md/dg_d6/dsk/d63 /dev/md/dg_d6/rdsk/d63 /global/samba ufs 4 yes logging,global # |
上の例では、Samba NetBIOS インスタンス SAMBA1 の構成ディレクトリは /global/samba/SAMBA1 です。Samba NetBIOS インスタンス SAMBA2 の構成ディレクトリは /global/samba/SAMBA2です。Winbind の構成ディレクトリは /global/samba/winbind です。
次の例では、Samba が Solaris 9 からローカルファイルシステムにインストールされており、フェイルオーバーファイルシステムに 2 つの Samba インスタンス (SMB1 および SMB2) があります。最終出力は、Solaris Volume Manager を使用して配備された Samba に対応する /etc/vfstab エントリのサブセットです。
# 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 (出力の一部) /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 # |
上の例では、Samba NetBIOS インスタンス SMB1 の構成ディレクトリは /local/samba/SMB1 です。Samba NetBIOS インスタンス SMB2 の構成ディレクトリは /local/samba/SMB2 です。
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
ここで示す要件に従って、Sun Cluster HA for Samba のインストールと構成の計画を行なってください。これらの要件は、Sun Cluster HA for Samba にのみ適用されます。 Sun Cluster HA for Samba のインストールと構成を始める前に、次の要件を満たしておく必要があります。
Samba コンポーネントと依存関係 — Sun Cluster HA for Samba データサービスは、Samba インスタンスとそれぞれのコンポーネントを保護するように構成できます。以下、各コンポーネントとコンポーネント間の依存関係について簡単に説明します。
表 1–3 Samba と依存関係 (-> 記号で示す)
コンポーネント |
説明 |
---|---|
Samba (必須) |
-> Winbind リソース (Winbind と単一の Samba インスタンスを配備する場合)。詳細は、以下の説明を参照してください。 -> Winbind リソースグループ (Winbind と複数の Samba インスタンスを配備する場合)。詳細は、以下の説明を参照してください。 -> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、Samba のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは Samba が起動しないようにします。 |
Winbind(任意) |
-> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、Winbind のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは Winbind が起動しないようにします。 |
Samba コンポーネントの詳細は、smbd(8)、nmbd(8)、winbindd(8)、および smb.conf(5) のマニュアルページを参照してください。
構成に Winbind を使用する Samba のインスタンスが 1 つだけ含まれる場合、Winbind リソースを Samba リソースと同じリソースグループに登録する必要があります。さらに、Samba リソースの起動が Winbind リソースに依存するようにしなければなりません。Resource_dependencies については、r_properties(5) のマニュアルページを参照してください。
構成に Winbind を使用する Samba のインスタンスが複数含まれる場合は、Winbind リソースをスケーラブルリソースにして、すべての Samba リソースの起動が Winbind スケーラブルリソースグループに依存するようにしなければなりません。RG_dependencies については、rg_properties(5) のマニュアルページを参照してください。さらに、Winbind の構成ディレクトリ を広域ファイルシステムとしてマウントする必要があります。
各 Samba コンポーネントは、/opt/SUNWscsmb/xxx/util に構成/登録ファイルがあります。xxx は個々の Samba コンポーネントを表す 3 文字の略語です。 これらのファイルによって、Sun Cluster に Samba コンポーネントを登録できます。
これらのファイル内では、該当する依存関係がすでに適用されています。
# 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 # |
smb.conf ファイル — Sun Cluster HA for Samba データサービスにはサンプルの smb.conf ファイルがありますが、以下のパラメータが設定されていることを確認してください。
smb.conf ファイルは Samba で最も重要なファイルと言えます。したがって、smb.conf(5) のマニュアルページを参照し、以下のパラメータの設定に関する詳細を確認してください。Solaris 9 に含まれる Samba のマニュアルページを参照するには SUNWsfman パッケージがインストールされている必要があることに注意してください。
Samba の smb.conf ファイル
bind interfaces only を True に設定する必要があります。
interface を論理ホスト名に対して定義する必要があります。
netbios name は、Samba サーバーを識別する NetBIOS 名に設定する必要があります。
security では、Samba インスタンスがどのセキュリティモードで稼働するかを指定します。
Winbind の smb.conf ファイル
workgroup は、Samba の smb.conf エントリと同じ値に設定する必要があります。
password server は、Samba の smb.conf エントリと同じ値に設定する必要があります。
template homedir は、Samba の smb.conf エントリと同じ値に設定する必要があります。
template shell は、Samba の smb.conf エントリと同じ値に設定する必要があります。
winbind uid は、Samba の smb.conf エントリと同じ値に設定する必要があります。
winbind gid は、Samba の smb.conf エントリと同じ値に設定する必要があります。
winbind enum users は、Samba の smb.conf エントリと同じ値に設定する必要があります。
winbind use default domain は、Samba の smb.conf エントリと同じ値に設定する必要があります。
他の smb.conf エントリを作成し、それらのエントリにパス変数が必要な場合、以後のパス名が関連する Samba または Winbind インスタンスの構成ディレクトリ内で作成されていることを確認する必要があります。
ここでは Samba をインストールして構成する手順について説明します。
これ以降のセクションでは、Samba または Winbind の特定のディレクトリを参照します。前の例で示したこれらの参照の一般的なパス名をまとめておきます。これらの例が示されている構成に関する制限事項を参照してください。
Samba を http://www.samba.org から広域ファイルシステムにインストールし、広域ファイルシステムに Samba インスタンスと Winbind がある場合 (例 1–1)
Samba-bin-directory — /global/samba/bin
Samba-sbin-directory — /global/samba/sbin または
/global/samba/bin (Samba がデフォルトの設定値でインストールされている場合)
Samba-configuration-directory — /global/samba/SAMBA1
Winbind-configuration-directory — /global/samba/winbind
Samba を Solaris 9 からローカルファイルシステムにインストールし、Samba インスタンスがフェイルオーバーファイルシステムにある場合 (例 1–2)
Samba-bin-directory — /usr/sfw/bin
Samba-sbin-directory — /usr/sfw/sbin
Samba-configuration-directory — /local/samba/SMB1
次の手順で、Samba をインストールして構成します。
Sun Cluster における Samba の配備方法を決定 – Samba をどのように配備するかを決定する必要があります。
配備する Samba インスタンス数を決定します。
Winbind を配備するかどうかを決定します。
各 Samba インスタンスと Winbind インスタンス (配備する場合) に使用させるクラスタファイルシステムを決定します。
Samba クラスタファイルシステムのマウント – Sun Cluster における Samba と Winbind の配備方法を決定してから、クラスタファイルシステムがマウントされていることを確認する必要があります。
Samba インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。
Sun Cluster 内の全ノードへの Samba のインストール – Samba は広域ファイルシステムにインストールすることをお勧めします。ローカルファイルシステムにソフトウェアをインストールした場合とクラスタファイルシステムにインストールした場合のメリットとデメリットについては、『Sun Cluster データサービスのインストールと構成 』の 「アプリケーションバイナリの格納先の決定」を参照してください。
http://www.samba.org から Samba をダウンロード— /usr/local/samba がクラスタファイルシステムであるか、またはクラスタファイルシステムへのシンボリックリンクであることを確認します。 ただし、Samba ソフトウェアにローカルディスクを使用する場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
Samba をダウンロードして圧縮を解除 (unzip) したあとで、Samba を Winbind とともにインストールする例を示します。
# cd <samba_install_directory>/source # # ./configure --with-winbind --with-pam # # make # # make install |
または、Solari 9 CD から Samba をインストール — Sun Cluster 内の Samba サービスを稼働させるすべてのノードに、以下のパッケージをインストールする必要があります。
SUNWsmbac
SUNWsmbar
SUNWsmbau
SUNWsfman
障害モニターユーザー用のエントリを作成します。
Winbind を使用しない場合
Sun Cluster のすべてのノードで、/etc/group にエントリを作成します。
# groupadd -g 1000 <fmgroup> |
Sun Cluster のすべてのノードで、/etc/passwd にエントリを作成します。このユーザーにはロックされたパスワードを与えます。シェルとホームディレクトリは与えません。
# useradd -u 1000 -g 1000 -s /bin/false <fmuser> |
Winbind を使用する場合
ホームディレクトリ、ユーザープロファイル、およびログオンスクリプトを指定しないで、NT PDC に障害モニターユーザーを作成します。さらに、Password never expire パラメータを True に、User cannot change password パラメータを True に設定します。
Samba インスタンス (複数可) に必要なディレクトリを作成 – 複数の Samba インスタンスを配備する場合は、Samba インスタンスごとに、すなわちsamba-configuration-directory ごとにこの手順を繰り返す必要があります。 さらに、共有用のディレクトリを作成する必要があります。このディレクトリには任意の名前を指定できます。
# cd <samba-configuration-directory> # # mkdir -p lib logs private shares var/locks |
<samba-configuration-directory> については、構成に関する制限事項 を参照してください。 構成に関する制限事項 の例と以下の例で使用している一般的なパス名の一覧については、Samba のインストールと構成を参照してください。
SAMBA1 と SAMBA2 という 2 つの Samba インスタンスの例を示します。Samba は http://www.samba.org からインストールされていて、/usr/local/samba は広域ファイルシステムとしてマウントされた /global/samba へのシンボリックリンクが設定されています。SAMBA1 の samba-configuration-directory は /global/samba/SAMBA1 です。SAMBA2 の samba-configuration-directory は /global/samba/SAMBA2 です。
# ls -l /usr/local/samba lrwxrwxrwx 1 root other 13 Oct 11 11:20 /usr/local/samba -> /global/samba # # cd /global/samba # # ls -l 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 # # cd SAMBA1 # # mkdir -p lib logs private shares var/locks # # cd ../SAMBA2 # # mkdir -p lib logs private shares var/locks |
要件に基づいて Samba の smb.conf ファイルを作成 — Sun Cluster HA for Samba データサービスは Samba 用のサンプル smb.conf ファイルを提供します。
Sun Cluster の初期インストール時に Sun Cluster HA for Samba パッケージ (SUNWscsmb) をインストールしなかった場合は、Sun Cluster HA for Samba パッケージのインストール を参照してこのパッケージをインストールする必要があります。そのあとでここに戻り、Samba のインストールと構成作業を続けてください。
/opt/SUNWscsmb/samba/etc/smb.conf_sample の内容は Samba 構成ファイルのサンプルです。このサンプルファイルを使用して、独自の Samba インスタンス <samba-configuration-directory>/lib/smb.conf を作成できます。ただし、各自の構成値が反映されるように、ファイルを編集する必要があります。
# cp /opt/SUNWscsmb/samba/etc/smb.conf_sample \ <samba-configuration-directory>/lib/smb.conf |
Winbind コンポーネントをインストールしている場合は smb.conf_sample をコピーしたあとで、<samba-configuration-directory> /lib/smb.conf の global セクションに以下のエントリを追加する必要があります。 以下の値は、smb.conf(5) のマニュアルページに基づいたデフォルト値です。
winbind uid = 10000-20000 winbind gid = 10000-20000 winbind enum users = yes winbind enum groups = yes |
pid directory は、smb.conf_sample の中で指定されているように、<samba-configuration-directory> /var/locks を示さなければなりません。
Samba smb.conf ファイルのテスト — Samba smb.conf ファイルを作成してから、作業を続ける前に構成をテストする必要があります。
# <samba-bin-directory>/testparm \ <samba-configuration-directory>/lib/smb.conf |
NT ドメインメンバーとして構成している場合は、ドメインを結合します。
# <samba-bin-directory>/smbpasswd \ -c <samba-configuration-directory>/lib/smb.conf \ -j <DOMAIN> -r <PDC>\ -U <Administrator on the PDC> |
正常に処理されると、次のメッセージが表示されます。
# smbpasswd: Joined domain <DOMAIN> |
NT PDC として構成している場合、または security = user を指定して構成している場合は障害モニターユーザーを追加します。
# <samba-bin-directory>/smbpasswd \ -c <samba-configuration-directory>/lib/smb.conf \ -a <fmuser> |
現在、Solaris 9 のパッケージに組み込まれている Samba v2.2.2 では、 smbpasswd プログラムが -c パラメータを認識せず、/etc/sfw で smb.conf ファイルを見つけようとします。この問題を回避するには、/etc/sfw/smb.conf から <samba-configuration-directory> /lib/smb.conf へのシンボリックリンクを作成します。複数の Samba インスタンスを配備する場合はシンボリックリンクを削除し、Samba インスタンスごとに手順を繰り返す必要があります。
パッチ 114684–01 以降がインストールされている場合、smbpasswd が -c パラメータを認識します。
Winbind インスタンスに必要なディレクトリを作成 – 以下の手順が必要なのは Winbind コンポーネントを使用する場合だけです。それ以外の場合は、以下の手順を省いて Samba のインストールと構成の確認 に進んでください。
Winbind を配備する場合は、winbind-configuration-directory 内に以下のディレクトリとシンボリックリンクを作成する必要があります。
# cd <winbind-configuration-directory> # # mkdir -p lib locks private var # mkdir -p /var/winbind/pid # ln -s /var/winbind/pid var/locks |
<winbind-configuration-directory> については、構成に関する制限事項 を参照してください。構成に関する制限事項 の例と以下の例で使用している一般的なパス名の一覧については、Samba のインストールと構成 を参照してください。
Winbind インスタンスの例を示します。Samba は http://www.samba.org からインストールされていて、/usr/local/samba は広域ファイルシステムとしてマウントされた /global/samba へのシンボリックリンクが設定されています。Winbind 用の winbind-configuration-directory は /global/samba/winbind です。
# ls -l /usr/local/samba lrwxrwxrwx 1 root other 13 Oct 11 11:20 /usr/local/samba -> /global/samba # # cd /global/samba # # ls -l 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 # # cd winbind # # mkdir -p lib locks private var # mkdir -p /var/winbind/pid # ln -s /var/winbind/pid var/locks |
要件に基づいて Winbind の smb.conf ファイルを作成 (必要な場合) — Sun Cluster HA for Samba データサービスは、サンプルとして Winbind 用のサンプル smb.conf ファイルを提供します。
Sun Cluster の初期インストール時に Sun Cluster HA for Samba パッケージ (SUNWscsmb) をインストールしなかった場合は、Sun Cluster HA for Samba パッケージのインストール を参照してこのパッケージをインストールする必要があります。そのあとでここに戻り、Samba のインストールと構成作業を続けてください。
/opt/SUNWscsmb/winbind/etc/smb.conf_sample の内容は Winbind 構成ファイルのサンプルです。このサンプルファイルを使用して、独自の Winbind インスタンス <winbind-configuration-directory> /lib/smb.conf を作成できます。ただし、各自の構成値が反映されるように、ファイルを編集する必要があります。さらに、smb.conf ファイルの [global] セクションに以下のエントリを追加する必要があります。
# cp /opt/SUNWscsmb/winbind/etc/smb.conf_sample \ <winbind-configuration-directory>/lib/smb.conf |
smb.conf_sample をコピーしたあとで、以下のエントリを <winbind-configuration-directory> /lib/smb.conf の [global] セクションに追加する必要があります。
smb passwd file = <winbind-configuration-directory>/private lock directory = <winbind-configuration-directory>/locks pid directory = <winbind-configuration-directory>/var/locks |
Winbind コンポーネントをスケーラブルサービスとして動作させる場合は、Winbind の構成ディレクトリを広域ファイルシステムとしてマウントする必要があります。ロックディレクトリを使用してデータベースに登録する Name and ID Resolution については、winbindd(8) のマニュアルページを参照してください。
pid directory は、構成ディレクトリ /var/locksを示さなければなりません。さらに、構成ディレクトリ /var/locks はローカルファイルシステム、すなわち /var/winbind/pid に対するシンボリックリンクであることを確認します。
winbind をネームサービスとして追加 — Sun Cluster HA for Samba データサービスが稼働するすべてのノード上で、/etc/nsswitch.conf の passwd と group に対応するネームサービスとして winbind を追加します。
# grep winbind /etc/nsswitch.conf passwd: files winbind group: files winbind |
シンボリックリンクのコピーおよび作成 — Sun Cluster HA for Samba データサービスが稼働するすべてのノード上で、winbind 用にいくつかのファイルとシンボリックリンクを設定する必要があります。
# cd <samba-install-directory> # # cp source/nsswitch/libnss_winbind.so /usr/lib # # ln -s /usr/lib/libnss_winbind.so /usr/lib/libnss_winbind.so.1 # # ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1 |
1 つのノードで winbind を起動します。
Samba のインストール方法によって、winbind プログラムは <samba-bin-directory> に置かれる場合と、<samba-sbin-directory> に置かれる場合があります。
# <samba-[s]bin-directory>/winbindd -s <winbind-configuration-directory>/lib/smb.conf |
winbind データベースにデータを入力します。
# getent passwd # getent group |
winbindd を停止します。
# pkill -TERM winbindd |
ここでは、 インストールと構成を確認する手順について説明します。
次の手順でインストールと構成を確認します。データサービスをまだインストールしていないため、この手順ではアプリケーションの可用性が高いかどうかを確認することはできません。
Samba のインストールと構成を確認する前に、Samba に対応する論理ホスト名が利用できることを確認してください。論理ホスト名を利用するには、フェイルオーバーサービスとしての Sun Cluster HA for Samba の登録および構成方法 の手順 4、6、および 7 を完了する必要があります。
smb.conf ファイルをテストします。
Samba の smb.conf ファイルをテストします。
# <samba-bin-directory>/testparm \ <samba-configuration-directory>/lib/smb.conf |
Winbind の smb.conf ファイルをテストします (必要な場合)。
# <samba-bin-directory>/testparm \ <winbind-configuration-directory>/lib/smb.conf |
NT ドメインメンバーとして構成している場合は、ドメインを結合します。
# <samba-bin-directory>/smbpasswd \ -c <samba-config-directory>/lib/smb.conf \ -j <DOMAIN> -r <PDC> \ -U <Administrator on the PDC> |
正常に処理されると、次のメッセージが表示されます。
# smbpasswd: Joined domain <DOMAIN> |
Samba デーモンを起動します。
Samba のインストール方法によって、smbd プログラムと nmbd プログラムは <samba-bin-directory> に置かれる場合と、<samba-sbin-directory> に置かれる場合があります。
# <samba-[s]bin-directory>/smbd -s <samba-config-directory>/lib/smb.conf -D # <samba-[s]bin-directory>/nmbd -s <samba-config-directory>/lib/smb.conf -D |
Samba に接続します。
# <samba-bin-directory>/smbclient -N -L <NetBIOS-name> # <samba-bin-directory>/smbclient '\\<NetBIOS-name>\scmondir' \ -U <fmuser> -c 'pwd;exit' |
最後のコマンドには単一引用符が必要です。
Winbind デーモンを起動します (必要な場合)。
Samba のインストール方法によって、winbind プログラムは <samba-bin-directory> に置かれる場合と、<samba-sbin-directory> に置かれる場合があります。
# <samba-[s]bin-directory>/winbindd -s <winbind-configuration-directory>/lib/smb.conf & |
Winbind に接続します (必要な場合)。
# getent passwd # getent group |
Samba デーモンと winbindd (必要な場合) を停止します。
# pkill -TERM smbd # pkill -TERM nmbd # pkill -TERM winbindd |
Sun Cluster の初期インストール時に Cun Cluster HA for Samba パッケージをインストールしていない場合は、次の手順でパッケージをインストールします。この手順は、Cun Cluster HA for Samba パッケージをインストールするクラスタノードごとに行ってください。この手順を実行するには、Sun Cluster Agents CD-ROM が必要です。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster 3.1 10/03 ソフトウェアのインストール』の「ソフトウェアのインストール」の手順を実行してください。
以下のインストールツールのどちらかを使って、Cun Cluster HA for Samba パッケージをインストールします。
Web Start プログラム
scinstall ユーティリティー
Sun Cluster 3.1 Data Services 10/03 以前のリリースでは、Web Start プログラムは使用できません。
Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使って実行できます。 CLI と GUI の命令の内容とシーケンスは類似しています。Web Start プログラムの詳細は、installer(1M) のマニュアルページを参照してください。
Cun Cluster HA for Samba パッケージをインストールするクラスタノードで、スーパーユーザーになります。
(省略可能) GUI を使って Web Start プログラムを実行する場合は、DISPLAY
環境変数が設定されていることを確認してください。
Sun Cluster Agents CD-ROM を CD-ROM ドライブに挿入します。
ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されている場合は、CD-ROM は自動的に /cdrom/scdataservices_3_1_vb ディレクトリにマウントされます。
CD-ROM の Cun Cluster HA for Samba コンポーネントディレクトリに移動します。
Cun Cluster HA for Samba データサービス向け Web Start プログラムは、このディレクトリにあります。
# cd /cdrom/scdataservices_3_1_vb/components/SunCluster_HA_Samba_3.1 |
Web Start プログラムを開始します。
# ./installer |
画面の指示に従い、Cun Cluster HA for Samba パッケージをノードにインストールします。
インストールの完了後、Web Start プログラムはインストールの概要を提供します。この概要によって、インストール中に Web Start プログラムによって作成されたログを参照できます。これらのログは、/var/sadm/install/logs ディレクトリにあります。
Web Start プログラムを終了します。
CD-ROM ドライブからの Sun Cluster Agents CD-ROM の読み込みを解除します。
次の手順で、scinstall ユーティリティーを使って、Sun Cluster HA for Samba パッケージをインストールします。この作業には、Sun Cluster Agents CD-ROM が必要です。この手順は、Sun Cluster の初期インストール時にデータサービス パッケージをインストールしていない場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for Samba パッケージをインストールした場合は、Sun Cluster HA for Samba の登録と構成 へ進んでください。
それ以外の場合は、次の手順で、Sun Cluster HA for Samba パッケージをインストールします。この作業は、Sun Cluster HA for Samba データサービスを実行できるすべてのノードで行います。
CD-ROM ドライブに Sun Cluster Agents CD-ROM を挿入します。
オプションは指定せずに、scinstall ユーティリティーを実行します。
scinstall ユーティリティーが対話型モードで起動します。
メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
Sun Cluster Agents CD-ROM のパスを指定します。
ユーティリティーはこの CD をデータサービス CD-ROM として示します。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。
scinstall ユーティリティーを終了します。
ドライブから CD を取り出します。
ここでは Sun Cluster HA for Samba の構成手順について説明します。
次の手順で、Sun Cluster HA for Samba をフェイルオーバーデータサービスとして構成します。この手順は、Sun Cluster の初期インストール時にデータサービスパッケージをインストールしている場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for Samba をインストールしていない場合は、scinstall ユーティリティーを使った Sun Cluster HA for Samba パッケージのインストール方法 へ進んでください。
それ以外の場合は、次の手順で、フェイルオーバーサービスとして Sun Cluster HA for Samba データサービスを構成します。
Samba のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
SUNW.gds というリソースタイプを登録します。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus というリソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
フェイルオーバーリソースグループを作成します。
# scrgadm -a -g Samba-failover-resource-group |
Samba ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j Samba-has-resource \ -g Samba-failover-resource-group \ -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=Samba- instance-mount-points |
Samba 論理ホスト名に対応するリソースを作成します。
# scrgadm -a -L -j Samba-lh-resource \ -g Samba-failover-resource-group \ -l Samba-logical-hostname |
Samba ディスク記憶装置と 論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループを有効にします。
# scswitch -Z -g Samba-failover-resource-group |
フェイルオーバーデータサービスとして Winbind を作成し、登録します。
# cd /opt/SUNWscsmb/winbind/util |
winbind_config ファイルを編集し、ファイルの中の次のようなコメントに従います。
# 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 # WB_BIN - name of the Winbind bin directory # WB_INST - name of the Winbind configuration directory # NTUSER - name of the NT fault monitor user # LH - name of the LogicalHostname SC resource # HAS_RS - name of the Winbind HAStoragePlus SC resource |
http://www.samba.org から Samba をインストールした場合の、Winbind インスタンスの例を示します。
RS=wb-res RG=smb-failover-rg WB_BIN=/global/samba/bin WB_INST=/global/samba/winbind NTUSER=samba LH=smb-lh-res HAS_RS=wb-has-res |
winbind_config の編集後、リソースを登録する必要があります。
# ./winbind_register |
Winbind リソース (前の手順で登録した場合) を有効にします。
# scstat # scswitch -e -j Winbind-resource |
フェイルオーバーデータサービスとして Samba を作成し、登録します。
# cd /opt/SUNWscsmb/samba/util |
samba_config ファイルを編集し、ファイルの中の次のようなコメントに従います。
# 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, plus the # name of the Winbind resource if Winbind is configured # as a failover service |
http://www.samba.org から Samba をインストールした場合の、Samba インスタンス SAMBA1 の例を示します。
RS=smb-res RG=smb-failover-rg 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 LH=smb-lh-res HAS_RS=smb-has-res or HAS_RS=smb-has-res,wb-res if failover winbind is being used |
Solaris 9 から Samba をインストールした場合の、Samba インスタンス SMB1 の例を示します。
RS=smb-res RG=smb-failover-rg 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 LH=smb-lh-res HAS_RS=smb-has-res |
samba_config の編集後、リソースを登録する必要があります。
# ./samba_register |
各 Samba リソースを有効にします。
複数のインスタンスを作成した場合は、Samba インスタンスごとにこの手順を繰り返します。
# scstat # scswitch -e -j Samba-resource |
次の手順では、Winbind をスケーラブルサービスとし、Sun Cluster HA for Samba をフェイルオーバーサービスとして構成します。この手順は、Sun Cluster の初期インストール時にデータサービスパッケージをインストールしている場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for Samba をインストールしていない場合は、scinstall ユーティリティーを使った Sun Cluster HA for Samba パッケージのインストール方法 へ進んでください。
それ以外の場合は、次の手順で、フェイルオーバーサービスとして Sun Cluster HA for Samba データサービスを構成します。
Samba のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
SUNW.gds というリソースタイプを登録します。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus というリソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
共有ネットワークアドレスに対応するフェイルオーバーリソースグループを作成します。
# scrgadm -a -g Winbind-failover-resource-group |
Winbind 論理ホスト名に対応するリソースを作成します。
# scrgadm -a -S -j Winbind-lh-resource \ -g Winbind-failover-resource-group \ -l Winbind-logical-hostname |
スケーラブル Winbind サービスに対応するスケーラブルリソースグループを作成します。
# scrgadm -a -g Winbind-scalable-resource-group \ -y Maximum_primaries=<number of nodes with Sun Cluster> \ -y Desired_primaries=<number of nodes with Sun Cluster> \ -y RG_dependencies=Winbind-failover-resource-group |
Winbind ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j Winbind-has-resource \ -g Winbind-scalable-resource-group \ -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=Winbind-instance-mount-point \ -x AffinityOn=FALSE |
Winbind ディスク記憶装置と 論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループとスケーラルブリソースグループを有効にします。
# scswitch -Z -g Winbind-failover-resource-group # scswitch -Z -g Winbind-scalable-resource-group |
フェイルオーバーデータサービスとして Samba を作成し、登録します。
フェイルオーバーサービスとしての Sun Cluster HA for Samba の登録および構成方法 の手順 4、5、6、7、10、および 11 に従って、フェイルオーバー Samba サービスを作成します。そのあとでこの最後の手順によって、フェイルオーバー Samba リソースグループがスケーラブル Winbind リソースグループに依存して起動することを確認する必要があります。
# scrgadm -c -g Samba-failover-resource-group \ -y RG_dependencies=Winbind-sclable-resource-group |
Winbind をスケーラブルデータサービスとして作成し、登録します。
# cd /opt/SUNWscsmb/winbind/util |
winbind_config ファイルを編集し、ファイルの中の次のようなコメントに従います。
# 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 # WB_BIN - name of the Winbind bin directory # WB_INST - name of the Winbind configuration directory # NTUSER - name of the NT fault monitor user # LH - name of the LogicalHostname SC resource # HAS_RS - name of the Winbind HAStoragePlus SC resource |
http://www.samba.org から Samba をインストールした場合の、Winbind インスタンスの例を示します。
RS=wb-res RG=wb-scalable-rg WB_BIN=/global/samba/bin WB_INST=/global/samba/winbind NTUSER=samba LH=wmb-lh-res HAS_RS=wb-has-res |
winbind_config の編集後、リソースを登録する必要があります。
# ./winbind_register |
Winbind リソースを有効にします。
# scstat # scswitch -e -j Winbind-resource |
ここでは、データサービスが正しくインストールされて構成されているかどうかを確認する手順について説明します。
次の手順で、Sun Cluster HA for Samba が正しくインストールされ、構成されているかどうかを確認します。
Samba のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
すべての Samba リソースがオンラインになっていることを scstat で確認します。
# scstat |
オンラインになっていない Samba リソースごとに、次のように scswitch コマンドを使用します。
# scswitch -e -j Samba- resouce |
scswitch コマンドを実行し、 Samba リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g Samba-failover-resource-group -h node2 |
この情報は、Sun Cluster HA for Samba 障害モニターを理解するうえで役立ちます。ここでは、Sun Cluster HA for Samba 障害モニターのプローブアルゴリズムまたは機能について説明し、プローブの失敗に関連する条件、メッセージ、回復処理を示します。
障害モニターの概念については、『Sun Cluster 3.1 の概念』を参照してください。
Sun Cluster HA for Samba 障害モニターでは、SUNW.gds というリソースタイプと同じリソースプロパティを使用します。使用するリソースプロパティの全リストについては、SUNW.gds(5) のマニュアルページを参照してください。
Samba
Thorough_probe_interval の間、休止します。
smbclient を使用し、ユーザー <fmuser> として、Samba インスタンス障害モニター共有 (scmondir) に接続を試みます。これに失敗すると、検証により Samba リソースを再起動します。
smbclient は Samba サーバーの NetBIOS 名を使用して、NetBIOS 名のサーバーが動作するかどうかを確認します。これに失敗すると、検証により Samba リソースを再起動します。
すべての Samba プロセスが無効な場合は、pmf が検証に割り込んでただちに Samba リソースを再起動します。
Samba リソースが繰り返し再起動され、最終的に Retry_interval の Retry_count を使い果たすと、別のノードでそのリソースグループのフェイルオーバーが開始されます。
Winbind
Thorough_probe_interval の間、休止します。
getent passwd <ntuser> を使用して、定義されている <ntuser> を取得します。これに失敗すると、検証により Winbind リソースを再起動します。
Winbind リソースが繰り返し再起動され、最終的に Retry_interval の Retry_count を使い果たすと、別のノードでそのリソースグループのフェイルオーバーが開始されます。
nscd がオン (デフォルト) で、定義されている <ntuser> が nscd デーモンによってキャッシュされる場合は、Winbind 自体は動作していなくても、getent から成功の応答が戻ります。
ここでは、Sun Cluster HA for Samba のデバッグを有効にする方法について説明します。
Sun Cluster HA for Samba は複数の Samba インスタンスで使用できます。デバッグは、すべての Samba インスタンスに対して有効にすることも、特定の Samba インスタンスに対して有効にすることもできます。
各 Samba コンポーネントは、/opt/SUNWscsmb/xxx/etc に DEBUG ファイルがあります。xxx は個々の Samba コンポーネントを表す 3 文字の略語です。
これらのファイルによって、Sun Cluster の特定のノードで特定の Samba インスタンスに対してデバッグを有効にすることも、またはすべての Samba インスタンスに対してデバッグを有効にすることもできます。Sun Cluster 全体にわたって、Sun Cluster HA for Samba のデバッグを有効にしなければならない場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
/etc/syslog.conf を編集します。
/etc/syslog.conf を編集し、daemon.notice を daemon.debug に変更します。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # |
daemon.notice を daemon.debug に変更し、syslogd を再起動します。次に示す grep daemon /etc/syslog.conf コマンドの出力例では、daemon.debug が設定されています。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.debug;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # # pkill -1 syslogd # |
/opt/SUNWscsmb/samba/etc/config を編集します。
必要に応じて Sun Cluster の各ノードで、Samba コンポーネント (smb) に対してこの手順を実行し、さらにデバッグ出力が必要な Winbind コンポーネント (必要な場合) で手順を繰り返します。
/opt/SUNWscsmb/samba/etc/config を編集し、DEBUG= を DEBUG=ALL または DEBUG= resource に変更します。
# cat /opt/SUNWscsmb/samba/etc/config # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Usage: # DEBUG=<RESOURCE_NAME> or ALL # DEBUG=ALL # |
デバッグを無効にするには、この手順を逆に実行して下さい。