摘要:
OSD模块在tp_osd_tp线程上下文的最后阶段,通过queue_transactions调用FileStore模块功能将操作请求以日志的方式提交到日志队列中,至此tp_osd_tp线程中的工作就完成了。后续由一个独立的日志写入线程journal_write从日志队列中取出操作日志并调用文件系统写
阅读全文
posted @ 2021-12-02 15:31
苏格拉底的落泪
阅读(418)
推荐(0)
posted @ 2021-12-02 15:08
苏格拉底的落泪
阅读(35)
推荐(0)
摘要:
OSD写操作失效如何处理 很多人对Ceph写操作的异常处理的过程还不是特别的清楚。本文就介绍Ceph如何处理异常处理的。 首先需要明确的是,Ceph的读写操作并没有超时机制。 rbd_write并没有超时机制。所有经常看到,用ceph -s 命令查看,有些 slow request请求会显示延迟 3
阅读全文
posted @ 2021-12-02 10:31
苏格拉底的落泪
阅读(679)
推荐(0)
摘要:
ceph-kvstore-tool 查看mon数据库中都有哪些表项 ceph-kvstore-tool rocksdb /var/lib/ceph/mon/ceph-node1/store.db/ list|awk '{print $1}'|uniq 参考资料 1. ceph-kvstore-too
阅读全文
posted @ 2021-12-02 09:37
苏格拉底的落泪
阅读(354)
推荐(0)
摘要:
class PG min_last_complete_ondisk 这个表示各个副本上last_complete的最小版本,是主OSD在收到3个副本都完成时再进行计算的,也就是计算last_complete_ondisk和其他副本OSD上的last_complete_ondisk,即peer_las
阅读全文
posted @ 2021-12-01 16:36
苏格拉底的落泪
阅读(79)
推荐(0)
摘要:
OSD 图解如下: 接下来我们看一下tp_osd_tp线程是如何处理分片中的请求,线程处理的核心函数是ShardedOpWQ::_process,其调用栈如下: ShardedOpWQ::_process() |-OpQueue<>::dequeue() |-OSD::_look_up_pg() \
阅读全文
posted @ 2021-12-01 15:42
苏格拉底的落泪
阅读(1012)
推荐(0)
摘要:
struct pg_log_entry_t { ObjectModDesc mod_desc; //用于保存本地回滚的一些信息,用于EC模式下的回滚操作 bufferlist snaps; //克隆操作,用于记录当前对象的snap列表 hobject_t soid; //操作的对象 osd_reqi
阅读全文
posted @ 2021-12-01 15:08
苏格拉底的落泪
阅读(965)
推荐(0)
摘要:
1.1 acting set和up set acting set是一个PG对应副本所在的OSD列表,该列表是有序的,列表中第一个OSD为主OSD。在通常情况下,up set和acting set列表完全相同。要理解他们的不同之处,需要理解下面介绍的“临时PG”概念。 1.2 临时PG 假设一个PG的
阅读全文
posted @ 2021-12-01 14:36
苏格拉底的落泪
阅读(751)
推荐(0)
摘要:
PG 状态 statedescription Activating Peering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等) Active PG可以正常处理来自客户端的读写请求 Backfilling PG正在执行Backfill。Backfill总是在R
阅读全文
posted @ 2021-12-01 14:02
苏格拉底的落泪
阅读(467)
推荐(0)
摘要:
命令rados 删除pool test: rados purge test --yes-i-really-really-mean-it 查看资源池信息: rados df -p pool1 -p test # 参数是指定具体资源池,如果不加,则显示所有 创建rados对象: rados -p tes
阅读全文
posted @ 2021-12-01 10:41
苏格拉底的落泪
阅读(411)
推荐(0)
摘要:
ceph-objectstore-tool工具 基本命令使用如下:ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-8/ --type bluestore xxx一般前半部分如左,指定osd路径,指定存储引擎(bluestore或者fi
阅读全文
posted @ 2021-12-01 10:12
苏格拉底的落泪
阅读(960)
推荐(0)
摘要:
亲和性 #Ceph 客户端读写数据时,总是连接 acting set 里的主 OSD (如 [2, 3, 4] 中, osd.2 是主的)。#有时候某个 OSD 与其它的相比并不适合做主 OSD (比如其硬盘慢、或控制器慢),最大化硬件利用率时为防止性能瓶颈(特别是读操作),#你可以调整 OSD 的
阅读全文
posted @ 2021-12-01 09:35
苏格拉底的落泪
阅读(363)
推荐(0)
摘要:
radosgw-admin bucket limit check
阅读全文
posted @ 2021-11-26 10:55
苏格拉底的落泪
阅读(38)
推荐(0)
摘要:
rsync断点续传 1. 断点续传命令: rsync -P --rsh=ssh /root/test 172.10.33.87:/root/test 需求:主机A传送文件夹TestDB到主机B,实验rsync断点续传的过程记录: [oracle@rac1-server TestDB]$ rsync
阅读全文
posted @ 2021-11-24 22:56
苏格拉底的落泪
阅读(396)
推荐(0)
摘要:
vim多文件操作 1. 在终端输入如下命令,即可打开所有想要打开的文件: vim file1 file2 ... 2. Vim已经启动,输入如下命令可以再打开一个文件,并且此时里会显示file文件的内容: :e file 两文件之间的切换: Ctrl+6 多文件操作中,切换下一个文件: :bn 上一
阅读全文
posted @ 2021-11-24 21:42
苏格拉底的落泪
阅读(183)
推荐(0)
摘要:
分屏模式 垂直分屏 :vs [file] vs 将当前文件垂直分屏 vs file 创建新文件并垂直分屏 2. 水平分屏 :sv [file] ::sp [file] sv 将当前文件水平分屏 sv file 创建新文件并水平分屏 分屏屏间光标移动 分屏间循环移动光标:ctrl-w ctrl-w c
阅读全文
posted @ 2021-11-24 21:26
苏格拉底的落泪
阅读(2644)
推荐(0)
摘要:
自动格式化代码 步骤如下: 1. gg 快捷键跳转到第一行 2. shift + v 转到可视模式 3. shift + g 全选 4. 敲击 键盘“=”按键 在没有权限的情况下,打开vim文件,修改后的保存: :w !sudo tee % 参考资料 1. vim中自动格式化代码
阅读全文
posted @ 2021-11-24 21:20
苏格拉底的落泪
阅读(81)
推荐(0)
摘要:
Vim基本快捷键 屏幕【向下】移动一页,相当于【Page Down】按键:ctrl + f ctrl + f ctrl + f 屏幕【向上】移动一页,相当于【Page Up】按键 ctrl + b 屏幕【向下】移动半页 ctrl + d 屏幕【向上】移动半页 ctrl + u 光标向后查找整个关键词
阅读全文
posted @ 2021-11-24 13:05
苏格拉底的落泪
阅读(378)
推荐(0)
摘要:
数据流重定向 命令: $ command > file 2>&1 $ command >> file 2>&1 这里的&没有固定的意思。放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符,内置的文件描述符说明如下: 换言之 2>1 代表将stderr重定向到当前路径下文件名为1的reg
阅读全文
posted @ 2021-11-16 22:45
苏格拉底的落泪
阅读(177)
推荐(0)
摘要:
install install和cp类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile(在RPM的spec里面也经常用到),使用它来将程序拷贝到目标(安装)目录 --backup[=CONTROL]:为每个已存在的目的
阅读全文
posted @ 2021-11-16 22:01
苏格拉底的落泪
阅读(1480)
推荐(1)
摘要:
centos8 stream仓库配置 默认仓库: [root@centos8-stream yum.repos.d]# ll total 48 -rw-r--r--. 1 root root 713 Mar 28 2022 CentOS-Stream-AppStream.repo -rw-r--r-
阅读全文
posted @ 2021-11-16 21:41
苏格拉底的落泪
阅读(251)
推荐(0)
摘要:
更改hostname 命令 hostnamectl set-hostname your-new-hostname 参考资料 1. How to Set or Change Hostname in CentOS/RHEL 7/8
阅读全文
posted @ 2021-11-14 11:45
苏格拉底的落泪
阅读(355)
推荐(0)
摘要:
虚拟机安装 centos stream 8教程 200 GiB 硬盘容量分区方案如下图: /boot 2 GiB ext4 /var 30 GiB ext4 / 150 GiB ext4 swap 18 GiB 无 250 GiB 硬盘容量分区方案如下图: /boot 2 GiB ext4 /var
阅读全文
posted @ 2021-11-13 17:22
苏格拉底的落泪
阅读(620)
推荐(0)
摘要:
概述 在使用Ceph的CephFS时,每个client都会建立与MDS的连接,以获取CephFS的元数据信息。如果有多个Active的MDS,则一个client可能会与多个MDS都建立连接。 Ceph提供了client/session子命令来查询和管理这些连接,在这些子命令中,有一个命令来处理当Ce
阅读全文
posted @ 2021-11-13 12:07
苏格拉底的落泪
阅读(192)
推荐(0)
摘要:
互斥锁 相比std::lock_guard的优势: 功能 std::lock_guard std::unique_lock 自动加锁+自动解锁 支持 支持 手动加锁/解锁 不支持 支持 延迟加锁(defer_lock) 不支持 支持 条件变量wait支持 不支持 支持 可移动(不可复制) 不可移动
阅读全文
posted @ 2021-11-12 22:55
苏格拉底的落泪
阅读(238)
推荐(0)
摘要:
crush \luminous版本的ceph新增了一个功能crush class,这个功能又可以称为磁盘智能分组。因为这个功能就是根据磁盘类型自动的进行属性的关联,然后进行分类。无需手动修改crushmap,极大的减少了人为的操作 ceph中的每个osd设备都可以选择一个class类型与之关联,默认
阅读全文
posted @ 2021-11-12 22:29
苏格拉底的落泪
阅读(531)
推荐(0)
摘要:
vmware虚拟机网络配置 桥接模式像是一种嫁接模式,把主机主机网卡和虚拟机网卡嫁接到一起,这个连接的工具就是虚拟网桥。虚拟机上的虚拟网卡连接到虚拟交换机Vmnet0上,Vmnet0又通过虚拟网桥与主机网卡相连。这种方式的虚拟机类似于和主机在同一网段中的物理机一样,可以访问局域网中的任何机器,主机能
阅读全文
posted @ 2021-11-12 22:10
苏格拉底的落泪
阅读(122)
推荐(0)
摘要:
inux查看某个软件的安装路径 Linux中查看某个软件的安装路径(地址)有时显得非常重要。比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除、添加安装文件等等,很多地方都要用到查案文件安装路径的命令。 这里给大家介绍Linux查看文件安装路径(地址)命令。 1. 【查询文件安装路径
阅读全文
posted @ 2021-11-12 22:10
苏格拉底的落泪
阅读(1894)
推荐(1)
摘要:
拓扑图 通过docker安装ceph集群时,执行命令:yum install ceph-common ,则不需要进入docker容器,运行ceph -s 就可以查询ceph的状态。 集群部署拓扑图: 创建三台虚拟机,本教程采用单侧是CENTOS7版本: 序号 主机名称 主机IP 说明 CENTOS7
阅读全文
posted @ 2021-11-12 22:09
苏格拉底的落泪
阅读(575)
推荐(0)
摘要:
ceph如何查看osd中wal和db的大小 您可以使用ceph daemon osd.ID perf dump命令来检查 WAL/DB 分区是否即将填满及溢出。slow_used_bytes 值显示即将溢出的数据量: [ceph: root@storage01 /]# ceph daemon osd
阅读全文
posted @ 2021-11-11 22:24
苏格拉底的落泪
阅读(256)
推荐(0)
摘要:
PG 一个 Pool 中有多个 PG,具体数量可以通过以下命令查看: ceph osd pool get test pg_num 查看 Pool 中 PG 的分布: ceph pg ls-by-pool test 查看对象的位置: ceph osd map test test-object osdm
阅读全文
posted @ 2021-11-10 21:52
苏格拉底的落泪
阅读(2048)
推荐(0)
摘要:
修改linux操作系统密码 在命令终端中,执行如下操作修改root用户密码。 # passwd root 新口令:输入root用户新密码 重新输入新口令:再次输入root用户新密码
阅读全文
posted @ 2021-11-10 21:15
苏格拉底的落泪
阅读(56)
推荐(0)
摘要:
ceph关于rpm包的制作 1. 运行命令: sh make-srpm.sh `git describe` 注意:若执行错误,则执行 unset_http_proxy、 unset_https_proxy。 2. 执行命令: rpm2cpio ceph-14.2.19_1.1-0.el7.cento
阅读全文
posted @ 2021-11-09 22:01
苏格拉底的落泪
阅读(233)
推荐(0)
摘要:
安装boost 先进入解压缩后的目录: cd boost_1_58_0 boost 包含众多独立的库,使用 --show-libraries 查看将会编译安装的库文件列表:: ./bootstrap.sh --show-libraries 编译: ./bootstrap.sh --with-libr
阅读全文
posted @ 2021-11-09 21:54
苏格拉底的落泪
阅读(88)
推荐(0)
摘要:
centos7仓库配置 add_custom_target 是 CMake 中用于创建自定义目标的命令,它允许你定义不会生成文件的目标,主要用于执行特定的命令或脚本。 add_custom_target(Name [ALL] [command1 [args1...]] [COMMAND comman
阅读全文
posted @ 2021-11-09 21:22
苏格拉底的落泪
阅读(119)
推荐(0)
摘要:
通过命令reposync同步repo到本地 使用场景:一个服务器集群,只有一台服务器能连接外网,连接外网那台服务器就把外网源的包全部同步下来放在本地,集群中其他服务器就以这台服务器为包库使用 yum 安装,当然,同步完包之后还需要使用 createrepo 来生成 repodata。 命令repos
阅读全文
posted @ 2021-11-09 21:13
苏格拉底的落泪
阅读(289)
推荐(0)
摘要:
nautilus版本ceph编译 社区已经考虑到Centos下的gcc、cmake版本比较低,不支持C++17,因此在install-deps.sh中处理: yum install centos-release-scl yum install devtoolset-11 scl enable dev
阅读全文
posted @ 2021-11-09 12:51
苏格拉底的落泪
阅读(338)
推荐(0)
摘要:
关于too few PGs per OSD的问题 在一个ceph集群中,操作创建一个pool后,发现ceph的集群处于warning状态,信息如下: 【解法办法:修改pool的pg数量】 1. 调大pg的数量 [root@serverc ~]# ceph osd pool set images pg
阅读全文
posted @ 2021-11-09 12:47
苏格拉底的落泪
阅读(394)
推荐(0)
摘要:
ceph application not enabled 的解决方法 '# ceph -s [root@node01 ~]#ceph -s cluster: id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX health: HEALTH_WARN application not e
阅读全文
posted @ 2021-11-09 12:02
苏格拉底的落泪
阅读(553)
推荐(0)
摘要:
方法一 生成ceph-radosgw服务对应的用户和key: ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node1 --gen-key 添加用户访问权限: ceph-authtool -n client.rgw
阅读全文
posted @ 2021-11-05 10:28
苏格拉底的落泪
阅读(290)
推荐(0)