1.磁盘的基本概念
1.磁盘
磁盘(disk)是指利用磁记录技术存储数据的存储器。
每个硬盘中心都是一摞高速运转的圆盘,在圆盘上附着的一圈金属颗粒,每个金属颗粒都有自己的磁化程度,用于储存0和1。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
由海量颗粒组成的信息,就是我们存在硬盘里的数据。
2.磁盘的基本结构
1.盘片
硬盘一般有一个或多个盘片,每个盘片可以有两面,即第一个盘片的正面为0面,反面为1面然后依次类推。
2.磁道
每个盘片的盘面在出厂的时候被划分出了多个同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。但肉眼不可见。
3.扇区
在硬盘出厂时会对磁盘进行一次低格,其实就是再每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储512字节数据已经成了业界的约定。
4.柱面
柱面实际上就是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为柱面 ,即各盘面上面相同位置磁道的集合。这样数据如果存储到相同半径磁道上的同一扇区,这样可以实现并行读取,主要是减少磁头寻道时间。
5.磁头
读取磁盘磁道上面金属块,主要负责读或写入数据。
3.磁盘的预备知识
磁盘的接口
IDE out
Scsi out
SATA III 6Gbps/s 750MB/s 1T 400 100MB/s
SAS 8Gbps/s 1000MB/s 1T 4500
SSD 纯电子 抗摔
msata out
m.2
接口类型
SATA 几乎所有主板都兼容, 便宜 性能差
PCI-E 需要看主板是否兼容, 贵, 性能高
传输通道
PCI-E AHCI
NVMe
磁盘的名词
容量 MB GB TB PB EB .............
转速 SATA3 ==7200 SAS 15000 (非常之高) 磁盘阵列RAID
尺寸 3.5 2.5 1.8
IOPS Input/Output 输入输出
顺序读写
随机读写
磁盘的命名规则
[a-z] aa-zz
3.磁盘在系统上的命名方式
PS1:系统中分区由数字编号表示,1~4留给主分区使用和扩展分区,逻辑分区从5开始
PS2: 前面我们已经提到过MBR分区表只能分配4个主分区,但现在还有一种新型的分区表GPT,GPT支持分配128个主分区。注意MBR与GPT之间不能互转,会导致数据丢失。
4.磁盘基本分区 Fdisk
1.添加一块小于2TB的磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用 fdisk 进行分区
3.使用 mkfs 进行格式化
4.使用 mount 进行挂载
PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
1.添加磁盘
[root@oldboy ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Aug 19 11:29 /dev/sda
brw-rw----. 1 root disk 8, 1 Aug 19 11:29 /dev/sda1
brw-rw----. 1 root disk 8, 2 Aug 19 11:29 /dev/sda2
brw-rw----. 1 root disk 8, 3 Aug 19 11:29 /dev/sda3
brw-rw----. 1 root disk 8, 16 Aug 19 11:29 /dev/sdb
brw-rw----. 1 root disk 8, 32 Aug 19 11:29 /dev/sdc
[root@oldboy ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 1G 0 part [SWAP]
└─sda3 8:3 0 38G 0 part /
sdb 8:16 0 1T 0 disk
sdc 8:32 0 4T 0 disk
sr0 11:0 1 4.3G 0 rom[root@xuliangwei ~]# fdisk /dev/sdb
Command (m for help): m #输入m列出常用的命令
Command action
a #切换分区启动标记
b #编辑sdb磁盘标签
c #切换dos兼容模式
d #删除分区
l #显示分区类型
m #显示帮助菜单
n #新建分区
o #创建新的空白分区表
p #显示分区表的信息
q #不保存退出
s #创建新的Sun磁盘标签
t #修改分区ID,可以通过l查看id
u #修改容量单位,磁柱或扇区
v #检验分区表
w #保存退出
x #拓展功能
1.fdisk 创建主分区
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): +50M #分配50MB
2.fdisk创建扩展分区
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 (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): #空间都给到扩展分区
3.fdisk创建逻辑分区
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 (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M #分配100MB空间
4.fdisk查看分区情况,并保存
Command (m for help): p #查看分区创建
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 2097151 996352 5 Extended
/dev/sdb5 106496 311295 102400 83 Linux
#保存分区
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#检查磁盘是否是MBR分区方式
[root@xuliangwei ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
#安装parted, 刷新内核立即生效,无需重启
[root@xuliangwei ~]# yum -y install parted
[root@xuliangwei ~]# partprobe /dev/sdb
2.格式化磁盘
mkfs格式化磁盘,实质创建文件系统
#选项:
# -b 设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
# -t 用来指定什么类型的文件系统,可以是ext4, xfs
# -i 设定inode的大小
# -N 设定inode数量,防止Inode数量不够导致磁盘不足
#1.格式化整个磁盘
[root@xuliangwei ~]# mkfs.ext4 /dev/sdb
#2.格式化磁盘的某个分区
[root@xuliangwei ~]# mkfs.xfs /dev/sdb1
# mkfs -t xfs /dev/sdb1
#3.使用mount挂载并使用
如果需要使用该磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。
[root@xuliangwei ~]# mkdir /data
[root@xuliangwei ~]# mount /dev/sdb1 /data