• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話
 

データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話

on

  • 10,388 views

MySQL Casual Talks Vol.3

MySQL Casual Talks Vol.3

Statistics

Views

Total Views
10,388
Views on SlideShare
2,524
Embed Views
7,864

Actions

Likes
6
Downloads
20
Comments
0

14 Embeds 7,864

http://mysql-casual.org 4522
http://d.hatena.ne.jp 2598
http://www.sssg.org 634
http://www.socialtoprunners.jp 65
http://webcache.googleusercontent.com 23
http://us-w1.rockmelt.com 7
http://www35.jimdo.com 4
http://www.socialtoprunners.com 3
https://www.google.co.jp 2
https://si0.twimg.com 2
http://fr.nexthop.jp 1
https://twimg0-a.akamaihd.net 1
http://mysql-casual.sakura.ne.jp 1
http://www.m3a.org 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話 データセンター移行に伴い、 MySQLをカジュアルにアップグレードしたお話 Presentation Transcript

    • データセンター移行に伴い、 MySQLをカジュアルに アップグレードしたお話 MySQL Casual Talks Vol.3 ∼カジュアルだよこわくないよ∼ 2012/04/19 Naoya Nakazawa@n0ts 日本オラクル 青山センターThursday, April 19, 12
    • 自己紹介Thursday, April 19, 12
    • n Naoya Nakazawa n @n0ts n 日本語ブログ n http://www.sssg.org/blogs/naoya/ n 無所属 n ケーブリングからアプリまでThursday, April 19, 12
    • サーバ/インフラエンジニア養成読本 管理/監視編 絶賛発売中!!!Thursday, April 19, 12
    • 今日のお話Thursday, April 19, 12
    • n 大人の事情で、あるサービスをデータセン ター移行することになりました n そのついでに MySQL をアップグレードし たので、そのお話をしますThursday, April 19, 12
    • その前にThursday, April 19, 12
    • 前回のMySQL Casual Talks Vol.2Thursday, April 19, 12
    • 「MySQL 5.0 -> 5.5 へのアップグレード プラスなんか」 @oranie http://d.hatena.ne.jp/oranie/20110810/1312969238Thursday, April 19, 12
    • サービスを停止できる場合での、 MySQL 5.0から5.5に アップグレードするための方法Thursday, April 19, 12
    • はてブお願いします!!!Thursday, April 19, 12
    • 今日は、サービスが止める ことができない場合 のMySQLアップグレードについての お話をしますThursday, April 19, 12
    • サービス規模 n とある広告系サービス n 秒間あたりのピーク時のリクエスト数 n X000 req/sec n 物理サーバ1ラック程度 n 超小規模サービスThursday, April 19, 12
    • サーバ構成 (簡易版)Thursday, April 19, 12
    • LVSApplication Server Write Write LVS Read Read repl repl Master Slave Master Slave DB1 DB2 MySQL 5.0.51b MySQL 5.0.71Thursday, April 19, 12
    • MySQL 5.0.51b?Thursday, April 19, 12
    • InnoDB Deep Talk #1 2012/03/10 5.0.53! https://twitter.com/#!/nobu666/status/178350176719736832Thursday, April 19, 12
    • データセンター移行Thursday, April 19, 12
    • Thursday, April 19, 12
    • Thursday, April 19, 12
    • 移行前のサーバ構成Thursday, April 19, 12
    • 旧DC 新DC LVS LVS Application Application Server Server LVS LVS repl repl repl repl DB1 DB2 DB1 DB2Thursday, April 19, 12
    • 旧DC 新DC Master Master DB1 DB1 repl ×SSL Replication replMySQL 5.0.51b MySQL 5.1.58 SSH Port Forwarding Slave Slave Master Master DB2 DB2 repl repl MySQL 5.0.71 MySQL 5.1.58 Slave SlaveThursday, April 19, 12
    • SSLレプリケーションの失敗 n MySQL 5.1.58から5.0.51bに接続すると、次のエ ラーが発生した n ERROR 2026 (HY000): SSL connection error n Masterのバージョンを5.1.58にあわせるとうまく いったので、バージョンの問題か、5.0系をSSL対 応ビルドしていなかったことが原因かもしれないThursday, April 19, 12
    • SSHポートフォワード n 新DC DB1 Master上で、旧DC DB1 MasterにSSHトンネルを掘る n ssh -f <旧DC DB1 Master> -L 13306:localhost:3306 -N -4 -g n LVS経由のため、LVSが切り替わるとSSHトンネルが切れるため、 Monitで定期的にSSHトンネルが閉じているか確認するようにした n pgrepしてなければSSHトンネルを掘る簡単なシェルスクリプト n 新DC DB1 Masterを、一時的にSlaveにする n mysql> CHANGE MASTER TO MASTER_HOST=127.0.0.1, MASTER_PORT=13306 ...;Thursday, April 19, 12
    • 新DCのMySQL n MySQL SlaveのみハードウェアRAID0 + SSD x 4 n XFS, deadlineスケジューラ n 公式のMySQL 5.1.58 RPM n InnoDB pluginを利用 n InnoDBの設定を全般的に見直したかったので、旧DC上でmysqldumpした データを流し込んで、新DC DB1 Masterをスレーブとした n DB2の方は、完全移行後に停止して移行した n 一部のテーブルにInnoDB Data Compressionを導入Thursday, April 19, 12
    • DC移行 -STEP 1-Thursday, April 19, 12
    • n DNSラウンドロビンにする(レジストラ の仕様でTTLを変更できなかった) n 新DB1のアプリケーションの書き込み先 は、SSHトンネル経由で旧DCのDB1 Masterに対して行うThursday, April 19, 12
    • 旧DC 新DC Traffic LVS LVS Application Application Server Server LVS Write LVS repl repl repl repl DB1 DB2 DB1 DB2Thursday, April 19, 12
    • DC移行 -STEP 2-Thursday, April 19, 12
    • n DNSラウンドロビンをやめて、新DCのみ 切り替える n リクエストが完全に新DCのみになるまで しばらく待つThursday, April 19, 12
    • DC移行 -STEP 3-Thursday, April 19, 12
    • 1. リクエストの最も少ない時間帯に、アプリケー ションからデータベースへの書き込みを一時的に 停止する(バッチなどもあわせて) 2. 新DC DB1のSlaveをMasterへ昇格させる 3. 昇格後、アプリケーションからデータベースの書 き込みを再開させるThursday, April 19, 12
    • 旧DC 新DC Traffic LVS LVS Application Application Server Server LVS LVS repl repl repl repl DB1 DB2 DB1 DB2Thursday, April 19, 12
    • まとめThursday, April 19, 12
    • n DC移行中を含めてサービスの停止はなし n 移行中もサービス上の大きな遅延はなし n SlaveをMasterへ昇格させる数分間だけ、書き込み は一時停止したけれどサービスの停止はなし n あわせて、MySQL 5.0系から5.1系に安全にかつ問 題なくアップグレードできたThursday, April 19, 12
    • Thanks!Thursday, April 19, 12