3

lvm を使用した mysql バックアップについて読んでいますが、lvm パーティションを作成し、特定のサイズを mysql に割り当てて、スナップショット用に十分なスペースを残していることを理解しています。

利点は、バックアップが非常に高速であることです。

注意すべき落とし穴やデメリットはありますか?

ありがとう

4

2 に答える 2

5

LVM スナップショットを有効にして実行すると、I/O パフォーマンスが最大 6 倍低下する可能性があります。

http://www.mysqlperformanceblog.com/2009/02/05/disaster-lvm-performance-in-snapshot-mode/

Percona XtraBackupをはるかに優れたホット バックアップ ツールとして使用することをお勧めします (免責事項: 私は Percona で働いています) 。

于 2012-02-06T18:57:12.447 に答える
2

LVM スナップショットは、特定の状況下で InnoDB にとって非常に恐ろしいものです。なんで?

innodb_file_per_tableを無効にしている場合、ibdata1 にはすべてとその祖母が含まれます。ibdata1 には何がありますか? 4 つのこと:

  • データページ
  • インデックスページ
  • メタデータ (TableSpave ID のリストなど)
  • MVCC データ

innodb_file_per_table をオフにして、書き込みの多い DB 環境で LVM スナップショットを実行しようとすると、自分自身を撃ってしまう可能性があります。LVM スナップショットでは、事前に ibdata1 ファイルを適切に結合する必要があります。

私は最近、次のような実験を行いました。

私の雇用主の Web ホスティング会社のクライアントは、MySQL のセットアップに関して次の問題を抱えています。

  • innodb_file_per_table オフ
  • 1.4TBのibdata1
  • ibdata1 内の空き容量は 29GB のみ
  • ext3 ファイルシステム (1 つのファイルのサイズ制限は 2GB です)

/var/lib/mysql フォルダーを別の DB サーバーに再同期して、MySQL スレーブをセットアップしたかったのです。ダウンタイムなしで ibdata1 で rsync を実行すると、42 時間かかりました。ibdata1 に対する 2 回目の rsync には 84 時間かかり、220GB の変更しか検出されず、15% かろうじて完了しました。私はその任務を中止しました。

LVM スナップショットは、rsync よりもはるかに優れたパフォーマンスを発揮する場合があります。それにもかかわらず、非常に大きな ibdata1 を含む LVM スナップショットは、同じ問題の影響を受けます。

LVM スナップショットを使用する場合は、次のオプションを使用してください。

  • オプション 01) innodb_file_per_table を使用します。LVM スナップショットは、小さなファイルを処理するため、気に入っていただけるでしょう。ibdata1 を永久に縮小することもできます
  • オプション 02) MySQL レプリケーションを使用し、スレーブで LVM スナップショットを作成する

MySQL レプリケーション スレーブを使用すると、次のことができます。

  • STOP SLAVE;(my.cnf に --skip-slave-start がある場合)
  • service mysql stop
  • LVM スナップショットを実行する
  • service mysql start
  • START SLAVE;(my.cnf に --skip-slave-start がある場合)

そうすれば、これらの LVM スナップショットの問題がプロダクション マスターで日の目を見ることはありません。

試してみて、これを楽しんでください!!!

于 2012-02-06T19:05:34.617 に答える