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 ,不需要删除

相关推荐
宁zz14 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间15 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg501715 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影15 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain15 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon15 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu16 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
@郭小茶17 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon17 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++