Sun Cluster Data Service for MySQL ガイド (Solaris OS 版)

Sun Cluster HA for MySQL のインストールと構成の計画

ここでは、Sun Cluster HA for MySQL のインストールと構成の計画について説明します。

構成に関する制限事項

ここでは、Sun Cluster HA for MySQL にのみ適用されるソフトウェアとハードウェア構成の制限事項を示します。

すべてのデータサービスに適用される制限事項については、『Sun Cluster Release Notes』を参照してください。


注意 – 注意 –

これらの制限事項を守らないと、データサービスの構成がサポートされない場合があります。



例 1 MySQL インスタンス (広域ファイルシステムの場合)

次に、MySQL と 2 つの MySQL インスタンス (mysql-data-1mysql-data-2) の両方を広域ファイルシステムにインストールする例を示します。最終出力は、Veritas Volume Manager を使用して配備された MySQL に対応する /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 mysql -> /global/mysql
#
# ls -l /global/mysql
total 10432
drwxr-xr-x  13 mysql    mysql        512 Mar 16 00:03 .
drwxrwxrwx   7 root     other       2048 Apr 11 09:53 ..
-rw-r--r--   1 mysql    mysql      19106 Mar 15 23:29 COPYING
-rw-r--r--   1 mysql    mysql      28003 Mar 15 23:29 COPYING.LIB
-rw-r--r--   1 mysql    mysql     126466 Mar 15 16:47 ChangeLog
-rw-r--r--   1 mysql    mysql       6811 Mar 15 23:29 INSTALL-BINARY
-rw-r--r--   1 mysql    mysql       1937 Mar 15 16:47 README
drwxr-xr-x   2 mysql    mysql       1536 Mar 16 00:03 bin
-rwxr-xr-x   1 mysql    mysql        773 Mar 16 00:03 configure
drwxr-x---   4 mysql    mysql        512 Mar 16 00:03 data
drwxr-xr-x   2 mysql    mysql       1024 Mar 16 00:03 include
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 lib
drwxr-xr-x   3 mysql    mysql        512 Mar 16 00:03 man
-rw-r--r--   1 mysql    mysql    2676944 Mar 15 23:23 manual.html
-rw-r--r--   1 mysql    mysql    2329252 Mar 15 23:23 manual.txt
-rw-r--r--   1 mysql    mysql      98233 Mar 15 23:23 manual_toc.html
drwxr-xr-x   6 mysql    mysql        512 Mar 16 00:03 mysql-test
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 scripts
drwxr-xr-x   3 mysql    mysql        512 Mar 16 00:03 share
drwxr-xr-x   7 mysql    mysql       1024 Mar 16 00:03 sql-bench
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 support-files
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 tests
# ls -l /global/mysql-data-1
Total 30
drwxrwxrwx   9 mysql    mysql        512 Apr 15 12:06 .
drwxrwxrwx  20 root     root        1024 Apr 10 12:41 ..
drwxr-xr-x   2 mysql    mysql        512 Apr 15 12:00 BDB
drwxrwxrwx   2 mysql    mysql        512 Apr 15 11:59 innodb
drwxrwxrwx   2 mysql    mysql       2048 Apr 15 14:47 logs
-rw-r--r--   1 mysql    mysql       1432 Apr 15 11:58 my.cnf
drwx------   2 mysql    mysql        512 Apr 15 11:59 mysql
-rw-rw----   1 mysql    mysql          5 Apr 15 14:47 mysqld.pid
drwx------   2 mysql    mysql        512 Apr 15 14:53 sc3_test_database
drwx------   2 mysql    mysql        512 Apr 15 11:58 test
drwx------   2 mysql    mysql        512 Apr 15 12:00 testdb
#

# ls -l /global/mysql-data-2
total 32
drwxrwxrwx   9 mysql    mysql        512 Apr 15 07:49 .
drwxrwxrwx  20 root     root        1024 Apr 10 12:41 ..
drwxr-xr-x   2 mysql    mysql        512 Apr 14 11:16 BDB
drwxr-xr-x   2 mysql    mysql        512 Apr 14 11:14 innodb
drwxr-xr-x   2 mysql    mysql       2560 Apr 15 10:15 logs
-rw-r--r--   1 mysql    mysql       1459 Apr 14 11:13 my.cnf
drwx------   2 mysql    mysql        512 Apr 14 11:14 mysql
-rw-rw----   1 mysql    mysql          5 Apr 15 10:10 mysqld.pid
drwx------   2 mysql    mysql        512 Apr 15 10:10 sc3_test_database
drwx------   2 mysql    mysql        512 Apr 14 11:14 test
drwx------   2 mysql    mysql        512 Apr 14 11:16 testdb

