day18-磁盘管理
1.磁盘的基本概念
-
1.什么是磁盘?
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
由海量颗粒组成的信息,就是我们存在硬盘里的数据。
2.磁盘的基本结构
-
1.什么是盘片: 硬盘一般有一个或多个盘片,每个盘片可以有两面,即第一个盘片的正面为0面,反面为1面然后依次类推。
-
2.什么是磁道:每个盘片的盘面在出厂的时候被划分出了多个同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。但肉业不可见。
-
3.什么是扇区: 在硬盘出厂时会对磁盘进行一次低格,其实就是再每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储512字节数据已经成了业界的约定。
-
4.什么是柱面:柱面实际上就是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为 柱面 ,即各盘面上面相同位置磁道的集合。这样数据如果存储到相同半径磁道上的同一扇区,这样可以实现并行读取,主要是减少磁头寻道时间。
-
5.什么是磁头: 读取磁盘磁道上面金属块,主要负责读或写入数据。
磁盘物理结构图
3.磁盘的预备知识
我们需要简单了解下磁盘的接口类型、磁盘涉及的相关术语、磁盘在Linux下的命名方式。
1.常见硬盘
-
IDE,Scsi(已经被淘汰)
-
SATA III 与SAS(企业使用较多)
-
SSD m.2
M.2接口是为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。拥有更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA。
2.磁盘的基本术语
尺寸: 2.5英寸 3.5英寸
容量:KB MB GB TB PB EB
转速:7500 15000
IOPS:每秒能够发生IO的次数
3.磁盘在系统上的命名方式
设备名称 | 分区信息 | 设备类型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一块物理磁盘第一分区 |
/dev/sdb | /dev/sdb2 | 第二块物理磁盘第二个分区 |
/dev/vdd | /dev/vdd4 | 第四块虚拟磁盘的第四个分区 |
MBR与GPT
区别如下:
-
1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。
-
2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区逻辑分区不限制;GPT分区表在Windows系统下可以支持128个主分区。
-
3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。
MBR
4.磁盘基本分区Fdisk
添加一块磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用fdisk进行分区
#查看磁盘信息
[root@localhost ~]# 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 800M 0 part [SWAP]
└─sda3 8:3 0 18.2G 0 part /
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.3G 0 rom
#格式化新添加的磁盘
[root@localhost ~]# 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-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set
#创建逻辑分区
-------------第一步-----------------
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 (20973568-41943039, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039):
Using default value 41943039
Partition 2 of type Extended and of size 10 GiB is set
#创建逻辑分区(逻辑分区不是一个磁盘)中剩余空间
-------------第一步-----------------
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
-------------第二步-----------------
Adding logical partition 5
First sector (20975616-41943039, default 20975616):
Using default value 20975616
Last sector, +sectors or +size{K,M,G} (20975616-41943039, default 41943039):
Using default value 41943039
Partition 5 of type Linux and of size 10 GiB is set
-------------w保存-----------------
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
3.使用mkfs进行格式化
-------------格式化/dev/sdb1-----------------
[root@localhost ~]# mkfs.xfs -f /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
-------------格式化/dev/sdb5-----------------
[root@localhost ~]# mkfs.xfs -f /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=655232 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2620928, 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
4.使用mount进行挂载
[root@localhost ~]# mkdir /data-1
[root@localhost ~]# mkdir /data-5
[root@localhost ~]# mount /dev/sdb1 /data-1
[root@localhost ~]# mount /dev/sdb5 /data-5
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 5.5G 13G 30% /
devtmpfs 224M 0 224M 0% /dev
tmpfs 235M 0 235M 0% /dev/shm
tmpfs 235M 5.6M 229M 3% /run
tmpfs 235M 0 235M 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
tmpfs 47M 0 47M 0% /run/user/0
/dev/sdb1 10G 33M 10G 1% /data-1
/dev/sdb5 10G 33M 10G 1% /data-5