目录
一、 磁盘结构
1. 数据结构
- 扇区:磁盘上的每一个被等分为若干个弧段,这些弧段就是扇区。硬盘的第一个扇区叫引导扇区。一个扇区512字节,是磁盘的最小单位。
- 磁道:磁盘旋转时,磁头保持位置不变,就会在磁盘表面划出一个圆形轨迹,这即是磁道。
- 柱面:多个盘片构成的盘组中,由不同盘片的面且处于同一半径圆的多个磁道组成的一个圆柱面。
2. 物理结构
- 盘片:硬盘有多个盘片,每个盘片有两面。
- 磁头:每面一个磁头。
- 硬盘的存储容量=磁头数 x 磁道数 x 每道扇区数 x 每个扇区字节数
3. 硬盘的接口类型
硬盘的重要指标:容量、读写性能
硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速度不是实际硬盘数据传输速度。
(1)ATA(IDE),并口线连接主板和硬盘,抗干扰性弱且排线占用空间大,不利于散热,近乎被SATA取代。
(2)SATA,串口线连接,抗干扰强,支持热插拔等,速度快,纠错能力强。
(3)SCSI,小型机系统接口,广为工作站级个人电脑以及服务器所用,传输时CPU占用率较低,转速快,支持热插拔等。并行接口,早期服务器。
(4)SAS,新一代SCSI,和SATA硬盘相同,都是采用序列式技术来获得更高的传输速度,可达6G/s。
二、 如何使用Linux中的磁盘
分区 ---> 格式化=安装文件系统软件(编译) ---> 挂载
三、 文件系统
文件系统的定义:管理文件的系统(软件)
文件系统的类型:
- XFS:centos7默认,性能强
- FAT16、FAT32:最大支持32GB分区,单个文件只支持最大4G
- NTFS:单个文件最大64G,window默认
- EXT4:centos6默认
文件系统的修复命令:
fsck.FS_TYPE(文件系统类型) 或
fsck -t FS_TYPE(文件系统类型)
-a 自动修复 -r 交互式修复错误
四、 磁盘分区
1. MBR分区
MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节。
基本特性:
- MBR是主引导记录446字节,位于硬盘第一个物理扇区,其中包含了主引导程序和硬盘分区表,以512字节大小存储
- 分区表有4个分区记录区,每个分区记录区占16个字节,共64字节
- MBR最多支持4个主分区或3个主分区1个拓展分区(拓展分区可包含多个逻辑分区)
- MBR只支持2GB以下的硬盘
硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为a、b、c等字母序号。第一个IDE设备为hda,第二个SCSI设备为sdb等。
分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(主分区、扩展分区、逻辑分区)对应的数字序号即可。例如第一个IDE硬盘中的第一个分区表示hda1、第二个分区表示hda2等。
分区的类别:
- 主分区:可以直接使用,安装操作系统文件等
- 拓展分区(特殊的主分区):不能直接使用,需要再划分逻辑分区
- 逻辑分区:可以直接使用,一般只用于存储文件
主分区的序号为1-4,逻辑分区的序号从5开始
2. 分区的优缺点
分区的好处:加快磁盘的读写速度;便于管理磁盘空间和系统文件;增加数据的安全性
分区的缺点:必须是连续的空间;一旦分好,无法增加或减少空间
3. 磁盘及分区的管理工具
fdisk:对2t及以下分区 推荐 分完区,不保存则不生效 管理MBR分区
gdisk:全支持 推荐 分完区,不保存则不生效 管理GPT分区
parted:全支持 不推荐 即时生效,分完立马生效 高级分区操作,可以是交互或非交互方式
fdisk 设备名 //进入交互页面
fdisk -l | 查看所有磁盘分区信息 |
fdisk -l 设备名 | 查看某个磁盘的分区信息 |
fdisk /dev/sdb(设备名) | 进入交互页面对(sdb)磁盘进行分区 |
创建分区后,未出现可以使用 partprobe
刷新检测分区表 partprobe
是一个命令行工具,用于重新加载Linux系统中的分区表信息,而无需重新启动系统。通常用于在对磁盘进行分区操作或更改分区表后,立即更新系统对分区的识别。
磁盘命令和一些查看命令
lsblk | 查看系统中的磁盘和分区状态 |
---|---|
blkid | 查看设备的唯一标识符 |
partprobe | 刷新检测分区表 |
df | 显示挂载情况和磁盘剩余情况 -T显示文件系统 -h显示单位 |
mount | 查看所有挂载情况和权限 |
free | 查看内存和swap分区,buff写缓存,cache读缓存 |
badblocks 设备名 | 查看磁盘的坏道 |
lscpu | 查看cpu信息 |
date | 看时间 |
uname -r | 查看系统内核版本 |
cat /etc/os-release | 查看操作系统 |
五、格式化与挂载
1. 格式化
命令:mkfs -t 文件系统类型 设备名的分区
或 mkfs.文件系统类型 设备名的分区
mkswap 设备名的分区 用于格式化swap分区
2. 挂载
2.1 挂载
命令:mount 设备名 挂载到的目的文件夹
2.2 解挂载
命令:umount 设备名/已被挂载的文件夹路径
2.3 挂载的规则
- 一个挂载点同时挂载了多个设备,只显示最后一个设备的数据,其他设备的数据将被隐藏
- 一个设备可以同时挂载到多个挂载点
- 挂载点一般是已存在的空目录
2.4 解决无法解挂载问题
(1)自己在挂载目录时,离开挂载目录即可。
(2)别人在挂载目录时,使用fuser -v 挂载目录路径
,可以查看谁在挂载目录,
再使用fuser -km
挂载目录路径,终止所有在正访问指定的文件系统的进程后,
再umount 设备名,来解挂载。
2.5 重新挂载更改权限命令
mount -o rw,remount 挂载目录路径
选项 | 功能 |
---|---|
rw/ro | 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 |
remount | 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。 |
2.6 永久挂载
先使用blkid
查看设备的UUID,然后使用vim /etc/fstab
进入永久挂载文件进行配置,在末行添加如下:
#设备名/UUID 挂载点 分区类型 权限 0 0
设备的UUID 挂载目录路径 文件系统类型 defaults 0 0
保存后,使用mount -a
可以直接将配置文件中的挂载项进行挂载。
六、实例演示
1. 演示分区格式化挂载
(Centos7系统)
1. 首先添加磁盘
注意:若在做第一步时,虚拟机没有关闭,输入命令lsblk,则看不到新添加的硬盘
需要重启虚拟机,或者输入以下命令,来刷新接口后,再查看即可看到
echo "- - -" >/sys/class/scsi_host/host0/scan echo "- - -" >/sys/class/scsi_host/host1/scan echo "- - -" >/sys/class/scsi_host/host2/scan
2. 对新磁盘进行分区
再使用lsblk查看
若保存后没有看到新建的分区,则输入partprobe命令来刷新检测分区表,然后再查看即可
3. 格式化分区
4. 挂载
mount命令也可以查看是否挂载成功
演示完毕。
2. 拓展 演示swap分区
1. 新增一个4G大小的硬盘
2. 新建分区
3. 修改新建分区的类型
4. 格式化
5. 开启新建的swap分区
先查看现有的swap分区大小
再打开刚刚新建的swap分区
也可以关闭swap分区
6. 配置文件 /etc/fstab
查看新建分区的UUID
编辑配置文件
vim /etc/fstab
保存后,再查看
配置成功。