精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MySQL高可用淺析:MySQL HA方案

數據庫 MySQL 項目管理
對于多數應用來說,MySQL都是作為最關鍵的數據存儲中心的,所以,如何讓MySQL提供HA服務,是我們不得不面對的一個問題。當master當機的時候,我們如何保證數據盡可能的不丟失,如何保證快速的獲知master當機并進行相應的故障轉移處理,都是需要我們好好思考的。

對于多數應用來說,MySQL都是作為最關鍵的數據存儲中心的,所以,如何讓MySQL提供HA服務,是我們不得不面對的一個問題。當master當機的時候,我們如何保證數據盡可能的不丟失,如何保證快速的獲知master當機并進行相應的故障轉移處理,都是需要我們好好思考的。這里,筆者將結合這段時間做的MySQL proxy以及toolsets相關工作,說說我們現階段以及后續會在項目中采用的MySQL HA方案。

 

[[133855]]

(題圖來自:comprendrechoisir.com)

 

Replication

要保證MySQL數據不丟失,replication是一個很好的解決方案,而MySQL也提供了一套強大的replication機制。只是我們需要知道,為了性能考量,replication是采用的asynchronous模式,也就是寫入的數據并不會同步更新到slave上面,如果這時候master當機,我們仍然可能會面臨數據丟失的風險。

為了解決這個問題,我們可以使用semi-synchronous replication,semi-synchronous replication的原理很簡單,當master處理完一個事務,它會等待至少一個支持semi-synchronous的slave確認收到了該事件并將其寫入relay-log之后,才會返回。這樣即使master當機,最少也有一個slave獲取到了完整的數據。

但是,semi-synchronous并不是100%的保證數據不會丟失,如果master在完成事務并將其發送給slave的時候崩潰,仍然可能造成數據丟失。只是相比于傳統的異步復制,semi-synchronous replication能極大地提升數據安全。更為重要的是,它并不慢,MHA的作者都說他們在facebook的生產環境中使用了semi-synchronous(這里),所以我覺得真心沒必要擔心它的性能問題,除非你的業務量級已經完全超越了facebook或者google。在這篇文章里面已經提到,MySQL 5.7之后已經使用了Loss-Less Semi-Synchronous replication,所以丟數據的概率已經很小了。

如果真的想完全保證數據不會丟失,現階段一個比較好的辦法就是使用gelera,一個MySQL集群解決方案,它通過同時寫三份的策略來保證數據不會丟失。筆者沒有任何使用gelera的經驗,只是知道業界已經有公司將其用于生產環境中,性能應該也不是問題。但gelera對MySQL代碼侵入性較強,可能對某些有代碼潔癖的同學來說不合適了:-)

我們還可以使用drbd來實現MySQL數據復制,MySQL官方文檔有一篇文檔有詳細介紹,但筆者并未采用這套方案,MHA的作者寫了一些采用drdb的問題,在這里,僅供參考。

在后續的項目中,筆者會優先使用semi-synchronous replication的解決方案,如果數據真的非常重要,則會考慮使用gelera。

Monitor

前面我們說了使用replication機制來保證master當機之后盡可能的數據不丟失,但是我們不能等到master當了幾分鐘才知道出現問題了。所以一套好的監控工具是必不可少的。

當master當掉之后,monitor能快速的檢測到并做后續處理,譬如郵件通知管理員,或者通知守護程序快速進行failover。

通常,對于一個服務的監控,我們采用keepalived或者heartbeat的方式,這樣當master當機之后,我們能很方便的切換到備機上面。但他們仍然不能很即時的檢測到服務不可用。筆者的公司現階段使用的是keepalived的方式,但后續筆者更傾向于使用zookeeper來解決整個MySQL集群的monitor以及failover。

對于任何一個MySQL實例,我們都有一個對應的agent程序,agent跟該MySQL實例放到同一臺機器上面,并且定時的對MySQL實例發送ping命令檢測其可用性,同時該agent通過ephemeral的方式掛載到zookeeper上面。這樣,我們可以就能知道MySQL是否當機,主要有以下幾種情況:

  1. 機器當機,這樣MySQL以及agent都會當掉,agent與zookeeper連接自然斷開
  2. MySQL當掉,agent發現ping不通,主動斷開與zookeeper的連接
  3. Agent當掉,但MySQL未當

