婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解

MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解

熱門標(biāo)簽:怎么投訴地圖標(biāo)注 杭州人工電銷機(jī)器人價(jià)格 電銷機(jī)器人是什么軟件 廣州長安公司怎樣申請(qǐng)400電話 云南外呼系統(tǒng) 呼和浩特電銷外呼系統(tǒng)加盟 老虎洗衣店地圖標(biāo)注 蘋果汽車租賃店地圖標(biāo)注 濟(jì)南電銷機(jī)器人加盟公司

前言

前段時(shí)間維護(hù)的一個(gè)事業(yè)群的其中一條業(yè)務(wù)線的開發(fā)找到運(yùn)維,提出來了一個(gè)MongoDB的優(yōu)化問題,那段時(shí)間MongoDB正在從op管理移交給db進(jìn)行維護(hù),整個(gè)部門都對(duì)MongoDB的運(yùn)維經(jīng)驗(yàn)缺乏,MongoDB的優(yōu)化更是一個(gè)未知的挑戰(zhàn)。當(dāng)op找到我,核心系統(tǒng)的公共服務(wù)平臺(tái)用來進(jìn)行短信服務(wù)的MongoDB集群想進(jìn)行一次優(yōu)化,我當(dāng)仁不能讓的承擔(dān)了這項(xiàng)我都覺得可能搞不定的任務(wù)。

開發(fā)找到我提出了兩點(diǎn)兒問題,并尋求運(yùn)維團(tuán)隊(duì)解決這個(gè)問題,不過最終在我的理性的思考和他感性的思維碰撞下,最終我還是以勝利者的姿態(tài)勝出。我成功說服了他,并解答了他一些疑問,得到了滿意的答復(fù)后再也沒找我了。當(dāng)然這里肯定不會(huì)就憑幾句話,任你理論再怎么豐富,態(tài)度如何曖昧,不拿點(diǎn)兒真實(shí)數(shù)據(jù),做點(diǎn)兒什么,怎么能說服經(jīng)驗(yàn)豐富的開發(fā)認(rèn)定的事兒。溝通了大半天,占據(jù)了我白天的工作時(shí)間,不過他提出來的問題還是很值得討論。

根據(jù)開發(fā)的邏輯,是想橫向擴(kuò)充secondary節(jié)點(diǎn),把其他要求不高的業(yè)務(wù)放到secondary節(jié)點(diǎn)上,減輕primary節(jié)點(diǎn)的壓力,達(dá)到部分讀寫分離,使得主要業(yè)務(wù)優(yōu)先保障。我覺得這個(gè)出發(fā)點(diǎn)是好的,但并沒有就此作出回應(yīng),其一是他沒有認(rèn)識(shí)到這個(gè)他認(rèn)為的有延遲并不是數(shù)據(jù)庫集群的問題(這里不詳細(xì)講述排查的過程,下一篇文章會(huì)講些MongoDB的寫入與業(yè)務(wù)邏輯),其二是我們確實(shí)缺乏有效的資源硬件去進(jìn)行擴(kuò)充節(jié)點(diǎn)。

不同的業(yè)務(wù)場景應(yīng)用不同的架構(gòu)策略,擴(kuò)充secondary節(jié)點(diǎn)有時(shí)候不能解決問題,尤其是那些實(shí)時(shí)性很高的業(yè)務(wù),但有時(shí)候擴(kuò)充secondary節(jié)點(diǎn)確實(shí)有效,比如硬件升級(jí)后需要做的服務(wù)遷移,需要在線擴(kuò)充secondary節(jié)點(diǎn)來滿足業(yè)務(wù)需要的更高的硬件要求。

MongoDB的secondary節(jié)點(diǎn)的擴(kuò)充,我總結(jié)起來有兩種方式:

1、rs.add()直接擴(kuò)充

2、一致性備份后進(jìn)行擴(kuò)充(個(gè)人叫法)

1、rs.add("HOST_NAME:PORT")

具體的實(shí)現(xiàn)方式是登陸擴(kuò)充節(jié)點(diǎn)的機(jī)器,編輯好配置文件,并建立相應(yīng)的目錄和權(quán)限,啟動(dòng)MongoDB實(shí)例就可以了。

需要注意的一點(diǎn)兒是這種擴(kuò)充方式要保證同步源的數(shù)據(jù)量級(jí),即保證在同步完數(shù)據(jù)前MongoDB的oplog不會(huì)被覆蓋,這點(diǎn)兒類似與MySQL的redo log日志,如果被覆蓋那么同步的數(shù)據(jù)出現(xiàn)不一致,導(dǎo)致同步失敗。

