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

運維:終于不用再背著數萬實例的Redis集群了!

運維 系統運維 Redis
小米的Redis使用規模很大,現在有數萬個實例,并且每天有百萬億次的訪問頻率,支撐了幾乎所有的產品線和生態鏈公司。

 背景

小米的Redis使用規模很大,現在有數萬個實例,并且每天有百萬億次的訪問頻率,支撐了幾乎所有的產品線和生態鏈公司。之前所有的Redis都部署在物理機上,也沒有做資源隔離,給管理治理帶來了很大的困難。我們的運維人員工作壓力很大,機器宕機網絡抖動導致的Redis節點下線都經常需要人工介入處理。由于沒有做CPU的資源隔離,slave節點打RDB或者由于流量突增導致節點QPS升高造成的節點CPU使用率升高,都可能對本集群或其他集群的節點造成影響,導致無法預測的時延增加。

Redis分片方式采用社區的Redis Cluster協議,集群自主分片。Redis Cluster帶來了一定的易用性的同時,也提高了應用開發的門檻,應用開發人員需要一定程度上了解Redis Cluster,同時需要使用智能客戶端訪問Redis Cluster。這些智能客戶端配置參數繁多,應用開發人員并無法完全掌握并設置這些參數,踩了很多坑。同時,由于智能客戶端需要做分片計算,給應用端的機器也帶來了一定的負載。

一、Why K8s

1、資源隔離

當前的Redis Cluster部署在物理機集群上,為了提高資源利用率節約成本,多業務線的Redis集群都是混布的。由于沒有做CPU的資源隔離,經常出現某Redis節點CPU使用率過高導致其他Redis集群的節點爭搶不到CPU資源引起時延抖動。因為不同的集群混布,這類問題很難快速定位,影響運維效率。K8s容器化部署可以指定 CPU request 和 CPU limit ,在提高資源利用率的同時避免了資源爭搶。

2、自動化部署

當前Redis Cluster在物理機上的部署過程十分繁瑣,需要通過查看元信息數據庫查找有空余資源的機器,手動修改很多配置文件再逐個部署節點,最后使用redis_trib工具創建集群,新集群的初始化工作經常需要一兩個小時。

K8s通過StatefulSet部署Redis集群,使用configmap管理配置文件,新集群部署時間只需要幾分鐘,大大提高了運維效率。

二、How K8s

客戶端通過LVS的VIP統一接入,通過Redis Proxy轉發服務請求到Redis Cluster集群。這里我們引入了Redis Proxy來轉發請求。

1、Redis Cluster部署方式

Redis部署為StatefulSet,作為有狀態的服務,選擇StatefulSet最為合理,可以將節點的RDB/AOF持久化到分布式存儲中。當節點重啟漂移到其他機器上時,可通過掛載的PVC(PersistentVolumeClaim)拿到原來的RDB/AOF來同步數據。

我們選擇的持久化存儲PV(PersistentVolume)是Ceph Block Service。Ceph的讀寫性能低于本地磁盤,會帶來100~200ms的讀寫時延。但由于Redis的RDB/AOF的寫出都是異步的,分布式存儲帶來的讀寫延遲對服務并沒有影響。

2、Proxy選型

開源的Redis Proxy有很多,常見的開源Redis Proxy如下:

我們希望能夠繼續使用Redis Cluster來管理Redis集群,所以Codis和Twemproxy不再考慮。redis-cluster-proxy是Redis官方在6.0版本推出的支持Redis Cluster協議的Proxy,但是目前還沒有穩定版,暫時也無法大規模應用。

備選就只有Cerberus和Predixy兩種。我們在K8s環境上對Cerberus和Predixy進行了性能測試,結果如下:

測試環境

測試工具: redis-benchmark

Proxy CPU: 2 core

Client CPU: 2 core

Redis Cluster: 3 master nodes, 1 CPU per node

測試結果

