Linux磁碟裝置基礎

聽風走了八千里發表於2019-05-08

free -m 檢視系統記憶體

[root@zhang /]# free -m

             total       used       free     shared    buffers     cached

Mem:          1004        226        777          0         29        150

-/+ buffers/cache:         46        957

Swap:          199          0        199

linux系統的特性是將系統不用的實體記憶體快取起來,所以777不是系統真正的快取,957才是

buffers是寫入緩衝區,sync命令是將buffers緩衝區資料寫入磁碟

cache為讀出快取,磁碟裡的資料讀出來存到cache裡

 

磁碟的內部結構主要是包括:碟片、磁頭、碟片主軸、控制電機、磁頭控制器、資料轉換器、磁碟介面、快取等幾個部分。

磁頭元件:由讀寫磁頭、傳動手臂、傳動軸三部分組成。

磁碟讀取資料的工作原理是利用特定的磁粒子的極性來記錄資料。

磁碟片:碟片是磁碟儲存資料的真正載體

磁碟介面是磁碟與主機系統之間的連線部件。

 

磁碟型別:

IDE是早期的家用,被淘汰了

SCSI 早期的伺服器領域  好用但是昂貴

SATA流行的家用領域  --SATA口磁碟又叫做串列埠磁碟  支援熱插拔

SAS 流行的伺服器領域   --結合了SATA和SCSI的優點而誕生的

FC—光纖通道   高階伺服器

 

硬碟選擇的小結:

1.主軸轉數

2.磁碟介面和型別          

 

固態磁碟普遍使用SATA介面

固態磁碟的優點:

啟動快  讀取延時小  碎片不影響讀取  寫入速度快  無噪音 防震

缺點:貴,容量小,讀寫壽命短,資料恢復難

 

1)企業級SAS應用

企業裡最常見的工業級SAS硬碟是15000轉/分 ---用於提供生產線上的普通對外提供服務的對外伺服器。例如:生產線上的資料庫業務,儲存業務,圖片業務。SAS是生產環境的首選

2)企業級SATA硬碟

SATA硬碟7200-10000轉/分,常見容量為1T和2T。使用量大,要求不高使用SATA

3)SSD固態電子盤

一般用於資料量小並且有超大規模高併發業--可以通過磁碟加記憶體快取的技術方式解決這個大規模併發問題

 

磁碟使用小結:

1.線上的業務,使用SAS

2.線下的業務,使用SATA

3.線上高併發、小容量的業務,使用SSD磁碟

4.根據資料的訪問熱度,智慧分析分層從儲存。智慧分析的案例 淘寶(sata500G+ssd80G)

特別注意:

千萬不要用SATA磁碟來做線上高併發服務的資料儲存或資料庫業務。

 

作業系統是以扇區為單位將資訊儲存在磁碟上的。每個扇區為512個位元組

小結:

1.扇區大小是512位元組

2.扇區主要分為兩部分:識別符號頭標和資料段

3.識別符號(頭標):三維地址(哪個柱面(磁軌),磁頭號,哪個扇區),標識扇區是否可靠。

4.資料段: 資料和保護資料的糾錯碼(ECC)

 

磁軌柱面扇區總括

1.一塊磁碟有1個或多個碟片,一個碟片有兩個磁頭,磁頭數=盤面數。 柱面數=磁軌數

2.同一個盤面,以碟片中心為圓心,每個不同半徑的圓形軌跡就是一個磁軌

  

fdisk -l

磁碟大小=磁軌數(=柱面數cylinders)*磁頭數(head)*512位元組*扇區數(sectors/track)

磁碟大小=柱面數*柱面大小(Unit)

 

磁碟讀寫原理小結:

1)磁碟是按照柱面為單位讀寫資料的,即先讀取同一個盤面的某一個磁軌,讀完整個磁軌之後,如果資料沒有讀完,磁頭也不會切換到同一盤面的其他磁軌,而是切換磁頭

2)不同磁頭間的切換是電子切換

 

磁碟基礎知識回顧:

1)磁碟的作用:儲存資料,物理裝置。

3.5寸磁碟為例:

2)外部結構:

 正皮膚:固定皮膚:產地,容量,日期,轉數,品牌,條形碼,跳線,電壓,透氣孔,內六角螺絲。

 反皮膚:綠色控制電路板,上面有晶片,電容,電阻,快取作用(free -m)等

            Buffer寫入緩衝區,cache讀取快取區

 側面:電源介面,跳線,資料介面(ide sata sas scsi)

3)內部結構:

       磁碟片:2-14片 ,每個面都可以放資料

       主軸:裡面有軸承,馬達

       磁頭元件:磁頭,機械手臂,傳動軸

       前置控制電路,資料轉換器,永久磁鐵,步進電機(控制磁頭徑向移動)

       核心元件:磁頭及碟片

4)磁碟存取原理:

       磁碟讀資料時:將磁碟上的磁離子極性轉換成電脈衝訊號,然後通過資料轉換器轉換成電腦可以識別的資料。

5)磁碟讀寫資料的原理

       磁碟讀寫資料時,按照柱面來讀寫資料的。可能會先讀一個盤面的某一個磁軌的資料,讀完之後,在向下讀取相同磁軌,不同盤面的資料,知道所有盤面相同磁軌的資料被讀取完畢,切換到下一個柱面。這個切換過程叫做尋道,尋道要靠步進電機控制,讓磁頭做移動了,這是機械運動,因此很慢,寫同理。

6)磁碟相關名詞:

       Disk 磁碟

       Head 磁頭

       Sector 扇區

Track 磁軌

Cylinder 柱面

Units 單元塊(一個柱面的大小)

       Block 磁碟塊

inode 索引節點

 

主開機記錄MBR的所在地:

0磁頭0磁軌1扇區(512位元組)

前446位元組代表主開機記錄,後64位元組代表磁碟分割槽表(每個分割槽佔16位元組,這就是為什麼linux系統主分割槽+擴充套件分割槽只能有四個的原因),最後2位元組為分割槽結束標識

磁碟分割槽表的16位元組都代表什麼

1 bytes 分割槽狀態 1bytes 起始磁頭號 2bytes 分割槽起始扇區和柱面號 1bytes 分割槽型別

1 bytes 結束磁頭號 2bytes 分割槽結束扇區和柱面號 4bytes 線性定址 4bytes 分割槽大小

 

磁碟分割槽:

fdisk 適合小於2T的磁碟分割槽  --fdisk /dev/sdb

分割槽結束後 partprode /dev/sdb  告訴系統核心修改了分割槽

parted適合大於2T的磁碟分割槽,也可以對小於2T的磁碟進行分割槽

parted /dev/sdb mklabel gpt     parted /dev/sdb mkpart 0 2048000

磁碟分割槽知識:

分割槽實質:修改分割槽表,劃分起始柱面號和扇區號

一塊磁碟分割槽:最多4p,3p+e,2p+e,1p+e,1p,2p,3p   p主分割槽 e擴充套件分割槽 l邏輯分割槽

最多有一個擴充套件分割槽,作業系統的限制,擴充套件分割槽不能直接用,必須劃分邏輯分割槽

fdisk 分割槽的原理,就是修改64位位元組分割槽表。不能對大於2T的磁碟分割槽

parted GNU分割槽工具,可以適合各種分割槽情況,當然也支援大於2T分割槽

生產分割槽的建議:

常規分割槽:web叢集節點

/boot 100-200M

swap 記憶體1.5(記憶體大於8G,就只分8-16G)

/ 80-200G

/data 資料分割槽

入口網站:靈活分割槽

/boot 100-200M

swap 記憶體1.5(記憶體大於8G,就只分8-16G)

/ 80-200G

剩餘分割槽不分,留著,將來領用的部分自己再分

 

檔案系統小結:

1.檔案系統:檔案系統是對一個儲存裝置上的資料和源資料進行組織的一種機制,常見檔案系統如ext2,ext3,ext4,NTFS或FAT,FAT32

2.分割槽必須格式化建立檔案系統才能存放資料(所以必須格式化),不同分割槽只能有一種檔案系統

3.

Linux下常見的檔案系統ext2,ext3,ext4,zfs,xfs和Reiserfs

檔案系統的選型

1)SAS/SATA硬碟檔案系統選擇

a.reiserfs 大量小檔案業務首選 reiserfs

b.xfs 資料庫MYSQL業務,門戶案例

c.ext4 視訊下載,流媒體,

Centos預設的檔案系統,都是很優秀的

 

檔案系統介紹:

磁碟分割槽之後,必須格式化,劃分檔案系統,才能進行資料的存放

檔案系統型別:ext2(沒有日誌功能),ext3(有日誌功能可以通過日誌檔案恢復丟失的檔案),

ext4(Centos 6 預設的檔案系統),xfs(Centos 7 預設的檔案系統),reiserfs(大量小檔案的首選)

選擇檔案系統的關鍵:維護成本,效能,可靠,綜合權衡

選擇檔案系統的好與壞不是很重要,重要的在於你的前端有多少快取,能幫磁碟擋住資料

前端快取:CDN--->內部web cache-->資料庫和儲存cache--->最後到磁碟(資料庫和儲存)

相關文章