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

靜默錯誤:Oracle數據庫是如何應對和處理的 ?

數據庫 Oracle
我們知道硬盤最核心的使命是正確的存入數據、正確的讀出數據,在出錯時及時拋出異常告警。磁盤出現異常的情形可能包括硬件錯誤、固件BUG 或者軟件BUG等,常規的這些問題都能夠正常被捕獲拋出異常,而最可怕的事情是,數據處理都是正常的,直到你使用的時候才發現數據是錯誤的、損壞的。這就是靜默錯誤。

這兩天,關于騰訊云『因為靜默錯誤,把創業公司的數據徹底搞丟了』的事件已經傳遍了整個互聯網,引發了廣泛的熱議和討論。

***故障回放

騰訊云已經于8月7日公布了最近這次事故的根本原因:

故障過程復盤 當天上午11:57,運維人員收到倉庫Ⅰ空間使用率過高告警,準備發起搬遷擴容;在14:05時,從倉庫Ⅰ選擇了一批云盤搬遷至新倉庫Ⅱ,為了加速搬遷,手動關閉了遷移過程中的數據校驗;在20:27 搬遷完成之后,將客戶的云盤訪問切至倉庫Ⅱ,同時為了釋放空間,對倉庫Ⅰ中的源數據發起了回收操作;到20:30 監控發現倉庫Ⅱ部分云盤出現IO異常。

故障原因復盤 本次事故起源自因磁盤靜默錯誤導致的單副本數據錯誤,再由于數據遷移過程中的不規范操作,導致異常數據擴散至三副本,進而導致客戶數據完整性受損。

數據搬遷過程中的違規操作主要如下兩點:

  1. ***是正常數據搬遷流程默認開啟數據校驗,開啟之后可以有效發現并規避源端數據異常,保障搬遷數據正確性,但是運維人員為了加速完成搬遷任務,違規關閉了數據校驗;
  2. 第二是正常數據搬遷完成之后,源倉庫數據應保留24小時,用于搬遷異常情況下的數據恢復,但是運維人員為了盡快降低倉庫使用率,違規對源倉庫進行了數據回收。

改進措施:經過技術復盤,騰訊云技術團隊深入到每個環節,通過責任到人與流程閉環的雙管齊下,相應作出如下的加強和改進措施:

  1. 首先,我們將全面審視所有的數據流程,涉及數據安全的流程自動化閉環,進一步提升我們常規運維自動化和流程化,降低人工干預。同時把全流程的數據安全校驗作為系統的常開功能,不允許被關閉。
  2. 其次,針對物理硬盤靜默數據錯誤,在當前用戶訪問路徑數據校驗自愈的基礎上,我們優化現有巡檢機制,通過優先巡檢主副本數據塊、跳過近期用戶訪問過的正確數據塊等方法,加速發現該類錯誤,進行數據修復。

總結一下,故障的原因是:操作人員手工關閉數據校驗,并且刪除了源庫,當發現『靜默錯誤』導致的損壞時悔之晚矣。

無論如何,現在的事故已經發生,我想整個實踐給行業以警示,我們的客戶已經在設置方案將云上的數據庫同步備份回本地。

而騰訊的一條改進建議是:提升自動化運維,降低人工干預。這一方面說明了自動化運維的重要性,另一方面仍然要警惕自動化中的故障傳播。

既然有這樣一個機會讓我們了解了『靜默錯誤』,那么我們可以進一步來看一看,在Oracle數據庫中的靜默錯誤是如何處理的。

首先還是回顧一下在我上一篇文章中描述的:什么是靜默錯誤。

什么是靜默錯誤

靜默錯誤在英文中被稱為:Silent Data Corruption,我們知道硬盤最核心的使命是正確的存入數據、正確的讀出數據,在出錯時及時拋出異常告警。磁盤出現異常的情形可能包括硬件錯誤、固件 BUG 或者軟件 BUG、供電問題、介質損壞等,常規的這些問題都能夠正常被捕獲拋出異常,而最可怕的事情是,數據處理都是正常的,直到你使用的時候才發現數據是錯誤的、損壞的。這就是靜默錯誤。

網上的一篇論文:Silent data corruption in SATA arrays: A solution - Josh Eddy August 2008 對靜默錯誤進行了解釋。這篇文章提到:

有些類型的存儲錯誤在一些存儲系統中完全未報告和未檢測到。 它們會導致向應用程序提供損壞的數據,而不會發出警告,記錄,錯誤消息或任何類型的通知。 雖然問題經常被識別為靜默讀取失敗,但根本原因可能是寫入失敗,因此我們將此類錯誤稱為“靜默數據損壞”。這些錯誤很難檢測和診斷,更糟糕的是 它們實際上在沒有擴展數據完整性檢測功能的系統中相當普遍。

