タグ

ブックマーク / ijin.github.io (4)

  • ConsulによるMySQLフェールオーバー - @ijin

    先日(6/22/14)、6月なのにどういう分けか早めに開催されたJuly Tech Festa 2014でConsulについて発表してきた。そのユースケースの一つとしてMySQL failoverをちょっとだけ紹介したので、ここに詳しく書いておく。 MHA MySQLレプリケーションの障害時にフェールオーバーしたい場合、MHAを使うの結構ポピュラー(日では)だと思います。MHAは最新binlogの適用、Slaveの昇格とレプリケーションの張替えまではやってくれますが、実際のフェールオーバーの部分はユーザに委ねられていて、master_ip_failover_scriptのテンプレートをカスタマイズするか独自実装する必要があり、一般的な実現方法としてはカタログデータベースの更新かVirtual IPの切替等があります。 Virtual IPだと居残りセッションの問題や切替の保証難しかったり

  • #ChefConf 2014に参加してきた - @ijin

    San Franciscoで行われた#ChefConfに参加してきました。 忘れないうちに忘備録的に少しメモっておく。 Day 1 Awesome Postmortems by Dave Zwieback システム障害に対して素晴らしいPost Mortem(振り返り/報告書)の書き方に関する丸一日のワークショップ 前半 まずはチームに分かれて断片的且つ関連性の不明な情報を渡される。 例えば、 Tomは紫色の家の住人より短い Jimは両隣の住人より高い 赤色の家の隣人は子供が5人いる 各メンバーは情報を全部開示できないまま、ある不明確なタスクを時間内に完了させる必要がある。しかし、紙やモノを使って情報の整理をしてはならず、口頭による連絡のみなので当然情報は錯綜しタスクは未完のまま終了。 障害時の情報不足・体制不足のシミュレーション。Nosey Neighborsと言うゲームらしい。 その後

  • リージョン間高速データ転送 - @ijin

    先日のJAWS DAYSのセッション「Behind the scenes of Presidential Campaign」でリージョン間のデータ転送を高速化するツールとしてtsunami udpとcloudoptを使った話が出てたので試してみました。 通常、遠距離のサーバはRTTが大きくなるのでスループットが下がり、巨大なデータ転送には苦労しますが、なんと27TBを9時間で転送したとのこと!実際はマシンを並列にして同時転送したらしいので1台での実験です。 前提 東京(server1) -> アメリカ西海岸(server2) RTT: 120msぐらい EC2 instance type: m1.large OS: Ubuntu 12.04 ベーステスト 10Gファイルの作成 server1$ mkdir _tmp; cd _tmp server1$ dd if=/dev/zero of=

  • 第4回チューニンガソン(Tuningathon)で優勝してきた - @ijin

    3回目の参戦となる#tuningathonで@tnmtさんと共に優勝してきました。 やった事は相方のブログに書かれているので、補足。 開演前 朝起きると、やたらとアラートが飛んでいるので調べると、うるう秒のせいでサーバ達が高負荷状態に。 @tnmtさんも同じ原因で障害対応中で待ち合わせ時間には間に合わず、参加が危うい感じ。 自分の方はなんとか片付けて、ぎりぎり開演前に到着。 お題発表 前々からやって欲しかったRuby on Rails! で、Refinery CMSというブログのチューニング。 内心喜びました。 前半戦 作業開始前にはまず何よりもバックアップ。 いつでも環境を戻せるようにRailsのフォルダをコピーしてMySQLのdumpを取っておく。 速攻でrbenv + ruby-buildを入れて、rubyの最新バージョン(1.9.3-p194)をインストール。 ビルドの間、まずは環

  • 1