教えて頂きたいことが・・・

教えて頂きたいことが・・・

Mukai H གིས-
Number of replies: 10
Moodle初心者で初歩的な質問ですが、MySQL Clusterに対応させるにはどう対応すればいいのでしょうか?インストールするとローカルDBにテーブルが作成されもう一方のマシンから参照できません。

当方の環境は、以下の通りです。
OS : fedora10
moodle : 1.9.4
Mysqlcluster : 6.3.20

よろしくお願いします。
དཔྱ་སྙོམས་ཀྱི་སྐུགས་ཚུ།: -
In reply to Mukai H

MySQL Cluster (Re: 教えて頂きたいことが・・・)

S. Yamane གིས-
山根と申す者です。
トライ&エラーはMoodleの誰もが通る道ですが、どうも入門書に載っていない高度な使い方をして失敗する初心者が増えてますね。初心者の場合は、入門書の手順を外さない方がよいと思いますよ。まず小規模なとこから自他ともに認める実績をつくってから、協力者を集めて大規模なシステムに移行するのがよいでしょう。個人の力で大規模サイトを立ち上げても、協力者がいないと長続きしません。
どれくらいの学習が必要なのかわからないくらい大規模なことをやる場合は、プロの見積りをとるのもよいかもしれません。Moodleにはお金をとって仕事をする公認のエキスパートもいるので(Moodleの実績無しに年度内のMoodle納品を受注した業者さんからの質問だったりして)。

雑談はこのへんにしていくつか伺いたいのですが、

1) この掲示板は雑談スレッドなので、自分がどういう失敗をしたかという経験談を話していただけると話がはずむかもしれません。
たとえば、MySQL Clusterのテスト結果はいかがでしたか?
http://dev.mysql.com/doc/refman/5.1/ja/mysql-cluster-configuration.html

2) 教科書がよくわからない、という生徒に指導するように、自分の理解をふりかえってみましょう。どこにある情報を参考にして、どんな手順でやって、何を期待して、どんな結果になったかを教えてください。Moodleインストーラや入門書の説明どおりにやったけどうまくいかない、という場合はぜひ原著者に連絡して改訂につなげていきたいと思います。
たとえば、なぜFedoraなんでしょうか? Moodle入門書には、Moodleがパッケージで提供されているLinuxディストリビューションがよく紹介されていますね。でもFedora+Moodleは過去スレッドではトラブルばかりが報告されるという印象を持っています。

よろしくお願いします。
In reply to S. Yamane

Re: MySQL Cluster (Re: 教えて頂きたいことが・・・)

Mukai H གིས-
回答ありがとうございます。

> どれくらいの学習が必要なのかわからないくらい大規模なことをやる場合は、プロの見積りをとるのもよ
> いかもしれません。Moodleにはお金をとって仕事 をする公認のエキスパートもいるので(Moodleの実
> 績無しに年度内のMoodle納品を受注した業者さんからの質問だったりして)。

いえいえ、そんな大それた者ではありません。興味とスキルアップの一環としてやっています。

> たとえば、MySQL Clusterのテスト結果はいかがでしたか?

MySQLCluster自体の確認はできています。

> 情報を参考にして、どんな手順でやって、何を期待 して、どんな結果になったかを教えてください。
> Moodleインストーラや入門書の説明どおりにやったけどうまくいかない、という場合はぜひ原著者に連
> 絡 して改訂につなげていきたいと思います。

入門書やネット上の手引き書を参考にしました。moodle+MySQLでの動作は確認出来ました。
moodle+MySQLClusterの場合、MySQLCluster管理下にテーブルが作成されませんでした。

> たとえば、なぜFedoraなんでしょうか? Moodle入門書には、Moodleがパッケージで提供されている

手元に別目的で入手したFedoraがあったもので、そのまま使いました。

今回の質問とここのフォーラムの趣旨が合っていない感じですね。隣の「全般的な・・・」に引っ越して継続したいと思います。
お騒がせしました。


In reply to Mukai H

Re: MySQL Cluster (Re: 教えて頂きたいことが・・・)

Minoru Akiyama གིས-
秋山@eラーニングサービス(≠公認MoodlePartner)です。

そもそも、Moodleのシステムを構築する時にデータベースサーバとwebサーバの負荷がどの程度なのかを意識した方が良いです。
webサーバの負荷の方が圧倒的に高いのです。
同じスペックの6台のサーバでロードバランサ2台、webサーバ2台、データベースサーバ1台、ファイルサーバ1台で構成し、負荷テストをした結果を一昨年の情報教育研究集会で発表しました。
非常に大雑把に言うと、webサーバの負荷が90%を越えるとき、他のサーバの負荷は10%程度以下でした。
webサーバが10台を越えるのでなければ、MySQLサーバをクラスタにする意味がないですね。

それよりサーバが故障した時のデータの欠損が怖いのでDRBD(Distributed Replicated Block Device)を使ってスレーブサーバにkernelレベルでネットワークミラーリングをするようにしたMoodleシステムをこの2月に構築しました。
RAID装置を使っているから大丈夫という考え方もあるようですが、ディスクではなくRAID装置そのものが故障したら長期間データにアクセスできなくなります。
MySQLのReplicationより追従が早いのと、フェイルオーバしてスレーブサーバに切り替えることができるので、信頼度の面で優れています。
また、費用も安いです。
予算は少ないが、データを失うリスクを減らしたい、高可用性システムを構築したい方にはお勧めです。
3月にもう1ヶ所導入準備中です。
今年の夏にでも私情協や教育システム情報学会で共同発表する予定です。

