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

Crimson:高性能,高擴展的新一代 Ceph OSD

存儲 存儲架構
Ceph 的性能要跟上硬件發展的速度一直很有挑戰的,因為 Ceph 的架構是十年前的——它對單核 CPU 性能的依賴使它無法充分利用不斷增長的 IO。

? 背景

隨著物理硬件的不斷發展,存儲軟件所使用的硬件的情況也一直在不斷變化。

一方面,內存和 IO 技術一直在快速發展,硬件的性能在極速增加。在最初設計 Ceph 的時候,通常情況下,Ceph 都是被部署到機械硬盤上,能夠提供數百 IOPS 的讀寫和數十 G 的磁盤容量。但是,目前最新的 NVMe 設備可以提供數百萬的 IOPS 讀寫,并支持 TB 級的磁盤容量。DRAM 的容量在大約20年的時間內增加了128倍。對于網絡 IO 來說,網卡設備現在能夠提供超過 400Gbps 的速度,而幾年前只有 10Gbps。

圖片

另一方面,在大約十年的時間內,CPU 頻率和 CPU 內核的單線程性能一直處于穩定的狀態,增長不明顯。相比之下邏輯核心的數量隨著晶體管規模的增加而迅速增長。

圖片

Ceph 的性能要跟上硬件發展的速度一直很有挑戰的,因為 Ceph 的架構是十年前的——它對單核 CPU 性能的依賴使它無法充分利用不斷增長的 IO。特別是,當 Ceph 對象存儲守護程序(OSD)依賴線程池來處理不同的 IO 時,跨 CPU 核心通信會產生了大量的延遲開銷。減少或消除這些開銷成本是 Crimson 項目的核心目標。

Crimson 項目使用 shared-nothing? 設計和 run-to-completion 模型來重寫 Ceph OSD,以滿足苛刻的硬件與軟件系統的擴展要求,同時也與現有的客戶端和組件兼容。

為了理解 Crimson OSD 如何針對 CPU 擴展進行重新設計的,我們比較了 傳統 OSD 和 Crimson OSD 之間的架構差異,來解釋架構怎么以及為何這樣設計。然后我們討論了 Crimson 為什么建立在 Seastar 框架之上,以及每個核心組件是如何實現擴展的。

最后,我們分享了實現這一目標的最新情況,同時還提供了一個我們最終希望達到的性能結果。

Crimson 與傳統 OSD 架構

Ceph OSD 是 Ceph 集群的一部分,主要負責通過網絡來提供對象的訪問、維護數據冗余和高可用性以及將對象持久化到本地存儲設備。作為傳統 OSD 的重寫版本,Crimson OSD 從客戶端和 OSD 的角度來看是與現有的 RADOS 協議兼容的,它提供相同的接口和功能。Messenger、OSD 服務和 ObjectStore 等 Ceph OSD 模塊化的功能沒有太大改變,但跨組件交互和內部資源管理的形式進行了大幅重構,以使用 shared-nothing 設計和自下而上的用戶空間任務調度。

傳統 OSD 的架構中,每個組件中都有線程池,針對多 CPU 核心場景下,使用共享隊列處理任務效率很低。在一個簡單的例子中,一個 PG 操作需要先由一個messenger worker 線程處理,將原始數據流組裝或解碼成一條消息,然后放入消息隊列中進行調度。之后由一個PG worker thread 來獲取消息,經過必要的處理后,將請求以事務的形式交給 ObjectStore。

事務提交后,PG 會完成操作,再次通過發送隊列和 messenger worker 線程發送回復。盡管可以通過向池中添加更多線程來將工作負載擴展到多個 CPU,但這些線程默認共享資源,因此需要鎖,這會引入爭用問題。

圖片

