午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > postgres主備切換之文件觸發(fā)方式詳解

postgres主備切換之文件觸發(fā)方式詳解

熱門標(biāo)簽:海豐有多少商家沒有地圖標(biāo)注 打電話智能電銷機(jī)器人授權(quán) 美容工作室地圖標(biāo)注 漯河外呼電話系統(tǒng) 地圖標(biāo)注和圖片名稱的區(qū)別 合肥公司外呼系統(tǒng)運營商 辦公外呼電話系統(tǒng) 重慶自動外呼系統(tǒng)定制 外呼調(diào)研系統(tǒng)

本文測試參考PostgresSQL實戰(zhàn)一書。

本文檔測試環(huán)境:

主庫IP:192.168.40.130 主機(jī)名:postgres 端口:5442

備庫IP: 192.168.40.131 主機(jī)名:postgreshot 端口:5442

PostgreSQL9.0版本流復(fù)制主備切換只能通過創(chuàng)建觸發(fā)文件方式進(jìn)行,這一小節(jié)將介紹這種主備切換方式,測試環(huán)境為一主一備異步流復(fù)制環(huán)境,postgres上的數(shù)據(jù)庫為主庫,postgreshot上的數(shù)據(jù)庫為備庫,文件觸發(fā)方式的手工主備切換主要步驟如下:

1)配置備庫recovery.conf文件trigger_file參數(shù),設(shè)置激活備庫的觸發(fā)文件路徑和名稱。

2)關(guān)閉主庫,建議使用-m fast模式關(guān)閉。

3)在備庫上創(chuàng)建觸發(fā)文件激活備庫,如果recovery.conf變成recovery.done表示備庫已經(jīng)切換成主庫。

4)這時需要將老的主庫切換成備庫,在老的主庫的$PGDATA目錄下創(chuàng)建recovery.conf文件(如果此目錄下不存在recovery.conf文件,可以根據(jù)$PGHOME/share/recovery.conf.sample模板文件復(fù)制一個,如果此目錄下存在recovery.done文件,需將recovery.done文件重命名為recovery.conf),配置和老的從庫一樣,只是primary_conninfo參數(shù)中的IP換成對端IP。

5)啟動老的主庫,這時觀察主、備進(jìn)程是否正常,如果正常表示主備切換成功。

1、首先在備庫上配置recovery.conf,如下所示:

[postgres@postgreshot pg11]$ cat recovery.conf | grep -v '^#'
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.40.130 port=5442 user=replica application_name=pg1'  # e.g. 'host=localhost port=5432'
trigger_file = '/home/postgres/pg11/trigger'
[postgres@postgreshot pg11]$ 

trigger_file可以配置成普通文件或隱藏文件,調(diào)整以上參數(shù)后需重啟備庫使配置參數(shù)生效。

2、關(guān)閉主庫,如下所示:

[postgres@postgres pg11]$ pg_ctl stop -m fast
waiting for server to shut down.... done
server stopped
[postgres@postgres pg11]$ 

3、在備庫上創(chuàng)建觸發(fā)文件激活備庫,如下所示:

[postgres@postgreshot pg11]$ ll recovery.conf 
-rwx------ 1 postgres postgres 5.9K Mar 26 18:47 recovery.conf
[postgres@postgreshot pg11]$ 
[postgres@postgreshot pg11]$ touch /home/postgres/pg11/trigger
[postgres@postgreshot pg11]$ ll recovery*
-rwx------ 1 postgres postgres 5.9K Mar 26 18:47 recovery.done
[postgres@postgreshot pg11]$ 

觸發(fā)器文件名稱和路徑需和recovery.conf配置文件trigger_file保持一致,再次查看recovery文件時,發(fā)現(xiàn)后輟由原來的.conf變成了.done

查看備庫數(shù)據(jù)庫日志,如下所示:

2019-03-26 23:30:19.399 EDT [93162] LOG: replication terminated by primary server
2019-03-26 23:30:19.399 EDT [93162] DETAIL: End of WAL reached on timeline 3 at 0/50003D0.
2019-03-26 23:30:19.399 EDT [93162] FATAL: could not send end-of-streaming message to primary: no COPY in progress
2019-03-26 23:30:19.399 EDT [93158] LOG: invalid record length at 0/50003D0: wanted 24, got 0
2019-03-26 23:30:19.405 EDT [125172] FATAL: could not connect to the primary server: server closed the connection unexpectedly
  This probably means the server terminated abnormally
  before or while processing the request.
