Linux分区结构
Linux目录结构
磁盘命名规则
- /dev/sda
- /dev/sdb
- /dev/sdc…
磁盘名
是系统的识别顺序
决定的,在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符
;
udev设备管理器服务
决定了设备在/dev
目录中的名称
;
系统识别磁盘
的顺序一般和主板上的磁盘插槽顺序
一致;这仅仅是一种巧合
。
磁盘插槽顺序
只是影响了系统识别顺序
,但不代表系统识别磁盘
的顺序
就是按照磁盘插槽顺序
进行的.
查看系统中的磁盘列表
https://www.linuxcool.com/lsblk
# 查看磁盘列表
lsblk
查看磁盘的UUID
# 查看/dev/sdb1的uuid
blkid /dev/sdb1
磁盘扇区
每个磁盘由N个扇区组成;
每个扇区占用512字节
第一个扇区非常重要,保存了主引导记录(MBR)及分区表信息.
MBR占用了446个字节,(其实还有两个字节作为扇区的结束符);剩余64个字节;
每写入一个分区的信息,需要占用16个字节;只能保存4个分区的信息.
也就是说,一个磁盘只能有4个主分区;
四个以上的分区需要用逻辑分区.
MBR分区表和GPT分区表
磁盘分区类型
通常所说的“硬盘分区
”就是指修改磁盘分区表
,注意以下情况:
考虑到磁盘的连续性,一般建议将扩展分区
放在最后面的柱面内。 一个硬盘只有一个扩展分区
,除去主分区
,其它空间都分配给扩展分区
。
硬盘容量
=主分区
+扩展分区
;
扩展分区容量
=各个逻辑分区容量之和
。
主分区
只有把分区信息
写入在第一个扇区
上面的才把它叫做主分区
.
如果将分区信息
直接写入第一个扇区
的话,它就是主分区
。
MBR
格式分区表,最多4
个主分区
;
GPT
分区表最多128
个主分区
。
扩展分区
如果我们需要4个以上分区,那就要取出一个原先用于保存分区信息的16个字节,作为一个指针,指向到一个新的扇区上面,又有了一个新的512字节的空间,512/16后,又有了64个用于保存分区信息的空间。
- 只有把分区信息写入在第一个扇区上面的才把它叫做主分区。
原有用来保存16字节分区信息的那个空间,用来作为指针了,这个指针叫做“扩展分区”;
指针不能存储分区信息,它只是一个指针而已;作用是指向一个空的空间;
一个扩展分区
就有一个指针。
逻辑分区
在指针指向的空的512字节
的空间(新的扇区)中创建的分区
,叫做逻辑分区
。
分区建议
3主分区+1扩展分区
分区编号
主分区的编号是1到4
扩展分区的编号1到4
逻辑分区的编号是5—(5以后)
文件存储结构
所有的文件都由两部分构成:
inode和block之间的关系就像是一本书一样,inode是一本书的目录,一本书会有很多内容,一个知识点或者一个故事会占很多页,一个block就相当于书中的一页内容。
- inode(索引节点)
保存文件的属性信息和指针
inode大小一般是128字节或256字节,一个文件不足128字节或245字节,也会占用一个inode;
inode和block的大小是可以手动去指定的,并且在不同的操作系统和文件系统下inode和block的大小是不一样的。
- 文件名称
- 文件属主的User ID
- 文件属组的Group ID
- 文件的读、写、执行权限
- 文件的时间戳
- ctime创建时间
- mtime内容上一次修改时间
- atime 文件最后一次被访问时间
- 文件大小
- 链接数,即有多少文件名指向这个inode
- 指针–指向block,即文件数据block的位置
- 可以使用ls -l 查看文件属性(基本的inode信息)
- 可以用stat命令,查看某个文件的inode信息
- block(块)
系统读硬盘时,一次性连续读取多个扇区(一扇区512字节,约0.5kb),即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中
- block才是文件的实际数据(内容)
常见问题:磁盘盘符改变
https://help.aliyun.com/document_detail/295968.html
解决办法:
# 查看盘符和UUID
lsblk -o NAME,UUID
绑定UUID
至/etc/fstab
测试题
- /dev/sdc4 是主板上第三个磁盘插槽的设备吗?
答: 不一定
- /dev/sdc4 这块硬盘上有4个分区?
答: 不一定,分区编号4可能是扩展分区,扩展分区下可能还有逻辑分区
- /dev/sdc4 是个主分区吗?
答: 不一定,分区编号4还可能是扩展分区
- /dev/sdc8 是个逻辑分区吗?
答: 是的
- 哪个服务决定了设备在/dev目录中的名称?
答:udev设备管理器服务。