目录:
(1)磁盘的物理结构:
- 盘片:硬盘有多个盘片,每盘片两面
- 磁头:每面一个磁头
以为每个盘面都有一个磁头,因此,盘面总数等于磁头数
(2)硬盘的数据结构:
- 扇区:盘片被分为读个扇形区域,每个扇形存放512字节的数据,这是硬盘的最消息存储单位
- 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
- 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
因此,磁盘的柱面数与单个盘面的磁道数相等
磁盘的存储容量=磁头数*磁道数(柱面)数*每道扇区数*每扇字节数(512字节)
可以用柱面/磁头/扇区 来定位磁盘上每一个区域1.2
- IDE,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
- SATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SCSI,小型机系统接口, SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
- SAS,是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
MBR:主启动记录(Master Boot Record,缩写:MBR)
GPT:唯一标识分区表(GUID Partition Table,缩写: GPT)
分区格式 | 全称 | 支持最大卷大小 | 分区数 | 分区工具 |
MBR | 主启动记录(Master Boot Record,缩写:MBR) | 2.2TB | 最多4个主分区,或者3个主分区1个扩展分区 | fdisk |
GPT | 唯一标识分区表(GUID Partition Table,缩写: GPT) | 18EB | 可以有多达128个分区 | parted |
MBR主引导记录
- MBR位于硬盘的第一个物理扇区
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16字节
Linux中将硬盘,分区等设备均表示为文件
MBR分区,最多只有4主分区,但是可以将一个分区划分为扩展分区(只能有一个),然后在扩展分区上建立多个逻辑分区。扩展分区大小为1KB。
MBR的分区顺序号,从1-4为主分区或者扩展分区,默认从1开始。5为逻辑分区的开始
主启动记录(MBR)磁盘分区 MBR是主引导记录,位于第一个硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。
2.1.1 列出所有块设备
lsblk [-f]
2.1.2 fdisk 分区工具分区
fdisk [-l] [磁盘设备] #列出分区表
fdisk 磁盘设备 #对磁盘进行交互式分区
交互模式中常用的指令:
m (列出帮助信息)
p (输出分区表)
n( 新建分区)
d(删除分区)
t (修改分区系统id)
w (保存分区并退出)
q (不保存分区退出)
(1)fdisk /dev/sdb #交互式磁盘分区
(2) n 进行分区 → 设置分区类型 p(p 主分区,e 扩展分区。默认是p)
(3) 设置分区号(主分区默认1) → 起始扇区选择默认→ 选择结束扇区( +20G 表示大小为220GiB,不加表示扇区。什么都不设,直接回车表示设置该分区大小为当前磁盘剩余的全部大小)
(4) p(输出分区表)→ w (保存退出)
partprobe [磁盘] 刷新分区表
2.1.3 命令行列出磁盘分区表: fdisk -l [磁盘设备]
- Device (设备) :分区的设备文件名称。
- Boot :是否是引导分区。若是,则有“*"标识。
- start :该分区在硬盘中的起始位置(柱面数) 。
- End :该分区在硬盘中的结束位置(柱面数)
- Blocks :分区的大小,以Blocks (块)为单位,默认的块大小为1024字节。
- Id :分区对应的系统ID号。例如, 83表示Linux中的XFS分区或ET4分区、8e表示LM逻辑卷。System:分区类型。
磁盘分区后,必须要格式化创建文件系统才可以挂载使用
2.2.1文件系统类型
(1)XFS文件系统:
- 存放文件系统和目录数据的分区
- 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间
- CentOS 7系统默认使用的文件系统 (CentOS 6 默认使用ext4 文件系统)
(2)SWAP交换文件系统
- 为Linux 系统建立交换分区
- 一般设置为物理内存的1.5~2倍 (根据情况而定。)
(3)Linux支持的其他文件系统类型
EXT4 , FAT32 ,NTFS , LVM
linux 系统中必须有根分区和swap分区。
2.2.2 查看文件系统
lsblk -f
blidk [设备] #查看设备UUID号和 文件系统类型
2.2.3格式化创建文件系统
mkfs -t 文件系统 分区设备 [-f]
或者 mkfs.文件系统 分区设备 [-f]
mkfs.xfs /dev/sdb1
2.2.3 swap 类型
如果要设置交换分区,首先要进行磁盘分区,然后用更改分区的系统类型为 82 swap系统类型,然后在创建文件系统,并启用
(1) fdisk进行分区(略)
(2)fdisk 工具更改系统类型
t (修改系统类型) → 2(选择分区号)
82 (swap系统类型 id号)
p (输出分区表) → w 保存退出
(3) 刷新分区表
partprobe /dev/sdb2
(4) 格式化为swap 类型
mkswap 分区设备
mkswap /dev/sdb2
(5) 启用
swapon 设备
swapon /dev/sdb2
(6) 查看交换分区大小与停用
free -h #查看内存和交换分区大小
swapon -s [交换分区] #查看交换分区大小
swapoff 交换分区 #禁用交换分区
swapoff -a #禁用全部交换分区
挂载(如果没有格式化是无法挂载使用的):
mount [-t 文件系统类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
#mount 挂载,一个目录只能挂载一个设备,但是一个设备可以挂载到多个目录
#mount挂载使用,在挂载文件系统的目录中创建文件后,卸载之后,文件不存在。如果挂载文件系统的目录,在之前已经有数据,挂载之后,之前的数据依旧存在,但是无法看到
卸载:
umount 存储设备位置 [-lf]
umount 挂载点目录 [ -lf]
#卸载时,要先退出挂载目录才能卸载。 -lf 选项表示强制卸载
(1) dh -hT
(2) mount
系统启动会自动读取 /etc/fstab 里的文件。所以,可以将配置写入/etc/fstab 文件中,实现开机自动挂载
vim /etc/fstab
第1字段: 设备名或设备卷标名。如果是光盘则使用/dev/cdrom 第2字段: 文件系统的挂载点目录的位置。 第3字段: 文件系统类型,如xfs, swap,等。如果是光盘,则用 iso9660 第4字段: 挂载参数,即mount命令"-o"选项后可使用的参数。例如, defaults (默认参数) 、rw (可读写)、ro (只读) 、noexec (禁用执行程序) 第5字段: 表示文件系统是否需要dump备份(dump是一个备份工具) 。一般设为1时表示需要,设为0时将被dump忽略。 第6字段: 该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查, 1表示优先检查, 2表示其次检查。根分区可设为1,其他分区设为2.
挂载后需要使用 mount -a 来检测并重新挂载
#如果不使用 mount -a 来检测而是直接重新启动,如果/etc/fstab 配置写错,会导致系统报错,并进入字符界面的救援模式。此时,输入root密码后,vim /etc/fstab , 将/etc/fstab 里的文件修改正确,或者注释,在重启系统就可以了