傳統架構的一個主要挑戰是鎖競爭開銷隨著任務數和 CPU 核數的增加而迅速擴大,在某些場景下每個鎖點都可能成為擴展瓶頸。此外,這些鎖和隊列即使在沒有爭用的情況下也會產生延遲開銷。多年來,社區在分析和優化更細粒度的資源管理和快速路徑實現以跳過隊列方面做了大量工作。未來,這類優化的成果會越來越少,可擴展性似乎會在當前的設計架構下達到了某個瓶頸。也還有其他挑戰。隨著在工作線程之間分配任務,延遲問題將隨著線程池和任務隊列而惡化。鎖可以強制上下文切換,這會使事情變得更糟。

Crimson 項目希望通過 shared-nothing? 設計和 run-to-completion 模型來解決 CPU 可擴展性問題。該設計的重點是強制每個內核或 CPU 運行一個固定線程并在用戶空間中分配非阻塞任務。因為請求以及它們的資源可以被分配到各個核心,所以它們可以在同一個核心中被處理,直到處理完成。理想情況下,我們不再需要所有的鎖和上下文切換,因為每個正在運行的非阻塞任務都使用到 CPU,一直到它完成任務。沒有其他線程可以在同一時間搶占任務。如果不需要與數據路徑中的其他分片通信,理想情況下,性能將隨著內核數量線性擴展,直到 IO 設備達到其極限。這種設計非常適合 Ceph OSD,因為在 OSD 層面,所有 IO 都已經被 PG 分片了。

圖片

雖然跨區通信不能完全消除,但那通常是用于 OSD 全局狀態的維護,而不是用于數據路徑中。這里的一個主要挑戰是,最重要的改變是對 OSD 操作的基本要求——相當一部分現有的鎖或線程代碼無法重用,需要重新設計,同時保持向后的兼容性。

重新設計需要對代碼的整體理解,以及相關的注意事項。使用 shared-nothing? 架構實現底層的one-thread-per-core和用戶空間調度是另一個挑戰。

Crimson 試圖在 Seastar 的基礎上重新設計 OSD,Seastar 是一個異步編程框架,具有滿足上述目標的所有理想特性。

Seastar Framework

Seastar 是 Crimson 項目的理想選擇,因為它不僅在 C++ 中實現了 one-thread-per-core? 的 shared-nothing 架構,而且還提供了一套全面的功能和模型,這些功能和模型已被證明在其它應用程序中對性能和擴展有效。資源默認情況下不在分片之間共享,Seastar 實現了自己的內存分配器以進行無鎖分配。該分配器還利用了 NUMA 拓撲結構的優勢,將最近的內存分配給分片。對于一些不可避免的跨核資源共享和通信,Seastar 強制要求明確地處理它們。如果一個分片擁有另一個核心的資源,它必須通過外部指針指向這些資源;如果一個分片需要與其他分片通信,它必須提交并轉發任務給他們。這就迫使程序限制其跨核的需求,并有助于減少對 CPU 擴展性問題的分析范圍。Seastar 還為跨核通信實現了高性能的非阻塞通信。

圖片

傳統的帶有異步事件和回調的程序在實現、理解和調試方面是非常困難的。用戶空間的非阻塞任務調度需要實現普遍的異步性。Seastar 將 futures、promises 和 continuations (f/p/c) 作為構建塊來組織邏輯。futures 和 promises 通過將邏輯上連接的異步結構組合在一起,而不是將它們分散用于普通的回調中,這使代碼更更容易實現以及更好的可讀性。Seastar 還為循環、計時器以及基于未來控制生命周期甚至 CPU 份額提供了更高級別的工具。為了進一步簡化應用程序,Seastar 將網絡和磁盤訪問封裝到 shared-nothing 和基于 f/p/c 設計的模式中。采用不同 I/O 堆棧(如 epoll、linux-aio、io-uring、DPDK 等)的復雜性和細微控制對應用程序代碼是透明的。

圖片

Run-to-completion performance

Crimson 團隊已經為 RBD 客戶端的讀寫工作負載實現了 OSD 的大部分關鍵特性。當前完成的任務包括重新實現 messenger V2 (msgr2), heartbeat, PG peering, backfill, recovery, object-classes, watch-notify, etc等,并不斷努力的增加一些 CI 測試組件。Crimson 已經達到了一個里程碑,我們可以在具有足夠穩定的單個分片中驗證run-to-completion設計。

