目录
5.2 MBR分区(最多只能分4个区,只能对小于2T的硬盘分区)
6.2 SWAP,交换文件系统(在内存不足的时候,将硬盘的空间当内存使用救急)
2.1 fdisk 查看或管理磁盘分区 (只能分2T以下的硬盘)
三、如何在linux使用硬盘 ,新建分区(主分区,扩展分区和逻辑分区)实验
1.2 Linux系统添加一块新硬盘不想重启就可以加载磁盘的话,执行如下就行
一、磁盘结构
1、磁盘的物理结构
- 盘片:硬盘有多个盘片,每盘片2面
- 磁头:每面一个磁头
机械硬盘:
2、硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
- 磁道:同一盘片不同半径的同心圆
- 柱面:不同盘片相同半径构成的圆柱面
磁道:
例如:读一秒钟,内圈经过两个扇区,但外圈经过三个扇区,外圈存放的数据多
3、磁盘结构
- 硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
- 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域磁盘
- 接口类型: IDE、SATA、SCSI、SAS、光纤通道
4、硬盘接口类型
- IDE:133MB/s,并行接口,早期家用电脑工,目前已被淘汰
- CSSl:640MB/s,并行接口,早期服务器
- SATA: 6Gbps,SATA数据端口(短的)与电源端口(长的)是分开的,即需要两条线,一条数据线,一条电源线
- SAS:6Gbps,SAS(服务器常用)是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电的而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。
- M.2
- 光纤接口
5、MBR与磁盘分区
5.1 为什么分区
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个os
- 采用不同文件系统
(文件系统:管理文件的软件,让软件由大小、权限等功能。管理大小、权限、日志和恢复功能等)
分区好处:便于管理,优化读写性能
分区的缺点:
- 一旦建立无法修改,如果要修改,只能推导重建,重新格式化,数据丢失
- 不够灵活 ,空间只能来自于一块硬盘,并且必须是连续的空间
- 没有备份冗余功能,没有备份,需要依靠工程师手动备份
硬盘会将第一个扇区保存起来,一个扇区512个字节(前446个字节是引导文件,引导你去找到系统;后64个字节是分区表,告诉你分区的范围,例如第一个分区是2-1000 999*512大概5G,第二个分区是1001-10000;最后2个字节保留。
5.2 MBR分区(最多只能分4个区,只能对小于2T的硬盘分区)
MBR(主引导记录):1982年,使用32位表示扇区数,分区不超过2T
- 446bytes: boot loader启动相关
- 64bytes:分区表,其中每16bytes标识一个分区 4*16=64 所以最多可以分4个区
- 2bytes: 55AA (代表分区)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16个字节
5.3 分区类型
- 主分区:直接使用
- 扩展分区:不能直接使用,要在扩展分区的基础上再分逻辑分区才可以使用(将自己的第一个扇区用来存储分区表)
- 逻辑分区:直接使用
5.4 磁盘分区结构
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,ldev/sda5
linux中将硬盘、分区等设备均表示为文件
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
5.5 GPT分区(可以分128个区)
使用128位代表分区表
使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动
6、文件系统类型
是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;即在存储设备上组织使用文件的 方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进 行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。
总结:用来管理(增删改查恢复)文件的程序
查看支持的文件系统
代码:ll /bin/modules/`uname -r`/kernel/fs
可以没有文件系统吗? 可以,不装文件系统时,我们看不懂,但电脑还是能看懂的。
6.1 XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统
- CentOS7系统中默认使用的文件系统(centos6系统中默认的文件系统是ext)
- 根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
- 用优化算法,日志记录对整体文件操作影响非常小
- 是一个全64-bit的文件系统,最大可以支持8EB的文件系统,1EB=1024PB1PB=1024TB(这里才到TB1TB=1024GB
- 而支持单个文件则达到8EB能以接近裸设备I/O的性能存储
6.2 SWAP,交换文件系统(在内存不足的时候,将硬盘的空间当内存使用救急)
- 为Linux系统建立交换分区
swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。
6.3 Linux支持的其他文件系统
- FAT16、FAT32(且最大只能支持32GB分区,单个文件也只能支持最大4GB。)
- NTFS(xfs)(NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件64GB)
- EXT4(Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024TB )
- JFS(主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB)
二、检测并确认新硬盘
1、分区工具
lsblk 列出块设备
fdisk 管理MBR分区
gdisk 管理GPT分区
parted 高级分区操作,可以是交互或非交互方式
partprobe 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8
2、分区命令
2.1 fdisk 查看或管理磁盘分区 (只能分2T以下的硬盘)
- 格式:fdisk [磁盘设备] :查看或管理磁盘分区
- fdisk -l :查看所有的硬盘信息
- fdisk -l [磁盘设备] :只看次设备的信息
指令 | 作用 |
---|---|
m | 打印出当前分区列表 |
p | 打印出当前分区列表 |
n | 新建一个分区 |
d | 删除一个分区 |
t | 改变分区属性,系统ID |
w | 保存 |
q | 不保存退出 |
2.2 parted (不建议,即时生效)
我们可以使用 fdisk命令对硬盘进行快速的分区,但对高于 2TB 的硬盘分区,此命令却无能为力,此时就需要使用 parted 命令。
2.3 gdisk
算是fdisk的延伸,用法与fdisk一样,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。
3、blkid 查看块设备属性信息(可以查看UUID号)
三、如何在linux使用硬盘 ,新建分区(主分区,扩展分区和逻辑分区)实验
1、创建主分区
1.1 添加硬盘(默认下一步)这里我添加了3块盘,点击确定
1.2 Linux系统添加一块新硬盘不想重启就可以加载磁盘的话,执行如下就行
刷新接口:
[root@localhost ~]#echo "- - -" >/sys/class/scsi_host/host0/scan
[root@localhost ~]#echo "- - -" >/sys/class/scsi_host/host1/scan
[root@localhost ~]#echo "- - -" >/sys/class/scsi_host/host2/scan
或写别名
[root@localhost ~]# vim ~/.bashrc
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
或者:
查看接口信息:
1.3 创建主分区
fdisk 设备名
fdisk /dev/sdb
n
回车默认主分区
回车默认起始位置
+5G 分配5G空间
p 打印
w 保存并退出
1.4 安装文件系统(格式化)/创建文件系统
mkfs.xfs /dev/sdb1 (分区名)
1.5 挂载
mount /dev/sdb1 /mnt
将sdb1挂载到mnt目录下
1.6 检查
- lsblk 选项有-f 文件系统类型 作用:查看分区情况
- df 选项有-h 人性化查看 、-T 文件系统类型 作用:查看磁盘使用情况和文件系统格式。
- blkid 显示硬件设备的身份证号
2、创建逻辑分区
2.1 创建扩展分区
2.2 创建逻辑分区 w保存
扩:扩展分区为sdb5,sdb6,sdb7,当sdb5被删除时,sdb6会顶上来变成sdb5,所以在之后的永久挂载中,最好使用分区的UUID号,而不是他们的设备名。
2.3 格式化
2.4 挂载
2.5 检查
3、添加swap 交换分区
3.1 分区后改变ID类型
3.2 格式化swap分区
3.3 开启swap分区
3.4 关闭所有
四、挂在与卸载
1、挂载规则
- 一个挂载点同一时间只能挂载一个设备
- 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
- 一个设备可以同时挂载到多个挂载点
- 通常挂载点一般是已存在空的目录
2、mount命令
挂载文件系统、ISO镜像到指定文件夹
- mount [-t 类型] 存储设备 挂载点目录
- mount -o loop ISO镜像文件 挂载点目录
3、umount命令
卸载已挂载的文件系统
- umount 存储设备位置
- umount 挂载点目录
4、文件挂载文件,相当于做了软链接
5、永久挂载
如果出错了你重启了,只能进入急救模式去修改 vi /etc/fstab