老虞面馆
码龄10年
关注
提问 私信
  • 博客:215,724
    215,724
    总访问量
  • 258
    原创
  • 961,925
    排名
  • 70
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2015-04-29
博客简介:

SY_Yu的博客

查看详细资料
个人成就
  • 获得61次点赞
  • 内容获得17次评论
  • 获得232次收藏
  • 代码片获得464次分享
创作历程
  • 14篇
    2018年
  • 134篇
    2017年
  • 75篇
    2016年
  • 35篇
    2015年
成就勋章
TA的专栏
  • HDU OJ
    21篇
  • 数据结构课程设计
    3篇
  • Matlab
    2篇
  • Algorithm
    12篇
  • PAT 乙级
    71篇
  • ZOJ
    2篇
  • POJ
    6篇
  • lab
    2篇
  • BestCoder
    4篇
  • 算法竞赛入门经典 刘汝佳
    2篇
  • PAT 甲级
    118篇
  • J2EE
    1篇
  • 笔试题
    1篇
  • linux&windows配置运维
    11篇
  • Codeforces
    3篇
  • Ceph
    14篇
  • 游刃有虞
  • LeetCode
    1篇
兴趣领域 设置
  • 大数据
    redis
  • 后端
    spring架构
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

2009-2018 计算机考研408历年真题

发布资源 2018.12.09 ·
zip

ceph源码分析--纠删码写流程

op出队列之后的代码流程
原创
发布博客 2018.07.07 ·
1707 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

ceph源码分析--onode lru

onode是bluestore中的元数据形式,由于bluestore直接写裸盘,因此需要onode来管理对象。本文就讲讲onode的缓存算法。在bluestore的cache中存在着lru和twoq两种,但是关于onode元数据的cache采用的都是lru算法。1.lru上已有元素在访问到时怎么到队首?这部分得从get_onode讲起,在其中调用了BlueStore::Onod...
原创
发布博客 2018.04.29 ·
1865 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

ceph源码分析--一个entry函数的调用