在某些情況下,當寫入硬盤時,應該寫入一個位置的數據實際上最終寫入另一個位置。 因為某些故障,磁盤不會將此識別為錯誤,并將返回成功代碼。 結果,RAID系統未檢測到“錯誤寫入”,因為它僅在硬盤發出錯誤信號時才采取措施。

因此,不僅發生了未檢測到的錯誤,而且還存在數據丟失。 在圖2中,數據塊C應該覆蓋數據塊A,而是覆蓋數據塊B.因此數據塊B丟失,數據塊A仍然包含錯誤的數據!

結果,數據被寫入錯誤的位置; 一個區域有舊的,錯誤的數據; 另一個區域丟失了數據,RAID系統和HDD都未檢測到此錯誤。 檢索B或C的訪問將導致返回不正確的數據而不發出任何警告。

撕裂寫入

在其他情況下,只有一些應該一起寫入的扇區最終會出現在磁盤上。 這稱為“撕裂寫入”,其導致包含部分原始數據和部分新數據的數據塊。 一些新數據已丟失,一些讀取將返回舊數據。 同樣,硬盤不知道此錯誤并返回成功代碼,因此RAID無法檢測到它。訪問檢索B將返回部分不正確的數據,這是完全不可接受的。

上文提到的“撕裂寫入”,如果在 Oracle 數據庫中發生,那么就是分裂塊,當然 Oracle 數據庫會自動檢測這種情況。

那么“靜默損壞”發生的概率有多少呢?該文提供了一組數據:

...一項針對NetApp數據庫中150萬個硬盤驅動器的學術研究在32個月內發現,8.5%的SATA磁盤會產生靜默損壞。 某些磁盤陣列運行后臺進程,以驗證數據和RAID奇偶校驗是否匹配,并且可以捕獲這些類型的錯誤。 然而,該研究還發現,后臺驗證過程中錯過了13%的錯誤。

那些未被發現的錯誤,就會成為企業的災難。

即便沒有任何錯誤,數據也需要定期進行讀取,以確保數據無誤,在幾年前,我遇到過一起案例,Oracle 數據庫莫名的發生了一定批量的數據損壞,存儲上沒有任何錯誤,但是數據庫端大量的分裂塊,存儲沒有檢測到錯誤,并且復制到災備站點,***導致了數據丟失。

Oracle的靜默錯誤

如果存儲上出現了靜默錯誤,在Oracle數據庫中會是什么樣的表現?

毫無疑問,在Oracle中經常出現的『壞塊』就是靜默錯誤的受害者之一。幾乎所有的資深DBA都經歷過壞塊問題,當壞塊出現在索引時,通過重建往往就修復了,而一旦壞塊出現在數據或者元數據上,修復過程可能就比較復雜,甚至需要通過備份介質恢復,影響業務運行,更有甚者,會出現數據丟失,無法恢復的情況。

而壞塊出現的原因,很少能夠被明確定位,除了極少數的存儲介質物理故障,其他多數都是說不清楚原因的邏輯損壞,通常我們都期望這是一次偶然意外,期望以后不會發生,當然,的確這是一個小概率事件。

在 Google 上,能夠找到一些與『靜默錯誤』相關的文獻,由于這里不能鏈接,我統一放在下載中,大家可以自行下載學習:

  • Carnegie Mellon University – Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you? (2007)
  • CERN – Data integrity study (2007)
  • University of Wisconsin-Madison & Network Appliance – An Analysis of Data Corruption in the Storage Stack(2008)
  • Google – Failure Trends in a Large Disk Drive Population (2007)

經過很多研究表明,『靜默錯誤』真實存在,并且不僅僅是磁盤驅動器的原因,在某些情況下,電源電纜、HBA卡、有BUG的驅動程序或微碼也會導致靜默損壞。

在 Oracle 官網上有一篇 2013 年的文章:How to Prevent Silent Data Corruption,這篇文章的兩位作者一個是 Oracle Enterprise Linux 的內核開發者,另外一位來自 Emulex - 光纖卡廠商。

文章這樣描述靜默損壞:

靜默損壞是在沒有警告的情況下發生,可以定義為由于組件故障或無意的管理操作而導致的非惡意數據丟失。讀取或寫入無效數據時并不提示I/O問題,最終導致數據損壞。 這種類型的損壞是迄今為止***災難性的,并且沒有有效的方法來檢測。