在相同workload和配置下,Predixy的最高QPS要優于Cerberus,時延也比較接近。綜合來看,Predixy比Cerberus的性能要高33%~60%,并且數據的key/value越大,Predixy優勢越明顯,所以最后我們選擇了Predixy。

為了適應業務和K8s環境,在上線前我們對Predixy做了大量的改動,增加了很多新的功能,比如動態切換后端Redis Cluster、黑白名單、異常操作審計等。

3、Proxy部署方式

Proxy作為deployment部署,無狀態輕量化,通過LB對外提供服務,很容易做到動態擴縮容。同時,我們為Proxy開發了動態切換后端Redis Cluster的功能,可實現在線添加和切換Redis Cluster。

4、Proxy自動擴縮容方式

我們使用K8s原生的HPA(Horizontal Pod Autoscaler)來實現Proxy的動態擴縮容。當Proxy所有pod的平均CPU使用率超過一定閾值時,會自動觸發擴容,HPA會將Proxy的replica數加1,之后LVS就會探測到新的Proxy pod并將一部分流量切過去。如果擴容后CPU使用率仍然超過規定的閾值,會繼續觸發擴容邏輯。但是在擴容成功5分鐘內,不論CPU使用率降到多低,都不會觸發縮容邏輯,這樣就避免了頻繁的擴縮容給集群穩定性帶來的影響。

HPA可配置集群的最少(MINPODS)和最多(MAXPODS)pod數量,集群負載再低也不會縮容到MINPODS以下數量的pods。建議客戶可以根據自己的實際業務情況來決定MINPODS和MAXPODS的值。

三、Why Proxy

1、Redis pod重啟可導致IP變化

使用Redis Cluster的Redis客戶端,都需要配置集群的部分IP和Port,用于客戶端重啟時查找Redis Cluster的入口。對于物理機集群部署的Redis節點,即便遇到實例重啟或者機器重啟,IP和Port都可以保持不變,客戶端依然能夠找到Redis Cluster的拓撲。但是部署在K8s上的Redis Cluster,pod重啟是不保證IP不變的(即便是重啟在原來的K8s node上),這樣客戶端重啟時,就可能會找不到Redis Cluster的入口。

通過在客戶端和Redis Cluster之間加上Proxy,就對客戶端屏蔽了Redis Cluster的信息,Proxy可以動態感知Redis Cluster的拓撲變化,客戶端只需要將LVS的IP:Port作為入口,請求轉發到Proxy上,即可以像使用單機版Redis一樣使用Redis Cluster集群,而不需要Redis智能客戶端。

2、Redis處理連接負載高

在6.0版本之前,Redis都是單線程處理大部分任務的。當Redis節點的連接較高時,Redis需要消耗大量的CPU資源處理這些連接,導致時延升高。有了Proxy之后,大量連接都在Proxy上,而Proxy跟Redis實例之間只保持很少的連接,這樣降低了Redis的負擔,避免了因為連接增加而導致的Redis時延升高。

3、集群遷移切換需要應用重啟

在使用過程中,隨著業務的增長,Redis集群的數據量會持續增加,當每個節點的數據量過高時,BGSAVE的時間會大大延長,降低集群的可用度。同時QPS的增加也會導致每個節點的CPU使用率增高。這都需要增加擴容集群來解決。目前Redis Cluster的橫向擴展能力不是很好,原生的slots搬移方案效率很低。新增節點后,有些客戶端比如Lettuce,會因為安全機制無法識別新節點。另外遷移時間也完全無法預估,遷移過程中遇到問題也無法回退。

當前物理機集群的擴容方案是:

  •  按需創建新集群;
  •  使用同步工具將數據從老集群同步到新集群;
  •  確認數據無誤后,跟業務溝通,重啟服務切換到新集群。

整個過程繁瑣而且風險較大,還需要業務重啟服務。

有了Proxy層,可以將后端的創建、同步和切換集群對客戶端屏蔽掉。新老集群同步完成之后,向Proxy發送命令就可以將連接換到新集群,可以實現對客戶端完全無感知的集群擴縮容。