上面三種情況,我們都可以認為MySQL機器出現了問題,并且zookeeper能夠立即感知。agent與zookeeper斷開了連接,zookeeper觸發相應的children changed事件,監控到該事件的管控服務就可以做相應的處理。譬如如果是上面前兩種情況,管控服務就能自動進行failover,但如果是第三種,則可能不做處理,等待機器上面crontab或者supersivord等相關服務自動重啟agent。

使用zookeeper的好處在于它能很方便的對整個集群進行監控,并能即時的獲取整個集群的變化信息并觸發相應的事件通知感興趣的服務,同時協調多個服務進行相關處理。而這些是keepalived或者heartbeat做不到或者做起來太麻煩的。

使用zookeeper的問題在于部署起來較為復雜,同時如果進行了failover,如何讓應用程序獲取到最新的數據庫地址也是一個比較麻煩的問題。

對于部署問題,我們要保證一個MySQL搭配一個agent,幸好這年頭有了docker,所以真心很簡單。而對于第二個數據庫地址更改的問題,其實并不是使用了zookeeper才會有的,我們可以通知應用動態更新配置信息,VIP,或者使用proxy來解決。

雖然zookeeper的好處很多,但如果你的業務不復雜,譬如只有一個master,一個slave,zookeeper可能并不是最好的選擇,沒準keepalived就夠了。

Failover

通過monitor,我們可以很方便的進行MySQL監控,同時在MySQL當機之后通知相應的服務做failover處理,假設現在有這樣的一個MySQL集群,a為master,b,c為其slave,當a當掉之后,我們需要做failover,那么我們選擇b,c中的哪一個作為新的master呢?

原則很簡單,哪一個slave擁有最近最多的原master數據,就選哪一個作為新的master。我們可以通過show slave status這個命令來獲知哪一個slave擁有最新的數據。我們只需要比較兩個關鍵字段Master_Log_File以及Read_Master_Log_Pos,這兩個值代表了slave讀取到master哪一個binlog文件的哪一個位置,binlog的索引值越大,同時pos越大,則那一個slave就是能被提升為master。這里我們不討論多個slave可能會被提升為master的情況。

在前面的例子中,假設b被提升為master了,我們需要將c重新指向新的master b來開始復制。我們通過CHANGE MASTER TO來重新設置c的master,但是我們怎么知道要從b的binlog的哪一個文件,哪一個position開始復制呢?

GTID

為了解決這一個問題,MySQL 5.6之后引入了GTID的概念,即uuid:gid,uuid為MySQL server的uuid,是全局唯一的,而gid則是一個遞增的事務id,通過這兩個東西,我們就能唯一標示一個記錄到binlog中的事務。使用GTID,我們就能非常方便的進行failover的處理。

仍然是前面的例子,假設b此時讀取到的a最后一個GTID為3E11FA47-71CA-11E1-9E33-C80AA9429562:23,而c的為3E11FA47-71CA-11E1-9E33-C80AA9429562:15,當c指向新的master b的時候,我們通過GTID就可以知道,只要在b中的binlog中找到GTID為3E11FA47-71CA-11E1-9E33-C80AA9429562:15這個event,那么c就可以從它的下一個event的位置開始復制了。雖然查找binlog的方式仍然是順序查找,稍顯低效暴力,但比起我們自己去猜測哪一個filename和position,要方便太多了。

google很早也有了一個Global Transaction ID的補丁,不過只是使用的一個遞增的整形,LedisDB就借鑒了它的思路來實現failover,只不過google貌似現在也開始逐步遷移到MariaDB上面去了。

MariaDB的GTID實現跟MySQL 5.6是不一樣的,這點其實比較麻煩,對于我的MySQL工具集go-mysql來說,意味著要寫兩套不同的代碼來處理GTID的情況了。后續是否支持MariaDB再看情況吧。

Pseudo GTID

GTID雖然是一個好東西,但是僅限于MySQL 5.6+,當前仍然有大部分的業務使用的是5.6之前的版本,筆者的公司就是5.5的,而這些數據庫至少長時間也不會升級到5.6的。所以我們仍然需要一套好的機制來選擇master binlog的filename以及position。

最初,筆者打算研究MHA的實現,它采用的是首先復制relay log來補足缺失的event的方式,但筆者不怎么信任relay log,同時加之MHA采用的是perl,一個讓我完全看不懂的語言,所以放棄了繼續研究。

