2011年11月12日土曜日

Linuxメモ その2


updatedb
ファイル名やコマンド名を格納した"slocate.db"というデータベースを作成する。
パスを度忘れした場合に便利。findだとデフォルトが配下の検索となり利便性にかける。
※ただし、findは検索にワイルドカードを利用できるため、状況に応じて使い分けること。

データベースは下記クーロン(パスは環境により異なる)により1日に1回定期的に更新されるが、マシンが常時起動中でないと正しく更新されないケースがあるため、新しく機能をインストールした場合は再度実行したほうがよい。
 /etc/cron.daily/slocate.cron

尚、updatedbコマンドはサーバ内のすべてのファイルをチェックするため、サーバの容量が多くなればなるほど時間がかかるため、下記の通りバックグラウンドで実行するか、

 updatedb &

インデックスする必要のないファイル・ディレクトリを除外するとよい。
 updatedb -e "【除外するディレクトリ】"
 updatedb -e "/tmp,/var/tmp,/usr/tmp"

locate
 locate [filename or directoryname]
前述のデータベース生成後、指定したファイル名 or ディレクトリ名で検索する。
※もちろん、"find / -name [ファイル名]"でも全検索は可能だが、locateのほうが高速。

2011年11月1日火曜日

DeNA松信氏講演 MySQL MHA説明会(2011/09/13)

標題の通り、DeNAの「MySQLスペシャリスト Oracle ACE Director」の松信嘉範氏の講演を聞いた。

★オープンソースMySQL MHA(http://code.google.com/p/mysql-master-ha)について
 ・MHAはMobageの150系統を超えるマスター・スレーブペア環境に導入されている。
  滅多にクラッシュすることはないが、OSやH/W障害で落ちる。
  OSダウン検知は、ダウン検知に10秒、フェイルオーバーに4秒程かかる。
 ・IP切り替えは環境に依存するため外部スクリプトで提供している。
 ・スレーブのずれに関していえば、5.5の準同期レプリケーションを組み合わせれば、データ消失をほぼ防げる。
 ・その他、遅いトランザクションを発見するツール(slow-queryではなく)の紹介

★サービスの増強と縮退について
 ・ゲームタイトルの人気を正確に見積もることは困難
  想定外の人気が出た場合はスレーブを追加し、水平分割によりマスターを追加する。
 ・ダウンタイムなしでマスタを切り替えるには、
   1.更新を一時止める
   2.マスターから既存スレーブにレプリケーション完了したことを確認する。
 MHAではこれらを0.5~3.0秒で1クリックで行うことができる。かつ、データの不整合が起きたことは一度もなし。



松信氏は他にもこんなことを述べていた。

 ・オープンソース製品を使うことでコストダウンにつながり、結果会社に貢献することができる。
 ・技術を発信することはサービス企業の義務


勉強になります!


---------------------------------------------------------
松信 嘉範Yoshinori Matsunobu

MySQLスペシャリスト Oracle ACE Director

2006年から2010年8月まで、MySQL開発元のMySQLAB(現オラクル)にて、日本およびアジアのリード・コンサルタントとして従事。
100を超える国内外の顧客に対してMySQLパフォーマンスチューニング、高可用ソリューションなどを提供してきた。
2010年9月からDeNAにて「MySQLスペシャリスト Oracle ACE Director」。
主な著書に「Linux-DBシステム構築/運用入門」や「現場で使えるMySQL」などがある。