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

Linux文件系統究竟是怎么工作的?

系統 Linux
文件系統,是對存儲設備上的文件,進行組織管理的一種機制。為了支持各類不同的文件系統,Linux 在各種文件系統實現上,抽象了一層虛擬文件系統(VFS)。

 和 CPU、內存一樣,磁盤和文件系統的管理,也是操作系統最核心的功能。

磁盤為系統提供了最基本的持久化存儲。

文件系統則在磁盤的基礎上,提供了一個用來管理文件的樹狀結構。

那么,磁盤和文件系統是怎么工作的呢?又有哪些指標可以衡量它們的性能呢?

索引節點和目錄項

文件系統,本身是對存儲設備上的文件,進行組織管理的機制。組織方式不同,就會形成不同的文件系統。

我們要記住最重要的一點,在 Linux 中一切皆文件。不僅普通的文件和目錄,就連塊設備、 套接字、管道等,也都要通過統一的文件系統來管理。

為了方便管理,Linux 文件系統為每個文件都分配兩個數據結構,索引節點(index node)和目錄項(directory entry)。它們主要用來記錄文件的元信息和目錄結構。

索引節點,簡稱為 inode,用來記錄文件的元數據,比如 inode 編號、文件大小、訪問 權限、修改日期、數據的位置等。索引節點和文件一一對應,它跟文件內容一樣,都會 被持久化存儲到磁盤中。所以記住,索引節點同樣占用磁盤空間。

目錄項,簡稱為 dentry,用來記錄文件的名字、索引節點指針以及與其他目錄項的關聯 關系。多個關聯的目錄項,就構成了文件系統的目錄結構。不過,不同于索引節點,目錄項是由內核維護的一個內存數據結構,所以通常也被叫做目錄項緩存。

換句話說,索引節點是每個文件的唯一標志,而目錄項維護的正是文件系統的樹狀結構。目錄項和索引節點的關系是多對一,你可以簡單理解為,一個文件可以有多個別名。

舉個例子,通過硬鏈接為文件創建的別名,就會對應不同的目錄項,不過這些目錄項本質上還是鏈接同一個文件,所以,它們的索引節點相同。

索引節點和目錄項紀錄了文件的元數據,以及文件間的目錄關系,那么具體來說,文件數據到底是怎么存儲的呢?是不是直接寫到磁盤中就好了呢?

實際上,磁盤讀寫的最小單位是扇區,然而扇區只有 512B 大小,如果每次都讀寫這么小的單位,效率一定很低。所以,文件系統又把連續的扇區組成了邏輯塊,然后每次都以邏 輯塊為最小單元,來管理數據。常見的邏輯塊大小為 4KB,也就是由連續的 8 個扇區組成。

為了幫助我們理解目錄項、索引節點以及文件數據的關系,畫了一張示意圖。我們可以對照著這張圖,來回憶剛剛講過的內容,把知識和細節串聯起來。

不過,這里有兩點需要我們注意:

第一,目錄項本身就是一個內存緩存,而索引節點則是存儲在磁盤中的數據。在前面的 Buffer 和 Cache 原理中,我曾經提到過,為了協調慢速磁盤與快速 CPU 的性能差異,文 件內容會緩存到頁緩存 Cache 中。那么,我們也應該想到,這些索引節點自然也會緩存到內存中,加速文件的訪問。

第二,磁盤在執行文件系統格式化時,會被分成三個存儲區域,超級塊、索引節點區和數

據塊區。其中,

超級塊,存儲整個文件系統的狀態。

索引節點區,用來存儲索引節點。

數據塊區,則用來存儲文件數據。

虛擬文件系統

目錄項、索引節點、邏輯塊以及超級塊,構成了 Linux 文件系統的四大基本要素。不過, 為了支持各種不同的文件系統,Linux 內核在用戶進程和文件系統的中間,又引入了一個抽象層,也就是虛擬文件系統 VFS(Virtual File System)。

VFS 定義了一組所有文件系統都支持的數據結構和標準接口。這樣,用戶進程和內核中的其他子系統,只需要跟 VFS 提供的統一接口進行交互就可以了,而不需要再關心底層各種文件系統的實現細節。

這里,下圖是 Linux 文件系統的架構圖,幫我們更好地理解系統調用、VFS、緩存、文 件系統以及塊存儲之間的關系。