幸運的是,筆者遇到了orchestrator這個項目,這真的是一個非常神奇的項目,它采用了一種Pseudo GTID的方式,核心代碼就是這個

  1. create database if not exists meta;
  2.  
  3. drop event if exists meta.create_pseudo_gtid_view_event;
  4.  
  5. delimiter ;;
  6. create event if not exists
  7. meta.create_pseudo_gtid_view_event
  8. on schedule every 10 second starts current_timestamp
  9. on completion preserve
  10. enable
  11. do
  12. begin
  13. set @pseudo_gtid := uuid();
  14. set @_create_statement := concat('create or replace view meta.pseudo_gtid_view as select \'', @pseudo_gtid, '\' as pseudo_gtid_unique_val from dual');
  15. PREPARE st FROM @_create_statement;
  16. EXECUTE st;
  17. DEALLOCATE PREPARE st;
  18. end
  19. ;;
  20.  
  21. delimiter ;
  22.  
  23. set global event_scheduler := 1;

它在MySQL上面創建了一個事件,每隔10s,就將一個uuid寫入到一個view里面,而這個是會記錄到binlog中的,雖然我們仍然不能像GTID那樣直接定位到一個event,但也能定位到一個10s的區間了,這樣我們就能在很小的一個區間里面對比兩個MySQL的binlog了。

繼續上面的例子,假設c最后一次出現uuid的位置為s1,我們在b里面找到該uuid,位置為s2,然后依次對比后續的event,如果不一致,則可能出現了問題,停止復制。當遍歷到c最后一個binlog event之后,我們就能得到此時b下一個event對應的filename以及position了,然后讓c指向這個位置開始復制。

使用Pseudo GTID需要slave打開log-slave-update的選項,考慮到GTID也必須打開該選項,所以個人感覺完全可以接受。

后續,筆者自己實現的failover工具,將會采用這種Pseudo GTID的方式實現。

在《MySQL High Availability》這本書中,作者使用了另一種GTID的做法,每次commit的時候,需要在一個表里面記錄gtid,然后就通過這個gtid來找到對應的位置信息,只是這種方式需要業務MySQL客戶端的支持,筆者不很喜歡,就不采用了。

后記

MySQL HA一直是一個水比較深的領域,筆者僅僅列出了一些最近研究的東西,有些相關工具會盡量在go-mysql中實現。

更新

經過一段時間的思考與研究,筆者又有了很多心得與收獲,設計的MySQL HA跟先前有了很多不一樣的地方。后來發現,自己設計的這套HA方案,跟facebook這篇文章幾乎一樣,加之最近跟facebook的人聊天聽到他們也正在大力實施,所以感覺自己方向是對了。

新的HA,我會完全擁抱GTID,比較這玩意的出現就是為了解決原先replication那一堆問題的,所以我不會考慮非GTID的低版本MySQL了。幸運的是,我們項目已經將MySQL全部升級到5.6,完全支持GTID了。

不同于fb那篇文章將mysqlbinlog改造支持semi-sync replication協議,我是將go-mysql的replication庫支持semi-sync replication協議,這樣就能實時的將MySQL的binlog同步到一臺機器上面。這可能就是我和fb方案的唯一區別了。

只同步binlog速度鐵定比原生slave要快,畢竟少了執行binlog里面event的過程了,而另外真正的slaves,我們仍然使用最原始的同步方式,不使用semi-sync replication。然后我們通過MHA監控整個集群以及進行故障轉移處理。

以前我總認為MHA不好理解,但其實這是一個非常強大的工具,而且真正看perl,發現也還是看的懂得。MHA已經被很多公司用于生產環境,經受了檢驗,直接使用絕對比自己寫一個要劃算。所以后續我也不會考慮zookeeper,考慮自己寫agent了。

責任編輯:林師授 來源: 簡書
相關推薦

2010-12-08 08:57:11

keepalivedMySQL-HA

2015-10-22 10:28:45

MySQL高可用方案

2022-09-29 15:24:15

MySQL數據庫高可用

2019-10-17 09:05:21

MySQL數據庫高可用

2017-11-03 10:08:42

OracleMySQL高可用方案

2019-08-30 13:00:12

MySQL高可用數據庫

2024-06-26 13:31:54

MySQL高可用MHA

2020-03-04 13:35:23

高可用MySQL數據庫