綜合考慮現實條件,在相同的隨機 4KB RBD 工作負載下,在沒有復制的情況下,通過將傳統和 Crimson OSD 與 BlueStore 后端進行比較來驗證 single-shard run-to-completion?。兩個 OSD 都分配了 2 個 CPU 資源。Crimson OSD 很特別,因為 Seastar 需要一個獨占 CPU 核心來運行 single-shard OSD 邏輯。這意味著 BlueStore 線程必須固定到另一個核心,引入 AlienStore 來彌合 Seastar 線程和 BlueStore 線程之間的邊界,并在兩個邊界之間提交 IO 任務。相比之下,傳統 OSD 沒有限制使用分配的 2 個 CPU。

圖片

性能結果顯示,使用 BlueStore 時,Crimson OSD 的隨機讀取性能大約提高了 25%,隨機寫入情況下的 IOPS 大約比傳統 OSD 高 24%。進一步的分析顯示,在隨機寫的情況下,CPU 的利用率很低,因為大約 20% 的 CPU 被消耗在頻繁的查詢中,這表明 Crimson OSD 應該不是是當前的瓶頸。

圖片

Crimson OSD 提交和完成 IO 任務,以及在 Seastar 和 BlueStore 線程之間進行同步,也有額外的開銷。因此,我們針對 MemStore 后臺重復了同一組實驗,兩個 OSD 都分配了 1 個 CPU。如下圖所示,Crimson OSD 在隨機讀取中提供了大約 70% 的 IOPS,在隨機寫入中比 傳統 OSD 高 25%,這與之前實驗中的結論一致,即 Crimson OSD 可以做得更好。

圖片

盡管上述場景僅涵蓋實驗性 single-shard? 案例,但結果表明使用 Seastar 框架具有性能優勢——消除鎖、通過用戶空間任務調度刪除上下文切換、分配更靠近 CPU 的內存。此外,重要的是要重申,run-to-completion 模型的目標是更好地擴展 CPU 并消除軟件使用高性能硬件而引起的性能瓶頸。

Multi-shard Implementation

實現多分片的路徑很明確。由于每個PG中的 IO 已經在邏輯上被分片,所以對IO路徑沒有太大改變。主要的挑戰是確定無法避免的跨核通信,并設計新的解決方案,以盡量減少其對IO路徑的影響,這需要根據具體情況進行分析。一般來說,當從 Messenger 接收到一個 IO 操作時,它會根據 PG-core 映射被定向到 OSD 分片,并在同一分片/CPU的上下文中運行,直到完成。請注意,在當前階段,為了簡單起見,設計上選擇不修改RADOS協議。

圖片

Messenger

Messenger 在確保解決方案可擴展方面發揮著重要作用。有一些限制需要認真考慮。一個限制來自 RADOS 協議,它只為每個客戶端或 OSD 定義一個連接。連接必須存在于特定核心上才能根據其狀態高效且無鎖地解碼和編碼消息。與 OSD 對等體的共享連接意味著在當前階段跨核消息傳遞到多個 PG 分片是不可避免的,除非可以調整協議以允許到每個分片的獨占連接。

Seastar 框架的另一個限制是它不允許在 Seastar 套接字被 accept()ed? 或 connect()ed 之后移動到另一個核心。這對無損連接 (msgr2) 來說是一個挑戰,因為它會影響 Messenger 和 OSD 服務之間的交互,在這種情況下,由于網絡故障重新連接,連接可能會預先跳轉到另一個核心。

擴展 Messenger 的大部分工作是在將 IO 操作分派到 PG 分片之前將消息傳遞工作負載(編碼、解碼、壓縮、加密、緩沖區管理等)優化擴展到多個內核,并最小化跨內核消息沿 IO 路徑傳遞,理想情況下,在上述約束下,對于每個消息發送和接收操作,它最多保持 1 跳。

OSD

OSD 負責維護 PG 分片之間共享的全局狀態和活動,包括心跳、身份驗證、客戶端管理、osdmap、PG 維護、訪問 Messenger 和 ObjectStore 等。

