ここで説明する要件が適用されるのは、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 です。
構成要素 |
説明 |
---|---|
MySQL サーバー |
-> SUNW.LogicalHost リソース SUNW.LogicalHost リソースは、MySQL IP アドレスを管理し、その IP アドレスが実際に使用されるまでは MySQL が起動しないようにします。 |
MySQL サーバー |
-> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、MySQL のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは MySQL が起動しないようにします。 |
MySQL コンポーネントには 2 つの構成/登録ファイルがあり、ファイルは /opt/SUNWscmys/util に格納されています。これらのファイルを使用すると、MySQL コンポーネントを 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 file — Sun Cluster HA for MySQL データサービスには my.cnf のサンプルファイルが 2 つ (マスター構成用とスレーブ構成用) 用意されています。ただし、最低でも次のパラメータを設定する必要があります。
MySQL の中で、my.cnf は重要なファイルです。各パラメータの設定の詳細については、MySQL のマニュアルを参照してください。
マスター構成のセクション [mysqld] 内の MySQL ファイル my.cnf
bind address には、定義済みの論理ホスト IP 名を設定する必要があります。
socket は、/tmp/<論理ホスト IP 名>.sock として定義されます。
log-bin オプションを使用する場合、binlog-ignore-db には sc3_test_database を指定します。
スレーブ構成のセクション [mysqld] 内の MySQL ファイル my.cnf
bind address には、定義済みの論理ホスト IP 名を設定する必要があります。
socket は、/tmp/<論理ホスト IP 名>.sock として定義されます。
log-bin オプションを使用する場合、binlog-ignore-db には sc3_test_database を指定します。
master—host は、マスターインスタンスが存在するホスト名です。
master—user は、スレーブがマスターに対する識別に使用するユーザー名です。
master—password は、スレーブがマスターに対する識別に使用するパスワードです。
master-info-file は、複製プロセス時に、MySQL がマスター上で停止した位置を記憶しているファイルの保管場所です。このファイルは GFS/FFS 上に置く必要があります。