需要注意的另一點(diǎn)是同步數(shù)據(jù)的過程中,當(dāng)集群數(shù)據(jù)達(dá)到一定量級(jí)時(shí),同步數(shù)據(jù)的大小很大就會(huì)對(duì)網(wǎng)絡(luò)造成一定的壓力,可能對(duì)業(yè)務(wù)的核心交換機(jī)造成影響,因此需要用TC工具對(duì)同步流量做限速處理。這個(gè)限速需要考慮同步源可能不會(huì)是primary,也可能是同樣角色的secondary節(jié)點(diǎn),令外限速同步勢(shì)必會(huì)增大同步時(shí)間,這個(gè)會(huì)增大oplog被覆蓋的概率,具體限速值還是要經(jīng)過計(jì)算才能把握好。

2、一致性快照快速添加secondary節(jié)點(diǎn)(自我命名,歡迎各位交流)

  a)primary節(jié)點(diǎn)上進(jìn)行一致性快照備份

  b)secondary節(jié)點(diǎn)上進(jìn)行一致性快照恢復(fù),僅僅對(duì)數(shù)據(jù)部分進(jìn)行恢復(fù),暫時(shí)不要對(duì)oplog進(jìn)行恢復(fù)

     c)初始化oplog.rs集合,并恢復(fù)oplog記錄

     d)初始化local數(shù)據(jù)庫的其他兩個(gè)集合db.replset.election,db.system.replset

  e)修改數(shù)據(jù)庫配置并重啟數(shù)據(jù)庫(這一步操作前實(shí)例不開啟認(rèn)證模式、復(fù)制集的配置),rs.add("HOST_NAME:PORT")將secondary添加進(jìn)集群并觀察同步狀態(tài)、校驗(yàn)數(shù)據(jù)的完整和一致性

實(shí)踐的詳細(xì)實(shí)踐過程如下(僅供參考交流,生產(chǎn)環(huán)境慎用):

1、primary上進(jìn)行一致性快照備份

#primary節(jié)點(diǎn)或者其他secondary節(jié)點(diǎn)備份數(shù)據(jù)
[root@172-16-3-190 mongodb]# /opt/app/mongodb/bin/mongodump -uroot -ppwd4mysql --authenticationDatabase=admin --port=27017 --oplog -o /tmp/dump_mongo/
2018-08-20T15:42:47.028+0800 writing admin.system.users to 
2018-08-20T15:42:47.030+0800 done dumping admin.system.users (1 document)
2018-08-20T15:42:47.030+0800 writing admin.system.version to 
2018-08-20T15:42:47.031+0800 done dumping admin.system.version (2 documents)
2018-08-20T15:42:47.032+0800 writing super_hero.user_address to 
2018-08-20T15:42:47.032+0800 writing super_hero.user_info to 
2018-08-20T15:42:47.033+0800 done dumping super_hero.user_address (1 document)
2018-08-20T15:42:47.033+0800 done dumping super_hero.user_info (1 document)
2018-08-20T15:42:47.034+0800 writing captured oplog to 
2018-08-20T15:42:47.036+0800 dumped 1 oplog entry

#查看備份的文件
[root@172-16-3-190 mongodb]# ls -lh /tmp/dump_mongo/
total 12K
drwxr-xr-x 2 root root 4.0K Aug 20 15:42 admin
-rw-r--r-- 1 root root 110 Aug 20 15:42 oplog.bson
drwxr-xr-x 2 root root 4.0K Aug 20 15:42 super_hero

#傳遞備份到準(zhǔn)備添加為secondary的節(jié)點(diǎn)上
[root@172-16-3-190 tmp]# scp -r -P22222 /tmp/dump_mongo/ liyingxiao@172.16.3.189:/tmp

2、secondary節(jié)點(diǎn)一致性快照恢復(fù)

#auth=true
#replSet = repl_mongo
#clusterAuthMode=keyFile
#keyFile=/opt/app/mongodb/keyfile/mongodb.key

