免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

Linux下的分布式Minio部署實(shí)踐

:2024年09月20日 思享云棧
分享到:

分布式Minio部署是一種高可靠、高可用、彈性擴(kuò)展的對象存儲服務(wù),支持多節(jié)點(diǎn)/多硬盤級別的可靠性,可配置容忍最多1/2節(jié)點(diǎn)或硬盤的損失。它使用Erasure Code提供數(shù)據(jù)的冗余,對象會被拆分成N/2的數(shù)據(jù)塊、...

分布式Minio部署可以將多塊硬盤(位于相同機(jī)器或者不同機(jī)器)組成一個對象存儲服務(wù),避免單機(jī)環(huán)境下硬盤容量不足、單點(diǎn)故障等問題。

1. 簡介

在當(dāng)前的云計(jì)算和大數(shù)據(jù)時代,IT系統(tǒng)通常的設(shè)計(jì)理念都是無中心和分布式。Minio分布式模式可以幫助搭建一個高可靠、高可用、彈性擴(kuò)展的對象存儲服務(wù)。

分布式部署,minio拓?fù)錇镸ulti-Node Multi-Drive (MNMD), 即多個節(jié)點(diǎn),每個節(jié)點(diǎn)有多個磁盤。可用于如下場景:

  • 企業(yè)級的高性能對象存儲。

  • 多節(jié)點(diǎn)/多硬盤級別的可靠性,可配置容忍最多 1/2 節(jié)點(diǎn)或硬盤的損失。

  • 用于AI/ML、分布式查詢、分析以及其他數(shù)據(jù)湖組件的主要存儲。

  • 可擴(kuò)展到 PB 級別的工作負(fù)載,具備存儲容量和性能的雙重?cái)U(kuò)展能力。

2. minio的數(shù)據(jù)保護(hù)機(jī)制

2.1 Erasure Code(糾刪碼)

Minio 使用 Erasure Code 提供數(shù)據(jù)的冗余:

  • 分布式 Minio 采用Erasure Code來防范多個節(jié)點(diǎn)宕機(jī)和位衰減。

  • 分布式 Minio 至少需要 4 個節(jié)點(diǎn)(4臺服務(wù)器),使用分布式 Minio 就會自動啟用糾刪碼功能。

  • Erasure Code 是一種恢復(fù)丟失和損壞數(shù)據(jù)的數(shù)學(xué)算法, Minio 采用 Reed-Solomon Code將對象拆分成 N/2 數(shù)據(jù) 和 N/2 奇偶校驗(yàn)塊。MinIO 在 N / 2 個數(shù)據(jù)盤 和 N / 2 個奇偶校驗(yàn)盤上分片對象。這就意味著如果是12塊盤, 一個對象會被分成6個數(shù)據(jù)塊、6個奇偶校驗(yàn)塊, 可以丟失任意6塊盤的情況下(不管其是存放的數(shù)據(jù)塊還是奇偶校驗(yàn)塊), 仍可以從剩下的盤中的數(shù)據(jù)進(jìn)行讀取和恢復(fù)。

  • Minio 糾刪碼是作用在對象級別,可以一次恢復(fù)一個對象,而RAID 是作用在卷級別,數(shù)據(jù)恢復(fù)時間很長。Minio 對每個對象單獨(dú)編碼,存儲服務(wù)一經(jīng)部署,通常情況下是不需要更換硬盤或者修復(fù)。

erasure-code 數(shù)據(jù)圖

  • DataDrives : 糾刪碼中的數(shù)據(jù)盤,用來存儲 Object 原始數(shù)據(jù)。

  • ParityDrives: 糾刪碼中的校驗(yàn)盤,用來存儲 Object 計(jì)算出來的校驗(yàn)數(shù)據(jù)。

  • Minio 糾刪碼的默認(rèn)配置為 1 : 1, 即數(shù)據(jù)盤 ( DataDrives )和 校驗(yàn)盤 ( ParityDrives ) 個數(shù)相同, 使用minio分布式部署最終真正可用的存儲空間,只有所有磁盤總空間的一半大小。

  • 一個 ErasureCode 組/ Sets 中有多個 Drive(DataDrives + ParityDrives), Minio 會先將一塊 Block 按照 Drives 數(shù)量, 劃分為多個小塊, 這些小塊在 Minio 中叫做 Shards。比如一個 Block 是 10MB, 而 Set 里有 16 個 Drive(8 DataDrives + 8 ParityDrives), 此時 Minio 會將 Block 按照 10 MB / 8 DataDrives 的方式,將數(shù)據(jù)劃分到 8 個 Data Shards,并額外再創(chuàng)建 8 個 空 Shards,用來存儲編碼后的冗余數(shù)據(jù)。

  • 接著 Minio 就會對 Data Shards 進(jìn)行糾刪碼編碼, 并將編碼后的冗余數(shù)據(jù)存儲到前面創(chuàng)建的 8 個空 Shards 中, 也就是 parity shards 中。

Architecture-minio-distributed

2.2 數(shù)據(jù)保護(hù)

分布式 MinIO 使用 Erasure Code 提供針對 多個節(jié)點(diǎn)/驅(qū)動器 故障 和 Bit Rot 保護(hù)。

  • 由于分布式 MinIO 所需的 最小磁盤為 4(與擦除編碼所需的最小磁盤相同), 因此在您啟動分布式 MinIO 時,擦除代碼會自動啟動。

  • 因此 只要 m / 2 個服務(wù)器 或 m * n / 2 個或更多磁盤在線, 具有 m個服務(wù)器 和 n個磁盤 的分布式 MinIO 設(shè)置將使您的數(shù)據(jù)安全。( M 表示 服務(wù)器總數(shù), N 表示 數(shù)據(jù)庫盤 總數(shù) )

  • Erasure Code 是用來保證 Object 的每個 Block 的數(shù)據(jù)正確和可恢復(fù)的, 而 Bitrot 技術(shù)是用來檢驗(yàn)磁盤數(shù)據(jù)的正確性的。

  • Erasure Code 技術(shù)比較復(fù)雜, 但是 Bitrot 技術(shù)就比較簡單了。本質(zhì)就是在寫數(shù)據(jù)之前, 先計(jì)算好數(shù)據(jù)的 hash, 然后將 hash 先寫入磁盤, 再寫入需要存儲的數(shù)據(jù)。這樣讀取數(shù)據(jù)時,就可以通過重新計(jì)算 hash,和原始寫入的 hash進(jìn)行一致性比較,來判斷數(shù)據(jù)是否有損壞。

  • 上傳文件時,Minio 不是直接上傳到 object 在磁盤的最終存儲目錄的,而是先寫到一個臨時目錄,等所有數(shù)據(jù)都寫到臨時目錄后,Minio 才會進(jìn)行 rename 操作,將 object 數(shù)據(jù)存儲到最終存儲目錄。

3. 部署分布式Minio

3.1 環(huán)境準(zhǔn)備

機(jī)器準(zhǔn)備

hostnameos配置ipdiskminioserver1centos7.98C32G192.168.1.10vdb,vdc,vdd,vdeminioserver2centos7.98C32G192.168.1.11vdb,vdc,vdd,vdeminioserver3centos7.98C32G192.168.1.12vdb,vdc,vdd,vdeminioserver4centos7.98C32G192.168.1.13vdb,vdc,vdd,vde

  1. 各節(jié)點(diǎn)按照上表信息完成基礎(chǔ)配置。

  2. 各節(jié)點(diǎn)配置ntp服務(wù),確保時間同步。

  3. 各節(jié)點(diǎn)關(guān)閉防火墻或者放行9000和9001端口:

firewall-cmd --permanent --zone=public --add-port=9000-9001/tcp

firewall-cmd --reload

磁盤和掛載點(diǎn)準(zhǔn)備

本文以4節(jié)點(diǎn)的分布式Minio為例,每個節(jié)點(diǎn)4塊盤為例。將4塊盤分別掛載到4個節(jié)點(diǎn)上,并在每個節(jié)點(diǎn)上創(chuàng)建目錄。

  1. 格式化磁盤并配置掛載點(diǎn)

]# cat disk-mount.sh

#!/bin/bash

mkfs.xfs /dev/vdb -L DISK1

mkfs.xfs /dev/vdc -L DISK2

mkfs.xfs /dev/vdd -L DISK3

mkfs.xfs /dev/vde -L DISK4

mkdir -p /data/minio/data0{1..4}

cat >> /etc/fstab <<-EOF

LABEL=DISK1      /data/minio/data01         xfs     defaults,noatime  0       2

LABEL=DISK2      /data/minio/data02         xfs     defaults,noatime  0       2

LABEL=DISK3      /data/minio/data03         xfs     defaults,noatime  0       2

LABEL=DISK4      /data/minio/data04         xfs     defaults,noatime  0       2

EOF

mount -a

在4個節(jié)點(diǎn)依次執(zhí)行上述腳本sh disk-mount.sh,確保硬盤掛載到相應(yīng)目錄:

]# lsblk -f

NAME   FSTYPE  LABEL    UUID                                 MOUNTPOINT

sr0    iso9660 config-2 2024-09-18-14-22-17-00

vda

└─vda1 xfs              a8486478-6076-4541-bfc7-8d945834d5a0 /

vdb    xfs     DISK1    c4f4442a-f805-4404-ab5b-2e27b46a2b75 /data/minio/data01

vdc    xfs     DISK2    dba519e6-7a01-4eaf-a3cc-3d2b2a23a39a /data/minio/data02

vdd    xfs     DISK3    369b7795-510f-4f50-b314-7fc3b533a36b /data/minio/data03

vde    xfs     DISK4    360ccb99-029a-496d-9f2c-22d58cb51206 /data/minio/data04

注意:
確保用于minio的數(shù)據(jù)盤是干凈無數(shù)據(jù)的。
  1. 禁用XFS Retry On Error

MinIO 強(qiáng)烈建議通過 max_retries 配置禁用以下錯誤類別的重試行為:

  • EIO 錯誤:讀寫時發(fā)生的輸入/輸出錯誤

  • ENOSPC 錯誤:設(shè)備上空間不足

  • 默認(rèn):所有其他錯誤

默認(rèn)的 max_retries 設(shè)置通常會讓文件系統(tǒng)在錯誤發(fā)生時無限期地重試,而不是傳播錯誤。MinIO 可以正確處理 XFS 錯誤,因此重試行為只會引入不必要的延遲或性能下降。

以下腳本會遍歷指定掛載路徑下的所有硬盤,并將 XFS 的 max_retries 設(shè)置為 0,或設(shè)置為“在發(fā)生錯誤時立即失敗”,以符合推薦的錯誤類別。該腳本會忽略未掛載的硬盤(無論是手動掛載還是通過 /etc/fstab)。請根據(jù)您的 MinIO 硬盤修改 /data/minio/data 行以匹配使用的模式。

#!/bin/bash

for i in $(df -h | grep /data/minio/data | awk '{ print $1 }'); do

mountPath="$(df -h | grep $i | awk '{ print $6 }')"

deviceName="$(basename $i)"

echo "Modifying xfs max_retries and retry_timeout_seconds for drive $i mounted at $mountPath"

echo 0 > /sys/fs/xfs/$deviceName/error/metadata/EIO/max_retries

echo 0 > /sys/fs/xfs/$deviceName/error/metadata/ENOSPC/max_retries

echo 0 > /sys/fs/xfs/$deviceName/error/metadata/default/max_retries

done

exit 0

將上述腳本保存為 /opt/minio/xfs-retry-settings.sh,添加執(zhí)行權(quán)限:chmod +x /opt/minio/xfs-retry-settings.sh。并在所有 MinIO 節(jié)點(diǎn)上運(yùn)行此腳本,以禁用 XFS 的錯誤重試功能。

因?yàn)?Linux 操作系統(tǒng)通常在重啟不會保留這些更改,可以使用帶有 @reboot 時間參數(shù)的 cron 作業(yè),在節(jié)點(diǎn)重啟時運(yùn)行上述腳本,以確保所有硬盤禁用錯誤重試功能。使用 crontab -e 創(chuàng)建以下任務(wù),并根據(jù)每個節(jié)點(diǎn)的實(shí)際情況修改腳本路徑:

@reboot /opt/minio/xfs-retry-settings.sh

說明
官方建議使用本地存儲類型(DAS),同時文件系統(tǒng)使用xfs,磁盤使用的存儲介質(zhì)和容量建議一致。關(guān)于minio部署的硬件要求可以參考:https://min.io/docs/minio/linux/operations/checklists.html

minio軟件準(zhǔn)備

在每個節(jié)點(diǎn)上安裝minio:

# 在節(jié)點(diǎn)的/opt目錄下載安裝minio軟件

mkdir -p /opt/minio

cd /opt/minio/

wget https://dl.min.io/server/minio/release/linux-amd64/minio

chmod +x minio

3.2 啟動分布式Minio

以下兩種方式任選一種,用于配置啟動分布式Minio服務(wù):

通過后臺運(yùn)行命令啟動

在4個節(jié)點(diǎn)下依次創(chuàng)建并配置開機(jī)自動運(yùn)行如下腳本:

# minio文件和運(yùn)行腳本

]# pwd

/opt/minio

]# ls

minio minio-cluster-start.sh

# 配置腳本開機(jī)運(yùn)行

]# chmod +x minio-cluster-start.sh

]# echo "/opt/minio/minio-cluster-start.sh" >> /etc/rc.d/rc.local

]# chmod +x /etc/rc.d/rc.local

其中minio-cluster-start.sh腳本內(nèi)容如下:

#!/bin/bash

export MINIO_ROOT_USER=admin

export MINIO_ROOT_PASSWORD=minioadmin

nohup /opt/minio/minio server --address :9000 --console-address :9001 \

http://192.168.1.10/data/minio/data01 http://192.168.1.10/data/minio/data02 http://192.168.1.10/data/minio/data03 http://192.168.1.10/data/minio/data04 \

http://192.168.1.11/data/minio/data01 http://192.168.1.11/data/minio/data02 http://192.168.1.11/data/minio/data03 http://192.168.1.11/data/minio/data04 \

http://192.168.1.12/data/minio/data01 http://192.168.1.12/data/minio/data02 http://192.168.1.12/data/minio/data03 http://192.168.1.12/data/minio/data04 \

http://192.168.1.13/data/minio/data01 http://192.168.1.13/data/minio/data02 http://192.168.1.13/data/minio/data03 http://192.168.1.13/data/minio/data04 \

> /var/log/minio.log 2>&1 &

配置系統(tǒng)服務(wù)管理

也可以將minio配置為系統(tǒng)服務(wù),實(shí)現(xiàn)systemctl統(tǒng)一管理。

# minio文件和運(yùn)行腳本

]# pwd

/opt/minio

]# ls

minio run.sh

]# chmod +x run.sh

其中run.sh腳本內(nèi)容如下:

#!/bin/bash

export MINIO_ROOT_USER=admin

export MINIO_ROOT_PASSWORD=minioadmin

/opt/minio/minio server --address :9000 --console-address :9001 \

http://192.168.1.10/data/minio/data01 http://192.168.1.10/data/minio/data02 http://192.168.1.10/data/minio/data03 http://192.168.1.10/data/minio/data04 \

http://192.168.1.11/data/minio/data01 http://192.168.1.11/data/minio/data02 http://192.168.1.11/data/minio/data03 http://192.168.1.11/data/minio/data04 \

http://192.168.1.12/data/minio/data01 http://192.168.1.12/data/minio/data02 http://192.168.1.12/data/minio/data03 http://192.168.1.12/data/minio/data04 \

http://192.168.1.13/data/minio/data01 http://192.168.1.13/data/minio/data02 http://192.168.1.13/data/minio/data03 http://192.168.1.13/data/minio/data04

在3個節(jié)點(diǎn)上創(chuàng)建minio.service文件:

# minio.service文件內(nèi)容

]# cat > /usr/lib/systemd/system/minio.service <<-EOF

[Unit]

Description=Minio service

Documentation=https://docs.minio.io/

[Service]

WorkingDirectory=/opt/minio/

ExecStart=/opt/minio/run.sh

Restart=on-failure

RestartSec=5

