Q1:yum仓库报错,提示无法从 /var/lib/rpm 打开软件包数据库

问题描述

[root@VM-4-12-centos ~]# yum update
错误:db5 错误(11) 来自 dbenv->open:资源暂时不可用
错误:无法使用 db5 - 资源暂时不可用 (11) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed

原因

误操作导致rpm数据库损坏

解决

刪除/var/lib/rpm/_db.*,然后rebuilddb

[root@VM-4-12-centos ~]# cd /var/lib/rpm
[root@VM-4-12-centos rpm]# rm -rf _db.*
[root@VM-4-12-centos rpm]# rpm --rebuilddb

Q2:frp 穿透不上

问题描述

[root@VM-4-12-centos frp-opi-wp]# ./frps -c frps.toml
2024/01/23 21:51:18 [I] [root.go:104] frps uses config file: frps.toml
2024/01/23 21:51:18 [I] [service.go:225] frps tcp listen on 0.0.0.0:7000
2024/01/23 21:51:18 [I] [root.go:113] frps started successfully
2024/01/23 21:51:26 [I] [service.go:563] [315e3525738f8c2b] client login info: ip [124.23.134.193:2449] version [0.53.2] hostname [] os [linux] arch [arm64]
2024/01/23 21:51:46 [I] [control.go:359] [315e3525738f8c2b] client exit success
2024/01/23 21:51:49 [I] [service.go:563] [fa610981038e4f2e] client login info: ip [124.23.134.193:2452] version [0.53.2] hostname [] os [linux] arch [arm64]
2024/01/23 21:53:12 [I] [control.go:359] [fa610981038e4f2e] client exit success
2024/01/23 21:54:00 [I] [service.go:563] [e82f6daa8dd087ab] client login info: ip [124.23.133.67:57501] version [0.53.2] hostname [] os [linux] arch [arm64]
# 未显示代理信息

原因

frpc.toml中代理名被改变

值得注意的是,在0.53.2版本中的配置文件已经使用了.toml,而不是以前的.ini

解决方案

这个[[proxies]]一定不能更改,通过name变量来命名

20240123-222152

穿透成功服务端日志

[root@VM-4-12-centos frp-opi-wp]# ./frps -c frps.toml
2024/01/23 21:56:35 [I] [root.go:104] frps uses config file: frps.toml
2024/01/23 21:56:35 [I] [service.go:225] frps tcp listen on 0.0.0.0:7000
2024/01/23 21:56:35 [I] [root.go:113] frps started successfully
2024/01/23 22:00:08 [I] [service.go:563] [cfa62ad515ec4c40] client login info: ip [124.23.134.193:2457] version [0.53.2] hostname [] os [linux] arch [arm64]
2024/01/23 22:00:50 [I] [control.go:359] [cfa62ad515ec4c40] client exit success
2024/01/23 22:11:24 [I] [service.go:563] [301af5cc896139a2] client login info: ip [124.23.133.67:57505] version [0.53.2] hostname [] os [linux] arch [arm64]
2024/01/23 22:15:27 [I] [control.go:359] [301af5cc896139a2] client exit success
# 可以注意到有[ssh]出现了
2024/01/23 22:16:29 [I] [service.go:563] [399ffe49d60af967] client login info: ip [124.23.133.67:57508] version [0.53.2] hostname [] os [linux] arch [arm64]
2024/01/23 22:16:29 [I] [tcp.go:82] [399ffe49d60af967] [ssh] tcp proxy listen port [6000]
2024/01/23 22:16:29 [I] [control.go:401] [399ffe49d60af967] new proxy [ssh] type [tcp] success
2024/01/23 22:16:44 [I] [proxy.go:204] [399ffe49d60af967] [ssh] get a user connection [124.221.233.12:47008]
2024/01/23 22:21:12 [I] [proxy.go:115] [399ffe49d60af967] [ssh] proxy closing

Q3:Kubernetes强制删除处于Terminating状态的namespace

Q4:旧版NFS配置StorageClass的SelfLink问题

问题描述:

使用NFS配置StorageClass时,你可能会遇到这样的问题。

在创建pvc指定storageClass为NFS时,pvc一直处于pending状态。
查看nfs-storage的pod提示

68cc3d2d1916d49007eb4b16300af48e

根据网上的提示

修改/etc/kubernetes/mainfestes/kube-apiserver.yaml,在command字段下添加--feature-gates=RemoveSelfLink=false

59082ac86d9655f3edb3652f973786bb

但是提示禁止修改,有时还会造成集群失联(慎重apply!将原先添加的字段删除等一段时间可以恢复)

如何可以正常使用?似乎是与K8s版本相关。

环境:

Kubernetes单节点,版本v1.25.0

原因:

img_v3_02ap_63cb6506-9b5b-4018-93bb-0c3b656bacfg

解决:

安装支持nfs-subdir-external-provisioner的NFS

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner

helm update

helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner

# 改镜像、加NFS服务器地址、加共享目录路径、设置默认SC(可选)
helm install nfs nfs-subdir-external-provisioner/nfs-subdir-external-provisioner -f values.yaml -n nfs-sc

Q5:docker无法创建容器

问题描述

docker无法创建新的容器

failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply cgroup configuration: unable to start unit "docker-a894cd187acfb351f1d43246680a644054604ab292c2cbf04847567d351a31c6.scope" (properties [{Name:Description Value:"libcontainer container a894cd187acfb351f1d43246680a644054604ab292c2cbf04847567d351a31c6"} {Name:Slice Value:"system.slice"} {Name:Delegate Value:true} {Name:PIDs Value:@au [2919971]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Failed to activate service 'org.freedesktop.systemd1': timed out (service_start_timeout=25000ms): unknown ERROR: Service 'ferry' failed to build : Build failed

原因:

报错提到 unable to apply cgroup configuration

应该是与cgroup有关

docker可能默认使用cgroup v2,而cat /proc/cgroup后显示

root@master1:~/yiiong/ferry# cat /proc/cgroups
#subsys_name hierarchy num_cgroups enabled
cpuset 0 154 1
cpu 0 154 1
cpuacct 0 154 1
blkio 0 154 1
memory 0 154 1
devices 0 154 1
freezer 0 154 1
net_cls 0 154 1
perf_event 0 154 1
net_prio 0 154 1
hugetlb 0 154 1
pids 0 154 1
rdma 0 154 1
misc 0 154 1

所有子系统的 hierarchy 列值都是 0,并且每个子系统都有独立的条目。这表明系统使用的是 cgroups v1,而不是 cgroups v2。

在 cgroups v2 中,所有子系统会统一在一个层级中管理,而不会分别列出。

解决:

/etc/docker/daemon.json中添加

{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}

使docker使用cgroup v1