一、磁盘的基本概念
1、什么是磁盘?
1)、每个硬盘中心都是一摞高速运转的圆盘,在圆盘上附着的一圈金属颗粒,每个金属颗粒都有自己的磁化程度,用于储存0和1。
2)、当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
3)、由海量颗粒组成的信息,就是我们存在硬盘里的数据。
2、磁盘的基本结构
磁盘一般由盘片、磁道、扇区、柱面和磁头组成。
1)、什么是盘片?
硬盘一般有一个或多个盘片,每个盘片可以有两面,即第一个盘片的正面为0面,反面为1面然后依次类推。
2)、什么是磁道?
每个盘片的盘面在出厂的时候被划分出了多个同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。但肉业不可见。
3)、什么是扇区?
在硬盘出厂时会对磁盘进行一次低格,其实就是再每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储512字节数据已经成了业界的约定。
4)、什么是柱面?
柱面实际上就是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为 柱面 ,即各盘面上面相同位置磁道的集合。这样数据如果存储到相同半径磁道上的同一扇区,这样可以实现并行读取,主要是减少磁头寻道时间。
5)、什么是磁头?
读取磁盘磁道上面金属块,主要负责读或写入数据。
3、磁盘的预备知识
1)、磁盘的接口类型
(1) 、IDE 和Scsi(已经被淘汰)
(2)、SATA III 与SAS(企业使用较多)
名称 | 速率 | 容量 | 价格 |
---|---|---|---|
SATA III | 6Gbps/s=750MB/s | 1T | RMB:400 |
SAS | 8Gbps/s=1000MB/s | 1T | RMB:4500 |
(3)、SSD的mSATA接口为超极本设计,但是被m.2接口的SSD替代,M.2接口是为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。拥有更小巧的规格尺寸,还是更高的传输性能,而且m.2接口支持SATA、PCI-E双通道协议。
a.m.2接口类型
SATA :几乎所有主板都兼容,且便宜,但是性能差
PCI-E:需要看主板是否兼容,但是贵,性能高
2)、磁盘的基本术语
术语 | 解释 |
---|---|
尺寸: | 2.5英寸 3.5英寸 |
容量 | KB MB GB TB PB EB |
转速 | 7500 15000 |
IOPS | 每秒能够发生IO的次数 |
顺序读写 随机读写 |
3)、磁盘的命名规则:[a-z] [aa-zz]
设备名称 | 分区信息 | 设备类型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一块磁盘的第一块分区 |
/dev/sdb | /dev/sda1 | 第二块磁盘的第二块分区 |
/dev/vdd | /dev/vdd4 | 第四块磁盘的第四块分区 |
4、磁盘的基本分区Fdisk
1)、添加磁盘
2)、分区
[root@oldboy ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 1G 0 part [SWAP]
└─sda3 8:3 0 18G 0 part /
sdb 8:16 0 1.5T 0 disk
├─sdb1 8:17 0 500G 0 part
├─sdb2 8:19 0 1K 0 part
├─sdb3 8:18 0 500G 0 part
├─sdb5 8:21 0 200G 0 part
└─sdb6 8:22 0 250G 0 part
sr0 11:0 1 4.3G 0 rom
[root@oldboy ~]# fdisk /dev/sdb
Command (m for help): m #输入m列出常用的命令
Command action
a toggle a bootable flag #切换分区启动标记
b edit bsd disklabel #编辑sdb磁盘标签
c toggle the dos compatibility flag #切换dos兼容模式
d delete a partition #删除分区
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 #创建新的Sun磁盘标签
t change a partitions system id #修改分区ID,可以通过l查看id
u change display/entry units #修改容量单位,磁柱或扇区
v verify the partition table #检验分区表
w write table to disk and exit #保存退出
x extra functionality (experts only) #拓展功能
3)、创建主分区
[root@oldboy ~]# fdisk /dev/sdb
······
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) #主分区
e extended #扩展分区
Select (default p): p #选择创建主分区
Partition number (1-4, default 1): #默认创建第一个主分区
First sector (2048-2097151, default 2048): #默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +500G
4)、创建扩展分区
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
Partition number (2-4, default 2):
First sector (1048578048-3221225471, default 104857
Using default value 1048578048
Last sector, +sectors or +size{K,M,G} (1048578048-3default 3221225471): +500G
Partition 2 of type Extended and of size 500 GiB i
5)、创建逻辑分区
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
Partition number (3,4, default 3):
First sector (2097154048-3221225471, default 209715
Using default value 209715404v8
Last sector, +sectors or +size{K,M,G} (2097154048-3default 3221225471): +300G
Partition 3 of type Linux and of size 500 GiB is s
6)、查看分区情况并保存退出
Command (m for help): p #查看分区创建
Disk /dev/sdb: 1099.5 GB, 1099511627776 bytes, 2147483648 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
······
Command (m for help): w #保存分区
(1)、检查磁盘是否是MBR分区方式
[root@oldboy ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
(2)、安装parted, 刷新内核立即生效,无需重启
[root@oldboy ~]# yum -y install parted
[root@oldboy ~]# partprobe /dev/sdb
7)、格式化磁盘
mkfs格式化磁盘,实质创建文件系统。
选项:
-b 设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
-t 用来指定什么类型的文件系统,可以是ext4, xfs
-i 设定inode的大小
-N 设定inode数量,防止Inode数量不够导致磁盘不足
(1)、格式化整个磁盘
[root@oldboy ~]# mkfs.ext4 /dev/sdb
(2)、格式化磁盘的某个分区
[root@oldboy ~]# mkfs.xfs /dev/sdb1
8)、使用mount挂载并使用
如果需要使用该磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。
[root@xuliangwei ~]# mkdir /data_1
[root@xuliangwei ~]# mount /dev/sdb1 /data_1