磁盘基本概念
什么是磁盘?
当我们的数据被写入硬盘时,硬盘会有个磁化的过程,被磁化后的硬盘就被称之为磁盘。
磁盘的基本结构
盘片
硬盘一般有一个或多个盘片,每个盘片可以有两面。
磁道
磁道主要是负责存储数据的,负责变化盘片上的正负极。
扇区
扇区是硬盘上存储的物理单位,每个扇区可存储512字节数据。
柱面
把数据存储到相同半径的磁道上 ,可以减少磁头寻道时间。
磁头
读取磁盘磁道上面金属块,主要负责读或写入数据。
磁盘结构图
磁盘的预备知识
磁盘接口类型
IDE:已被淘汰
SCSI:已被淘汰
SATA:使用较多,几乎所有主板都兼容,便宜,读写速度慢,怕摔怕震(主流)
SAS:企业服务器使用较多,价格高,读写速度比SATA盘快,怕摔怕震(主流)
SSD:纯电子,不怕摔不怕震,速度快
msata:为超极本设计。性能与sata盘类似。(已被淘汰)
m.2:为超极本设计,更加小巧轻便。(正在被使用)
接口类型:
1. PCI-E接口版
2. SATA接口版
传输通道:
1. NVMe
2. PCI-E
磁盘基本术语
尺寸:比较常见的大小一般有:
2.5英寸 3.5英寸等等
容量:现在的硬盘容量单位有如下这些
KB MB GB TB PB EB
转速:表示硬盘每分钟转多少转
SATA 7200最多
SAS 15000最多
IOPS : 表示每秒能够处理的读取和写入的次数。
磁盘命名规则
一个硬盘最多只能分配四个主分区,如果想分配更多的分区的话,就需要再去给扩展分区划分逻辑分区了。扩展分区编号从5开始。
设备名称 | 分区信息 | 设备类型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一块物理磁盘第一分区 |
/dev/sdb | /dev/sdb2 | 第二块物理磁盘第二个分区 |
/dev/vdd | /dev/vdd4 | 第四块虚拟磁盘的第四个分区 |
Windows和linux系统使用磁盘的区别
- windows:
- 装载硬盘
- 分区
- 格式化
- 可以使用
- Linux:
- 装载硬盘
- 分区
- 格式化
- 挂载
- 可以使用
磁盘基本分区Fdisk
分区过程如下:
[root@oldboy ~]# 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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xd963f2a4.
Command (m for help): m # 获取帮助信息
Command action
a toggle a bootable flag # 切换可启动标志
b edit bsd disklabel # 编辑bsd disklabel
c toggle the dos compatibility flag # 切换dos兼容性标志
d delete a partition # 删除分区 *
g create a new empty GPT partition table # 创建一个新的空GPT分区表
G create an IRIX (SGI) partition table # 创建一个IRIX(SGI)分区表
l list known partition types # 列出已知的分区类型 *
m print this menu # 打印此菜单 *
n add a new partition # 添加一个新的分区 *
o create a new empty DOS partition table # 创建一个空DOS分区表
p print the partition table # 输出分区表 *
q quit without saving changes # 退出但是不保存更改 *
s create a new empty Sun disklabel # 创建一个新的空Sun disklabel
t change a partition's system id # 更改分区的系统ID *
u change display/entry units # 更改显示/输入单位
v verify the partition table # 验证分区表
w write table to disk and exit # 保存退出 *
x extra functionality (experts only) # 额外功能(仅限专家)
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-209715199, default 2048): # 起始扇区
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +1G # 结束扇区,一般使用大小的方式分
Partition 1 of type Linux and of size 1 GiB is set
# 上面的操作是创建一个主分区
# 重复上面的操作创建四个主分区后,使用p查看信息
Command (m for help): p
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0x7c8a8ef3
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
/dev/sdb4 6293504 8390655 1048576 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@oldboy ~]# mkfs.xfs /dev/sdb1
# 格式化分区
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, 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 /]# mkdir data_sdb1
# 创建挂载点的目录
[root@oldboy /]# mount /dev/sdb1 data_sdb1
# 挂载
# 挂载后的data_sdb1目录实际上就是/dev/sdb1设备的入口目录
[root@oldboy /]# df -h
# 查看设备信息
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos_oldboy-root 37G 6.3G 31G 17% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /data_s
# 同样我们也可以使用umount来卸载掉设备。
# 卸载掉设备以后,挂载点中的内容也就不复存在。
# 创建扩展分区和逻辑分区与主分区操作基本类似,就不做详细步骤解答了,只把有区别的部分列出。如果已经创建好主分区,那么我们需要把主分区先删除掉才能添加扩展分区。
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
Selected partition 4
First sector (1230848-209715199, default 1230848):
Using default value 1230848
Last sector, +sectors or +size{K,M,G} (1230848-209715199, default 209715199):
Using default value 209715199
Partition 4 of type Extended and of size 99.4 GiB is set
Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (1232896-209715199, default 1232896):
Using default value 1232896
Last sector, +sectors or +size{K,M,G} (1232896-209715199, default 209715199): +400M
Partition 5 of type Linux and of size 400 MiB is set
Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (2054144-209715199, default 2054144):
Using default value 2054144
Last sector, +sectors or +size{K,M,G} (2054144-209715199, default 209715199): +500M
Partition 6 of type Linux and of size 500 MiB is set
Command (m for help): n
All primary partitions are in use
Adding logical partition 7
First sector (3080192-209715199, default 3080192):
Using default value 3080192
Last sector, +sectors or +size{K,M,G} (3080192-209715199, default 209715199): +600M
Partition 7 of type Linux and of size 600 MiB is set
# 然后保存格式化挂载即可
# 格式化最好加上-f来强制格式化