X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Solaris 10 の新たな利用

Guest Author
Solaris 10 のダウンロード数が 600 万を超え、その大多数が Dell、HP、IBM のマシンで利用されていますが、この Solaris 10 の使用感をさらに改善できるのではないかと考えています。

まもなくリリースする Sun Cluster 3.2 では、非常に便利な機能としてシングルノードクラスタの実行があります。シングルノードクラスタで完全な高可用性は実現できませんが、クラスタ実行のシミュレーションを行うことができます。

つまり、Solaris 10 ノードで、Sun Cluster 3.2 をダウンロードおよびインストールし、同じノードの Solaris 10 コンテナ間でアプリケーションをフェイルオーバーできるようになります。次に示す例では、Solaris 10 に統合された Samba を使用します。これにより、同一ノードの 2 つの Solaris 10 コンテナ間で Samba をフェイルオーバーできます。

600 万の Solaris 10 ダウンロードユーザーは、Dell、HP、または IBM のラップトップに Solaris 10 をダウンロード済みの場合でも、まもなく新たな Solaris 10 を体験する機会が得られることでしょう。

次の出力例では、ノード Vigor4 に 2 つの Solaris 10 コンテナ z1 および z2 があることがわかります。単一ノードクラスタのゾーン z1 および z2 間で Samba について高可用性を提供する 3 つの Sun Cluster 3.2 リソースがあります。ボリュームマネージャーは表示されませんが、代わりに、リソース samba-has で HA-ZFS が使用されます。Samba サービスと Samba 論理ホストの高可用性が、samba-lh および samba-pdc リソースで提供されます。

bash-3.00# cluster status -t resource

Cluster Resources ===

Resource Name Node Name State Status Message

------------- --------- ----- --------------

samba-lh Vigor4:z1 Offline Offline - LogicalHostname offline.

Vigor4:z2 Online Online - LogicalHostname online.

samba-has Vigor4:z1 Offline Offline

Vigor4:z2 Online Online

samba-pdc Vigor4:z1 Offline Offline

Vigor4:z2 Online Online - Service is online.

同一のノードにある 2 つの Solaris 10 コンテナ間で Samba をフェイルオーバーするには、次の手順を実行します。

ハードウェア要件

--------------------

64 ビットプロセッサ

1024M バイトのメモリー

1024M バイトのスワップ

512M バイトの /globaldevices ファイルシステム

SCSI またはファイバ接続ストレージ (または VMware Workstation)

ソフトウェア要件

---------------------

Solaris 10 06/06

Sun Cluster 3.2 (2007 年 1 月の GA リリース)

Solaris 10 の機能

-------------------

Solaris 10 コンテナ

Zettabyte File System

Samba

前提条件

-----------

ディスク c1t5d0 が SCSI またはファイバ接続ストレージであると仮定しています。

疎ルート非大域ゾーンを使用します。ゾーン、クラスタリソース、Samba については、任意の名前と番号を使用しています。

Solaris 10 06/06 を実行している単一ノードに Sun Cluster 3.2 をインストールする方法

--------------------------------------------------------------------------
Sun Cluster 3.2 のインストール方法と、ルート (/) ファイルシステムおよび /globaldevices ファイルシステムの設定については、Sun Cluster のインストールマニュアルで詳しく説明されています。ただし、ここでごく簡単に概要を示します。

/globaldevices を設定する必要があります。

Sun Java Availability Suite の DVD-ROM を DVD-ROM ドライブに挿入します。cd /cdrom/cdrom0/Solaris_sparc または cd /cdrom/cdrom0/Solaris_x86。

./installer (表示される画面の指示に従います)。

注:エージェントだけでなくコアソフトウェアもインストールする必要があります。

/usr/cluster/bin/scinstall を実行して、クラスタを単一ノードとして設定し、表示される画面の指示に従います。

Sun Cluster 3.2 をインストールおよび設定して、ノードを再起動すると、単一ノードクラスタが実行されます。この時点で、Samba を ZFS プール内に配備して 2 つの Solaris 10 コンテナ間でフェイルオーバーできるようにする必要があります。

高可用性 Samba を実行する有効な単一ノードクラスタをできるだけ短時間で設定できるように、わかりやすい説明にしています。次に示す手順は、本稼働環境用ではなく、単に、Sun Cluster 3.2 を単一ノードクラスタとして Del、HP、IBM、または Sun のハードウェアで試用する際のご参考用と考えてください。

目的の設定を行う方法

-----------------------------------------

次の手順はすべて、大域ゾーンから実行可能です。

