新聞中心
Linux系統(tǒng)是世界上使用最廣泛的操作系統(tǒng)之一,它在服務(wù)器系統(tǒng)和超級(jí)計(jì)算機(jī)上表現(xiàn)出色。在Linux系統(tǒng)中,使用IOPS(每秒IO操作數(shù))來(lái)衡量硬盤性能。了解IOPS是評(píng)估系統(tǒng)性能的重要指標(biāo)。在本文中,我們將介紹一些簡(jiǎn)單易懂的Linux系統(tǒng)IOPS查看方法。

1. 使用iostat命令
iostat命令是用于觀察系統(tǒng)的輸入 / 輸出統(tǒng)計(jì)信息的工具。通過(guò)iostat命令,您可以檢查哪些設(shè)備正在運(yùn)行,IOPS數(shù)量以及設(shè)備的讀寫響應(yīng)時(shí)間。可以使用以下命令執(zhí)行iostat:
“`
iostat -xmtc 5 3
“`
這個(gè)命令的意思是每隔5秒執(zhí)行一次iostat,連續(xù)執(zhí)行3次。
結(jié)果將包括以下列:
– 設(shè)備(設(shè)備的名稱)
– rrqm/s(每秒鐘進(jìn)行的讀操作的合并請(qǐng)求數(shù))
– wrqm/s(每秒鐘進(jìn)行的寫操作的合并請(qǐng)求數(shù))
– r/s(每秒鐘的讀請(qǐng)求次數(shù))
– w/s(每秒鐘的寫請(qǐng)求次數(shù))
– rkB/s(每秒鐘的讀取數(shù)據(jù)量,單位KB)
– wkB/s(每秒鐘的寫入數(shù)據(jù)量,單位KB)
– avgrq-sz(每個(gè)請(qǐng)求的平均扇區(qū)數(shù))
– avgqu-sz(平均I / O請(qǐng)求數(shù)量)
– awt(平均處理時(shí)間)
– svctm(平均服務(wù)時(shí)間)
– %util(每秒已使用磁盤時(shí)間的百分比)
2. 使用dstat命令
dstat是一個(gè)系統(tǒng)資源統(tǒng)計(jì)工具,它能輕松監(jiān)視系統(tǒng)的IOPS。它還可以報(bào)告CPU使用率、內(nèi)存和磁盤使用率等更多指標(biāo)。想要使用dstat,請(qǐng)使用以下命令:
“`
dstat -cdD total –disk-util –disk-tps –top-io-adv
“`
此命令將顯示包括卷IOPS、磁盤使用率和IOPS排名在內(nèi)的IOPS信息。
3. 使用ioping命令
ioping命令是一種I / O延遲測(cè)量工具,它可以讓用戶更好地了解系統(tǒng)中磁盤執(zhí)行I / O請(qǐng)求的速度。需要使用以下命令運(yùn)行ioping:
“`
ioping -c 10 /
“`
此命令對(duì)根目錄執(zhí)行10個(gè)IO請(qǐng)求。 這將輸出10個(gè)請(qǐng)求的響應(yīng)時(shí)間、IOPS以及延遲標(biāo)準(zhǔn)差。
4. 使用fio命令
fio是一種強(qiáng)大的IOPS基準(zhǔn)測(cè)試工具,它是一種多線程的IO引擎。使用fio命令需要編寫一個(gè)I / O測(cè)試腳本,并以此方式運(yùn)行fio。
示例腳本:
“`
[global]
ioengine=rw
rw=rw
iodepth=16
numjobs=16
bs=4k
direct=1
runtime=30
[workload]
directory=/tmp/test
size=10G
“`
該腳本將在/tmp/test目錄下為10G文件執(zhí)行IOPS測(cè)試。 請(qǐng)先確保該目錄不存在。
然后在命令行中使用fio命令,如下所示:
“`
fio job.fio
“`
這將運(yùn)行以job.fio命名的I / O測(cè)試腳本并生成測(cè)試結(jié)果。
注意事項(xiàng):
– 確保您已經(jīng)安裝了所需的軟件包。
– 這些命令可以與其他命令一起使用,以了解更多有關(guān)性能和IOPS的信息。
– 記住,許多因素都會(huì)影響IOPS,包括磁盤類型、RD級(jí)別、文件系統(tǒng)大小等。
結(jié)論:
以上就是一些簡(jiǎn)單易懂的Linux系統(tǒng)IOPS查看方法。監(jiān)視和了解系統(tǒng)IOPS是在服務(wù)器和計(jì)算機(jī)系統(tǒng)中維護(hù)性能的關(guān)鍵。使用以上命令和工具,用戶可以在Linux中輕松監(jiān)視IOPS并進(jìn)行接下來(lái)的優(yōu)化。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
面試 linux 文件系統(tǒng)怎樣io到底層
前言:本文主要講解LinuxIO調(diào)度層的三種模式:cfp、deadline和noop,并給出各自的優(yōu)化和適用場(chǎng)景建議。IO調(diào)度發(fā)生在Linux內(nèi)核的IO調(diào)度層。這個(gè)層次是針對(duì)Linux的整體IO層次體系來(lái)說(shuō)的。從read()或者write()系統(tǒng)調(diào)用的角度來(lái)說(shuō),Linux整體IO體系可以分為七層,它們分別是:VFS層:虛擬文件系統(tǒng)層。由于內(nèi)核要跟多種文件系統(tǒng)打交道,而每一種文件系統(tǒng)所實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和相關(guān)方法都可能不盡相同,所以,內(nèi)核抽象了這一層,專門用來(lái)適配各種文件系統(tǒng),并對(duì)外提供統(tǒng)一操作接口。文件系統(tǒng)層:不同的文件系統(tǒng)實(shí)現(xiàn)自己的操作過(guò)程,提供自己特有的特征,具體不多說(shuō)了,大家愿意的話自己去看代碼即可。頁(yè)緩存層:負(fù)責(zé)真對(duì)page的緩存。通用塊層:由于絕大多數(shù)情況的io操作是跟塊設(shè)備打交道,所以Linux在此提供了一個(gè)類似vfs層的塊設(shè)備操作抽象層。下層對(duì)接各種不同屬性的塊設(shè)備,對(duì)上提供統(tǒng)一的BlockIO請(qǐng)求標(biāo)準(zhǔn)。IO調(diào)度層:因?yàn)榻^大多數(shù)的塊設(shè)備都是類似磁盤這樣的設(shè)判型搜備,所以有必要根據(jù)這類設(shè)備的特點(diǎn)以及應(yīng)用的不同特點(diǎn)來(lái)設(shè)置一些不同的調(diào)度算法和隊(duì)列。以便在不同的應(yīng)用環(huán)境下有針對(duì)性的提高磁盤的讀寫效率,這里就是大名鼎鼎的Linux電梯所起作用的地方。針對(duì)機(jī)械硬盤的各種調(diào)度方法就是在這實(shí)現(xiàn)的。塊設(shè)備驅(qū)動(dòng)層:驅(qū)動(dòng)層對(duì)外提供相對(duì)比較高級(jí)的設(shè)備操作接口,往往是C語(yǔ)言的,而下層對(duì)接設(shè)備本身的操作方法和規(guī)范。塊設(shè)備層:這層就是具體的物理設(shè)備了,定義了各種真對(duì)設(shè)備操作方法和規(guī)范。有一個(gè)已經(jīng)整理好的,非常經(jīng)典,一圖勝千言:我們今天要研究的內(nèi)容主要在IO調(diào)度這一層。它要解決的核心問(wèn)題是,如何提高塊設(shè)備IO的整體性能?這一層也主要是針對(duì)機(jī)械硬盤結(jié)構(gòu)而設(shè)計(jì)的。眾所周知,機(jī)械硬盤的存儲(chǔ)介質(zhì)是磁盤,磁頭在盤片上移動(dòng)進(jìn)行磁道尋址,行為類似播放一張唱片。這種結(jié)構(gòu)的特點(diǎn)是,順序訪問(wèn)時(shí)吞吐量較高,但是如果一旦對(duì)盤片有隨機(jī)訪問(wèn),那么大量的時(shí)間都會(huì)浪費(fèi)在磁頭的移動(dòng)上,這時(shí)候就會(huì)導(dǎo)致每次IO的響應(yīng)時(shí)間變長(zhǎng),極大的降低IO的響應(yīng)速度。磁頭在盤片上尋道的操作,類似電梯調(diào)度,實(shí)際上在最開始的時(shí)期,Linux把這個(gè)算法命名為L(zhǎng)inux電梯算法,即:如果在尋道的過(guò)程中,能把順序路過(guò)的相關(guān)磁道的數(shù)據(jù)請(qǐng)求都“順便”處理掉,那么就可以在比較小影響響應(yīng)速度的前提下,提高整體IO的吞吐量。這就是我們?yōu)槭裁匆O(shè)計(jì)IO調(diào)度算法的原因。目前在內(nèi)核中默認(rèn)開啟了三種算法/模式:noop,cfq和deadline。嚴(yán)格算應(yīng)該是兩種:因?yàn)橹环N叫做noop,就是空操作調(diào)度算法,也就是沒(méi)有任何調(diào)度操作,并不對(duì)io請(qǐng)求進(jìn)行排序,僅僅做適當(dāng)?shù)膇o合并的一個(gè)fifo隊(duì)列。目前內(nèi)核中默認(rèn)的調(diào)度算法應(yīng)該是cfq,叫做完全公平隊(duì)列調(diào)度。這個(gè)調(diào)度算法人如其名,它試圖給所有進(jìn)程提供一個(gè)完全公平的IO操作環(huán)境。注:請(qǐng)大家一定記住這個(gè)詞語(yǔ),cfq,完全公平隊(duì)列調(diào)度,不然下文就沒(méi)法看了。cfq為每個(gè)進(jìn)程創(chuàng)建一個(gè)同步IO調(diào)度隊(duì)列,并默認(rèn)以時(shí)間片和請(qǐng)求數(shù)限定的方式分配IO資源,以此保證每個(gè)進(jìn)程的IO資源占用是公平的,cfq還實(shí)現(xiàn)了針對(duì)進(jìn)程租檔級(jí)別的優(yōu)先級(jí)調(diào)度,這個(gè)我們后面會(huì)詳細(xì)解釋。查看和修改IO調(diào)度算法的方法是:cfq是通用服務(wù)器比較好的IO調(diào)度算法選擇,對(duì)桌面用戶也是比較好的選擇。但是對(duì)于很多IO壓力較大的場(chǎng)景就并不是很適應(yīng),尤其是IO壓力集中在某些進(jìn)程上的場(chǎng)景。因?yàn)檫@種場(chǎng)景我們需要的滿足某個(gè)或者某幾個(gè)進(jìn)程的IO響應(yīng)速度,而不是讓所有的進(jìn)程公平的使用IO,比如數(shù)據(jù)庫(kù)應(yīng)用。deadline調(diào)度(最終期限調(diào)度)就是更適合上述場(chǎng)景的解決方案。deadline實(shí)現(xiàn)了四個(gè)隊(duì)列:其中兩個(gè)分別處理正常read和write,按扇區(qū)號(hào)排序,進(jìn)行正常io的合并處理以提高吞吐量。因?yàn)镮O請(qǐng)求可能會(huì)集中在某些磁盤位置,這樣會(huì)導(dǎo)致新來(lái)的請(qǐng)求一直被合并,可能會(huì)有其他磁盤位置的io請(qǐng)求被餓死。另外兩個(gè)處理超時(shí)read和write的隊(duì)列,按請(qǐng)求創(chuàng)建時(shí)間排序,如果有超時(shí)的請(qǐng)求出現(xiàn),就放進(jìn)這兩個(gè)隊(duì)列,調(diào)度算法保證超時(shí)(達(dá)到最終期限時(shí)間)的隊(duì)列中的請(qǐng)求會(huì)優(yōu)先被處理,防止掘歷請(qǐng)求被餓死。不久前,內(nèi)核還是默認(rèn)標(biāo)配四種算法,還有一種叫做as的算法(Anticipatoryscheduler),預(yù)測(cè)調(diào)度算法。一個(gè)高大上的名字,搞得我一度認(rèn)為L(zhǎng)inux內(nèi)核都會(huì)算命了。結(jié)果發(fā)現(xiàn),無(wú)非是在基于deadline算法做io調(diào)度的之前等一小會(huì)時(shí)間,如果這段時(shí)間內(nèi)有可以合并的io請(qǐng)求到來(lái),就可以合并處理,提高deadline調(diào)度的在順序讀寫情況下的數(shù)據(jù)吞吐量。其實(shí)這根本不是啥預(yù)測(cè),我覺(jué)得不如叫撞大運(yùn)調(diào)度算法,當(dāng)然這種策略在某些特定場(chǎng)景差效果不錯(cuò)。但是在大多數(shù)場(chǎng)景下,這個(gè)調(diào)度不僅沒(méi)有提高吞吐量,還降低了響應(yīng)速度,所以內(nèi)核干脆把它從默認(rèn)配置里刪除了。畢竟Linux的宗旨是實(shí)用,而我們也就不再這個(gè)調(diào)度算法上多費(fèi)口舌了。1、cfq:完全公平隊(duì)列調(diào)度cfq是內(nèi)核默認(rèn)選擇的IO調(diào)度隊(duì)列,它在桌面應(yīng)用場(chǎng)景以及大多數(shù)常見(jiàn)應(yīng)用場(chǎng)景下都是很好的選擇。如何實(shí)現(xiàn)一個(gè)所謂的完全公平隊(duì)列(CompletelyFairQueueing)?首先我們要理解所謂的公平是對(duì)誰(shuí)的公平?從操作系統(tǒng)的角度來(lái)說(shuō),產(chǎn)生操作行為的主體都是進(jìn)程,所以這里的公平是針對(duì)每個(gè)進(jìn)程而言的,我們要試圖讓進(jìn)程可以公平的占用IO資源。那么如何讓進(jìn)程公平的占用IO資源?我們需要先理解什么是IO資源。當(dāng)我們衡量一個(gè)IO資源的時(shí)候,一般喜歡用的是兩個(gè)單位,一個(gè)是數(shù)據(jù)讀寫的帶寬,另一個(gè)是數(shù)據(jù)讀寫的IOPS。帶寬就是以時(shí)間為單位的讀寫數(shù)據(jù)量,比如,100Mbyte/s。而IOPS是以時(shí)間為單位的讀寫次數(shù)。在不同的讀寫情境下,這兩個(gè)單位的表現(xiàn)可能不一樣,但是可以確定的是,兩個(gè)單位的任何一個(gè)達(dá)到了性能上限,都會(huì)成為IO的瓶頸。從機(jī)械硬盤的結(jié)構(gòu)考慮,如果讀寫是順序讀寫,那么IO的表現(xiàn)是可以通過(guò)比較少的IOPS達(dá)到較大的帶寬,因?yàn)榭梢院喜⒑芏郔O,也可以通過(guò)預(yù)讀等方式加速數(shù)據(jù)讀取效率。當(dāng)IO的表現(xiàn)是偏向于隨機(jī)讀寫的時(shí)候,那么IOPS就會(huì)變得更大,IO的請(qǐng)求的合并可能性下降,當(dāng)每次io請(qǐng)求數(shù)據(jù)越少的時(shí)候,帶寬表現(xiàn)就會(huì)越低。從這里我們可以理解,針對(duì)進(jìn)程的IO資源的主要表現(xiàn)形式有兩個(gè):進(jìn)程在單位時(shí)間內(nèi)提交的IO請(qǐng)求個(gè)數(shù)和進(jìn)程占用IO的帶寬。其實(shí)無(wú)論哪個(gè),都是跟進(jìn)程分配的IO處理時(shí)間長(zhǎng)度緊密相關(guān)的。有時(shí)業(yè)務(wù)可以在較少IOPS的情況下占用較大帶寬,另外一些則可能在較大IOPS的情況下占用較少帶寬,所以對(duì)進(jìn)程占用IO的時(shí)間進(jìn)行調(diào)度才是相對(duì)最公平的。即,我不管你是IOPS高還是帶寬占用高,到了時(shí)間咱就換下一個(gè)進(jìn)程處理,你愛(ài)咋樣咋樣。所以,cfq就是試圖給所有進(jìn)程分配等同的塊設(shè)備使用的時(shí)間片,進(jìn)程在時(shí)間片內(nèi),可以將產(chǎn)生的IO請(qǐng)求提交給塊設(shè)備進(jìn)行處理,時(shí)間片結(jié)束,進(jìn)程的請(qǐng)求將排進(jìn)它自己的隊(duì)列,等待下次調(diào)度的時(shí)候進(jìn)行處理。這就是cfq的基本原理。當(dāng)然,現(xiàn)實(shí)生活中不可能有真正的“公平”,常見(jiàn)的應(yīng)用場(chǎng)景下,我們很肯能需要人為的對(duì)進(jìn)程的IO占用進(jìn)行人為指定優(yōu)先級(jí),這就像對(duì)進(jìn)程的CPU占用設(shè)置優(yōu)先級(jí)的概念一樣。所以,除了針對(duì)時(shí)間片進(jìn)行公平隊(duì)列調(diào)度外,cfq還提供了優(yōu)先級(jí)支持。每個(gè)進(jìn)程都可以設(shè)置一個(gè)IO優(yōu)先級(jí),cfq會(huì)根據(jù)這個(gè)優(yōu)先級(jí)的設(shè)置情況作為調(diào)度時(shí)的重要參考因素。優(yōu)先級(jí)首先分成三大類:RT、BE、IDLE,它們分別是實(shí)時(shí)(RealTime)、更佳效果(BestTry)和閑置(Idle)三個(gè)類別,對(duì)每個(gè)類別的IO,cfq都使用不同的策略進(jìn)行處理。另外,RT和BE類別中,分別又再劃分了8個(gè)子優(yōu)先級(jí)實(shí)現(xiàn)更細(xì)節(jié)的QOS需求,而IDLE只有一個(gè)子優(yōu)先級(jí)。另外,我們都知道內(nèi)核默認(rèn)對(duì)存儲(chǔ)的讀寫都是經(jīng)過(guò)緩存(buffer/cache)的,在這種情況下,cfq是無(wú)法區(qū)分當(dāng)前處理的請(qǐng)求是來(lái)自哪一個(gè)進(jìn)程的。只有在進(jìn)程使用同步方式(syncread或者syncwirte)或者直接IO(DirectIO)方式進(jìn)行讀寫的時(shí)候,cfq才能區(qū)分出IO請(qǐng)求來(lái)自哪個(gè)進(jìn)程。所以,除了針對(duì)每個(gè)進(jìn)程實(shí)現(xiàn)的IO隊(duì)列以外,還實(shí)現(xiàn)了一個(gè)公共的隊(duì)列用來(lái)處理異步請(qǐng)求。當(dāng)前內(nèi)核已經(jīng)實(shí)現(xiàn)了針對(duì)IO資源的cgroup資源隔離,所以在以上體系的基礎(chǔ)上,cfq也實(shí)現(xiàn)了針對(duì)cgroup的調(diào)度支持??偟膩?lái)說(shuō),cfq用了一系列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)了以上所有復(fù)雜功能的支持,大家可以通過(guò)源代碼看到其相關(guān)實(shí)現(xiàn),文件在源代碼目錄下的block/cfq-iosched.c。1.1cfq設(shè)計(jì)原理在此,我們對(duì)整體數(shù)據(jù)結(jié)構(gòu)做一個(gè)簡(jiǎn)要描述:首先,cfq通過(guò)一個(gè)叫做cfq_data的數(shù)據(jù)結(jié)構(gòu)維護(hù)了整個(gè)調(diào)度器流程。在一個(gè)支持了cgroup功能的cfq中,全部進(jìn)程被分成了若干個(gè)contralgroup進(jìn)行管理。每個(gè)cgroup在cfq中都有一個(gè)cfq_group的結(jié)構(gòu)進(jìn)行描述,所有的cgroup都被作為一個(gè)調(diào)度對(duì)象放進(jìn)一個(gè)紅黑樹中,并以vdisktime為key進(jìn)行排序。vdisktime這個(gè)時(shí)間紀(jì)錄的是當(dāng)前cgroup所占用的io時(shí)間,每次對(duì)cgroup進(jìn)行調(diào)度時(shí),總是通過(guò)紅黑樹選擇當(dāng)前vdisktime時(shí)間最少的cgroup進(jìn)行處理,以保證所有cgroups之間的IO資源占用“公平”。當(dāng)然我們知道,cgroup是可以對(duì)blkio進(jìn)行資源比例分配的,其作用原理就是,分配比例大的cgroup占用vdisktime時(shí)間增長(zhǎng)較慢,分配比例小的vdisktime時(shí)間增長(zhǎng)較快,快慢與分配比例成正比。這樣就做到了不同的cgroup分配的IO比例不一樣,并且在cfq的角度看來(lái)依然是“公平“的。選擇好了需要處理的cgroup(cfq_group)之后,調(diào)度器需要決策選擇下一步的service_tree。service_tree這個(gè)數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的都是一系列的紅黑樹,主要目的是用來(lái)實(shí)現(xiàn)請(qǐng)求優(yōu)先級(jí)分類的,就是RT、BE、IDLE的分類。每一個(gè)cfq_group都維護(hù)了7個(gè)service_trees,其定義如下:其中service_tree_idle就是用來(lái)給IDLE類型的請(qǐng)求進(jìn)行排隊(duì)用的紅黑樹。而上面二維數(shù)組,首先之一個(gè)維度針對(duì)RT和BE分別各實(shí)現(xiàn)了一個(gè)數(shù)組,每一個(gè)數(shù)組中都維護(hù)了三個(gè)紅黑樹,分別對(duì)應(yīng)三種不同子類型的請(qǐng)求,分別是:SYNC、SYNC_NOIDLE以及ASYNC。我們可以認(rèn)為SYNC相當(dāng)于SYNC_IDLE并與SYNC_NOIDLE對(duì)應(yīng)。idling是cfq在設(shè)計(jì)上為了盡量合并連續(xù)的IO請(qǐng)求以達(dá)到提高吞吐量的目的而加入的機(jī)制,我們可以理解為是一種“空轉(zhuǎn)”等待機(jī)制??辙D(zhuǎn)是指,當(dāng)一個(gè)隊(duì)列處理一個(gè)請(qǐng)求結(jié)束后,會(huì)在發(fā)生調(diào)度之前空等一小會(huì)時(shí)間,如果下一個(gè)請(qǐng)求到來(lái),則可以減少磁頭尋址,繼續(xù)處理順序的IO請(qǐng)求。為了實(shí)現(xiàn)這個(gè)功能,cfq在service_tree這層數(shù)據(jù)結(jié)構(gòu)這實(shí)現(xiàn)了SYNC隊(duì)列,如果請(qǐng)求是同步順序請(qǐng)求,就入隊(duì)這個(gè)servicetree,如果請(qǐng)求是同步隨機(jī)請(qǐng)求,則入隊(duì)SYNC_NOIDLE隊(duì)列,以判斷下一個(gè)請(qǐng)求是否是順序請(qǐng)求。所有的異步寫操作請(qǐng)求將入隊(duì)ASYNC的servicetree,并且針對(duì)這個(gè)隊(duì)列沒(méi)有空轉(zhuǎn)等待機(jī)制。此外,cfq還對(duì)SSD這樣的硬盤有特殊調(diào)整,當(dāng)cfq發(fā)現(xiàn)存儲(chǔ)設(shè)備是一個(gè)ssd硬盤這樣的隊(duì)列深度更大的設(shè)備時(shí),所有針對(duì)單獨(dú)隊(duì)列的空轉(zhuǎn)都將不生效,所有的IO請(qǐng)求都將入隊(duì)SYNC_NOIDLE這個(gè)servicetree。每一個(gè)servicetree都對(duì)應(yīng)了若干個(gè)cfq_queue隊(duì)列,每個(gè)cfq_queue隊(duì)列對(duì)應(yīng)一個(gè)進(jìn)程,這個(gè)我們后續(xù)再詳細(xì)說(shuō)明。cfq_group還維護(hù)了一個(gè)在cgroup內(nèi)部所有進(jìn)程公用的異步IO請(qǐng)求隊(duì)列,其結(jié)構(gòu)如下:異步請(qǐng)求也分成了RT、BE、IDLE這三類進(jìn)行處理,每一類對(duì)應(yīng)一個(gè)cfq_queue進(jìn)行排隊(duì)。BE和RT也實(shí)現(xiàn)了優(yōu)先級(jí)的支持,每一個(gè)類型有IOPRIO_BE_NR這么多個(gè)優(yōu)先級(jí),這個(gè)值定義為8,數(shù)組下標(biāo)為0-7。我們目前分析的內(nèi)核代碼版本為L(zhǎng)inux4.4,可以看出,從cfq的角度來(lái)說(shuō),已經(jīng)可以實(shí)現(xiàn)異步IO的cgroup支持了,我們需要定義一下這里所謂異步IO的含義,它僅僅表示從內(nèi)存的buffer/cache中的數(shù)據(jù)同步到硬盤的IO請(qǐng)求,而不是aio(man7aio)或者linux的native異步io以及l(fā)ibaio機(jī)制,實(shí)際上這些所謂的“異步”IO機(jī)制,在內(nèi)核中都是同步實(shí)現(xiàn)的(本質(zhì)上馮諾伊曼計(jì)算機(jī)沒(méi)有真正的“異步”機(jī)制)。我們?cè)谏厦嬉呀?jīng)說(shuō)明過(guò),由于進(jìn)程正常情況下都是將數(shù)據(jù)先寫入buffer/cache,所以這種異步IO都是統(tǒng)一由cfq_group中的async請(qǐng)求隊(duì)列處理的。那么為什么在上面的service_tree中還要實(shí)現(xiàn)和一個(gè)ASYNC的類型呢?這當(dāng)然是為了支持區(qū)分進(jìn)程的異步IO并使之可以“完全公平”做準(zhǔn)備嘍。實(shí)際上在最新的cgroupv2的blkio體系中,內(nèi)核已經(jīng)支持了針對(duì)bufferIO的cgroup限速支持,而以上這些可能容易混淆的一堆類型,都是在新的體系下需要用到的類型標(biāo)記。新體系的復(fù)雜度更高了,功能也更加強(qiáng)大,但是大家先不要著急,正式的cgroupv2體系,在Linux4.5發(fā)布的時(shí)候會(huì)正式跟大家見(jiàn)面。我們繼續(xù)選擇service_tree的過(guò)程,三種優(yōu)先級(jí)類型的service_tree的選擇就是根據(jù)類型的優(yōu)先級(jí)來(lái)做選擇的,RT優(yōu)先級(jí)更高,BE其次,IDLE更低。就是說(shuō),RT里有,就會(huì)一直處理RT,RT沒(méi)了再處理BE。每個(gè)service_tree對(duì)應(yīng)一個(gè)元素為cfq_queue排隊(duì)的紅黑樹,而每個(gè)cfq_queue就是內(nèi)核為進(jìn)程(線程)創(chuàng)建的請(qǐng)求隊(duì)列。每一個(gè)cfq_queue都會(huì)維護(hù)一個(gè)rb_key的變量,這個(gè)變量實(shí)際上就是這個(gè)隊(duì)列的IO服務(wù)時(shí)間(servicetime)。這里還是通過(guò)紅黑樹找到servicetime時(shí)間最短的那個(gè)cfq_queue進(jìn)行服務(wù),以保證“完全公平”。選擇好了cfq_queue之后,就要開始處理這個(gè)隊(duì)列里的IO請(qǐng)求了。這里的調(diào)度方式基本跟deadline類似。cfq_queue會(huì)對(duì)進(jìn)入隊(duì)列的每一個(gè)請(qǐng)求進(jìn)行兩次入隊(duì),一個(gè)放進(jìn)fifo中,另一個(gè)放進(jìn)按訪問(wèn)扇區(qū)順序作為key的紅黑樹中。默認(rèn)從紅黑樹中取請(qǐng)求進(jìn)行處理,當(dāng)請(qǐng)求的延時(shí)時(shí)間達(dá)到deadline時(shí),就從紅黑樹中取等待時(shí)間最長(zhǎng)的進(jìn)行處理,以保證請(qǐng)求不被餓死。這就是整個(gè)cfq的調(diào)度流程,當(dāng)然其中還有很多細(xì)枝末節(jié)沒(méi)有交代,比如合并處理以及順序處理等等。1.2cfq的參數(shù)調(diào)整理解整個(gè)調(diào)度流程有助于我們決策如何調(diào)整cfq的相關(guān)參數(shù)。所有cfq的可調(diào)參數(shù)都可以在/sys/class/block/sda/queue/iosched/目錄下找到,當(dāng)然,在你的系統(tǒng)上,請(qǐng)將sda替換為相應(yīng)的磁盤名稱。我們來(lái)看一下都有什么:這些參數(shù)部分是跟機(jī)械硬盤磁頭尋道方式有關(guān)的,如果其說(shuō)明你看不懂,請(qǐng)先補(bǔ)充相關(guān)知識(shí):back_seek_max:磁頭可以向后尋址的更大范圍,默認(rèn)值為16M。back_seek_penalty:向后尋址的懲罰系數(shù)。這個(gè)值是跟向前尋址進(jìn)行比較的。以上兩個(gè)是為了防止磁頭尋道發(fā)生抖動(dòng)而導(dǎo)致尋址過(guò)慢而設(shè)置的?;舅悸肥沁@樣,一個(gè)io請(qǐng)求到來(lái)的時(shí)候,cfq會(huì)根據(jù)其尋址位置預(yù)估一下其磁頭尋道成本。設(shè)置一個(gè)更大值back_seek_max,對(duì)于請(qǐng)求所訪問(wèn)的扇區(qū)號(hào)在磁頭后方的請(qǐng)求,只要尋址范圍沒(méi)有超過(guò)這個(gè)值,cfq會(huì)像向前尋址的請(qǐng)求一樣處理它。再設(shè)置一個(gè)評(píng)估成本的系數(shù)back_seek_penalty,相對(duì)于磁頭向前尋址,向后尋址的距離為1/2(1/back_seek_penalty)時(shí),cfq認(rèn)為這兩個(gè)請(qǐng)求尋址的代價(jià)是相同。這兩個(gè)參數(shù)實(shí)際上是cfq判斷請(qǐng)求合并處理的條件限制,凡事復(fù)合這個(gè)條件的請(qǐng)求,都會(huì)盡量在本次請(qǐng)求處理的時(shí)候一起合并處理。fifo_expire_async:設(shè)置異步請(qǐng)求的超時(shí)時(shí)間。同步請(qǐng)求和異步請(qǐng)求是區(qū)分不同隊(duì)列處理的,cfq在調(diào)度的時(shí)候一般情況都會(huì)優(yōu)先處理同步請(qǐng)求,之后再處理異步請(qǐng)求,除非異步請(qǐng)求符合上述合并處理的條件限制范圍內(nèi)。當(dāng)本進(jìn)程的隊(duì)列被調(diào)度時(shí),cfq會(huì)優(yōu)先檢查是否有異步請(qǐng)求超時(shí),就是超過(guò)fifo_expire_async參數(shù)的限制。如果有,則優(yōu)先發(fā)送一個(gè)超時(shí)的請(qǐng)求,其余請(qǐng)求仍然按照優(yōu)先級(jí)以及扇區(qū)編號(hào)大小來(lái)處理。fifo_expire_sync:這個(gè)參數(shù)跟上面的類似,區(qū)別是用來(lái)設(shè)置同步請(qǐng)求的超時(shí)時(shí)間。slice_idle:參數(shù)設(shè)置了一個(gè)等待時(shí)間。這讓cfq在切換cfq_queue或servicetree的時(shí)候等待一段時(shí)間,目的是提高機(jī)械硬盤的吞吐量。一般情況下,來(lái)自同一個(gè)cfq_queue或者servicetree的IO請(qǐng)求的尋址局部性更好,所以這樣可以減少磁盤的尋址次數(shù)。這個(gè)值在機(jī)械硬盤上默認(rèn)為非零。當(dāng)然在固態(tài)硬盤或者硬RAID設(shè)備上設(shè)置這個(gè)值為非零會(huì)降低存儲(chǔ)的效率,因?yàn)楣虘B(tài)硬盤沒(méi)有磁頭尋址這個(gè)概念,所以在這樣的設(shè)備上應(yīng)該設(shè)置為0,關(guān)閉此功能。group_idle:這個(gè)參數(shù)也跟上一個(gè)參數(shù)類似,區(qū)別是當(dāng)cfq要切換cfq_group的時(shí)候會(huì)等待一段時(shí)間。在cgroup的場(chǎng)景下,如果我們沿用slice_idle的方式,那么空轉(zhuǎn)等待可能會(huì)在cgroup組內(nèi)每個(gè)進(jìn)程的cfq_queue切換時(shí)發(fā)生。這樣會(huì)如果這個(gè)進(jìn)程一直有請(qǐng)求要處理的話,那么直到這個(gè)cgroup的配額被耗盡,同組中的其它進(jìn)程也可能無(wú)法被調(diào)度到。這樣會(huì)導(dǎo)致同組中的其它進(jìn)程餓死而產(chǎn)生IO性能瓶頸。在這種情況下,我們可以將slice_idle=0而group_idle=8。這樣空轉(zhuǎn)等待就是以cgroup為單位進(jìn)行的,而不是以cfq_queue的進(jìn)程為單位進(jìn)行,以防止上述問(wèn)題產(chǎn)生。low_latency:這個(gè)是用來(lái)開啟或關(guān)閉cfq的低延時(shí)(lowlatency)模式的開關(guān)。當(dāng)這個(gè)開關(guān)打開時(shí),cfq將會(huì)根據(jù)target_latency的參數(shù)設(shè)置來(lái)對(duì)每一個(gè)進(jìn)程的分片時(shí)間(slicetime)進(jìn)行重新計(jì)算。這將有利于對(duì)吞吐量的公平(默認(rèn)是對(duì)時(shí)間片分配的公平)。關(guān)閉這個(gè)參數(shù)(設(shè)置為0)將忽略target_latency的值。這將使系統(tǒng)中的進(jìn)程完全按照時(shí)間片方式進(jìn)行IO資源分配。這個(gè)開關(guān)默認(rèn)是打開的。我們已經(jīng)知道cfq設(shè)計(jì)上有“空轉(zhuǎn)”(idling)這個(gè)概念,目的是為了可以讓連續(xù)的讀寫操作盡可能多的合并處理,減少磁頭的尋址操作以便增大吞吐量。如果有進(jìn)程總是很快的進(jìn)行順序讀寫,那么它將因?yàn)閏fq的空轉(zhuǎn)等待命中率很高而導(dǎo)致其它需要處理IO的進(jìn)程響應(yīng)速度下降,如果另一個(gè)需要調(diào)度的進(jìn)程不會(huì)發(fā)出大量順序IO行為的話,系統(tǒng)中不同進(jìn)程IO吞吐量的表現(xiàn)就會(huì)很不均衡。就比如,系統(tǒng)內(nèi)存的cache中有很多臟頁(yè)要寫回時(shí),桌面又要打開一個(gè)瀏覽器進(jìn)行操作,這時(shí)臟頁(yè)寫回的后臺(tái)行為就很可能會(huì)大量命中空轉(zhuǎn)時(shí)間,而導(dǎo)致瀏覽器的小量IO一直等待,讓用戶感覺(jué)瀏覽器運(yùn)行響應(yīng)速度變慢。這個(gè)low_latency主要是對(duì)這種情況進(jìn)行優(yōu)化的選項(xiàng),當(dāng)其打開時(shí),系統(tǒng)會(huì)根據(jù)target_latency的配置對(duì)因?yàn)槊锌辙D(zhuǎn)而大量占用IO吞吐量的進(jìn)程進(jìn)行限制,以達(dá)到不同進(jìn)程IO占用的吞吐量的相對(duì)均衡。這個(gè)開關(guān)比較合適在類似桌面應(yīng)用的場(chǎng)景下打開。target_latency:當(dāng)low_latency的值為開啟狀態(tài)時(shí),cfq將根據(jù)這個(gè)值重新計(jì)算每個(gè)進(jìn)程分配的IO時(shí)間片長(zhǎng)度。quantum:這個(gè)參數(shù)用來(lái)設(shè)置每次從cfq_queue中處理多少個(gè)IO請(qǐng)求。在一個(gè)隊(duì)列處理事件周期中,超過(guò)這個(gè)數(shù)字的IO請(qǐng)求將不會(huì)被處理。這個(gè)參數(shù)只對(duì)同步的請(qǐng)求有效。slice_sync:當(dāng)一個(gè)cfq_queue隊(duì)列被調(diào)度處理時(shí),它可以被分配的處理總時(shí)間是通過(guò)這個(gè)值來(lái)作為一個(gè)計(jì)算參數(shù)指定的。公式為:time_slice=slice_sync+(slice_sync/5*(4-prio))。這個(gè)參數(shù)對(duì)同步請(qǐng)求有效。slice_async:這個(gè)值跟上一個(gè)類似,區(qū)別是對(duì)異步請(qǐng)求有效。slice_async_rq:這個(gè)參數(shù)用來(lái)限制在一個(gè)slice的時(shí)間范圍內(nèi),一個(gè)隊(duì)列最多可以處理的異步請(qǐng)求個(gè)數(shù)。請(qǐng)求被處理的更大個(gè)數(shù)還跟相關(guān)進(jìn)程被設(shè)置的io優(yōu)先級(jí)有關(guān)。1.3cfq的IOPS模式我們已經(jīng)知道,默認(rèn)情況下cfq是以時(shí)間片方式支持的帶優(yōu)先級(jí)的調(diào)度來(lái)保證IO資源占用的公平。高優(yōu)先級(jí)的進(jìn)程將得到的時(shí)間片長(zhǎng)度,而低優(yōu)先級(jí)的進(jìn)程時(shí)間片相對(duì)較小。當(dāng)我們的存儲(chǔ)是一個(gè)高速并且支持NCQ(原生指令隊(duì)列)的設(shè)備的時(shí)候,我們更好可以讓其可以從多個(gè)cfq隊(duì)列中處理多路的請(qǐng)求,以便提升NCQ的利用率。此時(shí)使用時(shí)間片的分配方式分配資源就顯得不合時(shí)宜了,因?yàn)榛跁r(shí)間片的分配,同一時(shí)刻最多能處理的請(qǐng)求隊(duì)列只有一個(gè)。這時(shí),我們需要切換cfq的模式為IOPS模式。切換方式很簡(jiǎn)單,就是將slice_idle=0即可。內(nèi)核會(huì)自動(dòng)檢測(cè)你的存儲(chǔ)設(shè)備是否支持NCQ,如果支持的話cfq會(huì)自動(dòng)切換為IOPS模式。另外,在默認(rèn)的基于優(yōu)先級(jí)的時(shí)間片方式下,我們可以使用ionice命令來(lái)調(diào)整進(jìn)程的IO優(yōu)先級(jí)。進(jìn)程默認(rèn)分配的IO優(yōu)先級(jí)是根據(jù)進(jìn)程的nice值計(jì)算而來(lái)的,計(jì)算方法可以在manionice中看到,這里不再?gòu)U話。2、deadline:最終期限調(diào)度deadline調(diào)度算法相對(duì)cfq要簡(jiǎn)單很多。其設(shè)計(jì)目標(biāo)是:在保證請(qǐng)求按照設(shè)備扇區(qū)的順序進(jìn)行訪問(wèn)的同時(shí),兼顧其它請(qǐng)求不被餓死,要在一個(gè)最終期限前被調(diào)度到。我們知道磁頭對(duì)磁盤的尋道是可以進(jìn)行順序訪問(wèn)和隨機(jī)訪問(wèn)的,因?yàn)閷さ姥訒r(shí)時(shí)間的關(guān)系,順序訪問(wèn)時(shí)IO的吞吐量更大,隨機(jī)訪問(wèn)的吞吐量小。如果我們想為一個(gè)機(jī)械硬盤進(jìn)行吞吐量?jī)?yōu)化的話,那么就可以讓調(diào)度器按照盡量復(fù)合順序訪問(wèn)的IO請(qǐng)求進(jìn)行排序,之后請(qǐng)求以這樣的順序發(fā)送給硬盤,就可以使IO的吞吐量更大。但是這樣做也有另一個(gè)問(wèn)題,就是如果此時(shí)出現(xiàn)了一個(gè)請(qǐng)求,它要訪問(wèn)的磁道離目前磁頭所在磁道很遠(yuǎn),應(yīng)用的請(qǐng)求又大量集中在目前磁道附近。導(dǎo)致大量請(qǐng)求一直會(huì)被合并和插隊(duì)處理,而那個(gè)要訪問(wèn)比較遠(yuǎn)磁道的請(qǐng)求將因?yàn)橐恢辈荒鼙徽{(diào)度而餓死。deadline就是這樣一種調(diào)度器,能在保證IO更大吞吐量的情況下,盡量使遠(yuǎn)端請(qǐng)求在一個(gè)期限內(nèi)被調(diào)度而不被餓死的調(diào)度器。
simple類型的邏輯磁盤是提升性能還是提升數(shù)據(jù)可靠性
作用: 用來(lái)存放數(shù)罩判據(jù)(二進(jìn)制方式來(lái)管理數(shù)據(jù))分類機(jī)械硬盤固態(tài)硬盤機(jī)械硬盤組成盤片: 上面布滿磁性顆粒,保存寫入數(shù)據(jù)主軸: 帶動(dòng)盤片轉(zhuǎn)動(dòng),轉(zhuǎn)到磁頭的下方讀/寫磁頭: 負(fù)責(zé)數(shù)據(jù)的讀寫磁頭臂: 帶動(dòng)磁頭,將磁頭移動(dòng)到指定位置控制電路: 控制硬盤的速度,磁頭臂的移動(dòng)等等機(jī)械磁盤的屬性磁道: 盤片圍繞在主軸周圍的同心環(huán),編號(hào)由外至內(nèi)從0累加扇區(qū): 磁道上被分成的更小的單位,也是磁盤中保存數(shù)據(jù)最小的存儲(chǔ)單元,一般大小為512k,也有更大的扇區(qū)4K柱面: 在同一個(gè)磁盤中,所有盤片相同位置編號(hào)的磁道形成的一個(gè)圓柱機(jī)械磁盤工作方式主軸帶動(dòng)盤片做圓周運(yùn)動(dòng),磁頭臂帶動(dòng)磁頭直徑運(yùn)動(dòng)5838c4c164f3c12023a5f1eb3c51bb20.png機(jī)械硬盤常用總線協(xié)議/磁盤類型SCSI協(xié)議SCSI(Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口)最初是一種為了小型機(jī)研制的接口技術(shù),用于主機(jī)與外部設(shè)備之間的連接(最多可以連接16個(gè)設(shè)備)SCSI 協(xié)議是主機(jī)與存儲(chǔ)磁盤通信的基本協(xié)議DAS 使用SCSI 協(xié)議實(shí)現(xiàn)主機(jī)服務(wù)器與存儲(chǔ)設(shè)備的互連5924aad5e3f1e60e60c51bdccd8c1a38.png并行SCSI 的演變(1981年)最初由 Shugart Associates、 NCR開發(fā),名字為SASIANSI 承認(rèn)其為工業(yè)標(biāo)準(zhǔn)SCSI 的版本SCSI-1定義了線纜長(zhǎng)度,信號(hào)特征,命令和傳輸模式使用8 位窄總線,更大傳輸率為 5MB/sSCSI-2定義了通用命令集(Common Command Set, 簡(jiǎn)稱CCS)提高了性能,可靠性,新增了一些特性SCSI-3SCSI最新版本由多個(gè)相關(guān)的標(biāo)準(zhǔn)組成,不再是一個(gè)大文件SCSI-3 架構(gòu)f06acbc904d372c38694d0c9c.pngSCSI命令協(xié)議(應(yīng)用層)各類型設(shè)備通用的主要命令傳輸層協(xié)議設(shè)備間互連和信息共享的標(biāo)準(zhǔn)規(guī)則,scsi-3、fc等等物理層互連接口細(xì)節(jié): 比如電信號(hào)傳輸方法和數(shù)據(jù)傳輸模式SCSI 協(xié)議模型主機(jī)到存儲(chǔ)磁盤間的通信由啟動(dòng)器發(fā)起,由目標(biāo)器接收和處理c34ab2de157b29cb979e9392b1a5263f.pngSCSI 協(xié)議尋址總線號(hào): 區(qū)分不同的SCSI 總線設(shè)備ID: 區(qū)分SCSI 總線上不同的設(shè)備邏輯單元號(hào): 區(qū)分SCSI 設(shè)備中的子設(shè)備ATA 和 SATA高級(jí)技術(shù)附件(Advanced Technology Attachment)是上世紀(jì)90 年代桌面機(jī)標(biāo)準(zhǔn)采用可編程IO 技術(shù),速度和智能性不高SATA(Serial Advanced Technology Attachment)是ATA 技術(shù)的升級(jí)版本,曾是桌面電腦ATA 接口硬盤的主要替代技術(shù)因凱戚容量大,價(jià)格便宜,在企業(yè)級(jí)服務(wù)器和存儲(chǔ)系統(tǒng)中曾廣泛的被使用現(xiàn)在多被更加智能的NL-SAS 接口的硬盤替代Serial Attached SCSI(串行 SCSI 協(xié)議)在企業(yè)級(jí)存儲(chǔ)系統(tǒng)中,SAS(Serial Attached SCSI)接口已經(jīng)取代并行連接SCSI 和 SATA 接口特點(diǎn)采用點(diǎn)對(duì)點(diǎn)連接方式高帶寬(300M/s,600M/s)效率高支持熱插拔I/O(Input/Ouput)操作單個(gè)IO操作系統(tǒng)內(nèi)核發(fā)出一個(gè)讀IO命令,當(dāng)控制磁盤的控制器接到這個(gè)指令后,控制器會(huì)給磁盤發(fā)送一個(gè)讀數(shù)據(jù)的指令,并盯悶陵同時(shí)將要讀取數(shù)據(jù)塊的地址傳送給磁盤,然后硬盤讀取數(shù)據(jù)傳送給控制器,并由控制器返回給操作系統(tǒng),完成一個(gè)IO操作讀寫IO寫磁盤為寫IO,讀數(shù)據(jù)為讀IO隨機(jī)訪問(wèn)(Random Access) 與連續(xù)訪問(wèn)(Sequential Access): 由當(dāng)此IO 給出的扇區(qū)地址與上次IO 結(jié)束的扇區(qū)地址相差得是否較大決定順序IO模式(Queue Mode)/并發(fā)IO模式(Burst Mode): 由磁盤組一次能執(zhí)行的IO 命令個(gè)數(shù)決定完整的IO操作當(dāng)控制器對(duì)硬盤發(fā)出一個(gè)IO操作指令的時(shí)候,磁盤的磁頭臂帶動(dòng)讀寫磁頭離開著陸區(qū),然后移動(dòng)到要操作初始數(shù)據(jù)塊所在的磁道正上方,此過(guò)程為尋道,消耗的時(shí)間為尋道時(shí)間磁頭等到盤片旋轉(zhuǎn)到初始數(shù)據(jù)塊所在扇區(qū)的正上方,此時(shí)才能進(jìn)行數(shù)據(jù)的讀取,這個(gè)過(guò)程稱之為旋轉(zhuǎn)時(shí)間然后讀取相應(yīng)數(shù)據(jù),直到完成這次IO所操作的全部數(shù)據(jù),這個(gè)過(guò)程所花費(fèi)的時(shí)間稱之為數(shù)據(jù)傳送時(shí)間尋道時(shí)間全程尋道時(shí)間: 磁頭橫跨整個(gè)磁盤的寬度所用的時(shí)間(著陸區(qū) –> 最外層0磁道)平均尋道時(shí)間: 一般為全程尋道時(shí)間的1/3道間尋道時(shí)間: 磁頭在相鄰磁道之間所用的時(shí)間旋轉(zhuǎn)時(shí)延決定于主軸的轉(zhuǎn)動(dòng)速度平均旋轉(zhuǎn)動(dòng)延遲: 完全旋轉(zhuǎn)用時(shí)的一半5400 rpm的磁盤平均旋轉(zhuǎn)時(shí)延: 5.5ms15000 rpm的磁盤的平均旋轉(zhuǎn)時(shí)延: 2.0ms數(shù)據(jù)傳輸時(shí)延數(shù)據(jù)傳輸時(shí)延決定于數(shù)據(jù)傳輸速度,即單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量?jī)?nèi)部傳輸速度: 數(shù)據(jù)從盤片扇區(qū)上傳送到硬盤上的內(nèi)部緩存的速度外部傳輸速度: 接口的標(biāo)稱速度IOPSIOPS是IO系統(tǒng)每秒所執(zhí)行IO操作的次數(shù),是一個(gè)重要的用來(lái)衡量系統(tǒng)IO能力的參數(shù),對(duì)于單個(gè)磁盤,計(jì)算其完成一次IO所需要的時(shí)間來(lái)推算其IOPSIOTime = 尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度IOPS = 1/IOTime = 1 / (尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度)單個(gè)IO大小尋道時(shí)間(ms)旋轉(zhuǎn)延遲(ms)c傳輸時(shí)延(ms)IO服務(wù)時(shí)間(ms)IOPS4K524K/40MB = 0.17.11408K528K/40MB = 0.27.213916K5216K/40MB = 0.47.413532K5232K/40MB = 0.87.8128當(dāng)單次IO越小的時(shí)候,單次IO所耗費(fèi)的時(shí)間也越少,相應(yīng)的IOPS也就越大帶寬(Throughput)帶寬是指磁盤在實(shí)際使用的時(shí)候從磁盤系統(tǒng)總線上流過(guò)的數(shù)據(jù)量,也稱為磁盤的實(shí)際傳輸速率帶寬 = IOPS * IO大小利用率和響應(yīng)時(shí)間20b1915f5c8217bb33d202306f6dcb71.png固態(tài)硬盤價(jià)格逐漸下降,容量越來(lái)越大,固態(tài)硬盤(SSD)變得越來(lái)越流行SSD原理使用flash 技術(shù)存儲(chǔ)信息內(nèi)部沒(méi)有機(jī)械結(jié)構(gòu)耗電量更小散熱小噪音小基于SSD的使用頻率,其使用壽命有限SSD的3中主要的類型SLC(Single Level Cell): 單層式存儲(chǔ)單元MLC(Multi Level Cell): 多層式存儲(chǔ)單元TLC(Triple Levle Cell): 三層式存儲(chǔ)單元SLC-MLC-TLC4cf9876db5183c80ae7ded9281bd15a1.png在SLC 中,每個(gè)存儲(chǔ)單元(cell)只存1bit數(shù)據(jù): 0或1在MLC 中,每個(gè)存儲(chǔ)單元(cell)可存2bit數(shù)據(jù): 00, 01, 10, 11在TLC 中,每個(gè)存儲(chǔ)單元(cell)可存3bit數(shù)據(jù): 000, 001, 010, 011, 100, 101, 110, 111固態(tài)硬盤的磨損對(duì)SSD 盤的可靠性影響更大的其抗磨損能力,即其cell能被擦寫的次數(shù)企業(yè)級(jí)的SCL、MLC和TLC 在抗磨損方面的區(qū)別明顯類型容量可擦寫次數(shù)單位容量?jī)r(jià)格SLC小約100,000高eMLC(企業(yè)級(jí)別)中等約30,000中等cMLC(消費(fèi)者)中等5000~10,000低TLC大500~1,000很低固態(tài)硬盤結(jié)構(gòu)13fcdb2965c3cbd48cd5359bac30447e.png無(wú)高速旋轉(zhuǎn)部件,性能高、功耗低多通道并發(fā),通道內(nèi)Flash顆粒復(fù)用時(shí)許支持TCQ/NCQ,一次響應(yīng)多個(gè)IO請(qǐng)求典型響應(yīng)時(shí)間低于0.1msSDD 性能優(yōu)勢(shì)響應(yīng)時(shí)間短機(jī)械硬盤的機(jī)械特性導(dǎo)致大部分時(shí)間浪費(fèi)在尋道和機(jī)械延遲上,數(shù)據(jù)傳輸效率收到嚴(yán)重制約讀寫效率高機(jī)械硬盤在進(jìn)行隨機(jī)讀寫曹祖時(shí),磁頭不停的移動(dòng),導(dǎo)致讀寫效率低下而SSD 通過(guò)內(nèi)部控制器計(jì)算出數(shù)據(jù)的存放位置,直接進(jìn)行存取操作,故效率高SSD 功耗優(yōu)勢(shì)162cec988a5abe41aef68791a5dea675.png文章知識(shí)點(diǎn)與官方知識(shí)檔案匹配CS入門技能樹Linux入門初識(shí)Linux21547 人正在系統(tǒng)學(xué)習(xí)中點(diǎn)擊閱讀全文打開CSDN APP,看更多技術(shù)內(nèi)容參與評(píng)論 請(qǐng)先 登錄 后發(fā)表或查看評(píng)論操作系統(tǒng)讀寫者問(wèn)題實(shí)驗(yàn)報(bào)告_Linux操作系統(tǒng)存儲(chǔ)子系統(tǒng)核心技術(shù)之硬盤與RAIDLinux操作系統(tǒng)的存儲(chǔ)子系統(tǒng)應(yīng)該是Linux中最為復(fù)雜的子系統(tǒng)了。其實(shí)很多子系統(tǒng)都認(rèn)為自己是最復(fù)雜的子系統(tǒng),比如內(nèi)存子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)也這么說(shuō)。無(wú)論如何,存儲(chǔ)子系統(tǒng)在Linux中是比較復(fù)雜的。今天我們就介紹一下Linux的存儲(chǔ)子系統(tǒng)中的硬盤與RAID的相關(guān)內(nèi)容,后面再寫一篇關(guān)于LVM與文件系統(tǒng)的內(nèi)容。硬盤在Linux的存儲(chǔ)子系統(tǒng)中,更底層的就是硬盤了。這里的硬盤并不是指我們看到的硬盤硬件,而是指…繼續(xù)訪問(wèn)最新發(fā)布 Linux磁盤邏輯卷Linux邏輯卷的創(chuàng)建,添加繼續(xù)訪問(wèn)LVM和磁盤配額 讓我們一起來(lái)看下吧LVM和磁盤配額 前言 許多Linux使用者在安裝操作系統(tǒng)時(shí)都會(huì)遇到這樣的困境;如何精確評(píng)估和分配各個(gè)硬盤分區(qū)的容量,如果當(dāng)初估計(jì)不準(zhǔn)確,一旦系統(tǒng)分區(qū)不夠用時(shí)可能不得不備份、刪除相關(guān)數(shù)據(jù),甚至被迫重新規(guī)劃分區(qū)并重裝操作系統(tǒng),以滿足應(yīng)用系統(tǒng)的需要。 LVM概述 Logical Volume Manager,邏輯卷管理 動(dòng)態(tài)調(diào)整磁盤容量,從而提高磁盤管理的靈活性 /boot分區(qū)用于存放引導(dǎo)文件,不能基于LVM創(chuàng)建 圖形界面管理工具 system-config-lvm LVM 是 Linux 操作系統(tǒng)中對(duì)磁盤分區(qū)繼續(xù)訪問(wèn)linux 磁盤控制器,linux – 戴爾R710上的PERC 6 / i RAID:?jiǎn)蝹€(gè)控制器上的慢速磁盤…… RAID10?…這里有多個(gè)問(wèn)題 – 但它從這開始:我們?cè)赗AID10配置中安裝了帶有PERC 6 / i RAID控制器(或控制器)的Dell PowerEdge R710.系統(tǒng)運(yùn)行Ubuntu Server 10.04 LTS,MySQL執(zhí)行讀取密集型工作負(fù)載.我使用blockdev –setra ### / dev / sda增加了readahead以增加readahead(讀取至少在理論上是順序讀取).這似…繼續(xù)訪問(wèn)IO系統(tǒng)性能之一:衡量性能的幾個(gè)指標(biāo)
幾個(gè)基本的概念 在研究磁盤性能之前我們必須先了解磁盤的結(jié)構(gòu),以及工作原理。不過(guò)在這里就不再重復(fù)說(shuō)明了,關(guān)系硬盤結(jié)構(gòu)和工作原理的信息可以參考上面的相關(guān)詞條——Hard disk drive(英文)和硬盤驅(qū)動(dòng)器(中文)。 讀寫IO(Read/Write IO繼續(xù)訪問(wèn)如何添加windows 系統(tǒng)的邏輯磁盤并設(shè)置盤符在虛擬化及云計(jì)算平臺(tái)中經(jīng)常涉及動(dòng)態(tài)添加磁盤,比如之前分配系統(tǒng)為一個(gè)100G的磁盤,隨著業(yè)務(wù)的需要,新增一個(gè)300G的業(yè)務(wù)磁盤,在虛擬化后臺(tái)添加完畢之后,如何在虛擬機(jī)添加邏輯磁盤并設(shè)置盤符呢?本文將介紹如何添加windows 系統(tǒng)的邏輯磁盤并設(shè)置盤符的方法。實(shí)驗(yàn)環(huán)境:OS:windows server 2023目標(biāo):新增一個(gè)300G的磁盤,并設(shè)置為E盤。操作方法如下:…繼續(xù)訪問(wèn)linux下磁盤控制器無(wú)法驅(qū)動(dòng),Linux eMMC子系統(tǒng)之主機(jī)控制器驅(qū)動(dòng)(host conntroller driver)…1. 前言本文是Linux MMC framework的第二篇,將從驅(qū)動(dòng)工程師的角度,介紹MMC host controller driver有關(guān)的知識(shí),學(xué)習(xí)并掌握如何在MMC framework的框架下,編寫MMC控制器的驅(qū)動(dòng)程序。同時(shí),通過(guò)本篇文章,我們會(huì)進(jìn)一步的理解MMC、SD、SDIO等有關(guān)的基礎(chǔ)知識(shí)。2. MMC host驅(qū)動(dòng)介紹MMC的host driver,是用于驅(qū)動(dòng)MMC host…繼續(xù)訪問(wèn)Linux系統(tǒng)之磁盤管理一磁盤管理,固態(tài)硬盤,機(jī)械硬盤繼續(xù)訪問(wèn)Linux系統(tǒng)的磁盤管理磁盤管理 文章目錄磁盤管理1磁盤結(jié)構(gòu)1.1硬盤的物理結(jié)構(gòu)1.2硬盤的數(shù)據(jù)結(jié)構(gòu)1.3硬盤存儲(chǔ)容量1.4 硬盤接口的類型2MBR與磁盤分區(qū)2.1 為什么分區(qū)2.2硬盤分區(qū)3.文件系統(tǒng)3.1 文件系統(tǒng):3.1.1 **XFS**3.1.2 swap3.1.3FAT16、FAT32、3.1.4NTFS(xfs)3.1.5EXT43.1.6 JFS4.分區(qū)工具4.1 fdisk4.2 blkid4.3mkfs4.4 mkswap5.掛載與解掛載5.1mount5.2 df 1磁盤結(jié)構(gòu) 1.1硬盤的物理結(jié)構(gòu)
作用: 用來(lái)存放數(shù)據(jù)(二進(jìn)制方式來(lái)管理數(shù)據(jù))
分類
機(jī)械硬盤
固態(tài)硬盤
機(jī)械硬盤組成
盤片: 上面布滿磁性顆粒,保存寫入數(shù)據(jù)
主軸: 帶動(dòng)盤片轉(zhuǎn)動(dòng),轉(zhuǎn)到磁頭的下方
讀/寫磁頭: 負(fù)責(zé)數(shù)據(jù)的讀寫
磁頭臂: 帶動(dòng)磁頭咐塌,將磁頭移動(dòng)到指定位置
控制電路: 控制硬盤的速度,磁頭臂的移動(dòng)等等
機(jī)械磁盤的屬性
磁道: 盤片圍繞在主軸周圍的同心環(huán),編號(hào)由外至內(nèi)從0累加
扇區(qū): 磁道上被分成的更小的單位,也是磁盤中保存數(shù)據(jù)最小的存儲(chǔ)單元,一般大小為512k,也有更大的扇區(qū)4K
柱面: 在同一個(gè)磁盤中,所有盤片相同位置編號(hào)的磁道形成的一個(gè)圓柱
機(jī)械磁盤工作方式
主軸帶動(dòng)盤帆槐片做圓周運(yùn)動(dòng),磁頭臂帶動(dòng)磁頭直徑運(yùn)動(dòng)
5838c4c164f3c12023a5f1eb3c51bb20.png
機(jī)械硬盤
常用總線協(xié)議/磁盤類型
SCSI協(xié)議
SCSI(Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口)最初是一種為了小型機(jī)研制的接口技術(shù),用于主機(jī)與外部設(shè)備態(tài)簡(jiǎn)友之間的連接(最多可以連接16個(gè)設(shè)備)
SCSI 協(xié)議是主機(jī)與存儲(chǔ)磁盤通信的基本協(xié)議
DAS 使用SCSI 協(xié)議實(shí)現(xiàn)主機(jī)服務(wù)器與存儲(chǔ)設(shè)備的互連
5924aad5e3f1e60e60c51bdccd8c1a38.png
并行SCSI 的演變
(1981年)最初由 Shugart Associates、 NCR開發(fā),名字為SASI
ANSI 承認(rèn)其為工業(yè)標(biāo)準(zhǔn)
SCSI 的版本
SCSI-1
定義了線纜長(zhǎng)度,信號(hào)特征,命令和傳輸模式
使用8 位窄總線,更大傳輸率為 5MB/s
SCSI-2
定義了通用命令集(Common Command Set, 簡(jiǎn)稱CCS)
提高了性能,可靠性,新增了一些特性
SCSI-3
SCSI最新版本
由多個(gè)相關(guān)的標(biāo)準(zhǔn)組成,不再是一個(gè)大文件
SCSI-3 架構(gòu)
f06acbc904d372c38694d0c9c.png
SCSI命令協(xié)議(應(yīng)用層)
各類型設(shè)備通用的主要命令
傳輸層協(xié)議
設(shè)備間互連和信息共享的標(biāo)準(zhǔn)規(guī)則,scsi-3、fc等等
物理層互連
接口細(xì)節(jié): 比如電信號(hào)傳輸方法和數(shù)據(jù)傳輸模式
SCSI 協(xié)議模型
主機(jī)到存儲(chǔ)磁盤間的通信由啟動(dòng)器發(fā)起,由目標(biāo)器接收和處理
c34ab2de157b29cb979e9392b1a5263f.png
SCSI 協(xié)議尋址
總線號(hào): 區(qū)分不同的SCSI 總線
設(shè)備ID: 區(qū)分SCSI 總線上不同的設(shè)備
邏輯單元號(hào): 區(qū)分SCSI 設(shè)備中的子設(shè)備
ATA 和 SATA
高級(jí)技術(shù)附件(Advanced Technology Attachment)是上世紀(jì)90 年代桌面機(jī)標(biāo)準(zhǔn)
采用可編程IO 技術(shù),速度和智能性不高
SATA(Serial Advanced Technology Attachment)是ATA 技術(shù)的升級(jí)版本,曾是桌面電腦ATA 接口硬盤的主要替代技術(shù)
因容量大,價(jià)格便宜,在企業(yè)級(jí)服務(wù)器和存儲(chǔ)系統(tǒng)中曾廣泛的被使用
現(xiàn)在多被更加智能的NL-SAS 接口的硬盤替代
Serial Attached SCSI(串行 SCSI 協(xié)議)
在企業(yè)級(jí)存儲(chǔ)系統(tǒng)中,SAS(Serial Attached SCSI)接口已經(jīng)取代并行連接SCSI 和 SATA 接口
特點(diǎn)
采用點(diǎn)對(duì)點(diǎn)連接方式
高帶寬(300M/s,600M/s)
效率高
支持熱插拔
I/O(Input/Ouput)操作
單個(gè)IO
操作系統(tǒng)內(nèi)核發(fā)出一個(gè)讀IO命令,當(dāng)控制磁盤的控制器接到這個(gè)指令后,控制器會(huì)給磁盤發(fā)送一個(gè)讀數(shù)據(jù)的指令,并同時(shí)將要讀取數(shù)據(jù)塊的地址傳送給磁盤,然后硬盤讀取數(shù)據(jù)傳送給控制器,并由控制器返回給操作系統(tǒng),完成一個(gè)IO操作
讀寫IO
寫磁盤為寫IO,讀數(shù)據(jù)為讀IO
隨機(jī)訪問(wèn)(Random Access) 與連續(xù)訪問(wèn)(Sequential Access): 由當(dāng)此IO 給出的扇區(qū)地址與上次IO 結(jié)束的扇區(qū)地址相差得是否較大決定
順序IO模式(Queue Mode)/并發(fā)IO模式(Burst Mode): 由磁盤組一次能執(zhí)行的IO 命令個(gè)數(shù)決定
完整的IO操作
當(dāng)控制器對(duì)硬盤發(fā)出一個(gè)IO操作指令的時(shí)候,磁盤的磁頭臂帶動(dòng)讀寫磁頭離開著陸區(qū),然后移動(dòng)到要操作初始數(shù)據(jù)塊所在的磁道正上方,此過(guò)程為尋道,消耗的時(shí)間為尋道時(shí)間
磁頭等到盤片旋轉(zhuǎn)到初始數(shù)據(jù)塊所在扇區(qū)的正上方,此時(shí)才能進(jìn)行數(shù)據(jù)的讀取,這個(gè)過(guò)程稱之為旋轉(zhuǎn)時(shí)間
然后讀取相應(yīng)數(shù)據(jù),直到完成這次IO所操作的全部數(shù)據(jù),這個(gè)過(guò)程所花費(fèi)的時(shí)間稱之為數(shù)據(jù)傳送時(shí)間
尋道時(shí)間
全程尋道時(shí)間: 磁頭橫跨整個(gè)磁盤的寬度所用的時(shí)間(著陸區(qū) –> 最外層0磁道)
平均尋道時(shí)間: 一般為全程尋道時(shí)間的1/3
道間尋道時(shí)間: 磁頭在相鄰磁道之間所用的時(shí)間
旋轉(zhuǎn)時(shí)延
決定于主軸的轉(zhuǎn)動(dòng)速度
平均旋轉(zhuǎn)動(dòng)延遲: 完全旋轉(zhuǎn)用時(shí)的一半
5400 rpm的磁盤平均旋轉(zhuǎn)時(shí)延: 5.5ms
15000 rpm的磁盤的平均旋轉(zhuǎn)時(shí)延: 2.0ms
數(shù)據(jù)傳輸時(shí)延
數(shù)據(jù)傳輸時(shí)延決定于數(shù)據(jù)傳輸速度,即單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量
內(nèi)部傳輸速度: 數(shù)據(jù)從盤片扇區(qū)上傳送到硬盤上的內(nèi)部緩存的速度
外部傳輸速度: 接口的標(biāo)稱速度
IOPS
IOPS是IO系統(tǒng)每秒所執(zhí)行IO操作的次數(shù),是一個(gè)重要的用來(lái)衡量系統(tǒng)IO能力的參數(shù),對(duì)于單個(gè)磁盤,計(jì)算其完成一次IO所需要的時(shí)間來(lái)推算其IOPS
IOTime = 尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度
IOPS = 1/IOTime = 1 / (尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度)
單個(gè)IO大小
尋道時(shí)間(ms)
旋轉(zhuǎn)延遲(ms)
c傳輸時(shí)延(ms)
IO服務(wù)時(shí)間(ms)
IOPS
4K
4K/40MB = 0.1
7.1
140
8K
8K/40MB = 0.2
7.2
139
16K
16K/40MB = 0.4
7.4
135
32K
32K/40MB = 0.8
7.8
128
當(dāng)單次IO越小的時(shí)候,單次IO所耗費(fèi)的時(shí)間也越少,相應(yīng)的IOPS也就越大
帶寬(Throughput)
帶寬是指磁盤在實(shí)際使用的時(shí)候從磁盤系統(tǒng)總線上流過(guò)的數(shù)據(jù)量,也稱為磁盤的實(shí)際傳輸速率
帶寬 = IOPS * IO大小
利用率和響應(yīng)時(shí)間
20b1915f5c8217bb33d202306f6dcb71.png
固態(tài)硬盤
價(jià)格逐漸下降,容量越來(lái)越大,固態(tài)硬盤(SSD)變得越來(lái)越流行
SSD原理
使用flash 技術(shù)存儲(chǔ)信息
內(nèi)部沒(méi)有機(jī)械結(jié)構(gòu)
耗電量更小
散熱小
噪音小
基于SSD的使用頻率,其使用壽命有限
SSD的3中主要的類型
SLC(Single Level Cell): 單層式存儲(chǔ)單元
MLC(Multi Level Cell): 多層式存儲(chǔ)單元
TLC(Triple Levle Cell): 三層式存儲(chǔ)單元
SLC-MLC-TLC
4cf9876db5183c80ae7ded9281bd15a1.png
在SLC 中,每個(gè)存儲(chǔ)單元(cell)只存1bit數(shù)據(jù): 0或1
在MLC 中,每個(gè)存儲(chǔ)單元(cell)可存2bit數(shù)據(jù): 00, 01, 10, 11
在TLC 中,每個(gè)存儲(chǔ)單元(cell)可存3bit數(shù)據(jù): 000, 001, 010, 011, 100, 101, 110, 111
固態(tài)硬盤的磨損
對(duì)SSD 盤的可靠性影響更大的其抗磨損能力,即其cell能被擦寫的次數(shù)
企業(yè)級(jí)的SCL、MLC和TLC 在抗磨損方面的區(qū)別明顯
類型
容量
可擦寫次數(shù)
單位容量?jī)r(jià)格
SLC
小
約100,000
高
eMLC(企業(yè)級(jí)別)
中等
約30,000
中等
cMLC(消費(fèi)者)
中等
5000~10,000
低
TLC
大
500~1,000
很低
固態(tài)硬盤結(jié)構(gòu)
13fcdb2965c3cbd48cd5359bac30447e.png
無(wú)高速旋轉(zhuǎn)部件,性能高、功耗低
多通道并發(fā),通道內(nèi)Flash顆粒復(fù)用時(shí)許
支持TCQ/NCQ,一次響應(yīng)多個(gè)IO請(qǐng)求
典型響應(yīng)時(shí)間低于0.1ms
SDD 性能優(yōu)勢(shì)
響應(yīng)時(shí)間短
機(jī)械硬盤的機(jī)械特性導(dǎo)致大部分時(shí)間浪費(fèi)在尋道和機(jī)械延遲上,數(shù)據(jù)傳輸效率收到嚴(yán)重制約
讀寫效率高
機(jī)械硬盤在進(jìn)行隨機(jī)讀寫曹祖時(shí),磁頭不停的移動(dòng),導(dǎo)致讀寫效率低下
而SSD 通過(guò)內(nèi)部控制器計(jì)算出數(shù)據(jù)的存放位置,直接進(jìn)行存取操作,故效率高
SSD 功耗優(yōu)勢(shì)
162cec988a5abe41aef68791a5dea675.png
文章知識(shí)點(diǎn)與官方知識(shí)檔案匹配
CS入門技能樹Linux入門初識(shí)Linux
21547 人正在系統(tǒng)學(xué)習(xí)中
點(diǎn)擊閱讀全文
打開CSDN APP,看更多技術(shù)內(nèi)容
參與評(píng)論 請(qǐng)先 登錄 后發(fā)表或查看評(píng)論
操作系統(tǒng)讀寫者問(wèn)題實(shí)驗(yàn)報(bào)告_Linux操作系統(tǒng)存儲(chǔ)子系統(tǒng)核心技術(shù)之硬盤與RAID
Linux操作系統(tǒng)的存儲(chǔ)子系統(tǒng)應(yīng)該是Linux中最為復(fù)雜的子系統(tǒng)了。其實(shí)很多子系統(tǒng)都認(rèn)為自己是最復(fù)雜的子系統(tǒng),比如內(nèi)存子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)也這么說(shuō)。無(wú)論如何,存儲(chǔ)子系統(tǒng)在Linux中是比較復(fù)雜的。今天我們就介紹一下Linux的存儲(chǔ)子系統(tǒng)中的硬盤與RAID的相關(guān)內(nèi)容,后面再寫一篇關(guān)于LVM與文件系統(tǒng)的內(nèi)容。硬盤在Linux的存儲(chǔ)子系統(tǒng)中,更底層的就是硬盤了。這里的硬盤并不是指我們看到的硬盤硬件,而是指…
繼續(xù)訪問(wèn)
最新發(fā)布 Linux磁盤邏輯卷
Linux邏輯卷的創(chuàng)建,添加
繼續(xù)訪問(wèn)
LVM和磁盤配額 讓我們一起來(lái)看下吧
LVM和磁盤配額 前言 許多Linux使用者在安裝操作系統(tǒng)時(shí)都會(huì)遇到這樣的困境;如何精確評(píng)估和分配各個(gè)硬盤分區(qū)的容量,如果當(dāng)初估計(jì)不準(zhǔn)確,一旦系統(tǒng)分區(qū)不夠用時(shí)可能不得不備份、刪除相關(guān)數(shù)據(jù),甚至被迫重新規(guī)劃分區(qū)并重裝操作系統(tǒng),以滿足應(yīng)用系統(tǒng)的需要。 LVM概述 Logical Volume Manager,邏輯卷管理 動(dòng)態(tài)調(diào)整磁盤容量,從而提高磁盤管理的靈活性 /boot分區(qū)用于存放引導(dǎo)文件,不能基于LVM創(chuàng)建 圖形界面管理工具 system-config-lvm LVM 是 Linux 操作系統(tǒng)中對(duì)磁盤分區(qū)
繼續(xù)訪問(wèn)
linux 磁盤控制器,linux – 戴爾R710上的PERC 6 / i RAID:?jiǎn)蝹€(gè)控制器上的慢速磁盤…… RAID10?…
這里有多個(gè)問(wèn)題 – 但它從這開始:我們?cè)赗AID10配置中安裝了帶有PERC 6 / i RAID控制器(或控制器)的Dell PowerEdge R710.系統(tǒng)運(yùn)行Ubuntu Server 10.04 LTS,MySQL執(zhí)行讀取密集型工作負(fù)載.我使用blockdev –setra ### / dev / sda增加了readahead以增加readahead(讀取至少在理論上是順序讀取).這似…
繼續(xù)訪問(wèn)
IO系統(tǒng)性能之一:衡量性能的幾個(gè)指標(biāo)
幾個(gè)基本的概念 在研究磁盤性能之前我們必須先了解磁盤的結(jié)構(gòu),以及工作原理。不過(guò)在這里就不再重復(fù)說(shuō)明了,關(guān)系硬盤結(jié)構(gòu)和工作原理的信息可以參考上面的相關(guān)詞條——Hard disk drive(英文)和硬盤驅(qū)動(dòng)器(中文)。 讀寫IO(Read/Write IO
繼續(xù)訪問(wèn)
如何添加windows 系統(tǒng)的邏輯磁盤并設(shè)置盤符
在虛擬化及云計(jì)算平臺(tái)中經(jīng)常涉及動(dòng)態(tài)添加磁盤,比如之前分配系統(tǒng)為一個(gè)100G的磁盤,隨著業(yè)務(wù)的需要,新增一個(gè)300G的業(yè)務(wù)磁盤,在虛擬化后臺(tái)添加完畢之后,如何在虛擬機(jī)添加邏輯磁盤并設(shè)置盤符呢?本文將介紹如何添加windows 系統(tǒng)的邏輯磁盤并設(shè)置盤符的方法。實(shí)驗(yàn)環(huán)境:OS:windows server 2023目標(biāo):新增一個(gè)300G的磁盤,并設(shè)置為E盤。操作方法如下:…
繼續(xù)訪問(wèn)
linux下磁盤控制器無(wú)法驅(qū)動(dòng),Linux eMMC子系統(tǒng)之主機(jī)控制器驅(qū)動(dòng)(host conntroller driver)…
1. 前言本文是Linux MMC framework的第二篇,將從驅(qū)動(dòng)工程師的角度,介紹MMC host controller driver有關(guān)的知識(shí),學(xué)習(xí)并掌握如何在MMC framework的框架下,編寫MMC控制器的驅(qū)動(dòng)程序。同時(shí),通過(guò)本篇文章,我們會(huì)進(jìn)一步的理解MMC、SD、SDIO等有關(guān)的基礎(chǔ)知識(shí)。2. MMC host驅(qū)動(dòng)介紹MMC的host driver,是用于驅(qū)動(dòng)MMC host…
繼續(xù)訪問(wèn)
Linux系統(tǒng)之磁盤管理一
磁盤管理,固態(tài)硬盤,機(jī)械硬盤
繼續(xù)訪問(wèn)
Linux系統(tǒng)的磁盤管理
磁盤管理 文章目錄磁盤管理1磁盤結(jié)構(gòu)1.1硬盤的物理結(jié)構(gòu)1.2硬盤的數(shù)據(jù)結(jié)構(gòu)1.3硬盤存儲(chǔ)容量1.4 硬盤接口的類型2MBR與磁盤分區(qū)2.1 為什么分區(qū)2.2硬盤分區(qū)3.文件系統(tǒng)3.1 文件系統(tǒng):3.1.1 **XFS**3.1.2 swap3.1.3FAT16、FAT32、3.1.4NTFS(xfs)3.1.5EXT43.1.6 JFS4.分區(qū)工具4.1 fdisk4.2 blkid4.3mkfs4.4 mkswap5.掛載與解掛載5.1mount5.2 df 1磁盤結(jié)構(gòu) 1.1硬盤的物理結(jié)構(gòu)
繼續(xù)訪問(wèn)
linux硬盤設(shè)置成AHCI,Linux下設(shè)置ICH7-M的磁盤控制器為AHCI模式
轉(zhuǎn)載請(qǐng)注明原文出處!【聲明】使用本文提供的方法設(shè)置ACHI而對(duì)硬件造成的損失,本人不承擔(dān)任何責(zé)任??!(理論上是沒(méi)什么問(wèn)題的,還是聲明下的好:-|)===============================================================================================================================…
繼續(xù)訪問(wèn)
linux物理分區(qū)與邏輯分區(qū)
前言 當(dāng)有一塊新的硬盤添加至Linux后需要在Linux下進(jìn)行一定的操作后才能正常時(shí)候,其大概流程為: 先對(duì)磁盤進(jìn)行分區(qū)(或者不進(jìn)行),再將分區(qū)設(shè)置為物理卷,將設(shè)置好的物理卷添加到現(xiàn)有某一卷組下或創(chuàng)建一個(gè)新卷組,再將卷組內(nèi)的多余空間分配至原有的邏輯卷內(nèi)或者建立新的邏輯卷。如果是分配到新的邏輯卷,需要重新分配文件系統(tǒng)的大??;如果建立新的物理卷,則需要格式化后,再掛載到某一目錄下進(jìn)行使用。 之一步:對(duì)…
繼續(xù)訪問(wèn)
Linux 主分區(qū),擴(kuò)展分區(qū)和邏輯分區(qū)
硬盤分區(qū)有三種,主磁盤分區(qū)、擴(kuò)展磁盤分區(qū)、邏輯分區(qū)。一個(gè)硬盤主分區(qū)至少有1個(gè),最多4個(gè),擴(kuò)展分區(qū)可以沒(méi)有,最多1個(gè)。且主分區(qū)+擴(kuò)展分區(qū)總共不能超過(guò)4個(gè)。邏輯分區(qū)可以有若干個(gè)。在windows下激活的主分區(qū)是硬盤的啟動(dòng)分區(qū),他是獨(dú)立的,也是硬盤的之一個(gè)分區(qū),正常分的話就是C區(qū)。 在linux下主分區(qū)和邏輯分區(qū)都可以用來(lái)放系統(tǒng),引導(dǎo)os開機(jī),grub會(huì)兼容windows系統(tǒng)開機(jī)啟動(dòng)。分出主分區(qū)后,其余
繼續(xù)訪問(wèn)
Linux的主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)
Linux中主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)和Windows的概念差不多,這里來(lái)類比著介紹一下Linux中的概念。 【磁盤命名】 在Linux中,若干個(gè)IDE設(shè)備(如:硬盤,光盤)的命名規(guī)則如下:每個(gè)設(shè)備映射的文件名稱都有一個(gè)hd前綴,按字母表排序命名,從之一個(gè)往后依次為:hda,hdb,hdc……。要注意的是USB磁盤通常會(huì)被識(shí)別為SCSI設(shè)備,命名依次為:sda,sdb,sdc…。 【概要】 在Li…
繼續(xù)訪問(wèn)
Linux-磁盤分區(qū)
磁盤分區(qū): 說(shuō)明: 磁盤的分區(qū)主要分為基本分區(qū)(primary partion)和擴(kuò)充分區(qū)(extension partion)兩種,基本分區(qū)和擴(kuò)充分區(qū)的數(shù)目之和不能大于四個(gè)。且基本分區(qū)可以馬上被使用但不能再分區(qū)。擴(kuò)充分區(qū)必須再進(jìn)行分區(qū)后才能使用,也就是說(shuō)它必須還要進(jìn)行二次分區(qū)。那么由擴(kuò)充分區(qū)…
繼續(xù)訪問(wèn)
linux主分區(qū)和邏輯分區(qū)
1. 主分區(qū): linux下磁盤分區(qū)分為主分區(qū)和擴(kuò)展分區(qū)兩種。且主分區(qū)和擴(kuò)展分區(qū)數(shù)目只和不能大于四。主分區(qū)一經(jīng)創(chuàng)建,格式化后可立即使用擴(kuò)展分區(qū)創(chuàng)建之后,無(wú)法直接格式化使用,必須進(jìn)行二次邏輯分區(qū)且格式化后才能使用。邏輯分區(qū)沒(méi)有數(shù)量限制!2. linux下分區(qū)和命名方案: linux下通過(guò)字母和數(shù)字組合來(lái)表示磁盤分區(qū):/dev/sda1 /dev/sda2 ….. /dev:…
繼續(xù)訪問(wèn)
Linux主分區(qū),擴(kuò)展分區(qū),邏輯分區(qū)的聯(lián)系和區(qū)別
言歸正傳,在安裝CentOS5.3的過(guò)程中,會(huì)遇到磁盤分區(qū)的界面,下拉式菜單中有4個(gè)選項(xiàng),這時(shí)你不要選擇默認(rèn),打開下拉式菜單,選擇最后一項(xiàng)(翻譯成中文意思是:建立自定義的分割模式)。然后選擇右下角的確認(rèn),在下一個(gè)對(duì)話界面里依序建立/、/home 及 swap ,完成后如圖。確認(rèn)設(shè)置后的分割區(qū)。
為強(qiáng)調(diào)重點(diǎn),把圖中重要內(nèi)容,再寫一遍。
/根目錄ext3
繼續(xù)訪問(wèn)
linux磁盤做邏輯卷步驟
查看當(dāng)前掛載使用的磁盤信息 # df -h 文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn) /dev/mapper/centos_linux–template-root 90G 1.6G 89G 2% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs
繼續(xù)訪問(wèn)
熱門推薦 Linux主分區(qū)、擴(kuò)展分區(qū)、邏輯分區(qū)
在Linux系統(tǒng)下(其他操作系統(tǒng)也有類似的規(guī)定),磁盤的分區(qū)大致可以分為三類,分別為主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)等等。Linux系統(tǒng)管理員在部署系統(tǒng)時(shí),必須要對(duì)這三個(gè)分區(qū)進(jìn)行一個(gè)合理的規(guī)劃,否則的話會(huì)浪費(fèi)寶貴的硬盤空間。通常情況下,一個(gè)硬盤中最多能夠分割四個(gè)主分區(qū)。因?yàn)橛脖P中分區(qū)表的大小只有64Bytes,而分割一個(gè)分區(qū)就需要利用16Bytes空間來(lái)存儲(chǔ)這個(gè)分…
繼續(xù)訪問(wèn)
Linux邏輯卷分區(qū)大小調(diào)整
背景: 當(dāng)我們?cè)诎惭b系統(tǒng)的時(shí)候,由于沒(méi)有合理的分區(qū),在后續(xù)使用過(guò)程中,發(fā)現(xiàn)在操作的時(shí)候,系統(tǒng)提示”No space left” = “硬盤空間不足” 1)了解linux文件系統(tǒng),linux文件系統(tǒng)分為ext2/3/4和xfs,針對(duì)不同的文件系統(tǒng),linux進(jìn)行分區(qū)調(diào)整有不同的命令; 2)ext2/ext3/ext4調(diào)整分區(qū)大小的命令: lvextend -L +100G /dev/mappe…
繼續(xù)訪問(wèn)
linux邏輯磁盤管理器
寫評(píng)論
評(píng)論
收藏
點(diǎn)贊
踩
分享
機(jī)械硬盤組成
盤片: 上面布滿磁性顆粒,保存寫入數(shù)據(jù)
主軸: 帶動(dòng)盤片轉(zhuǎn)動(dòng),轉(zhuǎn)到磁頭的下方
讀/寫磁頭: 負(fù)責(zé)數(shù)據(jù)的讀寫
磁頭臂: 帶動(dòng)磁頭,將磁頭移動(dòng)到指定位置
控制電路: 控制硬盤的速度,磁頭臂的移動(dòng)等等
機(jī)械磁盤的屬性
磁道: 盤片圍繞在主軸周圍的同心環(huán),編號(hào)由外至內(nèi)從0累加
扇區(qū): 磁道上被分成的更小的單位,也是磁盤中保存數(shù)據(jù)最小的存儲(chǔ)單元,一般大小為512k,也有更大的扇區(qū)4K
柱面: 在同一個(gè)磁盤中,所有盤片相同位置編號(hào)的磁道形成的一個(gè)圓柱
機(jī)械銀跡磁盤工作方式
主軸帶動(dòng)盤片做圓周運(yùn)動(dòng),磁頭臂帶動(dòng)磁頭直徑運(yùn)動(dòng)
5838c4c164f3c12023a5f1eb3c51bb20.png
機(jī)械硬盤
常用總線協(xié)議/磁盤類型
SCSI協(xié)議
SCSI(Small Computer System Interface,碰搏改小型計(jì)算機(jī)系統(tǒng)接口)最初是一種為了小型機(jī)研制的接口技術(shù),用于主機(jī)與外部設(shè)備之間的連接(最多可以連接16個(gè)設(shè)備)
SCSI 協(xié)議是主機(jī)與存儲(chǔ)磁盤通信的基本協(xié)議
DAS 使用SCSI 協(xié)議實(shí)現(xiàn)主機(jī)服務(wù)器與存儲(chǔ)設(shè)備的互連
5924aad5e3f1e60e60c51bdccd8c1a38.png
并行SCSI 的演變
(1981年)最初由 Shugart Associates、 NCR開發(fā),名字為SASI
ANSI 承認(rèn)其為工業(yè)標(biāo)準(zhǔn)
SCSI 的版本
SCSI-1
定義了線纜長(zhǎng)度,信號(hào)特征,命令和傳輸模式
使用8 位窄總線,更大傳輸率為 5MB/s
SCSI-2
定義了通用命令集(Common Command Set, 簡(jiǎn)稱CCS)
提高了性能,可靠性,新增了一些特性
SCSI-3
SCSI最新版本
由多個(gè)相關(guān)的標(biāo)準(zhǔn)組成,不再是一個(gè)大文件
SCSI-3 架構(gòu)
f06acbc904d372c38694d0c9c.png
SCSI命令協(xié)議(應(yīng)用層)
各類型設(shè)備通用的主要命令
傳輸層協(xié)議
設(shè)備間互連和信息共享的標(biāo)準(zhǔn)規(guī)則,scsi-3、fc等等
物理層互連
接口細(xì)節(jié): 比如電信號(hào)傳輸方法和數(shù)據(jù)傳輸模式
SCSI 協(xié)議模型
主機(jī)到存儲(chǔ)磁盤間的通信由啟動(dòng)器發(fā)起,由目標(biāo)器接收和處理
c34ab2de157b29cb979e9392b1a5263f.png
SCSI 協(xié)議尋址
總線號(hào): 區(qū)分不同的SCSI 總線
設(shè)備ID: 區(qū)分SCSI 總線上不同的設(shè)備
邏輯單元號(hào): 區(qū)分SCSI 設(shè)備中的子設(shè)備
ATA 和 SATA
高級(jí)技術(shù)附件(Advanced Technology Attachment)是上世紀(jì)90 年代桌面機(jī)標(biāo)準(zhǔn)
采用可編程IO 技術(shù),速度和智能性不高
SATA(Serial Advanced Technology Attachment)是ATA 技術(shù)的升級(jí)版本,曾是桌面電腦ATA 接口硬盤的主要替代技術(shù)
因容量大,價(jià)格便宜,在企業(yè)級(jí)服務(wù)器和存儲(chǔ)系統(tǒng)中曾廣泛的被使用
現(xiàn)在多被更加智能的NL-SAS 接口的硬盤替代
Serial Attached SCSI(串行 SCSI 協(xié)議)
在企業(yè)級(jí)存儲(chǔ)系統(tǒng)中,SAS(Serial Attached SCSI)接口已經(jīng)取代并行連接SCSI 和 SATA 接口
特點(diǎn)
采用點(diǎn)對(duì)點(diǎn)連接方式
高帶寬(300M/s,600M/s)
效率高
支持熱插拔
I/O(Input/Ouput)操作
單個(gè)IO
操作系統(tǒng)內(nèi)核發(fā)出一個(gè)讀IO命令,當(dāng)控制磁盤的控制器接到這個(gè)指令后,控制器會(huì)給磁盤發(fā)送一個(gè)讀數(shù)據(jù)的指令,并同時(shí)將要讀取數(shù)據(jù)塊的地址傳送給磁盤,然后硬盤讀取數(shù)據(jù)傳送給控制器,并由控制器返回給操作系統(tǒng),完成一個(gè)IO操作
讀寫IO
寫磁盤為寫IO,讀數(shù)據(jù)為讀IO
隨機(jī)訪問(wèn)(Random Access) 與連續(xù)訪問(wèn)(Sequential Access): 由當(dāng)此IO 給出的扇區(qū)地址與上次IO 結(jié)束的扇區(qū)地址相差得是否較大決定
順序IO模式(Queue Mode)/并發(fā)IO模式(Burst Mode): 由磁盤組一次能執(zhí)行的IO 命令個(gè)數(shù)決定
完整的IO操作
當(dāng)控制器對(duì)硬盤發(fā)出一個(gè)IO操作指令的時(shí)候,磁盤的磁頭臂帶動(dòng)讀寫磁頭離開著陸區(qū),然后移笑判動(dòng)到要操作初始數(shù)據(jù)塊所在的磁道正上方,此過(guò)程為尋道,消耗的時(shí)間為尋道時(shí)間
磁頭等到盤片旋轉(zhuǎn)到初始數(shù)據(jù)塊所在扇區(qū)的正上方,此時(shí)才能進(jìn)行數(shù)據(jù)的讀取,這個(gè)過(guò)程稱之為旋轉(zhuǎn)時(shí)間
然后讀取相應(yīng)數(shù)據(jù),直到完成這次IO所操作的全部數(shù)據(jù),這個(gè)過(guò)程所花費(fèi)的時(shí)間稱之為數(shù)據(jù)傳送時(shí)間
尋道時(shí)間
全程尋道時(shí)間: 磁頭橫跨整個(gè)磁盤的寬度所用的時(shí)間(著陸區(qū) –> 最外層0磁道)
平均尋道時(shí)間: 一般為全程尋道時(shí)間的1/3
道間尋道時(shí)間: 磁頭在相鄰磁道之間所用的時(shí)間
旋轉(zhuǎn)時(shí)延
決定于主軸的轉(zhuǎn)動(dòng)速度
平均旋轉(zhuǎn)動(dòng)延遲: 完全旋轉(zhuǎn)用時(shí)的一半
5400 rpm的磁盤平均旋轉(zhuǎn)時(shí)延: 5.5ms
15000 rpm的磁盤的平均旋轉(zhuǎn)時(shí)延: 2.0ms
數(shù)據(jù)傳輸時(shí)延
數(shù)據(jù)傳輸時(shí)延決定于數(shù)據(jù)傳輸速度,即單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量
內(nèi)部傳輸速度: 數(shù)據(jù)從盤片扇區(qū)上傳送到硬盤上的內(nèi)部緩存的速度
外部傳輸速度: 接口的標(biāo)稱速度
IOPS
IOPS是IO系統(tǒng)每秒所執(zhí)行IO操作的次數(shù),是一個(gè)重要的用來(lái)衡量系統(tǒng)IO能力的參數(shù),對(duì)于單個(gè)磁盤,計(jì)算其完成一次IO所需要的時(shí)間來(lái)推算其IOPS
IOTime = 尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度
IOPS = 1/IOTime = 1 / (尋道時(shí)間 + 60s/轉(zhuǎn)速/2 + IOChunkSize/傳輸速度)
單個(gè)IO大小
尋道時(shí)間(ms)
旋轉(zhuǎn)延遲(ms)
c傳輸時(shí)延(ms)
IO服務(wù)時(shí)間(ms)
IOPS
4K
4K/40MB = 0.1
7.1
140
8K
8K/40MB = 0.2
7.2
139
16K
16K/40MB = 0.4
7.4
135
32K
32K/40MB = 0.8
7.8
128
當(dāng)單次IO越小的時(shí)候,單次IO所耗費(fèi)的時(shí)間也越少,相應(yīng)的IOPS也就越大
帶寬(Throughput)
帶寬是指磁盤在實(shí)際使用的時(shí)候從磁盤系統(tǒng)總線上流過(guò)的數(shù)據(jù)量,也稱為磁盤的實(shí)際傳輸速率
帶寬 = IOPS * IO大小
利用率和響應(yīng)時(shí)間
固態(tài)硬盤
價(jià)格逐漸下降,容量越來(lái)越大,固態(tài)硬盤(SSD)變得越來(lái)越流行
SSD原理
使用flash 技術(shù)存儲(chǔ)信息
內(nèi)部沒(méi)有機(jī)械結(jié)構(gòu)
耗電量更小
散熱小
噪音小
基于SSD的使用頻率,其使用壽命有限
SSD的3中主要的類型
SLC(Single Level Cell): 單層式存儲(chǔ)單元
MLC(Multi Level Cell): 多層式存儲(chǔ)單元
TLC(Triple Levle Cell): 三層式存儲(chǔ)單元
SLC-MLC-TLC
在SLC 中,每個(gè)存儲(chǔ)單元(cell)只存1bit數(shù)據(jù): 0或1
在MLC 中,每個(gè)存儲(chǔ)單元(cell)可存2bit數(shù)據(jù): 00, 01, 10, 11
在TLC 中,每個(gè)存儲(chǔ)單元(cell)可存3bit數(shù)據(jù): 000, 001, 010, 011, 100, 101, 110, 111
固態(tài)硬盤的磨損
對(duì)SSD 盤的可靠性影響更大的其抗磨損能力,即其cell能被擦寫的次數(shù)
企業(yè)級(jí)的SCL、MLC和TLC 在抗磨損方面的區(qū)別明顯
類型
容量
可擦寫次數(shù)
單位容量?jī)r(jià)格
SLC
小
約100,000
高
eMLC(企業(yè)級(jí)別)
中等
約30,000
中等
cMLC(消費(fèi)者)
中等
5000~10,000
低
TLC
大
500~1,000
很低
固態(tài)硬盤結(jié)構(gòu)
無(wú)高速旋轉(zhuǎn)部件,性能高、功耗低
多通道并發(fā),通道內(nèi)Flash顆粒復(fù)用時(shí)許
支持TCQ/NCQ,一次響應(yīng)多個(gè)IO請(qǐng)求
典型響應(yīng)時(shí)間低于0.1ms
SDD 性能優(yōu)勢(shì)
響應(yīng)時(shí)間短
機(jī)械硬盤的機(jī)械特性導(dǎo)致大部分時(shí)間浪費(fèi)在尋道和機(jī)械延遲上,數(shù)據(jù)傳輸效率收到嚴(yán)重制約
讀寫效率高
機(jī)械硬盤在進(jìn)行隨機(jī)讀寫曹祖時(shí),磁頭不停的移動(dòng),導(dǎo)致讀寫效率低下
而SSD 通過(guò)內(nèi)部控制器計(jì)算出數(shù)據(jù)的存放位置,直接進(jìn)行存取操作,故效率高
SSD 功耗優(yōu)勢(shì)
作用: 用來(lái)存放數(shù)據(jù)(二進(jìn)制方式來(lái)管理數(shù)據(jù))分類機(jī)械硬盤固態(tài)硬盤機(jī)械硬盤組成盤片: 上面布滿磁性顆粒,保存寫入數(shù)據(jù)主軸: 帶動(dòng)盤片轉(zhuǎn)動(dòng),轉(zhuǎn)到磁頭的下方讀/寫磁頭: 負(fù)責(zé)數(shù)據(jù)的讀寫磁頭臂: 帶動(dòng)磁頭,將磁頭移動(dòng)到指定位置控制電路: 控制硬盤的速度,磁頭臂的移動(dòng)等等機(jī)械磁盤的屬性磁道: 盤片圍繞在主軸周圍的同心環(huán),編號(hào)由外至內(nèi)從0累加扇區(qū): 磁道上被分成的更小的單位,也是磁盤中保存數(shù)據(jù)最小的存儲(chǔ)單元,一般大小為512k,也有更大的扇區(qū)4K柱面: 在同一個(gè)磁盤中,所有盤片相同位置編號(hào)的磁道形成的一個(gè)圓柱機(jī)械磁盤工作方式主軸帶動(dòng)盤片做圓周運(yùn)動(dòng),磁頭臂帶動(dòng)磁頭直徑運(yùn)動(dòng)5838c4c164f3c12023a5f1eb3c51bb20.png機(jī)械硬盤常用總線協(xié)議/磁盤類型SCSI協(xié)議SCSI(Small Computer System Interface,小型計(jì)算
當(dāng)前名稱:簡(jiǎn)單易懂的Linux系統(tǒng)IOPS查看方法!(linux系統(tǒng)iops查看)
文章地址:http://www.5511xx.com/article/dphpcop.html


咨詢
建站咨詢