通常情況下,保證數據一致性的 ECC 和 CRC 技術可用于大多數服務器,存儲陣列和HBA。 但是這些檢查僅在單個組件內臨時保護數據,無法確保寫入的數據在從應用程序傳輸到HBA,交換機,存儲陣列和物理磁盤驅動器的數據路徑中不會損壞。 發生數據損壞時,大多數應用程序都不知道存儲在磁盤上的數據不是要存儲的數據。

在過去幾年中,EMC,Emulex和Oracle共同合作推動并實施了T10 SBC標準的附件信息保護功能,該功能可以在數據通過數據路徑時對數據進行驗證,以確保數據阻止靜默損壞的發生。

最終目標是通過創建完整性元數據(也稱為保護信息,與數據同時創建),然后在整個數據路徑中驗證元數據,并將錯誤回饋給應用程序進行修復,從而提供針對從應用程序到磁盤的靜默數據損壞的保護。下圖就是這個鏈路的保護過程:

寫入數據時會發生以下步驟:

***:Oracle自動存儲管理庫在寫入內存時為每個512字節扇區添加保護信息。

第二:保護信息附加到 I / O請求,并通過Oracle Linux操作系統內核中的層傳遞給Emulex驅動程序。

第三:Emulex LightPulse Lpe16000B光纖通道HBA從內存緩沖區收集信息,驗證數據完整性,合并數據和保護信息,然后根據T10 PI模型發送520字節扇區。

第四:EMC VMAX陣列固件驗證保護信息并將數據寫入磁盤。

第五:磁盤驅動器固件在將數據提交到物理介質之前驗證保護信息。

讀取數據時,步驟反向完成。

在2013年這篇文章提到,在基于 OEL 和 Emulex 的配置下,增強可以被啟用以防范數據損失:

這是多方努力的結果,在 oracleasm-discover 中可以觀察到相關信息: 

  1. # oracleasm-discover  
  2. Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so  
  3. [ASM Library - Generic Linux, version 2.0.8 (KABI_V2)] Discovered   
  4. disk: ORCL:P00 [20971520 blocks (10737418240 bytes), maxio 512, integrity DIX1-512/512-IP] Discovered disk: ORCL:P01 [20971520 blocks   
  5. (10737418240 bytes),   
  6. maxio 512, integrity DIX1-512/512-IP] [...] 

進一步的展開一下,看看Oracle的增強一致性檢查實現。在復雜的數據流轉過程中,每一個步驟都可能產生數據分歧:

在典型的 I/O 處理棧中,***在存儲和驅動器層, 8 Byte 的 PI 校驗位才被增加進去,而存儲出現靜默錯誤問題時,頂層是無法感知的。

T10 的保護信息模型,就是增加額外 8 字節的校驗位,從應用到HBA再到底層存儲,層層校驗保護:

在***的 T10 PI 保護級別上,校驗位從應用層就開始被添加,實現了端到端的校驗:

在 Oracle 10g年代,Oracle 曾經推出 H.A.R.D. 計劃,全程是 - Hardware Assisted Resilient Data ,被翻譯為 硬件輔助彈性數據(HARD)計劃,用于防止數據損壞。

在HARD 倡議下,Oracle與選定的系統和存儲供應商合作,構建可以及早發現損壞并防止損壞的數據寫入磁盤的操作系統和存儲組件,并且此功能的實施對最終用戶或DBA都是透明的。

要使用HARD驗證,所有數據文件和日志文件都放在符合HARD標準的存儲上,同時啟用HARD驗證功能。當Oracle將數據寫入存儲時,存儲系統會驗證數據。如果它看起來已損壞,則寫入將被拒絕并顯示錯誤。

HARD 的設計就是用于防范那些可能的靜默錯誤,以下這些描述就是典型的問題:

寫入損壞的塊

數據由Oracle寫入,并在到達磁盤之前被操作系統或硬件組件干預破壞。這些組件可能包括操作系統,文件系統,卷管理器,設備驅動程序,主機總線適配器和SAN交換結構。雖然Oracle可以在讀取數據時檢測到損壞,但Oracle可能會在幾天或幾個月后才讀取數據。到那時,用于恢復數據的良好備份可能不再可用。

將塊寫入不正確的位置

Oracle向磁盤上的特定位置發出寫入。不知何故,操作系統或存儲系統將塊寫入錯誤的位置。這可能導致兩個損壞:破壞磁盤上的有效數據并丟失已提交事務中的數據。

Oracle以外的程序對Oracle數據的錯誤寫入

Oracle數據文件可能被非Oracle應用程序覆蓋。非Oracle進程或程序可能會意外覆蓋Oracle數據文件的內容。這可能是由于應用程序軟件,操作系統中的錯誤或人為錯誤(例如,意外地將正常操作系統文件復制到Oracle數據文件上)。

