Jump to content 日本-日本語
製品  >  ソフトウェア  >  Linux

MSA1000用 Serviceguard 11.16 for
Red Hat EL4/Update4(x86)インストールフロー

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
サイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
24-AUG-07, revised 28-NOV-07
 この資料は、共有FCストレージにマルチパス構成の MSA1000を使用した ProLiantサーバに Red Hat Enterprise Linux 4 Update4対応の Serviceguard for Linux A.11.16をインストールするためのガイドです。

環境

 実際に使用した環境は、以下になります。
1) システム構成図
  システム構成図
2) H/W環境
 
  • サーバ:ProLiant DL380 G4
  • CPU:Xeon/3.60GHz × 2(SMP構成)
  • メモリ:6144MB
  • RAIDコントローラ:Smartアレイ 6iコントローラ
  • ファイバチャネルアダプタ:FCA2214DC HBA × 2
  • ストレージシステム:MSA1000
      各コントローラの CACHE MODULEは256MB
  • ファイバチャネル集線装置:SAN switch 2/8V
3) S/W環境
 
  • O/S:Red Hat Enterprise Linux AS 4 Update4 kernel-2.6.9-42.ELsmp
  • クラスタソフトウェア:Serviceguard for Linux 11.16
  • FCデバイスドライバ:qla2x00ドライバ v8.01.06.01-8 (psp780に含まれているドライバ)
  • トポロジー:Fabric接続
4) F/W環境
 
  • MSA1000 controller    v5.20
  • SAN switch 2/8V
  • FCA2214 adapter     v1.45
 なお、今回は2台のサーバでクラスタを構成しましたが、各ノードとも、環境は同一です。

クラスタ環境の設定手順

1) ノード1とノード2に Red Hat Enterprise Linux AS 4 Update4をインストール
   ノード1とノード2に Red Hat Enterprise Linux AS 4 Update4をインストールしてください。なお、O/Sのインストール時、サーバ-MSA1000間の FCケーブルが接続されていると、Linuxのブートローダが /dev/sdaにマッピングされる MSA1000の最初の LUNにインストールされてしまい、インストール終了後、ブート出来なくなるので、この時点では、サーバ-MSA1000間の FCケーブルは接続しないでください。
また、PSP適用時にコンパイラツールが必要となりますので、これらのパッケージのインストールを忘れないようにしてください。

2) PSP(ProLiant Support Pack)の適用
   最新の PSPを適用してください。2007年7月現在、最新の PSPは version 7.80です。下記よりダウンロードが可能です。

   サイト外リンク(ftp-US)

  HBAドライバをフェイルオーバモードでインストールするには、PSP適用時に設定が必要です。PSPのターミナルウ画面から、HC HBA Driverのところで右クリックし、Configure Componentを選択します。
図1. PSPのターミナル画面で右クリック
 図1, PSPのターミナル画面で右クリック

 すると、図2のようなオプション画面が現れますので、QLogic Failoverを選択してOKをクリックします。
図2. FC HBAドライバのオプション画面
 図2, FC HBAドライバのオプション画面

注) PSPに含まれているドライバよりも新しいバージョンのドライバが個別に提供されている場合は、新しいバージョンのドライバを適用することを推奨します。

 PSP適用後、O/Sを rebootします。
  # reboot

3) MSA1000ストレージ設定
   ストレージの設定を行う前に2台のサーバに接続されている HBAの Adapter Port Nameを確認しておきます。
<確認方法>
 OSブート中に、QLogicの表示が現れたら CTRL+Qを入力し QLogicの BIOS画面を表示させる。
