运维
文章平均质量分 73
Linux基础服务
帅大大的架构之路
坚持!努力!奋斗!
展开
-
Ceph对象存储系统之RGW接口
对象存储(object storage)是非结构数据的存储方法,对象存储中每一条数据都作为单独的对象存储,拥有唯一的地址来识别数据对象,通常用于云计算环境中不同于其他数据存储方法,基于对象的存储不使用目录树。虽然在设计与实现上有所区别,但大多数对象存储系统对外呈现的核心资源类型大同小异。从客户端的角度来看,分为以下几个逻辑单位Amazon S3提供了用户(User)存储桶(Bucket)对象(Object)三者的关系是User将Object存储到系统上的Bucket。转载 2024-09-24 16:18:58 · 134 阅读 · 0 评论 -
Ceph块存储系统之RBD接口
RBD操作服务端ceph osd pool create RBD-Pool名 PG数据 #创建RBD存储用的Poolceph osd pool application enable RBD-Pool名 rbd #将Pool转换为RBD模式rbd pool init -p RBD-Pool名 #RBD初始化rbd create -p RBD-Pool名 --image 镜像名 --size 镜像大小 #创建RBD镜像rbd create RBD-Pool名/镜像名 --size 镜像大小。转载 2024-09-24 16:14:23 · 97 阅读 · 0 评论 -
CephFS文件系统之MDS接口详解
CephFS操作服务端ceph-deploy mds create 节点列表 #创建MDSceph osd pool create 元数据Pool名 PG数据 #创建元数据Poolceph osd pool create 数据Pool名 PG数据 #创建数据Poolceph fs new CephFS名 元数据Pool名 数据Pool名 #创建CephFS。转载 2024-09-24 16:09:13 · 53 阅读 · 0 评论 -
Ceph应用之资源池pool管理
OSD总数小于5个,官方推荐 PG数为1285~10个,官方推荐 PG数为51210~50 个,官方推荐 PG数为1024大于50个,参考公式 PG 数=( Target PGs per OSD )* (OSD # )* ( %Data ) / (Size)Target PGs per OSD:表示每个OSD对应的PG数(如近期不扩容OSD数量可设置为100,如近期要扩容OSD数量可设置为200)OSD #:表示当前OSD总数%Data:当前Pool预计会占用ceph总存储空间的百分比。转载 2024-09-24 16:03:01 · 56 阅读 · 0 评论 -
ceph部署
存储设备DAS(直接附加存储,是直接接到计算机的主板总线上去的存储)IDE、SATA、SCSI、SAS、USB 接口的磁盘所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储NAS(网络附加存储,是通过网络附加到当前主机文件系统之上的存储)文件系统级别的存储,本身就是一个做好的文件系统,通过nfs接口在用户空间输出后,客户端基于内核模块与远程主机进行网络通信,把它转为好像本地文件系统一样来使用,这种存储服务是没办法对它再一次格式化创建文件系统块的SAN(存储区域网络)转载 2024-09-24 15:22:56 · 442 阅读 · 0 评论 -
开源性能监控工具atop【字节跳动版本】的安装与简单使用
是一款开源的性能监测工具,atop是以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中出现问题后,我们可获取相应的atop日志文件进行分析支持实时观测的同时、也支持读取历史文件排查问题。另外一个优点是除提供 CPU、MEM、DISK 等全局指标外,还提供进程、线程级别的各项指标监控数据。鉴于 atop 的这些优点,字节跳动基于社区的 atop 进行优化,目前已迭代多个版本写在前面。转载 2023-12-28 11:41:50 · 1289 阅读 · 0 评论 -
服务器出现大量 TIME_WAIT,如何解决
某些情况,TCP 报文可能会延迟到达,为了避免迟到的 TCP 报文被误认为是新 TCP 连接的数据,需要在允许新创建 TCP 连接之前,保持一个不可用的状态,等待所有延迟报文的处理。:理论上服务端可以建立很多连接,虽然只需监听一个端口但会把连接扔给处理线程,所以当服务端出现大量 TIME_WAIT 时,系统资源被占满时,会导致处理不过来新的连接。根据上边的分析,TIME_WAIT 状态出现在 TCP 四次挥手中主动关闭连接方发送完最后一次挥手(ACK 的信号结束后),主动关闭连接方所处的状态。转载 2023-12-28 10:20:27 · 2242 阅读 · 0 评论 -
Linux 性能调优之内核可调参数
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》山河已无恙Red Hat 认证架构师,CNCF 认证 K8s 管理员,CSDN、51CTO 博客专家,InfoQ 写作平台、Alibaba Cloud 开发者社区签约作者、Huawei Cloud 云享专家、Tencent Cloud 内容共创官Linux 中内核可调参数。转载 2023-12-02 09:40:17 · 391 阅读 · 0 评论 -
find命令-exec选项,find命令配合xargs
1、正则匹配查找(/etc/目录下搜索以s为文件名开头的文件;3、使用-exec选项****(shell命令执行)****注:选项-exec,后面跟要执行的shell命令,{} 花括号代表前面find查找出来的文件名,即把搜索的文件名放到花括号中,注意反斜杠\和分号;之间没有空格,这种用法通常是把搜索的结果做处理;1.使用-exec选项,此选项是把参数一个一个传递给shell命令,即传递一个文件名执行一次cp命令;2.而命令,是把参数一次性传递,即把搜索的所有文件名一次姓传给shell命令处理;转载 2023-11-24 14:32:45 · 444 阅读 · 0 评论 -
VMware 使用 Ubuntu 一段时间后逐渐卡顿、甚至卡死的问题
vmware与windows的Hyper-v不兼容由来已久,想要使用虚拟机就必须把本地的虚拟化功能关了,虽然现在vm的版本更新中显示可以与Hyper-v兼容,其实vmware 16pro只是给了一个选项,但实际上当使用虚拟机开启虚拟化后还是不能打开虚拟机,还是应该是需要把本地虚拟化关闭之后才能使用。Hyper-V是Windows系统自带的虚拟机软件,其主要功能是在不影响原系统的情况下创建多个Windows或非Windows子系统。虚拟机平台 打开----请把此项前的“√”取消。转载 2023-11-02 19:06:02 · 8331 阅读 · 8 评论 -
ubuntu安装docker教程
Docker是一种流行的容器化平台,它能够简化应用程序的部署和管理。本文将介绍在Ubuntu操作系统上的步骤,以便我们可以开始使用Docker来构建和运行容器化应用程序。转载 2023-11-02 11:31:37 · 167 阅读 · 0 评论 -
Ubuntu22.04中安装Golang1.20和Goland,并创建一个新项目
4.输入命令 cd /usr/local/GoLand/bin/ 进入到GoLand的bin目录,输入命令 sudo ln -s $(pwd)/goland.sh /usr/bin/goland.sh 实现在任意位置执行goland.sh启动GoLand。6.点击“GOROOT”的“Add SDK”按钮,点击“Local”,默认打开的文件夹就是“/usr/local/go”,如果不是切换到设置的GOROOT路径,点击“OK”,会发现GOROOT已经选择了Go 1.20.2。转载 2023-11-01 14:35:48 · 1057 阅读 · 0 评论 -
使用Windows远程桌面工具来远程连接控制Ubuntu系统
注意事项: 1、查看Ubuntu是否开启屏幕共享。(1)、如果是 “不活动” 的话,可以不需要任何设置。(2)、开启对应端口。3、完成安装后,进入Windows的操作系统,这里为Windows 10操作系统,打开Windows的远程桌面工具,输入Ubuntu系统的IP地址,就可以进行远程桌面的链接。(1)查看Ubuntu的IP地址。安装xrdp需要安装tightvncserver组件,这里一起将其相关的组件安装完成。所需软件及系统:Windows远程连接工具、Ubuntu系统。转载 2023-11-01 10:17:02 · 2764 阅读 · 1 评论 -
kswapd0占用cpu很高解决
在按这种方式解决之前,先确定你的kswapd0是系统自带的正常进程,还是kswapd0病毒,kswapd0病毒怎么排查网上文章很多病毒可参考:https://blog.csdn.net/jzz601264258/article/details/105850816。转载 2023-06-28 10:31:20 · 945 阅读 · 0 评论 -
Linux 下获取进程所在文件的路径
需要注意的是,/proc/pid/exe文件是一个符号链接文件,它指向的路径可能会随着进程的可执行文件的变化而变化,例如在运行过程中升级可执行文件或链接库,因此在读取它的内容时,应该对返回值进行错误检查,以确保它确实指向当前进程的可执行文件。需要注意的是,/proc/pid/cwd文件是一个符号链接文件,它指向的路径可能会随着进程的工作目录的变化而变化,因此在读取它的内容时,应该对返回值进行错误检查,以确保它确实指向当前进程的工作目录。其中/usr/bin/top为top进程可执行文件所在的绝对文件路径。转载 2023-06-24 20:13:14 · 6504 阅读 · 0 评论 -
跟我一起写 Makefile(下)
你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%“字符。”%“的意思是表示一个或多个任意字符。在依赖目标中同样可以使用”%“,只是依赖目标中的”%"的取值,取决于其目标。有一点需要注意的是,"%“的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的”%"则发生在运行时。转载 2023-06-06 18:16:27 · 325 阅读 · 0 评论 -
跟我一起写 Makefile(上)
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。转载 2023-06-06 14:18:45 · 118 阅读 · 0 评论 -
iptables 限制IP的使用方式
iptables是一个非常好用的工具,一些简单的防火墙功能都可以通过 iptables 实现,今天给大家分享下最常用的两种用法:封禁指定 IP,以及封禁 IP 段的写法。可根据序号来删除规则。转载 2023-06-04 19:26:42 · 3963 阅读 · 0 评论 -
Linux之systemd服务配置及自动重启
历史上,linux的启动一直采用init进程,比如# 或者这种方法有两个缺点。一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。根据 Linux 惯例,字母d是守护进程(daemon)的缩写。Systemd 这个名字的含义,就是它要守护整个系统。转载 2023-05-25 15:09:32 · 2061 阅读 · 0 评论 -
在CentOS 7上实施密码复杂性策略
对于CentOS 7或类似的衍生产品,使用/etc/security/pwquality.conf或/etc/pam.d/system-auth配置文件。在本指南中,我们将学习如何在基于CentOS 7 / RHEL的派生产品上实施密码复杂性策略。与我们之前的指南类似,我们将使用PAM pwquality模块在基于CentOS 7 / RHEL的派生产品上实施密码复杂性策略。选项附加到上的以下行/etc/pam.d/system-auth。以root用户身份,尝试使用不符合设置的凭据的密码更改用户的密码。转载 2023-05-22 14:27:35 · 1558 阅读 · 2 评论 -
Linux工具之nethogs命令
NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。NetHogs是一个类似于Linux的top命令的开源的命令行工具,用来按进程或程序实时统计网络带宽使用率,它可以直观的显示每个进程占用的带宽。转载 2023-05-22 11:57:15 · 492 阅读 · 0 评论 -
Awk中sub函数的用法
另外, 只有当记录中的域有改变的时候 ,指定0FS变量才有用, 如果记录中的域无变化, 指定OFS产生不了实际效果。sub函数匹配指定域/记录中最大、最靠左边的子字符串的正则表达式,并用替换字符串替换这些字符串。第二个例子在整个记录的第一个域中进行匹配,替换只发生在每行第一次匹配发生的时候。第二个例子在整个文档的第一个域中匹配,所有匹配的都被替换成mytest。第一个例子在整个记录中匹配,替换只发生在每行第一次匹配发生的时候。第一个例子在整个文档中匹配test,匹配的都被替换成mytest。转载 2023-05-20 10:58:36 · 397 阅读 · 0 评论 -
Unix信号详解(Signal的信号说明)
一个程序接受一个信号的时候似乎很好理解,且不会出现太大的问题,但是一旦一个进程接受了多个信号的时候,问题就出现了以下是问题的说明:该信号如果理解成现实生活中的信号,现实中的信号也永远是异步。例如,小张和小和正在说话,这是一个顺序执行的操作。转载 2023-05-19 09:31:08 · 938 阅读 · 0 评论 -
加解密篇 - 非对称加密算法 (RSA、DSA、ECC、DH)
假设 A 交给 B 一个公钥,并使 B 相信这是A 的公钥,并且 C 可以截下 A 和 B 之间的信息传递,那么 C 可以将自己的公钥传给 B,B 以为这是 A 的公钥。这样,在互通了本地密钥 (SecretKey) 算法后,甲乙双方公开自己的公钥,使用对方的公钥和刚才产生的私钥加密数据,同时可以使用对方的公钥和自己的私钥对数据解密。信息的接收者先用 CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥,然后就能通过该公钥证明数字签名是否真实了。如果用公钥,那每个人都可以伪造签名了。转载 2023-05-12 15:46:11 · 4085 阅读 · 0 评论 -
加解密篇 - 对称加密算法 (DES、3DES、AES、RC)
我们开发通常采用128位16个字节的密钥,我们使用 AES 加密时需要主动提供密钥,而且只需要提供一个密钥就够了,每段数据加密使用的都是这一个密钥,密钥来源为随机生成**(我们开发时传入的那个为初始密钥,除了初始密钥以外,后面每一轮的密钥都是由上一轮的密钥扩展而来的,密钥扩展有四个步骤:排列、置换、与轮常量异或、生成下一轮密钥的其他列)**。比起最初的 DES,AES 更为安全。采用单钥密码系统的加密方法,同一个密钥用来加密和解密,常见的对称加密算法有 DES,3DES,AES,RC2,RC4,RC5等。转载 2023-05-12 15:35:07 · 3292 阅读 · 0 评论 -
docker strace ptrace 报错 Operation not permitted 解决方法
原因就是因为ptrace被Docker默认禁止的问题。下表列出了由于不在白名单而被有效阻止的重要(但不是全部)系统调用。该表包含每个系统调用被阻止的原因。当然从安全角度考虑,如只是想使用gdb进行debug的话,建议使用第三种。)是 Linux 内核功能,可以使用它来限制容器内可用的操作。安全计算模式(secure computing mode,配置文件是一个白名单,它指定了允许的调用。3、仅开放ptrace限制。1、关闭seccomp。Docker 的默认。2、采用超级权限模式。转载 2023-04-25 17:30:22 · 1943 阅读 · 0 评论 -
Linux awk 替换文本字符串内容
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。pattern就是要表示的正则表达式,用斜杠括起来。转载 2023-04-23 13:45:37 · 2837 阅读 · 1 评论 -
自定义生成ssl证书
选择自己电脑对应的版本然后下一步下一步安装完成即可。原创 2023-03-31 14:02:11 · 1032 阅读 · 0 评论 -
grpc调试工具grpcurl安装
grpcurl和grpcui都是调试grpc的利器,前者用于命令行,类似curl工具;后者是以web的形式进行调试的,类似postman工具。有了这两款工具,我们不用写任何客户端代码,也能方便的调试接口数据。这两款工具的作者是同一人:http://github.com/fullstorydev。转载 2023-03-17 11:21:59 · 2218 阅读 · 0 评论 -
Linux 系统性能优化思路和优化方法
free –m”表示以 M为单位查看内存使用情况,在这个输出中,我们重点关注的应该是 free 列与 cached 列的输出值,由输出可知,此系统共 8G 内存,系统空闲内存还有925M,其中,Buffer Cache 占用了 243M,Page Cache 占用了 6299M,由此可知系统缓存了很多的文件和目录,而对于应用程序来说,可以使用的内存还有 7468M,当然这个 7468M 包含了 Buffer Cache 和 Page Cache 的值。Sy的值较高时,说明内核消耗的CPU 资源很多。转载 2023-03-16 11:55:39 · 559 阅读 · 0 评论 -
Alpine Linux 3.4安装软件
Alpine Linux 3.4 这个版本的系统镜像中是没有yum或者apt等工具的那么可以用apk这个工具来下载。原创 2023-03-14 14:34:00 · 758 阅读 · 0 评论 -
Linux 查看进程启动时间、运行时间
依次打印出某进程的pid,uid,user,启动时间,持续时间,占用CPU时间(cputime),以及cmd。大写的O表示preloaded,小写的o表示user-defined,e表示all processes。注意:top 命令输出的 TIME+ 字段是进程占用 CPU 运行的时间,并非其真正的运行时间。如果查出来的时间是1-16:15:58, 则表示该运程运行了1天16小时15分钟。etime表示elapsed time, 即程序已经运行的时间。转载 2023-03-09 16:44:38 · 2575 阅读 · 0 评论 -
高并发情况下Linux系统及kernel参数优化
所以,如果有上述问题存在,就只能去打开/etc/profile脚本文件,在文件中查找是否使用了ulimit-n限制了用户可同时打开的最大文件数量,如果找到,则删除这行命令,或者将其设置的值改为合适的值,然后保存文件,用户退出并重新登录系统即可。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN-WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。转载 2023-03-06 10:57:42 · 292 阅读 · 0 评论 -
linux的TCP连接数量最大不能超过65535个吗,那服务器是如何应对百万千万的并发的?
高并发是互联网系统所面临的普通问题,也是系统架构时考虑的重要因素之一。并发与负载】是相对的两个词。想实现高并发,就要提高系统负载能力。系统负载能力强了,自然可以处理高并发请求。所以,实现高并发,本质就是提高系统的负载能力。一般对于系统负载能力的评估参数有:响应时间 、吞吐量、每秒请求数QPS、并发用户数。响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。吞吐量:单位时间内处理的请求数量。QPS:每秒响应请求数,与吞吐量概念类似。转载 2023-03-06 09:21:20 · 614 阅读 · 0 评论 -
tomcat启动项目后,js文件内容出现中文乱码的解决办法
最近,一直运行在tomcat6上的一个项目,因为集成别人控件(控件要在tomcat8上运行)的缘故,发现系统中js文件出现中文乱码的情况。2、找到apache-tomcat-8.5.68\bin\catalina.bat文件。这个我倒是没有添加。重启tomcat之后,JS中文乱码还是存在,于是我又找到了第三种。3、找到apache-tomcat-8.5.68\conf\web.xml文件。-tomcat-8.5.68\conf\server.xml文件。网上还有人说同时加上。转载 2023-03-01 17:19:30 · 2188 阅读 · 0 评论 -
Debian10更换apt源
修改这个文件,当然你修改之前也可以先备份一下,我这边就不备份了。想用vim去编辑,发现没有vim,可以这样做。然后就可以去下载软件了。原创 2023-03-01 11:17:58 · 3199 阅读 · 0 评论 -
部署php遇到的一些问题(持续更新)
镜像:richarvey/nginx-php-fpm:1.7.1。改完之后记得重启php-fpm。先拿到pid,再根据pid重启。进入到容器里面,然后修改参数。原创 2023-02-20 11:29:41 · 214 阅读 · 0 评论 -
oom killer理解和日志分析
是Linux内核设计的一种机制,在内存不足的时候,选择一个占用内存较大的进程并kill掉这个进程,以满足内存申请的需求(内存不足的时候该怎么办,其实是个两难的事情,oom killer算是提供了一种方案吧)内存不足申请失败的细节都分析清楚了,剩下的问题就是为什么java会申请这么多内存(5.8G),明明-Xmx配置的是4G,加上PermSize,也就最多4.3G。转载 2023-02-08 11:36:59 · 1055 阅读 · 0 评论 -
linux-内存分析工具pmap
pmap工具是linux的工具,能够查看进程用了多少内存,还能分析内存用在上面环节,对于一些长期占用内存居高不下的程序可以分析其行为,命令简单,信息简洁。转载 2023-02-06 11:05:01 · 2654 阅读 · 0 评论 -
php添加慢日志记录
接着创建这个文件并授权,不然会有权限问题导致php进程起不来。目录下的所有文件,我们用的主要是www.conf。3.进入php目录,并查看主配置文件。可以看到主配置最后有一行,包含了当前。2.查看php进程,看目录在哪。5.重启php-fpm。原创 2023-02-06 10:57:33 · 224 阅读 · 0 评论