硬盤的存儲及分區
硬盤的存儲及分區
a) 硬盤的存儲結構
i. 硬盤的存儲結構包括主引導目錄、分區表、分區結束標誌、及其他分區的引導信息及數據區信息。
ii. 主引導記錄MBR
硬盤的0磁頭0磁道1扇區,是硬盤的一個非常重要的位置。在這個扇區中,存放有硬盤的主引導記錄MBR(Master Boot Record)和硬盤分區表DPT(Disk Partition Table)。
dd if=/dev/sda(來源) of=mbr.bin(備份文件) bs=512(一個塊大小) count=1(塊的數量) (把第一分區的數據備份到mbr.bin)
od -xa mbr.bin (以二進制形式查看mbr.bin)
iii. 主分區Primary
主分區時磁盤必須存在的分區,一般為磁盤的第一個分區,可以在主分區上面安裝操作系統。
/boot主分區
swap主分區
/主分區
一個磁盤想分六個區,主分區和擴展分區的數量是多少?
1p+1e, 2p+1e, 3p+1e
iv. 擴展分區Extended
擴展分區不能算一個正常的分區,而是一個鏈接,起到一個指向的作用。一塊磁盤只能存在一個擴展分區,並且擴展分區不能直接存放數據,擴展分區受限於操作系統。
v. 邏輯分區logical
邏輯分區必須存在於擴展分區內。邏輯分區的編號從數字5開始。實際應用:主分區和邏輯分區,都可以用。一般系統安裝用主分區,存放數據都可以。
vi. 磁盤分區總結
一塊硬盤的分區方式只能是如下組合之一
1. 任意多個主分區,但要求1<=主分區數量<=4。
2. 擴展分區可以和主分區組合,但要求2<=(主分區+擴展分區)數<=4,擴展分區最多一個
3. 如果分成四個磁盤分區,那麽最多可以:
P+P+P+P
P+P+P+E
擴展分區不是一個真正的分區,建立完擴展分區後,還需要在擴展分區上建立邏輯分區才能使用。
對於主分區和邏輯分區在一把的數據存儲使用上是沒有區別的,在安裝操作系統時第一個分區要選主分區。
分區數字編號1~4留給主分區和擴展分區使用,邏輯分區只能從5開始。
對硬盤分區,就是在修改硬盤的分區表,也就是說我們通過fdisk分區實際上就是在該64字節的分區表,分區和對應的數據沒有關系。因此理論上,調整分區大小,不會刪除分區內的數據。
b) 磁盤分區的重點
i. 磁盤分區實質就是針對上述0磁頭0磁道1扇區的前446字節後面接下來的64bytes的分區表進行設置,即主要是換分起始以及結束磁頭號,扇區號及柱面號。
ii. 給磁盤分區的工具有fdisk(適合給小於2T的磁盤分區),parted(擅長給大於2T的磁盤分區)。
企業面試題:一臺服務器6臺600G的磁盤,raid5後,總大小3T,此時無法裝系統。為什麽?
解決辦法:
方法一:做完raid5後,不要重啟裝系統,而是在raid5界面,繼續分1個小的虛擬磁盤vd 200G,用200G的虛擬磁盤裝系統,裝完系統後再把剩余的2.8T分區通過parted。
方法二:拿一塊盤做raid0,剩下5塊做raid5,在raid0上裝系統。
方法三:裝系統時,選擇gpt分區格式,即可安裝系統。
iii. 一塊磁盤分區表僅有64bytes大小,每個分區表要占用16字節,因此一塊磁盤僅支持四哥分區表信息,即主分區+擴展分區的總量不超過4個。
iv. 磁盤分區時按照柱面來劃分的。
v. 擴展分區不能直接使用,還需要在擴展分區的基礎上創建邏輯分區才行。
vi. 擴展分區有自己的分區表,因此,擴展分區下面的邏輯分區可以有多個。
c) 分區問題案例:
1.大硬盤暫時分為四個區,同時還希望有其他的空間可以在未來需要的時候在進行分區,如何做?
i. 3p+1e(1L)剩下空間保留
ii. 2p+1e(2L)剩下空間保留
iii. 1p+1e(3L)剩下空間保留
2.假如有一塊SAS硬盤,想把磁盤分成6個可以使用的磁盤分區,那麽每個磁盤分區在linux下的數字編號是多少?
3p+1e(3L)編號:主:1 2 3 擴展邏輯:5 6 7
2p+1e(4L)編號:主:1 2 擴展邏輯:5 6 7 8
1p+1e(5L)編號:主:1 擴展邏輯:5 6 7 8 9
d) 磁盤分區設備名
在linux中,是通過設備名來訪問設備的,設備名存放在“/dev”目錄中。
分區數字編號1-4留給主分區或擴展分區使用,邏輯分區編號只能從5開始。
IDE硬盤設備名均以/dev/hd開頭,不同硬盤編號依次為:/dev/hda/,/dev/hdb/,/dev/hdc/......
SCSI/SAS/SATA/USB接口硬盤設備名均以/dev/sd開頭。不同磁盤編號依次為/dev/sda/,/dev/sdb/......
特別強調:SAS/SATA為當前2010-2012互聯網生產環境主流硬盤接口,SSD硬盤,由於是電子設備,性能很高,也逐漸被應用。
Linux環境下沒有盤符的概念。要對磁盤設備進行操作,需要使用磁盤設備名:讀取磁盤設備內容,需要把創建在分區或邏輯卷上的文件系統掛載到指定目錄上。
在Linux系統上劃分了分區之後,還要在分區上創建文件系統。
e) linux系統對分區的要求
最少要有/以及swap兩個分區(其實swap也可以沒有)
swap(交換分區)的作用:虛擬內存,swap分區大小=1.5*物理內存容量,如果物理內存大於8-16G,那麽就用8-16G即可。
建議設置獨立的/boot分區 #linux引導分區,存放系統引導文件,如linux內核等,所有文件大小一般只有幾十M。因此該分區設置100-200G。
安裝即采用常規的生產線上一般服務器分區方式:/boot,swap,/三個分區。
推薦優秀博文: 出處:老男孩(oldboy)
生產場景不同角色linux服務器分區案例分享 http://oldboy.blog.51cto.com/2561410/634725
生產場景如何對linux系統進行分區? http://oldboy.blog.51cto.com/2561410/629558
硬盤的存儲及分區