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

一次近乎完美的PostgreSQL版本大升級

數據庫 其他數據庫 PostgreSQL
怎樣實現一次近乎完美的數據庫版本大升級?本文詳細介紹了 GitLab 將 PostgreSQL 從 9.6 升級到 11 版本的工作。

2020 年 5 月,我們與 OnGres 合作,對 GitLab 上的 Postgres 集群進行版本大更新,從 9.6 版本升級到 11 版本。升級全部在維護窗口內運行,沒有絲毫差錯;更新中所有涉及的內容、計劃、測試,以及全流程自動化,全部進行拆包,只為實現一次近乎完美的 PostgreSQL 升級。

本次版本更新,我們面臨的最大難題在于如何利用一個規劃完善的 pg_upgrade,方便且高效地對整體項目進行重要版本升級。為此,我們需要制定一個回滾計劃,以保證 12 節點集群的 6 TB 數據一致的同時,優化恢復目標時間(RTO)后的容量,為 600 萬用戶提供每秒 300000 次的聚合交易服務。

解決工程難題的最佳方案是按照藍圖和設計文檔行事。在創建藍圖的過程中,我們需要定義目標問題,評估最合適的解決方案,并考慮每個解決方案的優缺點。

在此,我們附上為這個項目準備的藍圖鏈接。

https://gitlab.com/gitlab-com/gl-infra/readiness/-/tree/master/library/database/postgres/Postgresql-upgrade/blueprint/

一、我們為什么要升級PostgreSQL

我們決定在 GitLab 13.0 中停止對 PostgreSQL 10.0 的支持,而 PostgreSQL 9.6 版本將在 2021 年 11 月 EOL(項目終止),因此,我們需要采取相應的行動。

下面是 PostgreSQL 9.6 和 11 版本之間的主要區別:

  •  表分區支持 LIST、RANGE,以及 HASH;
  •  存儲過程支持事務;
  •  即時編譯(JIT)加快查詢表達式的運行速度;
  •  并行查詢,增加并行化數據定義功能;
  •  新版本的 PostgreSQL 繼承了版本 10 中的“邏輯復制——分發數據的發布 / 訂閱框架”,該功能可以使日后的升級更加順滑,簡化了其他相關流程;
  •  基于 Quorum 的提交(commit),確保事務能在集群中指定節點進行提交;
  •  提升了通過分區表進行查詢的性能。

二、環境與架構

PostgreSQL 集群,其基礎架構容量由 12 個服務于 OLTP 以及異步管道的 n1-highmem-96 GCP 示例組成。同時,它還有兩個不同規格的 BI 節點,每個節點都有 96 個 CPU 內核以及 614GB 的 RAM。HA 集群通過 Patroni 進行管理和配置,以保證 Consul 集群及其所有復制體在異步流復制中,使用復制槽和 WAL 對 GCS 存儲桶進行復制工作時的 leader 選舉一致性。

https://github.com/zalando/patroni

我們的配置目前使用的是 Patroni HA 解決方案,它會不斷收集集群、leader 檢測,以及節點可用性的關鍵信息。該解決方案采用 Consul 的 DNS 服務等關鍵功能來實現,進而更新 PgBouncer 端點,確保讀寫和只讀流量使用不同架構。

GitLab.com 架構

因為 HA 的緣故,其中兩個復制體不在只讀服務器列表池中,而是由 Consul DNS 支持,服務于 API。對 GitLab 架構幾次改進后,我們得以將項目整體降到 7 個節點。

此外,我們的整個集群平均每周要處理大約 181000 個交易每秒,如下圖所示,流量會在周一有明顯增加,并在周一至周五 / 六內保持該吞吐量。我們需要讓維護影響到盡量少的用戶,因此流量數據的統計對于設置合適的維護窗口至關重要。

GitLab.com 上連接數量統計

項目整體在全天中最忙碌的時刻可以到達 25000 交易每秒。

GitLab.com 上 commit 數量統計

與此同時,項目處理的交易峰值可以到達每秒 30 萬次交易,GitLab.com 能到達每秒 6 萬次連接。

三、我們的升級需求

