Midnightjapan

Tag: Centos

CentOSを使ったLAN内用HAクラスタリングWEBDBサーバー構築 その3

by jun on 11月.17, 2010, under Linux

CentOS 5.5でMySQL Clusterを設定

まずMysql Clusterがインストール可能なyum の Repo [wing] があるので、これを使ってインストールします。

# cd /etc/yum.repos.d/
# wget http://wing-net.ddo.jp/wing/wing.repo
# wget http://wing-net.ddo.jp/wing/wing-extras.repo
# yum --enablerepo=wing install mysql-server mysql-cluster
=====================================================================================================================================================================
 Package                                    Arch                             Version                                          Repository                        Size
=====================================================================================================================================================================
Installing:
 mysql-cluster                              i386                             5.1.52-1.el5_1.wing                              wing                              15 M
 mysql-server                               i386                             5.1.52-1.el5_1.wing                              wing                              13 M
Installing for dependencies:
 mysql-libs                                 i386                             5.1.52-1.el5_1.wing                              wing                             4.2 M
Updating for dependencies:
 mysql                                      i386                             5.1.52-1.el5_1.wing                              wing                             4.3 M
 perl-DBD-MySQL                             i386                             4.010-1.el5_0.wing                               wing                             217 k

Transaction Summary
=====================================================================================================================================================================
Install       3 Package(s)
Upgrade       2 Package(s)

Total download size: 37 M

リポジトリをダウンロードしてyumコマンドでwing repo を指定したってことですね。

インストールが終わったら設定を行います。

まずわたしがひっかたったのは、ノードとホストってどう違うの?っていうか設定はこのノードにしか必要無いとか書いてあるんですが、わかりにくいですよね?

ていうか、わかりにくいです。

そこでがっちり作ってみました。まずはネットワーク構成図です。

VMware ESXi ネットワーク構成図

VMware ESXi ネットワーク構成図

このネットワーク構成のそれぞれのサーバーに下記のような構成を行います。

MySQLCluster構成

MySQLCluster構成

「WBCMainサーバー」での設定

1)MySQLサーバーの設定

# vi /etc/my.cnf
----以下viで編集---
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring=”nodeid=4;host=localhost:1186″

ndbcluster
ndb-connectstring=192.168.0.2

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
#connect-string=”nodeid=2;host=localhost:1186″

connect-string=192.168.0.2

[ndb_mgm]
# connection string for MySQL Cluster management tool
#connect-string=”host=localhost:1186″

connect-string=192.168.0.2

[mysql_cluster]
ndb-connectstring=192.168.0.2

2)管理ノードの設定

# cp /usr/share/mysql/ndb-config-2-node.ini /var/lib/mysql-cluster/config.ini  ←テンプレートをコピーしてviで編集
# vi /var/lib/mysql-cluster/config.ini
---以下viで編集---
# Example Ndbcluster storage engine config file.
#
[ndbd default]
NoOfReplicas= 2
MaxNoOfConcurrentOperations= 10000
DataMemory= 80M
IndexMemory= 24M
TimeBetweenWatchDogCheck= 30000
DataDir= /var/lib/mysql-cluster
MaxNoOfOrderedIndexes= 512
[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster
[ndb_mgmd]
Id=1
#HostName= localhost
HostName=192.168.0.2
[ndbd]
Id= 2
#HostName= localhost
HostName= 192.168.0.2
[ndbd]
Id= 3
#HostName= localhost
HostName= 192.168.0.3

[mysqld]
Id= 4
HostName= 192.168.0.2

[mysqld]
Id= 5
HostName= 192.168.0.3

[mysqld]
Id= 6

[mysqld]
Id= 7
# choose an unused port number
# in this configuration 63132, 63133, and 63134
# will be used
[tcp default]
PortNumber= 63132

「WBCsubサーバー」での設定

1)MySQLサーバーの設定

# vi /etc/my.cnf
----以下viで編集---
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring=”nodeid=4;host=localhost:1186″

