存储结构与管理硬盘(Day9 ~ Day10)

历览千载书,时时见遗烈。这篇文章主要讲述存储结构与管理硬盘(Day9 ~ Day10)相关的知识,希望能为你提供帮助。
一、一切从“/”开始1、 FHS (Filesystem Hierarchy Standard,文件系统层次标准)
1)Linux一切皆文件Linux一切皆文件,都是从“根”目录(/)开始的,并按照FHS采用倒树状结构来存放文件,以及定义常见目录的用途。
2)Linux系统中的文件和目录名称是严格区分大小写的3)FHS的用途:

  • 应该把文件保存到什么位置
  • 应该在何处找到所需的文件
  • FHS只是道德上的约束


2、FHS倒树状存储结构图
 
3、Linux系统中常见的目录名称以及相应内容
目录名称
应放置文件的内容
/boot
开机所需文件—内核、开机菜单以及所需配置文件等
/dev
以文件形式存放任何设备与接口
/etc
配置文件
/home
用户主目录
/bin
存放单用户模式下还可以操作的??命令??
/lib
开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin
开机过程中需要的命令
/media
用于挂载设备文件的目录
/opt
放置第三方的软件
/root
系统管理员的家目录
/srv
一些网络服务的数据文件目录
/tmp
任何人均可使用的“共享”临时目录
/proc
虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local
用户自行安装的软件
/usr/sbin
Linux系统开机时不会使用到的软件/命令/??脚本??
/usr/share
帮助与说明文件,也可放置共享文件
/var
主要存放经常变化的文件,如日志
/lost+found
当文件系统发生错误时,将一些丢失的文件片段存放在这里
4、相对路径与约绝对路径
1)相对路径(relative path):相对于当前路径的写法
2)绝对路径(absolute path):从根目录(/)开始写起的文件或目录名称
二、物理设备命名规则 
1、udev设备管理器
1)常驻内核,自动规范硬件名称2)方便用户根据设备文件名猜出设备属性及分区信息等;3)Udev服务以守护进程形式持续侦听内核指令来管理/dev目录下的设备文件2、常见的硬件设备及其文件名称
硬件设备
文件名称
IDE设备
/dev/hd[a-d]
SCSI/SATA/U盘
/dev/sd[a-z]       (注:a~z代表26块不同的硬盘,下同)
virtio设备
/dev/vd[a-z]
软驱
/dev/fd[0-1]
打印机
/dev/lp[0-15]
光驱
/dev/cdrom
鼠标
/dev/mouse
磁带机
/dev/st0或/dev/ht0
 
3、硬盘分区编号
1)主分区或扩展分区的编号从1开始,到4结束;2)逻辑分区(对应windows中的逻辑驱动器)从编号5开始。4、纠正2个错误的知识点(设备名称与分区编号)
1)设备名称理解错误:
  • 设备名称由系统内核识别顺序决定,不是主板插槽顺序;
  • /dev目录中sda设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。
2)分区编号理解错误
  • 分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。(即:分区数字编码不代表分区个数)
  • sda3表示编号为3的分区,而不能判断sda上已经存在了3个分区
?
3)应用实战(/dev/sda5解释) 
  • /dev/:硬件设备文件
  • sda5:sd表示的是存储设备;a表示同类接口中第一个被识别到的设备;5表示这个设备是一个逻辑分区。
  • /dev/sda5:第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件
5、Linux(Windwos)磁盘分区
1)分区要求
  • 分为主分区(primary partion)和扩展分区(extension partion)两种
  • 主分区和扩展分区数目之和不能大于四个
  • 主分区可马上被使用但不能再进行分区
  • 主分区至少1个
  • 扩展分区最多1个,并且必须再分区(分成‘逻辑分区’)后才能使用
2)主分区、扩展分区数量对照表
主分区数量(个)?
Primary Partion?
扩展分区数量(个)?
Extension Partion?
4?
0?
3?
1?
2?
1?
1?
1?
 
 
 
三、文件系统与数据资料1、Linux各种文件系统特性对照表
文件系统
推出时间
级别
特性
使用建议
Ext2
1993年
首个商业级
  • Second extended filesystem (ext2)
  • 沿袭UJNIX文件系统
  • 不包含日志读写功能
  • 较大的数据丢失可能性