多核 Crimson OSD 的一個簡單原則是將所有與共享狀態相關的處理保持在專用內核上。如果一個 IO 操作要訪問共享資源,要么按順序訪問專用核,要么訪問保持同步的共享信息的獨占副本。

實現這一目標有兩個主要步驟。第一步是讓 IO 操作根據 PG 分片策略運行在多個 OSD 分片中,包括 PG 狀態在內的所有全局信息都維護在第一個分片中。此步驟在 OSD 中啟用分片,但需要在第一個分片中做出有關 IO 調度的所有決策。即使這一步 Messenger 可以在多核中運行,消息仍然需要傳遞到第一個分片進行準備(例如 PG peering)并在提交到該分片之前確定正確的 PG 分片。這會導致額外的開銷和不平衡的 CPU 使用(第一個 OSD 分片使用率高,其他分片很低,等等)。因此,下一步是將 PG-core 映射擴展到所有 OSD 分片。

ObjectStore

Crimson 支持三種 ObjectStore 后端:AlienStore、CyanStore 和 SeaStore。AlienStore 提供與 BlueStore 的向后兼容性。CyanStore 是用于測試的虛擬后端,由易失性內存實現。SeaStore 是一種新的對象存儲,專為 Crimson OSD 設計,采用 shared-nothing 設計。根據后端的具體目標,實現多分片支持的路徑是不同的。

1AlienStore

AlienStore 是 Seastar 線程中的一個瘦代理,用于與使用 POSIX 線程的 BlueStore 進行通信。對于多個 OSD 分片沒有特別的工作要做,因為 IO 任務通信同步了。BlueStore 中沒有為 Crimson 定制其他內容,因為不可能真正將 BlueStore 擴展到 shared-nothing 設計,因為它依賴于第 三 方 RocksDB 項目,而 RocksDB 仍然是線程的。但是,在 Crimson 能夠拿出一個足夠優化和足夠穩定的原生存儲后端解決方案(SeaStore)之前,合理的開銷來換取復雜的存儲后端解決方案是可以接受的。

2CyanStore

Crimson OSD 中的 CyanStore 與傳統 OSD 中的 MemStore 相對應。對多分片支持的唯一改變是為每個分片創建獨立的 CyanStore 實例。一個目標是確保虛擬 IO 操作能夠在同一個內核中完成,以幫助識別 OSD 級別的可擴展性問題(如果有的話)。另一個目標是在 OSD 層面上與傳統 OSD 做直接的性能比較,而不受 ObjectStore 的復雜因數影響。

3SeaStore

SeaStore 是 Crimson OSD 原生的 ObjectStore 解決方案,采用 Seastar 框架開發,采用相同的設計原則。

雖然很有挑戰性,但是 Crimson 必須建立一個新的本地存儲引擎,這有多種原因。存儲后端是主要的 CPU 資源消耗者,如果 Crimson OSD 的存儲后端不改變,那么它就不能真正地隨核心擴展。我們的實驗也證明了 Crimson OSD 不是隨機寫入場景中的瓶頸。

其次,BlueStore 中具有事務支持的 CPU 密集型元數據管理基本上由 RocksDB 提供,如果不重新實現,它無法在原生的 Seastar 線程中運行。與其為 BlueStore 重新實現通用的鍵值事務存儲,不如在更高的層次上重新思考和定制相應的架構——ObjectStore。問題在原生的解決方案中比在 第三方項目中更容易解決,因為第三方項目必須保證使用與通用的場景。

第三個考慮是為異構存儲設備和硬件加速器提供原生支持,讓用戶可以根據自己的需求平衡成本和性能。如果 Crimson 能夠更好地控制整個存儲堆棧,那么 Crimson 將更靈活地簡化部署硬件組合的解決方案。

