久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Redis集群三主三從一鍵部署與故障轉(zhuǎn)移排錯(cuò)

Redis集群三主三從一鍵部署與故障轉(zhuǎn)移排錯(cuò) 簡(jiǎn)介一份面向 CentOS 7.x 環(huán)境搭建 Redis 集群的自動(dòng)化部署腳本包服務(wù)于需要快速驗(yàn)證集群方案的運(yùn)維與后端開(kāi)發(fā)者把主從復(fù)制、16384 個(gè)槽位分配、故障轉(zhuǎn)移等集群要點(diǎn)固化為可一鍵執(zhí)行的流程免去逐臺(tái)手工編譯與配置的重復(fù)勞動(dòng)。壓縮包共 5 個(gè)文件、約 1.86MB以 3 個(gè) sh 腳本為主體分別承擔(dān)主流程調(diào)度、Redis 安裝配置與集群卸載清理另含 redis-5.0.0.tar.gz 源碼包和一份 txt 使用說(shuō)明覆蓋從解壓編譯到集群成型的完整環(huán)節(jié)已有 777 人學(xué)習(xí)。按說(shuō)明修改 IP 與端口變量后依次執(zhí)行即可完成依賴安裝、編譯、節(jié)點(diǎn)配置與集群創(chuàng)建卸載腳本便于回收實(shí)例與殘留配置腳本中的變量定義、條件判斷與循環(huán)結(jié)構(gòu)也可作為編寫(xiě)同類自動(dòng)化部署腳本的參考。對(duì)初次接觸集群部署的讀者還可借此理解節(jié)點(diǎn)角色劃分與槽位分配在真實(shí)環(huán)境中的含義并沿著腳本順序梳理常見(jiàn)故障的排查方向。1. 手工搭三主三從熬到凌晨這份 Redis 集群一鍵部署腳本省掉的四件事三臺(tái) CentOS 機(jī)器、六個(gè) Redis 實(shí)例我第一次手工搭集群從下午兩點(diǎn)折騰到凌晨配置文件手改六遍meet 完節(jié)點(diǎn)卡在 handshake最后發(fā)現(xiàn)是 17000 端口沒(méi)放行。后來(lái)拿到這份 redis 集群一鍵自動(dòng)部署腳本.rar真正省事的不是redis-cli --cluster create那一行而是它前面那堆重復(fù)勞動(dòng)——批量生成 conf、按順序拉起實(shí)例、把客戶端端口和集群總線端口一起放通、創(chuàng)建完再跑一遍 check 把狀態(tài)確認(rèn)下來(lái)。這套東西是 shell 寫(xiě)的貼著 CentOS 的 systemctl、firewalld、sysctl 走沒(méi)有額外運(yùn)行時(shí)依賴幾百行讀一遍就能按自己的機(jī)器改。它適合三類人手上只有兩三臺(tái)測(cè)試機(jī)、需要反復(fù)重建集群做課程設(shè)計(jì)或壓測(cè)的線上出過(guò)槽位故障、想在預(yù)發(fā)環(huán)境原樣復(fù)現(xiàn)的以及剛接觸 Redis Cluster、想先跑通再回頭補(bǔ)原理的。下面從機(jī)制講到執(zhí)行鏈路再講翻車點(diǎn)。2. 槽位、總線與選舉一鍵腳本必須替你做對(duì)的四個(gè)集群機(jī)制腳本只做「生成配置、拉進(jìn)程、建集群」三件事但每一件背后都?jí)褐?Redis Cluster 的運(yùn)行時(shí)規(guī)則。不理解這四條腳本跑掛了連日志該往哪看都不知道。反過(guò)來(lái)理解了這四條腳本里那些看起來(lái)多余的 sleep、循環(huán)和判斷你就知道它在防什么。2.1 16384 個(gè)槽位怎么分腳本為什么默認(rèn)給三主Redis Cluster 把整個(gè)鍵空間切成 16384 個(gè)槽key 落到哪個(gè)槽由CRC16(key) mod 16384決定槽再歸某個(gè)主節(jié)點(diǎn)管??蛻舳四玫?MOVED 重定向后自己緩存槽位表所以集群的核心不是「數(shù)據(jù)分片存儲(chǔ)」這件事本身而是「槽位歸屬必須全集群一致」。任何一個(gè)槽沒(méi)有主人集群在cluster-require-full-coverage yes默認(rèn)值下會(huì)直接拒絕所有寫(xiě)請(qǐng)求。一鍵腳本之所以默認(rèn)三主三從不是審美選擇是硬約束--cluster-replicas 1要求主節(jié)點(diǎn)數(shù)至少 3因?yàn)楣收限D(zhuǎn)移要靠主節(jié)點(diǎn)多數(shù)派投票兩個(gè)主節(jié)點(diǎn)掛一個(gè)就湊不出多數(shù)。三主是最小可用拓?fù)淠_本里如果寫(xiě)成「節(jié)點(diǎn)數(shù) / 2」來(lái)算主節(jié)點(diǎn)數(shù)節(jié)點(diǎn)少于 6 個(gè)時(shí)就會(huì)算出 2 主create 階段直接報(bào)*** ERROR: Invalid configuration for cluster creation。槽位分配默認(rèn)是均分再取余16384 / 3 5461、5461、5462第三個(gè)主節(jié)點(diǎn)多拿 2 個(gè)槽。這個(gè)數(shù)字在很多巡檢腳本里被寫(xiě)死成5461做斷言一旦集群做過(guò) reshard 就會(huì)誤報(bào)。我的做法是只看cluster info里的cluster_slots_assigned:16384不校驗(yàn)單節(jié)點(diǎn)槽數(shù)。另外要記住集群模式只支持 db 0配置里寫(xiě)databases 16不會(huì)報(bào)錯(cuò)但SELECT命令會(huì)被拒絕返回ERR SELECT is not allowed in cluster mode。涉及多 key 的操作必須落在同一個(gè)槽用 hash tag 把 key 的一部分用{}包起來(lái)比如user:{1001}:name和user:{1001}:age會(huì)被強(qiáng)制分到同一槽這是設(shè)計(jì)鍵名時(shí)就要定下來(lái)的事不是部署階段能補(bǔ)救的。2.2 cluster bus 與握手meet 之后到底發(fā)生了什么每個(gè)集群節(jié)點(diǎn)會(huì)額外監(jiān)聽(tīng)一個(gè)「客戶端端口 10000」的總線端口7000 對(duì)應(yīng) 17000。節(jié)點(diǎn)之間交換 gossip 消息、投票、傳播槽位表都走這個(gè)端口用的是二進(jìn)制協(xié)議和客戶端協(xié)議不是一回事。手工搭集群最常見(jiàn)的卡點(diǎn)就在這里6379 能 telnet 通17000 不通cluster nodes里對(duì)方節(jié)點(diǎn)永遠(yuǎn)是handshake狀態(tài)日志里反復(fù)刷Unable to connect to MASTER。握手的完整鏈路是腳本對(duì) A 節(jié)點(diǎn)執(zhí)行CLUSTER MEET B_IP B_PORTA 通過(guò)總線端口連 B交換節(jié)點(diǎn)信息B 再把 A 的信息 gossip 給已知節(jié)點(diǎn)。所以只要有一個(gè)節(jié)點(diǎn)的總線端口不通整個(gè)集群就可能分裂成兩個(gè)互不可見(jiàn)的孤島而cluster_state在每個(gè)孤島內(nèi)部都顯示 ok。這就是為什么腳本里的防火墻規(guī)則必須成對(duì)出現(xiàn)客戶端端口段和總線端口段一起放少寫(xiě)一行就是幾小時(shí)的排查。還有個(gè)容易被忽略的點(diǎn)節(jié)點(diǎn)的 node id 存在cluster-config-file指定的文件里默認(rèn)叫nodes.conf。這個(gè)文件是 Redis 自己維護(hù)的腳本絕對(duì)不能刪、不能提前創(chuàng)建、不能手改。刪掉它的后果是節(jié)點(diǎn)重啟后生成新 id其他節(jié)點(diǎn)還拿著舊 id 做 gossip集群視圖徹底錯(cuò)亂。我在腳本里見(jiàn)過(guò)用rm -rf $DATA_DIR/*做「清理重來(lái)」的寫(xiě)法看著干凈實(shí)際上把 nodes.conf 一起干掉了第二次執(zhí)行必翻車。2.3 主從復(fù)制與自動(dòng)故障轉(zhuǎn)移的判定鏈路從節(jié)點(diǎn)默認(rèn)每秒向主節(jié)點(diǎn)發(fā)REPLCONF ACK主節(jié)點(diǎn)把復(fù)制偏移量記在內(nèi)存里。某個(gè)主節(jié)點(diǎn)失聯(lián)后其余主節(jié)點(diǎn)在cluster-node-timeout默認(rèn) 15000 毫秒之后把它標(biāo)記為fail然后由持有該主節(jié)點(diǎn)槽位的從節(jié)點(diǎn)發(fā)起選舉拿到多數(shù)主節(jié)點(diǎn)投票后提升為主接管槽位。整個(gè)過(guò)程腳本管不了但腳本里的兩個(gè)參數(shù)直接決定它能不能成。一個(gè)參數(shù)是cluster-node-timeout。設(shè)太小網(wǎng)絡(luò)抖一下就觸發(fā)主從切換切完數(shù)據(jù)還沒(méi)同步完又切回來(lái)設(shè)太大真掛了要等半分鐘以上才恢復(fù)。生產(chǎn)上給 15000 到 30000 之間比較穩(wěn)測(cè)試機(jī)可以給 5000 加快演練節(jié)奏。另一個(gè)是cluster-replica-validity-factor默認(rèn) 10從節(jié)點(diǎn)斷線時(shí)間超過(guò)node-timeout × factor就失去競(jìng)選資格這是防止用一份過(guò)期數(shù)據(jù)頂上去的保護(hù)。把它設(shè)成 0 表示不管斷多久都能選只在「寧可丟數(shù)據(jù)也要保可用」的場(chǎng)景下才這么干。從節(jié)點(diǎn)能不能被選中還要看它的復(fù)制偏移量和主節(jié)點(diǎn)差多少。如果腳本為了讓啟動(dòng)快把repl-diskless-sync之類的東西亂調(diào)或者從節(jié)點(diǎn)剛起來(lái)還沒(méi)完成全量同步就被拉進(jìn)集群選舉時(shí)它的 offset 落后太多同樣會(huì)被其他主節(jié)點(diǎn)拒絕。所以腳本里「拉起實(shí)例」和「cluster create」之間應(yīng)該留幾秒讓復(fù)制鏈路建立這個(gè) sleep 不是玄學(xué)是在等master_link_status:up。2.4 節(jié)點(diǎn)順序與副本錯(cuò)位腳本里最容易寫(xiě)錯(cuò)的一段邏輯redis-cli --cluster create的節(jié)點(diǎn)列表順序是有語(yǔ)義的前 N 個(gè)被當(dāng)作主節(jié)點(diǎn)后面按順序分配給它們做從節(jié)點(diǎn)。如果參數(shù)寫(xiě)成--cluster-replicas 1列表是A B C D E F那 A B C 是主D E F 依次是 A B C 的從。但這個(gè)「依次」是按主機(jī)和端口的排列算的腳本如果用兩層 for 循環(huán)先生成所有 7000 端口再生成所有 7001 端口最終可能出現(xiàn)三個(gè)主節(jié)點(diǎn)全在同一臺(tái)物理機(jī)上另一臺(tái)機(jī)器上的三個(gè)從節(jié)點(diǎn)全在等它掛——機(jī)器一斷電集群直接沒(méi)了一半。正確的做法是按機(jī)器交錯(cuò)排列每臺(tái)機(jī)器出兩個(gè)實(shí)例列表寫(xiě)成A:7000 A:7001 B:7000 B:7001 C:7000 C:7001這樣主節(jié)點(diǎn)天然分散在三臺(tái)機(jī)器上從節(jié)點(diǎn)也落在不同的物理機(jī)。腳本里如果做了「按 IP 分組再拼接」的處理讀的時(shí)候要確認(rèn)它是交錯(cuò)而不是分段。這一點(diǎn)在驗(yàn)收時(shí)可以用redis-cli --cluster check輸出的主從對(duì)應(yīng)關(guān)系直接看出來(lái)從節(jié)點(diǎn)和它的主節(jié)點(diǎn)在同一臺(tái)機(jī)器上就是錯(cuò)位了。還有一種錯(cuò)位是端口和目錄沒(méi)對(duì)上。同一個(gè) IP 上跑 7000 和 7001 兩個(gè)實(shí)例配置里的dir必須是兩個(gè)不同目錄logfile、pidfile、dbfilename也都得帶端口后綴。腳本如果只替換了port而沒(méi)替換dir兩個(gè)實(shí)例會(huì)往同一個(gè) dump 文件里寫(xiě)AOF 也會(huì)互相覆蓋癥狀是集群能建起來(lái)但一重啟數(shù)據(jù)就亂。3. 解包看結(jié)構(gòu)CentOS 上的目錄、系統(tǒng)參數(shù)與端口三件套拿到 rar 之后第一件事不是急著bash deploy.sh而是先看清包里有什么、它假設(shè)你的機(jī)器處于什么狀態(tài)。這類腳本的失敗八成不是腳本邏輯錯(cuò)而是它默認(rèn)的前置條件在你的機(jī)器上不成立。3.1 壓縮包里的文件各管什么rar 在 CentOS 上默認(rèn)解不開(kāi)需要先裝unrar很多最小化安裝的鏡像里沒(méi)有這個(gè)包得先配好軟件源再裝。解出來(lái)的目錄結(jié)構(gòu)各家寫(xiě)法不同但職責(zé)基本是固定的幾類讀之前先按下面這張表對(duì)一遍缺哪個(gè)文件就知道腳本會(huì)缺哪一步文件/目錄典型職責(zé)缺了會(huì)怎樣deploy.sh主入口串起檢查、生成、啟動(dòng)、建集群無(wú)法一鍵執(zhí)行redis.conf.tpl配置模板用變量占位端口、目錄、密碼生成的配置全是默認(rèn)值nodes.list/hosts.conf節(jié)點(diǎn) IP 與端口清單腳本不知道往哪幾臺(tái)機(jī)器鋪start_all.sh/stop_all.sh批量拉起與停止實(shí)例只能手工 ps 后 killcheck_cluster.sh建完集群后的狀態(tài)校驗(yàn)出問(wèn)題沒(méi)有統(tǒng)一出口redis-*.tar.gz源碼包或二進(jìn)制包需要自己準(zhǔn)備同版本安裝包README端口、密碼、目錄約定參數(shù)只能靠讀腳本猜讀腳本時(shí)優(yōu)先確認(rèn)三件事REDIS_HOME裝在哪、DATA_DIR數(shù)據(jù)落在哪、密碼是寫(xiě)死在腳本里還是從外部傳入。寫(xiě)死密碼的腳本在多人共用的測(cè)試環(huán)境里很常見(jiàn)改的時(shí)候記得同步改requirepass和masterauth兩處只改一處集群建不起來(lái)。3.2 CentOS 7/8 必須先改的四個(gè)內(nèi)核與資源項(xiàng)Redis 在集群模式下對(duì)系統(tǒng)資源更敏感因?yàn)槎嗔丝偩€連接和節(jié)點(diǎn)間心跳。以下四項(xiàng)如果腳本里沒(méi)做建議在執(zhí)行前手工補(bǔ)上用sysctl落成配置文件比sysctl -w臨時(shí)改可靠重啟不丟# /etc/sysctl.d/99-redis-cluster.conf # 允許內(nèi)存過(guò)量提交否則 fork 做 RDB 落盤(pán)時(shí)可能直接失敗 vm.overcommit_memory 1 # 監(jiān)聽(tīng)隊(duì)列長(zhǎng)度低于 511 時(shí)高并發(fā)下會(huì)出現(xiàn)連接被丟棄 net.core.somaxconn 1024 # 盡量不使用 swap避免節(jié)點(diǎn)間心跳因換頁(yè)抖動(dòng)而超時(shí) vm.swappiness 1 # 關(guān)閉透明大頁(yè)THP 會(huì)造成 Redis 的 fork 延遲 spikes echo never /sys/kernel/mm/transparent_hugepage/enabled echo never /sys/kernel/mm/transparent_hugepage/defrag sysctl --systemvm.overcommit_memory這一項(xiàng)是最容易被忽略的日志里表現(xiàn)為Background save is starting之后跟一條fork: Cannot allocate memory進(jìn)程直接沒(méi)了而這臺(tái)機(jī)器內(nèi)存看起來(lái)還很空閑。原因不是內(nèi)存不夠是內(nèi)核在 fork 時(shí)按 overcommit 策略拒絕了地址空間申請(qǐng)。somaxconn則對(duì)應(yīng)TCP: request_sock_TCP: Possible SYN flooding這類告警連接數(shù)一上來(lái)就丟包。文件描述符也得提。Redis 默認(rèn)建議ulimit -n不低于 10032systemd 拉起的服務(wù)要在 unit 文件里寫(xiě)LimitNOFILE10032光改/etc/security/limits.conf對(duì) systemd 服務(wù)不生效這是 CentOS 7 之后非常常見(jiàn)的坑。腳本如果用redis-server xxx.conf 的方式啟動(dòng)繼承的是當(dāng)前 shell 的限制換個(gè)終端執(zhí)行結(jié)果就不一樣我一般讓腳本顯式ulimit -n 10032再拉進(jìn)程。3.3 端口放行7000-7005 只是其中一半六個(gè)實(shí)例用 7000 到 7005客戶端連這些端口沒(méi)問(wèn)題但節(jié)點(diǎn)之間要走 17000 到 17005只放前半段的表現(xiàn)是cluster nodes里其他節(jié)點(diǎn)一直是handshake或者已經(jīng)connected但cluster_state:fail日志刷Cluster bus: connection refused。firewalld 的寫(xiě)法是一次把兩段都加上# 客戶端端口段 firewall-cmd --permanent --add-port7000-7005/tcp # 集群總線端口段 客戶端端口 10000 firewall-cmd --permanent --add-port17000-17005/tcp firewall-cmd --reload firewall-cmd --list-ports如果機(jī)器在云上安全組是另一道門(mén)firewall-cmd --list-ports有輸出不代表外部能進(jìn)來(lái)。驗(yàn)證方式是換一臺(tái)機(jī)器用telnet 目標(biāo)IP 17000或者nc -zv 目標(biāo)IP 17000試本地ss -lntp | grep 1700看到監(jiān)聽(tīng)只說(shuō)明本機(jī)進(jìn)程起來(lái)了跟網(wǎng)絡(luò)可達(dá)是兩件事。還有個(gè)細(xì)節(jié)如果同一臺(tái)機(jī)器上跑多個(gè)實(shí)例bind建議寫(xiě)內(nèi)網(wǎng) IP 而不是0.0.0.0同時(shí)把protected-mode關(guān)掉集群模式和多節(jié)點(diǎn)訪問(wèn)下通常要關(guān)并且顯式設(shè)置cluster-announce-ip為內(nèi)網(wǎng)地址。多網(wǎng)卡機(jī)器上不設(shè)這一項(xiàng)節(jié)點(diǎn)會(huì)把自己廣播成 127.0.0.1 或者某塊業(yè)務(wù)網(wǎng)卡的地址其他節(jié)點(diǎn)按這個(gè)地址連總線端口永遠(yuǎn)連不上。4. 從零跑一遍配置生成、實(shí)例拉起、cluster create 的完整鏈路這一章按執(zhí)行順序走一遍每一步給出關(guān)鍵命令和需要核對(duì)的輸出。腳本再自動(dòng)這四步的中間產(chǎn)物你都應(yīng)該知道長(zhǎng)什么樣否則出問(wèn)題只能干等。4.1 生成六份 redis.conf用循環(huán)替掉手改配置模板的核心是集群相關(guān)的那幾行端口、目錄、密碼用變量替換。手寫(xiě)六份的失敗率遠(yuǎn)高于想象一份漏了cluster-enabled yescreate 階段就報(bào)Node xxx is not configured as a cluster node。用循環(huán)生成模板只維護(hù)一份#!/usr/bin/env bash set -euo pipefail BASE_PORT7000 DATA_ROOT/data/redis-cluster NODES(10.0.0.11 10.0.0.12 10.0.0.13) PASSWORDChangeMe_2024 for ip in ${NODES[]}; do for idx in 0 1; do port$((BASE_PORT idx)) dir${DATA_ROOT}/${port} mkdir -p ${dir} cat ${dir}/redis.conf EOF port ${port} bind ${ip} protected-mode no daemonize yes pidfile ${dir}/redis.pid logfile ${dir}/redis.log dir ${dir} dbfilename dump-${port}.rdb appendonly yes appendfilename appendonly-${port}.aof # 集群三件套開(kāi)關(guān)、節(jié)點(diǎn)狀態(tài)文件、失聯(lián)判定毫秒數(shù) cluster-enabled yes cluster-config-file nodes-${port}.conf cluster-node-timeout 15000 cluster-announce-ip ${ip} cluster-announce-port ${port} cluster-announce-bus-port $((port 10000)) # 密碼必須兩處一致否則從節(jié)點(diǎn)同步和集群創(chuàng)建都會(huì)失敗 requirepass ${PASSWORD} masterauth ${PASSWORD} EOF done done幾個(gè)參數(shù)值得單獨(dú)說(shuō)。cluster-config-file帶上端口后綴避免同機(jī)多實(shí)例互相覆蓋這個(gè)文件由 Redis 維護(hù)腳本只負(fù)責(zé)給路徑。cluster-announce-ip顯式寫(xiě)成當(dāng)前機(jī)器的內(nèi)網(wǎng) IP多網(wǎng)卡環(huán)境下這是唯一可靠的廣播地址來(lái)源。appendonly yes在集群里建議打開(kāi)從節(jié)點(diǎn)提升為主后如果只有 RDB最后一個(gè) RDB 之后的數(shù)據(jù)就丟了。daemonize yes讓實(shí)例后臺(tái)跑腳本里要跟一個(gè)循環(huán)等待端口就緒不能生成完就立刻建集群。路徑權(quán)限也要順手檢查${dir}必須對(duì)運(yùn)行 Redis 的用戶可寫(xiě)用 root 生成目錄、用 redis 用戶起進(jìn)程是常見(jiàn)組合權(quán)限沒(méi)給對(duì)的表現(xiàn)是啟動(dòng)即退出日志里一行Cant open the append-only file: Permission denied。4.2 拉起實(shí)例并確認(rèn)端口真的在監(jiān)聽(tīng)啟動(dòng)之后不要相信daemonize的返回值它只表示 fork 成功不表示配置正確。判斷標(biāo)準(zhǔn)是端口在監(jiān)聽(tīng)且PING有回應(yīng)這一步放在腳本里就是一個(gè)帶超時(shí)的輪詢#!/usr/bin/env bash # 逐臺(tái)啟動(dòng)并按端口探活超過(guò) 30 秒未就緒就打印日志尾巴退出 for ip in 10.0.0.11 10.0.0.12 10.0.0.13; do for port in 7000 7001; do ssh ${ip} redis-server ${DATA_ROOT}/${port}/redis.conf for i in $(seq 1 30); do if redis-cli -h ${ip} -p ${port} -a ChangeMe_2024 --no-auth-warning ping 2/dev/null | grep -q PONG; then echo OK ${ip}:${port} break fi sleep 1 done redis-cli -h ${ip} -p ${port} -a ChangeMe_2024 --no-auth-warning ping \ | grep -q PONG || { tail -n 30 ${DATA_ROOT}/${port}/redis.log; exit 1; } done done這里用--no-auth-warning只是避免密碼提示刷屏腳本里不要把密碼明文寫(xiě)進(jìn) history正式環(huán)境建議用REDISCLI_AUTH環(huán)境變量傳。探活只看PING還不夠集群模式下要再確認(rèn)cluster-enabled:yes和cluster_state的初始值剛啟動(dòng)的節(jié)點(diǎn)應(yīng)該是cluster_state:fail、cluster_known_nodes:1這屬于正常狀態(tài)說(shuō)明它以單節(jié)點(diǎn)身份起來(lái)了等著被 meet。如果某個(gè)端口一直起不來(lái)先看日志最后 30 行再看ss -lntp | grep 端口有沒(méi)有別的進(jìn)程占著。測(cè)試機(jī)上經(jīng)常出現(xiàn)上一次的實(shí)例沒(méi)殺干凈pidfile 殘留導(dǎo)致新進(jìn)程以為自己在跑daemonize yes下這種問(wèn)題特別隱蔽。4.3 cluster create 的節(jié)點(diǎn)順序與副本分配六個(gè)節(jié)點(diǎn)都活了之后才能建集群節(jié)點(diǎn)列表按「主機(jī)交錯(cuò)、主節(jié)點(diǎn)在前」的順序排。Redis 5 之后--cluster子命令是內(nèi)建的不需要額外裝 ruby 的 redis-tribredis-cli --cluster create \ 10.0.0.11:7000 10.0.0.12:7000 10.0.0.13:7000 \ 10.0.0.11:7001 10.0.0.12:7001 10.0.0.13:7001 \ --cluster-replicas 1 \ -a ChangeMe_2024 --cluster-yes前三個(gè)是主節(jié)點(diǎn)后三個(gè)按順序做它們的從節(jié)點(diǎn)所以 7001 的三個(gè)實(shí)例分別跟著三個(gè) 7000 主節(jié)點(diǎn)且從節(jié)點(diǎn)都不在同一個(gè) IP 上——這就是 2.4 里說(shuō)的交錯(cuò)排列。--cluster-yes跳過(guò)多余的交互確認(rèn)腳本里必須加否則會(huì)卡在Can I set the above configuration? (type yes to accept)等人輸入。-a在帶密碼集群里要給且必須和配置里的requirepass一致。執(zhí)行過(guò)程中會(huì)看到每個(gè)主節(jié)點(diǎn)分到5461/5461/5462個(gè)槽接著是Waiting for the cluster to join這一步耗時(shí)取決于總線端口是否通。如果卡在這里超過(guò)一分鐘別等直接去另一臺(tái)機(jī)器上看telnet 目標(biāo)IP 17000是否可達(dá)九成是端口或cluster-announce-ip的問(wèn)題。4.4 用 cluster check 把狀態(tài)釘死創(chuàng)建命令返回成功不代表集群健康必須再跑一遍 check它會(huì)逐個(gè)節(jié)點(diǎn)連過(guò)去核對(duì)槽位覆蓋和主從關(guān)系redis-cli --cluster check 10.0.0.11:7000 -a ChangeMe_2024 # 關(guān)鍵看三行 # [OK] All 16384 slots covered. # 每個(gè) master 下列出的 slots 區(qū)間與 replica 數(shù)量 # [OK] All nodes agree about slots configuration.All nodes agree about slots configuration這句是核心它表示各節(jié)點(diǎn)的槽位視圖已經(jīng)收斂一致。如果這里報(bào)Different slots configuration說(shuō)明有節(jié)點(diǎn)的信息還沒(méi) gossip 到等幾秒重跑如果一直不一致檢查是不是有節(jié)點(diǎn)被 meet 過(guò)兩次、在集群里留了重復(fù)條目。驗(yàn)收時(shí)我會(huì)把 check 的輸出存一份到日志目錄后面擴(kuò)容、遷移、重啟都可以拿來(lái)對(duì)比。5. 避坑與排查cluster_state:ok 之后仍然會(huì)翻車的五個(gè)場(chǎng)景集群建起來(lái)、狀態(tài) ok只說(shuō)明拓?fù)涑闪⒉淮順I(yè)務(wù)能用。下面五個(gè)是我和同事在不同機(jī)器上真實(shí)踩過(guò)的癥狀看起來(lái)都不像集群?jiǎn)栴}根因全在配置和端口上。5.1 客戶端一直報(bào) MOVED狀態(tài)卻是 ok現(xiàn)象應(yīng)用連上 7000 寫(xiě)一個(gè) key報(bào)MOVED 12345 10.0.0.12:7000程序里沒(méi)做重定向處理直接拋異常。集群側(cè)CLUSTER INFO顯示一切正常。原因客戶端沒(méi)開(kāi)集群模式把 Redis 當(dāng)成單機(jī)在用。MOVED 不是錯(cuò)誤是告訴客戶端這個(gè)槽在別的節(jié)點(diǎn)集群感知客戶端會(huì)自動(dòng)跟隨并緩存槽位表單機(jī)客戶端則把重定向當(dāng)異常拋出來(lái)。另一種變體是連的是代理或 VIP請(qǐng)求被固定轉(zhuǎn)發(fā)到某一臺(tái)槽位表永遠(yuǎn)變不過(guò)來(lái)。解決換成客戶端庫(kù)的集群模式初始化方式連接時(shí)給出全部種子節(jié)點(diǎn)而不是一個(gè) VIP。如果確實(shí)只能給單地址必須在中間層做槽位感知轉(zhuǎn)發(fā)不能做四層負(fù)載均衡——四層會(huì)把同一個(gè)連接的所有請(qǐng)求固定到同一節(jié)點(diǎn)跨槽訪問(wèn)必然失敗。5.2 節(jié)點(diǎn)卡在 handshake 半天不動(dòng)現(xiàn)象cluster nodes里某個(gè)節(jié)點(diǎn)狀態(tài)是handshakecluster info的cluster_known_nodes比實(shí)際節(jié)點(diǎn)數(shù)少日志反復(fù)刷Unable to connect to node。原因總線端口不通或者節(jié)點(diǎn)廣播的地址是 127.0.0.1、某塊業(yè)務(wù)網(wǎng)卡地址。前者是防火墻只放了 7000 段后者是多網(wǎng)卡機(jī)器沒(méi)設(shè)cluster-announce-ip節(jié)點(diǎn)按默認(rèn)網(wǎng)卡地址互相通告對(duì)方連過(guò)去自然不通。解決把總線端口段補(bǔ)進(jìn)防火墻和安全組cluster-announce-ip顯式寫(xiě)內(nèi)網(wǎng) IP 后重啟實(shí)例。已經(jīng)進(jìn)過(guò)集群的錯(cuò)誤節(jié)點(diǎn)不能直接改配置重啟要先CLUSTER RESET HARD清掉它的節(jié)點(diǎn)狀態(tài)再重新CLUSTER MEET否則舊地址會(huì)一直留在其他節(jié)點(diǎn)的視圖里。5.3 重啟之后集群整體 fail現(xiàn)象三臺(tái)機(jī)器重啟實(shí)例都起來(lái)了cluster_state:failcluster_slots_assigned遠(yuǎn)小于 16384部分主節(jié)點(diǎn)顯示fail?。原因腳本的清理邏輯把nodes-*.conf刪了節(jié)點(diǎn)重新生成 id全集群不認(rèn)它或者數(shù)據(jù)目錄權(quán)限變了節(jié)點(diǎn)讀不到原狀態(tài)文件只能當(dāng)新節(jié)點(diǎn)啟動(dòng)還有一種是從節(jié)點(diǎn)比主節(jié)點(diǎn)先起來(lái)且主節(jié)點(diǎn)長(zhǎng)時(shí)間未就緒從節(jié)點(diǎn)把自己降級(jí)成孤立狀態(tài)。解決nodes.conf絕對(duì)不刪。重啟順序先主后從腳本里加等待邏輯確認(rèn)所有主節(jié)點(diǎn)cluster_state恢復(fù)到 ok 再拉起從節(jié)點(diǎn)。真出現(xiàn)了 id 變更只能在剩下節(jié)點(diǎn)里用CLUSTER FORGET把舊條目錄掉再把故障節(jié)點(diǎn)以干凈狀態(tài)重新加回并遷移槽位這個(gè)操作要停機(jī)窗口。5.4 帶密碼的集群創(chuàng)建直接失敗現(xiàn)象redis-cli --cluster create輸出Node xxx replied with error: NOAUTH Authentication required或者從節(jié)點(diǎn)一直master_link_status:down。原因requirepass配了masterauth沒(méi)配或者值不一樣。requirepass管客戶端連它masterauth管它連主節(jié)點(diǎn)時(shí)用什么密碼集群里兩個(gè)方向都要通只配一處就是半通狀態(tài)。解決兩處寫(xiě)成同一個(gè)值redis-cli --cluster相關(guān)命令帶-a或用REDISCLI_AUTH。改配置要六個(gè)節(jié)點(diǎn)全改一遍再重啟改完先用redis-cli -a 密碼 info replication確認(rèn)從節(jié)點(diǎn)master_link_status:up再跑--cluster check。5.5 擴(kuò)容加節(jié)點(diǎn)后槽位覆蓋不全現(xiàn)象新加兩個(gè)節(jié)點(diǎn)、遷移了部分槽過(guò)去--cluster check報(bào)Not all 16384 slots are covered但每個(gè)節(jié)點(diǎn)單獨(dú)看都正常。原因遷移過(guò)程中斷或者用了手工CLUSTER SETSLOT但漏了IMPORTING/MIGRATING兩步的收尾源節(jié)點(diǎn)把槽標(biāo)成遷移中目標(biāo)節(jié)點(diǎn)沒(méi)接管這個(gè)槽就懸空了。cluster-require-full-coverage yes下整個(gè)集群拒寫(xiě)。解決用redis-cli --cluster reshard走完整流程不要手工拼SETSLOT。已經(jīng)懸空的槽用CLUSTER SETSLOT slot NODE node-id在相關(guān)節(jié)點(diǎn)上逐一修正修完跑 check 確認(rèn)All 16384 slots covered。注意以上所有涉及CLUSTER RESET、FORGET、SETSLOT的操作都有數(shù)據(jù)丟失風(fēng)險(xiǎn)先在測(cè)試環(huán)境完整走一遍再上預(yù)發(fā)。6. 把一鍵腳本用成可維護(hù)工具故障演練與巡檢的固定動(dòng)作腳本能建集群只是起點(diǎn)。真正決定這套東西能不能長(zhǎng)期用的是你能不能在一次執(zhí)行之后回答兩個(gè)問(wèn)題故障切換要多久、下次重建要改哪幾行。我給自己的固定動(dòng)作是每次部署完做一次小型故障演練把切換時(shí)間記進(jìn)部署記錄后面遇到「集群是不是變慢了」這類問(wèn)題時(shí)至少有基線可比。演練很簡(jiǎn)單找到某個(gè)主節(jié)點(diǎn)kill -9掉它的進(jìn)程然后每?jī)擅氩橐淮蝐luster info里的cluster_state和cluster_slots_assigned同時(shí)用redis-cli -c往這個(gè)主節(jié)點(diǎn)負(fù)責(zé)的槽寫(xiě) key看多久恢復(fù)寫(xiě)入。默認(rèn)cluster-node-timeout 15000下30 秒內(nèi)完成切換屬于正常超過(guò) 45 秒就要檢查是不是只有兩個(gè)主節(jié)點(diǎn)、投票湊不齊多數(shù)。演練完把殺掉的實(shí)例重新拉起它會(huì)以從節(jié)點(diǎn)身份回歸用redis-cli --cluster check確認(rèn)主從關(guān)系復(fù)原。巡檢我習(xí)慣寫(xiě)成一個(gè)小循環(huán)把每個(gè)節(jié)點(diǎn)的關(guān)鍵指標(biāo)拉成一行肉眼掃一遍就知道有沒(méi)有異常#!/usr/bin/env bash # 逐節(jié)點(diǎn)采集關(guān)鍵狀態(tài)輸出一行一個(gè)實(shí)例便于 diff 和歸檔 PASSChangeMe_2024 for ip in 10.0.0.11 10.0.0.12 10.0.0.13; do for port in 7000 7001; do info$(redis-cli -h ${ip} -p ${port} -a ${PASS} --no-auth-warning cluster info 2/dev/null) role$(redis-cli -h ${ip} -p ${port} -a ${PASS} --no-auth-warning info replication 2/dev/null | awk -F: /^role/{print $2} | tr -d \r) state$(echo ${info} | awk -F: /^cluster_state/{print $2} | tr -d \r) assigned$(echo ${info} | awk -F: /^cluster_slots_assigned/{print $2} | tr -d \r) printf %-12s %-5s role%-6s state%-5s slots%s\n ${ip} ${port} ${role} ${state} ${assigned} done done這個(gè)腳本的價(jià)值在于輸出穩(wěn)定、可以直接 diff部署前存一份、演練后存一份cluster_slots_assigned從 16384 掉了就說(shuō)明有槽懸空role變了就說(shuō)明發(fā)生過(guò)切換。比翻日志快得多也不用記復(fù)雜命令。最后是一個(gè)參數(shù)化的習(xí)慣。拿到這類腳本我第一件事是把BASE_PORT、NODES、PASSWORD、DATA_ROOT四個(gè)變量抽到單獨(dú)的cluster.env里腳本開(kāi)頭source進(jìn)來(lái)第二件事是把生成的配置、check 輸出、演練記錄按時(shí)間戳落到logs/不做覆蓋。那次重啟后集群 fail 的經(jīng)歷之后我每次改腳本都會(huì)先在一臺(tái)干凈的虛擬機(jī)上從零跑兩遍確認(rèn)第二遍執(zhí)行不會(huì)因?yàn)闅埩裟夸泩?bào)錯(cuò)再看一遍nodes.conf有沒(méi)有被動(dòng)過(guò)——集群這東西一次省事的rm -rf能換來(lái)一整晚的恢復(fù)工作后悔藥是沒(méi)有的。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日日日日做夜夜夜夜做无码97| 欧美亚洲日本视频久久久| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 可免费观看的av毛片中日美韩| 校园春色宗合网| 婷婷精品久久av影视| 91夜色| 999亚洲国产视频| 欧美日日夜夜| 97碰碰色| 黄片com.| 九九拍拍精品视频在线播放 | 日本熟妇浓毛hdsex| 国产精品视频白浆免费| 亚欧美色图| 国产精品岛国片在线观看| 成人热久久精品| 射久久| 中文自拍欧美影视| 日本幼女18+| 国产又大又硬又长又粗| 成人九九| 色综合久久久久| 丝袜狠狠草尤物 91| 亚洲,日韩,欧美,成人播放| 久久熟女人| 91国产丝袜白虎| 日本高清视频xxxx| 天堂资源欧美| 人人插人人摸人人| 超碰视97中文| 伦伦成年午夜免费视频| 肉丝无码中文高清| 日日干日日| aV中文麻| 久热久一区二区三区| 人人妻人人玩人人澡人人爽| 色哟哟-国产专区| 夜夜爽夜夜爽| 色女女女导航| 欧美性xxxxx狂欢| 色眯眯射| 国产日韩手机视频在线| 精品然女一区二区| 9 9精品一区二区三区| 麻豆熟妇乱妇熟色A片在线看| 久操热| 麻豆三极片| 操学生天天| 午夜激情成人在线观看 | 97超碰久| 一个人免费HD91视频| 色噜噜日韩精品| 荡小穴在线观看| 国产在线观看91精品一区| 午夜无码熟妇丰满人妻| 日韩AV片| 国产一级αv免费看片| 久久久精品一区二区| 国产亚洲99久久精品| 国产91精品在线免费| 人人妻人人操人人乐| 欧美性爱第1 页| 黑人与人妻| www色日本| 国产精品com| 久久 久久国内精品亚洲| 综合色99| 无码人妻毛片丰满熟妇精品区| 国产91啪| 中文字幕一区二区无码成人| 久久久久久久六六 | 97香蕉网| 懂色AV网| 激情四射五月天| 精品精品精品| 一类无码操逼视频| 亚洲小说视频| 亚洲精品久久一区二区三区蜜桃臀| 久久久九97| 人人干人人搞人人摸| 欧美真人抽搐一进一出gif| 一区二区三区四区久久视1| 熟妇在线视频一区二区| 婷婷五月天av| 人妻乱仑一区二区三区| 宅男影院久久久,99| 91操操操操| 又黄又硬又粗又长国产视频| 男人的天堂日本东京热| 色五月亚洲| 精品国产三级av韩国在线| 精品999日本| 啊啊啊啊啊啊啊国| www.久久| 欧美αv.com| 淫荡网址| av天堂电影网| 青春草莓视频在线观看网址| 丰满人妻-区二区三区| 亚洲官网在线| 色综合加勒比四四季| 久久久一热在线播放| 久/久精品99看9| 国产小黄片在线免费观看 | 久久久久久久9| 欧美日韩国产色五月综合在线| 久久水蜜臀亚洲AV无码精品| 啊好爽受不了无码| 久久只有精品一区二区三区| 青青草在线成人视频| 九九色色| 操碰97| 五月丁香综合啪啪| 污啪啪啪视频| 美女啊啊啊啊啊啊啊| 五月天啪啪| www色色com| AV综合中文字幕干| 蜜桃色色网站视频三区| 国产999精品久久久久久| 人妻日日干| 成人麻豆av电影网站| 成人性爱av| 欧美,日韩综合久久| 先锋影音av先锋一区| 91大神精品长腿在线观看网站| 综合网亚洲| 加勒比综合| 青青草色AV| 青青草大香蕉视频| 国产午夜精品在线观看| 亚洲一区日韩精品| 国产毛片毛片4p懂色| 超碰在线人妻中文字幕| 久久黄色视频一区二区三区| 综合国产影视三级| 免费看欧美美女黄色大片| 韩国三级理论在线| 老女人爆菊| 天天干天天日天天射黄色大片| 精品久久久久瑟瑟| 久操视频免费观看| 欧美亚洲今日在线| 亚洲欧美天| 色哟哟AV| 久久久精品九| 亚洲欧美另类小说| 黄色电影在线播放综合网站 | 香港成人一级视频在线青青草| 好屌色综合| 国产超碰欧美| 久久中文字幕不卡人妻| 五月激情综合网| www.操| 九九九九一级| 老熟女网站| 色屁屁影院www国产| 近亲乱伦一区二区| 91neishe| 成熟熟女国产精品一区二区| 人人妻人人玩人人澡人人爽| 中国AV美女| 国产小u女在线观看| 日日狠狠久久偷偷色综合免费| 极品白嫩福利在线| 亚洲双插| 免费伦费视频在线观看| 99丝袜福利在线播放| 欧美A√综合网| 美性中文综合网| www.人人摸在线视频| 久久精品国产Aⅴ| 91操人| 不卡人妻少妇精品毛片一区23区视频| 久久9999 | 人妻少妇久久中文字幕一区二区 麻豆 | 亚洲涩涩| …亚洲黄色厕厕女女在线播…| 色操逼网| 国产AV久久野战精品| 95人妻爽爽人人做人人澡| 女生自91网站| 夜夜嗨视频| 一区二区视频在线播放| 免费人人搞97| 久久99九九九九6666免费观看软件| 熟女这里只有精品6| 深爱激情五月天| 色踪合AV| 曰韩操B| 九色 人妻 大香蕉| 啊啊啊好舒服视频| 最新三级网址| 使劲用力艹少妇视频一区二区| 伊人操| 国产视频一区二区免费| 亚州九九九精品视频| 亚洲综合电影| 婷婷日韩一区二区三区中文字幕在线| 亚洲天堂电影网99999| 亚洲精品国产专区在线观看| 伊人色综合超碰| 9118禁| 国产亚洲综合欧美一区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 看看日B真人视频| 国产精品露脸在线观看| 欧美九九爱| 老司机香蕉久久久久| 女人 A一级| 自拍视频大全亚洲专媒视频/一区二区三区 | 国产67194| 人人操人人精品影片| 综合五月婷婷亚洲一区| 锕锕好爽 死我在线观看| 黄色av网站在线播放| 大香伊人在线一区| 午夜视频久久久久一区| 热久久九九热| 五月天久久综合网| 尤物视频网 刘玥| 无码天天操| 亚州中文字幕超碰97| 99视频这有这里有精品| 操死我了啊啊啊| 欧美性爱中文字幕无线码| 青青草原综合久久大伊人精品| 91另类| 920日本午夜免费| 91 综合网| 久久久久久久久久8888| 精品视频在线观看| 射丝袜高跟鞋99| TS人妖另类精品视频系列| WWW4虎| 性色AV蜜色av色欲av| 影音先锋国产精品| JuliaAnnXXX888| 激情综合网激情五月天| 亚洲毛片基地专区| 四虎884a| 人看人人摸人人操| 视频二区美腿制服人妻欧美| 日韩欧美视频青青| 无码直播久久久| 91热情品| 亚洲一区二区中文字幕| 天天综合中文字幕 91| 日韩在线视频1234| 欧美综合娱乐久久| 国产97在线播放| 婷婷精品| 少妇一级无码精品| 九热超碰| 亚洲 欧美 天天| 呦呦影院| 啊啊啊轻点在线观看| 亚洲丝袜色| 免费观看网黄| 欧美黑人与女人91| 欧美性色综合网| 日韩人妻播放| 一起草视频在线| 亚洲A色| 免费强奸av| 91精品国产91熟女| 天美一二三在线观看Av| 国产高清精品福利| 国产高清视频无码在线| 91性感在线| 欧美暴力猛交| 一区二区日韩欧美久久| 日韩色欲久久一二三四区| 天天操福利视频综合网站| 九九视品黄色| 婬女免费一二三区A片| 亚洲第一男人天堂| 日韩三级网址| 国产尹人在线视频免费| 欧美美女视频| 内射中国少妇高清视频免费视频| 四虎影库国产精品免费| 3p国产色噜噜一区| 精品日韩中文在线| 91色狼| 五月天欧美色图| 欧美亚洲国内自拍| 大伊香蕉在线视频免费| 人人爱人人乐人人操| 男人天堂网手机版婷婷| 国产久久一区二区三区野外在线| 亚洲AV无码国产精品久久久久| 亚洲日韩天堂| 超碰97.com| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日韩精品一区,二区 九九...老司机| 婷婷色在线| 天天躁日日躁AAAAXXXX国产 | 精品中文字幕第一页| 99re超碰| 日韩本不卡视频在线观看 | 天天插网| 亚洲欧美情色| 人妻另类| 日韩欧美三级| 激情婷婷丁香| 成人精品欧洲亚洲| 东京成人一区| 人人澡人人爽人人精品| 思思热久久成人| 一级一性爱免费视频| 天天综合站| 综合91网| 亚洲 另类 丝袜 自拍 动漫| 97色视频在线| 97欧美色资源| 午夜欧美J进J出白浆流出久久久| 亚洲 图片 综合91| 天天日少妇逼AV| 91色婷婷综合久久中文字幕二区| 国产AV超爽| 不卡一区二区日本视频| 亚洲高清视频在线免费观看| 日本精品性生活久久久| 夜夜操91744565| www.夜夜| 久久熟女人| 五月开心网| www.av在线观看| 欧美日韩精品一区二区三区高清| 巨爆乳一区二区爆乳区| 999亚洲国产视频| 久久这里是精品| 正在播放国产精品一区| 天天躁日日躁AAAAXXXX国产| 国产精品日韩在线一区| 国产强奸91| 人人妻人人爽 97人人看碰人免费公开视频| 一级毛片电影免费看| 久久二| 性91| 久久久新亚洲AV| 欧美999| 五月天亚洲色图| 中文字幕一区二区三区50路| 久久AV无码AV| av爱爱爱| 久久av一级av少妇av高潮| 久久av一级av少妇av高潮| 亚洲精品xxx| 日本一区二区不卡精品| 三级三久久线久久99久目本WW| 午夜一区| 97超碰69| 色色色色色色色色综合| 久久9免费视频| 96国产精品| 九九热九九| 欧美传媒| 强奸乱伦av电影| 色综合婷婷| 日韩97超碰中文字幕| 免费看污网站| 亚洲偷拍欧美激情| 欧美九九九| 亚欧免费观看视频| 人摸人人操人| 素人播放一区| 91精产一区二区三区| 欧美色图自拍| 韩国一级做a久久久久| 一个色导综合| 极品极品色影院| 97蜜桃综合| 中国小夫妻勾搭露脸淫荡对白| 精人妻无码一区二区三区伊人直播| 深夜激情| 国产在线能看的你懂的| 欧美强奸一区二区诱惑| 亚洲国产一级中文综合久久天堂在线免费观看| 99热18这里只有精品| 人妻少妇精品久久久久久| 天天上日日上日韩精品| 日本一区二区不卡精品| 一个人在线看的黄色电影网站| 一本久久精品中文字| 亚洲高清欧美总合| 2018天天干在线视频| 丁香六月综合激情| 亚洲情色在线| 老熟女91| 欧美疯狂做爰xxxx| 香蕉久久精品| 国产熟女无套内射| 一区二区三区四区免费视频| 久久久久中出| 啊啊啊骚| 日本激情免费大片| 久久久久久九九九九-美女久久久久久久-成人AV| 丰满欧美放荡少妇在线| 亚洲色图欧美色图日韩色图| 青娱乐av在线| 久久日韩肥臀| 中文字幕aⅴ在线视频| 91色噜噜狠狠| 亚洲情欲| www.色婷婷| 欧美激情久| 超碰欧美| 97色婷婷| 毛片99-全集电影手机免费观看完整-B029AV | 78精品| 综合欧美日韩在线观看| 久久久久久91香蕉国产| 91网站18| 日日夜夜干| 999熟女精品| 亚洲精品乱码线路中文字幕| 免费视频在线观看啊啊啊啊啊| 亚洲自拍青操视频| 国产精品亚洲高清在线| 熟女色图在线| 玖玖爱在线视频免费观看| 天天爽天天| 97国产精品在线观看| 天天综合网日韩7799| 五月天伊人| 色汉综合| 按摩中文字幕| 亚洲超碰97| 天天流夜夜操| 日本大香蕉综合网红本杳社区| 户外裸露刺激视频第一区| 久久啊啊啊视频| 少妇高潮流水av免费| 福利风月五月天影院| 性色亚洲| 高潮内射在线| 黄色AV免费| 久久色激情一区二区三区| 老熟女网站| 日本有码影片下载 | 人人妻人射| 嗯嗯啊啊好疼| 一本一道vs波多野结衣| 色网亚洲人| 五月天激情影院| 美女t无毒不卡不卡| 欧美很很操视频| 欧美,日韩,中文,另类| 午夜福利视频在线一区| 婷婷久久久精品| 国产强奸超碰AV| 婷婷九月丁香| 67914亚洲精品| 91无遮挡| 国产传媒一区日韩| 手机在线视频国内精品| 久久久96精品| 激情五月综合网| 国产60页| 久操操| 国产偷拍自拍在线视频| 欧美色交| 不卡超碰护士AV在线免费播放| 岛国免费视频在线| 精品少妇人妻| 一起草av| 日韩在线地址一| 91精品国产乱码| 久久这里只精品99re66图| 久夜操| 久9久| 亚洲精品无码久久AV| 亚洲素人综合| 操九九九九九九| 影音先锋少妇| 欧美的精品的视频| 日韩精品人妻系列无码天堂| 91c色| 亚洲图片91| 成人日本精品九区| 69精品久久久久中文字幕| 东京太热男人的天堂久久久| 亚洲激情色片| 99热这里| 可以在线观看的黄色网址| 久草色在线观看| 99热免费| 在线v中文字幕一区二区三区 | 狠狠操使劲操| 蜜桃狠狠色伊人亚洲综合| 婷婷久久综合| 国产女人和拘做爰视频 | 天美麻豆黄色录像| 国产精品经典一卡久久久| 国产熟女免费观看久久| 日韩在线国产字幕| 天堂精品| 四虎视频在线观看| 五月色网| 天天色,天天干,天天干| 2019天天干| 91无摭挡| 蜜桃不卡一区二区| 天天做天天爱天天高潮| 综合操逼| www.亚洲成人一区| 超碰人妻97| 天天操天天7| 欧美日韩国第一区| 99热精品在线播放| 十八禁的黄污污免费网站| 激情文学88| 久久精品无码熟妇一区二区三区视频导航| 亚洲男人的天堂AV| 亚洲综合网电影91| 久久男女激情视频网站| 亚洲欧美综合区自拍另类| 91丨人妻丨国产丨丝袜| 亚洲欧洲日韩中文字幕一区| 亚洲综合图片在线| 少妇69中文| 丰满欧美少妇| 农村妇女一级二级三级视频| 激情啪啪拍91| 日韩乱伦影音先锋| 性暴力欧美猛交在线直播| 97啪啪| 亚洲一区二区av| 九草九九九| 自拍亚洲综合| 国内97干免费看| 99综合自拍| 九一综合精品视品av| 偷拍 精品另类 凸凹了四区| 99热精品在线观看| 大香蕉五月天| 国产男女无套视频免费观看| 欧亚乱色熟女一区二区| 日va操| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 任你艹| 日本3级一区二区免费| 91人妻做a观看视频| 国产亚洲性生活视频播放| 国产呦精品系列在线观看| 97亚洲在线| 三四中文字幕| 亚洲一区二区AV| 超碰97COm中文| 国产白丝网站| 色淫网站优优视频| 麻豆91熟妇人妻中文字幕茄子| 9久9久| 精品人妻少妇| 少妇淫妇久久久久久久| 日韩猛交| 国产午夜在线观看| 在线中文字幕| 日韩亚洲中文有码视频| 亚洲无吗在线视频| 在线无码操| 91超碰人人操| 2020视频1区2区3区| 综合网,亚洲,欧美| 亚洲一二三四区机械| 久草精品国产蜜臀 | 亚洲性爱成人| 日本免费中文字幕在线| 天天躁日日躁XXXXYY| 激情综合婷婷| 久久久工口| 欧美婷婷久久| 亚洲怡春院| 欧美一区二区| 天天干天天操天天操夜夜操天天操 | 亚洲亚洲亚洲天堂天堂 | 国产 丝袜 欧美中文 另类| 二色av| 91天天日| 色在线69堂| 激情婷婷黑人91| 欧美96精品在线| 欧美极品美女aaaaaa级黄片| 日韩亚洲中文有码视频| 久久露脸国产老熟女| 日韩AV电影网站| 极品少妇99| 欧美丝袜美女电影一二三四区| 欧美自拍网| 白丝被操91| 日韩,欧美,中文在线| 亚洲老熟妇xxx| 日韩懂色网| 色哟哟av| av网站国产主播在线| 国产黄片在线免费观看| 五月天激情小说| 国模不卡一本二本三电影| chaopen97久久| 97欧美超碰| 欧美性爱中文字幕无线码| 九九色综合| 国产精品网站www| 亚洲清纯综合| 日韩成人精品| 五月天色色网站| 10000部十八禁看电影| 少妇高潮一区二区三区在线| 中文人妻av高清一区| 色综合九九| 久久久性爱视频| 成人无码欧美一级A片狼牙直播| 日韩福利综合一区| 久久97| 97精品97久久| 性色AV蜜色av色欲av| 999国产精品999| 18岁禁 茉莉成人久久| 天天欧美| 亚洲精品啪视频| 用力操死我| 另类小说欧美激情校园春色| 强奸乱伦Av网| 动漫片子网站3黄| 成人三级片一区二区三区视频| 久久久久久日韩| 色妹子A V| 久伊人网78| 国产精品无码久久久久2028| julia在线观看久久| 亚洲综合色图欧美| 欧美日韩在线国产在线| 第四色亚洲色图| 97欧美在线| 色色色色电影网| 色综合20p| 亚洲无码超碰免费| 久久一二区四| 亚洲一二三四区| 国产又色又爽又舒服的三级视频| 亚洲的天堂网| 日本操逼视频不卡直接放| 久久天天摸| 天天干嫩逼网| 99热超碰在线| 2017天天操天天日| 97国产成人精品免费视频| 亚洲综合69| 一本精品日本在线视频精品| 国产美脚女优尤物在线观看| av黄图片在线观看| 91人妻超碰| 欧美日韩在线小说| 久久久久13| 伊人91| 亚洲国产第一页综合视频| 极品人妻少妇综合| 超碰人人在线| 熟女少妇一区二区三区| 亚洲色诱惑| 久久久久久99999国产精品| 国产色精品午夜大片| 加勒比五月天| 国人欧美精品一区二区| 精彩久久中文| 国模少妇一区二区三区| 日本久久久精品电影| 最新日韩黄片| 综合欧美色图| 中文字幕精品一区二区精品| 东京热大香蕉| 久九干| 自拍内地三级在线观看| 国产乱弄免费在线视频。| 亚洲色欲天天天堂色欲网女| 国产乱码精品久久久久久| 人妻一区视频| 国产超碰97| 久操操| 亚洲天堂男人网| 啊啊啊好湿国产一二| 91大神精品长腿在线观看网站| 神马午夜久久久| 很黄很色的视频在线观看| 亚洲熟妇综合久久久久久| 亚洲最大网站av| 97资源亚洲| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 97伪v| 超碰成人国产| 屁股久久久久久| 夜夜嗷嗷一区二区| 免费A V在线播放| 亚洲天天自拍| ,国产乱人伦精品一区二区三区| 成人av在线播放| 视频在线中文字幕| 99视频内射三四| 欧美Ⅴ性爱| 神马久久69| 色五月婷婷色| 亚洲中字幕日本一区二区三区| 超碰综合色| 免费看日产一区二区三区| 美欧色综合| 亚洲精品骚逼| 操逼日韩无码| 立川理惠被中出无码| 男人的天堂日本东京热| 夜夜操狠狠操| 69少妇一区二区| 亚洲春色欧美| 91嫩草欧美| 国产无马av| a片在线播放| 99蜜月精品久久| 嗯嗯啊啊啊好舒服| 亚洲色图亚洲无码强奸乱伦| 91天天| 欧美丝袜美女电影一二三四区| 98色网| 国产无马视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 天天日少妇逼AV| 一本精品日本在线视频精品| 亚欧美综合网| 老熟女中文字幕高清| av天天在线观看| 欧美日韩一区二区三区四区蜜桃| 99久久99久久免费精品蜜臀| 久操av在线| 亚洲精品天天影视综合网 | 精品无码一区二区三区色欲| 中文字幕无码不卡啪啪| 色好看av| 欧美色图天堂在线| 国产熟女免费观看久久| 9色国产精品一区粉嫩| 岛国天天午夜影院传媒网| 日韩三级在线观看mp4| 日本福利社| 婷婷激情五月天小说网| 在线观看亚洲成人精品| 不卡视频一区蜜桃视频| 狠狠干2020| 爱啪精品一区| 91亚洲不卡一区| 中文字幕在线免费观看视频| 午夜福利在线合集| 国产福利电影| 高清孕妇孕交| 欧美成人精品欧美一级乱黄一区二…| 97超碰总站| 成人天天看站长推荐| 久久久久久久极品香蕉视频| 五月香婷婷| 久久久久亚洲Aⅴ无码| 在线有码中文字幕| 精品欧美不卡在线播放| 我想要 啊 啊 啊| 在线洲亚线| 亚州精品人妻一二三区| 亚洲日韩XXX| 成人精品一区二区三区| 亚洲永久永久永久永久一级一级一级精品| 亚洲不卡AV在线| 99精彩视频| 免费观看啪视频| 牛黄色久午久| 欧美日韩国产色图在线| 在线观看AV片| 黄片色区软件| 中日韩熟女| 国产 热久久久久国产精品| 一级做a爰片久久毛片图片| www.色吧5.com| 成年人黄色视频免费| dy888午夜老子影视达达兔| 亚州色综合| 欧美少妇人妻| 91精品国产91久久青草| 操逼操逼操| 国产强奸无码乱伦| 精品人妻一区二区三区四区石在线| 操国产高清| 91福利网在线观看| 国产精品不卡一区二区三区av| 欧美日韩国产成人高清| 国产亚洲精品一区二区三区| 成人av性爱电影在线观看| 青青免费在线视频一区| 欧美国产精品| 欧美强奸乱| JULIA一区二区三区在线播放| 狠狠激情综合狠狠操中文字幕| 亚洲五月婷| 男人天堂2019亚洲| 天天操女人| 啊啊啊啊啊在线视频| 岛国人妻少妇av在线观看| 9长久久精品| 激情文学小说一区二区| 欧美综合1性辶| 成人怡红院| 免费观看网黄| 操我无码| 长长久久88视频| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日本97久久久精品| 国产视频小说| 骚货操死你| 啪啪视频免费在线观看| 欧美aa一级片| 欧美成人性爱视频大全| 天天欧美欧美亚洲网| 99国产精品久久久久久久成人热| 亚洲drav色图| 97在线视频免费看| 久久在线观看免费视频| 日韩乱伦影音先锋| 天天爽天天| 91撸色网 玖玖网 欧美| 欧美性Fer办公室秘书| 国产精品欧美在线观看| 日韩操p| 精品婷婷| 黄色小说亚洲| 久久人妻一区二区三区高清| 久久久久久久| 午夜超爽| 超碰99在线观看| 超碰97资源大奶| 九九九只有精品| 伊人天天久久动态图| 精品一区二区综合熟妇| 人妻AV 中文字幕的| 性生活无遮挡纯毛片在线看| 91老妇女| 8x福利精品第一福利视频导航| 国产99 中文字幕日韩小视频| 91扒丝袜综合在线| 日夜尻逼网| 天堂69亚洲精品中文字| 亚洲欧美国产其他二区| 中文字幕加勒比海高清无码免费视频 | 伊人久久大香大香线蕉中文| 激情文学 国产一二三aV| 九久久精品| 操逼视频国产无套| 91九色网| 97国产伦理| 精品国产一区探花在线观看| 亚洲欧美国产其他二区| 情色五月天久久久| 另类欧美色| 333kkkk·亚洲com久久| 天天影视激情欧美| 天天干人人乐| 欧美日本一区二区a人| 大香蕉十区| 97资源站日韩| 欧美一区二区观看在线| 久久伊人网视频一区二区三区| 综合网亚洲在线| 国产精品女久久久久av爽| 日韩AV中文字幕电影| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 99九九精品| av久日| 中文字幕,人妻,日韩| 亚洲色图激情小说| 亚洲色欧| 久久九九国产精品| 欧美熟妇亚洲版| 性色AV蜜色av色欲av| 欧美夜夜狠| 天天躁日日躁狠狠狠躁| 99热只有这里有精品| 伊人伊人LD| 综合伊人激情| 天美麻豆精品视频99| 夜夜黄| 睡产熟女乱伦| 性九九九九九九| 亚洲一区二区三区中文字幕| 久热精品色情| 三级日韩一区二区三区| 久久久久无码| 久久天堂| 久妇网| 91美女视频| 青青网三级视频| 欧美 亚洲 在线| 五月丁香啪啪| 久久久啊啊啊| 俺去也婷婷| 亚洲小说视频| 婷婷五月天成人| 蜜臀久久99精品久久久久久成人小说| 国产 v乱码一区二| 日韩干B| 5月婷婷6月六月丁香| 久久久九九| 青娱乐日韩无码| 可乐操亚洲蜜911| 99热精品在线| 日韩内| 色五月婷婷在线| 蜜臀久久99精品久久久久久婷婷| 五月丁香六月激情| 欧美啪啪色吧在线| 色妺妺在线视频| 日韩成人无码| 天天天乱色综合全| 国产高清精品一区二区三区毛片| 亚洲天堂人人妻| 亚洲乱伦图片视频| 玖玖爱伊人玖玖爱| 韩国黄色片精品久久久| 国产sv美女内射| 精品妇女一区二区三区| 久久狠狠色噜噜狠狠狠狠97| 国产农村妇女精品一二区| 两女互慰AV高潮喷水在线观看| 天堂在线一区二区| 国产 亚洲 丝袜 制服| 97国产精品在线观看| 这里只有精品久久| 国产成人在线观看网址| 中文97国产| 日韩一性一交一A片俄罗斯 | 男女做爰猛烈动高潮A片免费应用| 白丝少妇一区二区| 亚洲国产一级精品毛一级精品看免费视频 | 手机av亚洲丝袜美腿日韩第一页二页| 女人午夜视频777| 午夜精品久久久久久久第一页按摩| 综合影院亚洲| 一个国产在线综合网站| 超碰这里有精品| 超碰人人妻| 中文字幕美女91| 亚洲天天精品| 免费观看有码高清视频| 免费看黄片现成| 欧美,亚洲,日韩,v,天堂,手机在线观看| 五月婷婷丁香| 日韩有码 一区二区三区| 精品一二三区女同| 亚洲va综合va国产va中文| 干我久操| 丰满欧美放荡少妇在线| 天天摸天天插天天日| 中日亚韩免费视频| 久久精品28| 久久精品视频28| 90后性网国产欧美| 一级一性爱免费视频| 秋霞鲁丝午夜无码一区二区三| 九月婷婷综合| 一二三四视频中文字幕在线看| 国产精品69久久久久孕妇欧美| 人人乐大香蕉| 亚洲成人福利电影免费| 美女啊啊啊啊啊啊| 欧美亚洲宗合色性图| 爽爽淫人网| 日韩乱中文| 免费在线看黄片av| 日本精品一区二区三| 手机av天堂久久久久| 92午夜免费福利视频| 男女无套 免费网站| 精品久操| 丝袜无码a片| 亚洲男人bt天堂| 91足交| 亚洲一区操| 欧美性性性| 任我爽在线视频免费观看| 97视频网站在线观看| 国产精品久久久久久久久AV大片| 亚洲**2021在线观看| 97超碰精品图片| 内射中国少妇高清视频免费视频 | 日韩AV电影网站 | 好吊妞转入那个网| 欧美性爱十八禁| 国产亚洲性生活视频播放| 亚洲色阁| 天堂精品一区| 97一区二压| 精品久久99| 激情五月婷婷| 日韩成人大片一区二区| 十八禁av无码免费网站APP| 搡老女人老91妇女老熟女| 中文字幕第7页| 青青草久草AV| 欧美日韩一干二干| 99re6国产精品99re在线| 日本人妻A片成人免费看片| 亚洲成?V人片在线观看福利| 亚洲精品一区二区精品| 免费人成毛片乱码| 精品传媒在线一区| 蜜桃传媒视频第一区入口在线看| 欧美日韩人妻婷婷一区| 青青草色情网站视频| 澳门人妻久久| 尻女朋友一夜| 成人五月香网在线| 亚洲色综合| 日韩精品一区的| 亚洲少妇中文字幕网址| av在线一区二区三区| 先锋激情∨在线视频播放| 青娱乐999| 中国一级αV| 欧美91精品国产自产| 久久久一区二区三区四区五区| 久久久性爱| 校园春色第一页| 国产精品日日摸天天碰| 精品在线78| 蜜汁欧美| 91狠狠综合久久| 国产激情在线| 91亚洲综合在线| 农村妇女精品一二区| 麻豆91熟妇人妻中文字幕茄子| 欧美—性—交—色| 男人的天堂com| 国产精品成人午夜福利| 啊v在线观看视频| 天天噜| 操碰97| 欧美性生活男人的天堂| 无码一区二区精品视频久久久春药| 一级婬片120分钟试看| 亚洲AV成人无码一二三久久| 成人无遮挡毛片免费看| 免费?级毛片无码?∨蜜芽试看| 午夜视频久久久久一区| 久久无码成人| 国产成人免费观看在线视频| 亚州操逼网| 婷婷色色网| 麻豆 欧美 日韩| 成人老鸭窝人人在线视频| 神马久久久久久久久久| 亚洲一区亚洲天堂| 精品二区三四区五电影| 国语精品对白| 九九九九九九视频免费| 麻豆视频国产一区二区| 精品久久久高清无码| 天堂中文资源在线bt| 在线99热| 欧美另类色| www鬼畜国产男人的天堂| 91黑丝少妇| 好属操| 99亚洲天堂| 婷婷丁香在线| 麻豆久久视频在线地址| 欧美大香蕉97| 青草影院内射高潮| 超碰吊日色| 亚洲av噜噜噜噜噜噜| 无码一区二区精品视频久久久春药| 色色色色日本| www.色综合| 无码99| 九九九九九九视频| 超碰4A| 无码一区免费在线不卡| 97人妻免费中文字幕| 九九Av| 狠狠干精品一二三四五六2022| 激情小说亚洲视频| 色五月av| 一级黄色视频网| 五月婷婷六月丁香| 久草资源欧美在线视频| 色婷婷A V一二三四区麻豆综合| 国产97亚洲| 强奸乱伦亚洲第一页| 日本久久99| 密臀AV在线| 欧美亚洲首页| 先锋激情∨在线视频播放| 99综合免费视频| 黄呦呦在线| 天天拍夜夜| 国产专区第一页| 欧美亚洲综合色| 国产99999久久精品| 国产精品视屏| 亚洲黄色网址视频| 人妻夜夜爽天天爽麻豆三区网站| 超碰97在线中文| 亚洲成人激情小说视频| 日韩性爱电影一区| 免费农村成人少妇人妻Aa一区二区视频| 天堂综合| 国产偷拍网站| 亚洲精品久久久久久久蜜桃臀| 婷婷激情一区二区三区俺也去| 亚洲丝袜二区在线| 日本黄色大片一级视频免费麻豆| 91黑丝露脚| 亚洲偷91色| 婷婷av在线中文字幕| 99热精品在线| 91少妇通奸网站| 天天射天天操天天干天天吃2018| 久久9视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美性91| 综合97亚洲| 亚洲九九九| 91超碰人人操| 久草精品视频| 乱性AV| 久久久久免费少妇| 久久精品综合| 熟女这里只有精品6| 97中文天堂| 四虎在线视频| 亚洲古典另类欧美在线| 九九拍拍精品视频在线播放| 久久神马| 视频二区美腿丝袜制服人妻欧美 | 黄呦呦在线| 99久久无码| 久久色人体| 欧美日韩欧美| 国产 三级自拍| 九九九精品一区二区无码| 婷婷av在线中文字幕| 国产成人资源| 欧美 亚洲 在线| 久久婷色| 91男人综合| 韩国三级理论在线| 久久久免费懂色| 很黄很色的视频在线观看| 91久久伊人婷婷青青草| 国产福利一区二| ss久久| 久久精品人妻一区| 蜜臀久久一区二区| 偷拍视频青青草在线视频| 综合网色| 精品日日人妻| 玖玖在线视频|