4、數據安全風險

Redis是通過AUTH來實現鑒權操作,客戶端直連Redis,密碼還是需要在客戶端保存。而使用Proxy,客戶端只需要通過Proxy的密碼來訪問Proxy,不需要知道Redis的密碼。Proxy還限制了FLUSHDB、CONFIG SET等操作,避免了客戶誤操作清空數據或修改Redis配置,大大提高了系統的安全性。

同時,Redis并沒有提供審計功能。我們在Proxy上增加了高危操作的日志保存功能,可以在不影響整體性能的前提下提供審計能力。

四、Proxy帶來的問題

1、多一跳帶來的時延

Proxy在客戶端和Redis實例之間,客戶端訪問Redis數據需要先訪問Proxy再訪問Redis節點,多了一跳,會導致時延增加。經測試,多一跳會增加0.2~0.3ms的時延,不過通常這對業務來說是可以接受的。

2、Pod漂移造成IP變化

Proxy在K8s上是通過deployment部署的,一樣會有節點重啟導致IP變化的問題。我們K8s的LB方案可以感知到Proxy的IP變化,動態的將LVS的流量切到重啟后的Proxy上。

3、LVS帶來的時延

LVS也會帶來時延,如下表中的測試,不同的數據長度get/set操作,LVS引入的時延小于0.1ms。

五、K8s帶來的好處

1、部署方便

通過運維平臺調用K8s API部署集群,大大提高了運維效率。

2、解決端口管理問題

目前小米在物理機上部署Redis實例是通過端口來區分的,并且下線的端口不能復用,也就是說整個公司每個Redis實例都有唯一的端口號。目前65535個端口已經用到了40000多,按現在的業務發展速度,將在兩年內耗盡端口資源。而通過K8s部署,每一個Redis實例對應的K8s pod都有獨立的IP,不存在端口耗盡問題和復雜的管理問題。

3、降低客戶使用門檻

對應用來說,只需要使用單機版的非智能客戶端連接VIP,降低了使用門檻,避免了繁瑣復雜的參數設置。同時由于VIP和端口是固定不變的,應用程序不再需要自己管理Redis Cluster的拓撲。

4、提高客戶端性能

使用非智能客戶端還可以降低客戶端的負載,因為智能客戶端需要在客戶端對key進行hash以確定將請求發送到哪個Redis節點,在QPS比較高的情況下會消耗客戶端機器的CPU資源。當然,為了降低客戶端應用遷移的難度,我們讓Proxy也支持了智能客戶端協議。

5、動態升級和擴縮容

Proxy支持動態添加切換Redis Cluster的功能,這樣Redis Cluster的集群升級和擴容切換過程可以做到對業務端完全無感知。例如,業務方使用30個節點的Redis Cluster集群,由于業務量的增加,數據量和QPS都增長的很快,需要將集群規模擴容兩倍。如果在原有的物理機上擴容,需要以下過程:

  •  協調資源,部署60個節點的新集群;
  •  手動配置遷移工具,將當前集群的數據遷移到新集群;
  •  驗證數據無誤后,通知業務方修改Redis Cluster連接池拓撲,重啟服務。

雖然Redis Cluster支持在線擴容,但是擴容過程中slots搬移會對線上業務造成影響,同時遷移時間不可控,所以現階段很少采用這種方式,只有在資源嚴重不足時才會偶爾使用。

在新的K8s架構下,遷移過程如下:

  •  通過API接口一鍵創建60個節點的新集群;
  •  同樣通過API接口一鍵創建集群同步工具,將數據遷移到新集群;
  •  驗證數據無誤后,向Proxy發送命令添加新集群信息并完成切換。

整個過程對業務端完全無感知。

集群升級也很方便:如果業務方能接受一定的延遲毛刺,可以在低峰時通過StatefulSet滾動升級的方式來實現;如果業務對延遲有要求,可以通過創建新集群遷移數據的方式來實現。

