MySQL Clusterのインストール

2008年7月8日(火)
奥野 幹也

ゾーンを作成する

 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システムの構築方法を紹介します。

サン・マイクロシステムズ株式会社
MySQLサポートエンジニア。MySQLサーバー本体のほかにMySQL Cluster、DRBDなどを担当。障害解析からパフォーマンスチューニングまで幅広く対応。OSSの普及をライフワークとしている。http://nippondanji.blogspot.com/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています