日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

一篇文章彻底搞懂TiDB集群各种容量计算方式

發(fā)布時間:2024/1/11 windows 33 coder
生活随笔 收集整理的這篇文章主要介紹了 一篇文章彻底搞懂TiDB集群各种容量计算方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

TiDB 集群的監(jiān)控面板里面有兩個非常重要、且非常常用的指標(biāo),相信用了 TiDB 的都見過:

  • Storage capacity:集群的總?cè)萘?/li>
  • Current storage size:集群當(dāng)前已經(jīng)使用的空間大小

當(dāng)你準(zhǔn)備了一堆服務(wù)器,經(jīng)過各種思考設(shè)計部署了一個 TiDB 集群,有沒有想過這兩個指標(biāo)和服務(wù)器磁盤之間到底是啥關(guān)系?

反正我們經(jīng)常被客戶問這個問題,以前雖然能說出個大概,總體方向上沒錯,但是深究一下其實并不嚴(yán)謹(jǐn),這次翻了源碼徹底把這個問題搞清楚。開始之前再賣一個關(guān)子,大家可以看看自己手上的集群監(jiān)控有沒有這種情況:

TiKV 實例的已用空間(store size)+ 可用空間(available size) ≠ 總空間(capacity size)

盤越大越明顯。

再仔細(xì)點看,監(jiān)控上顯示的總?cè)萘看笮『?TiKV 實例所在盤大小也不匹配。

是不是有億點意外。

結(jié)論先行

  • PD 監(jiān)控下的Storage capacityCurrent storage size來自各個 store 的累加,這里 store 包含了 TiKV 和 TiFlash
  • Current storage size包含了多個數(shù)據(jù)副本(TiKV 和 TiFlash 的所有副本數(shù)),非真實數(shù)據(jù)大小
  • TiKV 實例容量統(tǒng)計的是 TiKV 所在磁盤的整體大小與raftstore.capacity參數(shù)較小的值,同時監(jiān)控用的 bytes(SI) 標(biāo)準(zhǔn)顯示,就是說不是用1024做的轉(zhuǎn)換而是1000,所以和df -h輸出的盤大小有差距
  • TiKV 實例的已用空間只統(tǒng)計了data-dir下的部分目錄,非整個data-dir或整塊盤
  • 基于前兩條,可用空間也就不等于總空間減去已用空間了

看到的現(xiàn)象

本文描述的內(nèi)容基于以下集群:

[tidb@localhost ~]$ tiup cluster display tidb-test
tiup is checking updates for component cluster ...
Starting component `cluster`: /home/tidb/.tiup/components/cluster/v1.13.0/tiup-cluster display tidb-test
Cluster type: ? ? ? tidb
Cluster name: ? ? ? tidb-test
Cluster version: ?  v6.5.5
Deploy user: ? ? ?  tidb
SSH type: ? ? ? ? ? builtin
Dashboard URL: ? ?  http://x.236:2379/dashboard
Grafana URL: ? ? ?  http://x.242:3000
ID ? ? ? ?  Role ? ? ?  Host ?  Ports ? ? ?  OS/Arch ? ? ? Status ? Data Dir ? ? Deploy Dir
-- ? ? ? ?  ---- ? ? ?  ---- ?  ----- ? ? ?  ------- ? ? ? ------ ? -------- ? ? ----------
x.242:3000 ? grafana ? ? x.242  3000 ? ? ? ? linux/x86_64  Up ? ? ? - ? ? ? ? ?  /data/tidb-deploy/grafana-3000
x.235:2379 ? pd ? ? ? ?  x.235  2379/2380 ?  linux/x86_64  Up ? ? ? /data/tidb-data/pd-2379 ? ? ? ? ? ? ? /data/tidb-deploy/pd-2379
x.236:2379 ? pd ? ? ? ?  x.236  2379/2380 ?  linux/x86_64  Up|L|UI  /data/tidb-data/pd-2379 ? ? ? ? ? ? ? /data/tidb-deploy/pd-2379
x.237:2379 ? pd ? ? ? ?  x.237  2379/2380 ?  linux/x86_64  Up ? ? ? /data/tidb-data/pd-2379 ? ? ? ? ? ? ? /data/tidb-deploy/pd-2379
x.242:9090 ? prometheus  x.242  9090/12020 ? linux/x86_64  Up ? ? ? /data/tidb-data/prometheus-9090 ? ? ? /data/tidb-deploy/prometheus-9090
x.235:4000 ? tidb ? ? ?  x.235  4000/10080 ? linux/x86_64  Up ? ? ? - ? ? ? ? ? ?/data/tidb-deploy/tidb-4000
x.236:4000 ? tidb ? ? ?  x.236  4000/10080 ? linux/x86_64  Up ? ? ? - ? ? ? ? ? ? /data/tidb-deploy/tidb-4000
x.237:4000 ? tidb ? ? ?  x.237  4000/10080 ? linux/x86_64  Up ? ? ? - ? ? ? ? ? ? /data/tidb-deploy/tidb-4000
x.241:9000 ? tiflash ? ? x.241  9000/8123/3930/20170/20292/8234  linux/x86_64  Up /data/tiflash/tidb-data/tiflash-9000  /data/tiflash/tidb-deploy/tiflash-9000
x.238:20160  tikv ? ? ?  x.238  20160/20180  linux/x86_64  Up ? ? ? /data/tidb-data/tikv-20160 ? ? ? ? ?  /data/tidb-deploy/tikv-20160
x.239:20160  tikv ? ? ?  x.239  20160/20180  linux/x86_64  Up ? ? ? /data/tidb-data/tikv-20160 ? ? ? ? ?  /data/tidb-deploy/tikv-20160
x.240:20160  tikv ? ? ?  x.240  20160/20180  linux/x86_64  Up ? ? ? /data/tidb-data/tikv-20160 ? ? ? ? ?  /data/tidb-deploy/tikv-20160

各節(jié)點磁盤情況(來自TiDB Dashboard統(tǒng)計):

在此之前,我一直以為 PD 監(jiān)控面板下的集群總空間是 PD 讀取了所有 TiKV+TiFlash 實例部署盤的累計大小,所以我嘗試把上圖的4個存儲節(jié)點的磁盤容量相加發(fā)現(xiàn)并不等于集群總?cè)萘浚ㄎ恼麻_頭的圖片有顯示),差了100多個G:

Dashboard上4個存儲節(jié)點磁盤容量均為475.8G,累計容量475.8G * 4 = 1903.2G

Grafana顯示的單個 TiKV 實例:510.9G,總空間:2.04 T

再和操作系統(tǒng)顯示的磁盤容量對比,發(fā)現(xiàn)能和 Dashboard 顯示的對應(yīng)上:

[tidb@localhost ~]$ df -h
Filesystem ? ? ? ? ? ? ? Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  476G  347G  110G  77% /
devtmpfs ? ? ? ? ? ? ? ?  31G ? ? 0 ? 31G ? 0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? 31G  4.0K ? 31G ? 1% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? 31G  3.1G ? 28G  10% /run
tmpfs ? ? ? ? ? ? ? ? ? ? 31G ? ? 0 ? 31G ? 0% /sys/fs/cgroup
/dev/sda1 ? ? ? ? ? ? ?  477M  138M  310M  31% /boot

但仔細(xì)看容量單位的區(qū)別,發(fā)現(xiàn) Dashboard 顯示的是GiB,Grafana 顯示的是GB,兩者是有區(qū)別的。嘗試在系統(tǒng)中用GB顯示磁盤大小:

[tidb@localhost ~]$ df -H
Filesystem ? ? ? ? ? ? ? Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  511G  372G  118G  77% /
devtmpfs ? ? ? ? ? ? ? ?  34G ? ? 0 ? 34G ? 0% /dev
tmpfs ? ? ? ? ? ? ? ? ? ? 34G  4.1k ? 34G ? 1% /dev/shm
tmpfs ? ? ? ? ? ? ? ? ? ? 34G  3.3G ? 30G  10% /run
tmpfs ? ? ? ? ? ? ? ? ? ? 34G ? ? 0 ? 34G ? 0% /sys/fs/cgroup
/dev/sda1 ? ? ? ? ? ? ?  500M  145M  325M  31% /boot

這里輸出的511G能和 Grafana 監(jiān)控對應(yīng)上,同時按4個511G的存儲節(jié)點計算也能和總?cè)萘繉?yīng)上。

但是用同樣的方法并不能解釋 TiKV 已用空間的偏差問題,檢查結(jié)果如下:

# 輸出內(nèi)容為240節(jié)點tikv數(shù)據(jù)目錄大小,但監(jiān)控顯示tikv已用空間333.7GB
[tidb@localhost ~]$ du -sh /data/tidb-data/tikv-20160
329G    /data/tidb-data/tikv-20160
[tidb@localhost ~]$ du -sh --si /data/tidb-data/tikv-20160
353G    /data/tidb-data/tikv-20160

總結(jié)一下看到的現(xiàn)象:

  • Dashboard 上顯示的 TiKV 盤大小(GiB)是實際部署盤的總大小,Grafana 也是部署盤的總大小但單位是GB
  • Grafana 集群總?cè)萘渴撬写鎯?jié)點部署盤的累計大小(GB)
  • TiKV 實例已用空間大小計算方式未知(要搞清楚只能扒源碼了)

不同進制轉(zhuǎn)換帶來的影響

這里簡單提一下GBGiB的區(qū)別,幫助大家理解。

  • GB 是按10進制來轉(zhuǎn)換,也就是說1GB=1000MB,市面上廠商宣傳的大小都是10進制,可理解為商業(yè)標(biāo)準(zhǔn)
  • GiB 是按2進制來轉(zhuǎn)換,也就是說1GiB=1024MiB,計算機系統(tǒng)只認(rèn)這個,可理解為事實標(biāo)準(zhǔn)

那么當(dāng)你買了一臺128G存儲的手機,實際使用中會發(fā)現(xiàn)空間“縮水”了,U盤、硬盤等也類似。

與這兩個進制差異有關(guān)的還有兩個行業(yè)標(biāo)準(zhǔn),即byte(SI)byte(IEC),感興趣的可以去查一下歷史,這里只需要知道:

  • byte(SI)對應(yīng)十進制
  • byte(IEC)對應(yīng)二進制

Grafana 里面可以使用編輯監(jiān)控面板調(diào)整顯示單位,例如:

如果把單位統(tǒng)一的話,前2個現(xiàn)象就很好解釋了。

但需要注意的是,在 Grafana 中并不是所有面板都采用了byte(SI),甚至同一個指標(biāo)也出現(xiàn)不同面板顯示的單位不一樣,比如Overview下面的TiDB分組內(nèi)存面板使用十進制,System Info分組內(nèi)存面板使用二進制,用的時候要小心。

TiKV 的數(shù)據(jù)文件

要搞清楚 TiKV 的已用空間是怎么計算的,先提一下 TiKV 相關(guān)的數(shù)據(jù)文件。大家都知道 TiKV 底層用的 RocksDB 作為持久層,并且 raft 日志和實際數(shù)據(jù)分別對應(yīng)一個RocksDB 實例,那么看看 TiKV 的數(shù)據(jù)目錄到底放了啥東西,以前面的集群為例:

[tidb@localhost ~]$ cd /data/tidb-data/tikv-20160
[tidb@localhost tikv-20160]$ ll -h
total 14G
drwxr-xr-x 2 tidb tidb 1.1M Dec 22 15:22 db
drwxr-xr-x 4 tidb tidb 132K Dec 21 18:20 import
-rw-r--r-- 1 tidb tidb  20K Nov 15 14:47 last_tikv.toml
-rw-r--r-- 1 tidb tidb ?  0 Nov 15 14:53 LOCK
-rw-r--r-- 1 tidb tidb 301M Mar  3  2023 raftdb-2023-03-03T17-32-13.506.info
...
-rw-r--r-- 1 tidb tidb 301M Nov 13 21:51 raftdb-2023-11-13T21-51-00.249.info
-rw-r--r-- 1 tidb tidb  31M Nov 15 14:47 raftdb.info
drwxr-xr-x 2 tidb tidb 4.0K Dec 22 00:08 raft-engine
-rw-r--r-- 1 tidb tidb 301M Jan 18  2023 rocksdb-2023-01-18T10-12-55.000.info
...
-rw-r--r-- 1 tidb tidb 301M Dec  7 03:01 rocksdb-2023-12-07T03-01-02.905.info
-rw-r--r-- 1 tidb tidb 197M Dec 22 17:11 rocksdb.info
drwxr-xr-x 2 tidb tidb 4.0K Dec 21 16:27 snap
-rw-r--r-- 1 tidb tidb 4.8G Nov 15 14:53 space_placeholder_file

幾類文件解讀一下:

  • db 目錄,這是最終數(shù)據(jù)的存放目錄,db在源碼中寫死無法修改
  • rocksdb[-xxx-xxx].info文件,數(shù)據(jù) RocksDB 實例的日志文件,已經(jīng)按日期歸檔好的可手動刪除
  • raft-engine 目錄,這是 raft 日志存放目錄,受參數(shù)raft-engine.dir控制,沒有開啟Raft Engine特性時名稱默認(rèn)為raft,受參數(shù)raftstore.raftdb-path控制
  • raftdb[-xxx-xxx].info文件,raft日志 RocksDB 實例的日志文件,已經(jīng)按日期歸檔好的可手動刪除
  • snap 目錄,快照數(shù)據(jù)存放目錄
  • import 目錄,看名字是和導(dǎo)入相關(guān),具體什么作用未知
  • space_placeholder_file 文件,預(yù)留空間的臨時文件(TiKV磁盤告警救急用,磁盤越大這個文件越大),相關(guān)參數(shù)storage.reserve-space
  • last_tikv.toml 和 LOCK 文件,看名字猜測就行

從前面的觀察來看,被監(jiān)控統(tǒng)計到的 TiKV 已用空間比整個數(shù)據(jù)目錄要小,那么可以推測出只統(tǒng)計了數(shù)據(jù)目錄下的部分文件或目錄,具體是哪些就要從源碼里尋找答案。

Show Me The Code

TiDB的監(jiān)控數(shù)據(jù)分為兩類,一類是服務(wù)器環(huán)境信息(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等),一類是TiDB運行指標(biāo)(Duration、QPS、Region數(shù)、容量等)。前者通過與Prometheus配套的標(biāo)準(zhǔn)探針采集,即node_exporterblack_exporter,后者通過在源碼中類似埋點方式采集數(shù)據(jù)然后由Prometheus來拉取。

import (
    ...
    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/collectors"
    ...
)
?
var (
    // PanicCounter measures the count of panics.
    PanicCounter *prometheus.CounterVec
?
    // MemoryUsage measures the usage gauge of memory.
    MemoryUsage *prometheus.GaugeVec
)

以集群總?cè)萘窟@個指標(biāo)入手,看看在源碼中它是如何采集的。對應(yīng)的公式:

pd_cluster_status{k8s_cluster="$k8s_cluster", tidb_cluster="$tidb_cluster", instance="$instance",type="storage_capacity"}

用關(guān)鍵字storage_capacity去 PD 源碼里搜索找到如下代碼:

func (s *storeStatistics) Collect() {
    placementStatusGauge.Reset()
?
    metrics := make(map[string]float64)
    ...
    metrics["storage_capacity"] = float64(s.StorageCapacity)
?
    for typ, value := range metrics {
        clusterStatusGauge.WithLabelValues(typ).Set(value)
    }
    ...
}

數(shù)據(jù)來自storeStatisticsStorageCapacity字段,根據(jù)引用關(guān)系繼續(xù)往上翻:

func (s *storeStatistics) Observe(store *core.StoreInfo) {
    ...
    // Store stats.
    s.StorageSize += store.StorageSize()
    s.StorageCapacity += store.GetCapacity()
 ? ?...
}

從這里可以看出總?cè)萘浚⊿torage capacity)和總已用空間(Current storage size)都是從各個store累加得來,并不是pd直接從存儲節(jié)點計算。

繼續(xù)看GetCapacity()是如何實現(xiàn):

func (ss *storeStats) GetCapacity() uint64 {
    ss.mu.RLock()
    defer ss.mu.RUnlock()
    return ss.rawStats.GetCapacity()
}
func newStoreStats() *storeStats {
    return &storeStats{
        rawStats: ? ? &pdpb.StoreStats{},
        avgAvailable: movingaverage.NewHMA(60), // take 10 minutes sample under 10s heartbeat rate
    }
}

這里rawStats 是一個pdpb.StoreStats類型,引用了另一個倉庫:https://github.com/pingcap/kvproto 。最終實現(xiàn)為:

// https://github.com/pingcap/kvproto/blob/master/pkg/pdpb/pdpb.pb.go#L4371C1-L4376C2
func (m *StoreStats) GetCapacity() uint64 {
    if m != nil {
        return m.Capacity
    }
    return 0
}

從調(diào)用關(guān)系來看,說明 PD 采集的數(shù)據(jù)都是來自 TiKV 上報(heartbeat)。繼續(xù)追蹤 TiKV 源碼,以heartbeat為突破口:

pub fn handle_store_heartbeat(
 ? ? ?  &mut self,
 ? ? ? ?mut stats: pdpb::StoreStats,
 ? ? ? ?is_fake_hb: bool,
 ? ? ? ?store_report: Option<pdpb::StoreReport>,
 ?  ) {
 ? ? ?  ...
 ? ? ? ?let (capacity, used_size, available) = self.collect_engine_size().unwrap_or_default();
 ? ? ? ?if available == 0 {
 ? ? ? ? ? ?warn!(self.logger, "no available space");
 ? ? ?  }
?
 ? ? ? ?stats.set_capacity(capacity);
 ? ? ? ?stats.set_used_size(used_size);
 ? ? ? ?stats.set_available(available);
 ? ? ?  ...
  }

這里的stats正是一個pdpb::StoreStats類型,我們想要分析的3個指標(biāo)都在這,繼續(xù)看他們的出處collect_engine_size():

fn collect_engine_size<EK: KvEngine, ER: RaftEngine>(
 ? ?coprocessor_host: &CoprocessorHost<EK>,
 ? ?store_info: Option<&StoreInfo<EK, ER>>,
 ? ?snap_mgr_size: u64,
) -> Option<(u64, u64, u64)> {
 ? ?if let Some(engine_size) = coprocessor_host.on_compute_engine_size() {
 ? ? ? ?return Some((engine_size.capacity, engine_size.used, engine_size.avail));
 ?  }
 ? ?let store_info = store_info.unwrap();
 ? ?// 這里跟根據(jù)kv engine的目錄(${data_dir}/db)獲取了所在磁盤的信息
 ? ?let disk_stats = match fs2::statvfs(store_info.kv_engine.path()) {
 ? ? ? ?Err(e) => {
 ? ? ? ? ? ?error!(
 ? ? ? ? ? ? ? ?"get disk stat for rocksdb failed";
 ? ? ? ? ? ? ? ?"engine_path" => store_info.kv_engine.path(),
 ? ? ? ? ? ? ? ?"err" => ?e
 ? ? ? ? ?  );
 ? ? ? ? ? ?return None;
 ? ? ?  }
 ? ? ? ?Ok(stats) => stats,
 ?  };
 ? ?// total_space得到磁盤的總?cè)萘浚瑓⒖糀PI:https://docs.rs/fs2/latest/fs2/fn.total_space.html
 ? ?let disk_cap = disk_stats.total_space();
 ? ?// 計算得出tikv實例的容量,用磁盤容量與參數(shù)設(shè)置的容量(raftstore.capacity)相比
 ? ?// 如果沒有設(shè)置raftstore.capacity參數(shù),或者是磁盤容量小于設(shè)置的容量,那么取磁盤容量,否則取設(shè)置的容量,本質(zhì)就是取較小的那個
 ? ?let capacity = if store_info.capacity == 0 || disk_cap < store_info.capacity {
 ? ? ? ?disk_cap
 ?  } else {
 ? ? ? ?store_info.capacity
 ?  };
 ? ?// 計算已用大小,快照大小(snap目錄) + kv engine大小(db目錄) + raft engine大小(raft-engine目錄)
 ? ?let used_size = snap_mgr_size
 ? ? ? ?+ store_info
 ? ? ? ? ?  .kv_engine
 ? ? ? ? ?  .get_engine_used_size()
 ? ? ? ? ?  .expect("kv engine used size")
 ? ? ? ?+ store_info
 ? ? ? ? ?  .raft_engine
 ? ? ? ? ?  .get_engine_size()
 ? ? ? ? ?  .expect("raft engine used size");
 ? ?// 計算邏輯可用空間,總?cè)萘?已用空間
 ? ?let mut available = capacity.checked_sub(used_size).unwrap_or_default();
 ? ?// We only care about rocksdb SST file size, so we should check disk available
 ? ?// here.
 ? ?// 最終可用空間是取邏輯可用和磁盤可用的較小值
 ? ?available = cmp::min(available, disk_stats.available_space());
 ? ?Some((capacity, used_size, available))
}

核心邏輯分析都寫在注釋里,值得認(rèn)真一看!

以為扒到這里就happy ending了,但是偶然又發(fā)現(xiàn)了另一個方法讓我陷入沉思:

 ? ?fn init_storage_stats_task(&self, engines: Engines<RocksEngine, ER>) {
 ? ? ?  ...
 ? ? ? ?self.background_worker
 ? ? ? ? ?  .spawn_interval_task(DEFAULT_STORAGE_STATS_INTERVAL, move || {
 ? ? ? ? ? ? ? ?let disk_stats = match fs2::statvfs(&store_path) {
 ? ? ? ? ? ? ? ? ? ?Err(e) => {
 ? ? ? ? ? ? ? ? ? ? ? ?error!(
 ? ? ? ? ? ? ? ? ? ? ? ? ? ?"get disk stat for kv store failed";
 ? ? ? ? ? ? ? ? ? ? ? ? ? ?"kv path" => store_path.to_str(),
 ? ? ? ? ? ? ? ? ? ? ? ? ? ?"err" => ?e
 ? ? ? ? ? ? ? ? ? ? ?  );
 ? ? ? ? ? ? ? ? ? ? ? ?return;
 ? ? ? ? ? ? ? ? ?  }
 ? ? ? ? ? ? ? ? ? ?Ok(stats) => stats,
 ? ? ? ? ? ? ?  };
 ? ? ? ? ? ? ? ?let disk_cap = disk_stats.total_space();
 ? ? ? ? ? ? ? ?let snap_size = snap_mgr.get_total_snap_size().unwrap();
?
 ? ? ? ? ? ? ? ?let kv_size = engines
 ? ? ? ? ? ? ? ? ?  .kv
 ? ? ? ? ? ? ? ? ?  .get_engine_used_size()
 ? ? ? ? ? ? ? ? ?  .expect("get kv engine size");
?
 ? ? ? ? ? ? ? ?let raft_size = engines
 ? ? ? ? ? ? ? ? ?  .raft
 ? ? ? ? ? ? ? ? ?  .get_engine_size()
 ? ? ? ? ? ? ? ? ?  .expect("get raft engine size");
 ? ? ? ? ? ? ? ...
 ? ? ? ? ? ? ? ?let placeholer_file_path = PathBuf::from_str(&data_dir)
 ? ? ? ? ? ? ? ? ?  .unwrap()
 ? ? ? ? ? ? ? ? ?  .join(Path::new(file_system::SPACE_PLACEHOLDER_FILE));
?
 ? ? ? ? ? ? ? ?let placeholder_size: u64 =
 ? ? ? ? ? ? ? ? ? ?file_system::get_file_size(placeholer_file_path).unwrap_or(0);
 ? ? ? ? ? ? ? ?// 這里的已用空間計算方式與heartbeat有區(qū)別,把space_placeholder_file文件算進去了,還加了raft engine單獨部署的邏輯
 ? ? ? ? ? ? ? ?let used_size = if !separated_raft_mount_path {
 ? ? ? ? ? ? ? ? ? ?snap_size + kv_size + raft_size + placeholder_size
 ? ? ? ? ? ? ?  } else {
 ? ? ? ? ? ? ? ? ? ?snap_size + kv_size + placeholder_size
 ? ? ? ? ? ? ?  };
 ? ? ? ? ? ? ? ?let capacity = if config_disk_capacity == 0 || disk_cap < config_disk_capacity {
 ? ? ? ? ? ? ? ? ? ?disk_cap
 ? ? ? ? ? ? ?  } else {
 ? ? ? ? ? ? ? ? ? ?config_disk_capacity
 ? ? ? ? ? ? ?  };
?
 ? ? ? ? ? ? ? ?let mut available = capacity.checked_sub(used_size).unwrap_or_default();
 ? ? ? ? ? ? ? ?available = cmp::min(available, disk_stats.available_space());
 ? ? ? ? ? ? ?  ...
 ? ? ? ? ?  })
 ?  }

init_storage_stats_task在tikv啟動時被調(diào)用,就是說這是幾個指標(biāo)在初始化時的計算方式,整體邏輯與heartbeat上報并無區(qū)別,但已用空間計算方式有輕微差異:

  • space_placeholder_file 被算進去了
  • 如果raft engine使用了單獨的部署目錄(代碼里叫path_in_diff_mount_point),那么raft日志的大小是不算在tikv已用空間內(nèi)的

看起來前后計算不一致,但是由于heartbeat是持續(xù)更新的,最終是以heartbeat上報的為準(zhǔn)。

這個差異準(zhǔn)備提issue問問看。

PD 源碼倉庫:https://github.com/tikv/pd

TiKV 源碼倉庫:https://github.com/tikv/tikv

結(jié)尾

結(jié)論已經(jīng)在文章開頭給出了,希望大家看了本文都能對TiDB集群的各種空間計算有了清晰的認(rèn)識。

本文只討論的 TiKV 的容量計算細(xì)節(jié),TiFlash 的計算方式也類似,我對比了 TFlash 的數(shù)據(jù)目錄大小和監(jiān)控顯示已用大小10多G的差距,應(yīng)該也是只計算了部分目錄,但是總?cè)萘窟€是算的整塊盤。不太熟悉 c++,留給其他大佬去探索吧??。

作者介紹:hey-hoho,來自神州數(shù)碼鈦合金戰(zhàn)隊,是一支致力于為企業(yè)提供分布式數(shù)據(jù)庫TiDB整體解決方案的專業(yè)技術(shù)團隊。團隊成員擁有豐富的數(shù)據(jù)庫從業(yè)背景,全部擁有TiDB高級資格證書,并活躍于TiDB開源社區(qū),是官方認(rèn)證合作伙伴。目前已為10+客戶提供了專業(yè)的TiDB交付服務(wù),涵蓋金融、證券、物流、電力、*、零售等重點行業(yè)。

總結(jié)

以上是生活随笔為你收集整理的一篇文章彻底搞懂TiDB集群各种容量计算方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