通過這張圖,可以看到,在 VFS 的下方,Linux 支持各種各樣的文件系統,如 Ext4、 XFS、NFS 等等。按照存儲位置的不同,這些文件系統可以分為三類。

第一類是基于磁盤的文件系統,也就是把數據直接存儲在計算機本地掛載的磁盤中。常見的 Ext4、XFS、OverlayFS 等,都是這類文件系統。

第二類是基于內存的文件系統,也就是我們常說的虛擬文件系統。這類文件系統,不需要任何磁盤分配存儲空間,但會占用內存。我們經常用到的 /proc 文件系統,其實就是 一種最常見的虛擬文件系統。此外,/sys 文件系統也屬于這一類,主要向用戶空間導出層次化的內核對象。

第三類是網絡文件系統,也就是用來訪問其他計算機數據的文件系統,比如 NFS、 SMB、iSCSI 等。

這些文件系統,要先掛載到 VFS 目錄樹中的某個子目錄(稱為掛載點),然后才能訪問其中的文件。拿第一類,也就是基于磁盤的文件系統為例,在安裝系統時,要先掛載一個根 目錄(/),在根目錄下再把其他文件系統(比如其他的磁盤分區、/proc 文件系統、/sys 文件系統、NFS 等)掛載進來。

文件系統 I/O

把文件系統掛載到掛載點后,你就能通過掛載點,再去訪問它管理的文件了。VFS 提供了一組標準的文件訪問接口。這些接口以系統調用的方式,提供給應用程序使用。

就拿 cat 命令來說,它首先調用 open() ,打開一個文件;然后調用 read() ,讀取文件的內容;最后再調用 write() ,把文件內容輸出到控制臺的標準輸出中: 

  1. int open(const char *pathname, int flags, mode_t mode);   
  2. ssize_t read(int fd, void *buf, size_t count);  
  3. ssize_t write(int fd, const void *buf, size_t count); 

文件讀寫方式的各種差異,導致 I/O 的分類多種多樣。最常見的有,緩沖與非緩沖 I/O、 直接與非直接 I/O、阻塞與非阻塞 I/O、同步與異步 I/O 等。接下來,我們就詳細看這四種分類。

第一種,根據是否利用標準庫緩存,可以把文件 I/O 分為緩沖 I/O 與非緩沖 I/O。

緩沖 I/O,是指利用標準庫緩存來加速文件的訪問,而標準庫內部再通過系統調度訪問文件。

非緩沖 I/O,是指直接通過系統調用來訪問文件,不再經過標準庫緩存。

注意,這里所說的“緩沖”,是指標準庫內部實現的緩存。比方說,你可能見到過,很多程序遇到換行時才真正輸出,而換行前的內容,其實就是被標準庫暫時緩存了起來。

無論緩沖 I/O 還是非緩沖 I/O,它們最終還是要經過系統調用來訪問文件。我們知道,系統調用后,還會通過頁緩存,來減少磁盤的 I/O 操作。

第二,根據是否利用操作系統的頁緩存,可以把文件 I/O 分為直接 I/O 與非直接 I/O。

直接 I/O,是指跳過操作系統的頁緩存,直接跟文件系統交互來訪問文件。

非直接 I/O 正好相反,文件讀寫時,先要經過系統的頁緩存,然后再由內核或額外的系統調用,真正寫入磁盤。

想要實現直接 I/O,需要你在系統調用中,指定 O_DIRECT 標志。如果沒有設置過,默認 的是非直接 I/O。

不過要注意,直接 I/O、非直接 I/O,本質上還是和文件系統交互。如果是在數據庫等場景中,還會看到,跳過文件系統讀寫磁盤的情況,也就是我們通常所說的裸 I/O。

第三,根據應用程序是否阻塞自身運行,可以把文件 I/O 分為阻塞 I/O 和非阻塞 I/O

所謂阻塞 I/O,是指應用程序執行 I/O 操作后,如果沒有獲得響應,就會阻塞當前線程,自然就不能執行其他任務。

所謂非阻塞 I/O,是指應用程序執行 I/O 操作后,不會阻塞當前的線程,可以繼續執行其他的任務,隨后再通過輪詢或者事件通知的形式,獲取調用的結果。

比方說,訪問管道或者網絡套接字時,設置 O_NONBLOCK 標志,就表示用非阻塞方式訪問;而如果不做任何設置,默認的就是阻塞訪問。

第四,根據是否等待響應結果,可以把文件 I/O 分為同步和異步 I/O

所謂同步 I/O,是指應用程序執行 I/O 操作后,要一直等到整個 I/O 完成后,才能獲得 I/O 響應。

所謂異步 I/O,是指應用程序執行 I/O 操作后,不用等待完成和完成后的響應,而是繼續執行就可以。等到這次 I/O 完成后,響應會用事件通知的方式,告訴應用程序。

例如,在操作文件時,如果設置了 O_SYNC 或者 O_DSYNC 標志,就代表同步 I/O。如果設置了 O_DSYNC,就要等文件數據寫入磁盤后,才能返回;而 O_SYNC,則是在 O_DSYNC 基礎上,要求文件元數據也要寫入磁盤后,才能返回。

再比如,在訪問管道或者網絡套接字時,設置了 O_ASYNC 選項后,相應的 I/O 就是異步I/O。這樣,內核會再通過 SIGIO 或者 SIGPOLL,來通知進程文件是否可讀寫。

我們可能發現了,這里的好多概念也經常出現在網絡編程中。比如非阻塞 I/O,通常會跟 select/poll 配合,用在網絡套接字的 I/O 中。

這下我們也應該可以理解,“Linux 一切皆文件”的深刻含義。無論是普通文件和塊設備、還是網絡套接字和管道等,它們都通過統一的 VFS 接口來訪問。

性能觀測

接下來,打開一個終端,SSH 登錄到服務器上,我們一起來探索,如何觀測文件系統的性能。

容量

對文件系統來說,最常見的一個問題就是空間不足。當然,你可能本身就知道,用 df 命 令,就能查看文件系統的磁盤空間使用情況。比如: 

  1. df /dev/vda1  
  2. 文件系統           1K-塊         已用         可用        已用%    掛載點  
  3. /dev/vda1      104846316     28228044     76618272      27%     / 

可以看到,我的根文件系統只使用了 27% 的空間。這里還要注意,總空間用 1K- 快 的數量來表示,你可以給 df 加上 -h 選項,以獲得更好的可讀性: 

  1. df -h /dev/vda1  
  2.  文件系統         容量     已用     可用   已用%   掛載點  
  3. /dev/vda1       100G     27G      74G   27%     / 

不過有時候,明明碰到了空間不足的問題,可是用 df 查看磁盤空間后,卻發現剩余空間還有很多。這是怎么回事呢?

其實除了文件數據,索引節點也占用磁盤空間。可以給 df 命令加上 -i 參數,查看索引節點的使用情況,如下所示: 

  1. df -h -i /dev/vda1  
  2. 文件系統         Inode    已用(I)   可用(I)   已用(I)%  掛載點  
  3. /dev/vda1        50M     162K     50M        1%       / 

索引節點的容量,(也就是 Inode 個數)是在格式化磁盤時設定好的,一般由格式化工具自動生成。當發現索引節點空間不足,但磁盤空間充足時,很可能就是過多小文件導致的。

所以,一般來說,刪除這些小文件,或者把它們移動到索引節點充足的其他磁盤中,就可以解決這個問題。

緩存

可以用 free 或 vmstat,來觀察頁緩存的大小。free 輸出的 Cache,是頁緩存和可回收 Slab 緩存的和,你可以從 /proc/meminfo ,直接得到它們的大小: 

  1. cat /proc/meminfo | grep -E "SReclaimable|Cached"  
  2. Cached:          2014100 kB  
  3. SwapCached:         5316 kB  
  4. SReclaimable:     216128 kB 

話說回來,文件系統中的目錄項和索引節點緩存,又該如何觀察呢?

實際上,內核使用 Slab 機制,管理目錄項和索引節點的緩存。/proc/meminfo 只給出了 Slab 的整體大小,具體到每一種 Slab 緩存,還要查看 /proc/slabinfo 這個文件。

比如,運行下面的命令,你就可以得到,所有目錄項和各種文件系統索引節點的緩存情況: 

  1. # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunab  
  2. cat /proc/slabinfo | grep -E '^#|dentry|inode'  
  3. # name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> 
  4. ovl_inode             66     66    736   22    4 : tunables    0    0    0 : slabdata      3      3      0 
  5. fuse_inode             0      0    832   19    4 : tunables    0    0    0 : slabdata      0      0      0 
  6. xfs_inode         100470 110736   1024   16    4 : tunables    0    0    0 : slabdata   6921   6921      0 
  7. mqueue_inode_cache     64     64   1024   16    4 : tunables    0    0    0 : slabdata      4      4      0 
  8. hugetlbfs_inode_cache     48     48    680   24    4 : tunables    0    0    0 : slabdata      2      2      0  
  9. sock_inode_cache    4581   4807    704   23    4 : tunables    0    0    0 : slabdata    209    209      0  
  10. shmem_inode_cache   1816   2541    760   21    4 : tunables    0    0    0 : slabdata    121    121      0  
  11. proc_inode_cache   10210  13024    728   22    4 : tunables    0    0    0 : slabdata    592    592      0  
  12. inode_cache        36498  38832    656   24    4 : tunables    0    0    0 : slabdata   1618   1618      0  
  13. dentry            150086 183204    192   21    1 : tunables    0    0    0 : slabdata   8724   8724      0 

這個界面中,dentry 行表示目錄項緩存,inode_cache 行,表示 VFS 索引節點緩存,其 余的則是各種文件系統的索引節點緩存。

/proc/slabinfo 的列比較多,具體含義可以查詢 man slabinfo。在實際性能分析中,我們更常使用 slabtop ,來找到占用內存最多的緩存類型。

比如,下面就是運行 slabtop 得到的結果: 

  1. # 按下 c 按照緩存大小排序,按下 a 按照活躍對象數排序   
  2. slabtop  
  3. Active / Total Objects (% used)    : 991123 / 1087653 (91.1%)  
  4.  Active / Total Slabs (% used)      : 40627 / 40627 (100.0%)  
  5.  Active / Total Caches (% used)     : 103 / 138 (74.6%)  
  6.  Active / Total Size (% used)       : 329426.37K / 371563.66K (88.7%)  
  7.  Minimum / Average / Maximum Object : 0.01K / 0.34K / 8.00K  
  8.  OBJS  ACTIVE   USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE    NAME                   
  9.  183204 150026   81%    0.19K   8724      21       34896K    dentry  
  10.  38832  36498   93%    0.64K   1618      24       25888K    inode_cache ...  
  11.   6174   6009   97%    0.19K   294      21       1176K    cred_jar  
  12.   6066   5878   96%    0.44K   337      18       2696K    xfrm_dst_cache  
  13.   5950   5950   100%   0.02K   35      170      140K     avtab_node  
  14.   4807   4581   95%    0.69K   209      23       3344K    sock_inode_cache  
  15.   3948   3812   96%    1.12K   141      28       4512K    signal_cache  
  16.   3744   3680   98%    0.25K   234      16       936K     skbuff_head_cache  
  17.   3634   3634   100%   0.09K   79      46       316K     trace_event_file 

從這個結果你可以看到,在我的系統中,目錄項(dentry)和索引節點(inode_cache)占用了最多的 Slab 緩存。不 過它們占用的內存其實并不大,加起來也只有 60MB 左右。

總結

文件系統,是對存儲設備上的文件,進行組織管理的一種機制。為了支持各類不同的文件系統,Linux 在各種文件系統實現上,抽象了一層虛擬文件系統(VFS)。

VFS 定義了一組所有文件系統都支持的數據結構和標準接口。這樣,用戶進程和內核中的其他子系統,就只需要跟 VFS 提供的統一接口進行交互。

為了降低慢速磁盤對性能的影響,文件系統又通過頁緩存、目錄項緩存以及索引節點緩存,緩和磁盤延遲對應用程序的影響。 

 

責任編輯:龐桂玉 來源: 程序員GitHub
相關推薦

2019-06-04 14:15:08

JavaScript V8前端

2019-07-22 15:29:53

JavaScriptGitHub語言

2019-04-26 13:55:02

Istio微服務架構

2021-02-19 20:38:01

互聯網衛星系統

2021-05-19 14:48:58

Linux文件fd

2011-02-28 09:51:43

內省

2011-02-16 16:13:40

Debian

2021-03-12 10:28:36

996職場數據

2021-06-11 11:34:37

臉書Facebook商業帝國

2020-06-11 09:18:34

動靜分離架構架構設計開發

2018-07-05 16:15:26

緩存數據cache miss

2010-08-24 09:19:59

2015-08-26 09:54:19

物聯網

2011-08-04 13:24:28

IT運維

2012-05-28 22:49:50

PureView

2022-06-13 09:51:35

UWB超寬帶無線載波通信技術

2015-12-14 15:34:35

開源投資創業

2018-09-10 13:47:21

數據科學統計學決策

2015-09-29 09:47:14

2016-06-17 12:31:10

Spark SQL數據處理Spark
點贊
收藏

51CTO技術棧公眾號

国产视频手机在线播放| 久久影视中文粉嫩av| 亚洲精品自拍视频在线观看| 亚洲青青一区| 亚洲最大的成人av| 久久精品国产一区二区三区日韩| 五月天婷婷导航| 99国产精品一区二区| 精品欧美一区二区久久| 精品中文字幕av| 免费在线观看av| 成人高清免费观看| 国产精品日日做人人爱| 免费在线一级片| 九九在线高清精品视频| 91精品国产全国免费观看 | 欧美影视一区| 亚洲美女视频网站| 原创真实夫妻啪啪av| 亚洲欧洲自拍| 亚洲美腿欧美偷拍| 欧美性xxxx69| 免费观看毛片网站| 久久99蜜桃精品| 91国产精品视频在线| 日韩视频中文字幕在线观看| 亚洲影院天堂中文av色| 欧美电影免费提供在线观看| 美女少妇一区二区| 欧美黑人巨大xxxxx| 亚洲综合一区二区| 宅男噜噜99国产精品观看免费| 无码国精品一区二区免费蜜桃| 久久er精品视频| 国产98色在线| 国产成人精品片| 欧美精品国产| 久久久国产一区二区| 老头老太做爰xxx视频| 偷拍视屏一区| 亚洲国产精品字幕| 伊人久久久久久久久| 日韩一级视频| 欧美日韩在线精品一区二区三区激情| 免费黄色日本网站| 黄视频网站在线观看| 一区二区三区产品免费精品久久75| 亚洲欧洲精品在线 | 久久国产精品首页| 91动漫免费网站| 欧美午夜精彩| 在线看片第一页欧美| 免费看黄色的视频| 九九亚洲视频| 揄拍成人国产精品视频| 中文字幕第20页| 精品国产精品| 中文字幕亚洲综合久久| 任我爽在线视频| 99久久九九| 日韩在线高清视频| 欧美肥妇bbwbbw| 我不卡神马影院| 久热精品视频在线观看| 视频这里只有精品| 欧美不卡在线| 久久久久久中文字幕| 日韩精品一卡二卡| 久久久人人人| 国产精品海角社区在线观看| 国产精品sm调教免费专区| 蜜桃一区二区三区四区| 欧美日韩亚洲综合| 91插插插插插插插插| 祥仔av免费一区二区三区四区| 欧美色老头old∨ideo| 五月花丁香婷婷| 一区二区三区日本视频| 日韩一区二区视频| av av在线| 蜜桃一区二区| 一区二区三区日韩在线| 国产中文字幕久久| 狠狠久久婷婷| 亲子乱一区二区三区电影 | xxxx日本黄色| 日韩理论电影| 精品国产依人香蕉在线精品| 欧美日韩在线观看成人| 亚洲乱亚洲高清| 国产精品com| 一区二区三区黄| 成人中文字幕合集| 日韩国产高清一区| 超碰在线观看免费版| 偷拍一区二区三区四区| 波多野结衣天堂| 日韩欧美一级| 亚洲色图25p| 在线免费观看亚洲视频| 久久久精品五月天| 成人综合网网址| 四虎永久在线精品免费网址| 国产精品女同互慰在线看| av动漫在线播放| 三上悠亚一区二区| 日韩视频一区二区| 国产成人福利在线| 亚洲成人直播| 91精品美女在线| | 久久先锋影音av| 国产a级片免费看| 日韩激情电影免费看| 欧美日韩国产免费| 黄色短视频在线观看| 911久久香蕉国产线看观看| 2019亚洲男人天堂| 99视频在线观看免费| 国产视频一区二区三区在线观看| 欧美日韩dvd| 九九九伊在线综合永久| 欧美精品一区二区三区很污很色的| 精品人妻中文无码av在线| 亚洲激情午夜| 97人人模人人爽人人喊38tv| 在线观看免费网站黄| 狠狠躁天天躁日日躁欧美| 免费国偷自产拍精品视频| 精品一区二区三区的国产在线观看| 久久久免费av| www.麻豆av| 亚洲色图制服诱惑| a在线观看免费视频| 天堂一区二区三区四区| 午夜精品久久久久久久男人的天堂| 91亚洲欧美激情| 国产免费观看久久| 欧美a在线视频| 欧美a一欧美| 亚洲成色777777女色窝| 美国一级片在线观看| 久久午夜精品| 蜜桃在线一区二区三区精品| 99thz桃花论族在线播放| 5566中文字幕一区二区电影| 欧美视频一区二区在线| 美美哒免费高清在线观看视频一区二区| 蜜桃麻豆www久久国产精品| 2018av在线| 亚洲电影成人av99爱色| 久久久久人妻一区精品色欧美| 国产一区二区中文字幕| 四虎影院一区二区| 成人在线精品| 欧美日韩福利视频| 午夜精品一区二区三| 一区二区三区免费在线观看| 性xxxxxxxxx| 亚洲二区视频| 久久精品国产一区二区三区日韩 | 91视频最新| 国产高清在线a视频大全| 亚洲国产日韩一区| 精品免费囯产一区二区三区| 久久久蜜桃精品| 久久精品影视大全| 999久久久精品国产| 成人在线激情视频| 亚洲综合影视| 亚洲国产天堂网精品网站| 性无码专区无码| 97精品国产97久久久久久久久久久久| 免费在线观看的av网站| 成人情趣视频| 91成人伦理在线电影| japanese色国产在线看视频| 亚洲另类激情图| 亚洲自拍偷拍另类| 亚洲综合图片区| 亚洲自拍偷拍一区二区| 麻豆国产欧美日韩综合精品二区| youjizz.com亚洲| 66精品视频在线观看| 青草成人免费视频| 天天影视久久综合| 精品日本一线二线三线不卡| 国产精品久久久久久久久久久久久久久久久| 久久久不卡网国产精品一区| 鲁一鲁一鲁一鲁一av| 欧美一区二区三区久久精品| 精品日本一区二区| 国产精品久久久久久吹潮| 精品中文字幕视频| 色视频在线观看免费| 欧美日韩高清影院| 国产无遮挡裸体免费视频| 国产日韩v精品一区二区| 精品人妻一区二区三| 媚黑女一区二区| 艳母动漫在线观看| 一道在线中文一区二区三区| 成人免费在线网址| 在线精品亚洲欧美日韩国产| 久久亚洲精品一区| 男男电影完整版在线观看| 91精品国产美女浴室洗澡无遮挡| 久久久精品福利| 一区二区在线电影| 亚洲一二三精品| av亚洲精华国产精华精| 三区视频在线观看| 久久久久久婷| 妞干网在线观看视频| 久久精品青草| 欧美一区1区三区3区公司 | 精品一区在线视频| 中文字幕乱码久久午夜不卡 | 国产九一精品| 国产精品国产精品国产专区蜜臀ah| 88xx成人网| 国产69精品久久久久久| 日本一级理论片在线大全| 中文字幕视频一区二区在线有码| 神马久久高清| 精品国产一区二区在线观看| 97人妻精品一区二区三区视频| 日韩欧美在线一区| 国产精品第一页在线观看| 亚洲私人黄色宅男| 久久噜噜色综合一区二区| 久久久久久久久久久久久女国产乱| 久久久久久久久久影视| 国产精一区二区三区| 日本高清久久久| 美女视频一区二区三区| 乱子伦视频在线看| 久久精品一区| 青娱乐自拍偷拍| 亚洲精品123区| 老子影院午夜伦不卡大全| 欧美一区二区三区久久精品茉莉花| 亚洲最大色综合成人av| 成人在线免费观看网站| 日韩欧美激情一区二区| 欧美日韩在线网站| 日韩亚洲视频| 成人羞羞网站入口免费| 麻豆蜜桃91| 亚洲婷婷影院| 日韩免费电影一区二区三区| av资源久久| 一区二区三区的久久的视频| 日韩精品1区| 欧美一区二区三区在线播放 | 区一区二在线观看| 在线观看亚洲一区| 亚洲午夜无码久久久久| 欧美午夜精品久久久久久超碰 | 日本一区二区三区视频在线观看 | 大地资源网在线观看免费官网| 亚洲情侣在线| 国产乱人伦精品一区二区三区| 红桃视频亚洲| 国产深夜男女无套内射| 妖精视频成人观看www| 久久久久狠狠高潮亚洲精品| 老司机精品福利视频| 亚洲黄色小视频在线观看| 久久99热这里只有精品| 91人妻一区二区| 99精品热视频| 夫妇交换中文字幕| 亚洲三级小视频| 国产无遮挡又黄又爽在线观看| 精品国产91久久久| www.久久视频| 91精品福利在线一区二区三区| 丰满人妻一区二区三区无码av| 亚洲国产精品一区二区三区| 国产福利片在线| 欧美片一区二区三区| 中文av在线全新| 亚洲va电影大全| 日本一道高清一区二区三区| 日韩av一区二区三区在线| 天天超碰亚洲| 欧美日韩二三区| 久久99精品久久只有精品| 日本一级大毛片a一| 久久免费偷拍视频| 污污的视频在线免费观看| 亚洲福利一二三区| 懂色av蜜臀av粉嫩av喷吹| 精品国产凹凸成av人导航| аⅴ资源新版在线天堂| 欧美激情欧美激情在线五月| 日韩一区二区三区免费| 春色成人在线视频| jiujiure精品视频播放| www.日本少妇| 日韩制服丝袜av| 日本中文字幕有码| 欧美高清在线一区二区| 伊人国产在线观看| 精品视频一区二区不卡| 性xxxfllreexxx少妇| yellow中文字幕久久| 竹内纱里奈兽皇系列在线观看| 91免费版网站入口| 国产精品入口久久| 福利视频免费在线观看| 老色鬼精品视频在线观看播放| 国产十八熟妇av成人一区| 国产精品成人一区二区三区夜夜夜| 五月婷婷开心网| 欧美一级日韩免费不卡| www.av在线| 欧洲亚洲免费在线| 成人看片黄a免费看视频| 天堂v在线视频| 日韩激情视频网站| aaaaa一级片| 香蕉影视欧美成人| 精品久久久免费视频| 色多多国产成人永久免费网站| 男人皇宫亚洲男人2020| 国产精品青青草| 影音先锋成人在线电影| 在线观看免费的av| 中文字幕高清不卡| 伊人久久久久久久久久久久| 精品丝袜一区二区三区| 成年人黄色大片在线| 国产高清精品一区二区| 国产精品a久久久久| japan高清日本乱xxxxx| 亚洲婷婷综合久久一本伊一区 | 经典三级在线一区| 国产在视频线精品视频| 欧美手机在线视频| av资源种子在线观看| 国产精品久久久久久久久久久不卡 | 亚洲激情网址| 一区二区免费在线观看视频 | 黄色av网站免费观看| 亚洲欧美国产精品va在线观看| 欧美a级在线观看| 久久精品国产精品青草色艺| 久久精品动漫| 亚洲女优在线观看| 欧洲色大大久久| 欧美jizz18性欧美| 成人激情在线观看| 欧美精选一区| 亚洲成年人av| 午夜电影一区二区| 无码精品一区二区三区在线| 97成人精品区在线播放| 牛牛精品成人免费视频| 黄色免费福利视频| 久久综合久久综合久久| 青青草av在线播放| 亚洲乱码国产乱码精品精| 国产成人免费9x9x人网站视频| 欧美在线视频二区| 青青国产91久久久久久| 色婷婷粉嫩av| 精品国产99国产精品| 色综合桃花网| 久久亚洲综合网| 免费久久精品视频| 日韩精品123区| 日韩欧美资源站| 免费高潮视频95在线观看网站| 欧美一区二区三区电影在线观看| 热久久一区二区| 免费在线黄色网| 亚洲成人黄色网| 姬川优奈av一区二区在线电影| 亚洲视频sss| 成人午夜视频网站| 一级做a爰片久久毛片| 色妞欧美日韩在线| 午夜久久av| 丁香婷婷激情网| 亚洲人成伊人成综合网小说| 日批视频免费播放| 国产精品男人爽免费视频1| 欧美成熟视频| 自拍偷拍亚洲天堂| 欧美一区二区三区的| 性国裸体高清亚洲| 亚洲成年人专区| 91热门视频在线观看| 国产成人免费观看网站| 91精品国产综合久久国产大片| 黄视频免费在线看| 熟女视频一区二区三区| 久久青草国产手机看片福利盒子|