深入了解磁盤結構

一、     linux中常見的磁盤:

  無論什么操作系統,歸根還是要落實與磁盤上的,對于磁盤的管理也是linux管理必備的一項技能。在linux中“一切皆文件”的思想貫徹整個linux的學習中,包括像是磁盤等的硬件也是在linux的/dev/目錄下類似于文件形式的存放,常見的SATA口USB優盤或是SCSI口的硬盤在linux中是以/dev/sd[a-p]開頭的文件,早期的IDE硬盤現在已經很少見了,這種硬盤在linux中是以/dev/hd[a-d],CDROM是以/dev/cdrom開頭的文件,磁帶機/dev/st0(SCSI口的),/dev/ht0(IDE口)。每一種設備都有特定的主設備號和次設備號,主設備號用來標識設備類型,次設備號標識同一類型設備的不同設備。

  不同類型的接口的設備速度也是有很大差別的,像是并口的IDE的接口理論值為133MB/s,SCSI硬盤速度為640MB/s 。串口的SATA和SAS口的硬盤速度都是6Gbps,在轉化為同一單位的情況下后者的速度還是遠遠優于前者。串口的USB速度也能達到480MB/s

二、     磁盤結構與術語:

  硬盤的物理結構一般由磁頭與盤片、電動機、主控芯片與排線等部件組成;當主電動機帶動盤片旋轉時,副電動機帶動一組( 磁頭)到相對應的盤片上并確定讀取正面還是反面的碟面,磁頭懸浮在碟面上畫出一個與盤片同心的圓形軌道( 磁軌或稱 柱面),這時由磁頭的磁感線圈感應碟面上的磁性與使用硬盤廠商指定的讀取時間或數據間隔定位 扇區,從而得到該扇區的數據內容; 深入了解磁盤結構深入了解磁盤結構

磁頭(head):對磁盤的數據進行讀寫

磁道(track):當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。 磁盤上的磁道是一組記錄密度不同的同心圓

扇區(sector):磁盤上的每個磁道被等分為若干個弧段,這些弧段便是硬盤的扇區。硬盤的第一個扇區,叫做引導扇區。 一個扇區的大小為512個字節。

柱面(cylinder):在有多個盤片構成的盤組中,由不同盤片的面,但處于同一半徑圓的多個磁道組成的一個圓柱面。

三、     分區類型:

1.      磁盤分區的優點:

    (1) 優化I/O性能

    (2)實現磁盤的空間配額限制

    (3)提高修復速度

    (4)隔離系統和程序

    (5)分區可以安裝多個OS

2.      兩種分區方式:MBR和GPT

MBR:(master  boot recorder )傳統的分區都是以MBA的方式分區的使用32位作為扇區數,分區大小不差過2T,分區是按照柱面來分區(CHS:cylinder,head,sector),在MBR中有LBA地址用來和CHS轉換,LBA地址是統一的邏輯區塊地址作為尋址方式,這種尋址模式取代了原先 操作系統必須面對存儲設備硬件構造的方式。在硬盤上的0磁道0扇區共512個字節存放MBR硬盤分區分區表和主引導程序,其中前446個字節存放引導程序,64個字節存放4個大小為16個字節的分區表,最后還有兩個字節(0x55AA)是分區結束標志。

3.bmp

(可以通過十六進制查看器查看,先通過dd命令將硬盤的前512個字節備份成一個二進制文件,在通過hexdump 查看)