免费看污的网站 | 亚洲国产电影在线观看 | 精品久久久免费视频 | 午夜在线资源 | 深爱婷婷 | 国产在线观看你懂的 | 99在线精品视频 | 精品国产自在精品国产精野外直播 | 超碰97国产在线 | 日本69hd| 亚洲va欧洲va国产va不卡 | 欧洲成人免费 | 亚洲人av免费网站 | 亚洲人毛片 | 天天操天天能 | www久久99 | 亚洲天堂网在线播放 | 狠狠干2018| 欧美一级片 | 久久久久欠精品国产毛片国产毛生 | av解说在线 | 天天躁天天操 | 亚洲一级黄色大片 | 五月婷婷激情网 | 97干com| 97日日碰人人模人人澡分享吧 | 久久永久免费视频 | 欧美另类交在线观看 | 在线视频观看亚洲 | www欧美日韩 | 久操免费视频 | 黄色av播放 | 欧美久久久久久久久久久久 | 久久精品综合一区 | 国产免费激情久久 | 日韩毛片在线播放 | 在线天堂视频 | 日韩激情视频在线观看 | 久草在线中文888 | 国产91综合一区在线观看 | 亚洲激情视频在线观看 | 日韩精品在线一区 | 久久精品一二三区 | 黄色电影在线免费观看 | 国产精品免费观看国产网曝瓜 | 久精品视频 | 国产精品久久久久久欧美 | 欧美精品久久久久久 | 美国av大片 | 中文字幕在线观看网 | 亚洲人成免费 | 国产精品免费看 | av丝袜天堂 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 一级国产视频 | 在线综合色 | 欧美精品一区二区免费 | 色婷婷综合久久久 | 久久中文字幕导航 | www免费 | 久久久久久99精品 | 免费a级大片 | 国产视频一二三 | 狠狠色香婷婷久久亚洲精品 | 亚洲区色 | 超碰在线国产 | 日本特黄特色aaa大片免费 | 成人毛片a | 久久久久久久久毛片精品 | 99这里只有精品视频 | 男女免费视频观看 | 国产精品久久久久久久免费观看 | 国产精品九九久久久久久久 | 一级片黄色片网站 | 日韩免费在线观看视频 | 免费在线国产精品 | 99日精品 | 色视频网址 | 日韩av中文在线观看 | 91亚洲精品久久久蜜桃借种 | 成人免费大片黄在线播放 | 成人午夜电影在线播放 | 五月婷婷色 | 久久手机精品视频 | 免费看的视频 | 2021av在线 | 国产精品视频资源 | 91成人午夜 | 久久久久久久99精品免费观看 | 午夜视频播放 | 蜜臀久久99精品久久久无需会员 | 久久婷婷国产 | 婷婷激情综合网 | 黄色影院在线免费观看 | 久草在线这里只有精品 | 久草久草在线 | 91av播放| 日韩色在线观看 | 在线播放国产精品 | 一区二区精品视频 | 成人中文字幕+乱码+中文字幕 | 精品久久久一区二区 | 日韩 在线 | 狠狠干天天干 | 亚洲精品久久久久中文字幕二区 | 天堂网一区二区三区 | 日韩激情网| a色网站| 激情狠狠干 | 99精品国产福利在线观看免费 | 国产香蕉久久精品综合网 | 日韩精品一区二区三区水蜜桃 | 久久av影视 | 日韩黄色免费电影 | 日批视频在线 | 国产精品一区二区久久久久 | 九九九在线观看视频 | 国产91精品一区二区 | 天天操夜夜干 | 果冻av在线| 亚洲精品国精品久久99热 | 91少妇精拍在线播放 | 免费视频91蜜桃 | 亚洲精品国产自产拍在线观看 | 久久伊99综合婷婷久久伊 | 成人资源在线观看 | 91夫妻自拍 | 91亚洲国产成人久久精品网站 | 欧美资源在线观看 | 国产在线国偷精品产拍免费yy | 操操综合 | 激情开心| 国产高清在线看 | 天天操夜夜操夜夜操 | 国产精品大片在线观看 | 久久国产精品偷 | 一区二区三区手机在线观看 | 国产最新视频在线观看 | 日本久久电影 | 免费在线一区二区 | 国产亚洲精品bv在线观看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 精品一区二区免费 | 精品国产乱码久久久久久三级人 | 中文久草 | 中文字幕在线久一本久 | 成人中心免费视频 | 国产精品久久久99 | 91理论片午午伦夜理片久久 | 免费视频色 | 久久免费av电影 | 久草97| 久久精品五月 | 精品久久久国产 | 久久精品永久免费 | 四虎影视成人精品 | 亚洲理论在线观看电影 | 日本一区二区三区免费看 | 色av网站 | 91九色在线观看视频 | 欧美美女一级片 | 国产亚洲精品久久 | 国产不卡在线看 | av在线播放快速免费阴 | 成人久久18免费网站 | 久久久久久免费毛片精品 | 伊人天堂久久 | 色瓜 | 四虎影视成人精品国库在线观看 | 黄色软件大全网站 | 人人澡视频 | 天天爱天天操天天干 | 天天摸日日摸人人看 | 四虎影视8848aamm | 久久99精品久久久久久清纯直播 | 久草视频一区 | www,黄视频| av短片在线观看 | 91资源在线视频 | 色www免费视频 | 国产免费激情久久 | 91视频大全 | 99精品网站| 国产精品一区二区av麻豆 | 99视频在线看 | 久久久久免费视频 | 在线观看免费色 | 久久久www成人免费精品张筱雨 | aaa黄色毛片 | 亚洲高清在线 | 夜夜爽88888免费视频4848 | 亚洲精品国精品久久99热一 | 精品免费视频123区 午夜久久成人 | 蜜臀av网站 | 亚洲最大成人网4388xx | 亚洲国产欧美在线人成大黄瓜 | 国产成人一区二区啪在线观看 | 欧美a级片网站 | 国产999精品视频 | 丁香六月激情婷婷 | 日韩精品在线看 | 久久激情小视频 | 深夜激情影院 | www.狠狠插.com| 成人91在线 | 99久久日韩精品视频免费在线观看 | 黄色大片免费播放 | 欧美91在线 | 中文字幕在线观看免费观看 | 狠狠干在线播放 | 久久99电影 | 中文字幕九九 | 欧美精品成人在线 | 日韩高清片 | 天堂在线视频中文网 | 国产精品免费一区二区三区 | 狠狠色综合欧美激情 | 日韩精品中文字幕久久臀 | 国产xxxx | 亚洲最大成人免费网站 | 久久女同性恋中文字幕 | 国产福利一区二区在线 | 久久 精品一区 | 天天操天天操天天干 | 亚洲五月六月 | 黄色av网站在线观看免费 | 日韩精品久久久免费观看夜色 | 精品国产一区二区三区久久久蜜月 | 韩国av在线播放 | 久久男人视频 | 91视频在线播放视频 | 欧美亚洲精品一区 | 欧美在线视频一区二区三区 | 色综合久久久久综合体桃花网 | 欧美视频在线观看免费网址 | 一本一道波多野毛片中文在线 | 亚洲人成在| 国产手机在线播放 | 黄色毛片观看 | 91av资源在线 | 国产中文字幕亚洲 | 九九爱免费视频 | 99riav1国产精品视频 | 精品国产1区| 狠狠的操你 | 婷婷日| 在线观看中文av | 在线观看日韩精品 | 天天操天天操天天操 | 最新中文字幕在线播放 | 97视频在线观看视频免费视频 | 啪啪午夜免费 | 天天爽夜夜爽精品视频婷婷 | 久久爱资源网 | 精品国产诱惑 | 日本最新高清不卡中文字幕 | 日韩免费高清在线 | 久久久国产精华液 | 久久亚洲美女 | 国产精品久久久久aaaa九色 | 中文字幕一区二区三区在线观看 | 亚洲成av人电影 | 色一级片 | 欧美最猛性xxxx | 日韩电影在线观看中文字幕 | 欧美最新另类人妖 | 天天拍夜夜拍 | 日韩欧美高清一区二区 | 天天干天天摸 | 天天操天天射天天插 | 亚洲精品视频网 | 久久久久久久久久久久国产精品 | 亚洲免费在线观看视频 | 一级a毛片高清视频 | 午夜三级在线 | 国产美女精品 | 久久精品国产免费看久久精品 | 欧美精品中文在线免费观看 | 久久久国产网站 | 美女网站黄免费 | 亚洲三级在线免费观看 | 欧美精品少妇xxxxx喷水 | 欧美va电影 | 激情五月婷婷激情 | 又黄又爽又无遮挡免费的网站 | 精品免费在线视频 | 99国产在线视频 | 偷拍区另类综合在线 | 激情欧美一区二区免费视频 | 亚洲精品午夜视频 | 亚洲男男gⅴgay双龙 | 国产精品久久99综合免费观看尤物 | 精品亚洲二区 | 亚洲精品高清视频 | 黄色免费观看视频 | 激情婷婷亚洲 | 国产精品久免费的黄网站 | 中文字幕一区二区三区精华液 | 91一区啪爱嗯打偷拍欧美 | 亚洲最大免费成人网 | 欧美一级片在线 | 免费久久99精品国产 | 国内精品久久久久久 | 日本不卡一区二区三区在线观看 | 天天夜操 | 中文字幕在线看视频 | 久久午夜国产精品 | 天天爽人人爽 | 激情综合网五月婷婷 | 在线免费看黄网站 | 免费试看一区 | 手机av电影在线 | 成人欧美亚洲 | 免费看的av片 | 日韩特黄一级欧美毛片特黄 | 色国产视频 | 九九涩涩av台湾日本热热 | 成人在线视频你懂的 | 国产成人一区二区三区久久精品 | 中文字幕在线观看不卡 | 国内精品视频久久 | 久久96国产精品久久99漫画 | 国产午夜影院 | 成人毛片在线观看视频 | 久久国产网 | 久久激情婷婷 | 福利视频 | 色婷婷福利视频 | 97视频免费在线 | 又黄又刺激又爽的视频 | 欧美日韩精品免费观看视频 | 91桃色国产在线播放 | 热久久免费视频 | www.色com| 一区二区在线影院 | 欧美国产日韩一区二区 | 日韩综合一区二区三区 | 日韩在线高清 | 久99久在线视频 | 日韩欧美精品在线 | 久久人人爽人人爽人人片av软件 | 免费在线激情视频 | 69av在线播放 | 五月婷婷一级片 | 久久久久久高潮国产精品视 | 欧美一区二区在线免费看 | 日韩欧美高清在线 | 操综合| 色爱区综合激月婷婷 | 国产一区二区在线视频观看 | 欧美色图亚洲图片 | 国产精品久久久久9999吃药 | 日韩理论在线视频 | 精品久久一区二区三区 | 毛片一区二区 | 国产精品成人自产拍在线观看 | 成人小视频在线观看免费 | 国产精品永久在线观看 | 日韩欧美一区二区在线观看 | 丰满少妇在线观看网站 | 精品毛片久久久久久 | 丁香婷婷综合五月 | av九九九| 精品久久久久久电影 | 免费福利小视频 | 成人免费中文字幕 | 日韩在线观看你懂得 | 五月婷婷深开心 | 日韩精品一区二区三区外面 | 日韩在线观看高清 | 99re国产 | 狠狠躁日日躁 | 九色精品免费永久在线 | 黄网站免费大全入口 | 国产视频精品免费播放 | 九草在线视频 | 2019精品手机国产品在线 | 999抗病毒口服液 | 国产精品成人免费 | 国产精品三级视频 | 日韩中文在线视频 | 又色又爽的网站 | 日本精品一区二区三区在线观看 | 91在线视频导航 | 午夜日b视频 | 亚洲视频专区在线 | 黄av免费在线观看 | 久久精品com | 国产精品美乳一区二区免费 | 亚洲资源在线网 | 一区久久久 | 亚洲精品国产麻豆 | 日韩一区二区免费在线观看 | 久久精品麻豆 | 99热超碰在线 | 国产九九九精品视频 | 国产精品h在线观看 | 69av视频在线 | 在线免费高清一区二区三区 | 亚洲精选在线观看 | 国产最新在线观看 | 最新日韩精品 | 大胆欧美gogo免费视频一二区 | av韩国在线 | 天天射,天天干 | 欧美国产日韩在线视频 | 欧美一级片播放 | 久久国产精彩视频 | 色婷婷综合在线 | 九九久久久久久久久激情 | 成人在线视频在线观看 | 亚洲综合狠狠干 | 久久精品亚洲 | 国产福利91精品一区 | 久久精品欧美一区 | 欧美福利片在线观看 | 色综合久久久 | 四虎国产精品永久在线国在线 | 亚洲精品视频偷拍 | 久久伊人八月婷婷综合激情 | 日韩成人黄色 | 毛片区 | 欧美国产精品久久久久久免费 | 91在线看片 | 免费av看片 | 日日爱999 | 日韩欧美在线综合网 | 91c网站色版视频 | 国产成人61精品免费看片 | 国产精品一区二区三区视频免费 | 天天天操操操 | 精品一区二区在线免费观看 | 成人av网站在线播放 | 粉嫩av一区二区三区免费 | www久草| 婷婷亚洲综合五月天小说 | 99精品国产99久久久久久97 | 欧美电影黄色 | 香蕉在线影院 | 99久久精品国产免费看不卡 | 国内精品在线观看视频 | 久久蜜臀av | 亚洲美女在线国产 | 色97在线| 99精品国产免费久久 | 亚洲天天在线日亚洲洲精 | 欧美巨乳网 | 欧美精品中文在线免费观看 | 中国一级片免费看 | 免费aa大片 | 日韩剧| 99国产精品久久久久老师 | 免费电影播放 | 500部大龄熟乱视频使用方法 | 日本公妇在线观看 | 激情九九| 久久黄色网址 | 国内外成人免费在线视频 | 91精品欧美一区二区三区 | 日韩一级电影在线观看 | 最近免费观看的电影完整版 | 91精品国产91久久久久久三级 | 色婷婷免费 | 国产亚洲资源 | 成人精品视频久久久久 | 免费日韩视频 | 免费成人在线观看 | 国产精品系列在线观看 | 精品国产乱码久久久久久浪潮 | 高清av免费一区中文字幕 | 日韩国产欧美在线播放 | 亚洲永久精品在线观看 | 国产福利久久 | 精品在线一区二区三区 | 日韩高清一区 | 久久精品国产美女 | av官网在线 | 蜜桃麻豆www久久囤产精品 | 麻豆传媒视频观看 | 69热国产视频 | 91污视频在线 | 成人99免费视频 | 狠狠色狠狠色综合日日小说 | 色多多视频在线观看 | 激情偷乱人伦小说视频在线观看 | 人人超在线公开视频 | 特级a老妇做爰全过程 | 国产精品你懂的在线观看 | 天天摸日日操 | 久久久久中文字幕 | 中文字幕成人网 | 日韩欧美精品在线 | 米奇四色影视 | 午夜精品久久久久久久99 | 久久不卡国产精品一区二区 | 国产精品久久久久久久久久不蜜月 | 在线免费观看黄网站 | 久久tv | 国产高清精品在线观看 | 99电影456麻豆 | 国产精品美女久久久久久2018 | 天天色官网| 欧美xxxx性xxxxx高清 | 日本精品久久久久 | 国产色网| 久久看视频 | 在线观看av免费 | 激情综合网五月 | 国产色黄网站 | 在线黄色av| 久久在线观看视频 | 久99久精品| 国产精品自拍av | 中文字幕一区二区三区久久蜜桃 | 黄色看片 | 久久国产精品久久国产精品 | 天堂激情网 | 日韩激情片在线观看 | 天天色天天干天天色 | 中文字幕免费高清在线观看 | 亚洲视频综合 | 国产久草在线观看 | 天躁狠狠躁 | 一区二区三区在线视频111 | 九九热视频在线 | 欧美一级片免费播放 | 婷婷午夜天 | 免费看一及片 | 日韩高清国产精品 | 欧洲视频一区 | 亚洲一区二区三区四区在线视频 | 午夜久久福利视频 | 超黄视频网站 | 日韩一区二区在线免费观看 | 亚洲精品网址在线观看 | 婷婷五月色综合 | 久久人人爽人人爽人人片av免费 | 在线视频99 | 波多野结衣电影一区二区三区 | 精品自拍网 | 久久一区二区三区超碰国产精品 | 91精选在线观看 | 99久热在线精品视频观看 | 黄色av免费看 | 久久婷婷精品视频 | 四虎在线视频 | 中文字幕日本电影 | 99精品国产99久久久久久97 | 日韩最新理论电影 | 黄色软件视频网站 | 超碰97人人干 | 欧美日韩高清 | 国产永久网站 | 在线播放一区二区三区 | 韩国av在线播放 | 激情五月激情综合网 | 亚洲一区二区三区四区精品 | 色噜噜色噜噜 | 国产午夜精品一区二区三区 | 亚洲永久精品视频 | 国产麻豆剧果冻传媒视频播放量 | 91在线日韩 | 国产精品久久久久久久久久了 | 亚洲理论影院 | 久久人人爽视频 | 国产亚洲无 | 中文字幕免费成人 | 在线成人性视频 | 精品视频免费观看 | 日韩r级电影在线观看 | 91在线公开视频 | 国产一区麻豆 | 中文字幕资源网 | 国产淫片| 久久久免费毛片 | 中文字幕色综合网 | 开心婷婷色 | 免费看国产精品 | 最近中文字幕完整高清 | 国产精品久久久久久久久久免费 | 天天做天天爱天天爽综合网 | av电影一区二区三区 | 97国产精品一区二区 | 欧美激情视频免费看 | 在线观看免费高清视频大全追剧 | 日韩网站在线 | 99精品国产aⅴ | 国产理论免费 | 中文字幕国产精品 | 青青草在久久免费久久免费 | 成人小电影在线看 | 国产视频精品免费 | 色综合久久综合中文综合网 | 草久在线观看 | 日韩午夜在线观看 | 国产亚洲精品久久久久久久久久 | 粉嫩av一区二区三区四区在线观看 | 欧美一区二区在线免费看 | japanesefreesexvideo高潮| 日韩欧美精品一区二区三区经典 | 波多野结衣精品视频 | 国产 日韩 中文字幕 | 成人在线观看资源 | 免费日韩 精品中文字幕视频在线 | 国产精品久久久久一区二区 | 人人艹视频 | 久草干 | 热久久精品在线 | 在线观看国产一区 | 天天射天天爱天天干 | 免费亚洲黄色 | 午夜精品久久久久久久久久久久久久 | 久久精品一区二区三区国产主播 | 免费亚洲电影 | 日日夜夜天天 | 日本在线视频网址 | 国产福利在线免费观看 | 色综合天天天天做夜夜夜夜做 | 国产成人在线播放 | 91在线你懂的 | 国产精品福利视频 | 亚洲婷婷丁香 | 丰满少妇在线 | 欧美久久久久久久久久久 | 韩日精品视频 | 久热这里有精品 | 粉嫩av一区二区三区四区在线观看 | 深爱开心激情网 | 天天插天天爽 | 欧美日产一区 | 国产区精品区 | 蜜臀av性久久久久蜜臀av | 不卡精品视频 | 三级性生活视频 | 国产精品网红福利 | 激情五月综合网 | 在线观看免费观看在线91 | 国产精品大片免费观看 | 天天摸天天舔 | .国产精品成人自产拍在线观看6 | 91成年人网站 | 91高清免费 | 91成年视频 | 91精品1区2区| 国产精品久久久久久久久蜜臀 | 成人亚洲精品久久久久 | 成人精品999 | 97超级碰碰 | 久久成熟 | 久久久久久国产精品 | 欧美日韩久 | 亚洲六月丁香色婷婷综合久久 | 国产精品免费在线播放 | 国产视频在线观看一区二区 | 国产免费美女 | 日韩精品在线免费观看 | 中文字幕888 | 国产精品免费观看视频 | 日韩91av | a级一a一级在线观看 | 久久你懂得| 91精品国产一区二区三区 | 国产精品电影一区 | 久久久国产日韩 | 91福利视频一区 | 狠狠综合网 | 欧美精彩视频在线观看 | 精品999国产| 香蕉色综合 | 一级黄色a视频 | 亚洲国产精品99久久久久久久久 | 亚洲欧美日韩国产一区二区三区 | 最新国产精品拍自在线播放 | 国产99久久久欧美黑人 | 欧美日韩亚洲在线 | www.香蕉视频在线观看 | 亚洲五月六月 | 最近中文字幕完整高清 | 成人丁香花| 免费看一级黄色大全 | 久久一区二区三区四区 | 456成人精品影院 | 精品国产乱子伦一区二区 | 99精品国产一区二区三区麻豆 | 一区二区三区四区五区在线 | 欧美日韩高清一区二区 | 狠狠干.com | 91中文视频 | 国产在线不卡精品 | 特级西西444www高清大视频 | 久久久久亚洲a | 91av视频观看| 天天干天天草天天爽 | 久久综合五月天婷婷伊人 | 亚洲观看黄色网 | 久久午夜羞羞影院 | 国产精品一区在线 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 亚洲国产免费看 | 精品久久久久国产免费第一页 | 久草视频免费在线播放 | 国产成人久久精品一区二区三区 | 视频一区二区在线观看 | 久久精品国产v日韩v亚洲 | 中文字幕乱码电影 | 精品亚洲va在线va天堂资源站 | 欧美成人a在线 | 精品国产免费久久 | 午夜三级理论 | 五月天婷婷在线观看视频 | 国产日本高清 | 免费av高清| 97热视频 | 欧美性脚交 | 中文字幕欧美激情 | www.久久视频| 探花国产在线 | 五月色丁香 | 最近最新中文字幕 | 久久精品国产一区二区三区 | 日韩精品一区在线播放 | 国产精品福利视频 | 97在线观看免费 | 色av色av色av| 五月婷婷中文网 | 日韩天天干 | 天天色天天射天天干 | 97av免费视频 | 在线观看深夜福利 | 国产成人免费观看久久久 | 亚洲激情五月 | 天天操福利视频 | 天天射天天操天天 | av大片免费在线观看 | 天天操天天干天天玩 | 亚洲色综合 | 婷五月天激情 | 黄色三级在线观看 | 一区二区三区中文字幕在线 | 亚洲免费观看视频 | 在线观看精品国产 | 国产中文字幕一区 | 国产精品久久三 | 亚洲精品乱码久久久久久蜜桃不爽 | 99精品视频免费观看视频 | 深夜男人影院 | 一区免费观看 | 亚洲爱爱视频 | 成人av一级片 | 在线观看亚洲国产精品 | 欧美伦理一区 | av电影免费 | 4438全国亚洲精品在线观看视频 | av先锋影音少妇 | 国产精彩视频 | 在线看毛片网站 | 深夜免费福利 | 亚洲永久国产精品 | 久久精品国产精品亚洲 | 毛片在线播放网址 | 久久久免费观看完整版 | 日韩精品视频在线免费观看 | 日韩电影中文,亚洲精品乱码 | 国产亚洲精品久久久久久无几年桃 | 在线看日韩av | 最新婷婷色 | 天天爽夜夜爽人人爽曰av | 国产黄 | 欧美一级电影片 | 精品国产观看 | 国产一级黄色电影 | 亚洲 在线 | 欧美性脚交 | 日本黄色免费观看 | 国产手机av在线 | 亚洲欧洲国产视频 | 精品一区在线 | av看片在线观看 | av在线电影网站 | 色欧美成人精品a∨在线观看 | 免费高清在线观看成人 | 亚洲国产欧美在线看片xxoo | 日韩在线观看一区二区三区 | 天天操夜夜叫 | 九九热国产视频 | 欧美久久久久久久久中文字幕 | 九色精品在线 | 91精品人成在线观看 | 日韩精品一区二区三区免费观看 | 午夜视频黄 | 免费亚洲片 | 成 人 黄 色 视频 免费观看 | 97在线免费视频 | 九色在线| 天堂av在线网址 | 99热最新在线 | 美女免费电影 | 992tv在线| 97在线视频免费看 | 国产视频二区三区 | 美女在线免费视频 | 国产小视频在线观看免费 | 日韩视频一二三区 | 亚洲aⅴ免费在线观看 | 久草视频在线免费播放 | 国产精品女同一区二区三区久久夜 | 99精品在线免费视频 | 久久精品99视频 | 少妇bbbb | 国产精品国产三级国产不产一地 | 成人黄色毛片视频 | 丝袜美腿亚洲综合 | 欧美热久久 | 五月婷婷黄色网 | 国产中文字幕第一页 | 久久韩国免费视频 | 亚洲高清久久久 | 亚洲另类xxxx| 国内综合精品午夜久久资源 | 在线观看视频福利 | 久草国产在线 | 日日添夜夜添 | 天天操导航 | 91精品国产99久久久久久久 | 日韩欧三级 | 在线亚州 | 伊在线视频 | 91久久精 | 日韩欧在线 | 国产精品毛片一区二区在线看 | 欧美夫妻生活视频 | 黄色资源在线观看 | 日韩av一区二区三区在线观看 | 天天干天天综合 | 国产色拍拍拍拍在线精品 | 亚洲国产经典视频 | 日日操操操 | 粉嫩高清一区二区三区 | 国产69精品久久99的直播节目 | 五月天婷婷免费视频 | 亚洲精品va | 五月婷婷综合在线 | 成人黄色在线播放 | 少妇超碰在线 | 狠狠伊人| 中文字幕在| 欧美大片在线观看一区 | 国产黄免费看 | 久草在线费播放视频 | 国产区久久 | 91在线看黄 | 久久草av | 国产在线一区二区 | 五月天中文在线 | 久久久五月天 | 亚州免费视频 | 色视频在线免费观看 | 99麻豆久久久国产精品免费 | 成年人免费看的视频 | 丁香六月天 | 国产成人在线免费观看 | 四虎免费在线观看 | 色悠悠久久综合 | 午夜三级在线 | 又长又大又黑又粗欧美 | 亚洲成人免费 | 伊人色**天天综合婷婷 | 91视频麻豆| 欧美乱熟臀69xxxxxx | 黄色亚洲在线 | 91精品国产欧美一区二区成人 | 美女视频一区二区 | 91中文视频| 国产一区国产二区在线观看 | 国产日韩精品一区二区三区 | 日韩视频免费在线 | 成人免费观看完整版电影 | 午夜精品麻豆 | 久久九九久久 | 日本免费一二三区 | 成人免费观看视频大全 | 永久免费毛片在线观看 | 超碰国产在线观看 | 97精品电影院 | 伊人伊成久久人综合网站 | 99亚洲精品 | 美女福利视频一区二区 | 国产91亚洲 | 狠狠干电影 | 天天干天天操天天入 | 日韩视频一区二区三区在线播放免费观看 | 四虎在线免费观看视频 | 亚州黄色一级 | 成年人网站免费在线观看 | 国产精品久久人 | 国产日韩视频在线 | 六月激情久久 | 五月婷婷av在线 | 国产成人黄色片 | 久久理论电影网 | 中文字幕无吗 | 国产成人精品国内自产拍免费看 | 综合网天天射 | 国产做aⅴ在线视频播放 | 人人爱人人添 | 久久五月天综合 | 麻豆传媒一区二区 | 99热都是精品 | 亚洲成人午夜在线 | 国内精品久久久久久久97牛牛 | 91av视频免费在线观看 | 国产精品99在线观看 | 久久伊人爱 | 亚洲男男gaygayxxxgv | 探花视频免费观看 | 欧美精品在线观看 | 夜夜躁日日躁狠狠久久88av | 欧美极品一区二区三区 | 久久a v电影| av黄色国产 | 国产精品久久久久久久久久ktv | 精品视频999 | 欧美成人性网 | 亚洲综合色丁香婷婷六月图片 | 久草精品网 | 国产综合福利在线 | 91传媒免费在线观看 | 亚洲精品中文在线资源 | 日韩精品久久一区二区三区 | 九九九毛片 | 精品亚洲男同gayvideo网站 | 欧美日韩一区二区三区在线观看视频 | 欧美另类一二三四区 | 日韩高清一区二区 | 国产一区二区在线播放 | 久久全国免费视频 | 久久免费看av | 51久久成人国产精品麻豆 | 国产精品综合av一区二区国产馆 | 91精品一区二区三区蜜臀 | 福利视频一区二区 | 日本特黄一级 | 国产手机视频在线观看 | 久久久久久久久久久国产精品 | 69精品人人人人 | 精品美女国产在线 | 国内精品久久久久久久久久清纯 | 成人久久亚洲 | 久草在线视频中文 | 亚洲黄色在线播放 | 久草免费新视频 | 日日天天干 | 国产精品一区二区无线 | 国产又粗又长又硬免费视频 | 一区二区视频免费在线观看 | 91高清视频在线 | 欧美激情在线看 | 婷婷在线网 | 超碰人人乐 | 人人揉人人揉人人揉人人揉97 | 久草视频在线免费看 | 五月婷婷在线综合 | 99视频精品免费视频 | 九九视频这里只有精品 | 国产精品白浆视频 | 日日夜夜噜噜噜 | av网站地址 | 丁香花中文字幕 | 色偷偷88888欧美精品久久 | 综合久久影院 | 国产特黄色片 | 亚洲成人频道 | 福利视频 | 欧美日韩高清在线一区 | 操操操日日日干干干 | 岛国片在线| 成人久久久久 | 在线观看av国产 | 91在线视频 | 亚洲精品午夜视频 | 91精品视频导航 | 五月激情丁香婷婷 | 久久最新 | 久久国产免费视频 | 亚洲人成精品久久久久 | 中文字幕在线高清 | 成人精品国产免费网站 | 天天干夜夜干 | 韩日精品视频 | 精品国产123 | 超碰免费97 | 久久天天躁| 91av成人| 激情综合色播五月 | 国产999 | 国产女人免费看a级丨片 | 日韩精品观看 | 久草视频在线免费 |