2019-03-26 23:30:24.410 EDT [125179] FATAL: could not connect to the primary server: could not connect to server: Connection refused
  Is the server running on host "192.168.40.130" and accepting
  TCP/IP connections on port 5442?
2019-03-26 23:31:49.505 EDT [93158] LOG: trigger file found: /home/postgres/pg11/trigger
2019-03-26 23:31:49.506 EDT [93158] LOG: redo done at 0/5000360
2019-03-26 23:31:49.506 EDT [93158] LOG: last completed transaction was at log time 2019-03-26 19:03:11.202845-04
2019-03-26 23:31:49.516 EDT [93158] LOG: selected new timeline ID: 4
2019-03-26 23:31:50.063 EDT [93158] LOG: archive recovery complete
2019-03-26 23:31:50.083 EDT [93157] LOG: database system is ready to accept connections

根據(jù)備庫以上信息,由于關(guān)閉了主庫,首先日志顯示連接不上主庫,接著顯示發(fā)現(xiàn)了觸發(fā)文件,之后顯示恢復(fù)成功,數(shù)據(jù)庫切換成讀寫模式。

這時根據(jù)pg_controldata輸出進(jìn)行驗證,如下所示:

[postgres@postgreshot ~]$ pg_controldata | grep cluster
Database cluster state:  in production
[postgres@postgreshot ~]$ 

以上顯示數(shù)據(jù)庫角色已經(jīng)是主庫角色,在postgreshot上創(chuàng)建一張名為test_alived的表并插入數(shù)據(jù),如下所示:

postgres=# CREATE TABLE test_alived2(id int4);
CREATE TABLE
postgres=# INSERT INTO test_alived2 VALUES(1);
INSERT 0 1
postgres=# 

4、準(zhǔn)備將老的主庫切換成備庫角色,在老的主庫上配置recovery.conf,如下所示:

[postgres@postgres pg11]$ cat recovery.conf | grep -v '^#'
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.40.131 port=5442 user=replica application_name=pg2'  # e.g. 'host=localhost port=5432'
trigger_file = '/home/postgres/pg11/trigger'
[postgres@postgres pg11]$ 

以上配置和postgreshot上的recovery.done配置文件基本一致,只是primary_conninfo參數(shù)的host選項配置成對端主機(jī)IP。

之后在postgres主機(jī)用戶家目錄創(chuàng)建~/.pgpass文件,如下所示:

[postgres@pghost1 ~]$ touch ~/.pgpass
[postgres@pghost1 ~]$ chmod 600 ~/.pgpass

并在~/.pgpass文件中插入以下內(nèi)容:

[postgres@postgres ~]$ cat .pgpass
192.168.40.130:5442:replication:replica:replica
192.168.40.131:5442:replication:replica:replica
[postgres@postgres ~]

之后啟動postgres上的數(shù)據(jù)庫,如下所示:

[postgres@postgres ~]$ pg_ctl start
waiting for server to start....2019-03-26 23:38:50.424 EDT [55380] LOG: listening on IPv4 address "0.0.0.0", port 5442
2019-03-26 23:38:50.424 EDT [55380] LOG: listening on IPv6 address "::", port 5442
2019-03-26 23:38:50.443 EDT [55380] LOG: listening on Unix socket "/tmp/.s.PGSQL.5442"
2019-03-26 23:38:50.465 EDT [55381] LOG: database system was shut down in recovery at 2019-03-26 23:38:20 EDT
2019-03-26 23:38:50.465 EDT [55381] LOG: entering standby mode
2019-03-26 23:38:50.483 EDT [55381] LOG: consistent recovery state reached at 0/50003D0
2019-03-26 23:38:50.483 EDT [55381] LOG: invalid record length at 0/50003D0: wanted 24, got 0
2019-03-26 23:38:50.483 EDT [55380] LOG: database system is ready to accept read only connections
 done
server started
[postgres@postgres ~]$ 2019-03-26 23:38:50.565 EDT [55385] LOG: fetching timeline history file for timeline 4 from primary server
2019-03-26 23:38:50.588 EDT [55385] LOG: started streaming WAL from primary at 0/5000000 on timeline 3
2019-03-26 23:38:50.589 EDT [55385] LOG: replication terminated by primary server
2019-03-26 23:38:50.589 EDT [55385] DETAIL: End of WAL reached on timeline 3 at 0/50003D0.
2019-03-26 23:38:50.592 EDT [55381] LOG: new target timeline is 4
2019-03-26 23:38:50.594 EDT [55385] LOG: restarted WAL streaming at 0/5000000 on timeline 4
2019-03-26 23:38:50.717 EDT [55381] LOG: redo starts at 0/50003D0
 
