Sun Cluster 3.1 データサービス (Samba 編)

Samba のインストールおよび構成方法

次の手順で、Samba をインストールして構成します。

  1. Sun Cluster における Samba の配備方法を決定 – Samba をどのように配備するかを決定する必要があります。

    • 配備する Samba インスタンス数を決定します。

    • Winbind を配備するかどうかを決定します。

    • 各 Samba インスタンスと Winbind インスタンス (配備する場合) に使用させるクラスタファイルシステムを決定します。

  2. Samba クラスタファイルシステムのマウント – Sun Cluster における Samba と Winbind の配備方法を決定してから、クラスタファイルシステムがマウントされていることを確認する必要があります。


    注 –

    Samba インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。


  3. Sun Cluster 内の全ノードへの Samba のインストール – Samba は広域ファイルシステムにインストールすることをお勧めします。ローカルファイルシステムにソフトウェアをインストールした場合とクラスタファイルシステムにインストールした場合のメリットとデメリットについては、『Sun Cluster データサービスのインストールと構成 』の 「アプリケーションバイナリの格納先の決定」を参照してください。

    • http://www.samba.org から Samba をダウンロード— /usr/local/samba がクラスタファイルシステムであるか、またはクラスタファイルシステムへのシンボリックリンクであることを確認します。 ただし、Samba ソフトウェアにローカルディスクを使用する場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。


      例 1–4 http://www.samba.org からの Samba のインストール

      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

  4. 障害モニターユーザー用のエントリを作成します

    • 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 に設定します。

  5. Samba インスタンス (複数可) に必要なディレクトリを作成 – 複数の Samba インスタンスを配備する場合は、Samba インスタンスごとに、すなわちsamba-configuration-directory ごとにこの手順を繰り返す必要があります。 さらに、共有用のディレクトリを作成する必要があります。このディレクトリには任意の名前を指定できます。


    # cd <samba-configuration-directory>
    #
    # mkdir -p lib logs private shares var/locks
    

    注 –

    <samba-configuration-directory> については、構成に関する制限事項 を参照してください。 構成に関する制限事項 の例と以下の例で使用している一般的なパス名の一覧については、Samba のインストールと構成を参照してください。



    例 1–5 SAMBA1 と SAMBA2 という 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
    

  6. 要件に基づいて 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.confglobal セクションに以下のエントリを追加する必要があります。 以下の値は、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 を示さなければなりません。


  7. Samba smb.conf ファイルのテスト — Samba smb.conf ファイルを作成してから、作業を続ける前に構成をテストする必要があります。


    # <samba-bin-directory>/testparm  \
    <samba-configuration-directory>/lib/smb.conf 
    
  8. 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>
    
  9. 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/sfwsmb.conf ファイルを見つけようとします。この問題を回避するには、/etc/sfw/smb.conf から <samba-configuration-directory> /lib/smb.conf へのシンボリックリンクを作成します。複数の Samba インスタンスを配備する場合はシンボリックリンクを削除し、Samba インスタンスごとに手順を繰り返す必要があります。

    パッチ 114684–01 以降がインストールされている場合、smbpasswd-c パラメータを認識します。


  10. 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 のインストールと構成 を参照してください。



    例 1–6 winbind という Winbind インスタンスのディレクトリ

    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
    

  11. 要件に基づいて 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 に対するシンボリックリンクであることを確認します。


  12. winbind をネームサービスとして追加 — Sun Cluster HA for Samba データサービスが稼働するすべてのノード上で、/etc/nsswitch.conf の passwd group に対応するネームサービスとして winbind を追加します。


    # grep winbind /etc/nsswitch.conf 
    passwd:     files winbind
    group:      files winbind
  13. シンボリックリンクのコピーおよび作成 — 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 
    
  14. 1 つのノードで winbind を起動します


    注 –

    Samba のインストール方法によって、winbind プログラムは <samba-bin-directory> に置かれる場合と、<samba-sbin-directory> に置かれる場合があります。



     # <samba-[s]bin-directory>/winbindd -s <winbind-configuration-directory>/lib/smb.conf
    
  15. winbind データベースにデータを入力します。


    # getent passwd
    # getent group
    
  16. winbindd を停止します


    # pkill -TERM winbindd