ndbcluster
ndb-connectstring=192.168.0.2

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
#connect-string=”nodeid=2;host=localhost:1186″

connect-string=192.168.0.2

[ndb_mgm]
# connection string for MySQL Cluster management tool
#connect-string=”host=localhost:1186″

connect-string=192.168.0.2

[mysql_cluster]
ndb-connectstring=192.168.0.2

2)管理ノードの設定

# cp /usr/share/mysql/ndb-config-2-node.ini /var/lib/mysql-cluster/config.ini  ←テンプレートをコピーしてviで編集
# vi /var/lib/mysql-cluster/config.ini
---以下viで編集---
# Example Ndbcluster storage engine config file.
#
[ndbd default]
NoOfReplicas= 2
MaxNoOfConcurrentOperations= 10000
DataMemory= 80M
IndexMemory= 24M
TimeBetweenWatchDogCheck= 30000
DataDir= /var/lib/mysql-cluster
MaxNoOfOrderedIndexes= 512
[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster
[ndb_mgmd]
Id=1
#HostName= localhost
HostName=192.168.0.2
[ndbd]
Id= 2
#HostName= localhost
HostName= 192.168.0.2
[ndbd]
Id= 3
#HostName= localhost
HostName= 192.168.0.3

[mysqld]
Id= 4
HostName= 192.168.0.2

[mysqld]
Id= 5
HostName= 192.168.0.3

[mysqld]
Id= 6

[mysqld]
Id= 7
# choose an unused port number
# in this configuration 63132, 63133, and 63134
# will be used
[tcp default]
PortNumber= 63132

はい、まったく同じ設定を行います。それぞれ設定が完了したら、サーバーを起動していきます。

起動順序は「WBCmain」→「WBCsub」がよろしいかと思います。subのndbdを起動したら、mainの応答がないのでエラーを返してきたりしました。

「WBCmainサーバー」でのサーバー起動

1)管理ノードの起動と自動起動登録
# service ndb_mgmd start
# chkconfig ndb_mgmd on
2)データノードの起動と自動起動登録
# service ndbd start
# chkconfig ndbd on
3)SQLノードの起動と自動起動登録
# service mysqld start
# chkconfig mysqld on

「WBCsubサーバー」でのサーバー起動

1)データノードの起動と自動起動登録
# service ndbd start
# chkconfig ndbd on
2)SQLノードの起動と自動起動登録
# service mysqld start
# chkconfig mysqld on

「WBCmainサーバー」で動作確認と管理ノード操作

# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.0.2:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.2  (Version: 5.1.52, Nodegroup: 0, Master)
id=3    @192.168.0.3  (Version: 5.1.52, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.2  (Version: 5.1.52)

[mysqld(API)]   4 node(s)
id=4    @192.168.0.2  (Version: 5.1.52)
id=5    @192.168.0.3  (Version: 5.1.52)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)

ndb_mgm>

これでデータベースサーバーのクラスタ化は完成。

複数のサーバーが常に同じ情報をもつようになります。

この構造と次のHAクラスタサーバー構成を導入すれば、かなりの高可用性となることでしょう。

ndb_mgm管理コマンドでオンラインバックアップにも対応しています。

それはまた今度。

次はHeartbeat+DRBDでアクティブ・スタンバイ型のHA(High Availability:高可用性)クラスタシステムを構築する。

コメントなし :, , , , , more...

CentOSを使ったLAN内用HAクラスタリングWEBDBサーバー構築 その2

by jun on 11月.17, 2010, under Linux

CentOS5.5をHAクラスタリング構成で構築する。

サーバーの構築には速度・安全・理解が非常に重要です。

理解していないサーバーをいれて、セキュリティーホールをつつかれたりしても自己責任ですからね。

インストールは最小構成でインストールしてXもいれません。すべてコンソールで設定していきます。

そんなわけで最初のウイザードが非常に重要。

記事のほとんどが、下記のサイトを拝見して自分なりにカスタマイズしてるだけなんですがね。

