磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)
硬盘主要由磁盘盘片、磁头、主轴与传动轴等组成,数据就存放在磁盘盘片中。大家见过老式的留声机吗?留声机上使用的唱片和我们的磁盘盘片非常相似,只不过留声机只有一个磁头,而硬盘是上下双磁头,盘片在两个磁头中间高速旋转
什么是磁道呢?每个盘片都在逻辑上有很多的同心圆,最外面的同心圆就是 0 磁道。我们将每个同心圆称作磁道(注意,磁道只是逻辑结构,在盘面上并没有真正的同心圆)。硬盘的磁道密度非常高,通常一面上就有上千个磁道。但是相邻的磁道之间并不是紧挨着的,这是因为磁化单元相隔太近会相互产生影响
那扇区又是十么呢?扇区其实是很形象的,大家都见过折叠的纸扇吧,纸扇打开后是半圆形或扇形的,不过这个扇形是由每个扇骨组合形成的。在磁盘上每个同心圆是磁道,从圆心向外呈放射状地产生分割线(扇骨),将每个磁道等分为若干弧段,每个弧段就是一个扇区。每个扇区的大小是固定的,为 512Byte。扇区也是磁盘的最小存储单位
柱面又是什么呢?如果硬盘是由多个盘片组成的,每个盘面都被划分为数目相等的磁道,那么所有盘片都会从外向内进行磁道编号,最外侧的就是 0 磁道。具有相同编号的磁道会形成一个圆柱,这个圆柱就被称作磁盘的柱面
硬盘的大小是使用"磁头数 x 柱面数 x 扇区数 x 每个扇区的大小"这样的公式来计算的。其中,磁头数(Heads)表示硬盘共有几个磁头,也可以理解为硬盘有几个盘面,然后乘以 2;柱面数(Cylinders)表示硬盘每面盘片有几条磁道;扇区数(Sectors)表示每条磁道上有几个扇区;每个扇区的大小一般是 512Byte
机械硬盘通过接口与计算机主板进行连接。硬盘的读取和写入速度与接口有很大关系。大家都见过大礼堂吧,大礼堂中可以容纳很多人,但是如果只有一扇很小的门,那么人是很难进入或出来的,这样会造成拥堵,甚至会出现事故。机械硬盘的读取和写入也是一样的,如果接口的性能很差,则同样会影响机械硬盘的性能。
目前,常见的机械硬盘接口有以下几种:
固态硬盘和传统的机械硬盘最大的区别就是不再采用盘片进行数据存储,而采用存储芯片进行数据存储。固态硬盘的存储芯片主要分为两种:一种是采用闪存作为存储介质的;另一种是采用DRAM作为存储介质的。目前使用较多的主要是采用闪存作为存储介质的固态硬盘
///GPT,有128个分区,适用于2TB以上的磁盘文件大小,使用parted
Linux支持的其他文件系统类型
FAT16、FAT32、NTFS
///FAT不支持安全选项功能,不支持4GB以下单个文件的存储
EXT4、JFS…
Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表
必要参数:
选择参数:
菜单操作说明
显示当前分区情况
[root@localhost ~]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a5b41
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 8744959 4064256 82 Linux swap / Solaris
/dev/sda3 8744960 419430399 205342720 83 Linux
Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes, 4194304000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x53ad45fa
Device Boot Start End Blocks Id System
/dev/sdb1 2048 209717247 104857600 83 Linux
/dev/sdb2 209717248 4194303999 1992293376 5 Extended
/dev/sdb5 209719296 838864895 314572800 83 Linux
Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
磁盘分区,一个磁盘可以划分4个主分区,1~4是主分区和扩展分区的分区号,从5以后是逻辑分区
添加一块2T的磁盘,磁盘编号:/sdb
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
###[root@localhost~]\fdisk/dev/sdb
欢迎使用fdisk(util linux 2.23.2)。
更改将只保留在内存中,直到您决定写入它们。
在使用write命令之前要小心
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
命令(m表示帮助):n
分区类型:
p主(0主,0扩展,4可用)
e扩展
Select (default p): p
选择(默认p):p
Partition number (1-4, default 1): 1
分区号(1-4,默认为1):1
第一扇区(2048-4194303999,默认2048):
使用默认值2048
First sector (2048-4194303999, default 2048):
Using default value 2048
第一扇区(2048-4194303999,默认2048):
使用默认值2048
最后一个扇区,+扇区或+大小{K,M,G}(2048-4194303999,默认值4194303999):+100G
已设置Linux类型的分区1,大小为100 GiB
###我这边给第一个分区分配了100G的容量,设置容量输入‘+’号跟具体容量和容量单位
Last sector, +sectors or +size{K,M,G} (2048-4194303999, default 4194303999): +100G
Partition 1 of type Linux and of size 100 GiB is set
最后一个扇区,+扇区或+大小{K,M,G}(2048-4194303999,默认值4194303999):+100G
已设置Linux类型的分区1,大小为100 GiB
建立了主分区后,我打算创建逻辑分区,但是建立逻辑分区之前,要先建立一个扩展分区,然后才能在扩展分区内建立逻辑分区(逻辑分区要在拓展分区内才能创建)
依旧输入n,创建新分区
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
命令(m表示帮助):n
分区类型:
p主(1主,0扩展,3可用)
e扩展
Select (default p): e
选择(默认p):e
Partition number (2-4, default 2):
First sector (209717248-4194303999, default 209717248):
Using default value 209717248
Last sector, +sectors or +size{K,M,G} (209717248-4194303999, default 4194303999):
Using default value 4194303999
Partition 2 of type Extended and of size 1.9 TiB is set
分区号(2-4,默认为2):
第一扇区(209717248-4194303999,默认209717248):
使用默认值209717248
最后一个扇区,+扇区或+大小{K,M,G}(209717248-4194303999,默认值4194303999):
使用默认值4194303999
设置了Extended类型和1.9tib大小的分区2
logical (numbered from 5) 逻辑(从5开始编号)
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
命令(m表示帮助):n
分区类型:
p主要(1个主要,1个扩展,2个空闲)
逻辑(从5开始编号)
Select (default p): l
Adding logical partition 5
选择(默认p):l
添加逻辑分区5
我这边设置逻辑分区5号的大小设置的是300G,先回车,默认设置,然后’+300G’
First sector (209719296-4194303999, default 209719296):
Using default value 209719296
Last sector, +sectors or +size{K,M,G} (209719296-4194303999, default 4194303999): +300G
Partition 5 of type Linux and of size 300 GiB is set
第一扇区(209719296-4194303999,默认209719296):
使用默认值209719296
最后一个扇区,+扇区或+大小{K,M,G}(209719296-4194303999,默认值4194303999):+300G
设置Linux类型的分区5,大小为300 GiB
Command (m for help): w
The partition table has been altered!
命令(m表示帮助):w
分区表已被更改!
这边注意,我只划分了一个主分区,一个逻辑分区,而逻辑分区的编号是5,说明分区号1~4,只用于主分区和扩展分区,逻辑分区的编号只从5开始
[root@localhost ~]# fdisk -l
Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes, 4194304000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x53ad45fa
Device Boot Start End Blocks Id System
/dev/sdb1 2048 209717247 104857600 83 Linux
/dev/sdb2 209717248 4194303999 1992293376 5 Extended
/dev/sdb5 209719296 838864895 314572800 83 Linux