図3. サーバ起動時の画面
 図3, サーバ起動時の画面

 BIOS画面が表示されたら Select Host Adapter → Configuration Settings → Host Adapter Settingsで Adapter Port Nameが確認できます。この作業を繰り返し、MSAに接続するすべての Port Nameを確認します。

 MSA1000ストレージ設定手順は、以下になります。なお、この作業は一台のノードで行ってください。
  • A) サーバ、ストレージ、FC スイッチの電源を OFFにし、FCA2214DC HBA、MSA1000(SANスイッチ)を FCケーブルで接続します。

  • B) SANスイッチ、MSA1000、サーバの順番で電源を入れます。

  • C)MSA1000の FWを v5.20にアップデートします。(すでに最新の場合はこの手順は不要)
    • (ア)下記より msa1500flash-5.20-7.i386.rpmをダウンロードします。
      RPMmsa1500flash-5.20-7.i386.rpm(ftp-JPN), サイト外リンク(ftp-US)
    • (イ)ダウンロードしたパッケージをインストールします。
      # rpm -ivh msa1500flash-5.20-7.i386.rpm
    • (ウ)X Windows上で、msa1500flashを実行します。
      # msa1500flash
    • (エ)MSA1500 cs Flash UtilityのGUIが表示されますので、
         「Recommended: Flash All Bundled Firmware」をクリックします。
    • (オ)終了します。

    次に Array Configuration Utility(ACU)を用いてストレージの設定を行います。
    ACUを起動させる方法は次の2つがあります。

     1.MSA1000 Support Software CDを使用する
     2.System Management Homepageから ACUを使用する。

    本ドキュメントでは2.の System Management Homepage(SMH)から ACUを使用する方法を記述します。

    なお1.の MSA1000 Support Software CDはサイト外リンクこちらから入手可能です。

    • (ア)コンソールから ACUを起動させます。
      # cpqacuxe -R
    • (イ)ブラウザを起動し、SMHへアクセスします。
         URLは http://localhost:2301
         OSの IDと Passwordでログインします。
    • (ウ)SMHの左のメニューから HP Array Configuration Utilityを選択。
    • (エ)左側の「MSA1000 Controller in XXXXXXXXXXXX」をクリック。
    • (オ)Arrayと Logical Driveを作成してください。
    • (カ)該当HBAに、Selective Storage Presentation(SSP)を設定してください。ここで、Host Modeには Linuxを指定してください。SSPの設定方法はサイト内リンクこちら
    • (キ)Array Configuration Utilityを終了して、Linuxを起動します。

  • D) ACUの起動と停止は以下になります。
    • remote connectionを無効で起動する(default)。
      # cpqacuxe -d
    • remote connectionを有効で起動する。
      # cpqacuxe -R
    • 停止する。
      # cpqacuxe -stop

  • E) ストレージデバイス関連の情報を確認します。
    # cat /proc/scsi/qla2xxx/0
    QLogic PCI to Fibre Channel Host Adapter for QLA2342:
       Firmware version 3.03.19 IPX, Driver version 8.01.06.01-fo
    ISP: ISP2312, Serial# H09151
    Request Queue = 0x37280000, Response Queue = 0x371e0000
    Request Queue count = 2048, Response Queue count = 512
    Total number of active commands = 0
    Total number of interrupts = 823
      Device queue depth = 0x1

    # Number of free request entries = 1486
    Number of mailbox timeouts = 0
    Number of ISP aborts = 0
    Number of loop resyncs = 0
    Number of retries for empty slots = 0
    Number of reqs in pending_q= 0, retry_q= 0, done_q= 0, scsi_retry_q= 0
    Number of reqs in failover_q= 0
    Host adapter:loop state = <READY>, flags = 0x1a03
    Dpc flags = 0x4000000
    MBX flags = 0x0
    Link down Timeout = 008
    Port down retry = 030
    Login retry count = 030
    Commands retried with dropped frame(s) = 0
    Product ID = 4953 5020 2020 0002


    SCSI Device Information:
    scsi-qla0-adapter-node=200000e08b0a1fd2;
    scsi-qla0-adapter-port=210000e08b0a1fd2;
    scsi-qla0-target-0=500805f300125be1;

    FC Port Information:
    scsi-qla0-port-0=500805f300125be0:500805f300125be1:010000:81;
    scsi-qla0-port-1=50060b000058c895:50060b000058c894:010100:82;
    scsi-qla0-port-2=50060b0000669021:50060b0000669020:010200:83;
    scsi-qla0-port-3=200000e08b0b0215:210000e08b0b0215:010300:1;

    SCSI LUN Information:
    (Id:Lun) * - indicates lun is not registered with the OS.
    ( 0: 0): Total reqs 3, Pending reqs 0, flags 0x0, 0:0:81 0c
    ( 0: 4): Total reqs 59, Pending reqs 0, flags 0x2, 0:0:81 00

    # cat /proc/scsi/scsi
    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: COMPAQ    Model: MSA1000    Rev: 5.20
      Type:   RAID                ANSI SCSI revision: 04
    Host: scsi0 Channel: 00 Id: 00 Lun: 04
      Vendor: COMPAQ Model: MSA1000 VOLUME Rev: 5.20
      Type:   Direct-Access       ANSI SCSI revision: 04

