第一章 磁盤歷史和內(nèi)外部物理結(jié)構(gòu)介紹
1畦徘、磁盤的歷史介紹
從1956年9月IBM向世界展示了第一臺磁盤存儲系統(tǒng)IBM 350 RAMAC至今卑吭,磁盤存儲系統(tǒng)已經(jīng)經(jīng)歷了近半個世紀(jì)的發(fā)展店读。經(jīng)歷了這么多年疲陕,磁盤的變化非常巨大补君。雖然最早的RAMAC容量只有5MB甥郑,然而卻需要使用50個直徑為24英寸的硬盤。而我們現(xiàn)在的一塊容量高達1000GB的磁盤筋蓖,僅僅只需要三張磁盤片(還是一塊3.5寸盤)即可卸耘。
2、磁盤發(fā)展趨勢和實現(xiàn)措施
第二章 磁盤核心知識及數(shù)據(jù)讀寫原理
1粘咖、企業(yè)生產(chǎn)環(huán)境主流磁盤的相關(guān)信息對比:
企業(yè)生產(chǎn)場景普及程度:SAS>SSD>SATA
企業(yè)容量對比性能和價格:SSD>SAS>SATA(一塊SSD和一塊SATA)
企業(yè)價格購買磁盤容量:SATA>SAS>SSD
2蚣抗、固態(tài)磁盤于傳統(tǒng)磁盤比較,擁有以下缺點:
![EATN
O]HPGX9]}X@HWHQ1K.png](https://upload-images.jianshu.io/upload_images/16833162-9dd52f8303e4e6e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3、SSD固態(tài)粗盤與傳統(tǒng)機械磁盤優(yōu)劣勢對比:
4翰铡、企業(yè)生產(chǎn)工作中磁盤的選型
磁盤:當(dāng)前服務(wù)器市場:主流磁盤為SAS钝域、SATA、SSD硬盤锭魔。
(1)企業(yè)級SAS硬盤(默認(rèn)):
企業(yè)里常見的SAS硬盤是15000轉(zhuǎn)/分(這里就是主軸的轉(zhuǎn)數(shù))例证。當(dāng)前主流300G、600G迷捧、1000G,從具體的業(yè)務(wù)需求及性價比考慮织咧,在工作中多用146G、300-600G的SAS硬盤漠秋,
一般選6*300G,6*600G笙蒙,單盤容量不要太大,除非純備份庆锦!
用途:用戶提供生產(chǎn)線上的普通對外提供服務(wù)的業(yè)務(wù)服務(wù)器
例如:生產(chǎn)線上的數(shù)據(jù)庫業(yè)務(wù)捅位、存儲業(yè)務(wù)、圖片業(yè)務(wù)及相關(guān)高并發(fā)業(yè)務(wù)(web http,cache服務(wù))搂抒,總的來說绿渣,如果沒有特殊業(yè)務(wù)需求,SAS磁盤是生產(chǎn)環(huán)境首選的磁盤配置燕耿。
(2)企業(yè)級SATA硬盤:
企業(yè)級SATA硬盤中符,7200-10000轉(zhuǎn)/分,常見的容量為1T和2T誉帅,4T淀散,6T,優(yōu)點是經(jīng)濟實惠蚜锨,
容量大档插,從具體的業(yè)務(wù)需求及性價比考慮,老男孩老師在工作中多用SATA磁盤做線下不提供服務(wù)的數(shù)據(jù)存儲或者并發(fā)業(yè)務(wù)訪問不是很大的業(yè)務(wù)應(yīng)用亚再,比如站點程序及數(shù)據(jù)庫郭膛、圖片的線下備份等。
特性:容量性價比高氛悬,一般2T的SATA磁盤較佳则剃。
選擇SATA理由:1、沒錢如捅。2棍现、量少,不給用戶提供服務(wù)镜遣。3己肮、備份。
磁盤選購小結(jié):
(1)線上的業(yè)務(wù),用SAS磁盤谎僻。
(2)線下的業(yè)務(wù)娄柳,用SATA磁盤,磁帶庫艘绍。
(3)線上高并發(fā)赤拒、容量小的業(yè)務(wù),SSD磁盤鞍盗。
(4)成本思想:根據(jù)數(shù)據(jù)的訪問熱度需了,只能分析分層存儲跳昼。SATA+SSD
5般甲、老男孩企業(yè)故障案例:
不要用SATA磁盤來做在線高并發(fā)服務(wù)的數(shù)據(jù)存儲或數(shù)據(jù)庫業(yè)務(wù),這是血的教訓(xùn)鹅颊。
某公司采用SATA做數(shù)據(jù)庫的存儲盤敷存,結(jié)果導(dǎo)致數(shù)據(jù)庫連續(xù)宕機一個月擒悬。
5臺SATA盤RAID5瘪贱。
解決:重新買5臺,把磁盤動SATA(RAID5)換成SAS(RAID10)艘儒。
數(shù)據(jù)庫集群帝雇。
1涮俄、主庫選擇用SAS RAID10,從庫SAS Raid0尸闸。
2彻亲、當(dāng)數(shù)據(jù)庫使用的引擎是MyISAM引擎,改成Innodb引擎吮廉。
6苞尝、磁盤相關(guān)名詞說明
7、磁盤及盤片結(jié)構(gòu)
8宦芦、盤片示意圖
9宙址、磁盤的磁道
磁盤在格式化時被劃分成許多同心圓,這些同心圓的軌跡叫做磁道(Track)调卑。磁道由盤面從外向內(nèi)依次從0開始順序編號抡砂。一塊磁盤大約有300~1024個磁道。
10恬涧、磁盤的扇區(qū)
扇區(qū)的第一個主要部分是標(biāo)識符舀患,標(biāo)識符就是扇區(qū)頭標(biāo),包括組成扇區(qū)三位地址的三個數(shù)字气破,扇區(qū)所在的磁頭(或盤面)聊浅。磁道(或柱面號)以及扇區(qū)在磁道上的位置即扇區(qū)號,頭標(biāo)中還包括一個字段,其中有顯示扇區(qū)是否能可靠存儲數(shù)據(jù)低匙,或者是否以及發(fā)現(xiàn)某個故障因而不宜使用的標(biāo)記旷痕。有些磁盤控制器在扇區(qū)頭標(biāo)中還記錄有指示字,可在原扇區(qū)出錯時指引磁盤轉(zhuǎn)到替換扇區(qū)或磁道顽冶。最后扇區(qū)頭標(biāo)以循環(huán)冗余校驗(CRC)值作為結(jié)束欺抗,以供控制器檢驗扇區(qū)頭標(biāo)的讀出情況,確保準(zhǔn)確無誤强重。
扇區(qū)的第二個主要部分是存儲數(shù)據(jù)的數(shù)據(jù)段绞呈,可分為數(shù)據(jù)和保護數(shù)據(jù)的糾錯碼(ECC)。在初始準(zhǔn)備期間间景,計算機用512個虛擬信息字節(jié)(實際數(shù)據(jù)的存放地)和與這些虛擬信息字節(jié)相應(yīng)的ECC數(shù)字填入這個部分佃声。
記憶要點:
(1). 一塊磁盤有2-14個盤片,每個盤片有兩個面倘要,每個面對于一個讀寫磁頭圾亏,用磁頭號來區(qū)分盤面,即盤面數(shù)就是磁頭數(shù)封拧。盤片數(shù)*2=磁頭數(shù)(盤面數(shù))
(2). 不同盤面的磁道被劃分為多個扇形區(qū)域志鹃,每個區(qū)域就是一個扇區(qū)
(3). 同一個盤面,以盤片中心為圓心泽西,每個不同半徑的圓形軌跡就是一個磁道
(4). 不同盤面相同半徑的磁道組成一個圓柱面就是柱面
(5). 一個柱面包含多個磁道(這些磁道的半徑一樣)曹铃,一個磁道包含多個扇區(qū)
(6). 數(shù)據(jù)信息記錄可表示為:某磁頭,某磁道(柱面)捧杉,某扇區(qū)陕见。
11、總結(jié)概括
(1)磁道的一句話概括定義
磁道:每個盤面有兩個面糠溜,都可記錄信息淳玩。盤片表面以盤片中心為圓心,用于記錄數(shù)據(jù)的不同半徑的原型磁化軌跡就稱為磁道非竿。磁化軌跡就是磁化區(qū)域蜕着,是看不見的。磁道看起來是一個平面圓周形红柱。
(2)扇區(qū)的一句話概括定義
扇區(qū):盤面由圓心向四周畫直線承匣,不同的磁道被直線分成許多扇形(弧形)的區(qū)域,每個弧形的區(qū)域叫做扇區(qū)锤悄,每個扇區(qū)大小一般為512字節(jié)韧骗,扇區(qū)看起來就是圓弧或扇形。
(3)柱面的一句話概括定義
柱面:磁盤中零聚,不同的盤片(或盤面)相同半徑的磁道軌跡從上到下所組成的圓柱形區(qū)域就稱為柱面袍暴,柱面看起來是一個圓柱形些侍。
12、磁盤是機械式磁盤:
(1)盤片的旋轉(zhuǎn)靠馬達帶動主軸政模,機械運動岗宣。
(2)磁頭的徑向移動也是靠步進電機來完成的,機械運動淋样。
(3)所有的磁頭同時同向移動的耗式。
磁盤在讀寫數(shù)據(jù)是,盡可能讓磁頭不懂趁猴,或少移動磁頭就能讀到更多或全部的數(shù)據(jù)刊咳。
13、磁盤讀取原理:
14儡司、機械磁盤讀寫磁盤數(shù)據(jù)的原理小結(jié):
(1)磁盤是按照柱面為單位讀寫數(shù)據(jù)的娱挨,即先讀取同一個盤面的某一個磁道,讀完之后枫慷,如果數(shù)據(jù)沒有讀完让蕾,磁頭也不會切換到其他的磁道浪规,而是選擇切換磁頭或听,讀取下一個盤面的相同半徑的磁道,知道所有盤面的相同半徑的磁道讀取完成會后笋婿,如果數(shù)據(jù)還沒有讀寫完成誉裆,才會切換其他不同半徑的磁道,這個切換磁道的過程稱為尋道缸濒。
(2)不同磁頭間的切換時電子切換足丢,而不同磁道間的切換需要磁頭做徑向運動,這個徑向運動需要步進電機調(diào)節(jié)庇配,這個動作是機械的切換斩跌。
磁頭尋道是機械運動,切換磁頭是電子切換捞慌。
15耀鸦、磁盤容量的計算:
512字節(jié)*每磁道扇區(qū)數(shù)=磁道大小
磁道大小*磁道數(shù)=盤面大小
盤面大小*磁頭數(shù)=磁盤容量
磁盤容量=512字節(jié)每磁道扇區(qū)數(shù)磁道數(shù)*磁頭數(shù)
柱面大小=磁道大小*磁頭數(shù)
磁道大小=521字節(jié)*沒磁道扇區(qū)數(shù)
磁盤容量=柱面大小*柱面數(shù)(磁道數(shù))
磁盤容量=521字節(jié)每磁道扇區(qū)數(shù)柱面數(shù)(磁道數(shù))*磁頭數(shù)
fdisk -l 查看磁盤對應(yīng)的分區(qū)
[root@oldboy ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000349ee Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 124 786432 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 124 2611 19979264 83 Linux [root@oldboy ~]# echo 512632610255|bc 21467980800 [root@oldboy ~]# echo 512632610255/1000/1000 512632610255/1000/1000 [root@oldboy ~]# echo 512632610255/1000/1000|bc 21467 [root@oldboy ~]# echo 512632610255/1000/1000/1000|bc 21 [root@oldboy ~]# echo 512 63 2610 255|awk '{print 24/1000000000}' 21.468