[postgres@postgres ~]$ pg_controldata | grep cluster
Database cluster state:  in archive recovery
[postgres@postgres ~]$ 
 
postgres=# select * from test_alived2;
 id 
----
 1
(1 row)
 
postgres=# 

同時,postgres上已經(jīng)有了WAL接收進(jìn)程,postgreshot上有了WAL發(fā)送進(jìn)程,說明老的主庫已經(jīng)成功切換成備庫,以上是主備切換的所有步驟。

為什么在步驟2中需要干凈地關(guān)閉主庫?數(shù)據(jù)庫關(guān)閉時首先做一次checkpoint,完成之后通知WAL發(fā)送進(jìn)程要關(guān)閉了,WAL發(fā)送進(jìn)程會將截止此次checkpoint的WAL日志流發(fā)送給備庫的WAL接收進(jìn)程,備節(jié)點接收到主庫最后發(fā)送來的WAL日志流后應(yīng)用WAL,從而達(dá)到了和主庫一致的狀態(tài)。

另一個需要注意的問題是假如主庫主機(jī)異常宕機(jī)了,如果激活備庫,備庫的數(shù)據(jù)完全和主庫一致嗎?此環(huán)境為一主一備異步流復(fù)制環(huán)境,備庫和主庫是異步同步方式,存在延時,這時主庫上已提交事務(wù)的WAL有可能還沒來得及發(fā)送給備庫,主庫主機(jī)就已經(jīng)宕機(jī)了,因此異步流復(fù)制備庫可能存在事務(wù)丟失的風(fēng)險。

主備切換之pg_ctl promote方式

上面介紹了以文件觸發(fā)方式進(jìn)行主備切換,PostgreSQL9.1版本開始支持pg_ctl promote觸發(fā)方式,相比文件觸發(fā)方式操作更方便,promote命令語法如下:

pg_ctl promote [-D datadir]

-D是指數(shù)據(jù)目錄,如果不指定會使用環(huán)境變量$PGDATA設(shè)置的值。promote命令發(fā)出后,運行中的備庫將停止恢復(fù)模式并切換成讀寫模式的主庫。

pg_ctl promote主備切換步驟和文件觸發(fā)方式大體相同,只是步驟1中不需要配置recovery.conf配置文件中的trigger_file參數(shù),并且步驟3中換成以pg_ctl promote方式進(jìn)行主備切換,如下:

1)關(guān)閉主庫,建議使用-m fast模式關(guān)閉。

2)在備庫上執(zhí)行pg_ctl promote命令激活備庫,如果recovery.conf變成recovery.done表示備庫已切換成為主庫。

3)這時需要將老的主庫切換成備庫,在老的主庫的$PGDATA目錄下創(chuàng)建recovery.conf文件(如果此目錄下不存在recovery.conf文件,可以根據(jù)$PGHOME/share/recovery.conf.sample模板文件復(fù)制一個,如果此目錄下存在recovery.done文件,需將recovery.done文件重命名為recovery.conf),配置和老的從庫一樣,只是primary_conninfo參數(shù)中的IP換成對端IP。

4)啟動老的主庫,這時觀察主、備進(jìn)程是否正常,如果正常表示主備切換成功。以上是pg_ctl promote主備切換的主要步驟,這一小節(jié)不進(jìn)行演示了,下一小節(jié)介紹pg_rewind工具時會給出使用pg_ctl promote進(jìn)行主備切換的示例

pg_rewind

pg_rewind是流復(fù)制維護(hù)時一個非常好的數(shù)據(jù)同步工具,在上一節(jié)介紹流復(fù)制主備切換內(nèi)容中講到了主要有五個步驟進(jìn)行主備切換,其中步驟2是在激活備庫前先關(guān)閉主庫,如果不做步驟2會出現(xiàn)什么樣的情況?下面我們舉例進(jìn)行演示,測試環(huán)境為一主一備異步流復(fù)制環(huán)境,postgres上的數(shù)據(jù)庫為主庫,postgreshot上的數(shù)據(jù)庫為備庫。

主備切換

--備節(jié)點 recovery.conf 配置: postgreshot 上操作

備庫recovery.conf配置如下所示:

[postgres@postgreshot pg11]$ cat recovery.conf | grep -v '^#'
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.40.130 port=5442 user=replica application_name=pg1'  # e.g. 'host=localhost port=5432'
trigger_file = '/home/postgres/pg11/trigger'
[postgres@postgreshot pg11]$ 