在生產環境進行升級前,我們首先確定了一些需求:

  •  PostgreSQL 11 上不能有回歸。我們開發了一個自定義基準測試來運行更廣泛的回歸測試,目標是識別 PostgreSQL 11 中潛在的查詢性能下降;
  •  升級應當針對整體項目,并在維護窗口內完成;
  •  使用 pg_upgrade 升級,其依賴于物理層面,而非邏輯或者復制。
  •  保留一個 9.6 版本的集群樣本。并非所有節點都需要升級,我們應保留一些 9.6 版本的節點以備回滾;
  •  升級應全自動化,以降低人類失誤的可能性;
  •  全部數據庫升級的維護窗口只有 30 分鐘;
  •  升級應留有記錄并將其發布。

四、項目

為使生產升級能順利運行,我們將項目劃分為以下四個階段:

第一階段:在封閉環境中開發自動化

1)開發 ansible-playbook,并在 staging 上備份的 PostgreSQL 環境中進行測試

https://gitlab.com/gitlab-com/gl-infra/db-migration/-/tree/master/pg-upgrade

2)獨立環境的使用讓我們可以隨時停止、啟動,或者恢復備份,也讓我們專注開發,并得以將環境隨時回滾到升級前。

3)我們使用 staging 上的備份在環境中進行項目升級。在這個過程中,我們也遇到一些諸如在遷移數據庫的過程中如何監視不同程序之類的挑戰。

第二階段:在staging中將升級開發與配置管理進行分段式融合

1)在 Chef 中集成配置管理,并運行數據庫磁盤中的一個快照(可用于還原更新前狀態)。

2)通知用戶,本次維護窗口將力爭對他們工作的影響降到最低,并在沒有數據損失風險的情況下進行安全升級。

3)在對配置管理進行迭代和集成測試后,我們開始在 staging 上運行端到端測試。這些測試內容是在內部公開的,所以其他共享這個環境的團隊會知道 staging 在這段時間暫時不可用。

第三階段:在staging上測試端到端升級

  •  正式運行前對環境的檢查。我們有時候會在這一步發現認證的問題,有時候也會做一些能提升測試效率的小調整;
  •  停止 GitLab 上所有應用和流量,在 CloudFlare 和 HA-proxy 上添加維護模式,停止包括數據庫、sidekiq、workhorse、WEB-API 等一切能訪問數據庫的應用;
  •  升級集群中六個節點中的三個。與生產中部分場景的策略類似,我們同樣準備了回滾方案;
  •  為 PostgreSQL 的更新運行 ansible-playbook。首先是數據庫 leader 節點,之后是一些二級節點;
  •  升級之后:我們在 ansible-playbook 中運行了一些自動化測試,用以檢測復制數據與原數據是否相符;
  •  接下來,啟動應用程序,讓我們的 QA 團隊能運行一些測試。他們在升級后的數據庫上運行了本地單元測試,我們對負面結果進行了調查。

測試結束后,我們再次停止程序運行,并將 staging 集群還原到 9.6 版本,將升級過后的節點關閉到版本 11,最后啟動舊版集群。Patroni 會 promote 其中一個節點,啟動應用后集群就可以收到流量反饋。我們將 Chef 的配置恢復到集群 9.6 版本后重建數據庫,留出六個節點為下次測試做準備。

我們總共在 staging 中運行過 7 次測試,并通過反饋不斷完善程序。

第四階段:升級進入生產環境

生產環境的步驟與 staging 中類似,我們計劃遷移八個節點,留下四個作為備份。

  •  執行項目前期檢查;
  •  宣布維護開始;
  •  運行 ansible-playbook 以停止流量和應用;
  •  運行 ansible-playbook 以進行 PostgreSQL 升級;
  •  開始驗證測試并恢復流量。我們只運行了必需的測試,才能在短暫的維護窗口內完成所有內容。

回滾計劃只會在數據庫不一致或者 QA 測試出錯時才調用,以下是具體步驟:

  •  停止 PostgreSQL 11 集群;
  •  還原 Chef 中配置到 PostgreSQL 9.6;
  •  用 9.6 版本中的四個節點初始化集群。通過這四個節點,我們可以在流量較低的時候恢復 GitLab 上的活動;
  •  開始接收流量,借此可以盡量減少停機時間;
  •  使用在維護期間和升級前的磁盤快照恢復其他節點;
  •  升級中的所有步驟都在用于運行項目的模板中有詳細說明。

五、pg_upgrade運行原理