クラスタ構築手順

1) /etc/hostsの設定
   Serviceguard は、OSに組み込まれている名前解決サービスを使います。クラスタを正常に動作させるためには、名前解決は、DNSや NIS サービスに依存するのではなく、各ノードの /etc/hosts ファイルで解決するように定義することをお勧めします。
# cat /etc/hosts
127.0.0.1       localhost.localdomain localhost
172.16.1.1      sglx01.lcc.com sglx01
172.16.1.2      sglx02.lcc.com sglx02
172.16.100.3    dl360g5.lcc.com dl360g5

2) リモートログインの設定
   rootユーザのリモートログインの設定を行います。この作業は SGLXを動作させるに当たって必須ではありませんが、システム管理者が SGLXのセットアップを行う際の便宜をはかるために行います。
  • A) /etc/pam.d/login の編集。以下の行をコメントアウトします。
    #auth   required   pam_securetty.so

  • B) /etc/pam.d/rsh の編集。以下の行を変更します。
    auth   required   pam_securetty.so
    auth   required   pam_rhosts_auth.so

    この行を
    auth   sufficient   pam_securetty.so
    auth   sufficient   pam_rhosts_auth.so
    に変更。

  • C)/etc/xinetd.dディレクトリ内の以下のファイルを編集。

      telnet
      rlogin
      rsh

    各ファイルの disableパラメータの設定を、yesから noに変更します。
    (chkconfigコマンドでも変更可能)

  • D) /etc/vsftpd.ftpusersファイルを編集し、rootユーザーをコメントアウトします。

  • E) /etc/vsftpd.user_listファイルを編集し、rootユーザをコメントアウトします。

  • F) vsftpdを chkconfigで onに設定し、起動します。
    # chkconfig vsftpd on
    # service vsftpd start

  • G) /etc/securettyファイルを編集し、rshおよび  rloginのエントリを追加します。

  • H) xinetdを再起動します。
    # /etc/rc.d/init.d/xinetd restart

         以上の手順を両方のノードで行ってください。

3) Serviceguard RPMのインストール
   各ノードに Serviceguardをインストールします。
  # cd /media/cdrom/RedHat4/rpms
# rpm -ivh sgcmom-B.03.01.02-0.product.redhat.i386.rpm
Preparing...   ########################################### [100%]
  1:sgcmom    ########################################### [100%]

# rpm -ihv pidentd-3.0.15sg-1.i386.rpm
Preparing...   ########################################### [100%]
  1:pidentd   ########################################### [100%]
 CC [M] /usr/src/pidentd-3.0.15sg/drivers/pidentd.o
 Building modules, stage 2.
 MODPOST
 CC   /usr/src/pidentd-3.0.15sg/drivers/pidentd.mod.o
 LD [M] /usr/src/pidentd-3.0.15sg/drivers/pidentd.ko
 INSTALL /usr/src/pidentd-3.0.15sg/drivers/pidentd.ko

The pidentd driver has been built and
installed for kernel version 2.6.9-42.ELsmp. If you change and rebuild
the kernel you must also rebuild the pidentd driver. This is
because the kernel version and the drivers kernel mod will not
match and thus will not load.

  # rpm -ivh serviceguard-A.11.16.07-0.product.redhat.i386.rpm
Preparing...        ########################################### [100%]
   1:serviceguard   ########################################### [100%]
Validating the identd configuration...
Warning: ServiceGuard uses the identd daemon, which does not
        appear to be running on this node. Please take the proper
        steps to configure and run identd before attempting to
        have this node re-join the cluster.

  CC [M] /usr/local/cmcluster/drivers/deadman.o
/usr/local/cmcluster/drivers/deadman.c:167: warning: `MODULE_PARM_' is deprecated (declared at include/linux/module.h:552)
  Building modules, stage 2.
  MODPOST
  CC      /usr/local/cmcluster/drivers/deadman.mod.o
  LD [M]  /usr/local/cmcluster/drivers/deadman.ko
  INSTALL /usr/local/cmcluster/drivers/deadman.ko
/bin/mknod: `/dev/deadman': File exists

