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 表示一个分区。

  1. 有效标志符(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 -hinodedf -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 ,不需要删除

相关推荐
玛丽亚后几秒前
秒懂Linux之线程
linux·开发语言·jvm·c++
music score20 分钟前
Ubuntu编译fftw3
linux·ubuntu·postgresql
北沐xxx1 小时前
VMware虚拟机Centos操作系统——配置docker,运行本地打包的镜像,进入conda环境(vmware,docker新手小白)
开发语言·python·docker·centos·conda
cozil1 小时前
CentOS常用命令收集
linux·运维·centos
薛定谔方程难1 小时前
【Linux】模拟实现一个shell
linux·运维·服务器
7yewh2 小时前
C语言刷题 LeetCode 30天挑战 (七)哈希计数法
linux·c语言·c++·嵌入式硬件·算法·leetcode·哈希算法
多多*2 小时前
OJ在线评测系统 后端 判题机模块预开发 架构分析 使用工厂模式搭建
java·linux·开发语言·前端·数据库·microsoft·架构
我命由我123453 小时前
服务器分类极简理解
运维·服务器·经验分享·学习·运维开发·学习方法
程序那点事儿3 小时前
open-resty 服务安装kafka插件
linux·分布式·nginx·kafka·lua·运维开发·openresty
小程爱敲代码3 小时前
Linux集群部署RabbitMQ
linux·运维·rabbitmq