CentOSで自宅サーバー構築「CentOS5インストール編」

ただし注意があります。

目指すは同ページのHAクラスタリングなので、DRBD構築時の領域を残さないといけません。

なので、ハードディスクパーティションの際に上手に設定すれば比較的容易に構築することが可能です。

CentOS5.5インストール画面:パーティション

CentOS5.5インストール画面:パーティション

この画面「パーティションレイアウトの再確認と変更」を選択しておけばカスタマイズ可能です。

まずは起動です。

仮想サーバー環境を構築するのが初めての方はなんのことだかわからない設定がたくさんあるかと思いますが、一つずつ理解して進めてくださいね。

VMware Infrastracture Clientでcd/dvdが認識しないことが多いです。

Consoleがでても、not bootable devicesとでて起動しないことありますよね?

あわてずにデフォルトの設定のままであればConnect CD/DVDを選択するとあなたが操作しているPCのフロッピーとかCDを利用するんですよ。知ってました?

すんごい技術なんですが、当たり前のようにLocalと書かれていても、俺が操作してるのはリモートでローカルってことはサーバーのこといってんじゃねーの?

なんてことが通じませんのでご理解ください。

それも面倒だし遅いので、操作しているPCにあるISOイメージを使うと早くていいですよ。

すでにインストールに失敗して仮想サーバーの仮想HDDにOSがある時や、LANブートができるけど毎回そっちいくぞ!って人はBIOSを変更してください。

コツはテキパキ操作すること!

仮想といえど、早いです!BIOSとか見えないので、がんばらないといけません。

起動>Consoleを速攻でクリック>F2でBOIS画面 F12で Boot Selectです。

間に合わなかったら、マウスカーソルをConsoleの外に出すためにCtrl+Altで離脱できます。間違ってもCtrl+Alt+Delしてもタスクマネージャーが開くだけですからね!

この画面がでてから「connect CD/DVD」を選択すればゆっくりとCDから起動させることなどが可能です。

起動してセットアップする際に、HAクラスタリングにするためにDRBDを稼働させます。DRBDはデバイスレベルでデータの二重化を行うそうで、パーティションをいじらないといけないとかいてあるため、インストールのときにこんなかんじにいじってみました。

BRDB用VolumeGroupパーティショニング

BRDB用VolumeGroupパーティショニング