SeaStore 在單分片讀寫方面已經可以正常使用,盡管在穩定性和性能改進方面仍有待努力。目前的努力仍然集中在架構上,而不是極端情況下的優化。它針對多分片 OSD 的設計很明確。與 CyanStore 一樣,第一步是為每個 OSD 分片創建獨立的 SeaStore 實例,每個實例都在存儲設備的靜態分區上運行。第二步是實現一個共享磁盤空間平衡器來動態調整分區,它應該可以在后臺異步運行,因為 PG 已經以偽隨機方式分配了用戶 IO。SeaStore 實例可能不需要等于 OSD 分片的數量,根據性能分析,調整這個比例是后期工作的第三步。

摘要和測試配置

在這篇文章中,我們介紹了為什么以及如何對 Ceph OSD 進行重構以跟上硬件的發展。另外我們也給出了我們所做的詳細設計、 一個簡單的性能測試結果。也提供了 Crimson OSD 真正實現多核可擴展的所要考慮的大部分因素。

測試結果可能會根據不同的 commit 版本、軟件和硬件配置而有所變化。為了確保我們的測試是可重復的,可復現的,并可在以后場景中作為參考,我們列出了所有可能產生影響的設置和注意事項。

我們為 Crimson 和 傳統 OSD 部署了本地 Ceph 集群,并使用 CBT 執行了 FIO 測試。Crimson 在使用 tcmalloc 時仍然存在問題,因此為了公平起見,我們將兩個 OSD 配置為使用 libc*。我們使用 BlueStore。RBD 緩存被禁用。BlueStore 線程數設置為 4 以獲得更好的結果。部署 Crimson 時,需要指定*ceph-osd_cmd ( crimson-osd )。CPU 綁定通過 CBT 配置文件中的 crimson_cpusets 指定,BlueStore 線程通過 crimson_alien_thread_cpu_cores 和 crimson_alien_op_num_threads 配置。要部署傳統 OSD,numactl 用于控制 CPU 綁定。根據 CBT 存儲庫,部署過程的其余部分沒有變化。

測試場景:

  • Client: 4 FIO clients
  • IO mode: random write and then random read
  • Block size: 4KB
  • Time: 300s X 5 times to get the average results
  • IO-depth: 32 X 4 clients
  • Create 1 pool using 1 replica
  • 1 RBD image X 4 clients
  • The size of each image is 256GB

測試環境:

  • Ceph 版本 (SHA1):7803eb186d02bb852b95efd1a1f61f32618761d9
  • Ubuntu 20.04
  • GCC-12
  • 1TB NVMe SSD 作為 BlueStore 塊設備
  • 50GB 內存用于 MemStore 和 CyanStore
責任編輯:武曉燕 來源: 新鈦云服
相關推薦

2012-09-24 10:12:22

高性能計算浪潮

2015-11-26 15:33:36

AMD處理器Radeon Crim

2025-04-25 03:00:00

開源數據集成工具數據庫

2020-09-25 08:18:38

華為存儲全聯接

2010-02-07 15:50:33

Android手機

2023-02-02 08:04:15

Ceph數據CPU

2013-01-04 16:15:08

微軟ERPDynamics AX

2023-03-28 17:37:01

銳捷

2009-09-02 16:10:40

ADSL技術

2017-12-21 19:47:05

微信

2012-07-02 10:36:19

菲亞特

2022-03-10 16:01:29

Playwright開源

2018-04-26 15:52:59

數據庫MySQL高可用組件

2024-06-07 14:17:53

2020-05-26 14:10:34

Web前端指標

2018-01-09 20:32:23

阿里云企業級存儲

2024-03-04 07:55:41

數據架構AlluxioNewsBreak

2016-01-26 11:58:12

2013-09-24 10:38:23

2021-07-15 11:16:31

Spring WebWebFlux架構
點贊
收藏

51CTO技術棧公眾號