# more /etc/vfstab (Subset of the output)
/dev/vx/dsk/dg1/vol01   /dev/vx/rdsk/dg1/vol01  /global/mysql    ufs     2
yes global,logging
/dev/vx/dsk/dg2/vol01   /dev/vx/rdsk/dg2/vol01  /global/mysql-data-1    ufs     2
yes global,logging
/dev/vx/dsk/dg2/vol01   /dev/vx/rdsk/dg2/vol01  /global/mysql-data-2    ufs     2
yes global,logging

#


注 –

この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /global/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /global/mysql-data-2 です。



例 2 MySQL インスタンス (フェイルオーバーファイルシステムの場合)

次に MySQL をローカルファイルシステムに、2 つの MySQL インスタンス (mysql-data-1mysql-data-2) をフェイルオーバーファイルシステムにインストールする例を示します。最終出力は、Veritas Volume Manager を使用して配備された MySQL に対応する /etc/vfstab エントリのサブセットです。


# ls -l /usr/local/mysql
total 10432
drwxr-xr-x  13 mysql    mysql        512 Mar 16 00:03 .
drwxrwxrwx   7 root     other       2048 Apr 11 09:53 ..
-rw-r--r--   1 mysql    mysql      19106 Mar 15 23:29 COPYING
-rw-r--r--   1 mysql    mysql      28003 Mar 15 23:29 COPYING.LIB
-rw-r--r--   1 mysql    mysql     126466 Mar 15 16:47 ChangeLog
-rw-r--r--   1 mysql    mysql       6811 Mar 15 23:29 INSTALL-BINARY
-rw-r--r--   1 mysql    mysql       1937 Mar 15 16:47 README
drwxr-xr-x   2 mysql    mysql       1536 Mar 16 00:03 bin
-rwxr-xr-x   1 mysql    mysql        773 Mar 16 00:03 configure
drwxr-x---   4 mysql    mysql        512 Mar 16 00:03 data
drwxr-xr-x   2 mysql    mysql       1024 Mar 16 00:03 include
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 lib
drwxr-xr-x   3 mysql    mysql        512 Mar 16 00:03 man
-rw-r--r--   1 mysql    mysql    2676944 Mar 15 23:23 manual.html
-rw-r--r--   1 mysql    mysql    2329252 Mar 15 23:23 manual.txt
-rw-r--r--   1 mysql    mysql      98233 Mar 15 23:23 manual_toc.html
drwxr-xr-x   6 mysql    mysql        512 Mar 16 00:03 mysql-test
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 scripts
drwxr-xr-x   3 mysql    mysql        512 Mar 16 00:03 share
drwxr-xr-x   7 mysql    mysql       1024 Mar 16 00:03 sql-bench
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 support-files
drwxr-xr-x   2 mysql    mysql        512 Mar 16 00:03 tests
# ls -l /local/mysql-data-1
Total 30
drwxrwxrwx   9 mysql    mysql        512 Apr 15 12:06 .
drwxrwxrwx  20 root     root        1024 Apr 10 12:41 ..
drwxr-xr-x   2 mysql    mysql        512 Apr 15 12:00 BDB
drwxrwxrwx   2 mysql    mysql        512 Apr 15 11:59 innodb
drwxrwxrwx   2 mysql    mysql       2048 Apr 15 14:47 logs
-rw-r--r--   1 mysql    mysql       1432 Apr 15 11:58 my.cnf
drwx------   2 mysql    mysql        512 Apr 15 11:59 mysql
-rw-rw----   1 mysql    mysql          5 Apr 15 14:47 mysqld.pid
drwx------   2 mysql    mysql        512 Apr 15 14:53 sc3_test_database
drwx------   2 mysql    mysql        512 Apr 15 11:58 test
drwx------   2 mysql    mysql        512 Apr 15 12:00 testdb
#