--激活備節(jié)點: postgreshot 上操作

檢查流復(fù)制狀態(tài),確保正常后在備庫主機(jī)上執(zhí)行以下命令激活備庫,如下所示

[postgres@postgreshot pg11]$ pg_ctl promote -D $PGDATA
waiting for server to promote.... done
server promoted
[postgres@postgreshot pg11]$ 
[postgres@postgreshot pg11]$ 

查看備庫數(shù)據(jù)庫日志,能夠看到數(shù)據(jù)庫正常打開接收外部連接的信息,這說明激活成功,檢查postgreshot上的數(shù)據(jù)庫角色,如下所示:

[postgres@postgreshot pg11]$ pg_controldata | grep cluster
Database cluster state:  in production
[postgres@postgreshot pg11]$

從pg_controldata輸出也可以看到postgreshot上的數(shù)據(jù)庫已成為主庫,說明postgreshot上的數(shù)據(jù)庫已經(jīng)切換成主庫,這時老的主庫(postgres上的數(shù)據(jù)庫)依然還在運行中,我們計劃將postgres上的角色轉(zhuǎn)換成備庫,先查看postgres上的數(shù)據(jù)庫角色,如下所示

[postgres@postgres pg11]$ pg_controldata | grep cluster
Database cluster state:  in production
[postgres@postgres pg11]$ 

--備節(jié)點激活后,創(chuàng)建一張測試表并插入數(shù)據(jù)

postgres=# create table test_1(id int4);
CREATE TABLE
postgres=# insert into test_1(id) select n from generate_series(1,10) n;
INSERT 0 10
postgres=# 

--停原來主節(jié)點: postgres 上操作

[postgres@postgres pg11]$ pg_controldata | grep cluster
Database cluster state:  in production
[postgres@postgres pg11]$ 
[postgres@postgres pg11]$ pg_ctl stop -m fast -D $PGDATA
2019-03-27 01:10:46.714 EDT [64858] LOG: received fast shutdown request
waiting for server to shut down....2019-03-27 01:10:46.716 EDT [64858] LOG: aborting any active transactions
2019-03-27 01:10:46.717 EDT [64858] LOG: background worker "logical replication launcher" (PID 64865) exited with exit code 1
2019-03-27 01:10:46.718 EDT [64860] LOG: shutting down
2019-03-27 01:10:46.731 EDT [64858] LOG: database system is shut down
 done
server stopped
[postgres@postgres pg11]$ 

--pg_rewind: postgres 上操作

[postgres@postgreshot pg11]$ pg_rewind --target-pgdata $PGDATA --source-server='host=192.168.40.131 port=5442 user=replica password=replica'
 
target server needs to use either data checksums or " = on"
Failure, exiting
[postgres@postgreshot pg11]$ 

備注:數(shù)據(jù)庫在 initdb 時需要開啟 checksums 或者設(shè)置 "wal_log_hints = on", 接著設(shè)置主,備節(jié)點的 wal_log_hints 參數(shù)并重啟數(shù)據(jù)庫。

[postgres@postgres pg11]$ pg_rewind --target-pgdata $PGDATA --source-server='host=192.168.40.131 port=5442 user=replica password=replica'
servers diverged at WAL location 0/70001E8 on timeline 5
rewinding from last common checkpoint at 0/6000098 on timeline 5
Done!
[postgres@postgres pg11]$ 
[postgres@postgres pg11]$ 

備注:pg_rewind 成功。

--調(diào)整 recovery.conf 文件: postgres 操作

[postgres@postgres pg11]$ mv recovery.done recovery.conf
[postgres@postgres pg11]$ 
[postgres@postgres pg11]$ cat recovery.conf | grep -v '^#'
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.40.131 port=5442 user=replica application_name=pg2'  # e.g. 'host=localhost port=5432'
trigger_file = '/home/postgres/pg11/trigger'
[postgres@postgres pg11]$ 

--啟動原主庫, postgres 上操作

