Linux磁盤概念及其管理工具fdisk
[日期:2016-08-27] | 來源:Linux社區 做者:chawan | [字體:大 中 小] |
引言:馮諾依曼體系中的數據存儲器就是咱們常說的磁盤或硬盤,它是計算機不可缺乏的一個組件,下面來看看Linux中磁盤的基礎概念及管理工具fdisklinux
實驗環境CentOS7.2 bash
磁盤概念工具
按磁盤屬性分類有機械硬盤跟固態硬盤字體
(1)機械硬盤:內部真空ui
磁盤:正反面含有磁性物質的盤片,由一個馬達固定全部磁盤轉動,固定角速度this
每一個盤片正反面各有一個磁頭,全部磁頭固定在一個機械臂上url
平均尋道時間:5400rpm, 7200rpm, 10000rpm, 15000rpm轉速spa
track(磁道):每一個盤片上出廠格式化操作系統
sector(扇區):512bytes單位.net
cylinder(柱面):不一樣盤面上同一編號的磁道組合在一塊兒,分區劃分按照柱面實現
越靠近較外部分區的柱面組成的分區,越快。Windows上c盤在最外面
(2)固態硬盤
相似與多個並行U盤,工做模式上模擬機械硬盤的機制。
電器設備,速度我的筆記本是原來的3到5倍,讀400個iops(io per second)、寫200iops
在正式介紹Linux設備文件前需先了解一個概念:MBR
MBR(Master Boot Record):主引導分區,爲一個編號爲0的512字節的扇區
446bytes:bootloader,引導加載器程序,主引導記錄,引導啓動操做系統的程序;
64bytes:分區表,每16bytes標識一個分區,一共只能有4個分區;
2bytes:表示MBA是否有效;55AA爲有效;
注意:
1) 主分區最多四個,擴展分區只能一個
2) 擴展分區不能單獨使用,要繼續分紅邏輯分區,邏輯分區能夠由多個
3) 一個分區就是一個獨立的文件系統
4) 主分區和擴展分區的標識:1-4;邏輯分區:5+
其在Linux中的建立新磁盤分區會涉及主分區與擴展分區內容
/dev
無論是機械硬盤仍是固態硬盤對於Linux看來它都是屬於/dev/下的文件
設備文件名
1)磁盤:IDE: /dev/hd[a-z]
SCSI, SATA, USB, SAS: /dev/sd[a-z]
2)分區:/dev/sda#: /dev/sda1, ...
注意:CentOS 6和7通通將硬盤設備文件標識爲/dev/sd[a-z]#
/dev設備文件介紹
1)設備文件:關聯至設備的驅動程序;設備的訪問入口;
2)設備號:
major:主設備號,區分設備類型;用於標明設備所須要的驅動程序;
minor:次設備號,區分同種類型下的不一樣的設備;是特定設備的訪問入口;
好比/dev/sd# :sd爲主設備號,#爲次設備號。
引用設備的方式:設備文件名,卷標,UUID
磁盤管理工具fdisk:
fdisk:
建立查看分區
(1)查看磁盤的分區信息:
命令使用格式:fdisk -l [-u] [device...]:列出指定磁盤設備上的分區狀況;
(2)管理分區
命令使用格式:fdisk /dev/sd# :建立,刪除,保存磁盤分區配置。
fdisk提供了一個交互式接口來管理分區,它有許多子命令,分別用於不一樣的管理功能;全部的操做均在內存中完成,沒有直接同步到磁盤;直到使用w命令保存至磁盤上;
如下命令選項爲m中的經常使用選項:
n:建立新分區 d:刪除已有分區
t:修改分區類型 l:查看全部已經ID
w:保存並退出 q:不保存並退出
m:查看幫助信息 p:顯示現有分區信息
命令演示:
一、對已使用的磁盤設備,建立新分區,若沒有可用空間則自動退出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@localhost ~]
# fdisk /dev/sda
歡迎使用
fdisk
(util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):m
命令操做
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system
id
u change display
/entry
units
v
verify the partition table
w write table to disk and
exit
x extra functionality (experts only)
命令(輸入 m 獲取幫助):n
Partition
type
:
p primary (2 primary, 0 extended, 2
free
)
e extended
Select (default p): p
分區號 (3,4,默認 3):
No
free
sectors available
命令(輸入 m 獲取幫助):
|
二、對新添加的磁盤建立新分區。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
[root@localhost ~]
# fdisk /dev/sdb
歡迎使用
fdisk
(util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0xd391e822 建立新的 DOS 磁盤標籤。
命令(輸入 m 獲取幫助):n
Partition
type
:
p primary (0 primary, 0 extended, 4
free
)
e extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-10485759,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,默認爲 10485759):+1G
分區 1 已設置爲 Linux 類型,大小設爲 1 GiB
命令(輸入 m 獲取幫助):w
[root@localhost ~]
# fdisk -l
磁盤
/dev/sda
:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I
/O
大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x00036006
設備 Boot Start End Blocks Id System
/dev/sda1
* 2048 1026047 512000 83 Linux
/dev/sda2
1026048 41943039 20458496 8e Linux LVM
磁盤
/dev/sdb
:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I
/O
大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
|
三、建立擴展分區,及刪除已存在分區
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
[root@localhost ~]
# fdisk /dev/sdb
歡迎使用
fdisk
(util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):n
Partition
type
:
p primary (1 primary, 0 extended, 3
free
)
e extended
Select (default p): e
分區號 (2-4,默認 2):
起始 扇區 (2099200-10485759,默認爲 2099200):
將使用默認值 2099200
Last 扇區, +扇區 or +size{K,M,G} (2099200-10485759,默認爲 10485759):+1G
分區 2 已設置爲 Extended 類型,大小設爲 1 GiB
命令(輸入 m 獲取幫助):p
磁盤
/dev/sdb
:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I
/O
大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
/dev/sdb2
2099200 4196351 1048576 5 Extended
擴展分區建立完畢,下面在擴展分區上建立邏輯分區,你們能夠看到其標號從5開始
命令(輸入 m 獲取幫助):n
Partition
type
:
p primary (1 primary, 1 extended, 2
free
)
l logical (numbered from 5)
Select (default p): l
添加邏輯分區 5
起始 扇區 (2101248-4196351,默認爲 2101248):
將使用默認值 2101248
Last 扇區, +扇區 or +size{K,M,G} (2101248-4196351,默認爲 4196351):+100M
分區 5 已設置爲 Linux 類型,大小設爲 100 MiB
命令(輸入 m 獲取幫助):p
磁盤
/dev/sdb
:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I
/O
大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
/dev/sdb2
2099200 4196351 1048576 5 Extended
/dev/sdb5
2101248 2306047 102400 83 Linux
|
保存退出後,將邏輯分區刪除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-
read
partition table.
正在同步磁盤。
[root@localhost ~]
# fdisk -l
...
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
/dev/sdb2
2099200 4196351 1048576 5 Extended
/dev/sdb5
2101248 2306047 102400 83 Linux
...
[root@localhost ~]
# fdisk /dev/sdb
歡迎使用
fdisk
(util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):d
分區號 (1,2,5,默認 5):5
分區 5 已刪除
命令(輸入 m 獲取幫助):p
磁盤
/dev/sdb
:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I
/O
大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
/dev/sdb2
2099200 4196351 1048576 5 Extended
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-
read
partition table.
正在同步磁盤。
[root@localhost ~]
# fdisk -l
...
設備 Boot Start End Blocks Id System
/dev/sdb1
2048 2099199 1048576 83 Linux
/dev/sdb2
2099200 4196351 1048576 5 Extended
...
|
注意:在已經分區而且已經掛載其中某個分區的磁盤設備上建立的新分區,內核可能在建立完成後沒法直接識別;
通知內核強制重讀磁盤分區表:
查看:cat /proc/partitions
CentOS 5:partprobe [device]
CentOS 6,7:partx, kpartx
partx -a [device]
kpartx -af [device]