自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 缺页中断处理

缺页中断处理

2022-08-07 14:54:36 2798 1

原创 windows下安装k8s与CNI

windows下安装k8s与对应的CNI

2022-07-01 00:02:30 610

原创 ceph自定义rgw元数据查询

可以利用rgw对ceph中的objectd的metadata进行个性化的筛选与查询创建默认的realmradosgw-admin realm create --rgw-realm=default --defaultrealm的作用:相当于是一块领土。一个realm代表了全局唯一的命名空间,这个命名空间由一个或者多个zonegroup,zonegroup可以包含一个或多个zone,zone包含了桶,桶里包依次存放了对象将默认的zonegroup关联至realmradosgw-admin z

2022-04-06 23:08:14 863

原创 超详细的ceph节点迁移(mon和mgr)

ceph节点迁移前置知识ceph组件mon、mgr、osd、rgw其中非常重要且有数据存储的为mon和osd组件对于mon和osd来说,迁移比较麻烦,但是对于其他组件来说因为是无状态的,因此迁移比较容易mon节点的迁移更换mon ip获取mon map如果集群的ip还没有进行更换,那么可以将ceph mon map打印出来,记得ceph.conf需要修改ceph mon getmap -o monmap monmaptool --print monmap 查看对应的mo

2022-04-06 22:58:43 3652

原创 超详细的k8s对接ceph RBD存储

前期准备对接方式有两种方式可以使用k8s对接ceph使用第三方的rbd provisioner,但是由于官方已经不再进行维护因此随着版本越来越高,其对应的rbd provisioner内置的ceph-common版本已经跟不上ceph的版本了,现在其内置的ceph-common版本是m版,如果集群是m版可以考虑使用使用官方的ceph csi,一直在更新,推荐使用,本文使用的就是该种方法ceph-csi版本选择一定要记得k8s的版本与ceph-csi对应!否则会有很多bug现阶段对应ceph

2022-04-02 23:18:55 4145

原创 Ceph重装

清理osd磁盘osd磁盘未主动卸载就直接删除了ceph,需要手动清理对应的osd磁盘手动进行dd命令清空磁盘并重启dd if=/dev/zero of=/dev/sdb bs=512K count=1reboot

2022-01-11 23:10:46 474

原创 Ceph重启命令

所有ceph的服务开启、关闭等systemctl start ceph.target按照服务分类开启、关闭等systemctl start ceph-mon.targetsystemctl start ceph-mgr.targetsystemctl start ceph.osd.target更加细粒度的服务开启、关闭systemctl start ceph-osd@{osd Id}...

2022-01-11 23:09:47 2983

原创 Ceph运维笔记

查看ceph 读写i/o最好不要通过iostat查看 因为有可能会将内容写到缓存中,从而无法获得对于的真正读写i/o可以通过ceph dashboard来查看,也可以通过ceph -s来查看动态获取脚本:#!/bin/bashLANG=CPATH=/sbin:/usr/sbin:/bin:/usr/bininterval=1length=86400for i in $(seq 1 $(expr ${length} / ${interval}));dodate=`date`echo -..

2022-01-11 23:08:40 623

原创 Ceph集成prometheus、grafana

加载模块ceph mgr module enable prometheusCeph Luminous 12.2.1的mgr中自带了Prometheus插件,内置了 Prometheus ceph exporter,可以使用Ceph mgr内置的exporter作为Prometheus的target。默认暴露的端口是9283地址:ip:9283里面有非常多的指标当然端口也是可以修改的安装Prometheus编写yum源安装yum install prometheus -y ..

2022-01-11 23:04:43 628

原创 Ceph调优

扩容最好一个个osd的加,否则数据再平衡需要较长的时间如果业务流量比较大的话,可以先暂停到数据的rebalance(相当于设置标志位)ceph osd set norebalanceceph osd set nobackfill两个必须都关掉才能有效果等业务流量高峰期过了重新设置标志位即可ceph osd unset norebalanceceph osd unset nobackfill查看每块盘的延迟ceph osd perf如果有盘延迟特别高,说明出现了问题,需..

2022-01-11 23:04:09 318

原创 ceph单osd创建遇到的问题

title: ceph单osd创建遇到的问题categories:cephtags:ceph当我们只有一个磁盘去创建单个osd的时候最好先在config中设置如下内容:osd pool default min size = 1osd pool default size = 1如果不这样设置会导致直接创建rgw的时候默认按照三副本的方式给你创建pool的副本,但是此时只有一个osd,就会导致下图场景发生[版本选择]不管如何重启都会导致osd完全崩掉,并且rgw服务虽然存在

2022-01-11 23:02:38 2110

原创 ceph常见命令

动态监视客户端ceph -w查看、调试内核参数ceph --admin-daemon {sock的地址 一般在/var/run/ceph/下} help会显示当前的sock对应的命令调整参数ceph --admin-daemon {sock的地址 一般在/var/run/ceph/下} config set {参数} {对应值}查看各项参数ceph --admin-daemon {sock的地址 一般在/var/run/ceph/下} config show...

2022-01-11 22:57:55 1547

原创 Ceph安装教程

设置三台linux主机并配置不同的ip地址以及内网地址我设置的ip网址为:192.168.236.121 192.168.236.122 192.168.236.123内网地址为:192.168.100.101 192.168.100.102 192.168.100.103设置三条主机名分别为node1、node2、node3hostnamectl set-hostname node1bash #使得命名生效编写hosts文件并传递到另外两个主机上免密钥登录ssh-ke..

2022-01-11 22:57:14 602

原创 Ceph安装第三方Ceph exporter

安装 Go 语言环境导出 Ceph 信息到 Prometheus 有多种方式,本文采用的是 DigitalOcean 的 ceph_exporter,ceph_exporter 使用 go 语言编写的,所以需要先安装 go 语言环境。还是一条命令解决:$ sudo apt install -y golang安装好后执行 $ go env 命令验证并查看一下 go 环境信息。此处需要注意一下GOROOT,有可能不是/usr/lib/go-1.6,需要在/usr/lib下查看当前go库的名字,$

2022-01-11 22:56:23 2700

原创 ceph-ansible(host)

ceph-ansible官网检查环境ansible主机ansible安装yum install ansible -y设置host# vim /etc/ansible/hosts[mons]node01node02node03[mgrs]node01node02node03[osds]node01node02node03[rgws]node01node02node03[mdss]node01node02node03[grafana-s

2022-01-11 22:54:23 337

原创 ceph-ansible(docker)

设置ymal文件generate_fsid: truemonitor_interface: ens5f0journal_size: 5120public_network: 192.168.74.0/24cluster_network: 192.168.74.0/24ceph_docker_image: "ceph/daemon"ceph_docker_image_tag: master-d4b8dde-mimic-centos-7-x86_64containerized_deployment

2022-01-10 12:32:53 189

原创 ceph-ansible-5.0创建ceph集群

ceph-ansible 5.0优势:需要部署的节点数量越多,ceph-ansible的效率就越高版本信息:ceph-ansible:5.0.5 ceph 15os:centos 7.9.2009kernel version:5.4.93-1.el7.elrepo.x86_64集群拓扑ceph-admin192.168.200.120192.168.100.120ceph-node01192.168.200.121192.168.100.121ceph-n

2022-01-10 12:32:10 715

原创 ceph创建文件系统

内核级别挂载,性能高创建mds服务ceph-deploy --overwrite-conf mds create node1为了保证高可用需要部署多个mds服务ceph-deploy --overwrite-conf mds create node2ceph-deploy --overwrite-conf mds create node3创建fs的元数据池和数据池ceph osd pool create cephfs_metadata {pg_num} {pgp_num}ceph o

2022-01-10 12:31:10 480

原创 ceph运维排错

查看出错的详细信息ceph health detail启用资源服务(主要的设置资源池种类,方便做好分类)查看资源池的分类ceph osd pool application get demo查看crash的情况ceph crash ls查看具体的crash情况ceph crash info <id>删除crash报警(如果是误报的话)ceph crash archive <id>ceph crash archive all直接删除crash..

2022-01-10 12:30:21 409

原创 记一次Minio ComposeObject无法在ceph上合并文件的异常运维

问题复现直接使用minio java sdk(8.3.3版本)对ceph集群中的compose桶中的已存在的多个文件(test1,test2)进行合并(test),代码如下 @Test void contextLoads() throws Exception{ MinioClient minioClient = MinioClient.builder() .endpoint("http://172.23.27

2022-01-10 12:29:26 2333 2

原创 ceph高可用测试

暂停ceph中的某个服务systemctl stop ceph-{种类}@结点名称mon结点因为是Paxos算法,所以必须保证一半以上的结点可以用才行mds(也就是文件系统)只需要保证一个结点可以使用就行rgw需要搭载负载均衡才能在一个挂掉的情况下进行访问,否则指向挂掉的那个结点是无法进行访问的当关掉osd集群中的一部分结点时是可以正常进行读写的,但是在osd比较少的情况下,比如有6个osd,你关掉了4个,那么可以对集群的访问是比较卡的,但是实际上是可以进行读写操作的。读写测

2022-01-10 12:28:41 379

原创 ceph创建对象存储

创建rgw网关ceph-deploy rgw create {主机名}修改默认端口(7480)在ceph.conf配置文件追加[client.rgw.node1]rgw_frontends = "civetweb port=80"[root@node1 ceph-deploy]# push到各个节点ceph-deploy --overwrite-conf config push node1 node2 node3重启服务systemctl restart ceph-..

2022-01-10 12:27:52 1198 1

原创 搭建高可用的rgw集群

安装keepalived(集群中的所有主机都安装)​ keepalived: 一种高性能的服务器高可用或热备解决方案yum install keepalived -y修改配置文件(master节点)! Configuration File for keepalivedglobal_defs { notification_email { [email protected] [email protected] sysadmin@firew

2022-01-10 12:26:08 155

原创 安装ceph dashboard

安装包yum install ceph-mgr-dashboard启用模块ceph mgr module enable dashboard有可能需要强制启动ceph mgr module enable dashboard --force查看ceph mgr 已经挂载的模块ceph mgr module ls | less认证可以使用自签ceph dashboard create-self-signed-cert可以使用CA证书也可以直接使用http分配..

2022-01-10 12:22:32 630

原创 ansible-runner自动创建ceph集群

Ansible-runner安装ansible-runnerpip3 install ansible-runner遇到问题:缺少psutil/_psutil_common.c:9:20: 致命错误:Python.h:没有那个文件或目录如果是python2环境则需要安装python3-dev,注意一定是安装python3-dev,安装python-dev没有用!!安装ansiblepip3 install ansible==2.9.17注意:如果之前使用yum安装了ansible

2022-01-10 11:42:58 860

原创 数据库范式概念以及范式分解详解

几个重要知识点平凡函数依赖与非平凡函数依赖X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。完全函数依赖与部分函数依赖在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作X → Y。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y候选码设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个候选码(Candidate K..

2021-01-03 15:50:49 7588 1

原创 s3下载

s3断点下载两个概念http request中的请求头有一个header为 range该字段表明请求的下载流从什么地方开始下载例如RANGE: bytes=2000070-表明从2000070开始一直下载到最后RANGE: bytes=2000070-2000080表明从2000070开始一直下载到2000080如果在请求时使用了range字段,那么在返回的response中会有多出一个header即Content-Range=bytes 100000-19999/200

2020-12-17 11:18:11 1003

原创 Swagger2 2.7.x踩坑记

Swagger2 2.7.x踩坑(与Swagger2 2.9.0比较)一开始使用的是<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version></dependency><dependency> <group

2020-11-10 17:14:37 404

原创 让你详细理解寻找两个有序数组第k个数的递归算法

寻找两个有序数组中的第k个数假设有两个数组A与BA为[1,2,5,6.7]B为[1,2,3,4,5]现在需要寻找A、B合并之后的数组中的第4个数方法一比较偷懒的方法直接使用C++中的merge函数将A与B合并为一个有序数组再按照顺序进行查找,时间复杂度为O(n+m)方法二使用二分法进行查找我们首先需要明确目标,是在有序数组(尽管查找之前需要合并)中寻找第k个数,既然是有序数组,我们就想要利用有序这个特性,也就会自然想到二分查找算法。但是现在的障碍是我们无法直接一下直接使用二分查找,因为

2020-10-31 16:28:37 746

原创 利用keepalived和haproxy搭建高可靠rgw集群

安装keepalived(集群中的所有主机都安装)​ keepalived: 一种高性能的服务器高可用或热备解决方案yum install keepalived -y修改配置文件(master节点)! Configuration File for keepalivedglobal_defs { notification_email { [email protected] [email protected] sysadmin@firew

2020-10-04 20:53:09 208 1

原创 Ceph高可用集群搭建超级详细步骤

设置三台linux主机并配置不同的ip地址以及内网地址我设置的ip网址为:192.168.236.121 192.168.236.122 192.168.236.123内网地址为:192.168.100.101 192.168.100.102 192.168.100.103设置三条主机名分别为node1、node2、node3hostnamectl set-hostname node1bash #使得命名生效编写hosts文件并传递到另外两个主机上免密钥登录keygen..

2020-10-03 12:40:44 1255 1

原创 超详细的Mac 下VScode GO环境搭建

Mac环境下VScode安装Go下载Go SDK 查看当前go的环境变量并根据自己的工程路径对GOPath进行修改我的工程路径为 子目录go下的工程路径为 当我们在src目录下创建main.go文件是会自动的弹出插件的下载提示,此时我们需要先对proxy进行修改(也就是刚刚在上面提到的),根据网站的提示进行修改,修改完之后就可以进行愉快的下载了我们需要在src的根目录下进行mod的创建,也就是go目录下go mod init mygo此处一定要记得是在g

2020-09-28 14:54:24 4969

原创 SpringData JPA初识

SpringData定义​ Spring Data JPA是一种JPA的抽象层,底层依赖Hibernate,也就是给我们直接提供了访问数据库的能力,比如常见的CRUD操作,复杂的操作还是需要我们自己编写。​ 可以访问关系型数据库也可以访问NoSQL类型数据库以关系型数据库为例HelloWorld1. 导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artif

2020-09-03 11:14:03 93

原创 MongoDB基本语法(增删改查)

查询数据库show dbs进入数据库use {xxx};向数据库的指定collection中插入一个文档(此处以student集合为例)db.student.insert({​ username:“Aaron”});查询集合中的文档查询所有文档db.student.find();返回的是数组,如果需要查询具体的属性需要添加索引比如:db.student.find()[0].id;查询指定文档db.student.find({username:“Aaron”});统计

2020-09-02 14:33:42 400

原创 搭建第一个Vue项目

下载node.js安装淘宝镜像源(需要管理员权限)否则下面下载很卡npm install -g cnpm --registry=https://registry.npm.taobao.org安装vue脚手架cnpm install vue-cli -g安装webpackcnpm install webpack -g创建一个空的文件夹并cd到该文件夹下vue init webpack {projectName}弹出的选项根据自己的需要进行安装安装依赖的模块cn..

2020-08-22 17:18:20 71

原创 Vue基本语法

Vue的核心优势​ ​数据双向绑定​ 组件(Component)引入Vue的cdn才能够使用Vue的语法<link rel="stylesheet" href="https://cdn.bootcss.com/element-ui/2.6.1/theme-chalk/index.css"><script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script><script src="ht

2020-08-22 17:14:40 96

原创 ElasticSearch中安装ik分词器插件后启动发生错误 java.security.AccessControlException: access denied

ElasticSearch中安装ik分词器插件后启动发生错误java.security.AccessControlException: access denied原因可能如下:目录中带有中文或者空格

2020-08-16 22:26:37 795 1

原创 SpringBoot整合shiro

导入依赖<!-- https://mvnrepository.com/artifact/com.github.theborakompanioni/thymeleaf-extras-shiro --><dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId>

2020-08-11 22:35:22 62

原创 SpringBoot国际化配置

在resource文件下添加如下文件在login.properties文件下添加键值对因为国际化的相关类对应的properties对应的文件中basename是国际化配置文件的真实位置所以在application.properties配置spring.messages.basename=i18n.login编写页面注意点 国际化的值需要使用#{}<!DOCTYPE html><html lang="en" xmlns:th="http://www..

2020-08-09 21:43:37 608

转载 SSM整合

整体结构图​ 编写实体类@Data@AllArgsConstructor@NoArgsConstructorpublic class Books { private int bookID; private String bookName; private int bookCounts; private String detail;}连接Mybatis (我们没有编写Mapper的实现类,因为在配置文件中直接动态注入到了spring的容器中)创

2020-08-02 22:15:02 115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除