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

部署滿血DeepSeek R1的避坑指南-vLLM 0.7.1

發布于 2025-2-6 15:33
瀏覽
0收藏

今天看到vLLM的朋友圈發布了DeepSeek R1的PP支持,立刻開始我的搗鼓之旅,假如我訓練的超大MoE上線了,也得做好技術準備工作是不嘛。把踩坑經驗給大家分享一下,希望能夠相比于官方文檔更白話一點。

Distributed Inference and Serving: https://docs.vllm.ai/en/latest/serving/distributed_serving.html#running-vllm-on-multiple-nodes

知乎@游凱超 說一定要讓整個過程變得絲滑無比,我倆配合做了幾個驗證,現在應該只需要 Step0 和 Step3 就可以run起來了,如果遇到autoscalar的相關問題可以看Step1可以解決。

Step 0 Prepare weights & Environment

由于權重太大了,即使你網速可以,也不建議直連下載了。大家可以先從HF及或代理弄一份權重回來,直連大概率直接超時或者把公網IP打爆。我們今天展示的多機多卡8xH20 (x2) 部署,對應TP size 8,PP size 2,所以要搞兩臺這樣的機器過來。同時有一個假設:兩機的網絡互通,不一定需要IB,儲存需要共享(NAS或OSS均可),完成準備工作之后便可以做第一步。

Step 1 Setup up Ray & Cluster

官方文檔里面簡單帶過了這一部分,但這個是我被卡時間太久的問題。首先我說一下官方文檔的意思,就是讓你準備好兩個節點,之間用ray start這個CLI去建立好ray集群。因為后面要用,但是比較坑的有兩點,第一點是啟動的命令似乎有點點問題,我在前幾次嘗試的時候都遇到了Ray的autoscaler報錯的問題:

