MySQL磁盤復制技術--DRBD:優缺點比較、注意事項以及最佳實踐 DRBD 是內核模塊方式實現的塊級別同步復制技術、這裡的同步級別是可以調整的 因為DRBD 是利用網卡進行塊復制、如果、這裡用 Infiniband 進行傳輸、便可以有效處理高並發 這是種復制存儲、說白點、更像是一台熱備機器、與其說是存儲的HA、倒不如說是保證數據安全 工業環境更多用在 NFS 服務器、並結合 Linux-HA 項目、如 Packmaker、Heartbeat 等 很多人談 DRBD 腦裂而色變、用過就知道了、腦裂不是那麼容易就發生的 DRBD 注意不設置自動啟動、重啟時候手動啟動、腦裂的情況發生非常的少 工作中基本不重啟 DRBD、更不會重啟服務器了、基本上沒遇到腦裂的問題 ㈠ 優缺點比較 優點 ① 沒有單點故障的風險暴露 ② 沒有集群軟件通病、如 腦裂 缺點 ⑴ 浪費資源 DRBD 的備機目前還不能提供讀、所以浪費了資源 大家都知道、生產環境下的 MySQL 服務器都是頂配的、這樣在線上浪費一台機器、感覺很可惜的 ⑵ DRBD 無法代替備份 DRBD 可能會造成壞數據、不管啥HA、數據備份一定要有、沒備份、整個HA癱瘓掉、你也嗝屁了、閃人吧 ⑶ 故障轉移無法做到秒級以內 ⑷ 對於MyISAM 表用處不大 事實上、任何期望高可用的系統、MyISAM 都不會是個選擇、因為 MyISAM 的崩潰恢復後需要很多時間修復、並且、會丟失數據 ⑸ 增加寫操作負擔 主要是InnoDB 設置為 innodb_flush_log_at_trx_commit=1 導致許多小的寫入和fsync()調用、那麼、DRBD同步將會比較緩慢 ㈡ 注意事項 ① DRBD 和 Linux-HA 版本選擇 ② DRBD 專門使用一塊網卡 ③ 心跳網絡與vip服務網絡分離 ④ iptables針對心跳網絡放開DRBD、Linux-HA 的端口、VIP可根據自己的應用開啟對應端口 ⑤ 監控DRBD、Linux-HA 狀態、最好做成腳本、自動檢測、出問題報警 ⑥ 通常都有流量監控系統(mrtg,cacti等)、定期檢查機器的負載、流量情況 ㈢ 最佳實踐 DRBD 只選擇復制存放 binlog 的設備、如果、 主動節點失效、可以在被動節點上開啟一個日志服務器 然後、對失效主庫的所有設備應用這些 binlog 、接下來 可以選擇其中一個備庫提升為主庫、以代替失效的系統