精品一区二区三区四区| 婷婷综合久久一区二区三区| 国产免费一区二区三区在线观看| 男人的午夜天堂| 日本精品在线播放 | 欧美日韩一卡二卡三卡| 亚洲精品乱码久久久久久蜜桃91| 99国产精品久久久久99打野战| 亚洲午夜黄色| 尤物九九久久国产精品的特点 | 亚洲GV成人无码久久精品 | 国产人妻人伦精品| 日产精品久久久久久久性色| 日本不卡中文字幕| 久久久免费观看视频| 丁香花五月婷婷| 中文一区二区三区四区| 色丁香久综合在线久综合在线观看| 亚洲国产精品影视| 欧美一区二区少妇| 国产精品99久久久久久宅男| 26uuu另类亚洲欧美日本一 | 日本一二三区在线视频| 奇米色777欧美一区二区| 久久乐国产精品| 成人做爰视频网站| 蜜桃精品wwwmitaows| 日韩欧美成人激情| 第四色婷婷基地| 热色播在线视频| 亚洲最大的成人av| 台湾成人av| 色鬼7777久久| 成人永久aaa| 91在线色戒在线| 奴色虐av一区二区三区| 日韩视频免费| 久久久久久久av| 欧美激情图片小说| 久久激情电影| 一本色道久久综合狠狠躁篇的优点 | 国产伦精品一区二区三区视频免费 | 搞黄网站在线看| 国产精品久久久久永久免费观看| 欧美高清性xxxxhdvideosex| 欧美视频一二区| 国产真实乱偷精品视频免| 国产精品吹潮在线观看| 人人爽人人爽人人片av| 国产日韩欧美| 97婷婷大伊香蕉精品视频| 欧美色图一区二区| 欧美日韩福利| 九九视频直播综合网| 国产中文av在线| 91精品秘密在线观看| 视频在线观看99| 国产又黄又粗又猛又爽的| 欧美色网址大全| 一本色道久久综合狠狠躁篇的优点 | 1313精品午夜理伦电影| 欧美一区二区三区啪啪| www激情五月| 99精品在线免费观看| 69堂精品视频| 亚洲成人福利视频| 国内精品麻豆美女在线播放视频 | 亚洲av电影一区| 91网址在线看| 欧美中日韩一区二区三区| 黄色av网站在线免费观看| 国产日产欧美一区| 亚洲一二区在线| www视频在线免费观看| 亚洲精品成人a在线观看| 黄色一级大片免费| 超碰高清在线| 日韩欧美在线视频观看| 狠狠爱免费视频| av免费在线一区| 色一区在线观看| 91九色在线观看视频| 希岛爱理一区二区三区av高清| 欧美视频中文字幕| 欧美性受xxxx黒人xyx性爽| 日本一区二区三区播放| 亚洲国产精品福利| www.av欧美| 国产精品99久久精品| 欧美另类99xxxxx| 日韩欧美三级视频| 日韩国产在线一| 亚洲综合社区网| 四虎精品在永久在线观看| 国产亚洲精品资源在线26u| 福利网在线观看| 漫画在线观看av| 欧美性淫爽ww久久久久无| 午夜免费一级片| 日韩高清三区| 久久在精品线影院精品国产| 日本少妇性高潮| 欧美激情三级| 精品国产污网站| 永久免费成人代码| 欧美精品1区| 欧美一级bbbbb性bbbb喷潮片| 夜夜嗨aⅴ一区二区三区| 成人美女视频在线看| 亚洲乱码一区二区三区| 成人免费高清观看| 欧美日本视频在线| 黄色国产在线观看| 欧美黄色精品| 国产精品久久久精品| 欧洲精品久久一区二区| 国产精品福利影院| 欧美私人情侣网站| 中文字幕日韩在线| 久久精品夜夜夜夜夜久久| 毛片在线免费视频| 国产成人av一区二区三区在线观看| 日本一区二区三区视频免费看| 欧美人与性动交α欧美精品济南到| 欧美网站一区二区| 成年人网站免费看| 亚洲高清电影| 91麻豆精品秘密入口| 成年人视频在线观看免费| 婷婷开心久久网| 精品人妻二区中文字幕| 波多野结衣在线播放一区| 91精品国产91久久久久久最新| 国产99视频在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久一区二区三区欧美亚洲| 视频在线这里都是精品| 7777精品伊人久久久大香线蕉完整版 | 国产乱子伦精品视频| 国产高清亚洲| 色小说视频一区| 欧美激情一区二区三区免费观看| 久久综合999| 5月婷婷6月丁香| 福利在线一区| 性欧美亚洲xxxx乳在线观看| 国产91绿帽单男绿奴| 一区二区在线观看av| 红桃视频一区二区三区免费| 91日韩视频| 国产一区视频在线| 免费黄色网页在线观看| 欧美女孩性生活视频| 免费成人深夜夜行网站| 精品一区二区三区日韩| 综合操久久久| 国产精品视频一区二区三区| www亚洲欧美| 99国产揄拍国产精品| 亚洲人成在线观看一区二区| 一级淫片在线观看| 综合激情婷婷| 国产伦精品一区二区三区四区视频| 僵尸再翻生在线观看| 亚洲精品视频免费在线观看| aaa在线视频| 国产精品视频线看| 欧美在线a视频| 国内自拍视频一区二区三区| 国产精品一区二区三区不卡| www555久久| 亚洲男人天堂九九视频| 中文字幕在线天堂| 一区在线播放视频| 无码人妻一区二区三区在线| 亚洲在线观看| 日韩免费毛片| 欧美xxxx性| 久久国产精品久久精品| 人妻精品一区一区三区蜜桃91| 精品欧美国产一区二区三区| 欧美做受高潮6| 精品午夜久久福利影院| 免费看欧美一级片| 教室别恋欧美无删减版| 91在线高清视频| 中文在线8资源库| 日韩资源在线观看| 亚洲精品字幕在线| 日本道色综合久久| 国产va在线播放| 久久亚洲二区三区| 热久久久久久久久| 亚洲作爱视频| 在线看成人av电影| 国内精品国产成人国产三级粉色| 国产精品成人品| 成人性生交大片免费看网站| 国产一区二区日韩| 粉嫩小泬无遮挡久久久久久| 在线精品亚洲一区二区不卡| 国产大学生自拍| 久久久亚洲综合| 免费高清视频在线观看| 性欧美长视频| 精品视频在线观看一区二区| 国产日产一区| 国产精品嫩草在线观看| 久久爱.com| 欧美在线视频导航| 影音先锋中文在线视频| 中国日韩欧美久久久久久久久| 好男人在线视频www| 欧美日韩你懂得| 六月丁香激情综合| 一区二区三区产品免费精品久久75| 欧美另类z0zx974| jvid福利写真一区二区三区| 天天干天天色天天干| 久久久亚洲人| 少妇人妻无码专区视频| 欧美a级在线| 亚洲精品一区二区三区四区五区 | 日本激情视频一区二区三区| 91美女福利视频| 老熟女高潮一区二区三区| 精品午夜一区二区三区在线观看| 国产aaaaa毛片| 亚洲一区二区伦理| 成人午夜免费在线| 欧美激情麻豆| 黑人巨大国产9丨视频| 欧美亚洲国产激情| 欧美中文娱乐网| 九九亚洲视频| 欧美日韩国产综合视频在线| 日韩激情毛片| 精品视频第一区| 果冻天美麻豆一区二区国产| 91国产在线免费观看| 欧美三级电影网址| 国产欧美日韩综合精品| 成人国产一区| 国产精品色婷婷视频| 精品国模一区二区三区| 国产福利视频一区| 国产精品扒开腿做爽爽爽视频软件| 欧美在线视频观看| 草草在线视频| 欧美一级电影免费在线观看| 三级在线观看视频| 欧美一区二区三区图| 在线天堂新版最新版在线8| 91超碰caoporn97人人| 精品极品在线| 热久久美女精品天天吊色| 亚洲啊v在线| 国产91亚洲精品| 国产成人久久精品麻豆二区| 国产精品综合不卡av| 久久91视频| 5566av亚洲| 国产亚洲精品美女久久| 免费国产一区| 久久99青青| 一区不卡字幕| 午夜日韩激情| 加勒比成人在线| 久久激情网站| 亚洲第一狼人区| 国产麻豆视频一区| 免费啪视频在线观看| zzijzzij亚洲日本少妇熟睡| aaaaaav| 国产欧美精品日韩区二区麻豆天美 | 激情小说亚洲图片| 欧美日韩一区二区视频在线| 日韩精品中文字幕第1页| mm131午夜| 99热在线精品观看| 爱情岛论坛成人| 国产一区 二区 三区一级| 男人的天堂影院| 国产亚洲精品7777| 成熟的女同志hd| 色综合久久久久久久久久久| 中文字幕人成人乱码亚洲电影| 欧美一区二区在线观看| 香蕉视频成人在线| 久久精品国产欧美亚洲人人爽| www欧美xxxx| 国产精品欧美一区二区三区奶水| 不卡的国产精品| 久久精品日产第一区二区三区乱码 | 久久成人av少妇免费| 无码国产精品一区二区免费式直播| 国产午夜精品久久久久久免费视| 污软件在线观看| 狠狠综合久久av一区二区小说 | 欧美大肚乱孕交hd孕妇| 黄色片在线免费看| 欧美激情亚洲视频| 成人国产在线| 国产综合 伊人色| 99久久夜色精品国产亚洲狼| 久色视频在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 国产高清免费在线| 国产视频一区三区| 四虎国产精品免费| 国产精品视频在线看| 久草国产精品视频| 欧美一卡在线观看| 国产三级视频在线播放线观看| 欧美激情一区二区三区成人| 日本欧美一区| 久久99精品久久久久久青青日本| 亚洲精品小说| 污片在线免费看| 久久综合九色综合久久久精品综合 | 亚洲xxxx天美| 中文字幕亚洲欧美一区二区三区 | 欧美午夜宅男影院在线观看| 精品久久国产视频| 久久精品视频导航| 69堂免费精品视频在线播放| 精品国产二区在线| 欧美另类专区| 青青草原播放器| 国产精品家庭影院| 成人免费视频国产免费| 亚洲精品天天看| 国产极品在线观看| 国产一级二级三级精品| 午夜精品久久| 两性午夜免费视频| 亚洲欧美二区三区| 国产女主播福利| 美日韩精品免费观看视频| 色诱色偷偷久久综合| 亚洲一区在线直播| 蜜乳av一区二区| 一本在线免费视频| 欧美三级一区二区| 999国产在线视频| 国产精品久久久久久久久久99| 欧美理论在线播放| 国产成人黄色网址| 中文字幕亚洲视频| 一区二区国产欧美| 日韩视频免费在线| 精品一区二区三区免费看| 国产成年人在线观看| 国产在线播放一区三区四| 91高清免费看| 日韩一级二级三级| 国产极品人妖在线观看| 国产不卡一区二区在线观看| 亚洲理论在线| 中文字幕国产专区| 在线区一区二视频| www亚洲人| 91在线观看免费高清完整版在线观看| 在线观看国产精品入口| 国产又粗又猛又爽又黄| 亚洲狠狠爱一区二区三区| 手机看片1024国产| 奇米4444一区二区三区| 成人精品亚洲| 欧洲在线免费视频| 亚洲成av人片www| 欧美日本韩国一区二区| 国产精品视频26uuu| 一区二区三区在线电影| 69亚洲乱人伦| 色综合 综合色| 日本不卡在线| 国产精品v欧美精品∨日韩| 欧美一级网站| 少妇高潮惨叫久久久久| 精品三级在线看| 美女网站视频一区| 日韩视频 中文字幕| 26uuu国产电影一区二区| 欧美另类高清videos的特点| 久久精品一区中文字幕| 美女视频免费精品| 91看片在线免费观看| 亚洲黄色尤物视频| 日本在线视频1区| 亚洲专区在线视频| 99视频精品| 国产喷水在线观看| 亚洲国产天堂久久综合网| 成人午夜在线| 我的公把我弄高潮了视频| 欧美激情在线免费观看| 国产小视频一区| 国产精品成人久久久久| 一区在线视频观看|