yueyingshaqiu01
码龄14年
求更新 关注
提问 私信
  • 博客:47,557
    47,557
    总访问量
  • 52
    原创
  • 120
    粉丝
  • 34
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2011-11-23

个人简介:分布式存储架构师

博客简介:

yueyingshaqiu01的博客

查看详细资料
个人成就
  • 获得144次点赞
  • 内容获得5次评论
  • 获得127次收藏
  • 代码片获得316次分享
  • 博客总排名141,564名
  • 原力等级
    原力等级
    1
    原力分
    89
    本月获得
    0
创作历程
  • 45篇
    2024年
  • 1篇
    2023年
  • 4篇
    2016年
  • 5篇
    2015年
成就勋章
TA的专栏
  • 开源系统运营优化
    22篇
  • 编程环境
    4篇
  • 算法与数据结构
    6篇
  • linux系统运维
    14篇
  • 编程语言语法
    4篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 后端
    分布式
  • 云原生
    consul
  • 网络与通信
    rpc
  • 云平台
    云计算
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

75人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

spdk架构梳理

spdk架构源码分析
原创
博文更新于 2024.12.06 ·
460 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

计算机存储体系结构概念理解

原创
博文更新于 2024.10.15 ·
160 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

WI-FI技术原理以及应用

发布资源 2013.12.16 ·
doc

juicefs部署实践

注:如果是CephRados作为对象存储后端,则需要将ceph.conf和ceph.client.admin.keyring拷贝到/etc/ceph/目录下,然后执行format, juicefs.ceph format --storage ceph --bucket ceph://juicefs_data --access-key ceph --secret-key client.admin。如:juicefs format --storage s3 --bucket。注:如果是研测环境,url换成"
原创
博文更新于 2024.07.22 ·
1519 阅读 ·
19 点赞 ·
0 评论 ·
9 收藏

TiKV集群部署

注:如果/home/tikv/.ssh/目录下有不正确的id_rsa文件,会导致鉴权失败,请删除~/.ssh/id_rsa*;将中控机.ssh/id_rsa.pub内容追加到各部署机的/home/tikv/.ssh/authorized_keys文件末尾,没有.ssh目录则先手动创建.ssh目录。注:如果要输入密码,统一输入tikv(保证统一),其它现象直接默认,如果密码输错了,可以用sudo userdel tikv重来。注:如果这一步没有成功,可以重新执行下,确保没有Fail,才能执行下一步。
原创
博文更新于 2024.07.19 ·
751 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

juicefs 一致性

内核元数据缓存时间受到mount参数控制(只有过期失效),open时默认会绕过内核的文件属性缓存,到达juicefs客户端,如果--opem-cache为false(默认是false),则会绕过客户端内存的文件属性缓存,去元数据服务器同步文件属性。对于跨chunk的不同机器client的并发写,juicefs本身是不提供原子保证的,需应用自己调用SetLk接口来实现互斥。对于同一个chunk不可机器client的并发写,后写的会覆盖之前写的;元数据更新是事务更新,数据更新是写时复制(不覆盖)
原创
博文更新于 2024.07.19 ·
341 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

ceph log内容解析

dout和ldout类似,也是带前缀的dout_impl,只有个别模块有使用,如src/mds/MDBalancer.cc中。分别表示 时间戳 线程id 日志等级 子模块 内容实体。定义在src/common/dout.h中。定义在src/log/entry.h中。ldout是带前缀的dout_impl。每条log都是由一个Entry构成。如osd的一条log。
原创
博文更新于 2024.07.19 ·
567 阅读 ·
8 点赞 ·
0 评论 ·
2 收藏

ceph osd写流程

原创
博文更新于 2024.07.19 ·
337 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

ceph进程网卡绑定逻辑

->pick_addresses() // 会读取"cluster_network_interface"和"public_network_interface"这两个配置项来过滤ip。main() //如osd进程,是ceph_osd.cc文件的main函数;mon进程,是ceph_mon.cc文件的main函数。
原创
博文更新于 2024.07.19 ·
627 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

ceph条带化原理