[postgres@postgres pg11]$ pg_ctl start -D $PGDATA
waiting for server to start....2019-03-27 01:14:48.028 EDT [66323] LOG: listening on IPv4 address "0.0.0.0", port 5442
2019-03-27 01:14:48.028 EDT [66323] LOG: listening on IPv6 address "::", port 5442
2019-03-27 01:14:48.031 EDT [66323] LOG: listening on Unix socket "/tmp/.s.PGSQL.5442"
2019-03-27 01:14:48.045 EDT [66324] LOG: database system was interrupted while in recovery at log time 2019-03-27 01:08:08 EDT
2019-03-27 01:14:48.045 EDT [66324] HINT: If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
2019-03-27 01:14:48.084 EDT [66324] LOG: entering standby mode
2019-03-27 01:14:48.089 EDT [66324] LOG: redo starts at 0/6000060
2019-03-27 01:14:48.091 EDT [66324] LOG: invalid record length at 0/7024C98: wanted 24, got 0
2019-03-27 01:14:48.096 EDT [66331] LOG: started streaming WAL from primary at 0/7000000 on timeline 6
2019-03-27 01:14:48.109 EDT [66324] LOG: consistent recovery state reached at 0/7024CD0
2019-03-27 01:14:48.110 EDT [66323] LOG: database system is ready to accept read only connections
 done
server started
[postgres@postgres pg11]$ 
[postgres@postgres pg11]$ pg_controldata | grep cluster
Database cluster state:  in archive recovery
[postgres@postgres pg11]$ 

--數(shù)據(jù)驗證, postgres 上操作

[postgres@postgres pg11]$ p
psql (11.1)
Type "help" for help.
 
postgres=# select count(*) from test_1;
 count 
-------
 10
(1 row)
 
postgres=# 

備注:pg_rewind 成功,原主庫現(xiàn)在是以備庫角色啟動,而且數(shù)據(jù)表 test_1 也同步過來了。

pg_rewind 原理

The basic idea is to copy everything from the new cluster to the old cluster, except for the blocks that we know to be the same.

1)Scan the WAL log of the old cluster, starting from the last checkpoint before the point where the new cluster's timeline history forked off from the old cluster. For each WAL record, make a note of the data blocks that were touched. This yields a list of all the data blocks that were changed in the old cluster, after the new cluster forked off.

2)Copy all those changed blocks from the new cluster to the old cluster.

3)Copy all other files like clog, conf files etc. from the new cluster to old cluster. Everything except the relation files.