##恢復(fù)數(shù)據(jù)
[root@172-16-3-189 we_ops_admin]# /opt/app/mongodb/bin/mongorestore --oplogReplay --port=27017 /tmp/dump_mongo/      
2018-08-20T15:56:32.161+0800 preparing collections to restore from
2018-08-20T15:56:32.193+0800 reading metadata for super_hero.user_info from /tmp/dump_mongo/super_hero/user_info.metadata.json
2018-08-20T15:56:32.194+0800 reading metadata for super_hero.user_address from /tmp/dump_mongo/super_hero/user_address.metadata.json
2018-08-20T15:56:32.222+0800 restoring super_hero.user_address from /tmp/dump_mongo/super_hero/user_address.bson
2018-08-20T15:56:32.300+0800 restoring super_hero.user_info from /tmp/dump_mongo/super_hero/user_info.bson
2018-08-20T15:56:32.867+0800 no indexes to restore
2018-08-20T15:56:32.867+0800 finished restoring super_hero.user_address (1 document)
2018-08-20T15:56:32.881+0800 no indexes to restore
2018-08-20T15:56:32.881+0800 finished restoring super_hero.user_info (1 document)
2018-08-20T15:56:32.881+0800 restoring users from /tmp/dump_mongo/admin/system.users.bson
2018-08-20T15:56:32.993+0800 replaying oplog
2018-08-20T15:56:32.997+0800 done

3、初始化oplog.rs集合,并恢復(fù)oplog記錄

創(chuàng)建oplog.rs集合并初始化大小

 use local
 db.createCollection("oplog.rs",{"capped":true,"size":100000000})

恢復(fù)一致性備份的oplog.rs集合的數(shù)據(jù)到secondary節(jié)點(diǎn)

[root@172-16-3-189 we_ops_admin]# /opt/app/mongodb/bin/mongorestore -d local -c oplog.rs --port=27017 /tmp/dump_mongo/oplog.bson 
2018-08-20T16:12:49.848+0800 checking for collection data in /tmp/dump_mongo/oplog.bson
2018-08-20T16:12:49.852+0800 restoring local.oplog.rs from /tmp/dump_mongo/oplog.bson
2018-08-20T16:12:49.925+0800 no indexes to restore
2018-08-20T16:12:49.925+0800 finished restoring local.oplog.rs (1 document)
2018-08-20T16:12:49.925+0800 done

4、初始化db.replset.election,db.system.replset集合,其中replset.election需要查詢主節(jié)點(diǎn)數(shù)據(jù)并將這些數(shù)據(jù)存儲(chǔ)到secondary節(jié)點(diǎn),或者兩個(gè)結(jié)合自行save到secondary節(jié)點(diǎn)。另集合system.replset加入復(fù)制集后可自動(dòng)識(shí)別primary節(jié)點(diǎn)內(nèi)容(這里我采取自行同步數(shù)據(jù))

 #primary節(jié)點(diǎn)
 repl_mongo:PRIMARY> db.replset.election.find()
 { "_id" : ObjectId("5b7a6ee5de7a24b82a686139"), "term" : NumberLong(1), "candidateIndex" : NumberLong(0) }
 #secondary節(jié)點(diǎn)
 db.replset.election.save({ "_id" : ObjectId("5b7a6ee5de7a24b82a686139"), "term" : NumberLong(1), "candidateIndex" : NumberLong(0) })

5、修改數(shù)據(jù)庫配置并重啟,添加secondary節(jié)點(diǎn)到復(fù)制集群中

#auth=true
#replSet = repl_mongo
#clusterAuthMode=keyFile
#keyFile=/opt/app/mongodb/keyfile/mongodb.key

[root@172-16-3-189 we_ops_admin]# /opt/app/mongodb/bin/mongod --shutdown -f /opt/app/mongodb/mongo.conf 
killing process with pid: 5331
[root@172-16-3-189 we_ops_admin]# vim /opt/app/mongodb/mongo.conf #注釋去掉并重啟
[root@172-16-3-189 we_ops_admin]# /opt/app/mongodb/bin/mongod -f /opt/app/mongodb/mongo.conf   
about to fork child process, waiting until server is ready for connections.
forked process: 5722
child process started successfully, parent exiting

#添加secondary節(jié)點(diǎn)
repl_mongo:PRIMARY> rs.add({"_id":1,"host":"172.16.3.189:27017"})
{
  "ok" : 1,
  "operationTime" : Timestamp(1534752953, 1),
  "$clusterTime" : {
    "clusterTime" : Timestamp(1534752953, 1),
    "signature" : {
      "hash" : BinData(0,"Tt9nzhoVYdUtGFZnc1Kg1exl0Hc="),
      "keyId" : NumberLong("6591702943026642945")
    }
  }
}

