一、磁盤的基本概念
1.什么是磁盤
- 一塊小小的硬盤里,就可以存儲我們難以保存的信息或者資料等,如海量的照片音樂和電影等等。

-
每個硬盤中心都是一摞高速運轉(zhuǎn)的圓盤,在圓盤上附著的一圈金屬顆粒,每個金屬顆粒都有自己的磁化程度,用于儲存0和1。
模擬圖 -
當記錄數(shù)據(jù)時,硬盤的磁頭開始通電,形成強磁場,數(shù)據(jù)在磁場的作用下轉(zhuǎn)變成電流,使顆粒磁化,從而將信息記錄在圓盤上。
模擬圖 -
由海量顆粒組成的信息,就是我們存在硬盤里的數(shù)據(jù)。
模擬圖
二、磁盤的基本結(jié)構(gòu)
1.什么是盤片:
硬盤一般有一個或多個盤片,每個盤片可以有兩面,即第一個盤片的正面為0面,反面為1面然后依次類推。
2.什么是磁道:
每個盤片的盤面在出廠的時候被劃分出了多個同心圓環(huán),數(shù)據(jù)就存儲在這樣的同心圓環(huán)上面,我們將這樣的圓環(huán)稱為磁道(Track),每個盤面可以劃分多個磁道。
3.什么是扇區(qū):
在硬盤出廠時會對磁盤進行一次低格,其實就是再每個磁道劃分為若干個弧段,每個弧段就是一個扇區(qū) (Sector)。扇區(qū)是硬盤上存儲的物理單位,現(xiàn)在每個扇區(qū)可存儲512字節(jié)數(shù)據(jù)已經(jīng)成了業(yè)界的約定。
4.什么是柱面:
柱面實際上就是我們抽象出來的一個邏輯概念,簡單來說就是處于同一個垂直區(qū)域的磁道稱為 柱面 ,即各盤面上面相同位置磁道的集合。這樣數(shù)據(jù)如果存儲到相同半徑磁道上的同一扇區(qū),這樣可以實現(xiàn)并行讀取,主要是減少磁頭尋道時間。
5.什么是磁頭:
讀取磁盤磁道上面金屬塊,主要負責讀或?qū)懭霐?shù)據(jù)。*


三、磁盤的預備知識
我們需要簡單了解下磁盤的接口類型、磁盤涉及的相關(guān)術(shù)語、磁盤在Linux下的命名方式。
1.磁盤的接口類型
1)IDE,Scsi(已經(jīng)被淘汰)


2) SATA III 與SAS(企業(yè)使用較多)
- SATA III 6Gbps/s 750MB/s
-
SAS 8Gbps/s 1000MB/s
SAS和SATA的比較
3)SSD固態(tài)硬盤 純電子,抗摔
- msata
- m.2
接口類型
SATA 幾乎所有的主板都兼容 ,便宜,性能較差
PCI-E 看主板是否兼容,較貴,性能高
傳輸通道
PCI-E AHCI
NVME


4)ssd的Msata接口為超極本設(shè)計,但是被m.2接口的SSD替代,而m.2接口(支持SATA、PCI-E雙通道協(xié)議)
(1)、M.2接口是為超極本量身定做的新一代接口標準,以取代原來的mSATA接口。擁有更小巧的規(guī)格尺寸,還是更高的傳輸性能,M.2都遠勝于mSATA。 m2接口百度百科 固態(tài)硬盤SATA和mSATA有什么區(qū)別
(2)、M.2幾個名詞需要各位讀者知道了解,SATA和PCI-E AHCI和NVMe
(3)、最后呢,可以擴展了解 M.2固態(tài)硬盤使用過程中常見問題?
2.磁盤的基本術(shù)語
- 尺寸: 2.5英寸 3.5英寸
- 容量:KB MB GB TB PB EB
- 轉(zhuǎn)速:STAT=7500n SAS= 15000n
- IOPS:每秒能夠發(fā)生IO的次數(shù)
順序讀寫
隨機讀寫
3.磁盤在系統(tǒng)上的命名方式
| 設(shè)備名稱 | 分區(qū)信息 | 設(shè)備類型 |
|---|---|---|
| /dev/sda | /dev/sda1 | 第一塊物理磁盤第一分區(qū) |
| /dev/sdb | /dev/sdb2 | 第二塊物理磁盤第二個分區(qū) |
| /dev/vdd | /dev/vdd4 | 第四塊虛擬磁盤的第四個分區(qū) |
注:系統(tǒng)中分區(qū)由數(shù)字編號表示,1~4留給主分區(qū)使用和擴展分區(qū),邏輯分區(qū)從5開始,為什么分區(qū)還有限制?不應(yīng)該是隨意分配?因為MBR分區(qū)表只能分配4個主分區(qū)?
MBR為什么只能劃分4個主分區(qū)
注: 前面我們已經(jīng)提到過MBR分區(qū)表只能分配4個主分區(qū),但現(xiàn)在還有一種新型的分區(qū)表GPT,GPT支持分配128個主分區(qū)。注意MBR與GPT之間不能互轉(zhuǎn),會導致數(shù)據(jù)丟失。
MBR與GPT之間又有什么區(qū)別
4.磁盤基本分區(qū)Fdisk

1)添加一塊小于2TB的磁盤進行使用,步驟如下:
(1).給虛擬機添加一塊新的硬盤

