lvm を使用した mysql バックアップについて読んでいますが、lvm パーティションを作成し、特定のサイズを mysql に割り当てて、スナップショット用に十分なスペースを残していることを理解しています。
利点は、バックアップが非常に高速であることです。
注意すべき落とし穴やデメリットはありますか?
ありがとう
LVM スナップショットを有効にして実行すると、I/O パフォーマンスが最大 6 倍低下する可能性があります。
http://www.mysqlperformanceblog.com/2009/02/05/disaster-lvm-performance-in-snapshot-mode/
Percona XtraBackupをはるかに優れたホット バックアップ ツールとして使用することをお勧めします (免責事項: 私は Percona で働いています) 。
LVM スナップショットは、特定の状況下で InnoDB にとって非常に恐ろしいものです。なんで?
innodb_file_per_tableを無効にしている場合、ibdata1 にはすべてとその祖母が含まれます。ibdata1 には何がありますか? 4 つのこと:
innodb_file_per_table をオフにして、書き込みの多い DB 環境で LVM スナップショットを実行しようとすると、自分自身を撃ってしまう可能性があります。LVM スナップショットでは、事前に ibdata1 ファイルを適切に結合する必要があります。
私は最近、次のような実験を行いました。
私の雇用主の Web ホスティング会社のクライアントは、MySQL のセットアップに関して次の問題を抱えています。
/var/lib/mysql フォルダーを別の DB サーバーに再同期して、MySQL スレーブをセットアップしたかったのです。ダウンタイムなしで ibdata1 で rsync を実行すると、42 時間かかりました。ibdata1 に対する 2 回目の rsync には 84 時間かかり、220GB の変更しか検出されず、15% かろうじて完了しました。私はその任務を中止しました。
LVM スナップショットは、rsync よりもはるかに優れたパフォーマンスを発揮する場合があります。それにもかかわらず、非常に大きな ibdata1 を含む LVM スナップショットは、同じ問題の影響を受けます。
LVM スナップショットを使用する場合は、次のオプションを使用してください。
MySQL レプリケーション スレーブを使用すると、次のことができます。
STOP SLAVE;
(my.cnf に --skip-slave-start がある場合)service mysql stop
service mysql start
START SLAVE;
(my.cnf に --skip-slave-start がある場合)そうすれば、これらの LVM スナップショットの問題がプロダクション マスターで日の目を見ることはありません。
試してみて、これを楽しんでください!!!