一、磁盤的基本概念
1.什么是磁盤
- 一塊小小的硬盤里颜矿,就可以存儲(chǔ)我們難以保存的信息或者資料等述寡,如海量的照片音樂(lè)和電影等等。
-
每個(gè)硬盤中心都是一摞高速運(yùn)轉(zhuǎn)的圓盤顶滩,在圓盤上附著的一圈金屬顆粒余掖,每個(gè)金屬顆粒都有自己的磁化程度,用于儲(chǔ)存0和1礁鲁。
模擬圖 -
當(dāng)記錄數(shù)據(jù)時(shí)盐欺,硬盤的磁頭開始通電,形成強(qiáng)磁場(chǎng)仅醇,數(shù)據(jù)在磁場(chǎng)的作用下轉(zhuǎn)變成電流冗美,使顆粒磁化,從而將信息記錄在圓盤上析二。
模擬圖 -
由海量顆粒組成的信息粉洼,就是我們存在硬盤里的數(shù)據(jù)。
模擬圖
二蛤吓、磁盤的基本結(jié)構(gòu)
1.什么是盤片:
硬盤一般有一個(gè)或多個(gè)盤片挫剑,每個(gè)盤片可以有兩面,即第一個(gè)盤片的正面為0面柱衔,反面為1面然后依次類推樊破。
2.什么是磁道:
每個(gè)盤片的盤面在出廠的時(shí)候被劃分出了多個(gè)同心圓環(huán),數(shù)據(jù)就存儲(chǔ)在這樣的同心圓環(huán)上面唆铐,我們將這樣的圓環(huán)稱為磁道(Track)哲戚,每個(gè)盤面可以劃分多個(gè)磁道。
3.什么是扇區(qū):
在硬盤出廠時(shí)會(huì)對(duì)磁盤進(jìn)行一次低格,其實(shí)就是再每個(gè)磁道劃分為若干個(gè)弧段,每個(gè)弧段就是一個(gè)扇區(qū) (Sector)氓辣。扇區(qū)是硬盤上存儲(chǔ)的物理單位几蜻,現(xiàn)在每個(gè)扇區(qū)可存儲(chǔ)512字節(jié)數(shù)據(jù)已經(jīng)成了業(yè)界的約定颖低。
4.什么是柱面:
柱面實(shí)際上就是我們抽象出來(lái)的一個(gè)邏輯概念莺戒,簡(jiǎn)單來(lái)說(shuō)就是處于同一個(gè)垂直區(qū)域的磁道稱為 柱面 幔崖,即各盤面上面相同位置磁道的集合嗅定。這樣數(shù)據(jù)如果存儲(chǔ)到相同半徑磁道上的同一扇區(qū)脐彩,這樣可以實(shí)現(xiàn)并行讀取,主要是減少磁頭尋道時(shí)間。
5.什么是磁頭:
讀取磁盤磁道上面金屬塊,主要負(fù)責(zé)讀或?qū)懭霐?shù)據(jù)蓬蝶。*
三谍咆、磁盤的預(yù)備知識(shí)
我們需要簡(jiǎn)單了解下磁盤的接口類型供嚎、磁盤涉及的相關(guān)術(shù)語(yǔ)劝赔、磁盤在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è)計(jì)该编,但是被m.2接口的SSD替代迄本,而m.2接口(支持SATA、PCI-E雙通道協(xié)議)
(1)课竣、M.2接口是為超極本量身定做的新一代接口標(biāo)準(zhǔn)嘉赎,以取代原來(lái)的mSATA接口。擁有更小巧的規(guī)格尺寸于樟,還是更高的傳輸性能公条,M.2都遠(yuǎn)勝于mSATA。 m2接口百度百科 固態(tài)硬盤SATA和mSATA有什么區(qū)別
(2)迂曲、M.2幾個(gè)名詞需要各位讀者知道了解靶橱,SATA和PCI-E AHCI和NVMe
(3)、最后呢路捧,可以擴(kuò)展了解 M.2固態(tài)硬盤使用過(guò)程中常見(jiàn)問(wèn)題关霸?
2.磁盤的基本術(shù)語(yǔ)
- 尺寸: 2.5英寸 3.5英寸
- 容量:KB MB GB TB PB EB
- 轉(zhuǎn)速:STAT=7500n SAS= 15000n
- IOPS:每秒能夠發(fā)生IO的次數(shù)
順序讀寫
隨機(jī)讀寫
3.磁盤在系統(tǒng)上的命名方式
設(shè)備名稱 | 分區(qū)信息 | 設(shè)備類型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一塊物理磁盤第一分區(qū) |
/dev/sdb | /dev/sdb2 | 第二塊物理磁盤第二個(gè)分區(qū) |
/dev/vdd | /dev/vdd4 | 第四塊虛擬磁盤的第四個(gè)分區(qū) |
注:系統(tǒng)中分區(qū)由數(shù)字編號(hào)表示,1~4留給主分區(qū)使用和擴(kuò)展分區(qū)杰扫,邏輯分區(qū)從5開始队寇,為什么分區(qū)還有限制?不應(yīng)該是隨意分配章姓?因?yàn)镸BR分區(qū)表只能分配4個(gè)主分區(qū)佳遣?
MBR為什么只能劃分4個(gè)主分區(qū)
注: 前面我們已經(jīng)提到過(guò)MBR分區(qū)表只能分配4個(gè)主分區(qū)识埋,但現(xiàn)在還有一種新型的分區(qū)表GPT,GPT支持分配128個(gè)主分區(qū)零渐。注意MBR與GPT之間不能互轉(zhuǎn)窒舟,會(huì)導(dǎo)致數(shù)據(jù)丟失。
MBR與GPT之間又有什么區(qū)別
4.磁盤基本分區(qū)Fdisk
1)添加一塊小于2TB的磁盤進(jìn)行使用相恃,步驟如下:
(1).給虛擬機(jī)添加一塊新的硬盤
- 添加磁盤時(shí)辜纲,它不支持熱拔插技術(shù),所以必須是關(guān)機(jī)狀態(tài)拦耐。
(2).使用fdisk進(jìn)行分區(qū)
(3).使用mkfs進(jìn)行格式化
(4).使用mount進(jìn)行掛載
PS: 生產(chǎn)分區(qū)建議耕腾,如無(wú)特殊需求直接使用整個(gè)磁盤即可,無(wú)需分區(qū)杀糯。
PS: 學(xué)習(xí)分區(qū)建議: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (僅適用于練習(xí))*
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ū)啟動(dòng)標(biāo)記
b edit bsd disklabel 編輯sdb磁盤標(biāo)簽
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磁盤標(biāo)簽
t change a partitions system id 修改分區(qū)ID,可以通過(guò)l查看id
u change display/entry units 修改容量單位,磁柱或扇區(qū)
v verify the partition table 檢驗(yàn)分區(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 擴(kuò)展分區(qū)
Select (default p): p 選擇創(chuàng)建主分區(qū)
Partition number (1-4, default 1): 默認(rèn)創(chuàng)建第一個(gè)主分區(qū)
First sector (2048-2097151, default 2048): 默認(rèn)扇區(qū)回車
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +10G 分配10G
.fdisk創(chuàng)建擴(kuò)展分區(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)建擴(kuò)展分區(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): 空間都給到擴(kuò)展分區(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)核立即生效,無(wú)需重啟
[root@oldboy:~]# yum -y install parted 下載parted
[root@oldboy:~]# partprobe /dev/sdb 刷新
2.格式化磁盤
- mkfs格式化磁盤,實(shí)質(zhì)創(chuàng)建文件系統(tǒng)
選項(xiàng):
-b 設(shè)定數(shù)據(jù)區(qū)塊占用空間大小固翰,目前支持1024狼纬、2048、4096 bytes每個(gè)塊骂际。
-t 用來(lái)指定什么類型的文件系統(tǒng)疗琉,可以是ext4, xfs
-i 設(shè)定inode的大小
-N 設(shè)定inode數(shù)量,防止Inode數(shù)量不夠?qū)е麓疟P不足
1.格式化整個(gè)磁盤
[root@oldboy:~]# mkfs -t xfs /dev/sdb
2.格式化磁盤的某個(gè)分區(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掛載并使用
如果需要使用該磁盤的空間歉铝,需要準(zhǔn)備一個(gè)空的目錄作為掛載點(diǎn)盈简,與該設(shè)備進(jìn)行關(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里的文件相當(dāng)于寫入到磁盤sdb1
總結(jié)
通過(guò)今天的學(xué)習(xí)太示,我們了解磁盤的基本概念柠贤,磁盤的基本結(jié)構(gòu),怎么樣去創(chuàng)建磁盤类缤,主要掌握了磁盤的命名規(guī)則臼勉,磁盤的邏輯分區(qū),如何創(chuàng)建一個(gè)磁盤并按照要求進(jìn)行磁盤的劃分餐弱,搞清楚主分區(qū)宴霸、擴(kuò)展分區(qū)和邏輯分區(qū)之間的關(guān)系。