005 虚拟文件系统VFS中超级块、安装点、文件系统类型三者之间关系

上两篇文章介绍虚拟文件系统VFS中基本的数据结构、以及与进程相关的数据结构,为了描述完整的VFS,其实还有一类数据结构,他们是描述文件系统的。文件系统在不同状态下,根据功能不同,主要包含三个数据结构:超级块super_block、安装点(也叫挂载点)mount和vfsmount、文件系统类型file_system_type。下面就详细介绍下这三个数据结构之间的关系。

继续阅读“005 虚拟文件系统VFS中超级块、安装点、文件系统类型三者之间关系”

004 虚拟文件系统VFS与进程相关的数据结构

上一篇介绍了虚拟文件系统VFS的基本数据结构,包括:文件系统类型file_system_type、超级块super_block、索引节点inode、目录项dentry和文件对象file。本篇文章着重看一下与进程相关的数据结构,包括files_struct和fs_struct,两者通过task_struct(进程)结构体粘结起来,通过fs_struct可以获取文件系统、挂载点、根dentry等信息,通过files_struct可以打开的文件对象,进而获取目录项、索引节点,最后和物理文件建立联系。

继续阅读“004 虚拟文件系统VFS与进程相关的数据结构”

003 虚拟文件系统VFS基本数据结构

Linux支持多种文件系统,这些具体的文件系统并不是直接都挂载到系统中的,实际上是按需挂载的,这些文件系统只有挂载到系统中,VFS才能够真正管理起来,否则如果只是注册,不会产生任何文件系统实例。

文件系统挂载(安装)后,将会产生多个数据结构实例,挂载过程实际上就是构造这些数据结构实例的过程。Linux在文件系统的设计中,汲取了Unix的设计思想,抽象出四个基本数据结构:超级块(super_block),索引节点(inode),目录项(directory entry)和文件对象(file)

文件系统主要数据结构
文件系统主要数据结构
继续阅读“003 虚拟文件系统VFS基本数据结构”

002 Linux内核中虚拟文件系统VFS组织方式和文件系统注册

Linux支持多种文件系统,据维基百科统计多达上百种,它是如何进行组织和管理这些文件系统?答案就是VFS。Linux内核使用VFS框架,来组织和管理多个文件系统,VFS叫虚拟文件系统,也叫(Virtual Filesystem Switch)。VFS是内核中的软件层,为用户空间程序提供文件系统接口,同时在内核中提供了一个抽象,允许不同的文件系统可以共存。

虚拟文件系统
虚拟文件系统
继续阅读“002 Linux内核中虚拟文件系统VFS组织方式和文件系统注册”

001 什么是文件系统?

文件系统是操作系统用于组织和管理存储设备或分区上的文件的方法和数据结构。操作系统中负责管理和存储文件信息的软件组织称为文件管理系统,简称文件系统。

下图中是Linux上常见的本地文件系统,Windows常用的文件系统有NTFS,当然随着技术发展,各种基于网络的分布式文件系统,也是层出不穷,比如:NFS、CIFS(windows),还有一类集群式的分布式文件系统,比如:Lustre、Ceph,这类文件系统在数据洪流、万物智联的在今天应用更加广泛。

文件系统
文件系统,来源:bing.com
继续阅读“001 什么是文件系统?”

03 Lustre集群架构和主要组件信息

Lustre集群架构,是一种集群式存储架构,核心是Lustre文件系统。Lustre文件系统是一种基于Linux的文件系统,同时对外提供符合POSIX标准的UNIX文件系统接口。Lustre支持根据需求动态扩缩容,从而减少部署多个独立的文件系统,通过动态添加服务器,可很容易地提高吞吐量和或容量。因为有强大的锁和数据一致性能力,Lustre文件系统在单个服务器上的性能较优,以下详细介绍Lustre集群架构和主要组件信息。

继续阅读“03 Lustre集群架构和主要组件信息”

02 Lustre版本发布历史

Lustre坎坷20载,依然坚挺,占据HPC市场一定的份额。今天就来盘点一下,Lustre在过去20年版本发布情况,以及各版本的特性。以下表格采用编年体,展示Lustre各个版本情况,汇总一下Lustre版本发布历史和未来的RoadMap。

继续阅读“02 Lustre版本发布历史”

【AI绘画】Stable Diffusion,AI绘画术语、黑话科普贴

随着23年AIGC大火,AI绘画,通过AI生图、扩图、修图的大模型越来越成熟。今天就AI绘画这个领域,给大家简单普及一下行业术语,也就是俗称的黑话。听到最高频的一个词就是SD,SD就是:Stable Diffusion,稳定扩散,这是AI生图的术语,也是大模型名称,是Stability团队出品的大模型,通过这个大模型可以完成上述功能,生成的图片主要二次元动漫为主,以下图片就是使用SD生成。

继续阅读“【AI绘画】Stable Diffusion,AI绘画术语、黑话科普贴”

01 Lustre坎坷的历史

Lustre是一种并行式文件系统,它的名字由Linux和Cluster组合而来,从名字可以看出,它是一种集群式的文件系统。一般用于大规模集群,比如成百、上千,甚至上万的节点。

目前,Lustre在超算(HPC)场景中,占有大量的市场份额,可以说是第一把交椅。但是,翻开它的发展历史,看到Lustre非常坎坷,像过家家一样,成为多个大厂的弃儿。

继续阅读“01 Lustre坎坷的历史”