(autoscaler +1m19s) Error: No available node types can fulfill resource request {'node:33.18.26.153': 0.001, 'GPU': 1.0}. Add suitable node types to this cluster to resolve this issue.
(autoscaler +1m54s) Error: No available node types can fulfill resource request {'GPU': 1.0, 'node:33.18.26.153': 0.001}. Add suitable node types to this cluster to resolve this issue.
(autoscaler +2m29s) Error: No available node types can fulfill resource request {'GPU': 1.0, 'node:33.18.26.153': 0.001}. Add suitable node types to this cluster to resolve this issue.
INFO 02-02 09:39:14 ray_utils.py:212] Waiting for creating a placement group of specs for 150 seconds. specs=[{'node:33.18.26.153': 0.001, 'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}, {'GPU': 1.0}]. Check `ray status` to see if you have enough resources.

這看起來就很奇怪,因為vLLM找Ray集群要的Resource是custom resource,'node:33.18.26.153':0.001,這可以理解成vLLM優先要driver節點。但是這個東西我印象中是需要啟動ray的時候自己設置的:

https://docs.ray.io/en/latest/ray-core/scheduling/resources.html#custom-resources

像這樣才會有這種resource。背后的原因是對于多(虛擬)網卡的機器會有多個網段,vLLM assume使用POD IP來做Ray的master尋址。

解法1:設置 VLLM_HOST_IP

# Get local IP address and set on every node before Ray start
VLLM_HOST_IP=$(hostname -I | awk '{print $1}')
export VLLM_HOST_IP

解法2:魔改Ray啟動邏輯

def get_actual_ip():
    """Get the actual IP address of the current machine."""
    try:
        # Create a socket to connect to an external server (doesn't actually connect)
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip = s.getsockname()[0]
        s.close()
        return ip
    except Exception:
        # Fallback to hostname-based IP resolution
        return socket.gethostbyname(socket.gethostname())

def start_ray_cluster():
    free_ports = get_free_ports()
    port = free_ports[0]
    node_manager_port = free_ports[1]
    master_addr = get_master_addr()
    rank = get_rank()
    node_ip = get_actual_ip()  # Use the new function to get actual IP
    
    # Define custom resource based on node IP
    resource_spec = f'--resources=\'{{"node:{node_ip}": 1}}\''
    
    if rank == 0:
        cmd = f"ray start --head --port={port} --node-ip-address={master_addr} --node-manager-port {node_manager_port} --node-name={master_addr} {resource_spec}"
    else:
        cmd = f"ray start --address={master_addr}:{port} --node-manager-port {node_manager_port} --node-name={get_addr()} {resource_spec}"
    
    if ray.is_initialized():
        print("Ray is already initialized, skipping node level init.")
    else:
        stop_cmd = "ray stop"
        execute(stop_cmd, check=True)
        print(f"Executing Ray start command: {cmd}")
        execute(cmd, check=True)

其中execute可以這樣寫,

import time
import subprocess

def execute(cmd, check=False, retry=1):
    ret = subprocess.run(cmd, shell=True, capture_output=True, text=True, check=check)
    state = ret.returncode == 0
    msg = ret.stdout if state else ret.stderr
    if not state and retry > 1:
        print(f"execute {cmd} got error {msg}, retry...")
        time.sleep(1)
        return execute(cmd, check, retry-1)
    return state, msg

然后這里我稍微提一下ray的一些基礎玩法:大家在使用Ray的時候一般都不是在裸機上面的,大部分深度學習的資源都是k8s結合kubeflow或者volcano這樣的插件分發出來的。環境變量里面會有當前是第幾個rank,頭結點master_addr這樣的信息,大家可以根據自己的需要把這些函數實現一下。比較坑的 {resource_spec} 這里我已經替大家把坑給填了。

Step 2 Other small bugs

期間又報了兩個錯誤,花了一點時間修復:

Traceback (most recent call last):
  File "/usr/local/bin/vllm", line 5, in <module>
    from vllm.scripts import main
  File "/usr/local/lib/python3.10/dist-packages/vllm/__init__.py", line 4, in <module>
    from vllm.engine.async_llm_engine import AsyncLLMEngine
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 15, in <module>
    from vllm.engine.llm_engine import (DecoderPromptComponents, LLMEngine,
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 24, in <module>
    from vllm.engine.output_processor.interfaces import (
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/output_processor/interfaces.py", line 6, in <module>
    from vllm.engine.output_processor.stop_checker import StopChecker
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/output_processor/stop_checker.py", line 6, in <module>
    from vllm.transformers_utils.tokenizer import AnyTokenizer
  File "/usr/local/lib/python3.10/dist-packages/vllm/transformers_utils/tokenizer.py", line 13, in <module>
    from vllm.transformers_utils.tokenizers import (BaichuanTokenizer,
  File "/usr/local/lib/python3.10/dist-packages/vllm/transformers_utils/tokenizers/__init__.py", line 2, in <module>
    from vllm.transformers_utils.tokenizers.mistral import MistralTokenizer
  File "/usr/local/lib/python3.10/dist-packages/vllm/transformers_utils/tokenizers/mistral.py", line 9, in <module>
    from mistral_common.tokens.tokenizers.mistral import ChatCompletionRequest
  File "/usr/local/lib/python3.10/dist-packages/mistral_common/tokens/tokenizers/mistral.py", line 32, in <module>
    from mistral_common.tokens.tokenizers.multimodal import (
  File "/usr/local/lib/python3.10/dist-packages/mistral_common/tokens/tokenizers/multimodal.py", line 6, in <module>
    import cv2
  File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 175, in bootstrap
    if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
  File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 28, in __load_extra_py_code_for_module
    py_module = importlib.import_module(module_name)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.10/dist-packages/cv2/typing/__init__.py", line 171, in <module>
    LayerId = cv2.dnn.DictValue
AttributeError: module 'cv2.dnn' has no attribute 'DictValue'

一個opencv封建余孽的問題,pin住opencv的版本來解決

pip install opencv-python-headless==4.5.4.58

還有一個load之后報TypeError的問題

[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/deepseek_v3.py", line 472, in forward
[rank0]:     kv_c, k_pe = self.kv_a_proj_with_mqa(hidden_states)[0].split(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1747, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/linear.py", line 246, in forward
[rank0]:     output = self.quant_method.apply(self, x, bias)
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/quantization/fp8.py", line 357, in apply
[rank0]:     return apply_w8a8_block_fp8_linear(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/quantization/utils/fp8_utils.py", line 61, in apply_w8a8_block_fp8_linear
[rank0]:     output = w8a8_block_fp8_matmul(q_input,
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/quantization/utils/fp8_utils.py", line 470, in w8a8_block_fp8_matmul
[rank0]:     configs = get_w8a8_block_fp8_configs(N, K, block_size[0], block_size[1])
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/quantization/utils/fp8_utils.py", line 407, in get_w8a8_block_fp8_configs
[rank0]:     device_name = current_platform.get_device_name().replace(" ", "_")
[rank0]: TypeError: a bytes-like object is required, not 'str'

通過升級 pynvml 解決

pip install pynvml -U

Step 3 Run the model

這一步反而是最簡單的:

vllm serve /your/path/to_checkpoint_deepseek-r1/ --tensor-parallel-size 8 --pipeline-parallel-size 2 --trust-remote-code --host 0.0.0.0

由于有了PP加持,沒有IB的同學也可以嘗試把sequence length和bsz給稍微拉大一些拉。用gaoce哥哥貢獻的Reasoning Output,在同一臺機器來試一把,或者換一臺機器把localhost改了:

from openai import OpenAI

# Modify OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

models = client.models.list()
model = models.data[0].id

# Round 1
messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
response = client.chat.completions.create(model=model, messages=messages)

reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content

print("reasoning_content:", reasoning_content)
print("content:", content)

對,你不是卡主了,是你的錢包不夠厚。切到后臺可以看到,這個prompt里面

INFO 02-02 14:18:52 metrics.py:453] Avg prompt throughput: 1.7 tokens/s, Avg generation throughput: 0.1 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 0.0%, CPU KV cache usage: 0.0%.
INFO 02-02 14:18:57 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 20.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.0%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:02 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 20.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.0%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:07 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 20.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.0%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:12 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 20.1 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.0%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:17 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 19.8 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.1%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:22 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 19.4 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.1%, CPU KV cache usage: 0.0%.
INFO 02-02 14:19:27 metrics.py:453] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 19.1 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cacheusage: 0.1%, CPU KV cache usage: 0.0%.

稍等一會他就會告訴你9.8更大了。

祝大家搗鼓順利,感謝vLLM社區的工作。

https://github.com/vllm-project/vllm/pull/12679

凱超真 nb 春節在這做貼身客服,哈哈,RL仔現在不管原來是主修文還是主修理的,都先修infra吧。

本文轉載自 ??NLP工作站??,作者: 曹宇

收藏
回復
舉報
回復
相關推薦
欧美777四色影| 久久久久久亚洲精品美女| 久久综合九色综合欧美亚洲| 日本欧美在线视频| 三上悠亚在线观看视频| 亚洲日本va午夜在线电影| 丁香五六月婷婷久久激情| 亚洲精品在线视频观看| 丰满肉肉bbwwbbww| 日韩电影免费在线| 性欧美xxxx视频在线观看| 手机av在线不卡| 99精品中文字幕在线不卡| 色婷婷av一区二区| 菠萝蜜视频在线观看入口| 韩国三级在线观看久| 国产成人免费av在线| 国产精品美女在线观看| 国产午夜精品无码| 日本大胆欧美| 亚洲国产精品悠悠久久琪琪| xxx国产在线观看| 伊人成综合网站| 亚洲精品午夜久久久| 免费一区二区三区在在线视频| 一级日韩一级欧美| 首页国产欧美日韩丝袜| 午夜欧美大片免费观看| 男的操女的网站| 精品国产一区一区二区三亚瑟| 亚洲黄色www网站| 韩国三级丰满少妇高潮| 欧美男男gaygay1069| 欧美性jizz18性欧美| 国产xxxx振车| 特级毛片在线| 亚洲精品一二三| 最新精品视频| 日本在线观看免费| 中文字幕乱码久久午夜不卡| 久久综合九色综合网站| 亚洲国产精品一| 国产精品99久久久久久宅男| 国产精品最新在线观看| 亚洲av无码乱码国产精品fc2| 国产一区二区三区的电影| 欧美激情视频给我| 欧美卡一卡二卡三| 永久亚洲成a人片777777| 色七七影院综合| 日本一区二区视频在线播放| 精品国产aⅴ| 国产一区二区免费| 欧美福利第一页| 欧美熟乱15p| 在线成人一区二区| 一二三四在线观看视频| 日韩1区2区| 色婷婷综合久久久久| 久久免费手机视频| 91精品国产91久久综合| 久久天天躁狠狠躁夜夜躁| www.av成人| 中文字幕av亚洲精品一部二部| 久久精品中文字幕免费mv| 久久久久亚洲av片无码| 欧美特黄一区| 97人人做人人爱| 中文字幕69页| 久久精品国产秦先生| 91精品啪aⅴ在线观看国产| 国产日产亚洲系列最新| 国产成人一级电影| 久久国产精品一区二区三区四区| 亚洲av成人精品毛片| www国产精品av| 亚洲精品第一区二区三区| 视频一区二区三区不卡| 亚洲精品国产无天堂网2021| 国产精品入口芒果| 成人性生活视频| 欧美精品久久99| 国产精品日日摸夜夜爽| 伊人久久大香线蕉av不卡| 中文字幕欧美亚洲| 青青操视频在线播放| 日韩午夜精品| 国产精品久久久久久久美男| 国产黄色片免费观看| 99久久亚洲一区二区三区青草| 日本一区二区高清视频| av毛片在线看| 色老汉一区二区三区| 久久精品久久99| 亚洲a级精品| 久久久av电影| 久久久久久久久久久久久av| 久久99精品久久久久久| 狠狠爱一区二区三区| 午夜视频在线| 午夜天堂影视香蕉久久| 成人av毛片在线观看| silk一区二区三区精品视频| 国产一区二区三区视频| 日本一二三区不卡| 久久国产精品99久久人人澡| 国产专区一区二区| 一级毛片视频在线观看| 欧美日韩中文在线| 伦伦影院午夜理论片| 国产欧美日韩精品一区二区免费 | 久草在线新免费首页资源站| 欧美性xxxx极品高清hd直播| 中文字幕在线视频一区二区| 国产乱码精品一区二区亚洲 | 午夜不卡一区| 日韩精品999| 少妇久久久久久被弄高潮| 日日欢夜夜爽一区| 国产美女精品在线观看| 久久99精品久久久久久野外| 欧美伊人久久大香线蕉综合69| 日本人添下边视频免费| 亚洲色图欧美| 国产精品爽爽爽| 免费福利在线观看| 亚洲国产精品一区二区www | 正在播放亚洲精品| 99国产精品一区| 福利在线一区二区| 国产欧美88| 久久精品国产99国产精品澳门| 亚洲av中文无码乱人伦在线视色| 高清不卡在线观看av| 国产又黄又爽免费视频| 日本电影久久久| 色婷婷av一区二区三区久久| 久久久蜜桃一区二区| 91蜜桃网址入口| 成人黄色av片| 精品久久ai电影| 性色av一区二区三区红粉影视| 国产夫妻自拍av| 亚洲女人的天堂| 国产精品久久久久野外| 久久精品影视| 91老司机精品视频| 18av在线视频| 欧美一区二区三区播放老司机| 国精产品一区一区二区三区mba| 日本伊人色综合网| 亚洲精品成人久久久998| 国产成人77亚洲精品www| 一个人看的www久久| 中文天堂在线播放| 亚洲欧美偷拍卡通变态| 国产伦精品一区二区三区妓女下载| 久久精品亚洲人成影院 | 91激情视频在线| 国产一区二区欧美| 国产精品自在线| 国产欧美久久久久久久久| 欧美一区二区在线免费观看| 欧美成人精品一区二区免费看片| 国产91精品一区二区| 男人添女人荫蒂免费视频| 国产精品xxx在线观看| 69av在线播放| а天堂8中文最新版在线官网| 欧美视频一区二区在线观看| 欧美一级特黄高清视频| 国产一区二区三区av电影| 国产精品久久久久久久乖乖| 欧美日韩一本| 国产精品爽爽ⅴa在线观看| 黄色网页在线免费看| 亚洲精品一区二区三区影院| 日本视频免费在线| 国产日本欧洲亚洲| 亚洲色图欧美自拍| 99在线精品视频在线观看| 日韩黄色影视| 亚洲一二三区视频| 青青久久av北条麻妃海外网| 国产女人在线视频| 日韩精品一区二| 好吊色在线视频| 亚洲免费观看视频| 久久久久9999| 国产一区二区三区在线观看免费视频| 97碰在线视频| 大胆日韩av| 国产精品手机在线| 久久女人天堂| 91精品国产色综合| 欧美成人三区| 国产视频综合在线| www.热久久| 欧美在线视频全部完| 日韩精品乱码久久久久久| 中文字幕不卡的av| 亚洲午夜久久久久久久久| 免费成人性网站| a级黄色一级片| 亚洲欧美色图| 日韩欧美手机在线| 久久中文字幕导航| 亚洲一区亚洲二区| 91精品店在线| 777精品视频| 四虎影院观看视频在线观看| 在线看国产精品| 婷婷开心激情网| 日韩精品资源二区在线| 中文字幕乱码无码人妻系列蜜桃| 黄色成人av在线| 黄色一级大片在线免费观看| 国产清纯在线一区二区www| 亚洲熟女一区二区| 国产资源精品在线观看| 99热这里只有精品在线播放| 亚洲黄色免费| 国产 欧美 日本| 亚洲人体av| 手机成人av在线| 日韩欧美综合| 欧洲精品久久| 欧美男男gaytwinkfreevideos| 俄罗斯精品一区二区三区| 欧美日韩伦理一区二区| 国产成人精品电影久久久| 在线视频超级| 欧美中文字幕在线视频| 岛国av在线播放| 高清一区二区三区日本久| 婷婷色在线资源| 欧美多人乱p欧美4p久久| 国产成人l区| 久久成人18免费网站| 岛国在线大片| 在线国产精品视频| av在线中文| 日韩中文av在线| 日本成人网址| 久久精品国产清自在天天线| 国产福利视频在线观看| 精品国偷自产在线视频99| 超碰在线免费播放| 超碰日本道色综合久久综合 | 一区二区不卡在线播放 | 在线观看男女av免费网址| 精品国偷自产在线视频| 中文字幕在线观看播放| 九九热精品在线| 丁香花视频在线观看| 久久久伊人日本| 成人性生交大片免费观看网站| 热久久免费国产视频| 666av成人影院在线观看| 国产精品久久久久久超碰| 日韩欧国产精品一区综合无码| 成人h视频在线观看播放| 亚洲第一二区| 国产一区二区在线观看免费播放| 香蕉人人精品| 先锋影音一区二区三区| 亚洲国产日韩欧美在线| 国产片侵犯亲女视频播放| 一本色道久久综合亚洲精品不| 1024精品视频| 另类小说一区二区三区| 日本一二三四区视频| 成人黄色一级视频| 右手影院亚洲欧美| 亚洲三级在线看| 日本中文字幕免费| 色婷婷国产精品综合在线观看| 这里只有久久精品视频| 欧美一三区三区四区免费在线看| 日韩中文字幕综合| 中文字幕一区二区精品| 黄色网页在线播放| 91国产高清在线| 亚洲mmav| 国产精品视频入口| 日本不卡二三区| 成人午夜精品久久久久久久蜜臀| 久久精品一区| 又黄又爽又色的视频| 91免费国产在线观看| 日韩va亚洲va欧美va清高| 岛国av一区二区三区| 国产日韩免费视频| 亚洲美腿欧美激情另类| 最新黄网在线观看| 国产精品爱久久久久久久| 日韩欧美一级| 水蜜桃一区二区| 国模大胆一区二区三区| 亚洲免费一级视频| 91小视频在线免费看| 天天鲁一鲁摸一摸爽一爽| 富二代精品短视频| 不卡的日韩av| 日韩在线播放av| 亚洲高清黄色| 国产精品xxxx| 国产国产精品| 亚洲黄色a v| a亚洲天堂av| 国产又黄又爽又无遮挡| 欧美性色综合网| 亚洲欧洲综合在线| 精品自在线视频| aa亚洲一区一区三区| 欧美日韩电影一区二区| 亚洲成人在线| av不卡中文字幕| 综合久久久久久| 亚洲一级av毛片| 亚洲视频视频在线| 国产欧洲在线| 成人av蜜桃| 欧美二区视频| 国产不卡的av| 1区2区3区国产精品| 日韩中文字幕高清| 亚洲欧美中文日韩在线v日本| 97人人在线视频| 国产精品入口免费| 国产综合激情| 美国黄色一级视频| 亚洲韩国精品一区| 亚洲爱情岛论坛永久| 欧美激情欧美激情在线五月| 久久久久亚洲精品中文字幕| 黄黄视频在线观看| 韩国三级在线一区| 在线免费观看亚洲视频| 欧美一区二区三区免费| 亚洲淫性视频| caoporn国产精品免费公开| 91精品国产麻豆国产在线观看 | 69国产精品视频免费观看| 亚洲国产中文字幕在线观看| 欧美aaa免费| 国外成人在线视频网站| 中文日韩欧美| 欧洲女同同性吃奶| 91久久线看在观草草青青| 激情小说 在线视频| 国产成人精品午夜| 精品国产精品久久一区免费式| 亚洲色图 在线视频| 国产精品高潮呻吟| 国产av一区二区三区| 欧美成人在线网站| 第四色中文综合网| 国产最新免费视频| 日本一区二区成人在线| 国产乱人乱偷精品视频| 欧美日本在线视频中文字字幕| 中文字幕久久精品一区二区 | 一区在线电影| 国产一区二区毛片| 日本少妇在线观看| 亚洲欧美激情一区| 91成人精品观看| 日本免费成人网| 91在线一区二区三区| 自拍偷拍色综合| 久久影院中文字幕| 老汉色老汉首页av亚洲| 色婷婷综合久久久久中文字幕| 欧美高清在线一区| 午夜精品久久久久久久99 | 日韩一级特黄毛片| 91丨九色丨黑人外教| 国产精品成人久久久| 裸体女人亚洲精品一区| 女仆av观看一区| 伊人网在线综合| 性欧美疯狂xxxxbbbb| 日本中文在线观看| 国产欧美综合精品一区二区| 日韩精品福利网| 青春草免费视频| 国产午夜精品免费一区二区三区 | 欧美第一黄网| 国产一区二区三区不卡在线观看 | 91精品国产免费| 中国字幕a在线看韩国电影| 宅男一区二区三区| 91亚洲精品一区二区乱码| 亚洲综合五月天婷婷丁香| 性欧美xxxx交| 欧美激情亚洲| 中文字幕黄色网址| 日韩激情片免费| 亚洲天堂中文字幕在线观看|