6、登錄添加的secondary節(jié)點(diǎn),驗(yàn)證復(fù)制集狀態(tài),數(shù)據(jù)完整和一致性。

 [root@172-16-3-189 we_ops_admin]# /opt/app/mongodb/bin/mongo -uroot -ppwd4mysql --authenticationDatabase=admin --port=27017

重點(diǎn)介紹第二種省時(shí)省心但費(fèi)力費(fèi)操作的添加secondary節(jié)點(diǎn)的方法,實(shí)踐過程中數(shù)據(jù)庫實(shí)例前期去掉認(rèn)證和復(fù)制集參數(shù),是方便我們下面的一些需要用戶權(quán)限的操作,避免建立管理員賬號(hào),后續(xù)加入集群后自行同步了primary節(jié)點(diǎn)的賬號(hào)。重啟后登錄secondary節(jié)點(diǎn)驗(yàn)證服務(wù)的可用性和數(shù)據(jù)一致性時(shí),使用集群的管理賬號(hào)進(jìn)入,否則會(huì)報(bào)認(rèn)證的錯(cuò)誤。

總結(jié)如上兩種擴(kuò)充方式,對(duì)于方式1的擴(kuò)充簡單省事,需要保證oplog不被覆蓋和評(píng)估同步流量的影響問題,是我們通常進(jìn)行橫向復(fù)制集添加secondary節(jié)點(diǎn)的方法。對(duì)于第二種方式,操作繁瑣但不用擔(dān)心oplog被覆蓋,且操作期間不會(huì)過多擔(dān)憂網(wǎng)絡(luò)流量的問題,僅僅考慮網(wǎng)絡(luò)傳輸?shù)牧髁坑绊憽5谝环N方式操作時(shí)間周期長,不可控的影響范圍大費(fèi)時(shí)費(fèi)精力,第二種方式操作時(shí)間短,操作的步驟多,容易出現(xiàn)其他問題。

MongoDB secondary節(jié)點(diǎn)出現(xiàn)recovering狀態(tài)

MongoDB做了replica sets之后,secondary節(jié)點(diǎn)出現(xiàn)recovering狀態(tài)

在一次mongo集群掛掉后,重啟,發(fā)現(xiàn)有一臺(tái)服務(wù)器的mongo節(jié)點(diǎn)一直處于recovering狀態(tài),不能變?yōu)閟econdary或者primary。

查詢官方文檔后,找到解決方案,在此記錄。

出現(xiàn)原因

備份節(jié)點(diǎn)的工作原理過程可以大致描述為,備份節(jié)點(diǎn)定期輪詢主節(jié)點(diǎn)上的數(shù)據(jù)操作,然后對(duì)自己的數(shù)據(jù)副本進(jìn)行這些操作,從而保證跟主節(jié)點(diǎn)的數(shù)據(jù)同步。

至于主節(jié)點(diǎn)上的所有數(shù)據(jù)庫狀態(tài)改變的操作,都會(huì)存放在一張?zhí)囟ǖ南到y(tǒng)表中。備份節(jié)點(diǎn)則是根據(jù)這些數(shù)據(jù)進(jìn)行自己的數(shù)據(jù)更新。

上面提到的數(shù)據(jù)庫狀態(tài)改變的操作,稱為oplog(operation log,主節(jié)點(diǎn)操作記錄)。oplog存儲(chǔ)在local數(shù)據(jù)庫的"oplog.rs"表中。副本集中備份節(jié)點(diǎn)異步的從主節(jié)點(diǎn)同步oplog,然后重新執(zhí)行它記錄的操作,以此達(dá)到了數(shù)據(jù)同步的作用。

關(guān)于oplog有幾個(gè)注意的地方:

  • oplog只記錄改變數(shù)據(jù)庫狀態(tài)的操作
  • 存儲(chǔ)在oplog中的操作并不是和主節(jié)點(diǎn)執(zhí)行的操作完全一樣,例如"$inc"操作就會(huì)轉(zhuǎn)化為"$set"操作
  • oplog存儲(chǔ)在固定集合中(capped collection),當(dāng)oplog的數(shù)量超過oplogSize,新的操作就會(huì)覆蓋舊的操作

數(shù)據(jù)同步