[root@centos7 ~]# dd if=/dev/sdc  of=sdc  count=512  bs=1
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00509351 s, 101 kB/s
[root@centos7 ~]# hexdump -C sdc
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  91 83 ce 77 00 00 00 20  |...........w... |
000001c0  21 00 83 9d 11 4c 00 08  00 00 00 c0 12 00 00 9d  |!....L..........|
000001d0  12 4c 83 db 29 72 00 c8  12 00 00 60 09 00 00 00  |.L..)r.....`....|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200
[root@centos7 ~]# dd if=sdc_head  of=/dev/sdc bs=1 count=64 skip=446 seek=446    //skip表示源文件跳過多少開始復制,seek表示目標跳過多少開始
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.0170671 s, 3.7 kB/s

    注釋:其中4個分區最多可以建立4個主分區,或者3個主分區加一個擴展分區,主分區結構如上,第一個字節表示此分區是否處于活動分區狀態,80表示活動,00表
示非活動,活動分區可以用來存放操作系統。第二個字節表示磁頭號,第3和4字節存放扇區號第5個字節表示分區類型,0表示分區未使用。5,6,7字節表示
分區結束的磁頭號,扇區和柱面號。后面的八個字節用來存放LBA地址,用來做CHS和LBA地址轉化用的。

  擴展分區中存放著邏輯分區的地址,在邏輯分區的第一個扇區也是存放著EBR表,結構與MBR類似,只不過前面的446字節都空著,存放64字節的表中第一個表項的16個字節指向本個邏輯分區,下一個16個字節的表項中存放指向下一個擴展分區的EBR,接下來便是兩個空白的表項和類似于MBR的結束標志0x55AA。

3.      GPT分區:

  GPT分區是新一代的分區方式,可支持多分區(最多128個分區)和大分區(磁盤塊大小為512字節時可支持8Z,4096字節的塊大小時可以達到64Z。注Z的數量級為270-)。GPT使用128位的UUID作為磁盤和分區的同一唯一標識符,并且在GPT分區表自動備份在頭尾兩部分,并伴有CRC校驗位,在GPT分區的首部有一個偽MBR,用于向下兼容MBR,因為MBR是不能理解GPT分區的,在GPT分區首部放置一個偽MBR首部可以防止MBR認為當前磁盤沒有分區,而將GPT分區覆蓋。

4.bmp

原創文章,作者:jack_cui,如若轉載,請注明出處:http://www.www58058.com/41275

(4)
jack_cuijack_cui
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost /]# who | cut -d ‘ ‘ -f 1  | sort -u root user1 或: [root@localhost /]# who | cut -d ‘ ‘ -…

    Linux干貨 2017-02-24
  • OSI七層模型

      OSI模型的七層結構 首先,OSI是什么呢?OSI(Open System Interconnection),OSI是一個開放性的通行系統互連參考模型,是一個協議規范。它把網絡協議從邏輯上分為了7層。每一層都有相關、相對應的物理設備。OSI七層模型是一種框架性的設計方法 ,建立七層模型的主要目的是為解決異種網絡互連時所遇到的兼容性問題,其最主要…

    2017-09-02
  • Linux腳本基礎練習

    馬哥教育網絡班+ 第7周課堂練習 Linux腳本基礎練習 練習: 1、創建一個10G分區,并格式為ext4文件系統; (1)要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl (2)掛載至/data/mydata目錄 要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳 第一步,在虛擬機中掛載一塊20G的新硬盤 &…

    Linux干貨 2016-11-09
  • Linux系統目錄結構

    root 管理員家目錄home 普通用戶家目錄bin 系統啟動和運行可能會用到的普通命令sbin 管理類命令proc 虛擬文件系統,由內核參數映射而來usr 系統軟件資源存放位置include 存放C/C++頭文件的目錄lib 庫文件lib64 64位系統庫文件tmp 臨時文件目錄boot 引導加載器所需文件,系統所需圖片保存于此etc 配置文件sys 虛擬…

    Linux干貨 2018-03-03
  • 馬哥教育網絡班22期+第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。    網橋:工作在OSI模型的數據鏈路層,將兩個局域網連起來,根據MAC地址來轉發幀,可以看作是一個“低層的路由器”(路由器工作在OSI模型的網絡層,根據網絡地址如IP地址進行轉發)。它可以有效地聯接兩個LAN,使本地通信限制在本網段內,并…

    Linux干貨 2016-11-17
  • 為什么新建文件時,所在文件系統還有大量剩余空間,卻提示此文件系統空間已滿??

    一:答疑解惑:    這是因為該文件所在分區的inode號被用盡,雖然分區的剩余容量還有很多。 二:基本原理:   inode為何物block又為何物?以及,inode都有哪些特征?   ①我們知道,在linux文件系統中,文件名只是計算機用來給人看,而計算機本身只識別文件所對應的數字或編號,而這個編號或數字…

    2017-07-22
欧美性久久久久