#ls -l /local/mysql-data-2
total 32
drwxrwxrwx   9 mysql    mysql        512 Apr 15 07:49 .
drwxrwxrwx  20 root     root        1024 Apr 10 12:41 ..
drwxr-xr-x   2 mysql    mysql        512 Apr 14 11:16 BDB
drwxr-xr-x   2 mysql    mysql        512 Apr 14 11:14 innodb
drwxr-xr-x   2 mysql    mysql       2560 Apr 15 10:15 logs
-rw-r--r--   1 mysql    mysql       1459 Apr 14 11:13 my.cnf
drwx------   2 mysql    mysql        512 Apr 14 11:14 mysql
-rw-rw----   1 mysql    mysql          5 Apr 15 10:10 mysqld.pid
drwx------   2 mysql    mysql        512 Apr 15 10:10 sc3_test_database
drwx------   2 mysql    mysql        512 Apr 14 11:14 test
drwx------   2 mysql    mysql        512 Apr 14 11:16 testdb

# more /etc/vfstab (Subset of the output)
/dev/vx/dsk/dg2/vol01   /dev/vx/rdsk/dg2/vol01  /local/mysql-data-1    ufs     2
yes logging
/dev/vx/dsk/dg2/vol01   /dev/vx/rdsk/dg2/vol01  /local/mysql-data-2    ufs     2
yes logging
#


注 –

この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-2 です。


構成に関する要件

ここで説明する要件が適用されるのは、Sun Cluster HA for MySQL に限られます。Sun Cluster HA for MySQL のインストールと構成を始める前に、次の要件を満たしておく必要があります。


注意 – 注意 –

次の要件を満たさないと、データサービスの構成がサポートされない場合があります。


Sun Cluster HA for MySQL のコンポーネントとコンポーネント間の依存関係

MySQL コンポーネントとそれらの依存関係 — Sun Cluster HA for MySQL データサービスは、MySQL インスタンスとそれぞれのコンポーネントを保護するように構成できます。コンポーネントと各コンポーネント間の依存関係について簡単に説明します。


注 –

この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-2 です。


表 3 Sun Cluster HA for MySQL の依存関係

構成要素 

説明 

MySQL サーバー 

-> SUNW.LogicalHost リソース

SUNW.LogicalHost リソースは、MySQL IP アドレスを管理し、その IP アドレスが実際に使用されるまでは MySQL が起動しないようにします。 

MySQL サーバー 

-> SUNW.HAStoragePlus リソース

SUNW.HAStoragePlus リソースは、MySQL のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは MySQL が起動しないようにします。 

Sun Cluster HA for MySQL の登録と構成ファイル

MySQL コンポーネントには 2 つの構成/登録ファイルがあり、ファイルは /opt/SUNWscmys/util に格納されています。これらのファイルを使用すると、MySQL コンポーネントを Sun Cluster に登録でき、さらに、MySQL インスタンスを登録する準備を行うことができます。

これらのファイル内では、適切な依存関係が適用されます。


例 3 Sun Cluster 用の MySQL 構成/登録ファイル


# cd /opt/SUNWscmys
#
# ls -l util
-rwxr-xr-x   1 root     other       1208 Mar 25 13:49 ha_mysql_config
-rwxr-xr-x   1 root     other        820 Mar 25 13:55 ha_mysql_register
-rwxr-xr-x   1 root     other       1105 Apr 16 07:48 mysql_config
-rwxr-xr-x   1 root     other       2993 Apr 11 10:57 mysql_register
#
# more util/*config
::::::::::::::
util/mysql_config
::::::::::::::
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
# 
# This file will be sourced in by mysql_register and the parameters
# listed below will be used.
#

# Where is mysql installed (BASEDIR)
(日本語訳)
# mysql のインストール場所 (BASEDIR)
MYSQL_BASE=

# Mysql admin-user for localhost
(日本語訳)
# ローカルホストの mysql 管理ユーザー
MYSQL_USER=

# Password for mysql admin user
(日本語訳)
# mysql 管理ユーザー用のパスワード
MYSQL_PASSWD=

# Configured logicalhost
(日本語訳)
# 構成済み論理ホスト
MYSQL_HOST=

# Specify a username for a faultmonitor user
(日本語訳)
# 障害モニターユーザーのユーザー名を指定する
FMUSER=

# Pick a password for that faultmonitor user
(日本語訳)
# 障害モニターユーザー用のパスワードを選ぶ
FMPASS=

# Socket name for mysqld ( Should be /tmp/<logical host>.sock )
(日本語訳)
# mysqld のソケット名 (/tmp/<logical host>.sock )
MYSQL_SOCK=/tmp/<logical host>.sock