6、提高服務穩定性和資源利用率

通過K8s自帶的資源隔離能力,實現和其他不同類型應用混部,在提高資源利用率的同時,也能保證服務穩定性。

六、遇到的問題

1、Pod重啟導致數據丟失

K8s的pod碰到問題重啟時,由于重啟速度過快,會在Redis Cluster集群發現并切主前將pod重啟。如果pod上的Redis是slave,不會造成什么影響。但如果Redis是master,并且沒有AOF,重啟后原先內存的數據都被清空,Redis會reload之前存儲的RDB文件,但是RDB文件并不是實時的數據。之后slave也會跟著把自己的數據同步成之前的RDB文件中的數據鏡像,會造成部分數據丟失。

StatefulSet是有狀態服務,部署的pod名是固定格式(StatefulSet名+編號)。我們在初始化Redis Cluster時,將相鄰編號的pod設置為主從關系。在重啟pod時,通過pod名確定它的slave,在重啟pod前向從節點發送cluster failover命令,強制將活著的從節點切主。這樣在重啟后,該節點會自動以從節點方式加入集群。

LVS映射時延

Proxy的pod是通過LVS實現負載均衡的,LVS對后端IP:Port的映射生效有一定的時延,Proxy節點突然下線會導致部分連接丟失。為減少Proxy運維對業務造成影響,我們在Proxy的deployment模板中增加了如下選項: 

  1. lifecycle:  
  2.   preStop: 
  3.      exec:  
  4.       command:  
  5.       - sleep  
  6.       - "171" 

對于正常的Proxy pod下線,例如集群縮容、滾動更新Proxy版本以及其它K8s可控的pod下線,在pod下線前會發消息給LVS并等待171秒,這段時間足夠LVS將這個pod的流量逐漸切到其他pod上,對業務無感知。

2、K8s StatefulSet無法滿足Redis Cluster部署要求

K8s原生的StatefulSet不能完全滿足Redis Cluster部署的要求:

1)Redis Cluster不允許同為主備關系的節點部署在同一臺機器上。這個很好理解,如果該機器宕機,會導致這個數據分片不可用。

2)Redis Cluster不允許集群超過一半的主節點失效,因為如果超過一半主節點失效,就無法有足夠的節點投票來滿足gossip協議的要求。因為Redis Cluster的主備是可能隨時切換的,我們無法避免同一個機器上的所有節點都是主節點這種情況,所以在部署時不能允許集群中超過1/4的節點部署在同一臺機器上。

為了滿足上面的要求,原生StatefulSet可以通過 anti-affinity 功能來保證相同集群在同一臺機器上只部署一個節點,但是這樣機器利用率很低。

因此我們開發了基于StatefulSet的CRD:RedisStatefulSet,會采用多種策略部署Redis節點。同時,還在RedisStatefulSet中加入了一些Redis管理功能。這些我們將會在其他文章中來繼續詳細探討。

七、總結

目前集團內部已經有多個業務的數十個Redis集群部署到了K8s上并運行了半年多。得益于K8s的快速部署和故障遷移能力,這些集群的運維工作量比物理機上的Redis集群低很多,穩定性也得到了充分的驗證。

在運維過程中我們也遇到了不少問題,文章中提到的很多功能都是根據實際需求提煉出來的。目前還是有很多問題需要在后續逐步解決,以進一步提高資源利用率和服務質量。

1、混布 Vs. 獨立部署

物理機的Redis實例是獨立部署的,單臺物理機上部署的都是Redis實例,這樣有利于管理,但是資源利用率并不高。Redis實例使用了CPU、內存和網絡IO,但存儲空間基本都是浪費的。在K8s上部署Redis實例,其所在的機器上可能也會部署其他任意類型的服務,這樣雖然可以提高機器的利用率,但是對于Redis這樣的可用性和時延要求都很高的服務來說,如果因為機器內存不足而被驅逐,是不能接受的。這就需要運維人員監控所有部署了Redis實例的機器內存,一旦內存不足,就切主和遷移節點,但這樣又增加運維的工作量。

