接上期,

PolarFS 主要由两层组成,一层是存储管理层,上面一层是文件系统元数据和提供文件系统API层,存储层负责所有节点的磁盘资源,并为每个数据库实例提供数据库卷。文件系统层在此基础上提供文件管理,负责文件系统元数据并发访问的互斥。
下图为展示POLARFS 集群中的主要组件,libpfs是一个用户控件文件系统实现的连接库,具有一组类似的posix文件系统API,连接到POLARDB进程,Polarswitch驻留在计算节点上,用于将将应用程序的I/O请求重定向到chunkserver ,chunkserver部署在存储节点上用于,处理I/O请求,POLARCTRL是控制面板,包括一组在微服务中实现的主节点,以及部署在所有计算和存储节点上的代理,Polarctrol使用mysql 事例作为元数据存储库。

3.1 文件系统层
文件系统层提供了一个共享和并行的文件系统,用来同时访问多个数据库节点,举例假设POLARDB 中的主节点正在创建表,此时就会在POLARFS上创建一个新的文件。执行select 语句在只读节点访问文件,因此因此需要去同步修改文件系统的元数据到从节点,保证数据的一致性避免元数据被损坏。

本文接上期介绍PolarFS,它主要由存储管理层和文件系统元数据及API层组成。文件系统层提供共享并行文件系统,保证数据一致性;存储层管理文件,卷容量大且可扩展。还介绍了libpfs、PolarSwitch、chunkServer等组件的功能及特点,以及可能出现的问题和解决思路。
最低0.47元/天 解锁文章
937

被折叠的 条评论
为什么被折叠?