The Serviceguard deadman driver has been built and
installed for kernel version 2.6.9-42.ELsmp. If you change and rebuild
the kernel you must also rebuild the deadman driver. This is
because the kernel version and the drivers kernel mod will not
match and thus will not load. See the file
/usr/local/cmcluster/bin/../drivers/README and the Serviceguard
documentation on how to do this.

No lingering cmclconfd processes to kill.

To complete the SG/Linux installation:
  -  add "/usr/local/cmcluster/bin" to your path

  # /sbin/chkconfig --level 35 identd on
# /etc/init.d/identd start

4) パスの設定
   RPMパッケージのインストールが終了したら、各クラスタノードで、PATH、MANPATH、ノード名を設定します。
各クラスタノードの管理者権限の $HOME/.bashrcファイル中の PATHに /usr/local/cmcluster/binを追加します。
# vi $HOME/.bashrc
export PATH=$PATH:/usr/local/cmcluster/bin
. /etc/cmcluster.conf

# source $HOME/.bashrc

SGLXのmanページを利用するため、/etc/man.config中に MANPATHを追加します。
MANPATH /usr/local/cmcluster/doc/man

SGLXの manページが見られるか確認します。
# man cmviewcl

5) cmclnodelistにクラスタノードを追加
   各クラスタノードで /usr/local/cmcluster/confディレクトリに、cmclnodelistというファイルを新規作成し、クラスタノードのノード名または IPアドレスを記述します。
# cd /usr/local/cmcluster/conf/
# vi cmclnodelist
sglx01   root
sglx02   root

6) bondingの設定
   次にネットワークの bondingの設定を行います。この作業は両ノードで行ってください。今回はサービス LANおよびハートビート LANに対してそれぞれ bondingを構成する例を紹介します。まず /etc/sysconfig/network-scripts/ ディレクトリの下に次の6つの設定ファイルを作成します。

  <bondingを設定する際の設定例>
 
# cat ifcfg-bond0
DEVICE=bond0
IPADDR=172.16.1.1
NETMASK=255.255.0.0
NETWORK=172.16.0.0
BROADCAST=172.16.255.255
ONBOOT=yes

USERCTL=no
# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
# cat ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0

SLAVE=yes
# cat ifcfg-bond1
DEVICE=bond1
IPADDR=192.168.10.1
NETMASK=255.255.255.0
NETWORK=192.168.10.0
BROADCAST=192.168.10.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
# cat ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond1
SLAVE=yes
# cat ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond1
SLAVE=yes

 上記の設定では eth0と eth2を束ねて bond0、eth1と eth3を束ねて bond1のデバイスを作成しています。
 次に /etc/modprobe.confを編集します
  # cat /etc/modprobe.conf
alias bond0 bonding
alias eth0 tg3
alias eth1 tg3
alias eth2 e1000
alias eth3 e1000
alias scsi_hostadapter1 qla2xxx_conf
alias scsi_hostadapter2 qla2xxx
alias scsi_hostadapter3 qla2300
alias scsi_hostadapter4 qla2400
alias scsi_hostadapter1 cciss
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
options bond0 miimon=100 mode=1
install bond1 /sbin/modprobe bonding -o bonding1 miimon=100 mode=1
options qla2xxx ql2xmaxqdepth=16 qlport_down_retry=30
     ql2xloginretrycount=30 ql2xfailover=1 ql2xlbType=1 ql2xautorestore=0x80
remove qla2xxx /sbin/modprobe -r --first-time --ignore-remove qla2xxx && { /sbin/modprobe -r --ignore-remove qla2xxx_conf; }

  最後に networkサービスを再起動します。
  # service network restart
 これで片方のノードが bonding構成となりました。もう片方のノードも IPアドレスなどを適切な値に変更して、同様に設定してください。

7) NTPサーバの設定
   クラスタ内の各ノードでは、ネットワークタイムプロトコル(NTP) サービスを使用可能にすることをお勧めします。各システムで NTP をデーモンプロセスとして実行しておくと、全ノードのシステム時刻が統一され、ログファイルのタイムスタンプやメッセージサービスの動作の一貫性を保つことができるので、クラスタ内で実行されるアプリケーションの同期も正しく行われます。NTPサーバの設定は /etc/ntp.confに適切な ntpサーバを記述し、ntpdを起動させれば完了です。
# vi /etc/ntp.conf
server 16.x.x.x <--- 適切な ntpサーバのホスト名もしくは IPアドレス

# service ntpd start