1. ZFS プールを作成します。


bash-3.00# zpool create -m /ZFSsamba HAZpool c1t5d0

2. Samba の Sun Cluster データサービスで使用する、Samba 設定ディレクトリを作成します。

bash-3.00# mkdir -p /ZFSsamba/SMB1 bash-3.00# cd /ZFSsamba/SMB1 bash-3.00# mkdir -p lib logs private shares var/locks

3. Samba 設定ファイルを作成します。

bash-3.00# cat > /ZFSsamba/SMB1/lib/smb.conf <<-EOF [global]

workgroup = SAMBA_PDC

bind interfaces only = yes

interfaces = SMB1/255.255.255.0

netbios name = SMB1

security = user

server string = Samba (%v) domain (%h)

pid directory = /ZFSsamba/SMB1/var/locks

log file = /ZFSsamba/SMB1/logs/log.%m

smb passwd file = /ZFSsamba/SMB1/private/smbpasswd

private dir = /ZFSsamba/SMB1/private

lock dir = /ZFSsamba/SMB1/var/locks

domain master = yes

preferred master = yes

[scmondir]

comment = Monitor directory for Sun Cluster

path = /tmp

browseable = No

EOF

4. Samba 設定ファイルをテストします。

bash-3.00# /usr/sfw/bin/testparm -s /ZFSsamba/SMB1/lib/smb.conf

5. 2 つの疎ルート非大域ゾーンを設定します。


bash-3.00# mkdir /zones

bash-3.00# cat > /var/tmp/z1 <<-EOF

create

set zonepath=/zones/z1

set autoboot=true

EOF

bash-3.00# cat > /var/tmp/z2 <<-EOF

create set zonepath=/zones/z2

set autoboot=true

EOF

bash-3.00# zonecfg -z z1 -f /var/tmp/z1

bash-3.00# zonecfg -z z2 -f /var/tmp/z2


6. ゾーン z1 および z2 をインストールします (各インストールは別個のウィンドウで実行します)。


bash-3.00# zoneadm -z z1 install bash-3.00# zoneadm -z z2 install

7. ゾーンの識別を完了します (各識別は別個のウィンドウで実行します)。

注:システムの識別は、システムの起動が完了したあとにゾーンのコンソール (zlogin -C z1) から行う必要があります。


bash-3.00# zoneadm -z z1 boot

bash-3.00# zlogin -C z1 bash-3.00

# ~.

bash-3.00# zoneadm -z z2 boot

bash-3.00# zlogin -C z2 bash-3.00

# ~.

8. 大域ゾーンと非大域ゾーン z1 および z2 で Samba の IP アドレスを作成します。


bash-3.00# echo "192.168.1.10

SMB1#20" >> /etc/hosts

bash-3.00# echo "192.168.1.10

SMB1#20" >> /etc/inet/ipnodes

bash-3.00# zlogin z1 'echo "192.168.1.10

SMB1#20" >> /etc/hosts'

bash-3.00# zlogin z1 'echo "192.168.1.10

SMB1#20" >> /etc/inet/ipnodes'

bash-3.00# zlogin z2 'echo "192.168.1.10

SMB1#20" >> /etc/hosts'

bash-3.00# zlogin z2 'echo "192.168.1.10

SMB1#20" >> /etc/inet/ipnodes'

9. 大域ゾーンと各非大域ゾーンで、Samba の Sun Cluster データサービスで使用する、Samba の障害モニターユーザー ID を作成します。

bash-3.00# groupadd -g 10000 samba

bash-3.00# useradd -u 10000 -g 10000 -s /bin/false fmuser

bash-3.00# zlogin z1 groupadd -g 10000 samba bash-3.00

# zlogin z2 groupadd -g 10000 samba bash-3.00

# zlogin z1 useradd -u 10000 -g 10000 -s /bin/false fmuser bash-3.00

# zlogin z2 useradd -u 10000 -g 10000 -s /bin/false fmuser


10. Samba 障害モニターユーザー ID を追加します。

注:パスワードとして samba を指定します。

bash-3.00# /usr/sfw/bin/smbpasswd -c /ZFSsamba/SMB1/lib/smb.conf -a fmuser

11. Samba が起動できてアクセス可能であることを確認します。

注:メッセージが表示されたら、パスワードとして samba を入力します。

bash-3.00# ifconfig e1000g0 addif SMB1 up

bash-3.00# /usr/sfw/sbin/smbd -s /ZFSsamba/SMB1/lib/smb.conf -D