同時,如果混部的其他服務是網絡吞吐很高的應用,也可能對Redis服務造成影響。雖然K8s的anti-affinity功能可以將Redis實例有選擇地部署到沒有這類應用的機器上,但是在機器資源緊張時,還是無法避免這種情況。

2、Redis Cluster管理

Redis Cluster是一個P2P無中心節點的集群架構,依靠gossip協議傳播協同自動化修復集群的狀態,節點上下線和網絡問題都可能導致Redis Cluster的部分節點狀態出現問題,例如會在集群拓撲中出現failed或者handshake狀態的節點,甚至腦裂。對這種異常狀態,我們可以在Redis CRD上增加更多的功能來逐步解決,進一步提高運維效率。

3、審計與安全

Redis本身只提供了Auth密碼認證保護功能,沒有權限管理,安全性較差。通過Proxy,我們可以通過密碼區分客戶端類型,管理員和普通用戶使用不同的密碼登錄,可執行的操作權限也不同,這樣就可以實現權限管理和操作審計等功能。

4、支持多Redis Cluster

單個Redis Cluster由于gossip協議的限制,橫向擴展能力有限,集群規模在300個節點時,節點選主這類拓撲變更的效率就明顯降低。同時,由于單個Redis實例的容量不宜過高,單個Redis Cluster也很難支持TB以上的數據規模。通過Proxy,我們可以對key做邏輯分片,這樣單個Proxy就可以接入多個Redis Cluster,從客戶端的視角來看,就相當于接入了一個能夠支持更大數據規模的Redis集群。

最后,像Redis這種有狀態服務的容器化部署在國內大廠都還沒有非常成熟的經驗,小米云平臺也是在摸索中逐步完善。目前我們新增集群已經大部分部署在K8s上,更計劃在一到兩年內將集團內大部分的物理機Redis集群都遷移到K8s上。這樣就可以有效地降低運維人員的負擔,在不顯著增加運維人員的同時維護更多的Redis集群。 

 

責任編輯:龐桂玉 來源: DBAplus社群
相關推薦

2018-06-11 20:37:39

華為雙鴨山市人民醫院醫療信息系統平臺

2022-03-02 15:10:31

DateJavaScript前端

2025-03-06 10:33:04

2024-01-17 12:06:52

AI論文

2018-09-21 09:15:39

2023-08-18 10:14:27

2018-09-21 13:48:14

IT運維

2019-05-15 08:29:56

Web面板運維

2015-06-10 22:26:26

WPSHTML5

2017-01-17 10:25:06

HBase集群運維

2020-05-08 08:01:11

多線程Redis處理

2019-03-15 10:13:10

運維云計算運營

2023-12-07 08:46:41

Kafka服務問題網絡問題

2022-04-14 11:09:17

開源項目搜索

2020-12-18 08:38:22

開源前端mitojs

2013-03-29 09:15:08

IT運維運維人員運維工程師

2018-02-07 09:41:11

運維工程師云服務DevOps

2020-03-03 14:35:34

LinuxRedis命令

2024-04-22 08:15:50

數據庫運維工具
點贊
收藏

51CTO技術棧公眾號

