- 博客(362)
- 资源 (6)
- 收藏
- 关注
原创 chrony常用命令
要使用 chronyc 命令,通常无需加 sudo,但如果要修改 chronyd 的配置或执行某些操作(如重设系统时间),可能需要管理员权限。- 显示实时时钟(RTC)的信息,如果 chronyd 正在控制它。- 使 chronyd 弃用离线模式并立即开始连接到时钟源。- 列出以 chronyd 作为时间源的客户端。- 显示关于NTP服务器回应的更多信息。- 显示有关活跃和未活跃时钟源的信息。- 移除一个现存的 NTP 服务器。- 添加一个新的 NTP 服务器。- 显示 NTP 服务器统计信息。
2024-10-31 17:41:47 221
原创 go 聊天系统项目-1
说明:这一节的内容采用 go mod 管理【GO111MODULE=‘’】的模块,从第二节开始使用【GO111MODULE=‘off’】GOPATH 管理模块。项目目录结构,项目在 /Users/zld/Go-project/src 【GOPATH指定的目录】下。注意:如果在 GO111MODULE=‘off’ 的情况下,编译代码一定要进到 $GOPATH 目录。代码所在目录/Users/zld/Go-project/day8/chatroom/这里只展示改动的 server 目录下的代码。
2024-10-31 16:54:42 439
原创 rook-ceph mon 报错 e9 handle_auth_request failed to assign global_id
问题描述ceph -s 无法获取集群信息查看 mon 日志报错如下。
2024-10-30 16:18:50 134
原创 k8s启动pod报错 plugin type=xxerror getting ClusterInformation: the server has received too many requests
这是etcd集群的问题,需要排查etcd问题,文中是因为etcd所在的一个节点 down 了。查看问题节点是哪个,如下,报错的那个就是问题节点。文中解决方法是剔除了出问题的 etcd 节点。查看问题节点的 id。
2024-10-29 15:25:09 20
原创 etcd 备份还原
在你给出的命令中,有一些参数需要被替换为具体的值来匹配你的 etcd 集群配置。#–initial-cluster-token 参数用于 etcd 集群中的节点在初次启动时相互发现。#–initial-advertise-peer-urls 参数指定了 etcd 节点在集群中用于通信的 URL。#/opt/etcd/backup/etcdbackup.db 是你要从中恢复数据的 etcd 快照文件的路径。在恢复过程中,你需要指定集群中所有节点的名称和它们的客户端 URL。这通常与集群中的特定节点相关联。
2024-10-28 15:16:12 227
原创 openssl 自签证书
这个subject参数指定了证书的DN(Distinguished Name)信息。DN包含证书主体的身份信息,格式为一系列键值对,使用/分隔。每个键值对使用=号连接。这个subject参数包含的键值对有:- /C=CN:国家名称是CN(China)
2024-10-25 17:50:38 326
原创 ceph rook-ceph 部署 cephobjectstore 失败
或者,您可以删除该 cephobjectstore,然后重新创建它。也许是因为它在 OSD 关闭时处于失败状态,所以它在尝试恢复时卡住了。此错误使它看起来令人困惑,因为区域组应该存在。使用 rook-ceph 部署 对象存储服务,部署完后,rgw pod没有启动,查看 cephobjectstore 详细信息如下。也许是因为它在 OSD 关闭时处于失败状态,所以它在尝试恢复时卡住了。此错误使它看起来令人困惑,因为区域组应该存在。出现上述错误的原因是因为 ceph 集群 osd 状态有问题,如下。
2024-10-18 16:44:56 151
原创 go 包相关知识
在这种情况下,依赖关系将被下载到一个特定的$GOPATH/pkg目录,而不是GOPATH的src目录外,并且编译的可执行文件将不会放入GOPATH/bin,除非你显式地设置了GOBIN环境变量。注意,在Go 1.16及以后的版本中,GO111MODULE默认是开启的,并且GOPATH的功能已经被减少,主要用于兼容老的代码。在这个例子中,我们将GOPATH设置为用户主目录下的go文件夹,开启了模块支持,设置了私有模块的访问权限,并且将Go的可执行文件目录添加到了PATH环境变量中。
2024-10-18 13:36:47 540
原创 grafana failed to load dashboard from file= ... json error=EOF
使用 prometheus-community/kube-prometheus-stack helm chart 部署 prometheus 监控后,查看 grafana pod 有如下报错。由于 dashboard 开了持久化存储,所以只注释掉导入 dashboard 的配置不足以解决这个日志报错。如下配置刚开始部署的时候并没有注释,注释掉后再次部署,关于这 3 个 dashboard 的报错仍然存在。1、注释掉导入 Ceph-CephFS dashboard 的配置。
2024-10-17 15:06:28 186
原创 ceph 1 OSDs or CRUSH {nodes, device-classes} have {NOUP,NODOWN,NOIN,NOOUT} flags set
ceph -s 查看 ceph 集群有如下告警。
2024-09-24 11:44:36 55
原创 ceph clients failing to respond to cache pressure
如果更改 mds_recall_max_decay_threshold 该值不能充分降低“召回上限”计数器的增长速率,请逐步减小mds_recall_max_caps,直到日志中不再显示“客户端无法响应缓存压力”消息。1、分别查看 mds mds_recall_max_decay_threshold 和 mds mds_recall_max_caps 的值,mds_recall_max_decay_threshold 默认为 126K,mds_recall_max_caps 为 30K。
2024-09-13 12:31:52 175
原创 k8s dial tcp 10.97.0.1:443: i/o timeout
使用 kubeadm 部署完 k8s ,使用 projectcalico/tigera-operator 这个 chart 部署 calico ,卡在了 tigera-operator 这个 namespace 下的 pod tigera-operator-54b47459dd-n4x72,该 pod 一直重启,查看该 pod 日志发现如下报错。查看 endpoints,发现 kubernetes 的 ENDPOINTS 地址不对,这个地址是 node 上另外一个段的,这个段不是所有的主机都能通。
2024-08-29 18:17:02 490
原创 k8s Volume is already exclusively attached to one node and can‘t be attached to another
问题现象启动 pod 卡在 containercreate 状态,使用kubectl describe pod [pod name]命令查看详细报错。
2024-08-23 17:59:53 112
原创 go const(常量)
import ("fmt"import ("fmt"import ("fmt"fmt.Printf("测试")import ("fmt"fmt.Printf("测试")import ("fmt"fmt.Printf("测试")num := 9。
2024-08-23 16:18:00 423
原创 k8s Unable to fetch container log stats failed to get fsstats for
如果需要手动处理,就进到 /var/log/syslog 输出日志中的 log 路径。然后删除 0.log 即可。官方已经解决该 bug。
2024-08-22 16:58:02 262
原创 k8s kubelet 日志报错 There were many similar errors. Turn up verbosity to see them err=“orphaned pod
根据日志中输出的 pod id 2a22ee1c-3914-45e7-a916-06f70ab5c8bc。由代码可知,只会删除孤立 pod 的空目录,至于目录下有文件就不会删除该目录。/var/log/syslog 中有很多如下日志存在,每隔 2 秒刷新一次。硬重启机器,使 kubelet 没有机会清理 Pod 目录,即目录变为孤立。删除 vol_data.json 文件。再进入该 pod volume 目录。进入到该 pod 数据目录下。
2024-08-21 17:27:26 120
原创 grafana pod 无法启动 Only one datasource per organization can be marked as default
注意文件中 isDefault: {{ default false .Values.loki.isDefault }} ,由这个代码可知 values.yaml 文件中如何指定 loki datasource isDefault 字段的值。grafana 的 datasource cm 为 prometheus-kube-prometheus-grafana-datasource。本文改的是 loki 的配置。loki 的 datasource cm 为 loki-loki-stack。
2024-08-21 14:58:12 208
原创 k8s 日志轮换问题 ReopenContainerLog from runtime service... failed Failed to rotate log for container...
这是因为 kubelet 和 docker 指定的两个关于 log 最大文件数和 单个文件最大容量的值不一样导致的。修改 kubelet 或者 docker 的配置,本文修改的是 docker 的配置。在文件 /etc/docker/daemon.json中修改如下配置。查看 /var/log/syslog 日志中有很多类似的错误如下。kubeadm 部署的 k8s 集群,版本v1.26.15。kubelet 关于这两个参数的默认值如下参考。查看 docker 配置中指定的值如下。可以看出明显配置不一致。
2024-08-21 12:20:25 113
原创 k8s rbd image replicapool/xxx is still being used
由报错 rbd image replicapool/csi-vol-6e37576b-c7cf-4e9b-a6b7-1049068cb354 is still being used 可知,rbd image 被使用中,查看是哪个客户端 ip 在使用。使用 csi-vol-6e37576b-c7cf-4e9b-a6b7-1049068cb354 后的 6e37576b-c7cf-4e9b-a6b7-1049068cb354 过滤挂载点。登录 rook-ceph 的 tool pod 操作。
2024-08-20 12:24:59 263
原创 go goroutine和channel
2.1.1 - 2.1.4 的例子注意输出的结果,出现了负数,这说明存的数超过了能保存的最大 int ,越界了。可以全部遍历取出管道内的数据,但是有个小问题,如果不关闭管道,会出现deadlock 的错误,如下。结果少了一半,因为取出一次数据,管道 len 少一个,一边取一边少,最后就少一半。又写进去一个数后,长度变成了 3 ,容量依然是 3(容量是提前定义好的)如果取出的数据多于管道中存放的数据(注意是len,不是cap),会报错。再写一个数进去后,已然超过了 intChan 这个管道的容量,会报错。
2024-08-19 18:55:29 482
原创 ansible 问题处理 AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_NOTIFY_POLICY‘
问题详细截图,查看截图中信息,可知具体问题出在文件 /usr/local/lib/python3.10/dist-packages/urllib3/contrib/pyopenssl.py 中。照着网上 pip 升级 openssl 没用。跑其他无问题的机器,发现没有这个文件。把导致这个问题的文件移走。
2024-08-12 15:56:16 970
原创 docker pull 相关配置
从 /var/log/syslog 日志可知,dokcer 拉取某层失败会重试,默认重试次数为 5 ,“max-download-attempts”: 10, 可以将失败重试次数改为 10。“max-concurrent-downloads”:30, 最多一次性拉取 30 层。“max-download-attempts”: 10, 最多重试10次。
2024-08-09 17:24:45 321
原创 Go 练习题 序列化和反序列化
当希望指定 struct 被序列化后的 key 时候,使用 struct tag 的方式(反射机制)。1.5、序列化 struct 是 tag 使用。
2024-08-06 15:07:26 356
原创 ubuntu apt 命令报错 Key is stored in legacy trusted.gpg keyring
注意告警中的这句话 Key is stored in legacy trusted.gpg,意思是存在 /etc/apt/trusted.gpg 文件中的密钥有问题。依次导出到 /etc/apt/trusted.gpg.d/ 目录下即可。我在这里创建了一个新的文件 docker.gpg,我把它命名为 docker.gpg 是因为它与我之前安装的 docker 应用有关。这将显示一个存储在你系统中的巨大的密钥列表。首先,列出所有添加到你系统中的 GPG 密钥。同理,导入其他问题密钥,文件名随意。
2024-07-30 16:53:22 401
原创 ceph官网重要摘抄
动态 重新分片功能会检测到这种情况,并自动增加存储桶索引使用的分片数量,从而减少每个分片中的条目数量。当另一个客户端需要访问相同信息时,MDS 将撤销该功能,客户端最终将返回该功能以及 inode 元数据的更新版本(如果它在拥有该功能期间对其进行了更改)。默认情况下,动态 存储桶索引重新分片只能将存储桶索引分片的数量增加到 1999,尽管此上限是一个配置参数(请参阅下面的配置)。此元数据分布策略提供了良好的层次局部性、缓存的线性增长和跨 MDS 的水平扩展,以及跨 MDS 的元数据的相当好的分布。
2024-07-19 15:20:26 1096
原创 k8s kube-proxy pod 启动失败 failed to try resolving symlinks in path ... no such file or directory
exec format error 这是镜像跟 cpu 架构不匹配导致的。由于问题容器太多,先删除一下,它会自动再启动。删除 kube-proxy pod。上问题 pod 的宿主机上执行。过滤下 proxy 相关容器。由于删除了一次,只剩两个容器。
2024-07-19 12:16:53 982
原创 mac docker no space left on device
增加 docker 虚拟磁盘大小。mac 上 docker 拉取镜像报错。
2024-07-18 11:02:41 365 3
原创 ceph mgr [errno 39] RBD image has snapshots (error deleting image from trash)
再查看 rdb task 为空,日志也就没有了告警。说明:这个知识消除了日志中的输出报错。从 trash 中恢复 image。ceph mgr 报错。
2024-07-08 19:31:07 594
原创 grafana Not saving new dashboard due to restricted database access
grafana 容器中是否存在非唯一的仪表板 uid 和 title,例如。再通过重复的 uid 718Bruins 查看是哪些 json 文件重复了。再通过重复的 uid Oxed_c6Wz 查看是哪些 json 文件重复了。根据过滤出的重复 uid 和 title 修改相应的 json 文件即可。检查 grafana 容器中是否存在非唯一的仪表板 title,例如。检查 grafana 容器中是否存在非唯一的仪表板 uid,例如。grafana 容器日志报错。上诉命令可以合在一起。
2024-06-21 15:55:19 471
原创 git使用
git删除分支1 先切换到别的分支: git checkout test012 删除本地分支: git branch -d test023 若是删除不了能够强制删除,git branch -D test024 有必要的状况下,删除远程分支:git push origin --delete test02注:上述操做是删除我的本地和我的远程分支,若是只删除我的本地,请忽略第4步。
2024-06-13 18:52:31 523
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人