问题描述1234567891011121314151617181920[root@lab103 ceph]# ceph -s cluster: id: 4f5ce868-8389-489a-bd96-f2754ed6fa2f health: HEALTH_ERR mon is allowing insecure global_id reclaim Module 'devicehealth' has failed: [errno 2] RADOS object not found (error opening pool 'b'device_health_metrics'') 1 pool(s) do not have an application enabled 1 pool(s) have no replicas configured services: mon: 1 daemons, quorum lab10 ...
系统管理
未读背景机器还没来得及oom,机器就出现挂死的状态,swap无法交换出,或者直接挂死
这个问题比较好复现在机器上面一直进行内存的申请即可
1python3 memory.py 100 40000
这个在x86上面做测试的时候,系统能够比较快的oom,但是这个板卡的系统盘本身慢,这个就可能出现卡顿的情况了
系统的oom,需要进行一些计算和系统处理,并且有个问题是,很多进程都不杀,因为都是系统进程,很多是-1000
优先级又很低,oom并不能释放太多内存,无法及时释放内存就会卡死机器了
参数调整1vm.min_free_kbytes=512144
这个我们采用512MB来作为系统的保证内存,这个是oom的判断条件,默认的16MB太小了,并不足以保证运行的环境,这个后面可以根据实际情况再调整其它参数维持系统之前的参数(系统上面看到是这个)
1vm.overcommit_memory = 1
这个0是默认的,1就是无限分配内存,这个压测更极端的情况
earlyoom配置参数
1234567891011121314151617181920root@myserver:~# cat /etc/defa ...
系统服务
未读背景需要下载镜像,但是无法下载
处理方法在macos上面开启端口转发1socat TCP4-LISTEN:25433,fork TCP4:127.0.0.1:25432
在需要下载的机器上面配置docker代理123456vim /lib/systemd/system/docker.service[Service]Environment="HTTP_PROXY=http://192.168.0.225:25433"Environment="HTTPS_PROXY=http://192.168.0.225:25433"
ip为代理机器的ip
重启服务12systemctl daemon-reloadsystemctl restart docker
检查代理配置
1systemctl show --property=Environment docker
然后就可以开始使用了
不用的时候就还原回来
背景cephfs的df看到的是真实的容量的占用的,ll是看到文件的元数据大小的,du一般是统计文件的真实占用的大小的,但是cephfs并没有记录文件内的占用的情况,所以du无法统计到真实占用
方法我们先拿到全部的inode编号
1ls -i -R /mnt > inode.list
拿到全部的对象名称
1rados -p rbd ls > object.list
写一个脚本
12345678910111213141516171819202122#! /bin/bashcat inode.list|while read -r line;doif [[ $line == *:* ]];then echo $lineelif [[ -z $line ]];then echo " "else inode=`echo $line|awk '{print $1}'` filename=`echo $line|awk '{print $2} ...
背景配置iis的数据目录为samba的共享目录,目录可以访问,文件不能访问
处理方法iis在访问samba的文件的时候,默认把文件全部转换成大写的路径去发送的请求,而linux是区分大小写的,访问的时候就无法访问到这个小写的文件
所以需要配置samba忽略大小写
1case sensitive = yes
改成
1case sensitive = no
然后重启samba即可
总结大小写是否需要设置忽略我们可以根据实际场景进行配置,不同场景的需求不一样
存储相关
未读需求修改mon的ip
操作步骤卸载客户端挂载的服务1[root@lab103 ~]# umount /mnt
停掉mds的服务1[root@lab103 ~]# systemctl stop ceph-mds@lab103
停掉osd的服务1[root@lab103 ~]# systemctl stop ceph-osd.target
停掉管理服务12[root@lab103 ~]# systemctl stop ceph-mgr@lab103[root@lab103 ~]# systemctl stop ceph-mon@lab103
备份mon的数据1# cp -ra /var/lib/ceph/mon/ceph-lab103/ /opt/ceph-lab103bk
编辑monmap获取monmap
123456789[root@lab103 mon]# ceph-mon -i lab103 --extract-monmap ./monmap2024-11-04 11:11:11.046678 7f5f75107000 -1 wrote monmap to ./monmap[ ...
系统管理
未读背景内网测试环境出现一台机器上面的systemd返回值异常,其它都正常,具体的现象如下
1systemctl restart smb;echo $?
这个返回的是1,正常执行完毕应该是0
问题定位开始的时候以为是网络的问题,通过执行本地的命令发现,任何systemd的执行命令返回的都是1,但是实际成功了开始并没有往病毒方面想,系统没有定时任务,没有异常的cpu负载
1[root@lab103 ~]# strace systemctl restart rsyslogd
后面是通过这个命令定位到出现异常了,我们复现下病毒的操作
通过把systemctl拷贝一份到本地的另外一个路径
1[root@lab103 ~]# cp -ra /usr/bin/systemctl /usr/bin/sys
使用一个新的脚本替换,这里我用的脚本,实际是二进制,看不到内容,效果差不多
12345[root@lab103 ~]# cat /usr/bin/systemctl#! /bin/bashecho a > /tmp/test/usr/bin/sys $1 $2 $3 $4 $5 $6 $7ex ...
系统管理
未读背景需要下载一个mysql的docker的镜像,但是遇到了问题,这里把相关的方法记录下
问题123[root@lab103 data]# docker pull mysql:8.0Trying to pull repository docker.io/library/mysql ...Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
直接下载的时候无法下载,这个需要给这个做个代理,但是机器可能是内网的机器,那么我们可以下载下来
处理方法我的mac本身可以直接联通上面的外网地址,那么可以通过下载一个docker客户端,然后给客户端设置代理,然后下载,把镜像保存好即可
具体操作
下载docker桌面1https://www.docker.com/products/docker-desktop/
在官方下载即可
配置代理
这个填写自己本地的代理地址即可
上面配 ...
背景国产化的平台目前主要用到的有飞腾和龙芯,飞腾的是arm64架构,这个使用的比较多,龙芯的架构之前是mips架构,最新的硬件的架构已经发生了改变,现在是loongarch64架构,这个算比较新的架构,所以硬件就比较难获得,如果又有适配的需求,这个时候通过虚拟机启动环境是一个比较好的方式
虚拟机有两种方式:
一种是在相同架构下开虚拟机,这个比较简单,一般的操作系统内都带了kvm的相关的软件,直接使用qemu-kvm启动虚拟机就可以了,这个方式的前提是你得有一台这个架构的物理机器,才能在上面启动kvm虚拟机,还存在资源共用的问题了
另外一种方式就是通过qemu完全软件来进行启动这个虚拟机,qemu是在软件内实现了硬件的模拟,一般硬件厂商会给这个做一些适配工作,然后就支持虚拟厂商的硬件了,这个对宿主机环境没有要求
上面的方式二在之前尝试过,可能当时厂商对qemu还没开发完整,所以整个软件链路我自己当时是没有跑起来的,最近因为软件适配的问题,再次尝试,能够启动成功了,本篇就是把这个过程记录下来
准备的资源
准备一个x86的主机,性能尽量好点,这样虚拟机也能快一点
准备一个操作系统,这个操 ...
背景ceph通过radosgw对外提供了s3功能,这个能够提供一个s3接口供外部使用,s3的功能选项很多,本篇记录的是policy的功能配置
配置方法配置policy可以通过s3cmd,或者windows的s3客户端都可以,这里我们使用s3cmd进行配置
安装配置s3cmd下载客户端
1[root@lab101 ceph]# yum install s3cmd
配置s3cmd
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152[root@lab101 ceph]# s3cmd --configureEnter new values or accept defaults in brackets with Enter.Refer to user manual for detailed description of all options.Access key and Secret key are your identifiers for Amazon ...