2019-08-12 10:48:24

MySQLMHA架構應用場景

2022-05-17 11:06:44

數據庫MySQL系統

2017-11-06 11:10:11

數據庫OracleMySQL

2018-01-12 14:20:37

數據庫MySQL高可用架構

2022-02-27 14:37:53

MySQL主備數據

2019-08-27 15:56:44

MySQL 互聯網數據庫

2025-03-31 10:40:52

2014-07-11 09:43:34

MySQL集群

2017-04-19 22:58:28

MySQL分布式數據

2017-11-03 09:40:27

數據庫MySQLMHA

2025-07-23 08:15:40

2011-03-09 08:53:02

MySQL優化集群
點贊
收藏

51CTO技術棧公眾號

久久亚洲私人国产精品va| 亚洲精品福利视频网站| 久久久久中文字幕2018| 欧美在线一级片| 色偷偷偷在线视频播放| 久久综合久久99| 国产日韩中文字幕| 久久久久亚洲天堂| 国产一区二区观看| 在线播放中文字幕一区| 成人免费观看cn| 日本国产在线| 国内国产精品久久| 午夜伦理精品一区| 美女网站视频色| 成人免费在线电影网| 一本久久a久久精品亚洲| 在线综合视频网站| 美女欧美视频在线观看免费 | 国产成人精品日本亚洲| 国产人与禽zoz0性伦| 日本国产精品| 日韩午夜激情电影| 国产美女三级视频| 成人免费高清观看| 亚洲人成人一区二区在线观看| 久久久久se| www.亚洲天堂.com| 美女网站色91| 国产不卡av在线免费观看| 久久久久97国产| 99视频精品全国免费| 亚洲欧洲国产精品| 免费看毛片的网站| 一区二区免费| 欧美剧情电影在线观看完整版免费励志电影 | 国产成人精品视频| 日本熟妇毛茸茸丰满| 久久久久久免费视频| 亚洲香蕉av在线一区二区三区| 麻豆精品国产传媒av| 亚洲伊人影院| 日韩免费成人网| 国产aⅴ爽av久久久久| 成人在线爆射| 91久久免费观看| 日韩中文字幕三区| 色资源二区在线视频| 午夜欧美在线一二页| 久久99中文字幕| heyzo高清在线| 亚洲三级在线免费观看| 日韩视频在线免费播放| 快射av在线播放一区| 国产精品嫩草久久久久| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产一二三区| 国产99精品视频| 99在线影院| 三级网站在线看| 99精品欧美一区二区三区小说| 国产一区喷水| 香蕉视频911| 久久久精品影视| 天堂一区二区三区| 亚洲成人三级| 亚洲精品国产精品乱码不99| 日韩精品手机在线观看| 韩国日本一区| 欧美视频在线观看 亚洲欧| 国产原创popny丨九色| av资源在线播放| 色综合视频一区二区三区高清| www.国产区| 色猫猫成人app| 欧美精品乱码久久久久久| 午夜免费福利网站| 日韩区一区二| 日韩三级中文字幕| 91人妻一区二区| 日本成人7777| 中文字幕日韩av| 又色又爽的视频| 香蕉视频国产精品| 久久久精品一区二区| 日韩成人毛片视频| 国产精品成人一区二区网站软件| 久久免费少妇高潮久久精品99| 天天操夜夜操视频| 日韩精品成人一区二区在线| 欧美一二三视频| 国产剧情在线视频| 精品亚洲免费视频| ts人妖另类在线| 手机看片国产1024| www.日韩精品| 亚洲第一导航| 污污片在线免费视频| 色综合久久综合| 中文字幕国产传媒| 欧美激情不卡| 亚洲激情视频在线播放| 一级黄色毛毛片| 欧美日韩一区二区三区四区在线观看| 欧美与黑人午夜性猛交久久久| 中国a一片一级一片| 大胆亚洲人体视频| 亚洲精品美女久久7777777| 国产丝袜视频在线播放| 欧美色中文字幕| av网页在线观看| 91精品国产自产拍在线观看蜜| 欧美在线精品免播放器视频| 精品久久在线观看| 国产精品―色哟哟| 日本福利视频在线| 日本伊人久久| 中文字幕欧美日韩va免费视频| 国产一级大片在线观看| 日韩电影一二三区| 国产一区二区精品免费| 黄色成人影院| 欧美日韩精品一区二区天天拍小说| 99久久免费看精品国产一区| 亚洲精品99| 国产精品稀缺呦系列在线| 无码国产精品一区二区免费16| 亚洲视频每日更新| 欧美日韩怡红院| 视频小说一区二区| 久久全国免费视频| 性生活三级视频| 亚洲图片激情小说| 午夜在线观看av| 精品视频国产| 日产日韩在线亚洲欧美| 午夜成人免费影院| 亚洲国产中文字幕| 国产精品19p| 亚洲人体av| 成人在线精品视频| 免费看美女视频在线网站| 欧美亚一区二区| 91成人破解版| 久久精品午夜| 欧美日韩免费高清| 欧美日韩大片| 国产亚洲精品成人av久久ww | 欧美裸体一区二区三区| 中文天堂资源在线| 日本成人中文字幕| 日产国产精品精品a∨| 一区一区三区| 亚洲男人天堂2024| 国产一级免费视频| 久久九九久精品国产免费直播| 欧美 日韩 国产一区| 日韩高清成人在线| 国产xxx69麻豆国语对白| 福利在线观看| 欧美日韩在线三区| 三级黄色在线观看| 国产一本一道久久香蕉| 国内自拍中文字幕| 久久久久麻豆v国产| 丁香花在线高清完整版视频| 日韩视频永久免费| 精品在线视频观看| 91麻豆高清视频| 精品久久久噜噜噜噜久久图片 | 日韩成人中文字幕在线观看| 天天综合天天干| 日本一区二区三区视频视频| 最新天堂中文在线| 亚洲精品97| 国产视色精品亚洲一区二区| 亚洲美女久久精品| 色哟哟亚洲精品一区二区| 国产精品久久久久久免费免熟| 亚洲丝袜精品丝袜在线| 一二三区视频在线观看| 亚洲少妇诱惑| 亚洲精品在线视频观看| crdy在线观看欧美| 久久久久久久影院| 大片免费播放在线视频| 67194成人在线观看| 国产主播在线观看| 久久久精品欧美丰满| 911av视频| 亚洲人体偷拍| 丝袜足脚交91精品| 中文字幕日韩在线| 国产黑人绿帽在线第一区| 免费在线观看av网站| 亚洲韩国日本中文字幕| 亚洲天堂免费av| 午夜电影网一区| 制服丨自拍丨欧美丨动漫丨| 成人综合婷婷国产精品久久蜜臀 | 亚洲欧美一区二区三区情侣bbw| 亚洲一区二区激情| 亚洲一二三四在线观看| 日韩在线观看视频免费| 国产一级做a爱免费视频| 91看片淫黄大片一级| 一级黄色高清视频| 久久精品九九| 国产资源在线免费观看| 成人系列视频| 久久精品ww人人做人人爽| 欧美另类激情| 2019国产精品自在线拍国产不卡| 日本不卡视频| 亚洲美女av在线| www.麻豆av| 欧美日韩国产综合草草| 国产污污视频在线观看| 亚洲人亚洲人成电影网站色| 欧美做受xxxxxⅹ性视频| 成人网在线免费视频| 成人黄色一级大片| 免费在线成人| 日韩中文字幕在线免费| 中文乱码免费一区二区三区下载| 日韩欧美在线一区二区| 日韩啪啪网站| 国产伦精品一区二区三区免| 国产成人视屏| 成人久久久久久久| 国产精品伊人| 国产精品a久久久久久| 黄视频免费在线看| 久久久久久尹人网香蕉| 大片免费在线观看| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 俺也去精品视频在线观看| 国产专区在线播放| 亚洲乱码国产乱码精品精天堂| 国产综合视频在线| 日韩精品一区二区三区四区 | 亚洲精品中字| 欧美精选一区二区三区| 欧美亚洲另类久久综合| 天堂综合网久久| 久久国产精品高清| 牛牛影视一区二区三区免费看| 国产精品成人一区二区三区| 亚洲成人影音| 国产传媒一区二区| heyzo欧美激情| 国产精品久久久久久久久久久久午夜片| 24小时成人在线视频| 成人乱色短篇合集| 国产剧情一区二区在线观看| 91日本视频在线| 精品视频在线观看网站| 91传媒视频在线观看| 精品国产亚洲一区二区三区在线 | 国产情侣自拍小视频| 91精品久久久久久蜜臀| 国产精品一级二级| 欧美一区二区三区免费观看视频 | 九九九伊在线综合永久| 国产成人一区二区三区| 国外成人福利视频| 国产一区深夜福利| 日韩精品三级| 精品国产一区二区三| 亚洲三级性片| 日韩欧美手机在线| 国产大片一区| 国产aaa免费视频| 欧美专区一区二区三区| 婷婷六月天在线| 国产精品自拍一区| 亚洲一区二区在线免费| 久久综合成人精品亚洲另类欧美 | 色一情一乱一区二区三区| 日韩成人激情视频| 成人在线观看黄色| 成年人精品视频| 国产乱码午夜在线视频| 国产999精品| 91精品一区| 韩国一区二区三区美女美女秀| 综合亚洲色图| 中文字幕中文字幕一区三区| 黄色av一区| 少妇激情一区二区三区| 国产美女主播视频一区| 亚洲色偷偷色噜噜狠狠99网| 国产视频在线观看一区二区三区| 日本精品在线免费观看| 天天色综合天天| 亚洲天堂男人网| 日韩精品高清视频| 久久日韩视频| 欧美在线视频一二三| 国产一区二区三区| 欧美日韩亚洲一区二区三区在线观看 | 日韩精品一区二区三区在线播放| 免费观看成年在线视频网站| 另类美女黄大片| 免费观看一级欧美片| 51国偷自产一区二区三区| 视频一区中文| av高清在线免费观看| 久久精品国产色蜜蜜麻豆| 白嫩情侣偷拍呻吟刺激| 中文一区在线播放| 日韩欧美a级片| 欧美精品在线一区二区三区| 欧美日韩免费做爰大片| 欧美精品在线免费| 黄色精品视频网站| 久久久久se| 一本综合精品| 香蕉久久久久久av成人| 成人免费一区二区三区在线观看| 91精品国产综合久久久蜜臀九色 | 无码人妻一区二区三区在线| 国产精品久线在线观看| 国产免费一级视频| 精品国产乱码久久久久久影片| 欧美性videos| 国产精品电影网| 全球av集中精品导航福利| www.男人天堂网| 国产一区二区按摩在线观看| 蜜桃av免费在线观看| 色一情一乱一乱一91av| 色视频免费在线观看| 久久久亚洲精品视频| 色妞ww精品视频7777| 亚洲最新在线| 美腿丝袜亚洲综合| 在线免费观看视频| 色噜噜狠狠色综合中国| 欧美日韩伦理片| 欧美在线视频观看| 亚洲人成网亚洲欧洲无码| www插插插无码视频网站| 成人免费看视频| 国产无码精品视频| 精品国内二区三区| 青草影视电视剧免费播放在线观看| 91久久精品国产91久久性色tv| 亚洲最新色图| 手机在线视频一区| 亚洲日本韩国一区| 国产欧美综合视频| 久久69精品久久久久久国产越南| 国产精品va视频| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 人妻丰满熟妇av无码区app| 26uuu精品一区二区三区四区在线| 香蕉免费毛片视频| 日韩h在线观看| 电影亚洲精品噜噜在线观看| 日韩欧美亚洲区| 加勒比av一区二区| 波多野结衣爱爱视频| 欧美tickling网站挠脚心| tube8在线hd| 欧美二区三区| 毛片av一区二区| 欧美三级免费看| 亚洲成色777777女色窝| 日韩av影片| 亚洲三区在线| 国产成人av电影在线| 成人免费看片98欧美| 亚洲色图校园春色| 亚洲精品成人一区| 2019日韩中文字幕mv| 91一区二区三区在线播放| 一二三区免费视频| 久久精品成人欧美大片| 国产96在线亚洲| aaa毛片在线观看| 136国产福利精品导航| 成人毛片视频免费看| 国产精品1234| 伊人色**天天综合婷婷| 亚洲一区二区在线免费| 欧美亚洲尤物久久| 特级毛片在线| 免费久久99精品国产自| 久草中文综合在线| 亚洲精品视频在线观看免费视频| 亚洲午夜av电影| 日韩三级av高清片| 国产视频一区二区三区在线播放| 日韩一区在线播放| 先锋av资源站| 亚洲一区二区三区在线免费观看| 国产欧美日本| 欧美另类视频在线观看| 亚洲欧美日韩一区在线|