bash-3.00# /usr/sfw/bin/smbclient -N -L SMB1 -s /ZFSsamba/SMB1/lib/smb.conf

bash-3.00# /usr/sfw/bin/smbclient '\\\\SMB1\\scmondir' -U fmuser -c 'pwd;exit' -s /ZFSsamba/SMB1/lib/smb.conf

12. Samba を停止します。

bash-3.00# pkill -TERM smbd

bash-3.00# ifconfig e1000g0 removeif SMB1

13. 必要な Sun Cluster 3.2 リソースタイプを登録します。

bash-3.00# clresourcetype register SUNW.HAStoragePlus

bash-3.00# clresourcetype register SUNW.gds

14. Samba リソースグループを作成します。


bash-3.00# clresourcegroup create -n Vigor4:z1,Vigor4:z2 samba-rg

15. Samba 論理ホストリソースを作成します。

bash-3.00# clreslogicalhostname create -g samba-rg -h SMB1 samba-lh

16. Samba ZFS ストレージリソースを作成します。

bash-3.00# clresource create -g samba-rg -t SUNW.HAStoragePlus -p Zpools=HAZpool samba-has

17. Samba リソースグループを有効にします。

bash-3.00# clresourcegroup online -M samba-rg


18. Samba の Sun Cluster データサービスで使用する、Sun Cluster Samba 設定ファイルを作成します。

注:次のパラメータが /opt/SUNWscsmb/util/samba_config からコピーされています。

bash-3.00# cat > /var/tmp/samba_config <<-EOF

#+++ リソース固有のパラメータ +++

RS=samba-pdc

RG=samba-rg

RS_LH=samba-lh

RS_HAS=samba-has

SERVICES="smbd,nmbd"

#+++ 共通パラメータ +++

BINDIR=/usr/sfw/bin

SBINDIR=/usr/sfw/sbin

CFGDIR=/ZFSsamba/SMB1

LDPATH=/usr/sfw/lib

FMUSER=fmuser

#+++ SMBD および NMBD 固有のパラメータ (注 1 を参照) +++

SAMBA_LOGDIR=/ZFSsamba/SMB1/logs

SAMBA_FMPASS=samba

SAMBA_FMDOMAIN=

#+++ WINBIND 固有のパラメータ (注 2 を参照) +++

WINBIND_DISCACHE=FALSE

WINBIND_SINGLEMODE=FALSE

#+++ ゾーン固有のパラメータ (注 3 を参照) +++

RS_ZONE=

LHOST=

PROJECT=default

TIMEOUT=30

EOF

19. Samba リソースの Sun Cluster HA を登録します。

bash-3.00# /opt/SUNWscsmb/util/samba_register -f /var/tmp/samba_config

20. Samba リソースを有効にします。

bash-3.00# clresource enable samba-pdc

21. ゾーン間で Samba リソースグループを切り替えて、Samba がアクセス可能であることを確認します。


,p>注:smbclient プログラムを発行すると、/etc/sfw/smb.conf に関連するメッセージを無視できます。

bash-3.00# clresourcegroup status

samba-rg should be Online on Vigor4:z1

bash-3.00# /usr/sfw/bin/smbclient -N -L SMB1

bash-3.00# /usr/sfw/bin/smbclient '\\\\SMB1\\scmondir' -U fmuser -c 'pwd;exit'

bash-3.00# clresourcegroup switch -n Vigor4:z2 samba-rg

bash-3.00# clresourcegroup status

samba-rg should now be Online on Vigor4:z2

bash-3.00# /usr/sfw/bin/smbclient -N -L SMB1 bash-3.00

# /usr/sfw/bin/smbclient '\\\\SMB1\\scmondir' -U fmuser -c 'pwd;exit'

bash-3.00# clresourcegroup switch -n Vigor4:z1 samba-rg

長い形式のクラスタコマンドを使用しましたが、たとえば、次に示すような短い形式のクラスタコマンドも使用可能です。

clresourcetype

clrt

clreslogicalhostname

clrslh

clresourcegroup

clrg

clresource

clrs

この例では Samba を使用しましたが、別の Sun Cluster 3.2 エージェントを使用したり、独自のエージェントを作成したりすることもできます。その方法や、Sun Cluster でゾーンを使用する利点の詳細については、次のページを参照してください。

http://blogs.sun.com/SC/entry/creating_sun_cluster_agents_for

http://blogs.sun.com/SC/entry/sun_cluster_and_solaris_zones

Neil Garthwaite

Sun Cluster エンジニアリング

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.