LVMとかわからないことが多いかもしれませんが、ここも操作勉強しているうちに、普通に理解できるようになります。がんばってください!
(誰にいってるんだ?俺

インストール構成は最小限の構成で。インストール後の設定も下記の通りです。

このサイトは私にとって神様的存在です。とても詳細に書いてあります。

CentOSで自宅サーバー構築「CentOS5インストール」

CentOSで自宅サーバー構築「CentOS5初期設定」

CentOSで自宅サーバー構築「HAクラスタシステム構築(Heartbeat+DRBD+Apache)」

まずはこの章までにHAクラスタ化されWEBサーバーの構築まで完成です。

次はMySQL Clusterを導入してWEBDBサーバーのクラスタ化の完成ですね。

がんばりましょう。

コメントなし :, , , more...

CentOSを使ったLAN内用HAクラスタリングWEBDBサーバー構築 その1

by jun on 11月.17, 2010, under Linux, WEB

表題はすごいお題目ですが、結構簡単にできるようです。

前提

MySQL+PHPを使ったWEBDBサーバーの構築方法であるということ。

OSにはCentOSを使うが、以前から利用しているVMwareESXiを使ったHypervisorタイプの仮想環境で構築することで複数サーバーにみせかけてHAクラスタリングを構築し開発環境として利用することである。

実践的な運用方法ではないため、皆さんにおすすめできるような安全な構成のクラスタリングシステムではないことと、セキュリティーや運用については今後のJUNに期待するかご自分で検討しなければいけないことと理解してください。

それではまず仮想環境構築から。

1.VMwareESXi3.5によるPC1台で2台のサーバーを構築する

VMwareESXi3.5をインストールする際の注意は「VMware ESXiの導入」にて詳しく書いておりますのでそちらを確認してください。

LANカードについては「VMware ESXiの導入」にて失敗談を書きましたが、成功例は下記の通りです。

仮想サーバー構築で1台だけどできるだけ負荷を分散したりメリットを得られることを確信してLANカードを複数設置することが前提です。

私の場合は管理ポートx1、仮想用ポートx2を前提に設定してみました。

LANカード1枚でも複数の仮想サーバーを構築することができるので、不要な方は読み飛ばしてください。

・Intel製のLANカードを購入・もしくは利用することが前提(失敗談にだめだったLANカードサンプルもあります)
・HDDはSATAがいい。CDまたはDVDドライブはATAの0/0がデフォルトなので、セットアップ後に楽になる。

VMwareESXi3.5のインストールが終わったら、ローカルの画面で管理コンソールのIPなどを設定しブラウザでアクセス。

「VMware Infrastracture Client」を起動

Cofirgurationタブを選択してHardware>Network Adaptersを選択

VMware ESXi 複数LANカード設定

VMware ESXi Network Adapters設定画面01

このように認識していたら、仮想サーバー上で正常に利用することが可能でしょう。

上がオンボードのIntel製NIC。下の2枚が追加した「Intel PRO/1000 GT Desktop Adapter」秋葉原で新品3360円x2で購入しました。

Cofirgurationタブを選択してHardware>Networkingを選択

VMware ESXi Networking設定画面

VMware ESXi Netwaorking設定画面

デフォルトで設定されたネットワークがこちら。この上の右のほうにある「Add Networking…」をクリックしてネットワークを追加していきます。

ウイザードなので、つぎのように選択。

VMware ESXi add network wizard 01

VMware ESXi add network wizard 01

・Virtual Machine は、仮想サーバー向けのネットワークグループの構成という意味です。

・VMKernelは、VMwareESXi側に割り当てるリソースを意味していて、仮想サーバー構築時に選択するようなネットワークボリュームや、このネットワークの設定ではメンテナンス用にファイル共有サーバー専用のLANポートをチーミングで用意して、高速にデータ転送するようになど、用途に応じて高度なことが可能です。

今回は「Virtual Machine」を選択です。

VMware ESXi add network wizard 01

VMware ESXi add network wizard 01

どのLANカードでバーチャルスイッチを構成するかプレビューを見ながら選択できます。画面みれば一目瞭然ですね。

VMware ESXi Networking完成

VMware ESXi Networking完成

こんな構成になりました。

一番上は管理用のIPアドレスを割り当て。仮想サーバーの名称がでてしまっているのは仮想環境構築後にSSとったためです。

ご愛嬌ということでご勘弁を_(._.)_

仮想サーバーを構築して「Edit virtual machine settings」を設定し、ネットワークグループをプルダウンから選択できますので完了です。

VMware ESXi Virtual Machi Properties設定

VMware ESXi Virtual Machi Properties設定

あとは「Summary」タブから「OpenConsole」を開き、OSをインストールしていきます。

注意としてはCD/DVDドライブを認識しなくてもあわわてず、多少ゆとりを持ちながら待つことが大事です。

VMware ESXi ConsoleからISOイメージを選択

VMware ESXi ConsoleからISOイメージを選択

「Connect to ISO image….」を選択すると、操作しているPCのローカルからイメージを選択可能です。

起動までに若干時間がかかったりするので、あわてずさわがず待ってるとちゃんと動いてくれているようです。

(あわててさわいで、認識しねーよ!とオタオタしたJUNです。

次は「その2」でCentOS5.5 32bitをインストールします。

コメントなし :, , , more...

いよいよCentOS 5.5サーバー製品化

by jun on 6月.11, 2010, under Linux

HP Proliant ML110 G6へCentos5.5を導入し、WEBクラウドシステムを構築し販売します。

組立でだましだまし、かれこれ20基ほど作ってきましたが、既製品への正式導入ははじめてです。

HPはCentosサーバー対応に正式表明していますが、なにが起っても私が対応しなければいけません。

さぁ、まずははじめましょう。

インストールから・・・

HP Proliant ML110 G6

HP Proliant ML110 G6

CPU:Intel Xeon X3430/4-core/2.4GHz(L3:8MB)

RAM:1GB

HDD:1TB+1TB

CentOS 5.5 メーカー公式対応:非対応

AHCI SATA ネイティブパーティション

サーバーモデルに慣れてないJUNはLANポートだと思って、コンソールポートにLANケーブルを挿した!JUNは60pointのダメージ・・・Orz

JUNはレベルが上がった!

(なんのこっちゃ・・・)

BIOSで設定したのはAHCIのみです。インストール後に変更するとカーネルパニックで起動しなくなります。

すでに経験済みだったため、事前に準備。

あとはいつもどおりセットアップして完了。

すべてのデバイスの動作を確認しました。

さすがHP。

XEONの高速さにも感動です。まったく・・・なぜあんなに遅くてうるさいのか・・・XServe・・・真剣にあんなもの売り物として考えたものなのかしら?

アメリカらしく、あんなもの自宅やSOHOで置かないだろうという割り切りなのか・・・

市場的にはHPのProliantも決して安くはないが、高くもない。Macに比べてたらおよそ半額以下だけど・・・

すばらしい。

すばらしいです。Proliant ML110 G6 Xeon!

おもわずジークジオンと叫びたいです。

おあとがよろしいようで・・・_(._.)_

コメントなし :, , more...

VMware ESXiの導入

by jun on 5月.20, 2010, under Linux

サーバーのリビルドを行うなど、年に1回あればいいのですが、探究心の多い私は今年8度目のシステム再構築。
せっかくなので、今回はVMware Server on CentOS ではなく、CentOS & Ubuntu on the VMware ESXiにしてみようじゃないかと!

そうです。ハイパーバイザータイプにはじめての挑戦です!

それではレシピです。古いほうのサーバーを消去して再構成することに。

性能が低いのはわかっていますが、いきなり本サーバーにいれるのはどうかと・・・いうことでこんなサーバーにいれます。

Pentium4 2.2GHz(Northwood:Socket 478) メモリ:3GB/HDDいっぱい。

さて、ハードディスクをぼこぼこいれまして、さぁこれからセットアップ。

VMwareのサイトからユーザー登録して、ダウンロードしました。

無事ISOをDVDに焼き、DVDから起動!

おお、無事に起動して、さぁセットアップ!

■■ トラブル発生 ■■

すこーしだけ予想はしてたんだ・・・でも、こうもあっさり未対応とは・・・

いいか、VMware ESXi4.0 は64bitです。64bitに対応していないPCでは利用できません。

32bitの人はVMware ESXi3.0系を使いましょう。(誰に言ってるんだ俺は?w

ダウンロードに戻る。

【VMware ESXi Installable Update 5 Refresh?バージョン 3.5 Update 5】をダウンロード。

今度こそ。・・・・ごごごご・・・

無事にインストールを始めるが、思いつきでうまくいったセットアップなど1度もない。

案の定、トラブル発生。

BIOSで特に設定していなかったもので、SATAのHDDがUATAとして動作するようになっていたためESXiがドライブないぞと怒っていたようです。

素直にSATAモードにしてあげて、事なきを得ましたがUATAドライブもえらいあまっているので、使う場合は下記参考に。

http://www.vm-help.com/esx/esx3i/ESXi_install_to_IDE_drive/ESXi_install_to_IDE_drive.php

無事にインストール画面にすすむことができ、セットアップ中。

そしてIPアドレスとrootの設定を行い、クライアントPCのブラウザからIPアドレスを入力。

うーん、ニヤリ。
やっと動いて無事にクライアントからログインできました。
さっそく仮想を構築します!
コメントなし :, , , , more...



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!