亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PostgreSQL熱備原理研究及流復(fù)制運(yùn)用

        2018-07-12 10:42:54付莎
        電腦知識與技術(shù) 2018年12期
        關(guān)鍵詞:高可用性熱備

        付莎

        摘要:高可用性(HA-High Availability)是所有商用數(shù)據(jù)庫系統(tǒng)必須具備的一項(xiàng)基本功能。該文闡述了PostgreSQL數(shù)據(jù)庫的高可用性的實(shí)現(xiàn)原理及方法,并對PostgreSQL數(shù)據(jù)庫的原生流復(fù)制功能實(shí)現(xiàn)高可用性熱備功能進(jìn)行了應(yīng)用描述。

        關(guān)鍵詞:PostgreSQL;高可用性;熱備;流復(fù)制

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)12-0001-03

        Abstract: HA-High Availability is a basic function that all commercial database systems must have. This paper describes the realization principles and methods of HA-high availability PostgreSQL database, and describes the application of PostgreSQL database's native streaming replication function to achieve high availability hot standby function.

        Key words: PostgreSQL; HA-High Availability; hot standby; streaming replication

        PostgreSQL是一套企業(yè)級的、跨平臺、高度可定制的、功能強(qiáng)大的開源數(shù)據(jù)庫系統(tǒng)。其可靠性、穩(wěn)定性、數(shù)據(jù)一致性等獲得了業(yè)界內(nèi)極高的聲譽(yù)。是唯一能實(shí)現(xiàn)數(shù)據(jù)零丟失的開源數(shù)據(jù)庫系統(tǒng)。隨著PostgreSQL的商用逐漸推動,在數(shù)據(jù)庫市場上成為對標(biāo)Oracle,MSSQL等傳統(tǒng)大型商業(yè)數(shù)據(jù)庫的有力競爭者[1]。

        數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)是所有一切的基礎(chǔ)。數(shù)據(jù)的安全性和一致性是數(shù)據(jù)庫系統(tǒng)中的重中之重。數(shù)據(jù)可能由于不可預(yù)見的各種原因丟失或損壞,因此數(shù)據(jù)的備份成為保證數(shù)據(jù)安全性的一個重要的后備手段。在此方面,企業(yè)級的PostgreSQL提供了多種功能特性保障數(shù)據(jù)的安全和可用性。

        1 PostgreSQL數(shù)據(jù)備份

        PostgreSQL可實(shí)現(xiàn)三種不同級別的數(shù)據(jù)備份方法:

        SQL轉(zhuǎn)儲:利用pg_dump工具將數(shù)據(jù)轉(zhuǎn)儲為標(biāo)準(zhǔn)SQL語句組成的文件。需要時執(zhí)行SQL語句即可恢復(fù)數(shù)據(jù)。此種方式通用性最好,實(shí)現(xiàn)簡便,可在不同版本及不同操作系統(tǒng)間遷移和恢復(fù)數(shù)據(jù)。缺點(diǎn)為只能實(shí)現(xiàn)數(shù)據(jù)庫的定期及全量備份。

        文件系統(tǒng)級別備份:利用文件系統(tǒng)直接復(fù)制PostgreSQL數(shù)據(jù)文件進(jìn)行備份操作,獲取一個數(shù)據(jù)文件的“快照”。需要恢復(fù)或遷移時,再將“快照”文件拷貝至目標(biāo)路徑。此種方式實(shí)現(xiàn)簡便,但限制條件也比較苛刻。(1)備份和恢復(fù)時,目標(biāo)數(shù)據(jù)庫必須停機(jī)操作。在一些特定系統(tǒng)中,停機(jī)是無法接受的。(2)只能備份和恢復(fù)整臺服務(wù)器,不能有針對性的操作某一特定的數(shù)據(jù)庫,數(shù)據(jù)容量巨大。(3)操作系統(tǒng)和PostgreSQL版本必須一致。

        連續(xù)歸檔和時間點(diǎn)恢復(fù)(PITR):利用PostgreSQL提供的WAL(預(yù)寫式日志)文件的連續(xù)歸檔特性,“備份”WAL文件。在“基礎(chǔ)備份”的基礎(chǔ)上,當(dāng)需要恢復(fù)和遷移數(shù)據(jù)時,目標(biāo)數(shù)據(jù)庫上“重放”WAL,使目標(biāo)數(shù)據(jù)庫與原始數(shù)據(jù)庫數(shù)據(jù)保持一致。基于“重放”WAL,可實(shí)現(xiàn)“增量”備份、“任意時間點(diǎn)”恢復(fù)、“溫備”和“熱備”等多種備份方式。此種方式技術(shù)實(shí)現(xiàn)相比較最為復(fù)雜,但可靠性和靈活性上卻最高。在保障系統(tǒng)高可用性情況下,應(yīng)是首選備份技術(shù)[2][4]。

        以上三種數(shù)據(jù)備份方式各有優(yōu)缺點(diǎn),但相比較下,只有使用WAL連續(xù)歸檔技術(shù)實(shí)現(xiàn)數(shù)據(jù)備份、故障遷移,保障高可用性最為有效和便捷。

        2 備份原理

        2.1 WAL文件

        WAL(Write Ahead Log)預(yù)寫式日志文件是PostgreSQL中一個重要機(jī)制。作用與Oracle中redo log文件作用類似。用于保障數(shù)據(jù)的一致性以及事務(wù)的完整性。避免系統(tǒng)在崩潰時數(shù)據(jù)還在某級緩沖中,沒來得及寫入持久化文件中的臟數(shù)據(jù)產(chǎn)生的數(shù)據(jù)不一致性。具體來說,WAL的核心概念是數(shù)據(jù)文件的修改必須在這些動作被日志記錄之后才被寫入。WAL記錄了完整的操作數(shù)據(jù)以及動作,先于數(shù)據(jù)被寫入數(shù)據(jù)文件前順序?qū)懭胛募到y(tǒng)。WAL中的每一條記錄使用CRC-32校驗(yàn)碼保護(hù),首先就保證了WAL的完整性。當(dāng)系統(tǒng)需要重建數(shù)據(jù)時,由于WAL先于數(shù)據(jù)寫入,則可順序“回放”WAL文件中的先前數(shù)據(jù)和操作,直至某一設(shè)定時間點(diǎn)或WAL文件末尾停止,從而達(dá)到和先前一致的數(shù)據(jù)庫狀態(tài)。

        WAL被PostgreSQL默認(rèn)劃分成16MB的段文件,按一定規(guī)則順序命名文件并保存于系統(tǒng)pg_xlog目錄下。默認(rèn)情況下WAL被設(shè)置為minimal級別,該級別下某些批量操作的WAL可以被安全的跳過,這樣這些操作能更快地完成。但該級別不包含有足夠的信息來從基礎(chǔ)備份和WAL來重建數(shù)據(jù)。因此構(gòu)架高可用性系統(tǒng)時必須設(shè)置高于minimal的級別使用,例如archive或更高級別,以保證WAL包含有足夠的重建數(shù)據(jù)信息[2]。

        2.2 啟用WAL歸檔、傳輸實(shí)現(xiàn)備份

        當(dāng)系統(tǒng)啟用archive或更高級別的WAL級別時,我們可通過歸檔WAL文件實(shí)現(xiàn)數(shù)據(jù)的備份。Postgresql并沒有限定我們怎么樣歸檔數(shù)據(jù),而是提供了一個參數(shù)來自定義歸檔動作。當(dāng)WAL文件產(chǎn)生后,我們可以簡單的設(shè)置參數(shù)為拷貝WAL文件至另一磁盤驅(qū)動器目錄,或執(zhí)行復(fù)雜腳本將WAL傳輸至網(wǎng)絡(luò)上另一臺服務(wù)器。

        利用上述WAL技術(shù)特性,我們可以簡單的描述實(shí)現(xiàn)“雙機(jī)熱備”的過程。(1)設(shè)置主機(jī)歸檔模式wal_level為archive;(2)主機(jī)使用PostgreSQL提供的pg_basebackup等工具制作一次基礎(chǔ)備份并將備份文件拷貝至備機(jī),完成一次主被機(jī)間的基礎(chǔ)備份;(3)主機(jī)產(chǎn)生WAL文件后通過archive_command參數(shù)調(diào)度命令傳輸至備機(jī);(4)備機(jī)接收到WAL文件后,持續(xù)恢復(fù)主機(jī)的WAL文件,最大限度跟上主機(jī)數(shù)據(jù)產(chǎn)生速度[1][7]。

        當(dāng)主機(jī)發(fā)生故障時,此時由于主備機(jī)間傳輸WAL文件可能具有一定的延時原因或主機(jī)WAL文件并沒有填充完一塊(默認(rèn)16MB),還沒有開始傳輸,主備機(jī)間數(shù)據(jù)可能并不一致,備機(jī)落后于主機(jī)。此時如果使用故障遷移并使用備機(jī)提供數(shù)據(jù)服可能存在一定的數(shù)據(jù)丟失,但在某種程度上已經(jīng)最大限度地保證了系統(tǒng)的可用性[2]。

        2.3 PostgreSQL熱備

        通過上述WAL文件在主備服務(wù)器間的歸檔、傳輸以及重放,我們已經(jīng)了解了PostgreSQL的“溫備”原理。如需進(jìn)一步提升備份級別,實(shí)現(xiàn)真正意義上的熱備,我們必須通過其他技術(shù)手段減小主備服務(wù)器間的數(shù)據(jù)同步延時,實(shí)現(xiàn)主備服務(wù)器間的快速同步。

        3流復(fù)制

        3.1 流復(fù)制原理

        PostgreSQL流復(fù)制是PostgreSQL9.0版本后才提供的功能,它的基本原理與上述主服務(wù)器WAL日志歸檔后傳輸至備服務(wù)器并重放以保證主備服務(wù)器數(shù)據(jù)一致情形類似。但流復(fù)制從PostgreSQL系統(tǒng)層面對這一過程進(jìn)行了簡化。首先主備服務(wù)器間使用PostgreSQL提供的TCP協(xié)議建立網(wǎng)絡(luò)連接,不再使用archive_command參數(shù)命令進(jìn)行第三方WAL文件傳輸。主服務(wù)器在數(shù)據(jù)變動并產(chǎn)生WAL記錄后(并不需要完整一塊16MB文件,僅為一次操作記錄)立即將記錄以TCP數(shù)據(jù)流的方式傳送給備服務(wù)器,而不必等到 WAL文件被填充后成才進(jìn)行傳輸[2]。此種機(jī)制極大的縮減了主備服務(wù)器間的數(shù)據(jù)同步延遲,擁有更高效的可用度。同時PostgreSQL9.0版本后提供了Hot Standby功能,支持備機(jī)在流復(fù)制基礎(chǔ)上同步主服務(wù)器數(shù)據(jù)的同時還能提供備機(jī)數(shù)據(jù)的只讀訪問。此特性極大地提升了用戶體驗(yàn),也使數(shù)據(jù)庫的讀寫分離、負(fù)載均衡等功能從PostgreSQL系統(tǒng)層面提供了技術(shù)實(shí)現(xiàn)(之前版本只能通過第三方插件形式實(shí)現(xiàn))。PostgreSQL9.2版本后提供了級聯(lián)復(fù)制功能,在實(shí)現(xiàn)主備服務(wù)器流復(fù)制數(shù)據(jù)同步的同時,備服務(wù)器還可將WAL轉(zhuǎn)發(fā)給其他下位備機(jī),實(shí)現(xiàn)更大規(guī)模的集群。流復(fù)制技術(shù)為數(shù)據(jù)庫的熱備、高可用性、負(fù)載均衡等提供了原生技術(shù)支持[5][6]。

        當(dāng)啟用PostgreSQL主備服務(wù)器流復(fù)制功能后,將有walsender、walreceiver和startup三個進(jìn)程啟動參與整個流復(fù)制功能。簡單來說walsender進(jìn)程從主服務(wù)器啟動,主要負(fù)責(zé)將主服務(wù)器產(chǎn)生的WAL日志記錄發(fā)送給下位機(jī);walreceiver進(jìn)程則從備服務(wù)器啟動,對應(yīng)walsender進(jìn)程與之通訊,主要負(fù)責(zé)接收上位機(jī)發(fā)送的WAL日志記錄;startup進(jìn)程則從備服務(wù)器啟動,主要負(fù)責(zé)將walreceiver進(jìn)程接收到WAL日志記錄在備服務(wù)器上“回放”,以便達(dá)到主備服務(wù)器間的數(shù)據(jù)同步。在級聯(lián)模式下,一臺備服務(wù)器可能同時啟動三個進(jìn)程,即既負(fù)責(zé)接收上位機(jī)的WAL日志記錄并回放,同時也將WAL日志記錄繼續(xù)發(fā)往下位機(jī)[3][5]。

        3.2 異步流復(fù)制

        PostgreSQL默認(rèn)情況下啟用的為異步流復(fù)制模式。此模式下主服務(wù)器不等待備機(jī)確認(rèn),主服務(wù)器上數(shù)據(jù)成功提交即視為操作完成。并將完成結(jié)果反饋給前臺提交此操作的客戶端。

        假設(shè)上述操作完成后主服務(wù)器崩潰,某些已被提交的WAL日志還沒來得及復(fù)制到備服務(wù)器(例如網(wǎng)絡(luò)延時等),如此時進(jìn)行了故障遷移,由于備服務(wù)器上則沒有這筆操作數(shù)據(jù),但此時前臺客戶端卻得到了操作成功指令,這時將導(dǎo)致數(shù)據(jù)丟失。

        再如主服務(wù)器上數(shù)據(jù)已成功提交,但還沒來得及復(fù)制到備服務(wù)器(例如網(wǎng)絡(luò)延時),并且運(yùn)行著負(fù)載均衡架構(gòu),備服務(wù)器提供只讀查詢服務(wù),那么此時使用備服務(wù)器查詢到的結(jié)果將和主服務(wù)器數(shù)據(jù)不同,產(chǎn)生了數(shù)據(jù)不一致。

        異步流復(fù)制雖然有可能產(chǎn)生上述問題,但異步流復(fù)制只需主服務(wù)確認(rèn)即可的特性大大提升了系統(tǒng)的負(fù)載。在部分非關(guān)鍵的系統(tǒng)應(yīng)用中也是一種可選方案[2]。

        3.3 同步流復(fù)制

        PostgreSQL開啟配置參數(shù)synchronous_commit=on即可開啟同步流復(fù)制。同步流復(fù)制能夠保證一個事務(wù)的所有修改都能被傳送到一臺同步備服務(wù)器。在請求同步流復(fù)制時,一個寫事務(wù)的每次提交將一直等待,直到收到一個確認(rèn)表明該提交在主服務(wù)器和備服務(wù)器上都已經(jīng)被寫入到磁盤上的事務(wù)日志中。即保證主備服務(wù)器WAL日志雙雙落盤才返回成功[2][6]。此時雖然增加了主備服務(wù)期間來回通訊確認(rèn)的等待時間,延長了前臺客戶端請求事務(wù)的響應(yīng)時間。但等待確認(rèn)提高了用戶對于修改不會丟失的信心。此外如果有多臺備服務(wù)器連接主服務(wù)器進(jìn)行數(shù)據(jù)同步,通過配置參數(shù)synchronous_standby_names,還可設(shè)置等待全部或其中某幾臺完成WAL落盤確定即返回成功。在多臺數(shù)據(jù)同步的集群中,可在高可用性和系統(tǒng)性能上找到一個平衡點(diǎn)[2][7]。

        4 流復(fù)制應(yīng)用

        上述已就PostgreSQL的備份和流復(fù)制構(gòu)建熱備進(jìn)行了原理和理論闡述。本節(jié)將就PostgreSQL雙機(jī)同步流復(fù)制實(shí)現(xiàn)熱備和故障遷移應(yīng)用給出實(shí)現(xiàn)方案。目標(biāo):實(shí)現(xiàn)雙機(jī)異地PostgreSQL數(shù)據(jù)庫容災(zāi)熱備。

        預(yù)設(shè)主備機(jī)IP地址:主機(jī)192.10.1.100 備機(jī)192.10.1.101。下述配置文件*.conf都默認(rèn)位于PostgreSQL安裝路徑data目錄下。PostgreSQL9.3以上版本。

        4.1 主機(jī)postgresql.conf文件配置

        設(shè)置listen_addresses = '*';主服務(wù)器開啟監(jiān)聽所有客戶地址訪問許可,默認(rèn)值為只能監(jiān)聽本機(jī)訪問,網(wǎng)絡(luò)上其他服務(wù)器不允許連接。

        設(shè)置wal_level = hot_standby;主服務(wù)WAL日志級別使用hot_standby級別,此級別下日志記錄的信息和上文提到的archive相同,但外加了從WAL重建運(yùn)行事務(wù)狀態(tài)所需的其他信息,流復(fù)制必須設(shè)置此級別。

        設(shè)置max_wal_senders=2;設(shè)置向備服務(wù)器進(jìn)行發(fā)送walsender進(jìn)程的最大連接數(shù)。本例中由于是使用雙機(jī)熱備,連接數(shù)2即可。

        設(shè)置wal_keep_segments = 128;設(shè)置WAL文件被重用的最大值,確保舊的WAL段不會被太早重用(文件系統(tǒng)會對WAL進(jìn)行循環(huán)覆蓋使用以便節(jié)約磁盤空間)。避免由于主機(jī)數(shù)據(jù)量巨大,而備機(jī)還尚未處理,而主機(jī)已經(jīng)覆蓋了待未傳輸至備機(jī)處理的WAL文件??筛鶕?jù)系統(tǒng)負(fù)載情況調(diào)整[2]。

        設(shè)置synchronous_commit=on;設(shè)置事務(wù)為同步模式。保證備機(jī)將提交記錄寫入到持久化存儲中,主機(jī)事務(wù)才能成功返回[1][7]。

        4.2 主機(jī)pg_hba.conf文件配置

        增加配置項(xiàng):host replication postgres 192.10.1.101/32 md5;增加IP192.10.1.101備機(jī)使用用戶postgres 使用流復(fù)制功能訪問許可。

        上述配置完畢后重啟PostgreSQL數(shù)據(jù)庫,以便新設(shè)置項(xiàng)生效。

        4.3 主機(jī)進(jìn)行基礎(chǔ)備份

        a.開啟pgsql程序,執(zhí)行命令:select pg_start_backup('basebackup');此命令將使系統(tǒng)進(jìn)入備份模式,執(zhí)行基礎(chǔ)備份。

        b.待執(zhí)行完畢后拷貝出data數(shù)據(jù)目錄備用。

        c.拷貝完畢后執(zhí)行select pg_stop_backup();此命令系統(tǒng)終止備份模式并讓在備份期間寫入的最后一個WAL段文件能準(zhǔn)備好被歸檔[1][2]。

        4.4 備機(jī)拷貝文件

        刪除備機(jī)data目錄下所有文件,并將上一步主機(jī)拷貝出的data目錄下所有文件拷貝至備機(jī)data目錄下。

        4.5 備機(jī)postgresql.conf文件配置

        設(shè)置hot_standby=on;開啟備機(jī)在歸檔恢復(fù)期間或備機(jī)模式下開啟只讀查詢模式。

        4.6 備機(jī)recover.conf文件配置

        備機(jī)創(chuàng)建recover.conf文件,并放置于data目錄下。

        設(shè)置standby_mode = 'on';指定為備機(jī)模式啟動;

        設(shè)置recovery_target_timeline = 'latest';使備機(jī)恢復(fù)到歸檔中能找到的最新的時間線,保持和主機(jī)的數(shù)據(jù)同步。

        設(shè)置primary_conninfo='host=192.10.1.100 user=postgres password=主機(jī)登陸口令';設(shè)置備機(jī)連接主機(jī)進(jìn)行流復(fù)制的連接字符串。

        4.7 備機(jī)啟動

        上述配置完成后啟動備機(jī)即可完成PostgreSQL雙機(jī)同步熱備服務(wù)器配置。

        4.8 故障遷移

        假設(shè)最壞的情況發(fā)生了,主機(jī)崩潰無法繼續(xù)提供服務(wù),此時可使用故障遷移將備機(jī)提升為主機(jī),從只讀模式提升為提供讀寫服務(wù)。保障系統(tǒng)的高可用性。故障遷移必須手動操作,有兩種方式:

        備機(jī)recover.conf配置文件中設(shè)置trigger_file項(xiàng),值為某一系統(tǒng)中文件路徑。在服務(wù)器作為備機(jī)使用時,此路徑上的文件必須不存在。如需將備機(jī)提升為提供讀寫服務(wù)器,則建立此路徑文件即可。當(dāng)備機(jī)檢測到文件存在后,立即退出備機(jī)恢復(fù)模式,提升為獨(dú)立主機(jī)模式,提供完整讀寫服務(wù)。

        在備機(jī)上執(zhí)行pg_ctl premote -D ‘備機(jī)數(shù)據(jù)目錄路徑。效果及原理與a相同,即命令備機(jī)停止備機(jī)恢復(fù)模式,提升為獨(dú)立主機(jī)模式[1]。

        在某些特定應(yīng)用場景下本方案仍具有一定的可優(yōu)化。例如使用PostgreSQL9.4版本后提供的復(fù)制槽(Replication Slots)技術(shù)提供的自動WAL檢測技術(shù),替換wal_keep_segments參數(shù)功能。避免未同步的WAL段被主機(jī)替換刪除?;蛟O(shè)置tcp_keepalive參數(shù),避免長時間的網(wǎng)絡(luò)延時導(dǎo)致前臺客戶端事務(wù)提交的等待時間過長[7]。例如PostgreSQL10版本提供的邏輯復(fù)制技術(shù),只同步應(yīng)用需要的特定表,完成更復(fù)雜的集群應(yīng)用等等[8]。

        至此使用PostgreSQL流復(fù)制功能實(shí)現(xiàn)雙機(jī)熱備服務(wù)器搭建完成。

        參考文獻(xiàn):

        [1] 唐成.PostgreSQL修煉之道[M].機(jī)械工業(yè)出版社,2015.

        [2] The PostgreSQL Global Development Group. Documentation[EB/OL].(2016-09-29). https://www.postgresql.org/docs/.

        [3] 周正中.PostgreSQL同步流復(fù)制原理和代碼淺析[EB/OL].(2016-06-16).https://yq.aliyun.com/articles/55676.

        [4] [美] 杰亞德萬·梅馬拉(Jayadevan Maymala).數(shù)據(jù)架構(gòu)師的PostgreSQL修煉:高效設(shè)計(jì)、開發(fā)與維護(hù)數(shù)據(jù)庫應(yīng)用[M].機(jī)械工業(yè)出版社,2016.

        [5] [美]Regina Obe,Leo Hsu.PostgreSQL即學(xué)即用[M].人民郵電出版社,2016.

        [6] [英]Simon Riggs,Gianni Ciolli,Gabriele Bartolini.PostgreSQL Administration Cookbook[M]. Packt Publishing,2017.

        [7] [英]Gregory Smith,Ibrar Ahmed.PostgreSQL 9.6 High Performance[M].Packt Publishing,2017.

        [8] 周正中.PostgreSQL 10.0 邏輯復(fù)制原理與最佳實(shí)踐[EB/OL].(2017-02-28).https://yq.aliyun.com/ articles/71128.

        猜你喜歡
        高可用性熱備
        分布式數(shù)據(jù)庫提升醫(yī)院信息系統(tǒng)高可用性的應(yīng)用研究
        反應(yīng)堆用應(yīng)急柴油發(fā)電機(jī)組冷卻水系統(tǒng)故障原因分析及處理 Cause Analysis and Treatment of Failure of Cooling Water System of Emergency Diesel Generator Set for Reactor
        基于絞線式列車總線-以太網(wǎng)網(wǎng)關(guān)的網(wǎng)絡(luò)通信冗余的應(yīng)用
        中國新通信(2021年2期)2021-05-11 19:49:37
        熱備動車組配置方案優(yōu)化模型
        東海區(qū)實(shí)時海洋觀測數(shù)據(jù)庫雙機(jī)熱備系統(tǒng)解決方案
        超長公路隧橋高可用性監(jiān)控平臺方案分析
        ABB 800XA DCS系統(tǒng)在加氫裂化裝置的應(yīng)用
        校園一卡通服務(wù)端高可用性改造實(shí)施方案
        OpenStack云計(jì)算平臺高可用性的研究
        一種虛擬化集群心跳算法
        久久精见国产亚洲av高清热| 国产欧美精品一区二区三区–老狼| 久久婷婷综合色拍亚洲| 久久精品日韩免费视频| 国产三级精品视频2021| 亚洲av无码专区首页| 可以免费在线看黄的网站| 蜜臀av国内精品久久久人妻| 午夜男女靠比视频免费| 国产福利永久在线视频无毒不卡 | 2022Av天堂在线无码| 国产一区二区三区经典| 色佬精品免费在线视频| 亚洲色精品aⅴ一区区三区| 久久狠狠高潮亚洲精品暴力打 | 亚洲成年国产一区二区| 和黑人邻居中文字幕在线| 国产目拍亚洲精品一区二区| 精品一区二区三区中文字幕在线| 国产av一区二区亚洲精品| 国产高清av首播原创麻豆| 亚洲性综合网| 亚洲综合在线一区二区三区| 国产精品国产三级国产av剧情| 失禁大喷潮在线播放| 91精品国产无码在线观看| 成人大片免费视频播放一级| 欧美俄罗斯40老熟妇| 欧美成人精品三级在线观看| 在线观看一区二区三区国产| 最近中文字幕国语免费| 99精品视频69V精品视频| 亚洲区1区3区4区中文字幕码| 男女视频在线观看一区| 无码av免费精品一区二区三区 | 夫妻免费无码v看片| 亚洲粉嫩高潮的18p| 国产精品美女久久久久浪潮AVⅤ| 美女视频一区二区三区在线 | 久久国产精品一国产精品金尊| 国产人在线成免费视频|