pg_upgrade 讓我們可以在不用 dump/reload 策略,不用更多停機時間的情況下,將 PostgreSQL 數據文件升級到日后的主要版本。

https://www.postgresql.org/docs/11/pgupgrade.html

正如在 PostgreSQL 官方文檔中所寫,pg_upgrade 工具通過避免執行 dump/restore 的方法來升級 PostgreSQL 版本。這里有幾點細節需要注意:PostgreSQL 的主要版本會添加新功能,這些新功能經常會改變系統表的布局,但內部數據存儲格式基本會保持不變。如果某次主要版本升級改變了數據格式,那么就不能繼續用 pg_upgrade 了。因此,我們必須要先驗證這些版本之間都有什么變化。

還有一點很重要,任何外部模塊都必須兼容二進制,雖然你并不能通過 pg_upgrade 來檢查這點。對 GitLab 的更新來說,我們在升級前先卸載了 postgres_exporter 等視圖及拓展,以便在升級后重新創建,出于兼容性考慮,還要稍作修改。

https://github.com/wrouesnel/postgres_exporter

在更新前,必須先安裝新版本的二進制文件。新的 PostgreSQL 二進制文件及拓展文件都裝在需要升級的主機中。

pg_upgrade 在使用時有很多選項。我們選擇在 Leader 節點上使用 pg_upgrade 的鏈接模式,因為維護窗口很短暫,只有兩個小時。這種模式可以通過 inode 硬鏈接文件,避免了復制 6TB 文件的麻煩。缺點則是舊數據集群無法回滾到 9.6 版本。我們保存了 9.6 版本的副本和 GCP 快照作為后備計劃的回滾路徑。因為從頭開始重建副本是不可能的,所以我們選擇使用 rsync 增量功能來進行升級。pg_upgrade 的官方文檔也有寫:“從主服務器上位于舊數據庫集群目錄和新數據庫集群目錄上方的目錄中,在每個備用服務器的 primary 上運行此命令。”

ansible-playbook 對于這一步的實現,是通過從 leader 節點到每一個副本都有一個任務,在新舊數據目錄中的父目錄中觸發 rsync 命令。

六、回歸測試的基準

任何的遷移或數據庫升級都需要在最終的生產升級前進行回歸測試。

對團隊來說,數據庫測試在升級過程中是至關重要的一步,根據生產過程中的查詢數額來進行性能測試,將結果存到 pg_stat_statement 表中。這些都是在同一個數據集中運行的,一次是在 9.6 版本,一次是在 11 版本的迭代。

這一步過程可以在下面這個公共的 issue 中找到:

https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/

  •  工具的準備;
  •  創建測試環境;
  •  計算容量;
  •  使用 JMeter 工具運行基準測試。

最后,根據 OnGres 在這一基準測試上的工作,GitLab 將在未來跟進新的基準測試。

  •  主要生產數據庫集群的能力評估;
  •  數據庫容量及飽和度分析。

七、升級過程:全自動就完事了

在升級項目中,升級團隊堅持使用自動化和基礎架構及代碼工具(IaC)。所有流程必須全部自動化,以減少在維護窗口的人為失誤。pg_upgrade 所有的運行步驟都可以在這個 GitLab 的 pg_upgrade 的模板 issue 上找到詳細說明。

https://gitlab.com/gitlab-com/gl-infra/db-migration/-/blob/master/.gitlab/issue_templates/pg_upgrade.md

GitLab.com 的環境由 Terraform 和 Chef 共同管理,所有的升級自動化都是用 Ansible 2.9 的 playbook 和 roles 編寫的,我們用了兩個 ansible-playbook 來完成升級自動化:

一個 ansible-playbook 控制流量和應用:

  •  將 Cloudflare 設置為維護狀態,不接受流量;
  •  停止 HA-proxy;
  •  停止訪問數據庫的中間件:Sidekiq、Workhorse、WEB-API。

另一個 ansible-playbook 運行升級過程:

  •  協調所有數據庫和連接池的流量;
  •  控制 Patroni 集群和 Consul 實例;
  •  在主節點和次級節點上執行升級;
  •  收集升級后的統計數據;
  •  使用 Chef 同步更改,以保持配置管理的完整性;
  •  驗證集群的完整性和狀態;
  •  執行 GCP 快照;
  •  (可能的)回滾過程。

