当前位置: 首页 > article >正文

CentOS 6文件系统

     由冯诺依曼在 1945 年提出的计算机五大组成部分:运算器,控制器,存储器,输入设 备,输出设备。

 1. 硬盘结构:

(1)机械硬盘结构:

磁盘拆解图:

扇区,磁道,柱面示意图:

      数据写入:圆心以放射状的方式分割出磁盘的最小存储单位就是扇区,每个扇区大小 为 512bytes。而扇区组成的圆就称为磁道,如果多盘片的情况下,在所有盘片的同一磁道就组成了一个柱面。 比较古老的 CHS (Cylinder/Head/Sector :磁头(Heads)、柱面(Cylinder)、扇区 (Sector))结构体系.也就是硬盘盘片的每一条磁道都具有相同的扇区数,由此产生了所谓 的 3D 参数,即是磁头数(Heads)、柱面数(Cylinders)、扇区数(Sectors)以及相应 的 3D 寻址方式。

    现在硬盘都采用这种技术:ZBR(Zoned Bit Recording)区位记录。 Zoned-bit recording(ZBR 区位记录)是一种物理优化硬盘存储空间的方法,此方法 通过将更多的扇区放到磁盘的外部磁道而获取更多存储空间。 ZBR 磁盘扇区结构示意图:

     转速:家用台式:7200rpm

           家用笔记本:5400rpm

           服务器:10000-15000rpm  影响读取速度快慢

机械硬盘转速和使用注意事项: 由于硬盘内部机械手臂上的磁头与盘片的接触是很细微的空间,如果有抖动或者脏物 在磁头与盘片之间的话就会造成数据的丢失或者整个硬盘的损坏。

(2)固态硬盘:

      

     固态硬盘,使用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。

     特点:读写快,噪音低,防震,轻薄,有写入次数限制,容量较小,价格高。 在固态硬盘中,为了便于理解,也有逻辑上的磁道,扇区的概念。

2.硬盘使用流程:

 1)对硬盘进行分区。

  2)格式化指定文件系统。 文件系统元数据

  3)挂载使用。

 

3.分区:MBR 与 GPT

MBR 分区方式:

 主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码:

1. 主引导程序(boot loader)占用了 446byte

2. 分区表(Partition table)占用了 64byte,16byte 表示一个分区。

3. 有效标志符(magic number)占用了 2byte,标记 MBR 是否有效。

只有4个分区原因

逻辑分区在扩展分区基础上划分。

1.划分扩展分区(2000-3000):注意扩展分区扇区范围。

                                                 不能写入数据只能包含逻辑分区

2.划分逻辑分区:注意逻辑分区扇区范围。

 

虚拟机进行 MBR 分区 步骤:

1.关机添加硬盘。

2.使用 fdisk+设备文件名进行分区。

在 fdisk 交互界面中,可用选项有:     分区:  #fdisk  /dev/sdb 划分MBR挂载分区

a:切换分区启动标记

b:编辑 bsd 磁盘标签

c:切换 dos 兼容模式

d:删除分区

n:新建分区

l:显示分区类型 

p:显示分区表信息

q:不保存退出

w:保存并退出

t:修改分区 id,可以通过 l 查看 id

o:创建新的空分区表

u:修改容量单位,磁柱或扇区

m:显示帮助菜单

x:扩展功能

s:创建新的 Sun 磁盘标签

v:检验分区表

 

进行 GPT 分区

    传统的 MBR 分区方式有诸多限制,比如只能有 4 个主分区,无法创建大于 2TB 的分区。而 GPT 分区方式则没有这样的限制,而且,GPT 分区提供了分区表的冗余以实现分区表的备份 与安全。但是 fdisk 命令不支持 GPT 分区方式,需要使用 parted 命令(非交互式分区)进 行分区。

GPT 分区表可分为三部分:

LBA0:GPT 分区的最开头,考虑兼容性问题,开头仍然存放 MBR 分区表,只是里面存放的 是指向 GPT 的指针。防止有一些系统不识别 GPT 分区表。 LBA1:储存了硬盘的总空间,以及 GPT 分区表的信息,定义最多能创建 128 个分区,每个 分区信息占用的空间是 128 个字节。

LBA2-33:每个分区信息存放的位置。

注:LBA(logica block address)中文名称为逻辑区块地址,即扇区,默认 512 字节。 创建新分区需要使用 gdisk 命令,使用方式与 fdisk 命令相似。

