* 主机规划和磁盘分区—— 相当重要
23、RAM 和 RAID
ram 内存大小,内存不足时,数据会在ram和swap之间交互,系统性能指数级下降。
raid:磁盘阵列技术,将多个磁盘整合成一个大硬盘,os只会看到整合后的大硬盘,利于提高速度性能和做备份。
24、一切接文件
在linux系统中,一切接文件。
设备是一种文件,目录也是一种文件。所有都是文件。
例如 :SATA接口的文件形式是 /dev/sd[a-d]
几乎所有硬件设备文件都在 /dev/ 目录内。
25、磁盘连接方式
个人pc 的磁盘连接有2种方式:SATA 和 SAS
26、磁盘分区表
两种分区表:MADOS 和 GPT
a、MSDOS:早期的分区格式。
分区:以柱面为单位的连续 磁盘空间。
硬盘的第一个扇区(默认每个扇区为512Bytes),保存了2种信息:
1)开机记录区, 446Byte
2)分区表(分区的元数据):记录整个磁盘的分区信息, 64Byte。 因为只有64Bytes,最多只能有4组记录区,每组记录区分别启动了该区段的起始和结束的柱面号码。
假设硬盘有400个柱面,详情记录在对应在第一个扇区的分区表里面。
记录区:硬盘设备文件名 | 各个记录区记录的开始柱面号-结束柱面号
P1:/dev/sda1 --- 1-100
P2:/dev/sda2 --- 101-200
P3:/dev/sda3 --- 201-300
P4:/dev/sda4 --- 301-400
类比地,硬盘的分区 P1-P4 对应window的C D E F 盘。
当有数据写入F盘(P4)时,数据写入P4的 301-400柱面。
linux 硬盘的分区 就是 window的CDEF 盘符。
先选盘,再处理数据。
3)主分区、延伸分区、逻辑分区
* 分区表只能有4组记录区,不代表全局只能有4个分区。可以将其中一个分区进行延伸,从而衍生更多的分区:
从P2进行延伸扩展,将101-400 划分成更多的子分区 (L1-L5)。
此时,P1 叫做主分区,P2叫做延伸分区,L1-L5是P2延伸出来的逻辑分区。
注意:延伸分区的目的是使用额外的扇区来记录分区,本身不能进行格式化。
硬件设备的文件名,如下:
因为sda3和sda4 为P保留,所以逻辑分区从5开始。
综上,如果硬盘的第一个扇区坏了,崩溃式故障,所有数据都game over了。
b、GPT
GUID parttion table 分区表方式
将磁盘所有区块用 LBA(512Bytes)来规划。
使用34个LBA来保存分区表信息,并且整个磁盘的最后33个LBA作为分区表信息的备份。规避了MSDOS单一扇区(特指第一个扇区)故障问题。
如图:LBA0 ~ LBA33 保存分区表信息;LBA-34 ~ LBA-1 作为分区表的备份。
中间的LBA 34 ~ LBA-33 这段区域,是磁盘的真实数据存取空间。
GPT 模式,没有主分区、延伸分区、逻辑分区的概念,每一个分区都是主分区,每一个分区都可以进行格式化,理论上可以设置128个分区,多了可能不能正常使用(原因不详)。
27、磁盘分区的作用
1)安全考虑,分区管理不同的数据。类似C盘存放系统相关文件。
2)性能考虑,读取不同分区的数据,不需要全局查找。
28、开机管理程序
1)目的:
2)开机流程
BIOS + MSDOS(MBR):
因为BIOS 是老式的,不识别GPT,需要UEFI 协助。
UEFI-BIOS + GPT:不详
29、linux 目录树结构
linux 一切皆文件,目录也是一种特殊的文件。
文件以目录树结构来组织和存放,实际文件数据是在磁盘分区进行读写,二者的连接关系通过“挂载”来完成。
30、文件系统和目录树的关系(挂载)
挂载:利用一个目录作为切入点,将磁盘分区的数据放在该目录下。即,进入该目录,就可以读取该分区的数据。
这个动作就是“挂载”,该目录就是挂载点。
目录树的根,一定要挂载到某个磁盘的分区。
其他目录,可以挂载在不同的分区上。