Tokyo Tyrantの運用で困っています。

複数台でレプリケーションさせているのですが、更新ログ(ulog)が肥大化してしまい、ディスクを圧迫してきています。
具体的に言うと、実データは3G程度なんですが、ulogは10Gを超えています。
ネットで検索してもulogに関する情報がとても少なくて、、
ulogを削除するコマンドってないのでしょうか?
手動で削除するのはあまりにも怖いです。。

何かご存知でしたら教えてください!

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/22 12:20:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:koriki-kozou No.1

回答回数480ベストアンサー獲得回数79

ポイント35pt

読む http://alpha.mixi.co.jp/blog/?p=166

システム止める

バックアップを取る

ログファイルを消す

ulim でサイズ制限する

システム再始動する

id:kazumaryu

ご回答ありがとうございます!

ulimは256mで指定しているんですが、ulimは1ファイルずつのサイズの制限なんですね。

現在256mのulog(00000001.ulogといったファイル名のやつ)が40ファイル以上ある状況です。

なので、過去分のファイルを消したいんだけど、手動で消すのはなんか怖いなぁと思って質問させていただきました。

状況説明が足りず、申し訳ありません。

またなにかご存知でしたらよろしくおねがいします!

2010/04/15 13:09:10
id:koriki-kozou No.2

回答回数480ベストアンサー獲得回数79

ポイント35pt

バックアップを取るとは更新ログだけのバックアップではない

データベース本体もバックアップ

http://alpha.mixi.co.jp/blog/?p=147

>TTには「更新ログ」という機能があります。これはMySQLで言うところのバイナリログやOracleで言うところのREDOログと同じようなもので、つまりデータベースに対する更新操作の履歴を全て保存しておいて、後でそれを再実行することでデータを復旧する機能です。

>更新ログの弱点は更新履歴を全て記録するためにどんどん肥大化してしまうことですが、これはバックアップと組み合わせれば解決できます。つまり、更新ログを記録しつつも、定期的にバックアップも作って、バックアップをとったらそれより以前の更新ログは削除するようにします。リストアする際には、まずバックアップを復旧してから、その時点より後の更新ログを再実行すれば、データを完全に復旧することができます。

id:kazumaryu

たびたびご回答いただきありがとうございます。

引用していただいた文章の

>バックアップをとったらそれより以前の更新ログは削除するようにします。

この部分のオペレーションはどうやってやるんだろう?コマンドとかないのかな?というのがそもそもの質問です。

ですので、ちょっと僕の期待している答えとは違いますねぇ。。

ただ改めてこのエントリを読み返すと、削除のしかたについては何も触れられていないので、普通にrmで削除してもいいのかもしれませんね。

2010/04/15 15:53:39
  • id:koriki-kozou
    koriki-kozou 2010/04/15 13:23:51
    解析用にローカルに保存してサーバから古いものを消す
    エラーログだけで短期間に膨れ上がっているのであれば解析必要
    他のログも出力しているのであればエラーログだけにできないか検討
  • id:kazumaryu
    コメントありがとうございます。
    削除したいと思っている更新ログ(ulog)というのは、他サーバーとレプリケーションを行う際に同期をとるのに必要なファイルとなります。
    エラーメッセージ等は通常のlogにはかれています。
  • id:kazumaryu
    自己解決です。
    http://serverfault.com/questions/26777/tokyo-tyrant-ulog-update-log-management
    こちらのページにあるスクリプト例を見ると、単純にrmコマンドでulogを消していました。
    またそのスクリプトを元に最新のulogだけをいくつかとっておくという運用を行うことにしました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません