Ceph 笔记, ssh写入缓存
硬件建议 — Ceph 文档
写入缓存
企业级 SSD 和 HDD 通常包括断电保护功能,包括 在运行时断电时确保数据耐久性,以及 使用多级缓存来加快直接或同步写入速度。这些设备 可以在两种缓存模式之间切换 -- 刷新到的易失性缓存 具有 fsync 的持久性媒体,或同步写入的非易失性缓存。
这两种模式是通过“启用”或“禁用”写入来选择的 (易失性)缓存。启用易失性缓存后,Linux 使用 “回写”模式,禁用时,它使用“直写”。
默认配置(通常:启用缓存)可能不是最佳配置,并且 OSD 性能可能会因 IOPS 和 通过禁用此写入缓存来减少提交延迟。
因此,我们鼓励用户对他们的设备进行基准测试。 前面描述并保留其最佳缓存配置 设备。fio
可以使用 、 或读取 中的值来查询缓存配置 例如:hdparmsdparmsmartctl/sys/class/scsi_disk/*/cache_type
# hdparm -W /dev/sda/dev/sda:
write-caching = 1 (on)# sdparm --get WCE /dev/sda
/dev/sda: ATA TOSHIBA MG07ACA1 0101
WCE 1 [cha: y]
# smartctl -g wcache /dev/sda
smartctl 7.1 2020-04-05 r5049 [x86_64-linux-4.18.0-305.19.1.el8_4.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.orgWrite cache is: Enabled# cat /sys/class/scsi_disk/0\:0\:0\:0/cache_type
write back
可以使用以下相同工具禁用写入缓存:
# hdparm -W0 /dev/sda/dev/sda:
setting drive write-caching to 0 (off)
write-caching = 0 (off)# sdparm --clear WCE /dev/sda
/dev/sda: ATA TOSHIBA MG07ACA1 0101
# smartctl -s wcache,off /dev/sda
smartctl 7.1 2020-04-05 r5049 [x86_64-linux-4.18.0-305.19.1.el8_4.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Write cache disabled
在大多数情况下,使用 、 或 禁用此缓存会导致cache_type自动更改为“直写”。如果这是 不是这种情况,您可以尝试直接按如下方式进行设置。(用户应确保 该设置cache_type还会正确保留设备的缓存模式 直到下次重新启动,因为某些驱动器要求在每次启动时重复此操作):hdparmsdparmsmartctl
# echo "write through" > /sys/class/scsi_disk/0\:0\:0\:0/cache_type# hdparm -W /dev/sda/dev/sda:
write-caching = 0 (off)
提示
此 udev 规则(在 CentOS 8 上测试)会将所有 SATA/SAS 设备cache_types设置为“写入” 通过“:
# cat /etc/udev/rules.d/99-ceph-write-through.rules
ACTION=="add", SUBSYSTEM=="scsi_disk", ATTR{cache_type}:="write through"
提示
此 udev 规则(在 CentOS 7 上测试)会将所有 SATA/SAS 设备cache_types设置为“写入” 通过“:
# cat /etc/udev/rules.d/99-ceph-write-through-el7.rules
ACTION=="add", SUBSYSTEM=="scsi_disk", RUN+="/bin/sh -c 'echo write through > /sys/class/scsi_disk/$kernel/cache_type'"
提示
该实用程序可用于查看/更改易失性写入 同时在多个设备上缓存:sdparm
# sdparm --get WCE /dev/sd*
/dev/sda: ATA TOSHIBA MG07ACA1 0101
WCE 0 [cha: y]
/dev/sdb: ATA TOSHIBA MG07ACA1 0101
WCE 0 [cha: y]
# sdparm --clear WCE /dev/sd*
/dev/sda: ATA TOSHIBA MG07ACA1 0101
/dev/sdb: ATA TOSHIBA MG07ACA1 0101 网络
在数据中心预置至少 10 Gb/s 的网络,两者均在 Ceph 之间 主机之间以及客户端与 Ceph 集群之间。网络链接主动/主动 强烈建议在以下情况下在单独的网络交换机之间绑定 提高吞吐量,提高网络故障和维护的容忍度。 请注意,绑定哈希策略会在链接之间分配流量。
速度
在 1 Gb/s 网络上复制 1 TB 的数据需要 10 个小时,并且 在 1 Gb/s 网络上复制 1 TB 需要 10 小时。但这只需要 在 10 Gb/s 网络上复制 10 TB 需要 <> 分钟,并且需要 只需 <> 小时即可在 <> Gb/s 网络上复制 <> TB。
请注意,一个 40 Gb/s 网络链路实际上是四个 10 Gb/s 通道 并行,并且 100Gb/s 网络链路实际上是四个 25 Gb/s 通道 并行。因此,也许有点违反直觉的是,一个人 与 25 Gb/s 相比,40 Gb/s 网络上的数据包延迟略低 网络。
最低硬件建议
Ceph 可以在廉价的商用硬件上运行。小型生产集群 开发集群可以使用适度的硬件成功运行。如 我们在上面提到:当我们谈到 CPU _cores_ 时,我们的意思是 _threads_ 当 启用超线程 (HT)。每个现代物理 x64 CPU 内核通常 提供两个逻辑 CPU 线程;其他 CPU 架构可能会有所不同。
请注意,影响资源选择的因素有很多。这 足以满足一个目的的最低限度资源不一定足以满足 另一个。一个沙盒集群,具有一个 OSD,构建在装有 VirtualBox 的笔记本电脑上或 三个 Raspberry PI 将比生产更少的资源 使用一千个 OSD 部署,为 2000 个 RBD 客户端提供服务。这 经典的 Fisher Price PXL <> 可以拍摄视频,IMAX 或 RED 摄影机也是如此。 人们不会指望前者能完成后者的工作。我们特别 使用企业级存储的重要性怎么强调都不为过 用于生产工作负载的媒体。
有关生产群集资源规划的其他见解包括 在本文档的上文和其他地方找到。
| 过程 | 标准 | 最低限度和推荐值 |
|---|---|---|
|
| 处理器 |
|
| 公羊 |
| |
| 存储驱动器 | 每个 OSD 1 个存储驱动器 | |
| DB/WAL (可选) | 每个 HDD OSD 1 个 SSD 部分 每个 DB/WAL SATA SSD 4-5 个 HDD OSD <= 每个 DB/WAL NVMe SSD 10 个 HDD OSDss | |
| 网络 | 1 个 1Gb/s(建议绑定 10+ Gb/s) | |
|
| 处理器 |
|
| 公羊 | 每个守护进程 5GB+(大型/生产) 集群需要更多) | |
| 存储 | 每个守护程序 100 GB,建议使用 SSD | |
| 网络 | 1 个 1Gb/s(推荐 10+ Gb/s) | |
|
| 处理器 |
|
| 公羊 | 每个守护进程 2GB+(更多用于生产) | |
| 磁盘空间 | 每个守护程序 1 GB | |
| 网络 | 1 个 1Gb/s(推荐 10+ Gb/s) |
提示
如果您运行的是具有单个存储驱动器的 OSD 节点,请创建一个 与分区分开的 OSD 的分区 包含操作系统。我们建议将单独的驱动器用于 操作系统和 OSD 存储。
相关文章:
Ceph 笔记, ssh写入缓存
硬件建议 — Ceph 文档 写入缓存 企业级 SSD 和 HDD 通常包括断电保护功能,包括 在运行时断电时确保数据耐久性,以及 使用多级缓存来加快直接或同步写入速度。这些设备 可以在两种缓存模式之间切换 -- 刷新到的易失性缓存 具有 fsync 的持久性媒体&a…...
WebSocket魔法师:打造实时应用的无限可能
1、背景 在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果&…...
网络运维Day06-补充
文章目录 RAID磁盘阵列RAID0条带模式RAID1镜像模式RAID5高性价比模式RAID01RAID10 逻辑卷一块磁盘的使用流程逻辑卷的使用流程 制作逻辑卷步骤一:添加硬盘步骤二:分区规划步骤三:制作物理卷步骤四:制作卷组步骤五:制作…...
openssl+SM2开发实例一(含源码)
一、SM2算法介绍 SM2(国密算法2) 是中国国家密码管理局(CNCA)颁布的椭圆曲线密码算法标准,属于非对称加密算法。它基于椭圆曲线离散对数问题,提供了安全可靠的数字签名、密钥交换和公钥加密等功能。SM2被设…...
操作系统 | 编写内核
🌈个人主页:Sarapines Programmer🔥 系列专栏:《操作系统实验室》🔖少年有梦不应止于心动,更要付诸行动。 目录结构 1. 操作系统实验之编写内核 1.1 实验目的 1.2 实验内容 1.3 实验步骤 1.4 实验过程 …...
Rust逆向学习 (4)
Reverse for Struct Rust中的结构体是一个重要的内容,由于Rust中没有类的概念,因此其他编程语言中的封装、继承、多态与Rust中的表现都有较大差异。 我们使用参考书中的一个示例开始进行分析。 Struct 初始化 struct User {username: String,email: …...
uniapp vue2 vuex 持久化
1.vuex的使用 一、uniapp中有自带vuex插件,直接引用即可 二、在项目中新建文件夹store,在main.js中导入 在根目录下新建文件夹store,在此目录下新建index.js文件 index.js import Vue from vueimport Vuex from vuexVue.use(Vuex)const store new Vuex.Store(…...
【媒体邀约】媒体宣传——企业成长的催化剂
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传是企业成长的催化剂,它在各种方面对企业的成功和发展起到了关键作用。 1. 曝光和知名度: 媒体宣传可以将企业和其产品或服务推向广泛的受众,…...
ansible问题排查
拷贝模板时报错:AnsibleError: template error while templating string: Missing end of comment tag. 原因 shell脚本中地{#和jinja中的语法comment tag相同,而且只有一半,导致无法渲染导致。 解决 在有语法冲突的地方使用组合标签{% r…...
7天入门python系列之第四天python数据结构
第3天主要是学习Python的函数和模块 编者打算开一个python 初学主题的系列文章,用于指导想要学习python的同学。关于文章有任何疑问都可以私信作者。对于初学者想在7天内入门Python,这是一个紧凑的学习计划。但并不是不可完成的。第四天开始python 数据…...
远程电脑未连接显示器时分辨率太小的问题处理
背景:单位电脑显示器坏了,使用笔记本通过向日葵远程连接,发现分辨率只有800*600并且不能修改,网上找了好久找到了处理方法这里记录一下,主要用到的是一个虚拟显示器软件usbmmidd_v2 1)下载usbmmidd_v2 2)…...
Java 设计模式——解释器模式
目录 1.概述2.结构3.案例实现3.1.抽象表达式类3.2.终结表达式3.3.非终结表达式3.4.环境类3.5.测试 4.优缺点5.使用场景 1.概述 (1)如下图,设计一个软件用来进行加减计算。我们第一想法可能就是使用工具类,提供对应的加法和减法的…...
面试经典150题——Day37
文章目录 一、题目二、题解 一、题目 73. Set Matrix Zeroes Given an m x n integer matrix matrix, if an element is 0, set its entire row and column to 0’s. You must do it in place. Example 1: Input: matrix [[1,1,1],[1,0,1],[1,1,1]] Output: [[1,0,1],[0,…...
在 Arduino IDE 2.0 中安装 ESP32 板(Windows、Mac OS X、Linux)
有一个新的 Arduino IDE——Arduino IDE 2.0(测试版)。在本教程中,您将学习如何在 Arduino IDE 2.0 中安装 ESP32 板并将代码上传到板。本教程与 Windows、Mac OS X 和 Linux 操作系统兼容。 据 Arduino 网站称:“ Arduino IDE 2.…...
西门子S7-1200PLC混合通信编程(ModbusTcp和UDP通信)
S7-1200PLC的MODBUS-TCP通信 西门子PLC ModbusTcp通信访问网关后从站(SCL语言轮询状态机)-CSDN博客文章浏览阅读305次。西门子PLC的ModbusTcp通信在专栏已有很多文章介绍,所不同的是每个项目的通信需求都略有不同,今天我们以访问网关后的三个从站数据来举例,给出轮询的推荐…...
Hbase 迁移小结:从实践中总结出的最佳迁移策略
在数据存储和处理领域,HBase作为一种分布式、可扩展的NoSQL数据库,被广泛应用于大规模数据的存储和分析。然而,随着业务需求的变化和技术发展的进步,有时候我们需要将现有的HBase数据迁移到其他环境或存储系统。HBase数据迁移是一…...
键盘win键无法使用,win+r不生效、win键没反应、Windows键失灵解决方案(亲测可以解决)
最近几天发现自己笔记本的win键无法使用,win失灵了,但是外接键盘后则正常:。 这个问题困扰了我一周,我都以为自己的枪神坏了。 寻找了几个解决方法,网上看了好多好多稀里糊涂的办法,都是不管用的,这里给大…...
1. 深度学习——激活函数
机器学习面试题汇总与解析——激活函数 本章讲解知识点 什么是激活函数? 为什么要使用激活函数? 详细讲解激活函数 本专栏适合于Python已经入门的学生或人士,有一定的编程基础。本专栏适合于算法工程师、机器学习、图像处理求职的学生或人…...
chatglm3-6b部署及微调
chatglm3-6b部署及微调 modelscope: https://modelscope.cn/models/ZhipuAI/chatglm3-6b/filesgithub: https://github.com/THUDM/ChatGLM3镜像: ubuntu20.04-cuda11.7.1-py38-torch2.0.1-tf1.15.5-1.8.1v100 16G现存 单卡 安装 软件依赖 # 非必要无需执行 # pip install -…...
Hive 知识点八股文记录 ——(二)优化
函数 UDF:用户定义函数 UDAF:用户定义聚集函数 UDTF:用户定义表生成函数 建表优化 分区建桶 创建表时指定分区字段 PARTITIONED BY (date string)指定分桶字段和数量 CLUSTERED BY (id) INTO 10 BUCKETS插入数据按分区、分桶字段插入 …...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...
数据分析六部曲?
引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...
深度解析:etcd 在 Milvus 向量数据库中的关键作用
目录 🚀 深度解析:etcd 在 Milvus 向量数据库中的关键作用 💡 什么是 etcd? 🧠 Milvus 架构简介 📦 etcd 在 Milvus 中的核心作用 🔧 实际工作流程示意 ⚠️ 如果 etcd 出现问题会怎样&am…...