在副本集中,有兩種數(shù)據(jù)同步方式:

  • initial sync(初始化):這個(gè)過程發(fā)生在當(dāng)副本集中創(chuàng)建一個(gè)新的數(shù)據(jù)庫或其中某個(gè)節(jié)點(diǎn)剛從宕機(jī)中恢復(fù),或者向副本集中添加新的成員的時(shí)候,默認(rèn)的,副本集中的節(jié)點(diǎn)會(huì)從離它最近的節(jié)點(diǎn)復(fù)制oplog來同步數(shù)據(jù),這個(gè)最近的節(jié)點(diǎn)可以是primary也可以是擁有最新oplog副本的secondary節(jié)點(diǎn)。
  • 該操作一般會(huì)重新初始化備份節(jié)點(diǎn),開銷較大
  • replication(復(fù)制):在初始化后這個(gè)操作會(huì)一直持續(xù)的進(jìn)行著,以保持各個(gè)secondary節(jié)點(diǎn)之間的數(shù)據(jù)同步。

initial sync

當(dāng)遇到上面例子中無法同步的問題時(shí),只能使用以下兩種方式進(jìn)行initial sync了

  • 第一種方式就是停止該節(jié)點(diǎn),然后刪除目錄中的文件,重新啟動(dòng)該節(jié)點(diǎn)。這樣,這個(gè)節(jié)點(diǎn)就會(huì)執(zhí)行initial sync
    注意:通過這種方式,sync的時(shí)間是根據(jù)數(shù)據(jù)量大小的,如果數(shù)據(jù)量過大,sync時(shí)間就會(huì)很長
    同時(shí)會(huì)有很多網(wǎng)絡(luò)傳輸,可能會(huì)影響其他節(jié)點(diǎn)的工作
  • 第二種方式,停止該節(jié)點(diǎn),然后刪除目錄中的文件,找一個(gè)比較新的節(jié)點(diǎn),然后把該節(jié)點(diǎn)目錄中的文件拷貝到要sync的節(jié)點(diǎn)目錄中

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • 關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法
  • NodeJS連接MongoDB數(shù)據(jù)庫時(shí)報(bào)錯(cuò)的快速解決方法
  • perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法
  • centos7防火墻導(dǎo)致java程序訪問mongodb3.0.1時(shí)報(bào)錯(cuò)的問題分析
  • mongodb replica set 添加刪除節(jié)點(diǎn)的2種方法
  • Mongodb增加、移除Arbiter節(jié)點(diǎn)實(shí)例
  • mongodb添加arbiter節(jié)點(diǎn)的方法示例
  • MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法