Starting ntpd:               [  OK  ]
# chkconfig ntpd on

8) ロックLUNの設定
   Serviceguardではクラスタロックの方式としてロック LUN方式およびクォーラムサーバ方式の、2種類の方式があります。本ドキュメントではロック LUN方式でのクラスタ構築手順について説明します。
 共有ディスク上にロック LUNの領域として100KB以上のパーティションを fdiskコマンドで作成します。ロック LUN用のパーティションタイプ(fdiskにおけるパーティションID)は、83です。この作業は片方のノードから行ってください。
# fdisk /dev/sda

The number of cylinders for this disk is set to 17363.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
  (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
   e extended
   p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-17363, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-17363, default 17363): 1

Command (m for help): p

Disk /dev/sda: 18.2 GB, 18207375360 bytes
64 heads, 32 sectors/track, 17363 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

  Device Boot   Start   End   Blocks  Id System
/dev/sda1       1     1   1008  83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

9) 共有ディスクの設定
   共有ディスク上に LVM領域のパーティションを fdiskコマンドで作成します。LVMパーティションタイプ(fdiskにおけるパーティション ID)は、8eです。
  # fdisk /dev/sda

The number of cylinders for this disk is set to 17363.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
   e  extended
   p  primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (2-17363, default 2): 2
Last cylinder or +size or +sizeM or +sizeK (2-17363, default 17363): +4G

Command (m for help): p

Disk /dev/sda: 18.2 GB, 18207375360 bytes
64 heads, 32 sectors/track, 17363 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

  Device Boot   Start   End   Blocks   Id  System
/dev/sda1      1     1    1008    83 Linux
/dev/sda2      2     3817  3907584   83 Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

10) ボリュームグループの構築
   作成した LVM を使って Serviceguardパッケージがアクティブ化するボリュームグループを作成します。

 物理ボリュームの作成
  # pvcreate -f /dev/sda2
 Physical volume "/dev/sda2" successfully created

 ボリュームグループの作成
  # vgcreate /dev/vgpkgA /dev/sda2
 Volume group "vgpkgA" successfully created

 ボリュームタグの設定
  # vgchange --addtag `uname -n` /dev/vgpkgA
 Volume group "vgpkgA" successfully changed

 ボリュームのアクティブ化
  # vgchange -a y /dev/vgpkgA
 0 logical volume(s) in volume group "vgpkgA" now active

 論理ボリュームの作成。今回は500MBの論理ボリュームを作成しています。
  # lvcreate -L 500M vgpkgA
  Logical volume "lvol0" created

 ファイルシステムを作成しマウントします。
 ファイルシステムの作成
  # mke2fs -j /dev/vgpkgA/lvol0
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


 作成したファイルシステムをマウントします。
  # mkdir /home1
# mount /dev/vgpkgA/lvol0 /home1
# df -HT | grep home
    ext3   508M   11M   471M   3% /home1

11) LVMの共有構成テスト
   sglx01からボリュームグループを非アクティブ化して、カーネルから利用できなくし、ボリュームグループが構成されているノード上の RAID デバイスを停止します。vgpkgA を非アクティブ化するには、次のコマンドを実行します。
  # umount /home1
# vgchange -a n vgpkgA
 0 logical volume(s) in volume group "vgpkgA" now active

 これまで共有ディスクの設定は、クラスタノード sglx01で行っていましたが、このLVMの設定を sglx02に反映させるため、sglx02をリブートします。sglx02をリブートして vgscanコマンドを実行すると、先ほど sglx01から作成したボリュームを認識することができます。

 sglx02リブート後
  # vgscan
 Reading all physical volumes. This may take a while...
 Found volume group "vgpkgA" using metadata type lvm2

 共有ボリュームグループの構成が完了したら、正しく共有されているか確認します。
まず、クラスタノード sglx01側で共有ボリュームグループにテキストを書き込みます。
  # vgchange -a y vgpkgA
 1 logical volume(s) in volume group "vgpkgA" now active
# mount /dev/vgpkgA/lvol0 /mnt
# echo 'Written by' `hostname` 'on' `date` > /mnt/datestamp
# cat /mnt/datestamp

Written by sglx01.lcc.com on Thu Jul 26 20:53:35 JST 2007

 書き込みが完了したらボリュームを非アクティブ化します。
  # umount /mnt