# FOR SC3.1 ONLY, Specify the physical hostname for the
# physical NIC that this logicalhostname belongs to for every node in the
# cluster this Resourcegroup can located on.
# IE: The logicalhost lh1 belongs to hme1 for physical-node phys-1 and
# hme3 for  physical-node phys-2. The hostname for hme1 is phys-1-hme1 and
# for hme3 on phys-2 it is phys-2-hme3.
# IE: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3"
(日本語訳)
# SC3.1 に限り、物理 NIC には物理ホスト名を指定してください。
# SC3.1 の論理ホスト名は、このリソースグループを置くことができる
# クラスタのすべてのノードに属します。
# 例: 論理ホスト lh1 は、物理ノード phys-1 では hme1 に属し、
# 物理のノード phys-2 では hme3 に属します。hme1 のホスト名は phys-1-hme1、
# phys-2 の hme3 のホスト名は phys-2-hme3 です。
# 例: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3"
MYSQL_NIC_HOSTNAME=""
::::::::::::::
util/ha_mysql_config
::::::::::::::
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
# 
# This file will be sourced in by ha_mysql_register and the parameters
# listed below will be used.
(日本語訳)
# このファイルは ha_mysql_register によって有効化され、以下のパラメータ
# が使用されます。
#
# 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
#   BASEDIR - name of the Mysql bin directory
#   DATADIR - name of the Mysql Data directory
# MYSQLUSER - name of the user Mysql should be started of
#        LH - name of the LogicalHostname SC resource
# MYSQLHOST - name of the host in /etc/hosts
#    FMUSER - name of the Mysql fault monitor user
#    FMPASS - name of the Mysql fault monitor user password
#    LOGDIR - name of the directory mysqld should store it's logfile.
#    CHECK  - should HA-MySQL check MyISAM index files before start YES/NO.
#    HAS_RS - name of the mysql HAStoragePlus SC resource
#
#       The following examples illustrate sample parameters
#       for Mysql
#
#       BASEDIR=/usr/local/mysql
#       DATADIR=/global/mysqldata
#       MYSQLUSER=mysql
#       LH=mysqllh
#       MYSQLHOST=mysqlipname
#       FMUSER=fmuser
#       FMPASS=fmuser
#       LOGDIR=/global/mysqldata/logs
#       CHECK=YES
#
(日本語訳)
# このパラメータは (キー=値) 形式でカスタマイズできます。
#
#        RS - アプリケーションのリソース名
#        RG - RS を含むリソースグループ名
#   BASEDIR - Mysql bin ディレクトリ名
#   DATADIR - Mysql Data ディレクトリ名
# MYSQLUSER - Mysql の起動ユーザー名
#        LH - LogicalHostname SC リソース名
# MYSQLHOST - name of the host in /etc/hosts
#    FMUSER - Mysql 障害モニターユーザー名
#    FMPASS - Mysql 障害モニターユーザー用のパスワード名
#    LOGDIR - mysqld がログファイルを格納するディレクトリ名
#     CHECK - HA-MySQL が MyISAM のインデックスファイルをチェックしてからスタート
#             する、YES/NO
#    HAS_RS - mysql HAStoragePlus SC リソース名
#
#      以下に、Mysql のパラメータの例を示します。
#
#       BASEDIR=/usr/local/mysql
#       DATADIR=/global/mysqldata
#       MYSQLUSER=mysql
#       LH=mysqllh
#       MYSQLHOST=mysqlipname
#       FMUSER=fmuser
#       FMPASS=fmuser
#       LOGDIR=/global/mysqldata/logs
#       CHECK=YES

RS=
RG=
BASEDIR=
DATADIR=
MYSQLUSER=
LH=
MYSQLHOST=
FMUSER=
FMPASS=
LOGDIR=
CHECK=
HAS_RS=
# 

my.cnf ファイルの説明

my.cnf file — Sun Cluster HA for MySQL データサービスには my.cnf のサンプルファイルが 2 つ (マスター構成用とスレーブ構成用) 用意されています。ただし、最低でも次のパラメータを設定する必要があります。


注 –

MySQL の中で、my.cnf は重要なファイルです。各パラメータの設定の詳細については、MySQL のマニュアルを参照してください。


マスター構成のセクション [mysqld] 内の MySQL ファイル my.cnf

スレーブ構成のセクション [mysqld] 内の MySQL ファイル my.cnf