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

Linux后臺開發(fā)必知的io優(yōu)化知識總結(jié)

系統(tǒng) Linux
IO性能對于一個系統(tǒng)的影響是至關(guān)重要的。一個系統(tǒng)經(jīng)過多項優(yōu)化以后,瓶頸往往落在數(shù)據(jù)庫;而數(shù)據(jù)庫經(jīng)過多種優(yōu)化以后,瓶頸最終會落到IO。

系統(tǒng)學(xué)習(xí)

IO性能對于一個系統(tǒng)的影響是至關(guān)重要的。一個系統(tǒng)經(jīng)過多項優(yōu)化以后,瓶頸往往落在數(shù)據(jù)庫;而數(shù)據(jù)庫經(jīng)過多種優(yōu)化以后,瓶頸最終會落到IO。而IO性能的發(fā)展,明顯落后于CPU的發(fā)展。Memchached也好,NoSql也好,這些流行技術(shù)的背后都在直接或者間接地回避IO瓶頸,從而提高系統(tǒng)性能。

IO系統(tǒng)的分層:

上圖層次比較多,但總的就是三部分。磁盤(存儲)、VM(卷管理)和文件系統(tǒng)。專有名詞不好理解,打個比方說:磁盤就相當(dāng)于一塊待用的空地;LVM相當(dāng)于空地上的圍墻(把空地劃分成多個部分);文件系統(tǒng)則相當(dāng)于每塊空地上建的樓房(決定了有多少房間、房屋編號如何,能容納多少人住);而房子里面住的人,則相當(dāng)于系統(tǒng)里面存的數(shù)據(jù)。

文件系統(tǒng)—數(shù)據(jù)如何存放?

對應(yīng)了上圖的File System和Buffer Cache。

File System(文件系統(tǒng)):解決了空間管理的問題,即:數(shù)據(jù)如何存放、讀取。

Buffer Cache:解決數(shù)據(jù)緩沖的問題。對讀,進行cache,即:緩存經(jīng)常要用到的數(shù)據(jù);對寫,進行buffer,緩沖一定數(shù)據(jù)以后,一次性進行寫入。

VM—磁盤空間不足了怎么辦?

對應(yīng)上圖的Vol Mgmt。

VM其實跟IO沒有必然聯(lián)系。他是處于文件系統(tǒng)和磁盤(存儲)中間的一層。VM屏蔽了底層磁盤對上層文件系統(tǒng)的影響。當(dāng)沒有VM的時候,文件系統(tǒng)直接使用存儲上的地址空間,因此文件系統(tǒng)直接受限于物理硬盤,這時如果發(fā)生磁盤空間不足的情況,對應(yīng)用而言將是一場噩夢,不得不新增硬盤,然后重新進行數(shù)據(jù)復(fù)制。而VM則可以實現(xiàn)動態(tài)擴展,而對文件系統(tǒng)沒有影響。另外,VM也可以把多個磁盤合并成一個磁盤,對文件系統(tǒng)呈現(xiàn)統(tǒng)一的地址空間,這個特性的殺傷力不言而喻。

存儲—數(shù)據(jù)放在哪兒?如何訪問?如何提高IO速度?

對應(yīng)上圖的Device Driver、IO Channel和Disk Device

數(shù)據(jù)最終會放在這里,因此,效率、數(shù)據(jù)安全、容災(zāi)是這里需要考慮的問題。而提高存儲的性能,則可以直接提高物理IO的性能

2. Logical IO vs Physical IO

邏輯IO是操作系統(tǒng)發(fā)起的IO,這個數(shù)據(jù)可能會放在磁盤上,也可能會放在內(nèi)存(文件系統(tǒng)的Cache)里。

物理IO是設(shè)備驅(qū)動發(fā)起的IO,這個數(shù)據(jù)最終會落在磁盤上。

邏輯IO和物理IO不是一一對應(yīng)的。

這部分的東西在網(wǎng)絡(luò)編程經(jīng)常能看到,不過在所有IO處理中都是類似的。

IO請求的兩個階段:

等待資源階段:IO請求一般需要請求特殊的資源(如磁盤、RAM、文件),當(dāng)資源被上一個使用者使用沒有被釋放時,IO請求就會被阻塞,直到能夠使用這個資源。

使用資源階段:真正進行數(shù)據(jù)接收和發(fā)生。

舉例說就是排隊和服務(wù)。

在等待數(shù)據(jù)階段,IO分為阻塞IO和非阻塞IO。

阻塞IO:資源不可用時,IO請求一直阻塞,直到反饋結(jié)果(有數(shù)據(jù)或超時)。

非阻塞IO:資源不可用時,IO請求離開返回,返回數(shù)據(jù)標(biāo)識資源不可用

在使用資源階段,IO分為同步IO和異步IO。

同步IO:應(yīng)用阻塞在發(fā)送或接收數(shù)據(jù)的狀態(tài),直到數(shù)據(jù)成功傳輸或返回失敗。

異步IO:應(yīng)用發(fā)送或接收數(shù)據(jù)后立刻返回,數(shù)據(jù)寫入OS緩存,由OS完成數(shù)據(jù)發(fā)送或接收,并返回成功或失敗的信息給應(yīng)用。

按照Unix的5個IO模型劃分

阻塞IO

非阻塞IO

IO復(fù)用

信號驅(qū)動的IO

異步IO

從性能上看,異步IO的性能無疑是最好的。

各種IO的特點

阻塞IO:使用簡單,但隨之而來的問題就是會形成阻塞,需要獨立線程配合,而這些線程在大多數(shù)時候都是沒有進行運算的。

非阻塞IO:采用輪詢方式,不會形成線程的阻塞。

同步IO:同步IO保證一個IO操作結(jié)束之后才會返回,因此同步IO效率會低一些,但是對應(yīng)用來說,編程方式會簡單。

異步IO:由于異步IO請求只是寫入了緩存,從緩存到硬盤是否成功不可知,因此異步IO相當(dāng)于把一個IO拆成了兩部分,一是發(fā)起請求,二是獲取處理結(jié)果。因此,對應(yīng)用來說增加了復(fù)雜性。但是異步IO的性能是所有很好的,而且異步的思想貫穿了IT系統(tǒng)放放面面。

最重要的三個指標(biāo)

IOPS

IOPS,即每秒鐘處理的IO請求數(shù)量。IOPS是隨機訪問類型業(yè)務(wù)(OLTP類)很重要的一個參考指標(biāo)。

一塊物理硬盤能提供多少IOPS?

從磁盤上進行數(shù)據(jù)讀取時,比較重要的幾個時間是:尋址時間(找到數(shù)據(jù)塊的起始位置),旋轉(zhuǎn)時間(等待磁盤旋轉(zhuǎn)到數(shù)據(jù)塊的起始位置),傳輸時間(讀取數(shù)據(jù)的時間和返回的時間)。其中尋址時間是固定的(磁頭定位到數(shù)據(jù)的存儲的扇區(qū)即可),旋轉(zhuǎn)時間受磁盤轉(zhuǎn)速的影響,傳輸時間受數(shù)據(jù)量大小的影響和接口類型的影響(不用硬盤接口速度不同),但是在隨機訪問類業(yè)務(wù)中,他的時間也很少。因此,在硬盤接口相同的情況下,IOPS主要受限于尋址時間和傳輸時間。以一個15K的硬盤為例,尋址時間固定為4ms,傳輸時間為60s/15000*1/2=2ms,忽略傳輸時間。1000ms/6ms=167個IOPS。

OS的一次IO請求對應(yīng)物理硬盤一個IO嗎?

在沒有文件系統(tǒng)、沒有VM(卷管理)、沒有RAID、沒有存儲設(shè)備的情況下,這個答案還是成立的。但是當(dāng)這么多中間層加進去以后,這個答案就不是這樣了。物理硬盤提供的IO是有限的,也是整個IO系統(tǒng)存在瓶頸的最大根源。所以,如果一塊硬盤不能提供,那么多塊在一起并行處理,這不就行了嗎?確實是這樣的。可以看到,越是高端的存儲設(shè)備的cache越大,硬盤越多,一方面通過cache異步處理IO,另一方面通過盤數(shù)增加,盡可能把一個OS的IO分布到不同硬盤上,從而提高性能。文件系統(tǒng)則是在cache上會影響,而VM則可能是一個IO分布到多個不同設(shè)備上(Striping)。

所以,一個OS的IO在經(jīng)過多個中間層以后,發(fā)生在物理磁盤上的IO是不確定的。可能是一對一個,也可能一個對應(yīng)多個。

IOPS能算出來嗎?

對單塊磁盤的IOPS的計算沒有沒問題,但是當(dāng)系統(tǒng)后面接的是一個存儲系統(tǒng)時、考慮不同讀寫比例,IOPS則很難計算,而需要根據(jù)實際情況進行測試。主要的因素有:存儲系統(tǒng)本身有自己的緩存。緩存大小直接影響IOPS,理論上說,緩存越大能cache的東西越多,在cache命中率保持的情況下,IOPS會越高。

RAID級別。不同的RAID級別影響了物理IO的效率。

讀寫混合比例。對讀操作,一般只要cache能足夠大,可以大大減少物理IO,而都在cache中進行;對寫操作,不論cache有多大,最終的寫還是會落到磁盤上。因此,100%寫的IOPS要越獄小于100%的讀的IOPS。同時,100%寫的IOPS大致等同于存儲設(shè)備能提供的物理的IOPS。

一次IO請求數(shù)據(jù)量的多少。一次讀寫1KB和一次讀寫1MB,顯而易見,結(jié)果是完全不同的。

當(dāng)時上面N多因素混合在一起以后,IOPS的值就變得撲朔迷離了。所以,一般需要通過實際應(yīng)用的測試才能獲得。

IO Response Time

即IO的響應(yīng)時間。IO響應(yīng)時間是從操作系統(tǒng)內(nèi)核發(fā)出一個IO請求到接收到IO響應(yīng)的時間。因此,IO Response time除了包括磁盤獲取數(shù)據(jù)的時間,還包括了操作系統(tǒng)以及在存儲系統(tǒng)內(nèi)部IO等待的時間。一般看,隨IOPS增加,因為IO出現(xiàn)等待,IO響應(yīng)時間也會隨之增加。對一個OLTP系統(tǒng),10ms以內(nèi)的響應(yīng)時間,是比較合理的。下面是一些IO性能示例:

一個8K的IO會比一個64K的IO速度快,因為數(shù)據(jù)讀取的少些。

一個64K的IO會比8個8K的IO速度快,因為前者只請求了一個IO而后者是8個IO。

串行IO會比隨機IO快,因為串行IO相對隨機IO說,即便沒有Cache,串行IO在磁盤處理上也會少些操作。

需要注意,IOPS與IO Response Time有著密切的聯(lián)系。一般情況下,IOPS增加,說明IO請求多了,IO Response Time會相應(yīng)增加。但是會出現(xiàn)IOPS一直增加,但是IO Response Time變得非常慢,超過20ms甚至幾十ms,這時候的IOPS雖然還在提高,但是意義已經(jīng)不大,因為整個IO系統(tǒng)的服務(wù)時間已經(jīng)不可取。

Throughput

為吞吐量。這個指標(biāo)衡量標(biāo)識了最大的數(shù)據(jù)傳輸量。如上說明,這個值在順序訪問或者大數(shù)據(jù)量訪問的情況下會比較重要。尤其在大數(shù)據(jù)量寫的時候。

吞吐量不像IOPS影響因素很多,吞吐量一般受限于一些比較固定的因素,如:網(wǎng)絡(luò)帶寬、IO傳輸接口的帶寬、硬盤接口帶寬等。一般他的值就等于上面幾個地方中某一個的瓶頸。

一些概念

IO Chunk Size

即單個IO操作請求數(shù)據(jù)的大小。一次IO操作是指從發(fā)出IO請求到返回數(shù)據(jù)的過程。IO Chunk Size與應(yīng)用或業(yè)務(wù)邏輯有著很密切的關(guān)系。比如像Oracle一類數(shù)據(jù)庫,由于其block size一般為8K,讀取、寫入時都此為單位,因此,8K為這個系統(tǒng)主要的IO Chunk Size。IO Chunk Size小,考驗的是IO系統(tǒng)的IOPS能力;IO Chunk Size大,考驗的時候IO系統(tǒng)的IO吞吐量。

Queue Deep

熟悉數(shù)據(jù)庫的人都知道,SQL是可以批量提交的,這樣可以大大提高操作效率。IO請求也是一樣,IO請求可以積累一定數(shù)據(jù),然后一次提交到存儲系統(tǒng),這樣一些相鄰的數(shù)據(jù)塊操作可以進行合并,減少物理IO數(shù)。而且Queue Deep如其名,就是設(shè)置一起提交的IO請求數(shù)量的。一般Queue Deep在IO驅(qū)動層面上進行配置。

Queue Deep與IOPS有著密切關(guān)系。Queue Deep主要考慮批量提交IO請求,自然只有IOPS是瓶頸的時候才會有意義,如果IO都是大IO,磁盤已經(jīng)成瓶頸,Queue Deep意義也就不大了。一般來說,IOPS的峰值會隨著Queue Deep的增加而增加(不會非常顯著),Queue Deep一般小于256。

隨機訪問(隨機IO)、順序訪問(順序IO)

隨機訪問的特點是每次IO請求的數(shù)據(jù)在磁盤上的位置跨度很大(如:分布在不同的扇區(qū)),因此N個非常小的IO請求(如:1K),必須以N次IO請求才能獲取到相應(yīng)的數(shù)據(jù)。

順序訪問的特點跟隨機訪問相反,它請求的數(shù)據(jù)在磁盤的位置是連續(xù)的。當(dāng)系統(tǒng)發(fā)起N個非常小的IO請求(如:1K)時,因為一次IO是有代價的,系統(tǒng)會取完整的一塊數(shù)據(jù)(如4K、8K),所以當(dāng)?shù)谝淮蜪O完成時,后續(xù)IO請求的數(shù)據(jù)可能已經(jīng)有了。這樣可以減少IO請求的次數(shù)。這也就是所謂的預(yù)取。

隨機訪問和順序訪問同樣是有應(yīng)用決定的。如數(shù)據(jù)庫、小文件的存儲的業(yè)務(wù),大多是隨機IO。而視頻類業(yè)務(wù)、大文件存取,則大多為順序IO。

選取合理的觀察指標(biāo):

以上各指標(biāo)中,不用的應(yīng)用場景需要觀察不同的指標(biāo),因為應(yīng)用場景不同,有些指標(biāo)甚至是沒有意義的。

隨機訪問和IOPS: 在隨機訪問場景下,IOPS往往會到達瓶頸,而這個時候去觀察Throughput,則往往遠低于理論值。

順序訪問和Throughput:在順序訪問的場景下,Throughput往往會達到瓶頸(磁盤限制或者帶寬),而這時候去觀察IOPS,往往很小。

文件系統(tǒng)各有不同,其最主要的目標(biāo)就是解決磁盤空間的管理問題,同時提供高效性、安全性。如果在分布式環(huán)境下,則有相應(yīng)的分布式文件系統(tǒng)。Linux上有ext系列,Windows上有Fat和NTFS。如圖為一個linux下文件系統(tǒng)的結(jié)構(gòu)。

其中VFS(Virtual File System)是Linux Kernel文件系統(tǒng)的一個模塊,簡單看就是一個Adapter,對下屏蔽了下層不同文件系統(tǒng)之間的差異,對上為操作系統(tǒng)提供了統(tǒng)一的接口.

中間部分為各個不同文件系統(tǒng)的實現(xiàn)。

再往下是Buffer Cache和Driver。

文件系統(tǒng)的結(jié)構(gòu)

各種文件系統(tǒng)實現(xiàn)方式不同,因此性能、管理性、可靠性等也有所不同。下面為Linux Ext2(Ext3)的一個大致文件系統(tǒng)的結(jié)構(gòu)。

Boot Block存放了引導(dǎo)程序。

Super Block存放了整個文件系統(tǒng)的一些全局參數(shù),如:卷名、狀態(tài)、塊大小、塊總數(shù)。他在文件系統(tǒng)被mount時讀入內(nèi)存,在umount時被釋放。

上圖描述了Ext2文件系統(tǒng)中很重要的三個數(shù)據(jù)結(jié)構(gòu)和他們之間的關(guān)系。

Inode:Inode是文件系統(tǒng)中最重要的一個結(jié)構(gòu)。如圖,他里面記錄了文件相關(guān)的所有信息,也就是我們常說的meta信息。包括:文件類型、權(quán)限、所有者、大小、atime等。Inode里面也保存了指向?qū)嶋H文件內(nèi)容信息的索引。其中這種索引分幾類:

直接索引:直接指向?qū)嶋H內(nèi)容信息,公有12個。因此如果,一個文件系統(tǒng)block size為1k,那么直接索引到的內(nèi)容最大為12k

間接索引

兩級間接索引

三級間接索引

如圖:

Directory代表了文件系統(tǒng)中的目錄,包括了當(dāng)前目錄中的所有Inode信息。其中每行只有兩個信息,一個是文件名,一個是其對應(yīng)的Inode。需要注意,Directory不是文件系統(tǒng)中的一個特殊結(jié)構(gòu),他實際上也是一個文件,有自己的Inode,而它的文件內(nèi)容信息里面,包括了上面看到的那些文件名和Inode的對應(yīng)關(guān)系。如下圖:

Data Block即存放文件的時間內(nèi)容塊。Data Block大小必須為磁盤的數(shù)據(jù)塊大小的整數(shù)倍,磁盤一般為512字節(jié),因此Data Block一般為1K、2K、4K。

Buffer Cache

Buffer & Cache

雖然Buffer和Cache放在一起了,但是在實際過程中Buffer和Cache是完全不同了。Buffer一般對于寫而言,也叫“緩沖區(qū)”,緩沖使得多個小的數(shù)據(jù)塊能夠合并成一個大數(shù)據(jù)塊,一次性寫入;Cache一般對于讀而且,也叫“緩存”,避免頻繁的磁盤讀取。如圖為Linux的free命令,其中也是把Buffer和Cache進行區(qū)分,這兩部分都算在了free的內(nèi)存。

Buffer Cache

Buffer Cache中的緩存,本質(zhì)與所有的緩存都是一樣,數(shù)據(jù)結(jié)構(gòu)也是類似,下圖為VxSF的一個Buffer Cache結(jié)構(gòu)。

這個數(shù)據(jù)結(jié)構(gòu)與memcached和Oracle SGA的buffer何等相似。左側(cè)的hash chain完成數(shù)據(jù)塊的尋址,上方的的鏈表記錄了數(shù)據(jù)塊的狀態(tài)。

Buffer vs Direct I/O

文件系統(tǒng)的Buffer和Cache在某些情況下確實提高了速度,但是反之也會帶來一些負(fù)面影響。一方面文件系統(tǒng)增加了一個中間層,另外一方面,當(dāng)Cache使用不當(dāng)、配置不好或者有些業(yè)務(wù)無法獲取cache帶來的好處時,cache則成為了一種負(fù)擔(dān)。

適合Cache的業(yè)務(wù):串行的大數(shù)據(jù)量業(yè)務(wù),如:NFS、FTP。

不適合Cache的業(yè)務(wù):隨機IO的業(yè)務(wù)。如:Oracle,小文件讀取。

塊設(shè)備、字符設(shè)備、裸設(shè)備

這幾個東西看得很暈,找了一些資料也沒有找到很準(zhǔn)確的說明。

從硬件設(shè)備的角度來看,

塊設(shè)備就是以塊(比如磁盤扇區(qū))為單位收發(fā)數(shù)據(jù)的設(shè)備,它們支持緩沖和隨機訪問(不必順序讀取塊,而是可以在任何時候訪問任何塊)等特性。塊設(shè)備包括硬盤、CD-ROM 和 RAM 盤。

 字符設(shè)備則沒有可以進行物理尋址的媒體。字符設(shè)備包括串行端口和磁帶設(shè)備,只能逐字符地讀取這些設(shè)備中的數(shù)據(jù)。

從操作系統(tǒng)的角度看(對應(yīng)操作系統(tǒng)的設(shè)備文件類型的b和c),

# ls -l /dev/*lv

brw------- 1 root system 22, 2 May 15 2007 lv

crw------- 2 root system 22, 2 May 15 2007 rlv

塊設(shè)備能支持緩沖和隨機讀寫。即讀取和寫入時,可以是任意長度的數(shù)據(jù)。最小為1byte。對塊設(shè)備,你可以成功執(zhí)行下列命令:dd if=/dev/zero of=/dev/vg01/lv bs=1 count=1。即:在設(shè)備中寫入一個字節(jié)。硬件設(shè)備是不支持這樣的操作的(最小是512),這個時候,操作系統(tǒng)首先完成一個讀取(如1K,操作系統(tǒng)最小的讀寫單位,為硬件設(shè)備支持的數(shù)據(jù)塊的整數(shù)倍),再更改這1k上的數(shù)據(jù),然后寫入設(shè)備。

字符設(shè)備只能支持固定長度數(shù)據(jù)的讀取和寫入,這里的長度就是操作系統(tǒng)能支持的最小讀寫單位,如1K,所以塊設(shè)備的緩沖功能,這里就沒有了,需要使用者自己來完成。由于讀寫時不經(jīng)過任何緩沖區(qū),此時執(zhí)行dd if=/dev/zero of=/dev/vg01/lv bs=1 count=1,這個命令將會出錯,因為這里的bs(block size)太小,系統(tǒng)無法支持。如果執(zhí)行dd if=/dev/zero of=/dev/vg01/lv bs=1024 count=1,則可以成功。這里的block size有OS內(nèi)核參數(shù)決定。

如上,相比之下,字符設(shè)備在使用更為直接,而塊設(shè)備更為靈活。文件系統(tǒng)一般建立在塊設(shè)備上,而為了追求高性能,使用字符設(shè)備則是更好的選擇,如Oracle的裸設(shè)備使用。

裸設(shè)備

裸設(shè)備也叫裸分區(qū),就是沒有經(jīng)過格式化、沒有文件系統(tǒng)的一塊存儲空間。可以寫入二進制內(nèi)容,但是內(nèi)容的格式、其中信息的組織等問題,需要使用它的人來完成。文件系統(tǒng)就是建立在裸設(shè)備之上,并完成裸設(shè)備空間的管理。

CIO

CIO即并行IO(Concurrent IO)。在文件系統(tǒng)中,當(dāng)某個文件被多個進程同時訪問時,就出現(xiàn)了Inode競爭的問題。一般地,讀操作使用的共享鎖,即:多個讀操作可以并發(fā)進行,而寫操作使用排他鎖。當(dāng)鎖被寫進程占用時,其他所有操作均阻塞。因此,當(dāng)這樣的情況出現(xiàn)時,整個應(yīng)用的性能將會大大降低。如圖:

CIO就是為了解決這個問題。而且CIO帶來的性能提高直逼裸設(shè)備。當(dāng)文件系統(tǒng)支持CIO并開啟CIO時,CIO默認(rèn)會開啟文件系統(tǒng)的Direct IO,即:讓IO操作不經(jīng)過Buffer直接進行底層數(shù)據(jù)操作。由于不經(jīng)過數(shù)據(jù)Buffer,在文件系統(tǒng)層面就無需考慮數(shù)據(jù)一致性的問題,因此,讀寫操作可以并行執(zhí)行。

在最終進行數(shù)據(jù)存儲的時候,所有操作都會串行執(zhí)行,CIO把這個事情交個了底層的driver。

LVM(邏輯卷管理),位于操作系統(tǒng)和硬盤之間,LVM屏蔽了底層硬盤帶來的復(fù)雜性。最簡單的,LVM使得N塊硬盤在OS看來成為一塊硬盤,大大提高了系統(tǒng)可用性。

LVM的引入,使得文件系統(tǒng)和底層磁盤之間的關(guān)系變得更為靈活,而且更方便關(guān)系。LVM有以下特點:

統(tǒng)一進行磁盤管理。按需分配空間,提供動態(tài)擴展。

條帶化(Striped)

鏡像(mirrored)

快照(snapshot)

LVM可以做動態(tài)磁盤擴展,想想看,當(dāng)系統(tǒng)管理員發(fā)現(xiàn)應(yīng)用空間不足時,敲兩個命令就完成空間擴展,估計做夢都要笑醒:)

LVM的磁盤管理方式


LVM中有幾個很重要的概念:

 PV(physical volume):物理卷。在LVM中,一個PV對應(yīng)就是操作系統(tǒng)能看見的一塊物理磁盤,或者由存儲設(shè)備分配操作系統(tǒng)的lun。一塊磁盤唯一對應(yīng)一個PV,PV創(chuàng)建以后,說明這塊空間可以納入到LVM的管理。創(chuàng)建PV時,可以指定PV大小,即可以把整個磁盤的部分納入PV,而不是全部磁盤。這點在表面上看沒有什么意義,但是如果主機后面接的是存儲設(shè)備的話就很有意義了,因為存儲設(shè)備分配的lun是可以動態(tài)擴展的,只有當(dāng)PV可以動態(tài)擴展,這種擴展性才能向上延伸。

VG(volume group):卷組。一個VG是多個PV的集合,簡單說就是一個VG就是一個磁盤資源池。VG對上屏蔽了多個物理磁盤,上層是使用時只需考慮空間大小的問題,而VG解決的空間的如何在多個PV上連續(xù)的問題。

LV(logical volume):邏輯卷。LV是最終可供使用卷,LV在VG中創(chuàng)建,有了VG,LV創(chuàng)建是只需考慮空間大小等問題,對LV而言,他看到的是一直聯(lián)系的地址空間,不用考慮多塊硬盤的問題。

有了上面三個,LVM把單個的磁盤抽象成了一組連續(xù)的、可隨意分配的地址空間。除上面三個概念外,還有一些其他概念:

PE(physical extend): 物理擴展塊。LVM在創(chuàng)建PV,不會按字節(jié)方式去進行空間管理。而是按PE為單位。PE為空間管理的最小單位。即:如果一個1024M的物理盤,LVM的PE為4M,那么LVM管理空間時,會按照256個PE去管理。分配時,也是按照分配了多少PE、剩余多少PE考慮。

 LE(logical extend):邏輯擴展塊。類似PV,LE是創(chuàng)建LV考慮,當(dāng)LV需要動態(tài)擴展時,每次最小的擴展單位。

對于上面幾個概念,無需刻意去記住,當(dāng)你需要做這么一個東西時,這些概念是自然而然的。PV把物理硬盤轉(zhuǎn)換成LVM中對于的邏輯(解決如何管理物理硬盤的問題),VG是PV的集合(解決如何組合PV的問題),LV是VG上空間的再劃分(解決如何給OS使用空間的問題);而PE、LE則是空間分配時的單位。

如圖,為兩塊18G的磁盤組成了一個36G的VG。此VG上劃分了3個LV。其PE和LE都為4M。其中LV1只用到了sda的空間,而LV2和LV3使用到了兩塊磁盤。

串聯(lián)、條帶化、鏡像


串聯(lián)(Concatenation): 按順序使用磁盤,一個磁盤使用完以后使用后續(xù)的磁盤。

條帶化(Striping): 交替使用不同磁盤的空間。條帶化使得IO操作可以并行,因此是提高IO性能的關(guān)鍵。另外,Striping也是RAID的基礎(chǔ)。如:VG有2個PV,LV做了條帶數(shù)量為2的條帶化,條帶大小為8K,那么當(dāng)OS發(fā)起一個16K的寫操作時,那么剛好這2個PV對應(yīng)的磁盤可以對整個寫入操作進行并行寫入。

Striping帶來好處有:

并發(fā)進行數(shù)據(jù)處理。讀寫操作可以同時發(fā)送在多個磁盤上,大大提高了性能。

Striping帶來的問題:

數(shù)據(jù)完整性的風(fēng)險。Striping導(dǎo)致一份完整的數(shù)據(jù)被分布到多個磁盤上,任何一個磁盤上的數(shù)據(jù)都是不完整,也無法進行還原。一個條帶的損壞會導(dǎo)致所有數(shù)據(jù)的失效。因此這個問題只能通過存儲設(shè)備來彌補。

條帶大小的設(shè)定很大程度決定了Striping帶來的好處。如果條帶設(shè)置過大,一個IO操作最終還是發(fā)生在一個磁盤上,無法帶來并行的好處;當(dāng)條帶設(shè)置國小,本來一次并行IO可以完成的事情會最終導(dǎo)致了多次并行IO。

鏡像(mirror)

如同名字。LVM提供LV鏡像的功能。即當(dāng)一個LV進行IO操作時,相同的操作發(fā)生在另外一個LV上。這樣的功能為數(shù)據(jù)的安全性提供了支持。如圖,一份數(shù)據(jù)被同時寫入兩個不同的PV。

使用mirror時,可以獲得一些好處:

讀取操作可以從兩個磁盤上獲取,因此讀效率會更好些。

數(shù)據(jù)完整復(fù)雜了一份,安全性更高。

但是,伴隨也存在一些問題:

所有的寫操作都會同時發(fā)送在兩個磁盤上,因此實際發(fā)送的IO是請求IO的2倍

由于寫操作在兩個磁盤上發(fā)生,因此一些完整的寫操作需要兩邊都完成了才算完成,帶來了額外負(fù)擔(dān)。

在處理串行IO時,有些IO走一個磁盤,另外一些IO走另外的磁盤,一個完整的IO請求會被打亂,LVM需要進行IO數(shù)據(jù)的合并,才能提供給上層。像一些如預(yù)讀的功能,由于有了多個數(shù)據(jù)獲取同道,也會存在額外的負(fù)擔(dān)。

快照(Snapshot)

快照如其名,他保存了某一時間點磁盤的狀態(tài),而后續(xù)數(shù)據(jù)的變化不會影響快照,因此,快照是一種備份很好手段。

但是快照由于保存了某一時間點數(shù)據(jù)的狀態(tài),因此在數(shù)據(jù)變化時,這部分?jǐn)?shù)據(jù)需要寫到其他地方,隨著而來回帶來一些問題。關(guān)于這塊,后續(xù)存儲也涉及到類似的問題,后面再說。

這部分值得一說的是多路徑問題。IO部分的高可用性在整個應(yīng)用系統(tǒng)中可以說是最關(guān)鍵的,應(yīng)用層可以壞掉一兩臺機器沒有問題,但是如果IO不通了,整個系統(tǒng)都沒法使用。如圖為一個典型的SAN網(wǎng)絡(luò),從主機到磁盤,所有路徑上都提供了冗余,以備發(fā)生通路中斷的情況。

OS配置了2塊光纖卡,分別連不同交換機

SAN網(wǎng)絡(luò)配置了2個交換機

存儲配置了2個Controller,分別連不同交換機

如上圖結(jié)構(gòu),由于存在兩條路徑,對于存儲劃分的一個空間,在OS端會看到兩個(兩塊磁盤或者兩個lun)。可怕的是,OS并不知道這兩個東西對應(yīng)的其實是一塊空間,如果路徑再多,則OS會看到更多。還是那句經(jīng)典的話,“計算機中碰到的問題,往往可以通過增加的一個中間層來解決”,于是有了多路徑軟件。他提供了以下特性:

把多個映射到同一塊空間的路徑合并為一個提供給主機

提供fail over的支持。當(dāng)一條通路出現(xiàn)問題時,及時切換到其他通路

提供load balance的支持。即同時使用多條路徑進行數(shù)據(jù)傳送,發(fā)揮多路徑的資源優(yōu)勢,提高系統(tǒng)整體帶寬。

Fail over的能力一般OS也可能支持,而load balance則需要與存儲配合,所以需要根據(jù)存儲不同配置安裝不同的多通路軟件。

多路徑除了解決了高可用性,同時,多條路徑也可以同時工作,提高系統(tǒng)性能。

Raid很基礎(chǔ),但是在存儲系統(tǒng)中占據(jù)非常重要的地位,所有涉及存儲的書籍都會提到RAID。RAID通過磁盤冗余的方式提高了可用性和可高性,一方面增加了數(shù)據(jù)讀寫速度,另一方面增加了數(shù)據(jù)的安全性。

RAID 0

對數(shù)據(jù)進行條帶化。使用兩個磁盤交替存放連續(xù)數(shù)據(jù)。因此可以實現(xiàn)并發(fā)讀寫,但帶來的問題是如果一個磁盤損壞,另外一個磁盤的數(shù)據(jù)將失去意義。RAID 0最少需要2塊盤。

RAID 1

對數(shù)據(jù)進行鏡像。數(shù)據(jù)寫入時,相同的數(shù)據(jù)同時寫入兩塊盤。因此兩個盤的數(shù)據(jù)完全一致,如果一塊盤損壞,另外一塊盤可以頂替使用,RAID 1帶來了很好的可靠性。同時讀的時候,數(shù)據(jù)可以從兩個盤上進行讀取。但是RAID 1帶來的問題就是空間的浪費。兩塊盤只提供了一塊盤的空間。RAID 1最少需要2塊盤。

使用多余的一塊校驗盤。數(shù)據(jù)寫入時,RAID 5需要對數(shù)據(jù)進行計算,以便得出校驗位。因此,在寫性能上RAID 5會有損失。但是RAID 5兼顧了性能和安全性。當(dāng)有一塊磁盤損壞時,RAID 5可以通過其他盤上的數(shù)據(jù)對其進行恢復(fù)。

如圖可以看出,右下角為p的就是校驗數(shù)據(jù)。可以看到RAID 5的校驗數(shù)據(jù)依次分布在不同的盤上,這樣可以避免出現(xiàn)熱點盤(因為所有寫操作和更新操作都需要修改校驗信息,如果校驗都在一個盤做,會導(dǎo)致這個盤成為寫瓶頸,從而拖累整體性能,RAID 4的問題)。RAID 5最少需要3塊盤。

RAID 6

RAID 6與RAID 5類似。但是提供了兩塊校驗盤(下圖右下角為p和q的)。安全性更高,寫性能更差了。RAID 0最少需要4塊盤。

RAID 10(Striped mirror)

RAID 10是RAID 0 和RAID 1的結(jié)合,同時兼顧了二者的特點,提供了高性能,但是同時空間使用也是最大。RAID 10最少需要4塊盤。

需要注意,使用RAID 10來稱呼其實很容易產(chǎn)生混淆,因為RAID 0+1和RAID 10基本上只是兩個數(shù)字交換了一下位置,但是對RAID來說就是兩個不同的組成。因此,更容易理解的方式是“Striped mirrors”,即:條帶化后的鏡像——RAID 10;或者“mirrored stripes”,即:鏡像后的條帶化。比較RAID 10和RAID 0+1,雖然最終都是用到了4塊盤,但是在數(shù)據(jù)組織上有所不同,從而帶來問題。RAID 10在可用性上是要高于RAID 0+1的:

RAID 0+1 任何一塊盤損壞,將失去冗余。如圖4塊盤中,右側(cè)一組損壞一塊盤,左側(cè)一組損壞一塊盤,整個盤陣將無法使用。而RAID 10左右各損壞一塊盤,盤陣仍然可以工作。

RAID 0+1 損壞后的恢復(fù)過程會更慢。因為先經(jīng)過的mirror,所以左右兩組中保存的都是完整的數(shù)據(jù),數(shù)據(jù)恢復(fù)時,需要完整恢復(fù)所以數(shù)據(jù)。而RAID 10因為先條帶化,因此損壞數(shù)據(jù)以后,恢復(fù)的只是本條帶的數(shù)據(jù)。如圖4塊盤,數(shù)據(jù)少了一半。

RAID 50

RAID 50 同RAID 10,先做條帶化以后,在做RAID 5。兼顧性能,同時又保證空間的利用率。RAID 50最少需要6塊盤。

總結(jié):

RAID與LVM中的條帶化原理上類似,只是實現(xiàn)層面不同。在存儲上實現(xiàn)的RAID一般有專門的芯片來完成,因此速度上遠比LVM塊。也稱硬RAID。

如上介紹,RAID的使用是有風(fēng)險的,如RAID 0,一塊盤損壞會導(dǎo)致所有數(shù)據(jù)丟失。因此,在實際使用中,高性能環(huán)境會使用RAID 10,兼顧性能和安全;一般情況下使用RAID 5(RAID 50),兼顧空間利用率和性能;

DAS、SAN和NAS

DAS:有PATA、SATA、SAS等,主要是磁盤數(shù)據(jù)傳輸協(xié)議。

 單臺主機。在這種情況下,存儲作為主機的一個或多個磁盤存在,這樣局限性也是很明顯的。由于受限于主機空間,一個主機只能裝一塊到幾塊硬盤,而硬盤空間時受限的,當(dāng)磁盤滿了以后,你不得不為主機更換更大空間的硬盤。

 獨立存儲空間。為了解決空間的問題,于是考慮把磁盤獨立出來,于是有了DAS(Direct Attached Storage),即:直連存儲。DAS就是一組磁盤的集合體,數(shù)據(jù)讀取和寫入等也都是由主機來控制。但是,隨之而來,DAS又面臨了一個他無法解決的問題——存儲空間的共享。接某個主機的JBOD(Just a Bunch Of Disks,磁盤組),只能這個主機使用,其他主機無法用。因此,如果DAS解決空間了,那么他無法解決的就是如果讓空間能夠在多個機器共享。因為DAS可以理解為與磁盤交互,DAS處理問題的層面相對更低。使用協(xié)議都是跟磁盤交互的協(xié)議

獨立的存儲網(wǎng)絡(luò)。為了解決共享的問題,借鑒以太網(wǎng)的思想,于是有了SAN(Storage Area Network),即:存儲網(wǎng)絡(luò)。對于SAN網(wǎng)絡(luò),你能看到兩個非常特點,一個就是光纖網(wǎng)絡(luò),另一個是光纖交換機。SAN網(wǎng)絡(luò)由于不會之間跟磁盤交互,他考慮的更多是數(shù)據(jù)存取的問題,因此使用的協(xié)議相對DAS層面更高一些。光纖網(wǎng)絡(luò):對于存儲來說,與以太網(wǎng)很大的一個不同就是他對帶寬的要求非常高,因此SAN網(wǎng)絡(luò)下,光纖成為了其連接的基礎(chǔ)。而其上的光纖協(xié)議相比以太網(wǎng)協(xié)議而言,也被設(shè)計的更為簡潔,性能也更高。光纖交換機:這個類似以太網(wǎng),如果想要做到真正的“網(wǎng)絡(luò)”,交換機是基礎(chǔ)。

網(wǎng)絡(luò)文件系統(tǒng)。存儲空間可以共享,那文件也是可以共享的。NAS(Network attached storage)相對上面兩個,看待問題的層面更高,NAS是在文件系統(tǒng)級別看待問題。因此他面的不再是存儲空間,而是單個的文件。因此,當(dāng)NAS和SAN、DAS放在一起時,很容易引起混淆。NAS從文件的層面考慮共享,因此NAS相關(guān)協(xié)議都是文件控制協(xié)議。NAS解決的是文件共享的問題;SAN(DAS)解決的是存儲空間的問題。NAS要處理的對象是文件;SAN(DAS)要處理的是磁盤。為NAS服務(wù)的主機必須是一個完整的主機(有OS、有文件系統(tǒng),而存儲則不一定有,因為可以他后面又接了一個SAN網(wǎng)絡(luò)),他考慮的是如何在各個主機直接高效的共享文件;為SAN提供服務(wù)的是存儲設(shè)備(可以是個完整的主機,也可以是部分),它考慮的是數(shù)據(jù)怎么分布到不同磁盤。NAS使用的協(xié)議是控制文件的(即:對文件的讀寫等);SAN使用的協(xié)議是控制存儲空間的(即:把多長的一串二進制寫到某個地址)

如圖,對NAS、SAN、DAS的組成協(xié)議進行了劃分,從這里也能很清晰的看出他們之間的差別。

NAS:涉及SMB協(xié)議、NFS協(xié)議,都是網(wǎng)絡(luò)文件系統(tǒng)的協(xié)議。

SAN:有FC、iSCSI、AOE,都是網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議。

DAS:有PATA、SATA、SAS等,主要是磁盤數(shù)據(jù)傳輸協(xié)議。

從DAS到SAN,在到NAS,在不同層面對存儲方案進行的補充,也可以看到一種從低級到高級的發(fā)展趨勢。而現(xiàn)在我們常看到一些分布式文件系統(tǒng)(如hadoop等)、數(shù)據(jù)庫的sharding等,從存儲的角度來說,則是在OS層面(應(yīng)用)對數(shù)據(jù)進行存儲。從這也能看到一種技術(shù)發(fā)展的趨勢。

跑在以太網(wǎng)上的SAN

SAN網(wǎng)絡(luò)并不是只能使用光纖和光纖協(xié)議,當(dāng)初之所以使用FC,傳輸效率是一個很大的問題,但是以太網(wǎng)發(fā)展到今天被不斷的完善、加強,帶寬的問題也被不斷的解決。因此,以太網(wǎng)上的SAN或許會成為一個趨勢。

 FCIP

如圖兩個FC的SAN網(wǎng)絡(luò),通過FCIP實現(xiàn)了兩個SAN網(wǎng)絡(luò)數(shù)據(jù)在IP網(wǎng)絡(luò)上的傳輸。這個時候SAN網(wǎng)絡(luò)還是以FC協(xié)議為基礎(chǔ),還是使用光纖。


   iFCP

通過iFCP方式,SAN網(wǎng)絡(luò)由FC的SAN網(wǎng)絡(luò)演變?yōu)镮P SAN網(wǎng)絡(luò),整個SAN網(wǎng)絡(luò)都基于了IP方式。但是主機和存儲直接使用的還是FC協(xié)議。只是在接入SAN網(wǎng)絡(luò)的時候通過iFCP進行了轉(zhuǎn)換

iSCSI

iSCSI是比較主流的IP SAN的提供方式,而且其效率也得到了認(rèn)可。

對于iSCSI,最重要的一點就是SCSI協(xié)議。SCSI(Small Computer Systems Interface)協(xié)議是計算機內(nèi)部的一個通用協(xié)議。是一組標(biāo)準(zhǔn)集,它定義了與大量設(shè)備(主要是與存儲相關(guān)的設(shè)備)通信所需的接口和協(xié)議。如圖,SCSI為block device drivers之下。

從SCIS的分層來看,共分三層:

高層:提供了與OS各種設(shè)備之間的接口,實現(xiàn)把OS如:Linux的VFS請求轉(zhuǎn)換為SCSI請求

中間層:實現(xiàn)高層和底層之間的轉(zhuǎn)換,類似一個協(xié)議網(wǎng)關(guān)。

底層:完成于具體物理設(shè)備之間的交互,實現(xiàn)真正的數(shù)據(jù)處理。

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2022-07-28 11:09:44

Linux優(yōu)化IO

2024-09-23 15:02:40

2020-07-10 07:58:14

Linux

2009-12-25 16:39:24

Linux關(guān)機重啟命令

2011-07-08 14:14:13

Web服務(wù)器

2023-12-26 12:10:13

2013-05-06 15:41:30

Android開發(fā)資源

2013-07-18 17:22:07

Android開發(fā)資源Android開發(fā)學(xué)習(xí)Android開發(fā)

2021-04-15 10:01:18

Sqlite數(shù)據(jù)庫數(shù)據(jù)庫知識

2020-12-07 06:01:37

Css前端content

2025-05-26 00:00:05

2020-10-10 11:02:09

Linux 系統(tǒng) 數(shù)據(jù)

2021-04-12 10:00:47

Sqlite數(shù)據(jù)庫CMD

2010-12-06 09:06:09

2019-01-30 14:14:16

LinuxUNIX操作系統(tǒng)

2023-12-25 14:01:39

2023-12-04 11:51:12

2022-07-27 11:10:27

Kubectl命令運維

2018-12-28 09:11:28

運維監(jiān)控開源

2025-09-30 08:47:18

點贊
收藏

51CTO技術(shù)棧公眾號

在线看国产一区二区| 免费高清在线一区| 精品国产乱码久久久久久蜜臀| av一区二区三区免费观看| 99热这里只有精品99| 影音先锋亚洲一区| 夜夜嗨av一区二区三区免费区| www.亚洲自拍| 成人美女黄网站| 中文字幕欧美一| 国产精品视频在线免费观看| 激情网站在线观看| 国产一区日韩欧美| 一区三区二区视频| 日本天堂在线播放| 主播大秀视频在线观看一区二区| 亚洲精品欧美二区三区中文字幕| 国产精品乱码视频| 国产精品久久综合青草亚洲AV| 一本久道久久综合狠狠爱| 久久精品2019中文字幕| 亚洲天堂成人av| 中文字幕日本一区| 欧美午夜宅男影院在线观看| 日本一道在线观看| 大片免费播放在线视频| 韩国午夜理伦三级不卡影院| 欧美综合在线第二页| 免费毛片在线播放免费| 日韩大片在线观看| 亚洲欧美国产视频| 中文字幕在线视频播放| 国产不卡精品| 欧美日韩一区二区三区在线看| 男人添女人荫蒂免费视频| 香蕉视频国产在线观看| 久久久亚洲精品石原莉奈| 国产成人精品自拍| 国产一区二区三区成人| 日韩电影在线一区二区三区| 8x海外华人永久免费日韩内陆视频| 亚洲一区电影在线观看| 日韩欧美中文| 一本色道久久综合狠狠躁篇怎么玩 | 黄色国产在线观看| 中文字幕一区二区三区四区久久 | 波多野结衣网页| 精品裸体bbb| 色菇凉天天综合网| 欧美日韩在线不卡视频| 91豆花视频在线播放| 一区二区三区 在线观看视频| 一级黄色录像免费看| 视频一区二区三区不卡| 中文在线免费一区三区高中清不卡| 欧美成人dvd在线视频| 五月天激情婷婷| 99久久国产免费看| 精品国产乱码久久久久久郑州公司 | 538视频在线| 亚洲影视在线播放| 日韩小视频网站| 91超碰免费在线| 欧美视频裸体精品| 丁香婷婷激情网| 第四色男人最爱上成人网| 欧美综合在线视频| www.超碰97.com| 成人在线视频国产| 欧美sm美女调教| 手机在线成人av| 婷婷五月色综合香五月| 国产视频亚洲精品| 亚洲女优在线观看| 日韩在线视屏| 欧美插天视频在线播放| 国产午夜激情视频| 媚黑女一区二区| 国产精品视频专区| www.av日韩| 99久久久无码国产精品| 日韩精品一区二区三区丰满| 老司机午夜在线视频| 亚洲黄色在线视频| 又粗又黑又大的吊av| 电影一区电影二区| 欧美一级淫片007| 亚洲高清无码久久| 欧美综合另类| 久久精品国产96久久久香蕉| 国产小视频在线看| 午夜一区不卡| 成人激情在线播放| 四虎在线视频免费观看| 国产精品三级久久久久三级| 亚洲精品少妇一区二区| 欧美成人ⅴideosxxxxx| 3atv一区二区三区| 野花社区视频在线观看| 91综合在线| 91精品国产高清自在线看超| ,亚洲人成毛片在线播放| 成人爽a毛片一区二区免费| 青青影院一区二区三区四区| 性欧美videoshd高清| 色94色欧美sute亚洲线路二| 深夜做爰性大片蜜桃| 亚洲人成网77777色在线播放| 精品国产欧美一区二区五十路| 国产精品7777| 激情欧美一区二区| 欧美精品一区二区三区在线看午夜| 国产原创在线观看| 欧美最新大片在线看| v天堂中文在线| 亚洲有吗中文字幕| 国产精品视频久久久久| 男人天堂网在线视频| 国产精品美女www爽爽爽| www.日本在线播放| 网站一区二区| www.精品av.com| 免费看日批视频| 成人成人成人在线视频| 亚洲一区 在线播放| 欧美一区二区三区婷婷| 亚洲天堂av电影| 日韩精品手机在线| 国产99久久久久| 欧美日韩一级在线| 欧美aaa级| 在线视频一区二区| 无码人妻久久一区二区三区不卡| 成人黄色国产精品网站大全在线免费观看 | 激情综合网俺也去| 亚洲第一论坛sis| 国模精品视频一区二区| www久久久久久| 亚洲欧美日韩一区| 免费网站在线观看黄| 国产欧美一区二区精品久久久| 91精品国产91久久久久福利| 黄色av网站免费在线观看| 一区二区三区美女视频| 中文国产在线观看| 欧美一区在线看| 91av免费看| 中文字幕在线播放网址| 91精品婷婷国产综合久久性色| 中文字幕在线观看二区| 蜜臀av一区二区| 亚洲欧洲免费无码| 欧美激情三区| 久久久精品国产| 国产精品国产三级国产普通话对白| 中文欧美字幕免费| 无限资源日本好片| 天天综合久久| 97netav| av中文字幕电影在线看| 亚洲精品电影久久久| 全部毛片永久免费看| 91色.com| 亚洲欧美激情网| 欧美成人激情| 亚洲影院色在线观看免费| 午夜羞羞小视频在线观看| 欧美mv和日韩mv的网站| 日韩毛片在线播放| 久久精品视频一区二区三区| 精品久久久久久久无码| 久久中文视频| 亚洲最大av网| а√在线中文网新版地址在线| 亚洲老板91色精品久久| 在线观看不卡的av| 亚洲激情综合网| 熟女丰满老熟女熟妇| 麻豆精品国产91久久久久久 | 99精品视频网| 日本一区高清不卡| 国产精品一区三区在线观看| 欧美国产在线视频| 人成免费电影一二三区在线观看| 欧美在线制服丝袜| 欧美成人精品欧美一| 91一区二区三区在线观看| 国产野外作爱视频播放| 亚洲欧美综合国产精品一区| 久久66热这里只有精品| 欧美爱爱视频| 国内免费精品永久在线视频| av资源在线观看免费高清| 欧美一区二区久久| 97久久久久久久| 中文字幕综合网| 亚洲熟女乱综合一区二区三区| 日韩高清电影一区| 久久久久久久香蕉| 欧美限制电影| 精品国产中文字幕| 国产精品美女久久久久| 国产69久久精品成人| а√天堂资源地址在线下载| 日韩精品在线免费观看| 国产又黄又猛又爽| 欧美日韩国产中字| avtt天堂在线| 中文字幕av不卡| 国产精品第七页| 国产精品亚洲成人| 午夜在线观看av| 亚洲视频二区| 国产尤物av一区二区三区| 成人精品视频| 久久精品国产一区二区三区日韩 | av不卡高清| 裸体女人亚洲精品一区| 男人天堂综合| 精品国产乱码久久久久久免费| 国产精品久久久国产盗摄| 日本韩国欧美一区二区三区| 久久精品视频国产| 亚洲精品视频一区| 美女福利视频网| 国产日韩精品一区二区三区 | 在线观看欧美理论a影院| 91中文字精品一区二区| 日韩欧美激情| 国产精品手机播放| 欧美日韩在线精品一区二区三区激情综合 | 天堂精品中文字幕在线| 成熟丰满熟妇高潮xxxxx视频| 欧美精品三级| 美女av免费观看| 亚洲大全视频| 色中文字幕在线观看| 日韩精品免费一区二区三区| 日本欧美精品久久久| 一区三区在线欧| 免费在线国产精品| 亚洲宅男一区| 欧美日韩高清在线一区| 亚洲小说图片| 日本一区不卡| 成人羞羞网站入口| 亚洲欧美日韩在线综合| 日产精品一区二区| 一区二区不卡在线| 99精品在线观看| 伊人av成人| 中文不卡在线| 久久99久久久久久| 亚洲精品资源| 国产精品免费入口| 日日摸夜夜添夜夜添精品视频| 色婷婷综合久久久久中文字幕| 老司机午夜精品视频| 黄色aaa级片| 久久精品国产精品亚洲红杏| 三级一区二区三区| 国产91在线|亚洲| 国产精品入口麻豆| 久久这里只有精品首页| 免费看黄色三级| 中文字幕在线不卡| 免费无遮挡无码永久在线观看视频| 夜夜揉揉日日人人青青一国产精品| 国产一级视频在线观看| 欧美日韩精品二区| 一区精品在线观看| 欧美va天堂va视频va在线| 亚欧洲精品视频| 一区二区三区日韩在线| 国产在线1区| 欧美亚洲另类激情另类| 国产精品无码久久久久| 亚洲在线视频观看| 色婷婷久久久| 亚洲制服欧美久久| 韩日欧美一区| 成年人在线观看视频免费| 精品一区二区久久| 国产白袜脚足j棉袜在线观看| 久久天堂av综合合色蜜桃网| 精品亚洲乱码一区二区| 亚洲电影激情视频网站| 一级久久久久久| 日韩精品一区在线观看| 精品视频二区| 欧美乱大交xxxxx| 成人勉费视频| 99在线影院| av资源久久| 999在线观看视频| 免费欧美日韩国产三级电影| 中文字幕人妻一区| 国产精品女主播av| 日韩成人av毛片| 欧美老人xxxx18| 日韩精品福利| 九九热视频这里只有精品| 免费观看欧美大片| av噜噜色噜噜久久| 久久精品国产www456c0m| 免费不卡av在线| 狠狠色丁香久久婷婷综合丁香| 少妇特黄一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 久久久久久久久久久久久av| 欧美一区二区三区啪啪| 成人亚洲性情网站www在线观看| 久久久久久国产精品三级玉女聊斋| 成人黄色在线| 欧美日韩亚洲一区二区三区四区| 欧美日韩第一区| 免费av不卡在线| 久久久久综合网| 日韩和一区二区| 欧美成人a视频| 国产网友自拍视频导航网站在线观看| 欧洲成人午夜免费大片| 高清精品视频| 成人手机在线播放| 国产呦萝稀缺另类资源| 一区二区三区久久久久| 婷婷久久综合九色综合绿巨人| 精品人妻伦一二三区久久| 中文字幕久久亚洲| 91精品影视| 日本一区二区在线| 丝袜a∨在线一区二区三区不卡| 国产乱了高清露脸对白| 午夜成人在线视频| 天堂av2024| 亚洲2020天天堂在线观看| 国产精品玖玖玖在线资源| 屁屁影院ccyy国产第一页| 国产精品乡下勾搭老头1| 国产第一页浮力| 88在线观看91蜜桃国自产| 日本在线观看免费| 国产日韩av高清| 91亚洲成人| 亚洲图片 自拍偷拍| 亚洲美女少妇撒尿| 亚洲经典一区二区三区| 色与欲影视天天看综合网| 最新国产精品精品视频| 欧美成人精品免费| 97超碰欧美中文字幕| 久久久久久久极品| 亚洲人精品午夜在线观看| 日本在线精品| 一卡二卡3卡四卡高清精品视频| 久草在线在线精品观看| 免费成人深夜夜行网站| 日韩一级完整毛片| 国产丝袜在线播放| 国产欧美日韩在线播放| 国产精品久久久久久久免费软件 | 亚洲天堂av一区| 精品黑人一区二区三区国语馆| 欧美激情一区二区三区成人| 国产成人在线中文字幕| av免费观看网| 国产欧美综合在线观看第十页| 中文字幕制服诱惑| 欧美日韩第一页| 日韩欧美ww| a在线观看免费视频| 亚洲精品免费电影| 午夜在线观看视频18| 国产成人精品在线| 婷婷久久综合| 国产伦精品一区二区免费| 一本色道久久加勒比精品| 在线国产情侣| 国产精品yjizz| 久久婷婷丁香| 国产成人综合在线视频| 亚洲精品短视频| 日韩成人在线一区| 精品少妇在线视频| 中文字幕精品在线不卡| 性生交生活影碟片| 国产精品91久久久久久| 亚洲精品tv久久久久久久久久| 中文字幕影片免费在线观看| 欧美日韩亚州综合| av中文字幕电影在线看| 亚洲精品国产精品国自产| 懂色av中文字幕一区二区三区 | 殴美一级黄色片| 亚洲国产成人精品久久| jizz免费一区二区三区| 国产美女在线一区| 亚洲欧美综合另类在线卡通| 天堂中文网在线| 91久久嫩草影院一区二区|