v  最好不用
v  顶多用于SD卡或U盘
Exte3
RHEL2~5
 
  • Third extended filesystem (ext3)
  • 日志文件系统(把硬盘每个写入动作的细节都预先记录下来,再进行实际操作,以便发生异常宕机后能回溯追踪到被中断的部分);
  • 系统异常宕机时能避免文件系统资料丢失,并能自动修复数据的不一致与错误
  • 硬盘容量较大时,修复时间会很长,不能100%保证资料不会丢失
 
Ext4
RHEL6
Ext3改进版
  • 支持的存储容量高达1EB;
  • 有无限多的子目录;
  • 能批量分配block(块),极大提高了读写效率。
当前主流
XFS
RHEL7/8
Ext4改进版
  • RHEL 7/8中默认的高性能日志文件管理系统;
  • 意外宕机可快速恢复可能被破坏的文件,且强大的日志功能只需花费极低的计算和存储性能;
  • 最大存储容量为18EB,几乎满足所有需求。
当前主流
 
2、新硬盘的正确使用方式
先分区--> 再格式化--> 最后挂载到目录中使用
 
3、硬盘地图(Super Block)、inode(索引节点)、block(块)解释
1)硬盘地图(Super Block)记录该硬盘或分区上文件系统的整体信息,如文件系统的大小等。
2)Inode
  • 又称“索引节点”,每个inode对应一个文件或目录,inode记录了文件的大小、占用block及目录的directory block信息。
  • 一个inode默认大小为128字节,记录一个block消耗4字节
  • 当文件的inode被写满后,Linux会自动再分配一个block,专门用于像inode那样记录其他block块的信息,这样把各个block块的内容串到一起,就能够让用户读到完整的文件内容了。
  • Inode节点记录的信息:
  1. 该文件的访问权限(read、write、execute);
  2. 该文件的所有者与所属组(owner、group);
  3. 该文件的大小(size);
  4. 该文件的创建或内容修改时间(Ctime);
  5. 该文件的最后一次访问时间(Atime);
  6. 该文件的修改时间(Mtime);
  7. 文件的特殊权限(SUID、SGID、SBIT);
  8. 该文件的真实数据地址(point)。
3)Block
  • 保存文件的实际内容(block大小一般是1KB、2KB或4KB)
  • 存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block
4)文件大小与占用空间不一致说明(以:4KB大小block为例)文件很小(1KB),但依然会占用一个block,因此会浪费3KB。
文件很大(5KB),那么会占用两个block(5KB?4KB后剩下的1KB也要占用一个block,浪费3KB)。
   
4、虚拟文件系统(Virtual File System,VFS)
1)VFS特点屏蔽底层硬盘结构,简化用户使用
2)VFS架构示意图 
 
四、挂载硬件设备1、挂载(mount)
当需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
2、mount命令及常用参数(命令格式:mount 待挂载设备   挂载目录)
  mount命令中的参数以及作用
参数
作用
-a
挂载所有在/etc/fstab中定义的文件系统
-t
指定文件系统的类型
-a     执行后自动检查/etc/fstab文件中有无漏挂载的设备文件,如有,则自动挂载。
-t     一般不需要使用-t来指定文件系统类型,Linux系统会自动进行判断。
3、应用示例:挂载/dev/sdb2到/backup目录
[root@linuxprobe ~]# mount /dev/sdb2 /backup
4、应用示例:使用UUID挂载设备
1)UUIDUniversally Unique Identifier,通用唯一识别码,具有唯一性及稳定性,可唯一标识硬件,常用来挂载网络设备。
2)查询设备的UUID:命令: blkid[root@linuxprobe ~]# blkid
/dev/sdb1: UUID="2db66eb4-d9c1-4522-8fab-ac074cd3ea0b" TYPE="xfs" PARTUUID="eb23857a-01"
3)使用UUID挂载网络设备[root@linuxprobe ~]# mount UUID=478fRb-1pOc-oPXv-fJOS-tTvH-KyBz-VaKwZG /backup
5、mount命令挂载的设备重启后失效,可写入/etc/fstab文件永久生效。
1)/etc/fstab 文件挂载信息格式:设备文件 挂载目录 格式类型   权限选项 是否备份 是否自检
2)用于挂载信息的指定填写格式中,各字段所表示的意义
字段?
意义?
设备文件?
一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)?
挂载目录?
【存储结构与管理硬盘(Day9 ~ Day10)】指定要挂载到的目录,需在挂载前创建好?

    推荐阅读