損壞的第三方備份

將備份復制到磁帶時可能會發生數據損壞。這種類型的損壞特別有害,因為備份用于修復數據損壞。因此,如果備份也已損壞,則無法恢復任何丟失的數據。對于第三方備份尤其如此(其中磁盤存儲單元直接將數據復制到備份設備而不通過Oracle。)

可能的HARD檢查

在實現Oracle HARD功能的存儲系統中,Oracle服務器可以通過大量檢查來驗證Oracle塊結構,塊完整性和塊位置。如果塊在寫入時未通過驗證,則存儲器拒絕寫入,從而保護數據的完整性。在系統管理操作期間也可以選擇性地禁用HARD驗證檢查,這可能會暫時使數據處于不一致狀態。

關于這里描述的一種情形,讓我想到在2010年我幫助用戶進行恢復的一個案例,當時記錄在博客上,原文:

http://www.eygle.com/archives/2010/11/recover_archivelog_corruption.html

引用一下,用現在的定義就應該屬于『靜默錯誤』的范疇:

最近在緊急故障處理時,幫助用戶恢復數據庫遇到了一則罕見的歸檔日志損壞案例,在這里和大家分享一下,看看是否有人遇到過類似的問題。

在進行歸檔recover時,數據庫報錯,提示歸檔日志損壞: 

  1. ***  
  2. Corrupt block seq: 37288 blocknum=1.  
  3. Bad header found during deleting archived log  
  4. Data in bad block - seq:810559520. bno:170473264. time:707406346  
  5. beg:21280 cks:21061  
  6. calculated check value: 9226  
  7. Reread of seq=37288, blocknum=1, file=/ARCH/arch_1_37288_632509987.dbf, found same corrupt data  
  8. Reread of seq=37288, blocknum=1, file=/ARCH/arch_1_37288_632509987.dbf, found same corrupt data  
  9. Reread of seq=37288, blocknum=1, file=/ARCH/arch_1_37288_632509987.dbf, found same corrupt data  
  10. Reread of seq=37288, blocknum=1, file=/ARCH/arch_1_37288_632509987.dbf, found same corrupt data  
  11. Reread of seq=37288, blocknum=1, file=/ARCH/arch_1_37288_632509987.dbf, found same corrupt data  
  12. *** 

信息比較詳細,說37288號歸檔日志Header損壞,無法讀取數據。

提一個小問題:如果你遇到了這樣的錯誤?會怎樣思考?

如果這個歸檔日志損壞了,其實我們仍然有辦法跳過去,繼續嘗試恢復其他日志,但是客戶數據重要,不能容忍不一致性,這時候就只能放棄部分數據,由前臺重新提交數據了。這在業務上可以實現,也就不是大問題了。

好了,問題是為什么日志會損壞?是如何損壞的?

我首先要做的就是,看看日志文件的內容,通過最簡單的命令將日志文件中的內容輸出出來: 

  1. strings arch_1_37288_632509987.dbf > log.txt 

然后檢查生成的這個日志文件,我們就發現了問題。

在這個歸檔日志文件中,被寫入了大量的跟蹤文件內容,其中開頭部分就是一個跟蹤文件的全部信息。

這是一種我從來沒有遇到過的現象,也就是說,當操作系統在寫出跟蹤文件時,錯誤的覆蓋掉了已經存在的歸檔文件,***導致歸檔日志損壞,非常奇妙,從所未見。