数据按照ChunkSize进行布局,不满一个StripeWidth的,后面的StripeUnit进行padding (不满一个条带的按照一个条带对齐,牺牲空间换取性能)
原创
博文更新于 2024.07.19 ·
178 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

cephfs journal模块

fs元数据更新时,MDS执行journal_and_reply,首先封装成log_event,通过submit_mdlog_entry提交到pending_events中,然后submit_thread将journal flush到metadata pool的rados object(200.XXXXXXXX)中,后续在trime_mdlog时,将dirty inode写到metadata pool的rados object(inodeNum.XXXXXXXX)中。
原创
博文更新于 2024.07.19 ·
209 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

cephrbd常用命令

拷贝ceph.client.{username}.keyring到/etc/ceph/目录。applicationname是rbd、rgw、cephfs中其中一项。(默认用户id=admin,如果不需要创建新用户则可跳过此步)如果不输入poolname,默认poolname为 "rbd"确认内核DYNAMIC_DEBUG属性开启。该步骤执行后会输出该用户对应的key。登录client机器。
原创
博文更新于 2024.07.19 ·
403 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

cephfs revoke caps逻辑

即重新执行handle_client_mkdir。client侧经过Client::ms_dispatch2() -> Client::handle_caps() -> Client::handle_cap_grant() -> check_caps() -> send_cap() 发送CEPH_CAP_OP_UPDATE操作(CEPH_MSG_CLIENT_CAPS消息)给server。
原创
博文更新于 2024.07.19 ·
440 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

osd挂掉对业务的影响

对于读请求,如果是主osd挂掉了,需要Peering完之后,client收到最新osdmap后重试新的pg主osd读,所以也是约20s。结论:一个osd挂掉,按照默认配置,当时的写请求约卡顿20s;
原创
博文更新于 2024.07.19 ·
311 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

cephfs client读写流程

fuse_ll_read() -> ll_read() -> Client::_read() -> _read_async() (带缓存) -> ObjectCacher::file_read() -> readx() -> _readx() -> bh_read() -> read_trunc() -> op_submit() -> _op_submit_with_budget() -> _op_submit() -> _send_op() -> send_message()以cephfuse为例。
原创
博文更新于 2024.07.19 ·
522 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

rados localize read

获取自己节点的crush_location,然后在localize read时,拿pg的每个osd和自己的crush_location进行公共祖先最短距离比较。首先,任何节点在启动时会通过main()->global_init()->crush_location.init_on_startup()根据crushmap进行距离打分。根据crushmap进行距离打分。
原创
博文更新于 2024.07.19 ·
215 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

cephrgw lifecycle理解

看代码是WriteOP)3,cls_rgw_lc_get_entry 获取entry,因为entry的状态是processing。3,cls_rgw_lc_get_entry 获取entry,成功,但是为empty。2,cls_rgw_lc_get_head 获取对象的head,成功。2,cls_rgw_lc_get_head 获取对象的head,成功。2,cls_rgw_lc_get_head 获取对象的head,成功。3,cls_rgw_lc_get_entry 获取entry,成功。
原创
博文更新于 2024.07.19 ·
564 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

cephrgw元数据和数据布局

提示:每个rados object有如下几个组成部分,分别是omap(omapheader、omapkey、omapval)、xattr、data,相关的CLI command。如storage_class、mtime、size、etag、content_type、存放的pool。part、stripe(每个part最大15MB,每个stripe最大4MB,stripe是基本单元)[4MB, 15MB]的对象,有head、tail radosobject。bucket中对象的布局信息。
原创
博文更新于 2024.07.19 ·
642 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

linux lvm使用

lv:logic volume, 是逻辑单元vg:volume group, 是逻辑桶pv:physical volume,是物理单元一个vg是有一个或者多个pv组成的逻辑桶;用户可以在vg里创建lv。
原创
博文更新于 2024.07.11 ·
202 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

关于crontab 环境变量

默认crontab执行的时候不会执行类似bashrc这样的环境脚本(也就是不加载用户的环境变量),所以在执行非默认路径 (/usr/bin)下的二进制的时候,需要写绝对路径。
原创
博文更新于 2024.07.11 ·
371 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多