4) Apply the WAL from the new cluster, starting from the checkpoint created at failover. (Strictly speaking, pg_rewind doesn't apply the WAL, it just creates a backup label file indicating that when PostgreSQL is started, it will start replay from that checkpoint and apply all the required WAL.)

補(bǔ)充:postgres主備搭建時踩坑點

搭建pg主備流復(fù)制時的踩坑集錦

1: socket 路徑問題 報錯如下

你好! 這是你第一次使用 **Markdown編輯器** 所展示的歡迎頁。如果你想學(xué)習(xí)如何使用Markdown編輯器,仔細(xì)閱讀這篇文章,了解一下Markdown的基本語法知識。解決方法: 修改postgres.conf中unix_socket_permissions = ‘*' 路徑修改為上述報錯中的路徑 重啟即可

2:搭建主備時 備庫的data目錄一定 一定 一定要使用主庫基礎(chǔ)備份出來的數(shù)據(jù)。 可采用pg_basebackup 的方式, 也可以采用tar包 打包 解包的方式 進(jìn)行基礎(chǔ)備份

如果備庫不小心已經(jīng)初始化過 請刪除data目錄下的* 并使用主庫的基礎(chǔ)備份重新啟動

3:備庫啟動時報錯 FATAL: no pg_hba.conf entry for replication connection from host “172.20.0.16”, user “repl” 之類的問題

例如 master:IP: *.1 standby:IP *.2 主備賬號repl

那么在pg_hba.cnf中 單單指明 host replication repl *.2 md5 是不行的

還需在此條記錄前面 添加 host all all *.2 md5

首先要能訪問主庫 才會資格使用repl賬號進(jìn)行同步的步驟

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法
  • PostgreSQL+Pgpool實現(xiàn)HA主備切換的操作
  • PostgreSQL時間線(timeline)和History File的用法
  • 基于postgresql行級鎖for update測試
  • 查看postgresql數(shù)據(jù)庫用戶系統(tǒng)權(quán)限、對象權(quán)限的方法
  • Postgresql鎖機(jī)制詳解(表鎖和行鎖)
  • PostgreSQL function返回多行的操作

標(biāo)簽:烏海 株洲 晉城 來賓 錦州 珠海 衡陽 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgres主備切換之文件觸發(fā)方式詳解》,本文關(guān)鍵詞  postgres,主備,切換,之,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgres主備切換之文件觸發(fā)方式詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于postgres主備切換之文件觸發(fā)方式詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美老熟妇乱大交xxxxx| 亚洲高清在线观看| 91麻豆精品国产91久久久资源速度 | 国产精品一级视频| 少妇喷水在线观看| 蜜桃av一区二区在线观看| 精品亚洲免费视频| jvid福利写真一区二区三区| 中文字幕精品—区二区四季| 亚洲一区二区精品久久av| 91久久国产最好的精华液| 日韩一二三区视频| 尤物精品国产第一福利三区 | 欧美一区午夜视频在线观看| 精品国产一区二区三区四区四| 日韩高清有码在线| 久久夜色精品国产欧美乱| 国模gogo一区二区大胆私拍 | 成人黄色片视频| 亚洲色图欧美自拍| 美女被到爽高潮视频| 玖玖爱免费视频| 中文在线字幕免费观| 香蕉久久一区二区三区| 岛国精品在线播放| 亚洲情趣在线观看| 欧美日韩国产美女| 亚洲视频国产视频| 欧美性一区二区三区| ts人妖另类在线| 不卡中文字幕在线| 最新天堂中文在线| 日本理论中文字幕| 亚洲色成人www永久网站| 天堂成人在线视频| 成人av资源在线| 亚洲综合色区另类av| 678五月天丁香亚洲综合网| 亚洲图片欧洲图片av| 777国产偷窥盗摄精品视频| 97超级碰碰| 麻豆视频传媒入口| 成人免费播放视频| 欧美精品一区二区蜜桃| www.色婷婷.com| 国产成人h网站| 亚洲人午夜精品天堂一二香蕉| 精品视频全国免费看| 国产一区二区三区四区福利| 青青草一区二区| 欧美lavv| 日本熟妇人妻中出| 亚洲AV无码成人精品区明星换面| 国产免费a视频| 六月婷婷色综合| 中文字幕中文字幕一区二区| 欧美久久高跟鞋激| 久久成人精品电影| 超碰97在线播放| 国产日韩欧美精品在线观看| 国产激情视频网站| 免费看毛片网站| 美女视频第一区二区三区免费观看网站| 国产免费观看久久| 欧美久久久久中文字幕| 色综合老司机第九色激情| 国产精品久久久久久久久久久久午夜片 | 国产高清精品在线| 午夜私人影院久久久久| 日韩高清免费在线| 国产精品一区二区性色av | 少妇人妻好深好紧精品无码| 中文字幕乱码人妻二区三区| 国产精品 日产精品 欧美精品| 亚洲一区二区欧美日韩 | 国产人妻人伦精品1国产丝袜| 好吊色在线视频| 精品中文av资源站在线观看| 一级日本不卡的影视| 日韩av资源在线播放| 国产精品第3页| 黄色网址在线免费看| 极品白嫩的小少妇| 久久久精品毛片| 国产精品一区二区你懂的| 精品福利在线观看| 日韩中文字幕精品| 国产在线一区二| 在线观看的毛片| 欧美日韩偷拍视频| 日产国产欧美视频一区精品| 亚洲另类中文字| 精品视频中文字幕| 亚洲一区二区三区乱码aⅴ| 黄色免费观看视频网站| 国内毛片毛片毛片毛片毛片| 午夜在线视频免费| 亚洲综合免费观看高清在线观看| 亚洲区免费影片| av一区二区三区免费| 欧美综合在线观看视频| 免费在线观看一级片| 日本特黄久久久高潮| 亚洲一区二区三区四区在线免费观看 | 日本高清www| www.黄色一片| 中文字幕五月欧美| 亚洲欧洲午夜一线一品| 不卡视频一区二区三区| 久久久久久久久久一区| 特黄视频免费看| 东方欧美亚洲色图在线| 欧美精品久久久久久久久老牛影院| 久久777国产线看观看精品| 视频在线99| 国产精品300页| www五月婷婷| 亚洲同性同志一二三专区| 亚洲全黄一级网站| 精品伦理一区二区三区| 无码人妻丰满熟妇区毛片蜜桃精品 | 成人精品视频一区二区三区 | 国产欧美日韩精品丝袜高跟鞋| 欧美日韩成人免费视频| 久久婷婷一区二区| 国产91精品一区二区麻豆网站 | 在线观看岛国av| 亚洲精品国产无码| 中文久久乱码一区二区| 亚洲少妇激情视频| 日本精品一区二区三区高清 久久| 亚洲精品乱码久久| 全部免费毛片在线播放一个| 亚洲一区二区三区视频在线| 欧美区二区三区| 喜爱夜蒲2在线| 日日噜噜夜夜狠狠久久波多野| 看片的网站亚洲| 欧美日韩在线播| 国产精品久久久精品| 欧美 日韩 国产 激情| 日本视频免费观看| 中文字幕第一区综合| 在线看国产精品| 视频在线99re| 欧美一级特黄高清视频| 国产一级精品在线| 日韩精品中文字幕一区二区三区 | 韩曰欧美视频免费观看| 欧美一区在线直播| 日韩av播放器| 亚洲午夜在线播放| 亚洲天堂网在线观看视频| 在线一区二区不卡| 超碰97在线人人| 欧美日韩一区精品| 精品一区二区三区的国产在线播放| 国产又粗又长又爽视频| 欧美激情一二三| 中文字幕人成不卡一区| 日韩av免费播放| 一级黄色录像在线观看| 97se视频在线观看| 欧美日韩另类字幕中文| 懂色av.com| 免费观看日韩毛片| 精品乱色一区二区中文字幕| 91精品国产91久久久久福利| 日韩欧美一区视频| 老司机一区二区| 久草免费在线观看视频| 91久久综合亚洲鲁鲁五月天| 色综合色狠狠天天综合色| 丝袜国产日韩另类美女| 亚洲国产无线乱码在线观看| 国产精品日日夜夜| 精品处破女学生| 野外性满足hd| 国产黄色网址在线观看| 国产成人av片| 师生出轨h灌满了1v1| av网站大全免费| 久艹视频在线免费观看| 日本一区二区三区视频在线播放 | 日韩va在线观看| 国产98在线|日韩| 一本色道久久综合亚洲精品小说| 欧洲日韩一区二区三区| 在线观看国产精品入口男同| 小日子的在线观看免费第8集| 青娱乐一区二区| 999视频在线免费观看| 国产精品7m视频| 亚洲最大中文字幕| 洋洋av久久久久久久一区| 久久精品国产亚洲一区二区三区 | 国内精品福利视频| 欧美日韩视频免费在线观看| 成人网在线观看| 欧美高清激情视频| 亚洲天堂成人在线| 搡老女人一区二区三区视频tv| 精品夜色国产国偷在线| 久久久国产91| 中文字幕久久亚洲| 欧美激情高清视频| 国产亚洲精品久久| 中文字幕在线国产精品| 亚洲欧美日韩一区在线| 亚洲第一在线综合网站| av一区二区不卡| 中文字字幕在线观看| 欧美激情一区二区视频| 欧美一级免费在线| 男女啪啪免费视频网站| 欧美在线视频网| 欧美一区二区三区四区高清| 亚洲一级二级在线| 亚洲精品乱码久久久久久| 日韩久久一区二区| 亚洲综合色网站| 91亚洲国产成人精品一区二区三| 日日夜夜精品视频免费| 日本妇乱大交xxxxx| 中文字幕丰满乱码| 亚洲电影网站| 麻豆av一区| aaa级精品久久久国产片| 成人免费在线一区二区三区| 秋霞久久久久久一区二区| 国产黄色一级网站| 中文字幕一区二区三区人妻在线视频| 国产xxxxxxxxx| 精品伦精品一区二区三区视频密桃 | 亚州国产精品视频| 国产精品视频看看| 三级黄色片免费看| 老司机激情视频| 亚洲一区bb| 你懂的视频在线一区二区| 国产精品午夜av在线| 国产一区二区在线免费| 亚洲精品在线电影| 在线看国产一区| 又紧又大又爽精品一区二区| 一区二区三区精品久久久| 欧美性猛交xxxx免费看久久久| 色综合久久久久| 亚洲成人在线观看视频| 一区二区免费在线播放| 日韩一区中文字幕| 粉嫩13p一区二区三区| 一级黄色免费片| 免费看毛片网站| 国产无人区码熟妇毛片多| 久久一区二区三| 无码精品一区二区三区在线 | 久久夜色精品国产欧美乱| 日韩av色在线| 亚洲精品一区二区三区樱花| 妞干网视频在线观看| 精品国产91亚洲一区二区三区www| 亚洲韩国在线| 亚洲一区二区免费视频软件合集| av一区二区三区免费观看| 蜜桃传媒视频第一区入口在线看| 久久久久资源| 免费一区二区三区| 国产一区免费| 久久大片网站| 99在线免费观看视频| 国产成人啪精品视频免费网| 国产成人久久久精品一区| 成人亲热视频网站| 少妇免费毛片久久久久久久久| 韩国一区二区av| 在线免费黄色网| 成人高清在线观看视频| 91精品人妻一区二区三区蜜桃欧美| 中文字幕第22页| 六月婷婷激情网| 妞干网在线免费视频| 国产精品无码一本二本三本色| 波多野结衣在线免费观看| 九九九免费视频| 日韩激情中文字幕| 亚洲三级电影网站| 日韩精品一区二区三区中文不卡| 亚洲精品成a人在线观看| 久久久免费电影| 欧美一区二区大胆人体摄影专业网站| 国产极品精品在线观看| 久久青草福利网站| 成人在线一区二区| 久久精品一区二区三区不卡免费视频| 日本一区二区不卡高清更新| 伊人久久大香线蕉午夜av| 亚洲亚洲精品三区日韩精品在线视频| 日韩精品久久久免费观看| 日韩欧美亚洲区| 日本三级免费网站| 99精品久久久久| 久久中文字幕一区二区三区| 国产欧美一区二区精品性| 亚洲日本在线看| 欧美日韩三级视频| 日韩精品免费综合视频在线播放| 久久九九精品99国产精品| 亚洲小视频在线| 亚洲视频专区在线| 欧美自拍视频在线观看| 国产欧美日韩综合精品| 亚洲巨乳在线观看| 亚洲高潮女人毛茸茸| 日韩国产欧美在线观看| 亚洲一区av在线| 久久精品国产99国产精品澳门| 一区二区三区四区免费视频| 国产老熟女伦老熟妇露脸| 在线播放国产一区| 91蜜桃在线免费视频| 正在播放亚洲一区| 亚洲视频免费一区| 国产欧美日韩亚洲精品| 国产chinese精品一区二区| 超级碰在线观看| 亚洲成年人av| 很污很黄的网站| 亚洲香蕉在线视频| 99精品欧美一区二区三区综合在线| 亚洲精品免费在线观看| 亚洲一级二级在线| 色综合一个色综合亚洲| 日韩免费电影一区| 日日噜噜噜夜夜爽亚洲精品| 97av在线视频| 亚洲自拍偷拍在线| 麻豆tv在线播放| 五月天婷婷丁香网| 五月婷婷开心中文字幕| 国产片一区二区三区| 亚洲韩国精品一区| 亚洲精品动漫久久久久| 欧美一级视频免费在线观看| 久久综合给合久久狠狠色| 亚洲欧洲日产国码无码久久99| 少妇一级淫片免费放播放| 91在线观看喷潮| 中文字幕欧美区| 亚洲美女www午夜| caoporn国产精品免费公开| 国产又粗又长又爽视频| 欧美69精品久久久久久不卡| 国产男女猛烈无遮挡在线喷水| 国产三级午夜理伦三级| 国产亚洲欧美日韩日本| 日韩久久免费av| 欧美激情在线狂野欧美精品| 99精品在线直播| 久久久免费视频网站| 视频这里只有精品| 成人免费av网站| 亚洲剧情一区二区| 懂色一区二区三区av片| 狠狠热免费视频| 91制片厂在线| 人人超碰91尤物精品国产| 亚洲18色成人| 欧美激情影音先锋| 日本国产一区二区三区| 一区二区三区日韩视频| 国产呦小j女精品视频| 91精品国产综合久| 亚洲一区二区美女| 国产日韩欧美在线看| 黄瓜视频污在线观看| 久久精品99国产精品| 国产午夜精品美女视频明星a级| 六月丁香婷婷激情| 伊人手机在线视频| 亚洲一区二区成人在线观看| 欧美亚洲伦理www| 国产精品日日摸夜夜爽| 91亚洲欧美激情| 精品女同一区二区三区在线播放| 国产精品海角社区在线观看| 免费的av在线| 欧产日产国产69| 综合激情成人伊人| 一区二区三区 在线观看视| 亚洲午夜精品一区二区三区| 久久久精品视频在线| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩国产黄| 国产精品爱久久久久久久| 亚洲va综合va国产va中文| 午夜视频在线播放| 欧美变态凌虐bdsm| 日韩精品综合在线| 国产精品天天操| 亚洲成国产人片在线观看| 日韩av成人在线观看| 午夜免费高清视频| 99热这里只有精品5| 亚洲黄色av一区| 日韩中文字幕视频在线| 五月丁香综合缴情六月小说| 欧美在线观看不卡| 国产精品成人免费精品自在线观看 | 成人av资源站|