Project Home Downloads Wiki Issues Source
メンテナンス  
一般的なMogileFSのメンテナンス
Updated Jan 9, 2012 by dorma...@rydia.net

実行時のファイルシステムのチェック

FSCK ガイドを見てください。

ファイルのrebalance

Rebalance ガイドを見てください。

トラッカー job の管理

Jobs ガイドを見てください。


ホストの管理

ホストの追加

ホストの追加はmogadm host addを使うと簡単です。

$ mogadm host add mystorage --ip=10.0.0.1

追加するときにホストのIPアドレスを指定することは、とてもお勧め(そして、必須になるでしょう)です。mogilefsが利用するIPアドレスは、webブラウザとトラッカーがストレージノードと通信するために使われるだろうものです。

hostsファイルを使って"mystorage" を "127.0.0.1" の別名にするのは一般的で、それはmogilefsにIPアドレスを指定せずに"127.0.0.1"へのパスを発行させるでしょう。

注意 クラスタに新しいホストを追加する時は、それらがキャッシュがexpireしたとして認識されるまで1,2分かかるかも知れません。

ホストを一時的にダウンさせる

ホストでシャットダウンが必要なメンテナンス(RAMのアップグレード、OSのリプレイスなど)をする必要がある場合は、まずホストに"down"の印をつけることをお勧めします。MogileFSは偶発的な失敗に対して回復するように作られていますが、ホストをオフラインにする前に知らせることは間違いではありません。

$ mogadm host mark mystorage down
... do work....
$ mogadm host mark mystorage alive

ホストを永続的にダウンさせる

ホストを'dead'として印をつけると、再び 'alive'または'down'として印をつけることはお勧めできません。You must only ever mark things as "dead" which you don't expect to ever bring back to life again.

'dead'と印をつけると、mogilefsはそのホストにファイルをre-replicateしないでしょう。個々のドライブを'dead'として印をつける べきです。

$ mogadm host mark mystorage dead

デバイスの管理

デバイスに番号をつける

新しいデバイスは常に devidを増加する必要があります。新しいディスクを追加した場合は、新しいユニークな数字を与える必要があります。

死亡したディスクを新しいディスクと置き換える場合、常に 新しいdevidを与えてください。古いdevidの再利用を絶対にしないでください。古いデバイスの全てのファイルのre-replicateが終わる前にmogilefsのディスクを置き換えることもできます。そうでなければ、置き換えられたデバイスへのアップロードのfidが壊れることになるか、古いファイルをre-replicateしないでしょう。Bad!しないでください!

デバイスを追加する

$ mogadm device add mystorage 5 --status=alive
... or...
$ mogadm device add mystorage 5 --status=down

上のものは、新しく追加したストレージデバイス(#5) をデフォルトを alive あるいは down のどちらでストレージホスト(mystorage)への追加を示しています。新しいデバイスのセットを"down"として追加し、それから全てが動作することをすばやくレビューし、新しいデバイスへキャッシュを引き入れるのは、良い練習です。それから、利用する準備ができたら、それら全てをaliveとして印を付けます。

可能であればストレージノードをrootで実行しないことが重要で、デバイスが格納されているディレクトリの下がrootに所有されていれmogstoredユーザで無いことが重要です。デバイスをアンマウントする場合は、MogilefSはまだ可能であれば喜んで下にあるファイルシステムに書き込むでしょう。MogileFSはディレクトリがマウントポイントであるかそうでないかを知る方法はありません。

デバイスのメンテナンス

MogileFSはデバイスとホストの幾つかの自動テストを行います。それぞれのトラッカーには monitor ジョブがあり、定期的にデバイスを走査して、デバイス上の小さなファイルを書き込み、読み込み、削除できることを確認します。ファイルシステムを読み込みのみで再マウントしたり完全に見えなくなるようなひどいファイルシステムの故障の場合には、mogileはデバイスに新しいファイルを書き込むことをやめなければなりません。

ファイルシステムのアンマウントに時間がかかり、そしてOSのfsckの実行に時間が掛かるような一時的なダウンタイムの場合は、デバイスをdownとして印を付け後で再びaliveにすることができます。ファイルシステムの崩壊、IOエラーなどの場合。即座にデバイスをdeadとして印を付けるのが一番安全で、MogileFSはまだ正しく動いているデバイスから新しいコピーを作成することができます。

一時的なメンテナンス

$ mogadm device mark mystorage 5 down
... later...
$ mogadm device mark mystorage 5 alive

デバイスあるいはホストを長い間downの印を付けたままにするのは避けてください。MogileFSはデバイスが戻ってくるのを待って、削除、リプリケーション、fsckチェックなどをキューに入れるかも知れません。デバイスが永久に居なくなる場合は、deadとして印をつける必要があります。このことは、分や時間の制限があることを意味しません。セットアップでどれだけ早く物事が変わるか、キューをどれだけ大きくしたいかに、全て依存します。

readonly と drain モード

デバイス上の全てのファイルをあるがままに留めておきたい場合は、readonly モードを使いたいと思うかも知れません。これはMogileFSがデバイス上に新しいファイルを置くことを止めさせますが、ファイル削除から 削除を妨げするでしょう。削除する代わりに、デバイスがalive または drain として印がつけら得るまでキューに入れて待つでしょう。

$ mogadm device mark mystorage 5 readonly
$ mogadm device mark mystorage 5 drain

drain モードは、バージョン 2.40以上で、MogileFSがデバイス上に新しいファイルを書かないようにします。しかしdrainモードでファイルは削除されるかも知れません。

つまり、新しいファイルを配置しなくないデバイスがあれば、それらを全て drainとして印をつけます。

注意 MogileFSの初期のバージョンでは、drain モードは積極的にデバイスからfidを削除するでしょう。Rebalanceによって置き換えられました。

ファイルの再リプリケート

ドライブが死亡すると、mogilefsはデバイスを避けようとしますが、そのデバイス上にあるファイルは自動的にはre-replicateされないでしょう。mogadmを使って手動でそれを'dead'として印をつける必要があります。そうするとすぐにmogilefsはデバイス上にあるファイルを削除しそれらをre-replicateしようとし始めるでしょう。


データベースの管理

MogileFS は常に全てのトラッカーが同じデータベースを指し示す必要があります。例外はありません!トランザクションと排他ロックが個々のプロセスを調整するために使われ、複数の、master-masterリプリケートされた、データベースに対して実行しているトラッカーは散発的なエラーを起こすでしょう。

MySQLに固有の詳細な情報については、MySQL を見てください。

Comment by project member tsaavik, Dec 8, 2009

以下のcron jobは mogadmチェックの出力に適切な数の"OK"が存在するかを調べます。インストールに一致するようにその数(この例では9)を調節する必要があります。それはだらしないですが、効果的です。5分ごとに実行し、cronのユーザパスにmogadmがある必要があります。emailアドレスを変更巣rうことを忘れないでください!

*/5 * * * * test `mogadm check |tee /tmp/mogadm.check |grep OK |wc -l` -ne 9 && (echo -ne ".\n\n" >>/tmp/mogadm.check && cat /tmp/mogadm.check | mail -s "mogadm check returned non-OK status" page-me@yourdomain.com)

これは後で探せるように /tmp/mogadm.checkファイルも残します。システムがどのようにしているか、そしてそのエラーは何が引き金になっているかを知るために、mogadmチェックを実行する必要はありません。(もし、次の事項までにチェックするのであれば)


Sign in to add a comment
Powered by Google Project Hosting
TOP
inserted by FC2 system