- 添加磁盤時,它不支持熱拔插技術(shù),所以必須是關(guān)機狀態(tài)。
(2).使用fdisk進行分區(qū)
(3).使用mkfs進行格式化
(4).使用mount進行掛載
PS: 生產(chǎn)分區(qū)建議,如無特殊需求直接使用整個磁盤即可,無需分區(qū)。
PS: 學習分區(qū)建議: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (僅適用于練習)*
1.查看磁盤
[root@oldboy:~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Aug 19 16:00 /dev/sda
brw-rw---- 1 root disk 8, 1 Aug 19 16:00 /dev/sda1
brw-rw---- 1 root disk 8, 2 Aug 19 16:00 /dev/sda2
brw-rw---- 1 root disk 8, 3 Aug 19 16:00 /dev/sda3
brw-rw---- 1 root disk 8, 16 Aug 19 16:00 /dev/sdb
brw-rw---- 1 root disk 8, 32 Aug 19 16:00 /dev/sdc
[root@oldboy:~]# lsblk 常用的方式
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 1G 0 part [SWAP]
└─sda3 8:3 0 28G 0 part /
sdb 8:16 0 1T 0 disk
sdc 8:32 0 4T 0 disk
sr0 11:0 1 4.3G 0 rom
[root@oldboy:~]# fdisk -l
[root@oldboy:~]# fdisk /dev/sdb
Command (m for help): m 輸入m列出常用的命令
Command action
a toggle a bootable flag 切換分區(qū)啟動標記
b edit bsd disklabel 編輯sdb磁盤標簽
c toggle the dos compatibility flag 切換dos兼容模式
d delete a partition 刪除分區(qū)
l list known partition types 顯示分區(qū)類型
m print this menu 顯示幫助菜單
n add a new partition 新建分區(qū)
o create a new empty DOS partition table 創(chuàng)建新的空白分區(qū)表
p print the partition table 顯示分區(qū)表的信息
q quit without saving changes 不保存退出
s create a new empty Sun disklabel 創(chuàng)建新的Sun磁盤標簽
t change a partitions system id 修改分區(qū)ID,可以通過l查看id
u change display/entry units 修改容量單位,磁柱或扇區(qū)
v verify the partition table 檢驗分區(qū)表
w write table to disk and exit 保存退出
x extra functionality (experts only) 拓展功能
.fdisk創(chuàng)建主分區(qū)
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) 主分區(qū)
e extended 擴展分區(qū)
Select (default p): p 選擇創(chuàng)建主分區(qū)
Partition number (1-4, default 1): 默認創(chuàng)建第一個主分區(qū)
First sector (2048-2097151, default 2048): 默認扇區(qū)回車
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +10G 分配10G
.fdisk創(chuàng)建擴展分區(qū)
Command (m for help): n 新建分區(qū)
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e 創(chuàng)建擴展分區(qū)
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): 空間都給到擴展分區(qū)
.fdisk創(chuàng)建邏輯分區(qū)
Command (m for help): n 新建分區(qū)
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l 創(chuàng)建邏輯分區(qū)
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): 10G 分配10G空間
.fdisk查看分區(qū)情況,并保存
保存分區(qū)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
檢查磁盤是否是MBR分區(qū)方式
[root@oldboy:~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
安裝parted, 刷新內(nèi)核立即生效,無需重啟
[root@oldboy:~]# yum -y install parted 下載parted
[root@oldboy:~]# partprobe /dev/sdb 刷新
2.格式化磁盤
- mkfs格式化磁盤,實質(zhì)創(chuàng)建文件系統(tǒng)
選項:
-b 設(shè)定數(shù)據(jù)區(qū)塊占用空間大小,目前支持1024、2048、4096 bytes每個塊。
-t 用來指定什么類型的文件系統(tǒng),可以是ext4, xfs
-i 設(shè)定inode的大小
-N 設(shè)定inode數(shù)量,防止Inode數(shù)量不夠?qū)е麓疟P不足
1.格式化整個磁盤
[root@oldboy:~]# mkfs -t xfs /dev/sdb
2.格式化磁盤的某個分區(qū)
[root@oldboy:~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@oldboy:~]# mkfs.xfs /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
.使用mount掛載并使用
如果需要使用該磁盤的空間,需要準備一個空的目錄作為掛載點,與該設(shè)備進行關(guān)聯(lián)。
[root@oldboy:~]# mkdir /data_1
[root@oldboy:~]# mkdir /data_5
[root@oldboy:~]# mount /dev/sdb1 /data_1 將/dev/sdb1掛載到 /data_1
[root@oldboy:~]# mount /dev/sdb5 /data_5
[root@oldboy:~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 8.2G 20G 30% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 1014M 127M 888M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 10G 33M 10G 1% /data_1
/dev/sdb5 10G 33M 10G 1% /data_5
[root@oldboy:/data_1]# touch 1.txr5 寫入目錄data_1里的文件相當于寫入到磁盤sdb1
總結(jié)
通過今天的學習,我們了解磁盤的基本概念,磁盤的基本結(jié)構(gòu),怎么樣去創(chuàng)建磁盤,主要掌握了磁盤的命名規(guī)則,磁盤的邏輯分區(qū),如何創(chuàng)建一個磁盤并按照要求進行磁盤的劃分,搞清楚主分區(qū)、擴展分區(qū)和邏輯分區(qū)之間的關(guān)系。