国产美女精品视频国产| 国产熟女一区二区| free性护士videos欧美| 99精品欧美一区二区三区综合在线| 久久久之久亚州精品露出| 亚洲人人夜夜澡人人爽| 亚洲福利影视| 精品国产乱码久久久久久天美 | 青青草综合视频| 天堂中文字幕av| 人人爽香蕉精品| 欧美丰满少妇xxxx| 99精品全国免费观看| 中文字幕日韩在线| 欧美日韩日日摸| 天天夜碰日日摸日日澡性色av| 2019中文字幕在线视频| a亚洲天堂av| 亚洲一区二区三区成人在线视频精品| 精品国产乱码一区二区| 1024精品久久久久久久久| 日韩精品丝袜在线| 天堂va欧美va亚洲va老司机| 99只有精品| 五月天久久比比资源色| 乱熟女高潮一区二区在线| 99视频在线观看地址| 99久久精品久久久久久清纯| 91亚洲精品视频| 中文字幕日产av| 亚洲福利一区| 久久国产加勒比精品无码| 全黄一级裸体片| 亚洲成人偷拍| 日韩一区二区在线观看视频| 污视频免费在线观看网站| 性欧美又大又长又硬| 99热这里只有精品8| 欧洲专线二区三区| 中文成人综合网| 99在线首页视频| 少妇无套高潮一二三区| 福利一区二区免费视频| 色综合久久久久久久久| 97国产在线播放| 麻豆福利在线观看| 久久久久影视| 久久久国产精华| 国产精品久久久久久久app| 亚洲色精品三区二区一区| 亚洲男同gay网站| 自拍av一区二区三区| 日本视频久久久| 999福利视频| hd国产人妖ts另类视频| 免费一级欧美片在线播放| 久久精品福利视频| 国产3p露脸普通话对白| 在线视频91p| 国产精品a久久久久| 日韩精品在线视频观看| 亚洲国产午夜伦理片大全在线观看网站 | 国产一区二区三区黄网站| 手机亚洲手机国产手机日韩| 国产精品v一区二区三区| 久久精品国产一区二区| 欧美aaa在线| 欧洲av一区二区嗯嗯嗯啊| 欧美性生活久久| 欧美黄网免费在线观看| 日本黄色录像片| 电影一区二区在线观看| 欧美日韩精品一区二区三区蜜桃| 黄色片视频在线| 欧洲精品久久久久毛片完整版| 欧美美女一区二区在线观看| 久热免费在线观看| 国产成人a视频高清在线观看| 欧美精品少妇一区二区三区| 少妇精品无码一区二区| 亚洲福利网站| 中文字幕日韩免费视频| www色aa色aawww| 国产尤物精品| 国产99视频在线观看| 7777久久亚洲中文字幕| 成人教育av在线| 欧美另类视频在线| 大片免费在线看视频| 亚洲香肠在线观看| 18岁视频在线观看| 国产精品视频一区二区三区| 亚洲第一精品夜夜躁人人爽| 免费看日本黄色片| 国产精品a久久久久| 日本一区二区在线播放| 国产丝袜在线视频| 久久美女高清视频| 日本精品福利视频| 色老太综合网| 欧美videofree性高清杂交| 女人被狂躁c到高潮| 天天综合亚洲| 8x拔播拔播x8国产精品| 国产乱淫a∨片免费视频| 99国产精品久久| youjizz.com亚洲| 蜜桃av在线| 欧美成人综合网站| 国产馆在线观看| 亚洲精品护士| 成人激情视频在线播放| 全色精品综合影院| 亚洲最新在线观看| 超碰在线播放91| 天天操综合520| 欧美精品在线免费| 精品国产青草久久久久96| 成人一级视频在线观看| 免费在线观看污污视频| 欧洲av一区二区| 亚洲精品国产免费| 一区二区三区免费高清视频| 狠狠狠色丁香婷婷综合激情| 色综合久久久久久久久五月| 日本不卡网站| 精品va天堂亚洲国产| 中国毛片直接看| 免费高清成人在线| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 天天干在线影院| 牛牛精品成人免费视频| 欧美另类在线观看| 夜夜骚av一区二区三区| 亚洲国产精品v| 无码无遮挡又大又爽又黄的视频| 久久超级碰碰| 久久久免费精品视频| 99热这里只有精品3| 国产精品久久久久久久裸模| 午夜免费高清视频| 精品久久久久久久| 国产精品久久久久一区二区| 欧美婷婷久久五月精品三区| 亚洲成人综合视频| 国产一级伦理片| 亚洲国产激情| 久久精精品视频| 亚洲黄色免费av| 亚洲欧美日韩中文在线| 久久久久久少妇| 久久久亚洲综合| 国产自偷自偷免费一区 | 国产一区二区三区视频在线播放 | 欧美人成网站| 国产超碰91| а_天堂中文在线| 亚洲精品720p| 日韩色图在线观看| 国产农村妇女毛片精品久久麻豆 | 免费在线不卡视频| 久久综合九色综合97婷婷| 欧美v在线观看| 一区二区美女| 国产日韩精品在线观看| 里番在线观看网站| 日韩一级视频免费观看在线| 久久97人妻无码一区二区三区| 丁香婷婷综合五月| 成人观看免费完整观看| 欧美色图在线播放| 91免费电影网站| 182在线视频观看| 亚洲精品在线不卡| 夜夜躁很很躁日日躁麻豆| 一区二区在线观看免费| 国产激情第一页| 日韩成人一级片| 欧美另类videos| 思热99re视热频这里只精品| 国产精品久久一| 中文字幕伦理免费在线视频| 亚洲国产另类 国产精品国产免费| 久久久久久91亚洲精品中文字幕| 久久久无码精品亚洲日韩按摩| 日本三级黄色网址| 在线成人亚洲| 亚洲精品乱码久久久久久蜜桃91 | 欧美另类一区| 欧美三级一区| 国产999精品久久久| 99热国产在线| 国产小视频国产精品| 国产免费av观看| 欧美性xxxxx极品| 日韩激情综合网| 337p粉嫩大胆噜噜噜噜噜91av| 无尽裸体动漫2d在线观看| 亚洲激情网址| 欧美日韩视频免费在线观看| 亚洲第一二三区| 97影院在线午夜| 成人四虎影院| 欧美在线视频导航| 欧美videosex性欧美黑吊| 最近2019好看的中文字幕免费| 视频二区在线观看| 日韩一级视频免费观看在线| 凹凸精品一区二区三区| 性感美女极品91精品| 日韩欧美123区| 国产片一区二区| 亚洲精品乱码久久| 国产精品1区2区3区在线观看| 男人天堂成人在线| 亚洲精品字幕| 欧美视频在线第一页| 日韩在线视屏| 欧美成人蜜桃| 日本午夜精品久久久| 国产精品亚洲第一区| 性爽视频在线| 2021国产精品视频| 美女av在线免费看| 性色av一区二区三区| 污的网站在线观看| 欧美成人免费一级人片100| 日韩美女网站| 伊人伊成久久人综合网小说 | 2023国产精品| 性久久久久久久久久久| 国产aⅴ综合色| 涩多多在线观看| 麻豆精品一区二区av白丝在线| 国产无套粉嫩白浆内谢的出处| 99精品免费| 精品人妻少妇一区二区| 伊人久久大香线蕉av超碰演员| 国产一二三四五| 91超碰成人| 永久免费网站视频在线观看| 中文字幕乱码亚洲无线精品一区| 影音先锋亚洲视频| 性欧美69xoxoxoxo| 米仓穗香在线观看| 欧美激情视频一区二区三区免费| 日本黄网站色大片免费观看| 欧美福利网址| 久久人人爽人人爽人人av| 欧美日韩国产成人精品| 999一区二区三区| 最新亚洲视频| 久久久免费视频网站| 日韩激情中文字幕| 伊人成人222| 国产剧情在线观看一区二区| 4438x全国最大成人| 成人高清av在线| 日韩精品卡通动漫网站| 国产欧美日韩在线视频| 国产一区二区三区视频播放| 亚洲欧美一区二区三区极速播放| 青青操国产视频| 午夜久久福利影院| 日本中文字幕在线观看视频| 欧美日韩高清在线播放| 国内精品久久久久久久久久久| 欧美v日韩v国产v| 精品视频一二区| 久久人人爽亚洲精品天堂| 免费影视亚洲| 国产成人精品免高潮在线观看 | 免费欧美日韩| 欧美一级视频在线| 成人黄色网址在线观看| 中文字幕 自拍| 亚洲欧洲综合另类| 国产精品视频123| 欧美挠脚心视频网站| 亚洲精品国产手机| 亚洲天堂av在线免费| 99在线播放| 国产成人福利视频| 成人免费91| 美日韩免费视频| 亚洲欧美色图| 日本xxxxxxx免费视频| 国产精品一区二区久久不卡| 免费在线观看成年人视频| 国产精品视频免费| 日本少妇做爰全过程毛片| 欧美亚洲国产一区二区三区va| 国产女人18毛片水18精| 亚洲精品一区久久久久久| 蜜芽在线免费观看| 17婷婷久久www| 久久丁香四色| 奇米精品在线| 欧美日本精品| 在线观看岛国av| 26uuu亚洲综合色欧美| 国产极品国产极品| 色猫猫国产区一区二在线视频| 亚洲国产精品无码久久| 在线精品视频视频中文字幕| h片在线观看| 99在线国产| 欧美大人香蕉在线| 成人一级片网站| 成人sese在线| 日韩影院一区二区| 在线观看www91| 四虎影院在线播放| 日韩有码在线电影| 四虎成人在线| 久久综合入口| 亚洲高清二区| 又大又长粗又爽又黄少妇视频| 国产精品嫩草影院com| 国产三级精品三级在线观看| 亚洲а∨天堂久久精品喷水 | 亚州成人av在线| 久久在线观看| 中文字幕一区二区三区四区五区六区 | 91蝌蚪精品视频| 自拍视频一区二区三区| 日本伊人午夜精品| 成人性生交大免费看| 欧美日韩亚洲激情| 日韩在线观看视频网站| 欧美日韩成人在线播放| 激情视频亚洲| 综合视频在线观看| 久久电影网站中文字幕| 国产精品久久久久久成人| 欧美怡红院视频| 电影av在线| 国产精品视频xxxx| 欧美日韩国产一区二区三区不卡 | 精品99久久久久成人网站免费| 欧美日韩国产高清一区二区| wwwxxx在线观看| 国产精品男人的天堂| 日韩综合在线| 色婷婷.com| 亚洲天堂中文字幕| 精品久久在线观看| 久久久久久成人精品| 久久a级毛片毛片免费观看| 免费观看美女裸体网站| 91色视频在线| www.com亚洲| 中文字幕视频一区二区在线有码| 97欧美成人| 日本在线视频www色| 国产精品影音先锋| 日本少妇在线观看| 亚洲美女性生活视频| 精品无人乱码一区二区三区 | 免费在线观看成年人视频| 欧美性生交xxxxx久久久| 极品白浆推特女神在线观看 | 欧美xxxx做受欧美| ccyy激情综合| 欧美 日韩 国产一区| 欧美国产日韩a欧美在线观看| 中文字幕网址在线| 欧美剧在线观看| 色老板在线视频一区二区| 一级黄色香蕉视频| 亚洲视频一区二区在线| 韩国中文字幕hd久久精品| 欧美在线激情网| 亚洲成av人片乱码色午夜| 蜜臀aⅴ国产精品久久久国产老师 性活交片大全免费看 | 久久久7777| 蜜臀av在线播放一区二区三区 | melody高清在线观看| 亚洲www视频| 亚洲视频www| 影音先锋男人资源在线观看| 日韩午夜电影av| 中文av在线全新| 欧美一级黄色录像片| 99国产精品一区| 在线视频免费观看一区| 久久久人成影片一区二区三区观看| 亚洲午夜久久| 日本少妇一区二区三区| 色婷婷av一区二区| 性爱视频在线播放| 日本在线观看一区二区三区| 国产精品18久久久久久久网站| 免费黄色av片| 欧美黑人又粗大| 色喇叭免费久久综合网| 精品国产人妻一区二区三区| 在线成人午夜影院| 韩漫成人漫画| 久久成人福利视频|