[Install]

WantedBy=multi-user.targe

EOF

# 配置minio服務(wù)啟動

]# systemctl daemon-reload

]# systemctl enable minio && systemctl start minio

3.3 訪問minio console

此時通過任意節(jié)點(diǎn)的ip和端口(9001)訪問minio console,默認(rèn)用戶名和密碼為admin/minioadmin。

4. 配置nginx代理minio集群

通過nginx反向代理4臺minio節(jié)點(diǎn),統(tǒng)一訪問入口并做負(fù)載均衡。這里使用兩臺機(jī)器搭建高可用的nginx集群。

hostnameip操作系統(tǒng)軟件版本nginx1192.168.1.2centos7.9keepalived-1.3.5-19.el7.x86_64; nginx-1.20.1-10.el7.x86_64nginx2192.168.1.9centos7.9keepalived-1.3.5-19.el7.x86_64; nginx-1.20.1-10.el7.x86_64

說明
Minio官方建議的LB方案為nginx和Haproxy,本文使用nginx做為LB。

4.1 安裝keepalived和nginx

]# yum -y install keepalived nginx

配置keepalived

主節(jié)點(diǎn)keepalived配置。編輯 /etc/keepalived/keepalived.conf,配置如下:

global_defs {

router_id nginx1

}

vrrp_script chk_nginx {

script "/etc/keepalived/check_nginx.sh"  # 指定檢查腳本路徑

interval 2                               # 每2秒檢查一次

weight -10                               # 如果Nginx掛掉,優(yōu)先級減10。確保降低優(yōu)先級后低于slave節(jié)點(diǎn)優(yōu)先級

fall 10

rise 2

}

vrrp_instance VI_1 {

state MASTER                 # 主節(jié)點(diǎn)為 MASTER,備節(jié)點(diǎn)為 BACKUP

interface eth0               # 綁定的網(wǎng)卡接口

virtual_router_id 51         # VRID 相同,表示同一個虛擬路由器

priority 100                 # 優(yōu)先級,主節(jié)點(diǎn)要比備節(jié)點(diǎn)高

advert_int 1                 # 檢測時間間隔

authentication {

auth_type PASS           # 認(rèn)證方式

auth_pass 1111           # 認(rèn)證密碼

}

unicast_src_ip 192.168.1.2          #配置單播的源地址,即本機(jī)地址

unicast_peer {            # 默認(rèn)為組播模式,此處配置單播

192.168.1.9             # 備節(jié)點(diǎn)的IP地址,如果由多個備節(jié)點(diǎn),可以配置多個,每行一個

}

virtual_ipaddress {

192.168.1.14            # 虛擬IP地址 (VIP)

}

track_script {

chk_nginx    # 跟蹤Nginx檢查腳本

}

}

備節(jié)點(diǎn)keepalived配置。編輯 /etc/keepalived/keepalived.conf,配置如下:

global_defs {

router_id nginx2

}

vrrp_instance VI_1 {

state BACKUP    # 備節(jié)點(diǎn)為 BACKUP

interface eth0

virtual_router_id 51    # VRID 相同

priority 99    # 優(yōu)先級,備節(jié)點(diǎn)要比主節(jié)點(diǎn)低

advert_int 1

authentication {

auth_type PASS

auth_pass 1111       # 認(rèn)證密碼相同

}

unicast_src_ip 192.168.1.9          #配置單播的源地址,即本機(jī)地址

unicast_peer {            # 默認(rèn)為組播模式,此處配置單播

192.168.1.2             # 備節(jié)點(diǎn)的IP地址,如果由多個備節(jié)點(diǎn),可以配置多個,每行一個

}

virtual_ipaddress {

192.168.1.14    # 虛擬IP地址 (VIP)

}

track_script {

chk_nginx    # 跟蹤Nginx檢查腳本

}

}

配置健康檢查腳本:

在每臺nginx節(jié)點(diǎn)上創(chuàng)建一個檢查腳本,例如/etc/keepalived/check_nginx.sh,內(nèi)容如下:

#!/bin/bash

if ! pidof nginx > /dev/null; then

exit 1  # Nginx 沒有運(yùn)行,返回非 0 值表示失敗