ceph中有很多的entry函数,往往是由各线程来调用处理的,本篇文章以bluestore中的MempoolThread为例来讲讲该函数的调用。 struct MempoolThread : public Thread { BlueStore *store; Cond cond; Mutex lock; bool stop = false; public:...
原创
发布博客 2018.04.16 ·
869 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

ceph源码分析--isa-l计算校验块的一个小优化

本次来聊一聊isa-l,即ceph的纠删码插件之一。当然这个值曾经默认是jerasure。 关于纠删码的原理其实就像是线性代数中解线性方程组。这部分就不赘述。本次重点关注isa-l中的两个函数。本次主要关心的问题: 在已经知道旧的校验块后和旧的数据块和修改后的数据块后怎么快速得到新的校验块。首先isa-l库是可以独立单独运行的,首先从 https://github.com/ceph/...
原创
发布博客 2018.04.15 ·
2961 阅读 ·
2 点赞 ·
1 评论 ·
7 收藏

ceph源码分析--Monitor对osd report进行报down处理

上一篇讲到Monitor的tick处理,顺带讲解Monitor对osd report超时的处理 该部分在PGMonitor的tick中调用void Monitor::tick(){ // ok go. dout(11) << "tick" << dendl; ··· //调用paxosservice的tick() for (vector&lt...
原创
发布博客 2018.02.08 ·
1105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--Monitor tick

刚入职的时候曾经定位过一个ceph集群时钟回调8小时的单子。后来投入到了项目中。 最近同事问我osd向monitor定时report的处理过程,也涉及到了这一块的内容,而且 正式入职答辩的时候,主管问,那这个tick线程是定时调用的吗?当时被问懵了,因为自己并没有深入的前后看到这块。事情总要有头有尾,遗留的问题总要解决,写这篇博客的目的就是回答当时的遗留问题。究竟monitor的这个tick是...
原创
发布博客 2018.02.08 ·
771 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--MonitorDB

友情链接
原创
发布博客 2018.02.02 ·
585 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--Monitor paxos算法

友情链接
原创
发布博客 2018.01.24 ·
520 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--ceph命令解析(终端敲命令之后发生的事)

在一次开发组内讨论中,那次是admin_socket的后台部分的课程分享。分享中同事提出了一个疑问。既然讲了admin_socket的的后台部分,那前端输入命令到底是怎么去调用的后台呢,或者前台的命令到底是怎么发送的呢?平时的ceph命令到底是怎么解析的呢?讨论会后带着这些疑问,看起了ceph代码。在终端敲入了ceph stastus,终端就返回了集群的状态。那在这个过程中,到底是调用了什么。
原创
发布博客 2018.01.22 ·
2524 阅读 ·
0 点赞 ·
1 评论 ·
5 收藏

ceph源码分析--monitor leader选举

本篇博客主要分为三个部分 1.概述 2.选举的时机 3.选举的过程1.概述monitor在运行的过程中,必须存在一个leader节点来。众多的更新操作都是由leader节点来完成,写的命令也会经由peon转发到leader节点进行。leader的选择是根据rank值来的,rank值小的为leader,而rank值跟IP地址有关。2.选举的时机在ceph中有大致三处
原创
发布博客 2018.01.19 ·
1241 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--monitor的lease机制

概述在monitor节点中,存在着Leader和Peon两种角色。在monitor采用了一种lease机制,保证了副本在一定时间内可读写。同时lease机制也保证了整个集群中的monitor当前都是可用状态。Leader节点会向所有的Peon节点定时的发送lease消息,延长各个节点的lease时间,同时收集所有节点的ack消息。只要有一个节点没有回复ack消息。就会重新发起选举。 同理
原创
发布博客 2018.01.18 ·
1109 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

unix环境高级编程apue.h文件头的安装

工作了,以前只停留在pad里的书都想入手。手里有了unix网络编程卷1卷2,最近看ceph源码的过程中,越来越发现需要补充unix环境高级编程的知识。从pad中走向了实体书。中午快递到货,迫不及待的翻开了。第一件事,安装 #include"apue.h"1.官网下载下载传送门2.解压make安装点依赖gcc make啥的 一make,果然报错,人生啊总是要走很
原创
发布博客 2018.01.14 ·
752 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

玩转linux主机-vim配置

在程序员届有一个鄙视链,用vim的鄙视用IDE的。但是完全没配置的vim实在是太难用了。这里笔者在github上找到了用vim打造IDE环境。 https://github.com/BillWang139967/Vim具体的配置方法不赘述,在项目的readme.md有详细说明。
原创
发布博客 2018.01.14 ·
336 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph源码分析--admin socket

官方文档http://docs.ceph.com/docs/master/rados/operations/monitoring/具体用法ceph daemon {daemon-name} ceph daemon {path-to-socket-file}ceph daemon osd.0 foo ceph daemon /var/run/ceph/ceph-osd.0.a
原创
发布博客 2018.01.13 ·
1167 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Codeforces Round #428 (Div. 2) A. Arya and Bran

传送门#include<iostream>using namespace std;#define MAX_N 100010int main(){ int a[MAX_N]; int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int c
原创
发布博客 2017.08.20 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ceph日志级别

在ceph运行的过程中,可以通过调整日志级别来排查系统异常等。代码文件中经常有dout(10)这样的语句。表示输出到日志,而数字则代表日志级别。日志的设置有debug_osd,debug_mon等。#define dout_subsys ceph_subsys_mon #undef dout_prefix 设置的日志主要看 ceph_subsys_mon的最后一项。日志的级别设置有两种方法。1.
原创
发布博客 2017.08.14 ·
5413 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ceph基本命令

1.集群健康状态ceph health2.集群状态ceph -s3.查看ceph存储空间ceph df4.查看mon状态信息ceph mon stat5.查看mon的选举状态 ceph quorum_status6.查看osd状态ceph osd stat/dump7.查看osd状态和层级ceph osd tree8.查看pg状态ceph pg stat
原创
发布博客 2017.08.02 ·
821 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

LeetCode---1. Two Sum

传送门class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res; map<int,int> m; for(int i=0;i<nums.size();i++){ m[nums[i]]=i;
原创
发布博客 2017.04.11 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Codeforces Round #408 (Div. 2) A Buying A House

传送门#include<stdio.h>#define MAX_N 110int house[MAX_N];int main(){ int n,m,k; scanf("%d%d%d",&n,&m,&k); for(int i=1;i<=n;i++){ scanf("%d",&house[i]); if(house[i]==0)
原创
发布博客 2017.04.11 ·
426 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多