***我的判斷是,這個故障應當是操作系統在寫出時出現了問題,存在文件的空間仍然被認為是可寫的,這樣就導致了寫沖突,出現這類問題,應當立即檢查硬件,看看是否是硬件問題導致了如此嚴重的異常(日志做了掩碼脫敏)。 

  1. Dump file /ADMIN/bdump/erp_p007_19216.trc  
  2. Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production  
  3. With the Partitioning, OLAP and Data Mining options  
  4. ORACLE_HOME = /DBMS/erp/erpdb/10g  
  5. Linux  
  6. eygle.com  
  7. 2.6.9-34.ELhugemem  
  8. #1 SMP Fri Feb 24 17:04:34 EST 2006  
  9. i686  
  10. Instance name: erp  
  11. Redo thread mounted by this instance: 1  
  12. Oracle process number: 22  
  13. Unix process pid: 19216, image: oracle@eygle.com (P007)  
  14. *** SERVICE NAME:() 2010-11-10 10:37:26.247  
  15. *** SESSION ID:(2184.1) 2010-11-10 10:37:26.247  
  16. *** 2010-11-10 10:37:26.247  
  17. KCRP: blocks claimed = 61, eliminated = 0  
  18. ----- Recovery Hash Table Statistics ---------  
  19. Hash table buckets = 32768  
  20. Longest hash chain = 1  
  21. Average hash chain = 61/61 = 1.0  
  22. Max compares per lookup = 0  
  23. Avg compares per lookup = 0/61 = 0.0  
  24. ----------------------------------------------  
  25. ----- Recovery Hash Table Statistics ---------  
  26. Hash table buckets = 32768  
  27. Longest hash chain = 1  
  28. Average hash chain = 61/61 = 1.0  
  29. Max compares per lookup = 1  
  30. Avg compares per lookup = 1426/1426 = 1.0  
  31. ----------------------------------------------  
  32. \GPAYMENTdxn  
  33. AP_CHECKS  
  34. Q(xn  
  35. .1=N  
  36. \Gxn  
  37. .1=N  
  38. ^0e   
  39. ^0e!  
  40. ^0e"  
  41. ^0e#  
  42. ^0e$  
  43. ^0e%  
  44. ^0e&  
  45. ^0e'  
  46. ^0e(  
  47. ^0e)  
  48. ^0e*  
  49. ^0e+  
  50. ^0e+  
  51. ^0e&  
  52. ^ij1  
  53. R0:b  
  54. Q(xn  
  55. PaymentsN  
  56. a'VND  
  57. Userxn  
  58. AP_INVOICE_PAYMENTS  
  59. 105273  
  60. 5406105305-20101020-003  
  61. 3001CASH CLEARING  
  62. CREATED  
  63. Dump file /ADMIN/bdump/erp_p002_19206.trc  
  64. Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production  
  65. With the Partitioning, OLAP and Data Mining options  
  66. ORACLE_HOME = /DBMS/erp/erpdb/10g  
  67. Linux  
  68. eygle.com  
  69. 2.6.9-34.ELhugemem  
  70. #1 SMP Fri Feb 24 17:04:34 EST 2006  
  71. i686  
  72. Instance name: erp  
  73. Redo thread mounted by this instance: 1  
  74. Oracle process number: 17  
  75. Unix process pid: 19206, image: oracle@eygle.com (P002)  
  76. *** SERVICE NAME:() 2010-11-10 10:37:26.263  
  77. *** SESSION ID:(2187.1) 2010-11-10 10:37:26.263  
  78. *** 2010-11-10 10:37:26.263  
  79. KCRP: blocks claimed = 84, eliminated = 0  
  80. ----- Recovery Hash Table Statistics ---------  
  81. Hash table buckets = 32768  
  82. Longest hash chain = 1 
  83. Average hash chain = 84/84 = 1.0  
  84. Max compares per lookup = 0  
  85. Avg compares per lookup = 0/84 = 0.0  
  86. ----------------------------------------------  
  87. ----- Recovery Hash Table Statistics --------  
  88. Hash table buckets = 32768  
  89. Longest hash chain = 1  
  90. Average hash chain = 84/84 = 1.0  
  91. Max compares per lookup = 1  
  92. Avg compares per lookup = 880/880 = 1.0  
  93. ----------------------------------------------  
  94. ^A&A  
  95. ^1b#  
  96. ^1b!  
  97. ^1b"  
  98. ^0e'  
  99. ^Mj8  
  100. ^;&3  
  101. 2010PS_Legal Entity  
  102. ^6&L  
  103. Eoi_VND  
  104. Quick Payment: ID=47708 

如此少見的案例,在此與大家分享。

那么關于『靜默錯誤』近年的進展有哪些呢?其實已經很少能夠看到 Oracle 和存儲廠商的進一步合作了,因為 Oracle 通過 ASM 技術的革新,通過針對 Linux 的增強,Oracle 逐步去強化和解決這些問題,尤其是在其自主的 Exadata 一體機中。

對于以上談到的 『Oracle以外的程序對Oracle數據的錯誤寫入』情形,在 Oracle 12c中,通過 ASM 實現的 ASM FD特性,Oracle 可以將外部寫錯完全隔絕。參考文章:Oracle 12c ASM 防火防盜新特性揭秘 。

參考文獻:

  • http://www.oracle.com/technetwork/articles/servers-storage-dev/silent-data-corruption-1911480.html
  • https://docs.oracle.com/cd/B12037_01/server.101/b10726/apphard.htm
  • https://bartsjerps.wordpress.com/2011/12/14/oracle-data-integrity/ 
責任編輯:龐桂玉 來源: 數據和云
相關推薦

2011-05-26 14:43:49

ORACLE數據庫異常處理

2022-08-16 14:40:09

SQL數據庫內存結構

2011-06-03 09:22:04

OracleOracle應用服務器

2011-05-26 13:36:40

Oracle數據庫時間處理

2010-04-07 14:22:46

2009-05-18 13:18:54

字符Oracle字符串

2010-04-09 14:37:08

Oracle數據庫

2011-04-11 16:50:13

Oracle數據庫索引

2010-04-19 16:01:54

2011-03-29 10:47:49

ORACLE數據庫

2009-09-02 18:52:38

Oracle數據庫并行

2011-05-11 13:25:57

Oracle數據庫后備恢復

2011-03-23 16:54:38

數據庫聯機處理

2018-01-24 19:59:03

數據庫Oracle壞塊

2011-03-17 14:09:25

Oracle數據庫字符

2022-11-28 09:06:40

Oracle數據庫MySQL

2010-04-19 13:56:19

Oracle數據庫服務

2015-07-23 17:02:55

oracle創建數據庫

2011-04-12 10:59:46

Oracle數據庫

2011-04-13 14:58:16

Oracle數據庫刪除
點贊
收藏

51CTO技術棧公眾號

日本一级淫片演员| 国产免费成人av| 国产精品久久无码| 天然素人一区二区视频| 国产精品二区一区二区aⅴ污介绍| 国产日本欧美一区二区三区| 青青青在线视频| 欧美尿孔扩张虐视频| 色视频成人在线观看免| 伊甸园精品99久久久久久| 精品人妻一区二区三区蜜桃| 99视频在线精品国自产拍免费观看| 亚洲人成网7777777国产| а 天堂 在线| 中文字幕乱码中文乱码51精品| 国产精品久久久久aaaa樱花| 国产精品一区二区a| 国产精品成人无码| 欧美日韩在线大尺度| 亚洲男女性事视频| 欧美一区二区三区影院| 精品欧美一区二区三区在线观看 | 日韩av一区二区三区四区| 久久视频在线免费观看| 欧美 日本 国产| 精品国产亚洲一区二区三区大结局| 欧美性猛交xxxx免费看| 欧美乱做爰xxxⅹ久久久| 成年人在线视频免费观看| 成人97人人超碰人人99| 亚洲自拍欧美色图| 瑟瑟视频在线免费观看| 欧美亚洲一级| 韩国国内大量揄拍精品视频| 男人晚上看的视频| re久久精品视频| 国产午夜精品理论片a级探花| 欧美一级大片免费看| 国产精品3区| 欧美日韩一区中文字幕| 黄色片久久久久| www成人免费观看| 亚洲亚洲人成综合网络| 91成人在线视频观看| 婷婷成人激情| 国产精品日韩成人| 午夜精品一区二区三区四区| 黄色软件在线| 国产亚洲综合色| 欧美极品视频一区二区三区| 五十路在线视频| 成人国产亚洲欧美成人综合网| 91麻豆精品秘密入口| 国产深喉视频一区二区| 国产美女在线观看一区| 91在线中文字幕| a天堂在线观看视频| 国产精品白丝av| y111111国产精品久久婷婷| 国产后入清纯学生妹| 国产二区国产一区在线观看| 成人资源av| 欧美综合视频在线| youjizz国产精品| 精品免费二区三区三区高中清不卡| 日本韩国免费观看| 久久亚洲一区二区三区四区| 日韩不卡av| 秋霞影院午夜丰满少妇在线视频| 日韩一区欧美一区| 久久久久久久久影视| 欧美家庭影院| 欧美日韩亚洲成人| 最近免费中文字幕中文高清百度| 88xx成人永久免费观看| 欧美日韩国产免费一区二区 | 欧洲精品一区二区三区久久| 17videosex性欧美| 色菇凉天天综合网| 亚洲一级免费在线观看| 深夜福利一区| 亚洲免费高清视频| 又色又爽的视频| 中文一区一区三区免费在线观看| 免费91在线视频| 在线观看精品国产| 久久一二三四| 91在线|亚洲| 深夜福利免费在线观看| 国产精品久久一卡二卡| 日本福利视频在线观看| 亚洲永久av| 91精品国产色综合久久不卡电影| 日本天堂在线播放| 激情综合网五月| 欧美成人网在线| 久久青青草原亚洲av无码麻豆| 蜜桃视频第一区免费观看| 91免费观看| 国产视频二区在线观看| 一区二区免费在线播放| 久久久久久久少妇| 国产精品45p| 色狠狠久久aa北条麻妃| 国产乡下妇女做爰视频| 日本aⅴ精品一区二区三区| 99三级在线| www.亚洲免费| 动漫精品一区二区| 永久看看免费大片| 欧美一区二区三区高清视频| 久久久久国产精品一区| 在线观看色网站| 91网页版在线| 国产 欧美 日韩 一区| 久久精品黄色| 亚洲欧美另类国产| 黄色小视频在线免费看| 国内欧美视频一区二区| 日本精品免费| 性欧美xxx69hd高清| 欧美一区二区三区在线观看视频| 欧美18—19性高清hd4k| 亚洲毛片在线| 91精品在线观看视频| 国产理论电影在线观看| 午夜精品久久久| 成人做爰69片免费| 国产精品久久久久久| 国产999精品久久久影片官网| 精品国产乱码久久久久久蜜臀网站| 久久久国际精品| 日韩精品xxxx| 国产在线播放精品| 欧美成人午夜激情视频| 国产日韩在线观看一区| 中文字幕一区二区三区精华液| aaaaaa亚洲| 亚洲美女久久| 97成人超碰免| 婷婷开心激情网| 亚洲国产精品久久不卡毛片| 免费看三级黄色片| 欧美成熟视频| 91亚洲国产成人久久精品网站| 一区二区高清不卡| 欧美日韩一级片网站| 日本人亚洲人jjzzjjz| 老司机精品视频网站| 欧美一区二区高清在线观看| 韩日成人影院| 亚洲最新中文字幕| 中文字幕你懂的| 国产精品蜜臀在线观看| 成人日韩在线视频| 亚洲色图网站| 粉嫩高清一区二区三区精品视频 | 影音先锋成人在线电影| 成人免费视频在线观看超级碰| 99青草视频在线播放视| 欧美久久久久久蜜桃| 日本黄色片免费观看| 国产美女精品在线| 国产一区二区三区在线免费| 国产福利一区二区精品秒拍| 久久久久久尹人网香蕉| 亚洲色偷精品一区二区三区| 日韩欧美亚洲成人| 欧美日韩国产黄色| 国产一区啦啦啦在线观看| 久久久99精品视频| 久9re热视频这里只有精品| 浅井舞香一区二区| 99视频在线观看地址| 日韩亚洲欧美在线| 中文字幕亚洲精品在线| 国产欧美一区二区精品久导航 | 亚洲精品69| 久久69精品久久久久久国产越南| 国产91免费看| 色嗨嗨av一区二区三区| 侵犯稚嫩小箩莉h文系列小说| 岛国一区二区三区| 99精品视频播放| 99久久夜色精品国产亚洲96| 国产精品国产三级国产专区53 | 狠狠综合久久| 欧美日韩亚洲免费| 国产在线不卡一区二区三区| 91av视频在线| 国产日产一区二区三区| 精品国产a毛片| 免费看av在线| 亚洲最色的网站| 99精品全国免费观看| 高清成人免费视频| 五月婷婷深爱五月| 黄色精品免费| 在线观看日本一区| 日韩有码一区| 91嫩草免费看| 日本欧美一区| 午夜免费日韩视频| 黄色精品免费看| 亚洲欧美制服中文字幕| a视频免费在线观看| 在线视频亚洲一区| 国产精品成人av久久| 国产精品久久久久四虎| 人妻无码中文久久久久专区| 激情五月婷婷综合| 国内外免费激情视频| 欧美日韩国产欧| 亚洲欧美日产图| 亚洲a级精品| 国产精品久久久久久久久久久久午夜片 | 欧美freesex8一10精品| 亚洲xxxxx性| 91天天综合| 日韩av大片在线| 国产精品论坛| 欧美极度另类性三渗透| 国产高清一区二区三区视频| 中文字幕国产亚洲2019| 免费在线国产| 日韩成人高清在线| 男人天堂综合网| 日韩免费一区二区三区在线播放| 亚洲手机在线观看| 欧美在线观看视频在线| 免费的毛片视频| 欧美性高潮在线| 国产性xxxx高清| 精品国产91久久久久久老师| 国产在线视频二区| 一区二区高清免费观看影视大全| 999精品视频在线观看播放| 国产免费成人在线视频| 国产全是老熟女太爽了| 2023国产精品视频| 日本japanese极品少妇| av亚洲精华国产精华精华| 男女性杂交内射妇女bbwxz| 国产成人av电影免费在线观看| 久久久久久久久久毛片| 国产一区二区在线视频| 亚洲av无日韩毛片久久| 国产麻豆精品久久一二三| 先锋资源在线视频| 国产精品乡下勾搭老头1| 18禁一区二区三区| 成人看片黄a免费看在线| 折磨小男生性器羞耻的故事| 成人免费三级在线| 朝桐光av一区二区三区| 91丝袜高跟美女视频| 亚洲国产无码精品| 国产视频视频一区| 18啪啪污污免费网站| 中文字幕亚洲视频| 日韩欧美123区| 亚洲影院理伦片| 一级片中文字幕| 在线观看91精品国产入口| 在线视频 中文字幕| 欧美一区二区三区免费视频| 午夜精品无码一区二区三区 | 成人综合影院| 精品国产视频在线| 欧美人动性xxxxz0oz| 97热在线精品视频在线观看| 性爽视频在线| 成人a视频在线观看| 91嫩草精品| 免费av一区二区三区| 日韩欧美午夜| 大胆欧美熟妇xx| 国产精品一区毛片| 亚洲另类第一页| 成人一区二区三区在线观看| 女~淫辱の触手3d动漫| 亚洲天堂精品在线观看| 日韩av电影网址| 欧美色网站导航| 不卡av中文字幕| 亚洲欧美日韩国产精品| h视频网站在线观看| 欧美国产日韩一区| 肉色欧美久久久久久久免费看| 成人精品福利视频| 首页亚洲中字| 中文字幕中文字幕99 | 亚洲女女做受ⅹxx高潮| 日韩精品视频播放| 欧美精品在线观看一区二区| 五月激情婷婷网| 欧美成人性色生活仑片| 丝袜美腿一区| 动漫美女被爆操久久久| 国产真实有声精品录音| 国产欧美精品aaaaaa片| 理论片日本一区| 三级电影在线看| 亚洲资源中文字幕| 一级α片免费看刺激高潮视频| 亚洲高清色综合| a免费在线观看| 国产精品视频永久免费播放| 九九热播视频在线精品6| 成人高清dvd| 美腿丝袜亚洲色图| 97伦伦午夜电影理伦片| 一区二区三区日本| 亚洲专区第一页| 国产亚洲人成网站在线观看| 国产在线美女| 99re视频在线| 国产精品毛片一区二区在线看| 黑森林福利视频导航| 成人免费视频免费观看| 2018天天弄| 欧美精品三级在线观看| 二区在线视频| 日本高清不卡在线| 欧美黄色影院| 精品无码一区二区三区爱欲| 国产精品夜夜嗨| 日韩av手机在线免费观看| 欧美日韩亚洲丝袜制服| 国产三级电影在线| 日本韩国在线不卡| 久久人人爽人人爽人人片av不| 欧美少妇在线观看| 精品一区二区三区在线播放视频 | 午夜欧美在线一二页| 亚洲av无码片一区二区三区| 久久亚洲精品国产亚洲老地址| 精品久久毛片| 亚洲综合网中心| 精品无码三级在线观看视频| 精品少妇一区二区三区密爱| 欧美日韩dvd在线观看| 日本电影在线观看网站| 国产欧美日韩中文字幕| 色无极亚洲影院| 亚洲精品永久视频| 亚洲视频中文字幕| 国产xxxx孕妇| 欧美极品少妇xxxxⅹ裸体艺术| 欧美高清一级片| 欧美视频在线第一页| 丁香桃色午夜亚洲一区二区三区| 欧美日韩在线观看成人| 精品少妇一区二区三区日产乱码| 亚洲资源一区| 国产伦精品一区二区三区免费视频 | 精品99re| 97超碰国产精品| 99精品国产91久久久久久| 中文字幕在线欧美| 国产亚洲精品高潮| 国产一区二区三区免费在线| 91午夜在线观看| 久久久高清一区二区三区| 亚洲婷婷久久综合| 久久久999国产精品| 中文字幕区一区二区三| 久久精品国产精品亚洲色婷婷| 久久免费偷拍视频| 亚洲一区二区天堂| 欧美丰满老妇厨房牲生活| 日本成人中文| 57pao国产成永久免费视频| 亚洲精品水蜜桃| 深夜福利在线看| 国产精品自在线| 欧美日韩午夜| 精品欧美一区二区久久久| 51精品秘密在线观看| 国产激情在线播放| 亚洲精品欧美精品| 成人综合婷婷国产精品久久蜜臀| 久久99精品波多结衣一区| 日日摸夜夜添一区| silk一区二区三区精品视频| 日本在线观看a| 亚洲柠檬福利资源导航| 黄上黄在线观看| 亚洲精品日韩av| 久久亚洲风情| 久草视频在线免费看| 亚洲色图第一页| 视频一区日韩| 欧美伦理片在线看| 亚洲午夜精品网| 日本中文字幕电影在线免费观看 | 色综合久久中文字幕| gogo在线高清视频| 日韩欧美一区二区在线观看 | 亚洲午夜精品久久久久久高潮|