# vgchange -a n vgpkgA
 0 logical volume(s) in volume group "vgpkgA" now active

 次にクラスタノード sglx02側でボリュームをアクティブ化し、書き込みテストを行います。
  # vgchange -a y vgpkgA
 1 logical volume(s) in volume group "vgpkgA" now active

# mount /dev/vgpkgA/lvol0 /mnt/
# ls /mnt
datestamp lost+found
# echo 'Written by' `hostname` 'on' `date` >> /mnt/datestamp
# cat /mnt/datestamp
Written by sglx01.lcc.com on Thu Jul 26 20:59:36 JST 2007
Written by sglx02.lcc.com on Thu Jul 26 21:00:07 JST 2007

# umount /mnt
# vgchange -a n vgpkgA
 0 logical volume(s) in volume group "vgpkgA" now active
 両ノードからそれぞれ共有ボリュームに対して、ファイルの書き込みが可能であることを確認できました。

12) ボリュームグループ構成データの保存
   ボリュームグループを作成したときに、LVM はボリュームグループ構成のバックアップコピーを構成ノード上に作成します。さらに、vgcfgbackup コマンドを使って、そのボリュームグループがアクティブ化されるすべてのノード上の構成データのバックアップを作成します。

クラスタノードsglx01上で
  # vgcfgbackup vgpkgA
 Volume group "vgpkgA" successfully backed up.

13) クラスタの構成
   クラスタマネージャが動作するには、一連のクラスタのパラメータを定義することが必要です。これらのパラメータは、クラスタ内のすべてのノード上にあるバイナリのクラスタ構成ファイルに保存されています。これらのパラメータは、クラスタ構成のテンプレートファイルを編集することにより入力します。cmquerycl コマンドを使用して、クラスタ内のノードセットを指定し、クラスタ構成ファイルのテンプレートを生成します。

 ロック LUN構成の場合
  # cmquerycl -v -L /dev/sda1 -n sglx01 -n sglx02 -C $SGCONF/clust1.config

 クォーラムサーバ構成の場合
  # cmquerycl -v -n sglx01 -n sglx02 -q sglx-qs -C $SGCONF/clust1.config

 ロック LUN構成で作成した場合の clust1.configの例
  CLUSTER_NAME      cluster1

NODE_NAME        sglx01
 NETWORK_INTERFACE   bond0
  HEARTBEAT_IP    172.16.1.1
 NETWORK_INTERFACE   bond1
  HEARTBEAT_IP    192.168.10.1
 CLUSTER_LOCK_LUN   /dev/sda1

NODE_NAME        sglx02
 NETWORK_INTERFACE     bond0
  HEARTBEAT_IP        172.16.1.2
 NETWORK_INTERFACE     bond1
  HEARTBEAT_IP        192.168.10.2
 CLUSTER_LOCK_LUN      /dev/sda1

HEARTBEAT_INTERVAL         1000000
NODE_TIMEOUT               2000000
AUTO_START_TIMEOUT         600000000
NETWORK_POLLING_INTERVAL    2000000
MAX_CONFIGURED_PACKAGES      0

 最後の MAX_CONFIGURED_PACKAGESパラメータはクラスタ内に構成できるパッケージの最大数を設定します。このパラメータは、今後追加する予定のパッケージの数を見込んで、パラメータを再設定するためにクラスタを停止させないで済むような値に設定してください。本ドキュメントでは0から10に修正しています。
  修正前:MAX_CONFIGURED_PACKAGES     0
修正後:MAX_CONFIGURED_PACKAGES    10
 その他のパラメータも適宜環境に合わせて変更してください。

 修正が完了したら以下のコマンドで確認します。
  # cmcheckconf -v -C /usr/local/cmcluster/conf/clust1.config
<略>
Verification completed with no errors found.
Use the cmapplyconf command to apply the configuration.

 メッセージの最後に上記の2行が表示されれば、設定ファイルの作成は完了です。確認が出来れば構成ファイルを全ノードにコピーしてください。
  # scp clust1.config sglx02:/usr/local/cmcluser/conf/

 
14) バイナリ構成ファイルの配布
   設定ファイルを各ノードにコピーしたら、cmapplyconfコマンドを使用して、構成を適用します。
  # cmapplyconf -v -C /usr/local/cmcluster/conf/clust1.config
