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

Posted myxxw2010

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储结构与管理硬盘(Day9 ~ Day10)相关的知识,希望对你有一定的参考价值。

一、一切从“/”开始

1、 FHS (Filesystem Hierarchy Standard,文件系统层次标准)

1)Linux一切皆文件

Linux一切皆文件,都是从“根”目录(/)开始的,并按照FHS采用倒树状结构来存放文件,以及定义常见目录的用途。

2)Linux系统中的文件和目录名称是严格区分大小写的

3)FHS的用途:

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


2、FHS倒树状存储结构图

《LinuxProbe》—RHCE 

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解释)

 《LinuxProbe》—RHCE

  • /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

 《LinuxProbe》—RHCE

 

 

三、文件系统与数据资料

1、Linux各种文件系统特性对照表

文件系统

推出时间

级别

特性

使用建议

Ext2

1993年

首个商业级

  • Second extended filesystem (ext2)
  • 沿袭UJNIX文件系统
  • 不包含日志读写功能
  • 较大的数据丢失可能性

最好不用

顶多用于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架构示意图

 《LinuxProbe》—RHCE

 

四、挂载硬件设备

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)UUID

Universally 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)

挂载目录

指定要挂载到的目录,需在挂载前创建好

LeetCode刷题笔记-数据结构-day9

python学习day9笔记

Alpha冲刺Day9

Alpha冲刺Day9

20230420-Python-集合与字典-day9

python day9 批量管理工具

(c)2006-2024 SYSTEM All Rights Reserved IT常识