なお、公認Moodleパートナーだからと言って大規模Moodleサイトの構築実績があるとは限りません。

In reply to Minoru Akiyama

Re: MySQL Cluster (Re: 教えて頂きたいことが・・・)

Mukai H གིས-
回答、ありがとうございます。
今回の環境は、確認用ということでwebサーバとDBサーバを同居させた構成を2セットで実施しています。
実運用から考えるとWebサーバ2台であればMySQLClusterにする必要性はあまりないということですね。
ご意見ありがとうございました。今後の参考とさせていただきます。

In reply to Mukai H

Re: 教えて頂きたいことが・・・

Hiroki Inoue གིས-
井上ともうします。

さて、MySQL Clusterですが、問題点を絞り込みたいので何点か確認させてください。

利用の是非を議論しても詮ないとおもいますし、今後使いたい人も出てくるでしょう。

以下が確認したい事項です。

1.MGMをApacheと同一のマシンで動作させ、もう1つのノードをもう1台のマシンで動作させているという構成でしょうか?

2.Moodleのテーブル定義のストレージエンジンをNDBに変更していますか?
デフォルトのままだと、MyISAMになっていると思いますが。

3.Moodleインストーラ上でMySQLへの接続パラメータはどのように指定しているでしょうか。

返信よろしくお願いします。
In reply to Hiroki Inoue

Re: 教えて頂きたいことが・・・

Mukai H གིས-
書込みありがございます。

> 1.MGMをApacheと同一のマシンで動作させ、もう1つのノードをもう1台のマシンで動作させているとい
> う構成でしょうか?

確認用ということで、WebサーバとDBサーバを同居させたマシン2台で構成しています。MGNはそのうちの1台のマシンで動作させています。

> 2.Moodleのテーブル定義のストレージエンジンをNDBに変更していますか?
> デフォルトのままだと、MyISAMになっていると思いますが。

変更は行っていません(変更できませんでした)。
今回、自分が教えて頂きたかったのがこの点についてです。いろいろ調べてはみたのですがわかりませんでした。

> 3.Moodleインストーラ上でMySQLへの接続パラメータはどのように指定しているでしょうか。

DBタイプは、MySQLiを指定しました。MySQLで接続できなかったもので。

以上です。よろしくお願いします。

In reply to Mukai H

Re: 教えて頂きたいことが・・・

Hiroki Inoue གིས-
井上です。

どうもPHPからMySQL Clusterへの接続ができていないみたいです。

以前の投稿で動作を確認したとありますが、どのように実行したのでしょうか?
手順を提示していただかないとどこが問題なのかすら特定できません。

また、ローカルにテーブルができたのは、同一マシンで動作しているSQLノードの1つに接続できて、テーブル作成が行われたためだと思います。

Moodleとは関係ないところでつまづいているようですね。
In reply to Hiroki Inoue

Re: 教えて頂きたいことが・・・

Mukai H གིས-
回答ありがとうございます。

> 以前の投稿で動作を確認したとありますが、どのように実行したのでしょうか?
> 手順を提示していただかないとどこが問題なのかすら特定できません。

すみません。情報が足りませんでした。一連の経緯は以下の通りです。
・サーバAとサーバBでMySQLclusterの設定を行いました。設定後は、手動でサーバAで作成した
データベースやテーブル、更新した内容がサーバBでも確認できました。逆の場合でも確認できま
した。
・サーバAに対してmoodleのインストールを行い正常に終了しました。その後サーバBに対してmo
odleで接続しました。この時点でサーバBからでもmoodle関連のDBが参照できると思っていたの
ですがインストールが開始されました。
・サーバA、Bそれぞれにmoodle関連のDBが作成されました。

どこかでストレージエンジンがndbであることを教えないといけないと思うのですが・・。

よろしくお願いします。
In reply to Mukai H

Re: 教えて頂きたいことが・・・

Hiroki Inoue གིས-
エンジンタイプは、作成後にalter tableコマンドなどで実施できます。

まずはPHPからMGMへの接続ができていない方が問題かと思います。
Moodleのインストーラでホストをlocalhostに指定していないでしょうか。
ホスト名で指定したらどうでしょうか。

最初にどうされたかを教えてください。

また、手動接続時にどのようにサーバを指定していますか。
使用したコマンドを載せていただければ現象を解析できると思いますが。

井上

In reply to Hiroki Inoue

Re: 教えて頂きたいことが・・・

Mukai H གིས-
書込みありがとうございます。また、返信が遅れて申し訳ないです。

> Moodleのインストーラでホストをlocalhostに指定していないでしょうか。
> ホスト名で指定したらどうでしょうか。
> 最初にどうされたかを教えてください。

localhostを指定したと思います。また、ホスト名を指定した場合とどこが違ってくるのでしょうか。

> また、手動接続時にどのようにサーバを指定していますか。
> 使用したコマンドを載せていただければ現象を解析できると思いますが。

ネット上にいろいろ紹介されているように

[サーバA] [サーバB]
mysql -uXXXXXX -pYYYYYY
create databse sample;
mysql -uXXXXXX -pYYYYYY
show databases;

「sample」 が確認できました。
use sample;
create table bbbb(name char(10)) engine=ndb;
use sample;
show tables;

「bbbb」 が確認できました。

みたいな感じです。逆パターンでも確認できました。
現在の状況ですが、先にやらなければいけないことが発生して環境が無くなってしまいました。書込みは暫く中断させて頂きます。再開時にはまた報告させて頂きますのでその時はよろしくお願いします。
ありがとうございました。