国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

MySQL一主三從高可用實戰(zhàn):Orchestrator+ProxySQL切換全復(fù)盤

MySQL一主三從高可用實戰(zhàn):Orchestrator+ProxySQL切換全復(fù)盤 上周線上把 MySQL 5.7 一主三從集群做了一次真實的主庫宕機演練。整套高可用方案使用的是 Orchestrator 負(fù)責(zé)自動化主從選舉與切換ProxySQL 負(fù)責(zé)讀寫分離和入口流量調(diào)度從 kill 掉主庫進程到應(yīng)用側(cè)寫入完全恢復(fù)整個過程大概 14 秒。這篇文章不是功能清單式的介紹而是把這套架構(gòu)從“為什么這么選型”、到一主三從在 TB 級數(shù)據(jù)下怎么初始化、再到故障切換的完整鏈路、以及上線后踩過的坑完整復(fù)盤一遍。如果你正在評估或者準(zhǔn)備落地 OrchestratorProxySQL這篇可以直接當(dāng)實施參考。1. 為什么我沒有選 MHA 或 Keepalived而是 Orchestrator ProxySQL很多朋友一提到 MySQL 高可用第一反應(yīng)就是 MHA或者 Keepalived 掛一個 VIP。這些方案不是不能用只是在 TB 級、一主三從、需要讀寫分離的線上環(huán)境里它們各自的短板會比較明顯。我先把選型過程寫清楚方便你判斷自己的場景是不是適合這套組合。1.1 MHA 方案的問題在哪MHA 的核心能力是在主庫故障時自動找到 relay log 最完整的從庫補全缺失的 binlog 后提升為新主并把其他從庫重新指向它。這套邏輯很成熟早期我也用它搭過不少環(huán)境日常故障切換確實能跑。但放到這套集群里有兩個實際痛點。第一MHA Manager 本身是單點的。雖然可以想辦法做雙機但官方對 Manager 高可用的支持一直比較弱一旦 Manager 所在機器掛了切換就沒人觸發(fā)。第二MHA 只負(fù)責(zé)“數(shù)據(jù)庫內(nèi)部的角色切換”不負(fù)責(zé)應(yīng)用側(cè)流量調(diào)度。切換完成后應(yīng)用連的還是原來的主庫地址如果主庫 IP 變了或者故障節(jié)點還在那要么等著連接超時要么還得靠額外腳本去改應(yīng)用配置。我們這套集群每天讀寫請求量很大不可能接受切換完數(shù)據(jù)庫角色后還要人工把應(yīng)用流量切到新主。1.2 Keepalived VIP 為什么也排除了Keepalived VIP 的思路是把一個虛擬 IP 掛到主庫上主庫掛了 VIP 漂移到從庫。它解決的是“連接地址漂移”的問題但本身對 MySQL 主從狀態(tài)一無所知。直接用 VIP 做主從切換很容易出現(xiàn)一種很尷尬的情況主庫只是 MySQL 進程假死網(wǎng)絡(luò)還在VIP 不漂移但業(yè)務(wù)已經(jīng)寫不進去了或者主庫徹底宕機VIP 漂到一臺 relay log 明顯落后的從庫上丟數(shù)據(jù)的風(fēng)險完全不可控。更重要的是Keepalived 是二層網(wǎng)絡(luò)里做地址漂移的跨機房、跨網(wǎng)段的時候不好用。我們后期計劃把從庫放到另一個機房做異地容災(zāi)單獨靠 VIP 根本覆蓋不了這種拓?fù)洹K鳛橐粋€“前置入口漂移”的輔助手段可以但承擔(dān)不起完整的故障決策。1.3 這套組合的核心分工最后定下來的架構(gòu)很清晰Orchestrator 負(fù)責(zé)決策層ProxySQL 負(fù)責(zé)數(shù)據(jù)面流量調(diào)度。Orchestrator 會持續(xù)監(jiān)控所有 MySQL 實例的健康狀態(tài)、主從關(guān)系、復(fù)制延遲一旦判定主庫不可用自動完成候選從庫選擇、新主提升、其余從庫重指向、舊主恢復(fù)后的收斂這些操作ProxySQL 則獨立于數(shù)據(jù)庫角色去管理應(yīng)用連接通過 hostgroup 和查詢規(guī)則把讀流量和寫流量分流數(shù)據(jù)庫切換后應(yīng)用不需要改任何代碼。為什么這兩個工具組合起來特別適合一主三從因為 Orchestrator 有很成熟的外部 hook 機制切換完成后可以執(zhí)行自定義腳本把新主的信息同步給 ProxySQL而 ProxySQL 的管理接口又允許在運行中動態(tài)修改后端節(jié)點并立即生效。一個負(fù)責(zé)“選誰當(dāng)主”一個負(fù)責(zé)“把流量發(fā)給誰”兩者通過一個腳本串起來切主對應(yīng)用來說是無感的。這套思路后來也成了我們做故障演練的基礎(chǔ)。2. 一主三從初始化TB 級數(shù)據(jù)怎么在不停業(yè)務(wù)的情況下把三臺從庫補起來標(biāo)題里寫了 TB 級這一步必須單獨拿出來講。因為數(shù)據(jù)量一旦到了 TB 級別很多東西跟小庫完全不是一個玩法。比如你不可能用 mysqldump 去導(dǎo)全量數(shù)據(jù)那得導(dǎo)到天荒地老也不可能停庫拷貝數(shù)據(jù)文件業(yè)務(wù)根本不允許。我們當(dāng)時的辦法是用 Percona XtraBackup 2.4 做物理備份從一個現(xiàn)網(wǎng)從庫拉全量再配合 GTID 自動位點追同步。2.1 集群規(guī)劃與基礎(chǔ)參數(shù)先說我用的版本和硬件規(guī)劃方便你對照。MySQL 用的是 5.7.4x一主三從四臺機器都是獨立的物理機磁盤是 SSD 陣列。主庫和三個從庫都開啟 binlogserver_id全局唯一核心參數(shù)大概是這樣[mysqld] server_id 101 gtid_mode ON enforce_gtid_consistency ON log_bin mysql-bin binlog_format ROW log_slave_updates ON read_only ON super_read_only ON主庫那臺要允許寫入所以把read_only和super_read_only注釋掉只保留 binlog 和 GTID 相關(guān)配置。這里有個小細(xì)節(jié)即使是從庫我仍然要求log_slave_updates ON否則從庫不會把從主庫同步過來的事務(wù)寫進自己的 binlogOrchestrator 在后續(xù)切換中很難判斷誰的事務(wù)最完整這個坑我后面會詳細(xì)說。2.2 物理備份同步限速、斷點續(xù)傳和備份校驗TB 級數(shù)據(jù)做初始化最怕的就是備份過程把線上 IO 打滿。我的做法是從一臺從庫拉備份而不是從主庫這樣能盡量減少對主庫的影響。備份命令類似這樣xtrabackup --backup \ --target-dir/data/backup/full_$(date %Y%m%d) \ --host127.0.0.1 \ --userbackup \ --passwordbackuppass \ --slave-info \ --safe-slave-backup \ --throttle200--throttle200是 XtraBackup 自帶的 IO 限速參數(shù)單位是每秒多少次 IO 操作。具體值要根據(jù)線上磁盤負(fù)載去試我們的機器壓到 200 的時候主庫 IO 基本沒明顯波動備份速度大概能跑到每小時 600GB一個 TB 多的全量兩到三個小時能備份完成。備份文件很大不可能直接在本地流式傳輸我一般用xbstream先打包再通過pv限速推到目標(biāo)從庫xtrabackup --backup \ --streamxbstream --target-dir/data/backup/full_xxx \ --throttle200 2/tmp/backup.log | \ pv -L 80m | ssh root10.0.0.12 cat /data/restore/full_xxx.xbstreampv -L 80m把網(wǎng)絡(luò)傳輸限到 80MB/s避免帶寬被占滿影響應(yīng)用。限速的好處是初始化整個過程可以放在業(yè)務(wù)高峰期之外慢慢跑不需要為了趕時間讓線上環(huán)境承擔(dān)風(fēng)險。文件傳過去之后先校驗備份日志確認(rèn)沒有異常再解流xbstream -x -C /data/restore/full_xxx /data/restore/full_xxx.xbstream xtrabackup --prepare --target-dir/data/restore/full_xxx這里必須說一個容易忽略的點如果是從從庫拉的備份去初始化新從庫prepare的時候不需要加--apply-log-only只要不是做增量合并直接準(zhǔn)備到位就行如果后面想在備份基礎(chǔ)之上再合并增量才需要--apply-log-only。準(zhǔn)備完成后用--copy-back把文件放回數(shù)據(jù)目錄調(diào)整屬主后啟動 MySQL。2.3 GTID 建立復(fù)制以及為什么這段必須用 GTID數(shù)據(jù)文件恢復(fù)好以后啟動 MySQL直接從備份集里的xtrabackup_info或xtrabackup_binlog_info拿位點和 GTID 集合。在 GTID 模式下建立復(fù)制的命令比傳統(tǒng) binlog 位置簡潔得多CHANGE MASTER TO MASTER_HOST10.0.0.10, MASTER_PORT3306, MASTER_USERrepl, MASTER_PASSWORDreplpass, MASTER_AUTO_POSITION1; START SLAVE; SHOW SLAVE STATUS\G只要Seconds_Behind_Master在持續(xù)下降并且最終接近 0主從就正常了。為什么這里我堅持用 GTID因為后面 Orchestrator 做切換時候選從庫的選擇和其余從庫的重指向都依賴 GTID 自動定位。傳統(tǒng) binlog 位點模式下每次切主都要人去確認(rèn)每個從庫應(yīng)該指向哪個位點錯一步就是數(shù)據(jù)不一致GTID 模式下Orchestrator 可以直接說“誰的事務(wù)集合最完整”新主一確認(rèn)其余從庫MASTER_AUTO_POSITION1就能自動對齊。一主三從這種規(guī)模靠手工維護位點是撐不住的。另外要說一個第一次初始化容易撞上的問題復(fù)制完成后如果從庫的server_uuid和源實例重復(fù)MySQL 會因為 UUID 沖突直接啟動失敗。XtraBackup 在備份時一般不會把auto.cnf一起恢復(fù)但如果你手工拷貝過數(shù)據(jù)文件一定要檢查${datadir}/auto.cnf如果存在且和主庫 UUID 相同直接刪掉再重啟 MySQL讓它重新生成一個新的。這個問題出現(xiàn)過不止一次報錯信息還不明顯容易排查半天。3. Orchestrator 的部署和切換鏈路從發(fā)現(xiàn)故障到發(fā)起選舉Orchestrator 是這套高可用里的“大腦”。它本身不處理業(yè)務(wù)流量只干一件事持續(xù)監(jiān)控拓?fù)淅锼?MySQL 實例發(fā)現(xiàn)主庫故障后自動執(zhí)行恢復(fù)流程。部署本身不復(fù)雜但有幾個設(shè)計點直接決定了切換的可靠性。3.1 Orchestrator 自身的可用性三節(jié)點 Raft 比單機強在哪很多人搭 Orchestrator 只在單機跑一個實例這是比較危險的做法。Orchestrator 自己掛了故障切換就停了和 MHA Manager 單點的問題一樣。我這里是三個節(jié)點組成了 Raft 集群數(shù)據(jù)層用一個獨立的小 MySQL 實例存 Orchestrator 的元數(shù)據(jù)。三節(jié)點 Raft 的核心價值是避免誤判。單個 Orchestrator 節(jié)點可能因為網(wǎng)絡(luò)抖動、負(fù)載高或者其他原因誤以為主庫掛了但集群模式下至少要多數(shù)節(jié)點都判定主庫不可達才會真正觸發(fā)切換。這個設(shè)計對一主三從這種生產(chǎn)環(huán)境非常重要因為誤切換造成的危害往往比不切換還大。你想想如果只是 Orchestrator 到主庫的網(wǎng)絡(luò)閃斷了一下結(jié)果主庫被切掉了全部寫流量瞬間打到一臺從庫上這是完全不能接受的。部署時需要注意三個 Orchestrator 節(jié)點之間的網(wǎng)絡(luò)延遲要低最好在同一個機房的同一網(wǎng)段Raft 數(shù)據(jù)目錄要放到持久化磁盤元數(shù)據(jù)庫不能跟著 Orchestrator 一起掛否則集群雖然活著但無法讀取狀態(tài)。我們?yōu)榱俗屧獢?shù)據(jù)庫也可靠把它的主從狀態(tài)通過同一套監(jiān)控盯起來了屬于基礎(chǔ)設(shè)施的基礎(chǔ)設(shè)施不敢省。3.2 關(guān)鍵配置項里容易踩的部分Orchestrator 的配置文件是/etc/orchestrator.conf.json。下面這段是我實際用的把關(guān)鍵項都標(biāo)出來了{ ListenAddress: :3000, MySQLTopologyUser: orc, MySQLTopologyPassword: orcpass, BackendDB: mysql, BackendDSN: orcmeta:orcmetapasstcp(10.0.0.9:3306)/orchestrator?timeout5s, RaftEnabled: true, RaftDataDir: /var/lib/orchestrator, RaftBind: 10.0.0.7, RaftNodes: [10.0.0.7, 10.0.0.8, 10.0.0.9], DetectClusterAlias: true, RecoverMasterClusterFilters: [*], RecoveryPeriodBlockSeconds: 30, PostMasterFailoverProcesses: [ bash /usr/local/orchestrator/scripts/failover_to_proxy.sh {failureType} {destinationHost} {destinationPort} ] }Orchestrator 用來連接 MySQL 拓?fù)涞馁~號權(quán)限要謹(jǐn)慎給不要直接給 root。我的做法是單獨建orc賬號授權(quán)CREATE USER orc% IDENTIFIED BY orcpass; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, PROCESS, SUPER ON *.* TO orc%;SUPER權(quán)限是必須的因為 Orchestrator 需要執(zhí)行START SLAVE、STOP SLAVE、CHANGE MASTER TO、修改read_only這類操作。一開始我嘗試去掉這個權(quán)限結(jié)果切換到一半就報權(quán)限不足整個恢復(fù)流程直接卡住后來老老實實加回去了。還有一個重要配置是RecoveryPeriodBlockSeconds。它表示同一集群在一次切換后的多少秒內(nèi)不會再次觸發(fā)恢復(fù)避免頻繁抖動導(dǎo)致集群狀態(tài)反復(fù)橫跳。我設(shè)成了 30 秒實際線上如果舊主恢復(fù)后一直不穩(wěn)這個值可以再調(diào)大比如 60 秒保證有足夠時間人工介入。3.3 故障切換的判定與候選從庫規(guī)則Orchestrator 對主庫的健康檢查用的是 MySQL 原生連接每秒執(zhí)行一次簡單查詢。連續(xù)探測失敗后會進入恢復(fù)流程?;謴?fù)過程大致是確認(rèn)主庫狀態(tài)收集所有從庫的復(fù)制狀態(tài)和 GTID 集合。從候選從庫里選出一個 GTID 集合最完整、復(fù)制延遲最低的實例。停止該從庫的復(fù)制線程執(zhí)行STOP SLAVE等待 relay log 應(yīng)用完畢。把該從庫提升為新主SET GLOBAL read_onlyOFF、SET GLOBAL super_read_onlyOFF。把其他從庫通過CHANGE MASTER TO ... MASTER_AUTO_POSITION1重新指向新主。如果舊主恢復(fù)了嘗試把它也變成新主的從庫并強制設(shè)成只讀防止腦裂。這個鏈條里最關(guān)鍵的是第二步“選候選人”。Orchestrator 默認(rèn)會根據(jù) GTID 集合和延遲來選但實際生產(chǎn)環(huán)境里我們更希望讓指定的一兩臺機器優(yōu)先成為新主而不是隨便選。這可以在實例上設(shè)置 promotion rule 來實現(xiàn)。比如讓10.0.0.11這臺配置最好、和主庫同機房的機器作為首選新主我是通過 Orchestrator 的 web 界面把它的 promotion rule 設(shè)為prefer把一臺性能較差的從庫設(shè)為must_not這樣即使它的 GTID 不是最新Orchestrator 也不會選它當(dāng)主。4. ProxySQL 讀寫分離實現(xiàn)與自動感知切換Orchestrator 解決了“誰是新主”的問題但應(yīng)用側(cè)的流量不會自動知道新主是誰。這就是 ProxySQL 的工作。ProxySQL 作為應(yīng)用和 MySQL 之間的接入層它接收來自應(yīng)用的所有數(shù)據(jù)庫連接再根據(jù) hostgroup 和查詢規(guī)則把語句分發(fā)到具體的后端實例。4.1 ProxySQL 部署后的核心配置ProxySQL 版本 2.x 有兩個端口6032 是管理端口6033 是業(yè)務(wù)端口。我所有配置都是通過管理端口改的這樣可以避免去手動改配置文件再重啟進程。先配置后端節(jié)點INSERT INTO mysql_servers(hostgroup_id, hostname, port, weight, comment) VALUES (10, 10.0.0.10, 3306, 100, writer node); INSERT INTO mysql_servers(hostgroup_id, hostname, port, weight, comment) VALUES (20, 10.0.0.11, 3306, 100, reader node 1); INSERT INTO mysql_servers(hostgroup_id, hostname, port, weight, comment) VALUES (20, 10.0.0.12, 3306, 100, reader node 2); INSERT INTO mysql_servers(hostgroup_id, hostname, port, weight, comment) VALUES (20, 10.0.0.13, 3306, 100, reader node 3);這里我用 hostgroup 10 表示寫組hostgroup 20 表示讀組。配置賬號和路由規(guī)則INSERT INTO mysql_users(username, password, default_hostgroup) VALUES (appuser, apppass, 10); INSERT INTO mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, apply) VALUES (1, 1, ^SELECT.*FOR UPDATE, 10, 1); INSERT INTO mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, apply) VALUES (2, 1, ^SELECT, 20, 1); INSERT INTO mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, apply) VALUES (3, 1, .*, 10, 0);SELECT ... FOR UPDATE必須走寫組因為這種查詢本質(zhì)上是在鎖定行如果放讀組去執(zhí)行鎖的語義就沒了。普通SELECT走讀組剩下的全部走寫組兜底。配置完記得執(zhí)行LOAD MYSQL SERVERS TO RUNTIME、LOAD MYSQL QUERY RULES TO RUNTIME、LOAD MYSQL USERS TO RUNTIME否則不會生效。4.2 讓 ProxySQL 在切換后自動跟著新主走很多教程會提到mysql_replication_hostgroups這個表讓 ProxySQL 通過檢測實例的read_only狀態(tài)自動把節(jié)點分到寫組或讀組。這個方案理論可行但我實際用下來發(fā)現(xiàn)它依賴監(jiān)控線程的掃描周期新主提升后read_onlyOFF和舊主恢復(fù)后被設(shè)成read_onlyON這兩個狀態(tài)變化不一定能立刻被捕捉到期間流量可能短暫走錯節(jié)點。我采用的方式更直接在 Orchestrator 完成主從切換后通過PostMasterFailoverProcesses調(diào)用一個腳本腳本直接改 ProxySQL 里寫主機組的節(jié)點 IP然后立刻加載到 runtime。腳本內(nèi)容大致如下#!/bin/bash # 參數(shù)順序按當(dāng)前版本實際打印參數(shù)為準(zhǔn)首次接入時先打印一次再定 NEW_MASTER$3 NEW_PORT$4 mysql -h 127.0.0.1 -P 6032 -uadmin -padmin -e UPDATE mysql_servers SET hostname${NEW_MASTER}, port${NEW_PORT} WHERE hostgroup_id10; LOAD MYSQL SERVERS TO RUNTIME; SAVE MYSQL SERVERS TO DISK; 你看到的$3、$4的位置要特別謹(jǐn)慎。不同版本的 Orchestrator 傳給PostMasterFailoverProcesses的參數(shù)順序不完全一樣我在本地接腳本時專門打印了所有參數(shù)確認(rèn)新主 IP 和端口在第幾個位置才定下來。如果你裝的是別的版本第一次上線前一定要模擬一次切換把這個地方驗證透。為什么我不寫死舊主 IP因為如果舊主恢復(fù)后被重新納入集群它的 IP 可能還在寫組里但角色已經(jīng)變成從庫。如果不改掉ProxySQL 會把寫流量同時發(fā)給兩個節(jié)點造成腦裂。通過腳本把寫組里的 IP 直接替換成新主 IP舊主即使在mysql_servers表里也只會放在讀組。4.3 應(yīng)用層需要注意的配合ProxySQL 切換后理論上應(yīng)用不需要改任何代碼但連接池里的長連接不會立刻斷開。ProxySQL 在探測到后端不可用后會逐步淘汰這些連接應(yīng)用下一次從連接池取連接時重新經(jīng)歷認(rèn)證和路由自然就走到新主了。為了加快這個收斂過程我在應(yīng)用側(cè)的數(shù)據(jù)庫連接池里把連接存活時間設(shè)成 30 秒以內(nèi)并且開啟空閑連接檢測避免某些老連接一直占著舊主的資源。另外要提醒一點transaction_persistent這個規(guī)則要慎用。我們最初為了解決“事務(wù)內(nèi)先寫后讀被分發(fā)到從庫導(dǎo)致數(shù)據(jù)不一致”的問題給事務(wù)開啟了 persist 模式結(jié)果所有事務(wù)里的讀也被鎖定到寫組讀從庫的利用率反而降下來了。后來在應(yīng)用代碼里強制要求事務(wù)內(nèi)不要混用實時讀這才徹底解決。如果你們的業(yè)務(wù)事務(wù)邏輯比較復(fù)雜先把事務(wù)和讀寫分離的邊界理清再上 ProxySQL否則排查問題會很痛苦。5. 故障演練把主庫直接 kill 掉的完整過程配置再好看不演練等于沒配置。故障演練是所有高可用方案上線前必須做的一步而且不能只在測試環(huán)境做要在業(yè)務(wù)低峰期、有監(jiān)控陪跑的情況下對生產(chǎn)環(huán)境做真實的切換驗證。我們那次演練是在凌晨兩點業(yè)務(wù)量最小但流量入口都是真的。5.1 演練前的準(zhǔn)備和檢查清單演練前我把狀態(tài)檢查做成了一份清單逐項核對過Orchestrator web 界面能看到完整拓?fù)湟恢魅龔臓顟B(tài)正常沒有報錯。三臺從庫SHOW SLAVE STATUS里Seconds_Behind_Master都是 0。ProxySQL 監(jiān)控賬號能正常連到所有后端節(jié)點管理接口能執(zhí)行修改。failover_to_proxy.sh已經(jīng)手動執(zhí)行過一次確認(rèn)腳本本身沒有語法錯誤。應(yīng)用側(cè)連接池參數(shù)已經(jīng)調(diào)好準(zhǔn)備接受短暫的寫連接抖動。監(jiān)控告警里關(guān)于主庫宕機的通知暫時設(shè)成靜默避免大半夜嚇到值班同學(xué)。這里有一項往往被人忽略腳本要先用“假參數(shù)”在測試環(huán)境里跑一遍確認(rèn)能改庫、能加載到 runtime、能 save 到 disk。我第一次寫腳本時直接在生產(chǎn)上跑結(jié)果因為 ProxySQL admin 的密碼在腳本里寫錯了執(zhí)行報錯整個切換鏈路直接斷掉。雖然這是小問題但在真實故障時會變成致命的。5.2 主庫宕機后的時間線和系統(tǒng)行為實際演練時我在主庫上直接執(zhí)行了kill -9模擬最嚴(yán)重的進程級故障。下面是整個時間線時間點事件00:00:00主庫 MySQL 進程被殺應(yīng)用寫請求開始報錯00:00:02Orchestrator 第一次探測失敗進入確認(rèn)階段00:00:05多節(jié)點確認(rèn)主庫不可達觸發(fā)恢復(fù)流程00:00:08候選從庫被選中停止復(fù)制并回放完 relay log00:00:10新主read_only被關(guān)閉其余從庫重新指向新主00:00:12PostMasterFailoverProcesses腳本執(zhí)行ProxySQL 寫組切換到新主00:00:14應(yīng)用新連接全部走到新主寫入恢復(fù)整個切換過程大約 14 秒其中數(shù)據(jù)庫角色切換只花了 8 秒剩下幾秒是等待 relay log 追平和流量刷新。很多系統(tǒng)顯示“秒級切換”實際上說的是探測器發(fā)現(xiàn)問題到選出新主的時間真正要等到 relay log 全部應(yīng)用、ProxySQL 刷新生效業(yè)務(wù)才能恢復(fù)。這個時間受從庫的積壓和硬件性能影響很大像我們這次沒有明顯積壓所以 14 秒完成如果從庫本身延遲好幾秒切換時間也會相應(yīng)拉長。5.3 演練中暴露出的兩個問題第一次演練其實不是一次過的暴露了兩個當(dāng)時沒注意到的問題。第一個問題是其中一臺從庫在切換完成后復(fù)制線程一直顯示NO。原因是它和新主的 GTID 集合不完全匹配Orchestrator 雖然已經(jīng)發(fā)了CHANGE MASTER TO MASTER_AUTO_POSITION1但該從庫的 relay log 里還殘留著一些舊主的事務(wù)這些事務(wù)在 GTID 集合里已經(jīng)存在所以從庫認(rèn)為沒有新事務(wù)要執(zhí)行直接卡住。排查方法是在從庫上執(zhí)行STOP SLAVE; START SLAVE;如果還不行就需要RESET SLAVE強制重新初始化復(fù)制。這里有個原則在 GTID 環(huán)境下不要輕易去手工指定位點否則很容易破壞 GTID 集合的完整性正確做法是讓從庫從新主重新拉全量或者重置復(fù)制狀態(tài)。第二個問題比較隱蔽切換完成后應(yīng)用側(cè)有大量長連接沒有立即感知到新主導(dǎo)致部分寫請求在舊主連接上持續(xù)超時。監(jiān)控里看到這段時間內(nèi)連接池里的borrow失敗率和timeout明顯飆升。后來我在應(yīng)用連接池里配置了連接最大存活時間和連接有效性探測才把這個收斂時間從幾十秒縮短到幾秒。為什么這時候才注意因為測試環(huán)境連接量小根本看不出來連接池回收慢的后果。6. 上線后陸續(xù)踩過的幾個坑以及對應(yīng)的優(yōu)化方案上線幾個月后集群平穩(wěn)運行過也陸續(xù)出現(xiàn)過一些不算致命但很影響體驗的問題。這些經(jīng)驗比搭建過程更值錢單獨列一節(jié)講清楚。6.1 從庫復(fù)制延遲從 100 秒降到 3 秒的調(diào)整TB 級數(shù)據(jù)、讀寫分離后讀從庫很容易被大查詢拖慢進而導(dǎo)致Seconds_Behind_Master居高不下。我一直覺得一主三從里最需要監(jiān)控的不是主庫負(fù)載而是從庫的復(fù)制延遲。一次大促前巡檢我發(fā)現(xiàn)其中一臺從庫延遲已經(jīng)到 100 秒再下去讀寫分離的意義就沒了。排查后原因有兩層。一是 MySQL 5.7 的默認(rèn)配置里從庫復(fù)制是單線程的SQL 線程一個事務(wù)一個事務(wù)地往前推遇到大事務(wù)或 DDL 就卡住。我在從庫上加了并行復(fù)制參數(shù)[mysqld] slave_parallel_type LOGICAL_CLOCK slave_parallel_workers 8 slave_preserve_commit_order ON注意 5.7 的并行復(fù)制只有在binlog_format ROW且主庫開啟了組提交的情況下才有比較明顯的效果。另外slave_preserve_commit_order保證了并行回放時不會因為事務(wù)順序錯亂導(dǎo)致數(shù)據(jù)不一致這個參數(shù)不能省。其次是讀寫分離帶來的讀放大問題。大量的分析型查詢直接打到同一臺從庫上把它的 CPU 打滿了復(fù)制線程吃不到資源。解決方法是把查詢量最大的幾個報表接口單獨分到指定從庫其他常規(guī)讀走另外兩臺從庫之間做按業(yè)務(wù)維度的分流而不是完全隨機負(fù)載均衡。調(diào)整完以后三臺從庫的延遲長期穩(wěn)定在 3 秒以內(nèi)。6.2 半同步復(fù)制要不要上MySQL 5.7 默認(rèn)的復(fù)制是異步的主庫事務(wù)提交成功就返回binlog 還沒送到從庫。這種模式在主庫宕機時理論上可能丟失最后一個事務(wù)。半同步復(fù)制能壓縮這個窗口但也帶來額外的性能開銷。我在實際環(huán)境中是分階段開的先只在主庫和兩臺關(guān)鍵從庫之間開啟半同步觀察了大半個月確認(rèn)沒有明顯寫入性能劣化后才在剩下那臺上同步開啟。半同步配置需要注意參數(shù)[mysqld] plugin-load semisync_master.so;semisync_slave.so rpl_semi_sync_master_enabled 1 rpl_semi_sync_slave_enabled 1 rpl_semi_sync_master_timeout 1000 rpl_semi_sync_master_wait_point AFTER_SYNCrpl_semi_sync_master_timeout設(shè)置成 1000 毫秒很關(guān)鍵。如果從庫確認(rèn)延遲超過這個值主庫會自動退化為異步復(fù)制至少保證寫入不會一直卡死。AFTER_SYNC是比默認(rèn)值更安全的模式它保證在事務(wù)提交到存儲引擎之前就等待從庫確認(rèn)這樣即使主庫馬上宕機事務(wù)也已經(jīng)在從庫的 relay log 里了。網(wǎng)上很多文章只提開啟半同步不提AFTER_SYNC在這個點上容易被帶偏。不過要提醒你半同步不能保證零丟失。主庫已經(jīng)提交但還沒拿到從庫確認(rèn)的那個瞬間如果主庫掛了事務(wù)仍然可能丟失。所以它只能作為降低丟數(shù)據(jù)概率的手段不能替代定期的完整備份和 binlog 備份。6.3 日常巡檢、備份和監(jiān)控切換做得再好數(shù)據(jù)也可能在某個角落出問題。我現(xiàn)在的日常運維節(jié)奏是每周用 XtraBackup 做一次全量備份保留最近四周的備份集每天做一次增量備份保留最近七天。巡檢時用orchestrator -c topology -alias cluster看拓?fù)涫欠褚恢掠肧HOW SLAVE STATUS看延遲重點看有沒有NO狀態(tài)。數(shù)據(jù)一致性用pt-table-checksum分庫分表跑限速參數(shù)開到很低避免給線上帶來壓力。發(fā)現(xiàn)差異后用pt-table-sync修復(fù)修復(fù)前必須先備份相關(guān)表結(jié)構(gòu)。監(jiān)控指標(biāo)主要盯主從延遲、從庫復(fù)制進程狀態(tài)、主庫磁盤空間、ProxySQL 后端健康狀態(tài)、連接池使用率、慢查詢數(shù)量。這套方案跑到現(xiàn)在最讓我放心的不是“主庫掛了自動切”而是每次切換后都知道流量會往哪里走舊主恢復(fù)后不會再被寫入從庫會重新對齊到新主。這種確定性才是高可用方案真正該追求的東西。最后再分享一個小技巧所有和 Orchestrator 掛鉤的切換腳本一定要寫成冪等的。也就是說同一個腳本連續(xù)執(zhí)行兩次要么第二次不產(chǎn)生新影響要么能安全地糾正掉第一次的殘留異常。我的腳本里在UPDATE mysql_servers之前加了判斷如果目標(biāo) IP 已經(jīng)存在就不再重復(fù)執(zhí)行這樣即使 Orchestrator 因為異常重復(fù)觸發(fā)同一個恢復(fù)流程ProxySQL 的配置也不會被寫爛。這些小細(xì)節(jié)看著不起眼但關(guān)鍵時刻能少挨幾次半夜的告警電話。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚州色综合| 中文字幕AV乱伦| 免费黄色片。| 91久久堂| 婬女免费一二三区A片| 国厂麻豆77q4| 亚洲欧美高清无码| 狼天天狼天天大香蕉| 欲色综合| 天综合网| 91操熟女| 厕所偷拍在线| 97超碰磁| 欧美97日韩精品| A片A5445444| 欧美 青青草| 亚洲无码超碰免费| 久久久久久久久久久久九| 欧美精品三级黄片| 国产九九久久久精品| 精品人妻一区二区三区在| 五月丁香在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲欧美在线综合| h4610国产人妻| 夜夜嗷嗷一区二区| 国产偷人妻精品一区二区在线| 丰满人妻aA一区二区三区| 一区二区三区四区五区高清无码永久视频| 国产捆绑一区| 国产精品高潮久久AV| 涩涩这里只有精品视频| 午夜AV污污污| 日韩AV一区二区三区四四| 猛猛干| 婷婷四五区| 91欧洲国产成人久久精品网站| 热久久精品| 国产精品久久久久无码Av网曝门| 日本熟妇色熟妇在线视频播放| 白嫩国模丰满一二三区| 中文字幕一区二区三区人妻不卡 | 大香蕉婷婷| 青草一区二区| 91最新综合| 一区二区三区免费岛国片| 国产自产22区| 国产精品色| 91久久青青草原精品| 欧美激情视频一区二区三区不卡| 国产中文精品一区二区在线观看| 久草新在线| 亚洲熟女乱色| 1禁看欧美黄片免费看| 99视频自拍区| 另类亚洲图色| AV 少妇 人妻 偷拍| 亚洲码在线中文在线观看| 97精品97| 97天天爽| 国产激情av女片自拍| 99精品国产户外露出| 国产福利小视频高清在线观看| 精品999一区二区| 欧美亚洲AN| 95人妻爽爽人人做人人澡| 大香蕉黄色一级片免费看| 熟女91网| 色娱乐色呦呦夜夜夜夜av| 91久久婷婷| 草草网站影院白丝内射| 欧洲久久一二线| 日韩久草| 啊啊啊啊啊好大好舒服想要| 亚州精人品大香蕉| 99久久99九九99九九九| 日韩乱伦影音先锋| a男人的天堂久久一级A毛片| 麻豆精品一区二区三区四区免费观看| 国产人人干| 麻豆影音天美视频| 久久色激情一区二区三区| 亚洲av淫乱| 国产又黄又粗的视频| 色吧91| 少妇淫妇久久久久久久| 97色在线视频| 久久久久久久久久久精| 一区二区三区在线日韩影院观看| 国产美女精品| 美女的肌被草喷水视频| 人妻一区久久二区三区色播| 欧美视频在线第3页| 尤物国产一区在线观看| 精品成人动漫一区二区| 久久这里是精品| 亚洲一区二区久久久久| 国产黄片精品在线| 思思热免费在线视频| 99国产在线绯色一区| 亚洲天堂人妻一区二区| 亚洲成人碰碰| 一区二区三区在线资源| 欧美性爱97超碰| 五月天激情婷婷| 日韩人妻无码专区| 99热在线观看| www.zbzhongsen.com| 操逼视频免费日韩无码| 免费一级视频特黄色大片| 性色av蜜臀av色欲aV| 欧美性生活男人的天堂| 在线国产福利网址导航| 人人摸人人摸人人干| 91人妻素女| 午夜福利精品| 在线啊v一区| 欧美色综合影院| 欧美成人一区二区三区在线播放 | 夜夜爽夜夜操| 清纯唯美亚洲| 亚洲国产精品99久久久| 天天色,天天干,天天干| 91精品电影18| 麻豆福利视频导航| 亚洲污污网站| 久操视频在线| 强奸抽插av| heyZO天然素人无码AⅤ专区| 免费岛国一级片| 欧美综合娱乐久久| 国产一级αv免费看片| 99日精品欧美国产| 综合色图,成人综合网| 毛片久久| 中文字幕精品日韩中文字幕| 色婷五月| 97玖玖人妻| 日韩二级| 91日韩网站| 超碰欧美97| 操b在线观看| 超碰无码加勒比| 久久一区二区三区入口| 久久久久久性爱片| 欧美综合狠| 9Ⅰ老熟女| 香蕉久久AⅤ...| av凤凰久久久| av大香蕉网站| 99av| 日本一本道A级黄色毛片试看60分钟| 探花激情视频| 91色色综合| 色九九久九九| 懂色av色欲av蜜臀av| 国产激情视频在线观看| 97超碰色屌| 亚洲熟女乱色一区二区三区久久久| 99精品无码| 蜜臀久久99精品久久久久久无删减 | 日本顶级天天操狠狠操夜夜操中文字幕| 久久久成人免费av电影| 国产精品爆乳懂色蜜乳| www99热| 青青草十区九区爱夜| 舔人妻中文免费视频| 欧美成年人性爱视频免费观看| 91社操逼| 青苹果影院男人的天堂| 欧美热图99| 人人操人人操人人操人人操人人操人人人11.CM| 在线性黄高清免费视频| 欧美亚洲AN| 超碰97COm中文| 亚洲码专区| 日韩一级二级在线| 九九九九九精品| 强奸乱伦资源| 欧美亚洲高清不卡| 韩国手机不卡无码三级视频| 大香蕉免费中文| 日日玩天天干| 国产一级黄色片在线观看| 超碰激情808| 日韩一卡二卡三卡| 国产一区二区视频在线播放| 99热 按摩 日韩| 亚洲国产精品无石码久久| 久久鲁干| 加勒比av官网在线| 国产成人自拍视频视频| 欧美 综合| 国产400孕妇孕交群| 人妻少妇av在线观看| 人妻免费观看| 中文字幕一二区二三区人妻专区| 亚洲蜜臀懂色| 国产成人欧美一区二区三区的国产| 欧美综合第一| 99在线无码精品秘 入口黑人| 国产夫妻一区二区| 色呦呦国产精品免费看| 欧美亚洲激情小说| 2017大香蕉国产精品久久| 熟妇综合一区二区三区| 91在线美女| 国产高清成人免费视频| 天天综合AV| 亚洲色图欧美一区二区不卡| 日韩精品人妻中文字幕有码午| 78超碰| 96AV精品| 日本黄大片在线观看视频| 色盈盈影院| 国产精品不卡一区二区三区av | 日韩欧美亚洲一区二区三区影院| 啊啊啊 在线| 黄色片大香蕉| 91欧美综合| 精品妇女一区二区三区| 熟妇xxxxx性春色| 精品乱子一区二区三区99| 国产精品国产自产高清AV| 91超碰在线播放| 日韩成人大片在线观看| 欧美美女视频| 熟女中出视频| 精品国产无码中文| 欧美亚洲自拍另类人妻| 亚洲天堂另类美腿| 久草国产在线视频| 91少妇通奸网站| 狠狠干综合| 日本东京热久久久电影| 成人黄页| 中文字幕五区| 人妻啪| 夜夜嗨一区二区三区三州加勒比| 鲁鲁色综合网| 国产成人免费观看在线视频| 精品黄色电影| 欧美 综合 亚洲| 国产精品久久伊人| 97操| 欧美激情久久久久| 青青草自拍视频在线播放| 不卡av在线中文字幕| 欧美国产操逼| 丰满欧美少妇| 色情乱伦AV| 综合色好色| 男人的天堂2000| 婷婷五月天网| 亚洲欧美在线观看免费| AV和黑人在线播放| 亚洲天堂男| 久久这里| 冬京热男人的天堂| www.超碰在线| 91成人久久 | 丁香六月婷婷| 大香网站| 人妻一二三区| a片在线播放| 中文字幕第二页| AV老汉| 久久久人体| 亚洲五码一区二区三区| 日本熟女不卡视频| 性91| 自拍啪啪视频| 国产精品九九| 欧亚揄拍偷拍精品视频| 四虎884a| 超碰 另类 欧美| 另类小说五月天| 日本一级性爱| 综合 欧美 亚洲 日本| 久久免费少妇| 久久尹人大香焦视| 色淫网站优优视频| 97久久超碰亚洲| 91AV天美在线视频| 试看60秒| 日本高清熟女久久一区| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 久久中文字幕人妻熟av女蜜柚| 91精品人妻一区二区三区蜜桃臀| 日本超碰在线国产一区| 99视频在线| 天天躁日日躁XXXXYY| 日韩精品在线观看观看| 妇女性内射冈站HDWWWCOM| 9118禁| 欧美AB在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 无码伊人久久大杳蕉中文无码| 东京热男人的天堂精品| 午夜爽爽爽在线观看永久入口姬片| 亚欧高清| 操操逼视频| 麻豆国产视频精品观看| 天天操天天干一区二区| 国产精品无码在线| 120分钟婬片免费看| www色日本| 精品超碰国产| 婷婷综合久久| 人人天天欧洲| 欧美有码亚洲中文字幕一区二区三区四区| 欧亚不卡| 欧美天堂亚洲电影院一区在线播放| 日韩欧美被操黄免费观看| 亚洲成人精品久久久| 啊啊啊97视频| 色噜噜人妻av中文字幕| 好吊色青靑草| 偷拍三区| 亚洲AV成人无码一区二区三区在线观看| hd成人一区二区在线| 中文自拍欧美影视| 欧美少妇熟女| 91中文精品日韩欧美在线| 免费看污网址| 国产美女高潮视频| 日本成人免费一区二区三区| WWW啪啪的com| 久久久爆乳翘臀一线天伦理视频| 荡小穴在线观看| a人欧美综合天堂麻豆| 亚洲九九爱| 亚洲性高潮| 人人妻碰人人免费| 九热视频| 亚洲欧美日韩有码| 精品人妻少妇| 精品人妻1区| 免费看日产一区二区三区| 91蜜臀在线久久久久| 久久精品72| 中文字幕色AV| 中文字幕日韩专区精品系列| 综合久久婷婷| 天天综合欧美综合| 日本媚薬中文字幕在线| 日韩国产成人自拍视频| 欧美亚洲性爱一区二区| 变态另类专区| Av手机版天堂网| 婷婷伊人綜合中文字幕| 啊啊啊啊二区好大| 亚洲熟女诱惑| 国产精品久久久无码AV网站| 色综合潮| 干超碰碰熟女| 丁香五月婷婷五月| 欧亚韩国999| 国产无码精品久久久久久| 亚洲图片欧洲图片aⅴ| 综合网欧美在线| 人妻精品一区一区三区蜜桃91| 欧美色亚洲| 国产高清成人传媒影视| 欧美性爱网97| 欧美精品二区视频在线| 亚洲午夜免费狠狠干| 91青青在线视频| 富女玩鸭子一级毛片| 日本一级一级一级一级| 嗯嗯啊啊啊啊轻点视频| 日韩AV无码网站| 女同在线视频一区| 中文字幕国产| 国产精品青草综合久久| 99re在线视频国产| 大香蕉www.超碰| 欧美日韩免费专区在线| 97免费在线观看| 免费在线观看AV无码网站| 啊啊啊不要好爽日韩无码一区| 啊啊啊爽爽| 啪啪一区| 国产农村妇女毛片精品久久| 日本护士高潮| 欧美爱国产综合、| 欧美黄片视频在线观看免费 | 五月婷丁香| 抽插一区二区视频| 久操操| 欧美丝袜中文字幕07在线| 久久精品国产亚洲AV成人直播| 超碰在97| 玖玖玖玖精品国产剧情| 麻豆传媒一区二区在线观看| 国产东北女人在线视频| 色阁阁AV综合网| 大色综合网| 色天天野狼综合社区| 少妇干B| 女人天堂网| 丁香五月天堂网| 欧美亚洲天天| 91美女视屏| av亚欧| 亚洲熟女乱色| 欧美极品性爱天天射| 亚洲欧洲无码一区夜| 日韩国产乱子伦App| ...日韩成人一区二区三区字幕| 18禁中文字幕| 密臀国产在线| 97日本超碰综合| 被窝影院午夜看片无码| 超碰97首页| 玖玖资源综合在线视频| 婷婷激情丁香| 久久9亚洲| 性爱网站一区二区| 久艹99| 超碰99在线| 欧美18老人禁| 物业黑人 AV一区| 99视频自拍| 91色综合| 乱操9999| 成人影 天天操 亚洲| 免费av在线播放二区| 久久久久久九九九九九九| 成片免费播放| 亚洲 中文字幕 精品| 欧美中字不卡| 日韩精品 资源| 亚洲AV成人无码一二三久久| 欧美在线亚洲| 欧美老妇女内射网址| 国产女人91精品嗷嗷嗷嗷| 久久久久久久97| 欧美亚洲成人在线一区二区三区| 天天爽人人综合免费7799| 亚洲巨爆乳一区二区三区四季网| 蜜臀无码一区二区| 国产久久久9999| 日逼国产| 日本国产亚洲一区在线观看| 亚洲资源吧| 神马久久久久久久久久久久| 99色天堂| 大香蕉专区| 黑人猛交| 激情小说激情视频| 久污| 黑丝日韩av丝袜av| 久久天天摸| 在线观看黄色电话| 成人亚欧免费视频| 欧美成人免费在线观看| 精品一区二区2| 香蕉久久精品| 成人精品电影| 日夜啪电影| 日韩av一级黄片| 八戒无码国产午夜福利| 欧美精品宗合| 91亚洲情色| 91网站在线播放| 中文字幕在线2| 偷拍亚洲高清图片| 欧美性特| 青青草日韩无码| 国产AV高清AV无码| 午夜理论片在线观看免费| 久久精品国产AV一区二区三区| 欧综合网| 人妻丝袜一区二区三区在线| 久久有码视频| 欧美日韩亚洲天堂| 青青草在线视频播放器| 91欧洲入口| 男人精品天堂一区| 老熟妇一区二区三区啪啪| 麻豆福利视频导航| 国产精品网站免费| 曰本精品久久久| 日韩人妻少妇中文字幕| 亚洲天堂,男人| 99色| ,国产乱人伦精品一区二区三区| 欧美成人精品A片免费一区99| 亚洲国产成人精品无码专区| 在线啊v一区| 搡老熟女老女人老熟妇免费视频| 黑人无码一区二区| 欧美日韩性爱视屏免费看了| 色小视频蜜乳| 久久婷婷热| 亚洲欧美精品91| 欧美日不卡| 999日韩中文精品观看视频。| 99re视频在线观看这里只有精品| 午夜精品一区二区三区三上悠亚| 日韩丝袜人妻AV| 超碰在线974| 97这里只精品| 偷拍亚洲情色| 日韩欧无码一区二区三区免费不卡| 97精| 一区二区精品日韩欧美在线观看| 尤物黄色在线观看网站| 91精品国产高清久久久久久,亚洲成人 | 亚洲人成网站7777| 韩日性爱av| 99精品成人免费看| 久久乐| 欧美老熟另类| 9精品久久| 亚洲欧洲日韩中文字幕一区| 91综合在线| 国产成人精品必看| av资源在线观看少妇| 亚洲色图91欧美日韩| 欧美欲色| 精品无人区麻豆乱码1区2区图片 | 久久粉色| 国产日韩手机视频在线| 亚洲国产麻豆一区二区三区| 夜夜爽77777| 精品十三区| 国产精品69久久久久久久| 熟女人妻一区二区三区免费看 | 不卡视频一区蜜桃视频| 亚洲精品成人动漫在线| 涩涩五月天| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 精品亚洲国产成人AV制服丝袜| 操狠狠| 久久综合av| 视频不卡中文字幕| 中国探花熟女| 99色婷婷中文字幕乱色| 精品999一区二区| 国产亚洲日韩在线三区黑人| 欧美亚洲综合色| 九九九九免费高| 天美精品原创av片国产| 69精品久久久久中文字幕| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欲色啪| 亚洲日韩av专区无码| 国产粉嫩出水在线播放| 久久欧洲| 97日韩欧美| 熟女突然公开看18禁影片| 国产夫妻一区二区| 天天日天天看| 影音先锋国产精品| 后入式在线免费观看60秒| 四虎免费在线观看| 国产一级片| 日日干夜夜骑| 操逼啊啊啊91| 热久日综合| 国产亚洲精品一区二区三区| 日韩精品区二区三区不卡| 2019男人的天堂| 亚洲欧美综合区自拍另类| 中文一区二区婷婷视频| 久操免费观看| 婷婷尹人大香蕉免费| 欧美色图自拍| 久久九九国产精品| 性交一区二区在线播放| ji熟女.com| 黑人天8A∨高清网站| 国产偷拍网站| 清纯唯美激情四射| 人人操人人色网| 欧美日韩性感| 熟女人妻精品一区二区视频| 区日韩亚洲乱码av电影| 国产熟女精品一区二区| 亚州精人品大香蕉| 天天肏天天干| 91天天日| 久久国产逼| 国产成自自拍在线观看| 欧美一区二区三区入口| 超碰97在线中文| 一级黄色性爱A级片| 中国熟女网站| 日韩av影片在线观看| 俺也射| www.色婷婷色综合| 男人的天堂Va| 欧美嗯啊……在线观看视频免费| 日本一区二区亚洲综合| 第四色色综合91| 日本性爱欧美性爱| 人妻素股| 99热免费| 亚洲欧美日韩免费观看| 大香网伊人久久综合网eew| 黄色激情电影在线观看| 久热大香蕉网站| 一起草精品人妻| 天美传媒AV在线播放| 日本三级人妻a人妻一在线| A级国产欧美激情在线| 情色五月天久久久| 美中日韩无码| 96麻豆精品一区二区三区| 禁止观看美女黄| 免费1级a做爰片观看| 操少妞在线视频| 日产狠狠干| 91久久免费视频互動交流| 60秒免费小视频| 久久丁香五月婷婷| 亚洲av综合伊人久久| 亚洲宗合网| 骚逼高潮久久精品| 欧美日韩另类在线播放| 人人妻人人色一区二区三区| 偷拍欧美激情| 人妻系列无码专区中文有码| 亚洲色婷婷综合久久久久中文| 精品网站9999| 免费操逼视频下载| 日本成人在线不卡一区二区三区 | 男人的天堂在线有码| 欧美1区二区三区公司| 久久熟女嫩草成人片免费| 日本一区三级韩国| 日操粉逼逼| 亚洲精品国语在线播放| 天天操熟妇| 国产美脚女优尤物在线观看| 大屁股xxxxx| 日婷婷| 亚洲性高潮| 国产一区二区三区,在线观看观看 五月开心久久AV官网 | 综合自拍| 97频视在线| 欧美熟爽综合| 黄片在线免费在线观看| 亚洲伊人a线观看视频| 东京热综合久久一区二区| 好舒服视频| 一牛影视久久久一区二区三区| 亚洲一本大道中文字幕无码在线| 91视频伊人| 欧美色性情| 激情文学小说一区二区 | 丁香六月天| 欧美东京热精品A∨| 国产精品分类在线观看| 人妻欧美| 精品国产乱码久久久| 超碰久在线天天做| 日韩78m视频| 国产日韩精品一区二区三区| julia高潮后不停追击中出| 少妇干B| 国产成人午夜视频网址| 欧美一级黄色免费专区| 一区二区中文| 欧美色青| 少妇一区二区三区| 伊人网高清| 天天综合网在线91| 蜜臀99久久精品久久久久久| 蜜乳av一区二区三区| 青青草字幕AV| 操逼999| 97一区二压| 色娱乐色呦呦夜夜夜夜av| 97内射偷拍| 激情露脸爱| 日韩内射视频| 日韩AV中文字幕电影| 91天天日| 中文久久一区| 日韩国产十八禁| 日韩三级在线观看mp4| 亚洲精品一区二区三区新线路| 熟妇色99| 亚洲人妻久久| 国产一区二区二区按摩精品啪视频| 亚洲情色 欧美| 国产97在线 | 亚洲| 9999久久久| 日韩性爱长视频免费| 久久久96| 黄片免费视频2019| 亚洲av影音先锋| A片三级无码| 九九久久综合| 欧美日韩丝袜| 精品人妻夜夜草| 97bbn| 骚妻少妇精品性色无码四色A V| 欧美黑人168页欧美黑人167| 超碰在线日韩一区| 日韩超碰97| 日本孕妇一区二区视频操逼免费看 | 亚洲综合在线91| 美女网站91| 日产操逼| 高清成年美女黄网站免费大全| 天天天天天天天天天天干美女| av天堂手机版追回| 黄污污污污| 躁躁日曰躁2020| 国产丸一视频| 色妺妺AⅤ| 亚洲欧美精品国产一区二区| 国产精品久久久久无码AV会牛| 亚洲 日本 一 二 三| 粘花网06av视频| 999熟女精品| 福利视频网站| 天天搞在线综合网| 可以免费观看的AV| 妇人噜噜| 91精品人妻一区二区三区蜜桃| 欧美18 在线观看| 国产一级黄色片在线观看 | 日本操BAV| 成 人 影视 一区 二区 三区 四区| av一区二区三区四区五区久草臀| 亚洲丝袜二区在线| 色在线综合| 婷婷五月综合在线| 男人的天堂欧美| 精品人妻一区二区三区四区| 天天干天天日天天射黄色片| 欧美91网| 人妻啪| 啊啊啊好爽快点啊啊啊嗯嗯| 中文字幕综合人妻| 国产精品视屏| av天堂手机版追回| 精品十三区| 91熟女丨91老女人| 亚洲av影院在线观看| 99r九九| 无码二级三级| 激情抓乳插进去啪啪啪日韩| 97WW精品| 国产中文字幕在线| 精品毛片av一区二区| 日本免费中文一区二区三区四区| 亚州熟妇精品| 亚洲人妻中文在线视频| 日本福利社| 亚洲脚交| 中文字幕一区二区韩| 国产久久视频| 欧美不在线| 国模精品一区二区三区苹果色戒| 99色日| 国产午夜精品理论片一二三区区| 在线另类| 91插B网站| 成人免费福利网站国产| 欧美青青视频| 色欲三区| 欧美大香蕉97| 久久亚洲中文字幕视频| 日本有码久久| 亚洲丝袜诱惑| 伊人成人中文字幕久久网| 欧洲一区二区三区四区在线观看| 九九综合久久中文字幕| 亚洲色图a| 三级日韩一区二区三区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲AO在线| 91少妇| 91蜜臀在线久久久久| 熟女精品日韩一区二区三区| 色婷婷久久| 天天色综合影视网| 一区二区三区机械有限公司| 亚洲精品97久久中文字幕| 国产精品探花在线| 麻豆区久久久久亚| 国产精品无码AV网站| 国产精品天干天干综合网麻豆| 日韩操p| 97欧美精品综合| 操逼逼一区视频| 天天综合网1| 97在线观看播放视频| 99热 按摩 日韩| 3P乱轮视频| 中文字幕一品色图| 欧美色婷婷| 亚洲高清自拍| 一区二区 日韩 欧美 国产 传媒| 操操逼视频| 97超级色碰碰| 久操热| 久久超碰com| 欧洲中文字幕| 黄色在线网站| 久射吧| 9久超碰| 日韩啊V| 97在线资源| 日本久久天堂| 2019天天干| 撸撸成人在线视频| 天天干人妇| 98久久| 熟女网站最新| 日本人妻A片成人免费看片| 天天色欧美| 99精品热| 色99在线| av在线播放国产一区| 日韩有码回春沙龙第一页| 性爱久久| 国产日韩欧美操逼视频| 亚洲色婷婷综合久久一区二区三区| 熟妇熟女视频一区二区三区| 综合av社区| 亚洲,欧美,综合网| 久久久9品一区二区三区| 成人aⅴ一区二区三区| 亚洲高清色综合| 欧美白嫩在线放| 精品超碰国产| 亚洲日韩视频二区| 风韵犹存大大大大香蕉 | 五月婷婷五月天| 国产兽交视频在线播放| 91精品国产长腿丝袜美女| 色综合一区二区三巨| 制度丝袜99| 在线观看中文字幕| 插入粉嫩少妇视频| 精品国产网站| 一级性爱aaaa| 国产av强奸美女| 欧美黄业| 欧美最婬乱婬爆婬牲视频| 污到发麻的视频 国产| 翔田千里av一区二区三区| 天天射天天| 蜜臀久久久99久久久久| 91劲爆| 久久伊人青青草| 激激五月| 五月天久久久| 十八禁成人网站在线观看| 2017av无码免费无线播| 中文字幕青青草| 免费超碰97久久| 人人摸人人干| 国产少妇与亚洲av| 亚洲欧美精品福利在线| 国产网红精品| 欧美一区二区一级岛国大片| 色香av| 黄页网站成人免费| 日韩精品人妻中文字有码在线| 亚洲AV无码天美传媒一区| 91超级碰碰| 强奸a片网| 九九久久一区二区伦理| 人妻一区二区三区视频| 秋霞Av理论一级在线| av2014 日韩在线中文字幕| 欧美天堂超碰97| 久久曰曰| 啊啊啊在线观看免费视频| 日本久操视频| 丝袜夫妻自拍| 亚洲色图久久成人| 九九九九久久久| 婷婷99狠狠| 开心五月深爱五月| 五月天婷婷成人网| 色色色五月婷婷| 激情四射五月天| 国产激情综合| 五月天激情小说| a久久| 国产在线76页| 美国美女AV在线| 91亚洲黑人| 欧美黑人XXXⅩ高潮交| 97九色人妻| 精品人妻一区二区三区-国产精品| 欧美精品四区| 午夜天天碰综合视频| 久操视频免费在线观看| caopeng97| 歐美一級亂黃99在綫精品| 99啪啪视频| 91国产大片| 久久综合久色欧美综合狠狠| 啊啊啊啊在线播放| 97中文字幕一区| 国产美女自拍视频| 色婷婷一区二区三区久久| 91免费看一区二区三区| 懂色中文一区二区三区| 久久国产性爱| 强免费黄色网址| 丝袜AV一二三区| 好吊色一区| 97热视频在线观看| 夜夜骑日日| 久久97超碰| 欧美一二三级精品在线| 日韩久久.一级黄色片| 91人妻Pr| 97视频在线免费看| m欧洲一级午老| 4虎在线视频| 九九九999久久久网站| 亚洲色图欧美一区二区不卡| 午夜视频久久久久一区| 久久99午夜精品一区人妻| 激情五月综合网| ,国产乱人伦精品一区二区三区| 性色国产东北露脸精品视频| AV色五月| 久久天堂| 欧美,日韩,亚洲视频| 99热综合| 久噜噜| 嗯嗯啊啊啊好爽| 无码不卡八戒| 国产精品青草综合久久| 一区麻豆 高清中文字幕| 五十路人妻在线| 久久69| 大香蕉免费乱伦视频| 亚洲国产欧美日韩人妻日中文| 久操在97| 国产精品剧情| 国产精品无码av嫩草| 91大学精品激情戏| 一区二区三区色综合| 色欧洲| 天堂中文资源在线bt| 99999久久久久9国产精品| 国产精品在线一区二区| 日韩肏逼视频| 欧美黄色大香蕉一区二区| 欧美狠狠弄| 91 刺激在线| 在线情色电影 91大 | 欧日a| 国产精品欧美激在线| 亚洲丝袜少妇在线| 熟女人妇一区二区三区| 97综合在线观看| 少妇激情一区二区三区视频| 亚洲精品天堂久久A∨51成人漫| 黄色污污污污污污网站| 97视频免费在线| 18禁中文字幕| 丝袜狠狠草尤物人妻av91| 亚洲极品| 久久成人国产| 日本999精品视频| 亚洲天堂久久久久久粉红视频| 伊人色综合网电影| 超碰中文字幕人妻草一区| av中亚| 九九Av| 免费精品AB| 一级黄色性爱A级片| 蜜臀久久在线视频| 欧美成人一级麻豆| 91欧美高清| 久久蜜桃一区二区| wwwcaobibi| 热久久无毒不卡| 日韩av一级黄片| 久久综合久色欧美综合狠狠| 偷拍三区| 亚洲男人的天堂AV| 国产粉嫩蜜臀av一区二区三区| 国产精品一二三免费网站| 78m啪啪啪| 五月丁香狠狠爱| 偷偷人人精品女女久久| 成人综合久久精品色婷婷| 蜜桃臀一区二区aV| 国产精品一二三在线看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲成?V人片在线观看福利| 亚洲偷91色| 亚欧无码在线| 丝袜色综合| 亚洲欧美日韩精品久久久一区二区| 91色色综合| 无码人妻丰满热妇又大又粗| 北野未奈加勒比av| 国产 亚洲 丝袜 制服| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久99草| 26uuu国产成人综合| 久久华人网| 精品婷婷| 久久久久九九九| 97人人中文网| 免费一级性爱久久| 裸体美女久久久| 人人干人人操人人..com| 久久久久久中文| 免费观看欧美日韩操逼视频 | 久久精品电影| 午夜免费福利视频一区| 9久久精品| 色爱欲亚洲| 成人八戒网站| 中文字幕1区2区| 97久久精品亚洲| 成年人网站在线免费观看| 97日视频| 亚洲国产激情国产av| 久久东京热久久| 91色黑人少妇| 日韩国产乱子伦App| 超碰久久.com| 91美女视屏| av无码精品久久久久| 日本幼女18+| 国产日韩精品一区二区三区| 免费无码国产精品v片在线观看| 丝袜天堂网| 淫淫总合网| 国产亚洲精品美女久久久久久2021| 九九九九免费视频| 99热只有| 久久久久久久久久久免费精品| 欧洲亚洲人人爽爽视频| 色婷婷五月天| 欧美激情另类一区二区| 新怡红院| 人人综合| 午夜天堂啪啪| 色y情视频免费看| 99草精| 久久偷拍人| 久久久中文| 日本欧美韩国国产在线| 91亚洲最新在线| 九草在线大香蕉| 日本福利社| 淫荡熟女乱伦网| 精品国产Av无码久久久伦古装 | 色妺妺在线视频| AV免费在线播放一区| 欧美激情综合网| 欧美人妻熟女在线| 啊啊好多水| 吻戏激情性巴克| 亚洲蜜桃V妇女| 国产精品久久久久久久无码AV | 亚洲www91| 欧美色图天堂在线| 另类小色呦| 91精品国产91久久福利| 99少妇内射| 久久妇| 99re9这里只有精品| 日韩AV一区二区三区四四| 精品v日韩欧美国产| 精品国产Av无码久久久亚洲| 亚洲天堂资源在线| 中文字幕伊人| 亚洲第91页| 麻豆久久久久久久久丝袜| 亚洲色久| 亚洲中文日韩精品| 操逼片国产| 国产黄色在线播放观看| 色噜噜狠狠色综无码久久合欧美| 97视频免费在线| 囯产精品强| 怡春苑东京热| 男人天堂久久日韩| 欧美日韩情色一区二区| 色综合99| 久久久精品国产亚洲AV无码| 日韩AV无码中文一区二区| 日韩成人在线性爱视频| 东京热一区二区中文字幕| 国产精品久久久久久久久久久久久久| 亚洲综合 欧美| 国产欧美成人精品| 青青草色情网站视频| 嗯嗯啊啊用力视频免费| 91N五十路| 神马视频久久久久久| 亚洲综合97中文网| 国产人妻精品久久久一区二区三区| 色丁香久久| 国产高潮AA片免费看| 国产精品久久久鸭无码的功能| 亚洲情色中文字幕一区| 久久九九视频九九视频| 精品国产一区二区三区香蕉欧美| 无码高清少妇久久| 日韩欧美操逼xxx| 日本色色视频网站| 8x福利精品第一福利视频导航| 国产精品免费1区2区视频| 自拍偷拍 日韩欧美| 成人26uuu| heyZO天然素人无码AⅤ专区| 亚洲第一页色网| 日本在线播放不卡一区| 嫖老熟女A片一二三区| 中国东北熟女老太婆内谢| 国产精品久久久久中文字幕| 国产一区二区欧美日本| 亚洲色图亚洲无码强奸乱伦| 婷婷亚洲综合| 人妻久久久| 高清不卡视频| 国产传媒日本欧美专区| 色综和网| 玖玖爱伊人玖玖爱| 四虎影视国产精品| 欧美综合第一页| 国产呦精品系列在线观看| 日本中文字幕不卡视频| 色就色综合| www.色婷婷色综合| 熟妇在线视频一区二区| 中日无幕一二三四区| 国内操逼视频二区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 一块操欧美性爱| 天天综合色电影| 爱爱动态试试看6 0秒| 狠狠躁天天躁日日躁97| 久区视频| 伊人网免费视频| 国产色精品午夜大片| 激情综合网激情五月天| 乱理日韩中文| 久久97超碰香蕉| 天天综合中文字幕 91| 69av一区二区三区| a v网站在线播放| 日韩精品一二三四| 久久国产精品熟女人妻| 午夜啊啊| 老子午夜伦不卡影院| 国产热RE99久久6国产精品首 | 国模精品一区二区三区苹果色戒|