MySQL Clusterのインストール
ゾーンを作成する
OSを起動した際にデフォルトで起動されるゾーンはグローバルゾーンといいます。その後任意で追加されるゾーンをノングローバルゾーンといいます。ノングローバルゾーン(以下、単にゾーンという)の作成も簡単です。
以下の操作はすべてrootユーザーで行います。ここではmgmという名前のゾーンを作成する例を説明します。
まず、ゾーンのファイルシステムを格納するためのディレクトリを作成し、パーミッションの設定をします。
shell# mkdir /zones/
shell# mkdir /zones/mgm
shell# chmod 700 /zones/mgm
次にゾーンを構成するためzonecfgコマンドを起動します。-zオプションでゾーン名を指定します。
shell# zonecfg -z mgm
zonecfgはインタラクティブなゾーン構成用ユーティリティーです。初回構成時(ゾーン作成時)にはまず、createと入力します。
zonecfg:mgm> create
次に先ほど作成したディレクトリをzonepathに設定します。
zonecfg:mgm> set zonepath=/zones/mgm
今回のシステム構成においては、ゾーンはネットワーク接続が必要ですので、使用するネットワークを追加します。
zonecfg:mgm> add net
今回はIPアドレスとして192.168.1.40、ネットワークインターフェースとしてupf0を利用します。Solarisでは同じNICに複数のIPアドレスを割り当てることが可能です。
zonecfg:mgm:net> set address=192.168.1.40
zonecfg:mgm:net> set physical=upf0
zonecfg:mgm:net> end
以上で構成は完了ですのでzonecfgユーティリティーを終了します。
zonecfg:mgm> verify
zonecfg:mgm> commit
zonecfg:mgm> exit
実際にゾーンを操作するにはzoneadmというユーティリティーを使用します。zoneadmを使って最初にやるべきことは、必要なファイルのインストールです。以下のコマンドで行います。
shell# zoneadm -z mgm install
インストールは数分で完了します。インストールが完了したらゾーンの初期設定を行います。まずはゾーンへ接続を行います。
shell# zlogin -C mgm
これはコンソール接続のようなものです。接続した状態でほかの端末から以下のコマンドを実行します。
shell2# zoneadm -z mgm boot
すると、zloginの画面においてゾーンが起動している様子を見ることができます。ゾーンが起動したら、初回起動時の設定を行います。今回は次の設定を使用します。
1.ホスト名:mgm
2.Kerberosセキュリティー:OFF
3.ネームサービス:None
4.NFSv4 Domain Configuration:Use the NFSv4 domain derived by the system
5.タイムゾーン:日本
6.rootパスワード:任意の値を設定
ゾーンの設定は以上です。zloginの接続を閉じるときは「~.」を続けて入力します。初期設定時以外は-Cオプションなしでzloginを使うといいでしょう。上記と同様にdata1、data2、data3、data4、sql1、sql2、sql3という7つのゾーンを作成します。
今回のテストではこのようなシンプルなゾーンを構成しましたが、実はゾーンは非常に柔軟性の高い機能です。ゾーンごとにリソース管理をして1つのゾーンへCPUを割り当てたり(これは「Solarisコンテナ」という機能です)、ゾーンへLinuxをインストールするといったこともできます。ぜひこの機会にゾーンを学習してください。
MySQL Clusterのパッケージをインストールする
インストールが完了したら、今度はMySQL Clusterのパッケージを追加しましょう。OpenSolarisではSolaris 10用のものがそのまま動きますので、MySQL Clusterのダウンロードページ(http://dev.mysql.com/downloads/cluster/index.html)からパッケージを入手してください。
MySQL ClusterのバイナリはTARおよびpkgadd形式の2つの形式が利用可能です。まずはTARパッケージのインストール方法を紹介します。インストールはバイナリを任意のディレクトリに展開するだけです。今回は/usr/localを使用します。以下、実行例です。
shell> tar zxf mysql-5.1.23-ndb-6.2.15-solaris10-x86_64.tar.gz -C /usr/local
shell> chown -R root:bin /usr/local/mysql-5.1.23-ndb-6.2.15-solaris10-x86_64
shell> ln -s /usr/local/mysql-5.1.23-ndb-6.2.15-solaris10-x86_64 /usr/local/mysql
上記のゾーン作成例では/usr/localはゾーンごとに共有されているディレクトリです。従って、/usr/localに展開されたMySQL Cluserのバイナリは、どのノングローバルゾーンからでもアクセスすることが可能です。バイナリを展開したら、各ゾーンにおいて適宜パスの設定を行ってください。
実運用で利用される場合には、pkgaddパッケージを使うことをお勧めします。Linuxでrpmを使ってパッケージを管理するのと同じですね。ただしこの場合、ファイルの実体は/opt/mysqlへインストールされ、ファイルの種類に応じて図3に示したディレクトリにシンボリックリンクが作成されることになります。
以上でMySQL Clusterを動かすためのSolarisゾーンの構築と、MySQL Clusterのインストールが完了しました。次回はMySQL Clusterシステムの構築方法を紹介します。