playbook 以交互方式逐個運行所有任務,讓程序員得以在任意給定執行點跳過或暫停程序。參與 staging 測試和迭代的所有團隊成員都要過目升級過程中的所有步驟,staging 環境讓我們通過演習提前找到升級過程中潛在的漏洞。而執行和迭代 staging 中自動化過程則讓我們實現了 PostgreSQL 9.6 版本至 11 版本的基本無缺陷升級。

為完成本次的版本升級,GitLab 的 QA 團隊將部分測試中發現的問題反饋給我們,這一部分的工作可以在這條 issue 中找到。

https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/106#note_332170837

八、PostgreSQL預升級的步驟

升級工作的第一步是“預升級”,這里涉及到預留給回滾的示例。我們做了相應分析,以確保新的集群可以不丟失吞吐量的情況下,以 8 個示例為起點,保留 4 個通過標準 Patroni 集群同步的 9.6 版本示例,為后續可能需要的回滾情況準備(共計 12 個實例)。

在這個階段,我們還需要停止依賴 PostgreSQL 的服務,諸如 PgBouncer、Chef 客戶端,以及 Patroni 服務。

在正式開始更新前,必須要告知 Patroni,避免任何虛假 leader 選舉,通過 GCP 快照(通過對應低級備份 API 獲得)進行一致的備份,并通過運行 Chef 應用新的設置。

https://www.cybertec-postgresql.com/en/exclusive-backup-deprecated-what-now/?gclid=CjwKCAjwltH3BRB6EiwAhj0IUBjiSxBdmS11SUpITLCmk-oPkBa7udOWyA6bK6hig8neaiJc8n1WexoCq8UQAvD_BwE

九、PostgreSQL升級階段

首先,停止所有節點。

然后,運行以下檢查:

  •  pg_upgrade 版本檢查;
  •  驗證所有節點都已同步,并且不再接受任何流量。

一旦主節點數據升級完畢,就會觸發 rsync 進程以同步所有副本數據。在升級完成后,啟動 Patroni 服務,這樣所有副本都能輕松更新至新集群的配置。

通過 Chef 安裝二進制文件,新集群在版本方面的設置是在同一個 MR 中定義的,MR 源自 GitLab.com,可以安裝用于數據庫中的拓展項。

最后一個階段則包括恢復流量、運行初始的真空期,以及最后的啟動 PgBouncer 和 Chef 客戶端服務。

十、遷移日

到了最后,我們為運行生產線上升級做好了萬全準備,團隊在周日一早 8:45 UTC 開始會議(對有的人來說是晚上)。服務將最多下線兩小時,當最終的通知下達后,工程團隊終于可以開始進行。

升級過程由停止所有流量及相關服務開始,這是為了避免用戶在更新中途訪問網站。

下面圖表顯示在服務更新之前,維護期間(圖標中的空白部分)、以及維護結束、流量恢復后的流量和 HTTP 數據統計。

GitLab.com 上的數據統計圖,從維護開始到結束

整個流程共花費四個小時,其中僅包括兩小時斷線時間。

此外,我們錄下了 PostgreSQL 更新的全過程并發布在 GitLab Unfiltered 上。

https://youtu.be/TKODwTtKWew 

 

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

2020-10-15 14:05:30

PostgreSQL升級開發

2020-12-29 09:23:40

分庫分表訂單

2015-10-16 10:19:01

2021-07-27 06:37:03

HTTP協議消息

2021-07-15 16:58:45

數據庫RDS Postgre阿里云

2012-06-11 15:01:24

佳能復合一體機

2009-09-11 09:36:53

李開復

2025-03-20 11:12:50

2019-01-11 09:41:56

網易考拉服務架構微服務

2016-11-16 09:25:15

WindowsWindow 8Windows 10

2021-03-05 10:13:45

Python 開發編程語言

2021-03-05 22:41:55

CDH集群CDH集群

2022-03-29 08:55:18

存儲引擎核心

2020-10-26 09:53:44

Dropbox攻擊網絡安全

2020-10-23 10:36:08

Dropbox

2015-07-14 09:05:05

戴爾PowerEdge

2022-03-02 09:49:14

Rust編程語言

2014-03-25 09:15:20

VS2012GitHub