fi

exit 0  # Nginx 運(yùn)行正常

該腳本通過pidof命令檢查Nginx進(jìn)程是否正常運(yùn)行,如果nginx進(jìn)程不存在則返回狀態(tài)碼非0,這樣Keepalived可以根據(jù)返回狀態(tài)做出決定。

添加腳本的執(zhí)行權(quán)限:

]# sudo chmod +x /etc/keepalived/check_nginx.sh

配置nginx

通過使用 nginx 代理,在主節(jié)點(diǎn)和備節(jié)點(diǎn)上分別配置nginx,編輯 /etc/nginx/nginx.conf,配置如下:

upstream minio-server {

least_conn;

server 192.168.1.10:9001 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.11:9001 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.12:9001 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.13:9001 weight=25 max_fails=2 fail_timeout=30s;

}

server{

listen       80;

listen  [::]:80;

server_name  localhost;

location / {

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

client_body_buffer_size 10M;

client_max_body_size 10G;

proxy_buffers 1024 4k;

proxy_connect_timeout 300;

proxy_next_upstream error timeout http_404;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

proxy_pass http://minio-server; # This uses the upstream directive definition to load balance

}

}

其中主要是 upstream 及 proxy_pass 的配置,配置到nginx.conf中的http塊中。

啟動配置服務(wù)

# keepalived服務(wù)

]# systemctl start keepalived

]# systemctl enable keepalived

# nginx服務(wù)

]# systemctl start nginx

]# systemctl enable nginx

4.2 驗(yàn)證

訪問 http://${VIP}:80 即可訪問minio console。

4.3 FAQ

  1. 問題詳情:配置nginx代理后,通過nginx訪問minio。在瀏覽桶中的列表的時候,始終在loading,無法加載桶內(nèi)的文件列表。通過瀏覽器F12調(diào)試界面查看有很多的WebSocket connection的錯誤。

解決方式:

在nginx配置中,確保添加如下參數(shù):

location / {

...

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

...

}

5. 參考資料

  1. https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html

  2. https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html

  3. https://min.io/docs/minio/linux/operations/checklists/hardware.html#minio-hardware-checklist-memory

  4. Minio Cluster 詳解 )

原文來源:https://mp.weixin.qq.com/s/kI33PweOatg6bc2ogOLU3Q

[我要糾錯]
文:宋聰喬&發(fā)表于江蘇
關(guān)鍵詞: 分布式 Minio 部署 可以 多塊

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點(diǎn)保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點(diǎn)個贊
0
踩一腳
0

您在閱讀:Linux下的分布式Minio部署實(shí)踐

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計(jì)

主站蜘蛛池模板: 999这里只有精品 | 国产亚洲成归v人片在线观看 | 亚洲欧美另类日本久久影院 | 成年视频国产免费观看 | 夜夜做日日做夜夜爽 | 制服丝袜中文 | 一本大道香蕉大在线最新 | 手机在线视频成人 | 亚洲国产日韩a在线亚洲 | 色综合综合 | 亚洲免费在线视频 | a级大片在线观看 | 小明福利 | a级特黄一级毛片七仙女思春 | 激情综合六月 | 日日狠日| 午夜私人影院在线观看 视频 | freexxx性欧美hd | 天天干天天天天 | 一级做a毛片在线看 | 亚洲图片 中文字幕 | 你懂的网站在线播放 | 欧美精品导航 | 成 人 黄 色 视频165 | 亚洲国产片高清在线观看 | 久9视频这里只有精品 | 一级一片免费视频播放 | 麻豆一区区三三四区产品麻豆 | 欧美精品免费专区在线观看 | 欧美日本免费 | 亚洲国产精久久久久久久 | 国产精品久久久久乳精品爆 | 在线 亚洲 欧美 | 日本三级唾液浓厚在线观看 | a级片播放 | 色网综合| xxxx日日摸夜夜添夜夜添视频 | 爱操视频在线观看 | 久99久热| 最近免费中文字幕大全免费版视频 | 国产精品久久婷婷六月丁香 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價(jià)格低
  • 蘋果原裝手機(jī)殼