一、 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)是分區結束標志。
(可以通過十六進制查看器查看,先通過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分區覆蓋。
原創文章,作者:jack_cui,如若轉載,請注明出處:http://www.www58058.com/41275