腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
存储内核技术交流
专栏成员
举报
138
文章
181589
阅读量
42
订阅数
订阅专栏
申请加入专栏
全部文章(138)
node.js(41)
存储(39)
编程算法(32)
unix(26)
linux(20)
缓存(19)
sql(16)
数据库(14)
postgresql(10)
数据结构(10)
分布式(9)
html(7)
打包(6)
文件存储(6)
go(5)
kernel(5)
api(4)
开源(3)
rpc(3)
对象存储(2)
css(2)
云数据库 SQL Server(2)
云数据库 Redis®(2)
ide(2)
数据迁移(2)
云数据库 postgresql(2)
mvcc(2)
oss(2)
server(2)
后端(2)
客户端(2)
内核(2)
负载均衡(1)
c 语言(1)
php(1)
python(1)
android(1)
单片机(1)
汇编语言(1)
硬件开发(1)
makefile(1)
oracle(1)
memcached(1)
负载均衡缓存(1)
solaris(1)
批量计算(1)
腾讯云测试服务(1)
日志数据(1)
vr 视频解决方案(1)
http(1)
shell(1)
网络安全(1)
tcp/ip(1)
flash(1)
socket编程(1)
kvm(1)
系统架构(1)
fpga(1)
processing(1)
虚拟化(1)
rust(1)
auto(1)
client(1)
connection(1)
db(1)
device(1)
event(1)
export(1)
fork(1)
import(1)
insert(1)
io(1)
leveldb(1)
list(1)
max(1)
min(1)
pdf(1)
posix(1)
proc(1)
put(1)
root(1)
row(1)
schema(1)
service(1)
set(1)
space(1)
super(1)
thread(1)
x86(1)
编码(1)
编译(1)
磁盘(1)
分页(1)
服务器配置(1)
架构(1)
进程(1)
连接(1)
内存管理(1)
事务(1)
调试(1)
统计(1)
文件系统(1)
系统(1)
线程(1)
协议(1)
优化(1)
源码(1)
搜索文章
搜索
搜索
关闭
源码编译Lustre-2.15.2
打包
AlmaLinux版本 // OS镜像:AlmaLinux-8.7-x86_64-dvd.iso [root@Lustre-OS ~/Source/zfs]$ uname -a Linux Lustre-OS 4.18.0-425.3.1.el8.x86_64 #1 SMP Tue Nov 8 14:08:25 EST 2022 x86_64 x86_64 x86_64 GNU/Linux 添加lustre.repo源 // 需要把这个园添加到节点中,后面源码编译需要这个源安装系统包 [root@Lust
用户4700054
2023-02-26
2.1K
0
误删Lustre后端文件系统数据的影响
存储
unix
概述 此次演练Lustre文件系统中ldiskfs-osd后端存储上的对象被删除后,Lustre文件系统的表现。核心演练两个场景,一个是MDS中的ldiskfs中的ROOT中文件被删除;另外一个是OST中的文件对象被删除。 Lustre MDS通过mount -t ldiskfs /dev/sdb /mnt/mdt挂载后端存储后,此次我们关注ROOT目录,ROOT目录是所有Lustre文件系统客户端看到的统一的posix的视图,在这个目录里操作对应的Lustre内部对象 Lustre OST通过类似的方
用户4700054
2023-02-26
651
0
聊聊Lustre Quota
后端
统计
文件系统
Quota设计思路 lustre整体分为master和slave,其中master是负责全局的quota分配和追踪运行在MDT上;slave负责后端mdt和ost后端文件系统的hard quota的统计和上报,运行在MDT和所有的OST上。 Quota设置核心链路 Quota Master端 // 这个qmt_hdls定义了quota的请求处理函数 struct qmt_handlers qmt_hdls = { /* quota request handlers */ .qmt
用户4700054
2023-02-26
1.1K
0
深入浅出Lustre中mkdir实现
unix
android
概览 基于linux文件系统无论是本地还是分布式文件系统都需要实现vfs层的posix层的语义,lustre定义内核的inode_operations中的inode操作的函数,整个mkdir过程分为两个部分,第一部分是lookup过程,第二个部分是mkdir过程。本篇文章着重分析lustre文件系统中的mkdir的实现过程。 // inode(目录)操作函数函数 const struct inode_operations ll_dir_inode_operations = { .lookup =
用户4700054
2023-02-26
697
0
聊聊lustre中的恢复机制之认知篇
数据结构
api
rpc
编程算法
背景 lustre中恢复机制分为客户端和服务端,客户端进行文件操作时候的异常情况制和服务端(MDS/OST)进行文件操作时候的异常情况,lustre提供整套的异常情况下的恢复机制。这一篇着重讲解涉及核心数据结构和核心API,整个服务之间同时通过RPC连接,客户端失败或者服务端失败大部分都能体现在网络上RPC上,所以接下来会着重分析关于网络方面的基本信息 核心数据结构解说 lustre客户端都会在struct obd_import数据结构(这个数据结构是客户端通过obd_import发送请求到lustre
用户4700054
2023-02-26
843
0
聊聊Lustre客户端参数调优
rpc
lustre集群环境 角色 节点 版本 磁盘 MGS/MDS 10.211.55.16 lustre 2.15 /dev/sdb OSS 10.211.55.17 lustre 2.15 /dev/sdb /dev/sdc Client 10.211.55.18 lustre 2.15 nil 核心参数说明 checksum_pages解说 参数说明:为了保护数据在网络中的传输,客户端内置两种数据校验的策略,一种是客户端内存中;另外一种是数据在网络传输中。每一种数据校验类型客户端服务端都会进行计
用户4700054
2023-02-26
934
0
探索Wiredtiger引擎基于B-Tree数据写入分析
css
数据库
编程算法
sql
存储
Wiredtiger支持的存储模型 Wiredtiger目前支持btree和lsm的存储模型,也是唯一一个支持2种存储模型的kv磁盘存储引擎 Wiredtiger数据插入实现概览 如下是Wiredtiger引擎的数据插入的的整体概览,从数据库连接初始化->会话初始化->游标初始化->调用游标的内置函数进行数据插入操作 Wiredtiger数据插入实现分析 wiredtiger_open函数 wiredtiger_open函数是整个wt引擎的初始化函数,定义了WT_CONNECTION的虚函数操作
用户4700054
2023-02-26
540
0
聊聊PG中事务隔离级别
数据库
sql
mvcc
数据库中的现象 Lost Updates现象:两个事务同时并发更新一个行数据,第一个事务更新完毕后,第二个事务没有考虑第一个事务的任何变更而进行数据变更的问题。比如A、B事都做转账10元给X账户操作,A事务在账户X(已有1元)完成转账这时候X账户有11元,而B事务这是开始转账读取X账户的11元,在转账1元,这时候X账户有12元,整个过程客户丢失了1元 Dirty Reads and Read Uncommitted现象:一个事务读取另外一个事务未提交的事务的数据这个就是脏读 Non-Repeatab
用户4700054
2023-02-26
522
0
聊聊ZFS中IO框架之基础篇
缓存
ZFS中的ZIO的流程中最上层是zfs操作入口,zpl是ZFS中的posix层,dmu是zfs中数据转换单元,这个设计和内核的虚拟地址类似,arc是数据缓存层,zio是SPA模块中执行数据从缓存到具体的磁盘的IO过程,这个也是zfs中比较复杂的部分 ZFS中定义了多种IO类型,每一种IO操作对应zio中的一个或者多个函数。ZIO的类型具体定义在zio_type中. typedef enum zio_type { ZIO_TYPE_NULL = 0, ZIO_TYPE_READ, ZIO_TYP
用户4700054
2023-02-26
909
0
探索Lustre中的OSD的初始化流程
export
import
root
server
super
OSD初始化流程概览 OSD格式化时候制定了MDS/MGS的地址,这个地址会写入到OSD对应的磁盘中,方便后续OSD挂载时候初始化MGC/MDC // 这里mgs/mds共享一块磁盘,mgs的总共占用的空间不会超过100M,因此没有不要单独弄一块盘来存储MGS的数据,即和MDS共享一块磁盘即可 mkfs.lustre --fsname=bigfs --reformat --mgsnode=CentOS-Lustre-MDS@tcp0 --ost --index=1 /dev/sdb OSD挂载的入口
用户4700054
2023-02-26
640
0
聊聊Lustre服务端的IO线程
io
max
min
oss
service
OSS IO服务线程参数 OSS中的IO线程初始化是通过ost_init进行初始化,这里设定了初始化的IO线程数 static const struct obd_ops ost_obd_ops = { .o_owner = THIS_MODULE, .o_setup = ost_setup, .o_cleanup = ost_cleanup, .o_health_check = ost_health_check, }; static int __init
用户4700054
2023-02-26
686
0
探索Lustre文件系统文件创建实现上篇之服务端
html
特殊的mdt0 mdt0是lustre元数据服务的注册开启的地方,注册处理客户端请求的各种handler.mdt初始化的通过mount时候读取CONFIGS/{fsname}-MDT0000文件数据进行mds obd初始化,mds初始化的读取bigfs-MDT0000-mdtlov、bigfs-MDT0000(mdt0)、bigfs-OST0001(osc1)、bigfs-OST0002(osc2),用llog_reader解析配置文件如下: // 通过llog_reader读取mdt的配置文件 $ l
用户4700054
2023-02-26
937
0
Linux内核源码目录
linux
内核
源码
$ tree ./ -L 1 ./ |-- COPYING |-- CREDITS |-- Documentation |-- Kbuild |-- Kconfig |-- LICENSES |-- MAINTAINERS |-- Makefile |-- README |-- arch |-- block |-- certs |-- crypto |-- drivers |-- fs |-- include |-- init |-- ipc |-- kernel |-- lib |-- mm |-
用户4700054
2023-02-26
4.2K
0
探索Lustre文件系统文件创建链路之客户端
unix
编程算法
vfs层文件创建链路 vfs层是在客户端执行创建创建,首先是经过内核的syscall的open调用,最后调用的是具体文件系统实现的的dir->i_op->atomic_open函数,这个函数是具体文件系统定义的。如下是vfs层的简要函数的定制和执行路径。 // 定义了系统调用open SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode) { return do_sys_open(AT_FDCW
用户4700054
2023-02-26
936
0
探索Lustre文件系统的客户端mount实现
c 语言
lustrefs文件系统定义 lustre/llite/super25.c定义lustre_fs_type为lustre文件关联mount和mount失败的后处理逻辑。这里的mount实现也是后端文件系统和客户端的mount实现。 static struct file_system_type lustre_fs_type = { .owner = THIS_MODULE, // lustre文件系统的名称定义 .name = "lustre", // lustre的mount过程 .mou
用户4700054
2023-02-26
2.1K
0
探索PostgreSQL数据存储存储之数据页
存储
数据库
sql
计算机内数据访问的时间 从CPU L1->CPU L2->DRAM->SSD->HDD->Network Storage->Tape Archives不同层次的访问,访问的时间差距很大。上图的左边是每个层次的硬件访问数据的时间周期,上图的右边是不同硬件访问时间的放大,越上层访问越短,越下层访问时间越长;但是从容量上看越上层的容量越小,越下层的容量越大。 PG磁盘数据到内存概览 任何传统传统数据库都会借助DRAM来加速数据库磁盘数据的访问。比如PG中的share_buffer,全局为PG数据库中表
用户4700054
2023-02-26
3.8K
0
从磁盘存储维度观测ext4文件系统
unix
编程算法
存储
inode是文件系统中每个文件的唯一标识,映射IO Block到磁盘扇区的对应关系。inode一般存储了文件的acess/modify/create的时间、访问权限、以及最重要的这个文件包含了哪些Blocks.这里需要注意的是ext4系统中当删除文件的时候,这个文件的inode是可以被回收然后被新文件重用。
用户4700054
2023-02-26
1.2K
0
深入浅出ext4文件系统之数据块组织和日志
存储
vr 视频解决方案
unix
数据结构
ext4中inode数据块存储形式 ext4目前在kernel中的实现有两种分别是基于block和基于extent。基于block的方式存储文件数据块的元数据有direct block(直接数据块)、indirect block(一级间接数据块,pointer to direct blocks)、double indirect block(二级间接数据块,pointer to indirect blocks)、triple indirect(三级间接数据块,pointer to double ind
用户4700054
2023-02-26
1.8K
0
聊聊Lustre架构实现
存储
开源
开源存储问题解答社区:https://github.com/perrynzhou/deep-dive-storage-in-china
用户4700054
2023-02-26
391
0
聊聊固态硬盘接口和协议
存储
开源存储问题解答社区:https://github.com/perrynzhou/deep-dive-storage-in-china
用户4700054
2023-02-26
2.3K
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档