Checking cluster file: /usr/local/cmcluster/conf/clust1.config
Note : a NODE_TIMEOUT value of 2000000 was found in line 123. For a
significant portion of installations, a higher setting is more appropriate.
Refer to the comments in the cluster configuration ascii file or Serviceguard
manual for more information on this parameter.
Checking nodes ... Done
Checking existing configuration ... Done
Warning: Unable to get configuration for cluster cluster1.
Gathering configuration information ... Done
Gathering configuration information ..
Gathering storage information ..
Found 1 devices on node sglx01
Found 1 devices on node sglx02
Analysis of 2 devices should take approximately 1 seconds
0%----10%----20%----30%----40%----50%----60%----70%----80%----90%----100%
.....
Gathering Network Configuration ........ Done
Checking for inconsistencies .. Done
Maximum configured packages parameter is 10.
Configuring 0 package(s).
10 package(s) can be added to this cluster.
200 access policies can be added to this cluster.
Creating the cluster configuration for cluster cluster1.
Adding node sglx01 to cluster cluster1.
Adding node sglx02 to cluster cluster1.

Completed the cluster creation.

15) クラスタサービスの起動と確認
   cmaplyconfコマンドで構成の適用が完了したら、クラスタを起動させます。コマンドで起動させる場合は cmrunclコマンドを使用します。
  # cmruncl -v
cmruncl : Validating network configuration...
Gathering configuration information ..
Gathering Network Configuration ....... Done
cmruncl : Network validation complete
cmruncl : Waiting for cluster to form....
cmruncl : Cluster successfully formed.
cmruncl : Check the syslog files on all nodes in the cluster
cmruncl : to verify that no warnings occurred during startup.

  クラスタを起動させたら、cmviewclコマンドで起動状態を確認します。
  # cmviewcl -v

CLUSTER   STATUS
cluster1   up

NODE     STATUS   STATE
 sglx01   up     running

Cluster_Lock_LUN:
  DEVICE        STATUS
  /dev/sda1      up

Network_Parameters:
  INTERFACE  STATUS    NAME
  PRIMARY   up      bond0
  PRIMARY   up      bond1

NODE     STATUS   STATE
  sglx02  up     running

Cluster_Lock_LUN:
  DEVICE        STATUS
  /dev/sda1      up

Network_Parameters:
  INTERFACE  STATUS   NAME
  PRIMARY   up     bond0
  PRIMARY   up     bond1
  ロックLUN構成で sgxl01と sglx02が起動していることが確認できます。

16) クラスタの停止
   起動したクラスタを停止させる場合は cmhaltnodeコマンドを実行します。
  # cmhaltnode -v sglx01 sglx02
Disabling package switching to all nodes being halted.
Disabling all packages from running on sglx01.
Disabling all packages from running on sglx02.
Warning: Do not modify or enable packages until the halt operation is completed.

This operation may take some time.
Halting cluster services on node sglx02.
Halting cluster services on node sglx01.
..
Successfully halted all nodes specified.
Halt operation complete.

Serviceguard Managerのインストール

 Serviceguard Manager は Serviceguard クラスタを管理するためのグラフィカルユーザーインタフェースです。Serviceguard Manager はサイト外リンクこちらから無償でダウンロードできます。

1) Serviceguard Managerのインストール
   クラスタ管理ノード(dl360g5)の/etc/hostsに Servicegurardクラスタノードを記述します。

 /etc/hostsの例
  172.16.1.1   sglx01
172.16.1.2   sglx02
172.16.100.3  dl360g5  <-- Serviceguard Manager をインストールする管理ノード

 インストール
  # rpm -ivh sgmanager-A.05.01.00-1.product.redhat.i386.rpm

 
2) Serviceguard Manager の起動
   Serviceguard Managerを起動します。
  # /usr/local/sgmgr/bin/sgmgr &
Serviceguard Manager
 sgmgrを実行すると Serviceguard Managerのウィンドウが登場しますので、OKを選択します。

Serviceguard Manager
 「サーバ」にはクラスタノードのうち1つのホスト名を入力しユーザー名は root、パスワードは rootユーザーのパスワードを入力します。
  表示クラスタは全クラスタを選択し、接続をクリックすると Serviceguard Managerが使用可能になります。

<Serviceguard Managerの表示画面>
Serviceguard Managerの表示画面
 Serviceguard Manager を使用すると、実行中のクラスタのデータを表示したり、保存したデータファイルをオプションで表示したりすることもできます。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項