ceph osd add/rm-noout 导致 rbd 内核客户端 IO 卡住
最近在 Ceph 集群升级时发现一个奇怪的现象,服务端升级正常完成之后,所有的内核态 rbd 客户端的 IO 都卡住了,简单分析原因如下。 测试环
2020-03-17   schedule 7 min 52 s  
内核模块中使用本地头文件
将 Linux 内核源代码树中的驱动模块代码挪到独立的工程中进行构建时,有时候需要涉及到对内核头文件的修改。虽然可以通过在 Makefile 中增加 ccflags-y
2020-03-09   schedule 5 min 30 s  
Cinder RBD 驱动协程
最近在定位一个 Cinder 批量创建 Ceph 后端云盘耗时长的问题,其实严格来说不是绝对时间过长,而是社区原生 RBD 驱动相比 RESTful 接口封装的驱动要慢
2020-02-26   schedule 6 min 36 s  
Linux CPU iowait
通过 top 可以查看当前系统的负载情况: $ top top - 14:41:06 up 20:13, 2 users, load average: 0.17, 0.33, 0.34 Tasks: 321 total, 2 running, 254 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.4 us, 0.7 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB
2020-01-15   schedule 4 min 41 s  
监听状态 UDP socket
使用 ss 命令(或者类似的工具 netstat)查看 UDP socket 信息时,如果使用 -l 选项,我们可能会看到很多处于“监听状态”的 UDP sock
2020-01-06   schedule 10 min 55 s  
在 Win7 上安装 OpenSSH
很多时候 Windows 只是用来作为跳板机使用,我们真实需要访问的目的机器实际上是 Linux 机器,如果使用远程桌面来访问 Windows 机器,然后再用 putty 之类
2020-01-06   schedule 8 min 29 s  
conntrack
启用 conntrack 启用 conntrack(如果使用 iptables 用到了 conntrack 相关的模块,则会自动加载该内核模块): # modprobe nf_conntrack_ipv4 查看连接信息 # cat /proc/net/nf_conntrack ipv4 2 tcp 6 431999
2020-01-04   schedule 2 min 37 s  
Linux socket 实现
tcp/ip init // net/ipv4/af_inet.c inet_init proto_register(&tcp_prot, 1) proto_register(&udp_prot, 1) proto_register(&raw_prot, 1) proto_register(&ping_prot, 1) sock_register(&inet_family_ops) // register in inet_protos[MAX_INET_PROTOS] // used for l4 packet receiving, i.e., ip_rcv_finish and ip_local_deliver_finish inet_add_protocol(&icmp_protocol, IPPROTO_ICMP) inet_add_protocol(&udp_protocol, IPPROTO_UDP) inet_add_protocol(&tcp_protocol, IPPROTO_TCP) for (q = inetsw_array; q < &inetsw_array[INETSW_ARRAY_LEN]; ++q) // register in inetsw[SOCK_MAX] // used for socket creation, i.e., inet_create inet_register_protosw(q) arp_init() ip_init() tcp_v4_init() // init tcp_hashinfo.listening_hash
2020-01-03   schedule 6 min 6 s  
SELinux CIL
SELinux CIL (Common Intermediate Language) 是编写 SELinux 模块新的中间层语言。 要求 libsepol 的版本大于 2.4: $ rpm -qi libsepol Name : libsepol Version : 2.5 Release : 10.el7 Architecture: x86_64 Install Date: Sat 29 Jun 2019 05:27:14 PM CST Group : System Environment/Libraries Size
2020-01-02   schedule 3 min 13 s  
TCP 客户端卡住导致的接收队列报文积压
遇到了一个使用 glance 命令行工具下载镜像卡住的问题,镜像下载一部分之后就莫名其妙的卡住了,通过分析之后发现了两个问题。 问题一 一
2019-12-29   schedule 6 min 39 s