標(biāo)簽:廈門 泰安 自貢 玉林 遼陽 雞西 興安盟 無錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解》,本文關(guān)鍵詞  MongoDB,添加,secondary,節(jié)點(diǎn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品国产乱码久久久久久影片| 亚洲国产成人午夜在线一区| 国内精品伊人久久久久av一坑| 日日摸夜夜添夜夜添国产精品 | 裸体健美xxxx欧美裸体表演| 久久99久久精品| 丁香六月综合激情| 欧美视频一区二区三区| 夫妻av一区二区| 26uuu精品一区二区| 午夜伦理一区二区| 欧美日韩专区在线| 国产成人av网站| 日韩一区二区三区在线观看| 国产婷婷色一区二区三区四区| 最新国产成人在线观看| 乱一区二区av| 久久九九久久九九| 亚洲成人免费视频| 亚洲美女偷拍久久| 免费观看在线色综合| 大白屁股一区二区视频| 欧美理论在线播放| 久久久99免费| 国产午夜精品久久久久久免费视| 亚洲成人激情社区| 亚洲午夜三级在线| 在线观看免费成人| 中文字幕人成不卡一区| 91在线视频网址| 亚洲国产sm捆绑调教视频| 欧美日韩亚洲高清一区二区| 亚洲高清久久久| 日韩精品在线一区| 国产精品正在播放| 最新日韩在线视频| 亚洲午夜久久久久久久久电影院 | 午夜视频在线观看一区二区| 亚洲电影激情视频网站| 免费成人美女在线观看.| 在线免费一区三区| 精品乱码亚洲一区二区不卡| 亚洲午夜久久久久久久久电影院| 久久亚洲春色中文字幕久久久| 亚洲素人一区二区| 看国产成人h片视频| 色老综合老女人久久久| 久久久噜噜噜久噜久久综合| 偷拍与自拍一区| 99国产精品一区| 日韩欧美一区二区免费| 日韩中文欧美在线| 在线观看日韩国产| 另类的小说在线视频另类成人小视频在线| 欧美激情一区二区在线| 处破女av一区二区| 一二三四社区欧美黄| 国产91在线看| 天天综合天天做天天综合| 亚洲影院理伦片| 国产精品无遮挡| 91精品国产综合久久精品| 不卡电影一区二区三区| 久久精品免费看| 亚洲国产成人tv| 久久精品国产澳门| 国产69精品一区二区亚洲孕妇| 国产自产高清不卡| 激情久久五月天| 不卡在线观看av| 91在线精品秘密一区二区| 色94色欧美sute亚洲线路二 | 欧美一区日韩一区| 欧美一区午夜视频在线观看| 亚洲欧洲日产国产综合网| youjizz久久| 国产精品综合二区| av电影一区二区| 亚洲精品日产精品乱码不卡| 性做久久久久久免费观看| 成人精品免费看| 成人欧美一区二区三区小说| 91福利国产精品| 老司机精品视频一区二区三区| 亚洲免费大片在线观看| 91麻豆精品一区二区三区| 日韩专区中文字幕一区二区| 欧美美女一区二区三区| 亚洲mv大片欧洲mv大片精品| 亚洲日本乱码在线观看| 亚洲成人av电影在线| 91蜜桃在线免费视频| 日韩欧美专区在线| 亚洲综合一区二区精品导航| 久久品道一品道久久精品| 亚洲欧洲日韩在线| 久久国产精品99精品国产| 午夜精品久久久久久久99水蜜桃 | 亚洲综合色丁香婷婷六月图片| 国产精品美女久久福利网站| 亚洲www啪成人一区二区麻豆| 国产福利一区二区三区视频| 日韩一级大片在线观看| 免费视频最近日韩| 99国产精品久久久| 久久久精品国产99久久精品芒果| 亚洲一区二区三区自拍| 成人av电影在线| 91麻豆精品国产91久久久久久 | 国产精品系列在线观看| 性感美女久久精品| 欧美韩日一区二区三区四区| 日韩一区二区在线免费观看| 国产欧美精品在线观看| 欧美色综合影院| 国产主播一区二区三区| 尤物av一区二区| 国产无人区一区二区三区| 欧美日韩aaaaa| 欧美亚洲动漫精品| 欧美亚洲一区二区在线观看| 国产精品美日韩| 成人性生交大片免费看中文 | 日韩一区二区免费在线电影| 成人深夜福利app| 久久久综合九色合综国产精品| 国产一区二区不卡在线| 精品国产乱码久久| 国产成人精品影视| 天天综合色天天综合色h| 精品sm在线观看| 91精品免费观看| 欧美性猛片aaaaaaa做受| 日本韩国欧美三级| 色综合久久88色综合天天 | 成人自拍视频在线| 精品久久五月天| 欧洲视频一区二区| 在线观看成人免费视频| 91美女片黄在线观看91美女| av中文字幕一区| 色综合久久精品| 在线观看视频一区| 欧美日韩性生活| 欧美一区二区视频在线观看2022| 色婷婷久久综合| 国产精品99久| 成人h动漫精品| 在线视频一区二区三区| 欧美日韩成人综合| 日韩欧美国产综合一区| 久久亚洲综合色| 中文字幕不卡在线| 亚洲免费av在线| 美女视频一区二区三区| 成人中文字幕电影| 91久久免费观看| 91精品国产综合久久精品| 精品国产一区久久| 中文字幕中文字幕一区二区| 香蕉久久一区二区不卡无毒影院| 免费久久99精品国产| 大尺度一区二区| 欧美日韩免费一区二区三区| 日韩免费观看高清完整版| 欧美国产97人人爽人人喊| 中文字幕av一区二区三区高| 亚洲精品免费在线观看| 免费精品视频最新在线| 99麻豆久久久国产精品免费| 欧美日韩国产高清一区二区| 欧美精品一区二区三区一线天视频| 国产精品色婷婷| 日韩av不卡在线观看| 国产不卡视频一区二区三区| 欧美艳星brazzers| 国产亚洲精品久| 五月婷婷综合在线| jvid福利写真一区二区三区| 欧美日韩精品一区二区天天拍小说 | 777奇米四色成人影色区| 色噜噜狠狠成人中文综合| 99re这里只有精品视频首页| 欧美一二三区在线观看| 亚洲综合一区二区精品导航| 久久国产精品99久久久久久老狼| 成人黄色在线看| 精品国产免费人成在线观看| 亚洲女子a中天字幕| 视频一区欧美精品| 91久久国产综合久久| 国产精品视频观看| 国产福利91精品一区| 欧美日韩小视频| 国内成人免费视频| 欧美年轻男男videosbes| 日本中文在线一区| 正在播放一区二区| 欧美精品一区二区三区高清aⅴ | 久久精品国产秦先生|