4.格式化与挂载:

硬盘分区后,需要格式化写入文件系统之后才可以正常使用。注意:扩展分区是不能格式化的。

文件系统原理图

 名词解释: 而文件系统的最小存储单位是“块”(Block)。

super block:超级块,记录每个分区的 block 的大小、数量;

GDT:组描述符,用于描述组情况。每个组有不同的组描述符。

blockbitmap 块位图(已使用和未使用的 inode 和 block 的数量)。

inodebitmap:inode 位图。 inode 表:inode 表作用是用来快速搜索磁盘上索引节点。

data block:数据块,保存真实数据的位置,block 的大小和数量在格式化成文件系统时 已经固定,除非重新格式化,否则不能修改。

单个文件占用小于一个 block 的大小时,单 独占用一个 block,剩余空间不会被利用。

inode: i 节点,记录 inode 号、权限、属主属组、时间戳、大小、占了哪几个 block。

 

格式化:#mkfs.ext4  /dev/

mkfs:创建文件系统 格式:mkfs “-t 指定文件系统格式” 设备文件名 文件系统格式有:ext2、ext3、ext4、vfat 等。常用格式为 ext3 和 vfat。vfat 可以用在 Linux 和 Windows 共享 U 盘上。

用 mkfs 命令将/dev/sdb1 格式化为 ext3 文件系统

#在格式化完成之后就可以创建一个目录挂载,使用

创建一个空目录 作为挂载点

过载后的文件可以通过:查block情况#df  -h   inodedf  -i  来看资源使用情况

永久挂载: 如果想要下次开机继续挂载还需要修改一下/etc/fstab 文件。此文件为开机自动挂载文件,重启生效

第一列:设备文件名(UUID)

第二列:挂载点

第三列:文件系统类型

第四列:挂载特殊选项

第五列:是否备份:0 不备份 1 每天备份2 不定期备份

第六列:是否检查磁盘状态:0 不检查 1 启动时检查 2 启动后检查

 

UUID:硬盘的唯一标识符,设备名称可能会重复但 UUID 不会重复。

查看 UUID 的方式:

1.dumpe2fs -h 分区设备名

2.ls -l /dev/disk/by-uuid/ 注意:在修改/etc/fstab 的过程中 UUID 一定要填写正确,

                                                          如果 UUID 出错会造成系统无法 启动。

3.查看分区文件系统:df -T、mount

4.lsblk  -f

5.blkid       # blkid  | grep sdb1  >>  /etc/fstab     再打开/etc/fstab  留下uuid,不需要删除


http://www.kler.cn/news/329995.html

相关文章:

  • 低功耗4G模组Air780E之串口通信篇
  • Kotlin:2.0.0 的新特性
  • 云服务器部署k8s需要什么配置?
  • 关于git分支冲突问题
  • JVM 基本组成
  • 中原台球展,2025郑州台球展会,中国台球产业链发展大会
  • EDM平台大比拼 用户体验与营销效果双重测评
  • 使用 HTMX 从服务器获取文本更新 Quill Editor 的内容
  • 第二十三节:学习拦截器或者使用AOP实现用户token参数请求检测(自学Spring boot 3.x的第六天)
  • .NET 工具库高效生成 PDF 文档
  • 计算机各专业2025毕业设计选题推荐【各专业 | 最新】
  • 麒麟操作系统部分目录介绍
  • 人口普查管理系统基于VUE+SpringBoot+Spring+SpringMVC+MyBatis开发设计与实现
  • Spring之生成Bean
  • 关联式容器:map和set
  • 【QT Quick】基础语法:导入外部JS文件及调试
  • html5 + css3(上)
  • 回首往事,感受change
  • Android Compose的基本使用
  • 每日一题:二分查找
  • 解决Excel时出现“被保护单元格不支持此功能“的解决办法,详细喂饭级教程
  • Raspberry Pi3B+之安装bookworm+Rpanion系统
  • 某客户Oracle RAC无法启动故障快速解决
  • 提升工作效率的编程工具:从选择到应用
  • 什么是ETL?什么是ELT?怎么区分它们使用场景
  • Python字符串string方法大全及使用方法[1]以及FastAPI框架文件上传的处理-client使用postman
  • 数据分析-27-基于pandas进行模糊匹配merge_asof和groupby分组统计
  • javaScript中的浅拷贝和深拷贝详解
  • synchronized底层是怎么通过monitor进行加锁的?
  • 【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误