2011-06-28 10:41:50

DBA

2020-07-24 20:49:10

代碼Request審查
點贊
收藏

51CTO技術棧公眾號

国产一区二区三区中文字幕| 蜜桃传媒一区二区亚洲av| 国产午夜精品久久久久免费视| 国产麻豆日韩欧美久久| 久久久久久久电影一区| av电影网站在线观看| 婷婷丁香久久| 精品国产乱码久久久久久天美 | 精品少妇av| 欧美一级欧美三级在线观看 | 极品色av影院| 久久男人av| 欧美日本高清视频在线观看| 免费观看美女裸体网站| 日本不卡三区| 久久综合九色综合97婷婷| 成人两性免费视频| 久久久蜜桃一区二区| 午夜精品偷拍| 中文字幕欧美日韩va免费视频| 亚洲精品乱码久久久久久蜜桃欧美| 在线日韩影院| 亚洲一区二区在线视频| 亚洲精品日韩在线观看| 五十路在线视频| 国产麻豆视频一区| 国产欧美韩国高清| 男人午夜免费视频| 亚洲五月婷婷| 九九热精品视频国产| 国产福利在线导航| 免费观看久久av| 欧美精品一区视频| 女人扒开腿免费视频app| 日本欧美一区| 日本精品一区二区三区高清 | 少妇影院在线观看| 色88久久久久高潮综合影院| 亚洲精品一区二三区不卡| 亚洲欧美激情一区二区三区| 国产第一精品| 欧美性xxxxxx少妇| 一本久道综合色婷婷五月| 黄色漫画在线免费看| 亚洲曰韩产成在线| 日本五级黄色片| 97超碰在线公开在线看免费| 国产精品素人一区二区| 色女人综合av| av女优在线| 国产女人aaa级久久久级| 欧美午夜免费| av电影在线观看| 国产片一区二区| 五码日韩精品一区二区三区视频| 国产在线观看精品一区| 久久久久国产精品厨房| 日韩视频在线播放| 毛片免费不卡| 亚洲美腿欧美偷拍| 隔壁人妻偷人bd中字| 国产盗摄一区二区| 欧美日韩美女在线| 国产一区二区视频免费在线观看 | 91亚洲国产成人久久精品网站| 91亚洲国产成人久久精品麻豆| 麻豆91在线观看| 成人午夜激情网| a级片免费观看| 国产麻豆一精品一av一免费 | **欧美大码日韩| 一区二区三区三区在线| 久草中文在线| 亚洲成人av电影在线| 欧美视频在线观看网站| 高清av不卡| 欧美日韩亚洲综合| 尤物网站在线看| 国产精品chinese在线观看| 亚洲国产成人精品久久| 亚洲激情视频小说| 色无极亚洲影院| 久久精品国产欧美亚洲人人爽| 成人在线观看小视频| 亚洲免费精品| 国产精品男人的天堂| 国产黄a三级三级三级| 成人av在线看| 亚洲高清视频在线观看| 欧洲中文在线| 色婷婷综合五月| 国模大尺度视频| 日本欧美高清| 不卡伊人av在线播放| xxxxxx国产| 青青草原综合久久大伊人精品优势 | 日韩在线中文字幕视频| 亚洲三级观看| 国产欧美一区二区白浆黑人| 亚洲乱码国产乱码精品精软件| 国产亚洲欧美在线| 日韩久久久久久久久久久久| av一区在线| 亚洲国产又黄又爽女人高潮的| 亚洲色图日韩精品| 99国产精品99久久久久久粉嫩| 国产精品日韩在线| 五月婷婷狠狠干| 亚洲欧美日韩综合aⅴ视频| 国产女大学生av| 日本在线一区二区三区| 国产亚洲激情在线| 在线免费观看毛片| 国产精品一区久久久久| 日韩高清av| 多野结衣av一区| 欧美一区二区三区公司| 精品人妻无码一区二区三区换脸| 欧美日韩 国产精品| 国产三级精品网站| 国产精品麻豆一区二区三区 | www精品美女久久久tv| 国产内射老熟女aaaa| 视频91a欧美| 亚洲人成欧美中文字幕| 天天操天天干视频| 粉嫩av一区二区三区粉嫩| 小说区视频区图片区| 欧美日韩亚洲国产| 亚洲美女黄色片| 五月天婷婷综合网| www.日韩大片| 国产69精品久久久久999小说| 国产精品美女久久久久| 丝袜美腿亚洲一区二区| 五月婷婷六月婷婷| 久久色在线观看| 成人在线观看黄| 综合伊思人在钱三区| 欧美一级电影久久| 色综合888| 色菇凉天天综合网| 老熟妇一区二区| 蜜桃免费网站一区二区三区| 日本在线免费观看一区| 欧美va在线观看| 在线视频中文亚洲| 中国一区二区视频| 中文字幕巨乱亚洲| jizzzz日本| 91综合视频| 亚洲最大的成人网| 动漫一区在线| 337p日本欧洲亚洲大胆色噜噜| 免费日韩在线视频| 成人免费视频caoporn| 日韩精品视频在线观看视频| 精品av导航| 日韩美女福利视频| sese一区| 91精品国产综合久久国产大片| 手机在线免费看毛片| 风流少妇一区二区| 欧美日本视频在线观看| 久久最新网址| 国产精品自拍网| 日本在线视频中文有码| 日韩av在线网| 波多野结衣激情视频| 中文字幕一区二| 久久久久久久人妻无码中文字幕爆| 99日韩精品| 亚洲成人午夜在线| 亚洲精品午夜| 欧美在线精品免播放器视频| youjizz在线播放| 日韩欧美一级二级三级| 国产情侣自拍av| 中文字幕第一区综合| 在线视频日韩欧美| 亚洲日韩成人| 一本一道久久久a久久久精品91 | 91精品啪在线观看国产60岁| 精品深夜av无码一区二区老年| 91一区二区三区在线播放| 五月婷婷丁香综合网| 国产主播一区| 日韩精品一区二区三区色偷偷| 成人免费观看49www在线观看| 久久久久国产一区二区三区| 国产二区在线播放| 日韩欧美中文一区| 亚洲 日本 欧美 中文幕| 亚洲乱码中文字幕| 亚洲AV无码片久久精品| 国产精品一区二区在线播放| 久久久噜噜噜www成人网| 亚洲最新色图| 欧美日韩一区在线观看视频| 国产va免费精品观看精品| 97成人在线视频| www免费在线观看| 亚洲欧美日韩爽爽影院| 一出一进一爽一粗一大视频| 天堂av在线一区| 国产又粗又猛又爽又黄的网站| 精品国产一区二区三区久久久樱花 | 老汉色影院首页| 亚洲人亚洲人色久| 91超碰rencao97精品| 日韩国产网站| 26uuu另类亚洲欧美日本一| 国产不卡在线| 中文字幕日韩欧美在线视频| 手机福利小视频在线播放| 日韩女优制服丝袜电影| 在线观看中文字幕码| 红桃视频成人在线观看| 日韩欧美中文字幕视频| 国产精品网站一区| 蜜桃精品一区二区| a级精品国产片在线观看| 日本人dh亚洲人ⅹxx| 精品一区二区免费看| 无码人妻丰满熟妇区毛片| 99精品99| 成人午夜精品久久久久久久蜜臀| 91精品一区二区三区综合在线爱| 亚洲高清在线播放| 久久综合影院| 免费看国产精品一二区视频| 老司机成人在线| 国产精品久久久久久免费观看| 国产精品一区二区三区av | 阿v天堂2018| 亚洲视屏一区| 成人在线免费观看视频网站| 亚洲乱码在线| 午夜探花在线观看| 天天天综合网| 综合国产精品久久久| 久久在线免费| 中文字幕成人一区| 亚洲欧洲中文字幕| 中国老女人av| 欧美午夜电影在线观看| 成人午夜免费剧场| 欧美 日韩 国产 一区| 亚洲中文字幕无码一区二区三区| 欧美有码视频| 欧美无砖专区免费| 亚洲精品国产日韩| av动漫在线看| 亚洲综合另类| 99久久国产宗和精品1上映| 亚洲欧美bt| 日本人视频jizz页码69| 久久精品国产免费看久久精品| 不卡中文字幕在线观看| 国产一区二区电影| 国产精品日日摸夜夜爽| 成人免费视频网站在线观看| 99re久久精品国产| 久久九九久精品国产免费直播| 少妇无套高潮一二三区| 国产精品乱人伦中文| 91高清免费观看| 亚洲国产视频在线| 天天干天天干天天操| 欧美日韩一卡二卡| h狠狠躁死你h高h| 日韩av影院在线观看| 国内三级在线观看| 久久夜色撩人精品| 日韩精品极品| 国产欧美日韩精品在线观看| 国产高清日韩| 精品国产一区二区三区麻豆免费观看完整版 | 日韩在线视频免费播放| 欧美性色综合网| 国产麻豆一精品一男同| 亚洲国产欧美一区二区丝袜黑人| 国产专区在线播放| 欧美乱大交xxxxx另类电影| 看黄在线观看| 91精品视频免费看| 欧美影院天天5g天天爽| 伊人久久99| 亚洲欧洲一区| 色呦色呦色精品| av电影一区二区| 韩国一级黄色录像| 精品久久久久久国产| 国产乱淫片视频| 日韩毛片在线看| 黄色av电影在线播放| 26uuu日韩精品一区二区| 日韩一区二区三免费高清在线观看| 国产三级精品在线不卡| 欧美电影《轻佻寡妇》| 91视频 -- 69xx| 国产一区二区在线影院| av直播在线观看| 亚洲精品高清视频在线观看| 久久久久久亚洲av无码专区| 精品国产91洋老外米糕| 午夜视频在线免费观看| 欧洲一区二区视频| youjizz欧美| 一区二区三区在线视频111| 一区二区三区国产在线| 无码人妻一区二区三区在线视频| 国产偷v国产偷v亚洲高清 | 在线免费不卡视频| 欧美一区二区黄片| 久久手机精品视频| 久久久久毛片| 欧美日韩一区二区三区在线观看免| 狠狠色狠狠色综合日日tαg| 日本在线一二三区| 国产视频一区在线播放| 日韩在线视频免费播放| 精品国产伦一区二区三区观看体验| 毛片av在线| 国产精品色悠悠| 久久不见久久见中文字幕免费| 男的插女的下面视频| 国产.欧美.日韩| 九九精品在线观看视频| 欧美日韩免费不卡视频一区二区三区 | 欧美 日韩 精品| 日韩不卡在线观看| av午夜在线观看| 国产精品成人观看视频免费| 中文字幕一区二区三区在线视频| 91福利免费观看| 中文字幕在线不卡视频| 91午夜交换视频| 久久亚洲精品网站| 国产日本亚洲| 日韩不卡视频一区二区| 国产乱对白刺激视频不卡| 中国毛片直接看| 91精品国产综合久久久久久漫画 | 国产成人精品久久亚洲高清不卡| 日韩电影不卡一区| 91黄色小网站| 久久久久成人黄色影片| 久久久久久亚洲av无码专区| 影音先锋日韩有码| 国产激情欧美| 吴梦梦av在线| 成人中文字幕电影| 日韩欧美国产亚洲| 日韩国产激情在线| 电影天堂国产精品| 亚洲精品8mav| 国产高清精品网站| 日本特黄一级片| 亚洲人成网在线播放| 国产精品久久久久久久久免费高清 | 91影视免费在线观看| 韩日在线一区| 亚洲精品乱码久久久久久不卡| 一本大道av一区二区在线播放| 国产中文在线| 亚洲自拍欧美色图| 在线播放不卡| 蜜桃无码一区二区三区| 欧美日韩一区在线观看| 污污视频在线看| 免费毛片一区二区三区久久久| 免费看日韩精品| 国产性70yerg老太| 亚洲人成网站777色婷婷| 国产视频网站一区二区三区| 成人网站免费观看入口| 久久久久久久久99精品| 国产精品爽爽久久| 国内成人精品视频| 日韩成人激情| 妖精视频一区二区| 色成人在线视频| 四季久久免费一区二区三区四区| 久久综合一区| 精品一区二区免费在线观看| 91蜜桃视频在线观看| 中文字幕日韩电影| 国产成人精品福利| 一区二区三区视频网| 亚洲国产你懂的| 免费在线观看av网站| 精品无码久久久久久久动漫| 精久久久久久久久久久| 日韩欧美视频在线免费观看| 中文字幕在线日韩| 日韩成人午夜| 男插女视频网站| 精品婷婷伊人一区三区三| av在线加勒比|