随笔1
1 .zookeeper 启动失败原因分析
a. 内存不足,看日志 ,can not allocate memory
b. zk log 日志 有大小为 0 的,清除。
c.
2. docker 相关
ls /var/lib/docker/ 下的所有数据都是就的docker 的,所以如果删除了旧的docker, 就可以 把这个目录 全删了,如果没删除,可能会导致docker 进程起不来 或者 新docker 创建失败,
手动执行 /usr/lib/systemd/system/docker.service 文件中的docker 启动进程,看报什么错
dm-0 lvs 类似的逻辑卷的uuid 存储在 /var/lib/docker/devicemapper/metadata/deviceset-metadata 文件中,文件存在,dm-0 不存在
3. 网卡相关
ip addr del 10.36.203.21/8 dev bond1:1
ip addr add 192.168.0.71/24 dev br0
ifconfig bond1:1 10.36.203.21 netmask 255.255.255.0
4. awk 相关
BEGIN END 用法举例
cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
格式
\t 空格 \n 换行 print 换行 printf 不换行搜索支持正则,例如找root开头的: awk -F: '/^root/' /etc/passwd 搜索 正则搜索, // 匹配
自定义变量 -v arg1=
awk -v time=2019-03-06 -v cluster=HATS_3956 'BEGIN{sum=0;count=0}$3==cluster && $1==time{sum=sum+$NF;count++}END{if(count != 0){printf "%d\n",sum/count}else{printf "0"}}' /data/proclog/monitor/count_channels_num.log
for 循环
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' a
gsub
awk '$1~/cache_rs_d_HATS2193/{$1="";gsub(/^ */,"",$0); print $0}' /etc/ipvs/conf/ipvs.conf|awk '{gsub(/ /,"_",$0);print $0}'
变量匹配
ctrl+b\f 向上\下滚动一屏 这个比较实用,记住。
ctrl + e/y 一行
33G:跳转到33行
G 尾行 gg 首行
d$:删除当前光标到行尾 d^:删除当前光标至行首
e E 单词或段的尾部, b B 单词或段的 首部 , 大小写对应为单词来说意义一样,但对非标准英文单词,如主机名等,会有区别
:set list 显示结束符和 tab 隐藏字符。
Ctrl+G:显示当前位置
x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x
H、M、L分别移动到屏幕的顶部、中间和尾部。
7 . 看core 文件
gdb core-filename
8. 网卡bond 绑定
配置文件如下:
ONBOOT yes no 开机是否启动网卡服务
BOOTPROTO static dhcp 静态网卡还是dhcp
TYPE ethernet 以太网 BRIDGE 桥接模式
mode =0 模式 轮询 ,1 主备
milion =100 ,检查间隔,100ms
更改bond 绑定 需要重启 机器生效, 新建不确定。
查看
9 .traceroute ,arping , mtr
arping arp ping ,检查目标IP的mac 地址。
ping ICMP全名为(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。
fping -g 检查网段 存活情况
fping -g 221.204.172.200/25
traceroute 查路由, *** 可能表示 屏蔽路由了,
mtr 查到哪一路丢包
tcpdump 抓包
tcpdump -i bond0 网卡 any 所有
-n 主机名转化成ip -nn 主机名和端口都用数字表示
-t 屏蔽时间 -w 输出到文件
10 : curl
curl -w "status:%{http_code}\n"
默认请求内容输出到屏幕 , -o 输出重定向, 可以直接请求https
-L 跟随链接重定向 -X 请求方式 POST
-d 发送 POST 请求 , 如下 加i 看 详情
curl -H "Content-type:Application/json" -d '{"hostname": "CNC-WV-b-D40", "result": {"hostname": "hostname", "network": [{"DEVICE": "bond0", "IPADDR": "1.1.1.1"}, {"DEVICE": "bond1", "IPADDR": "10.11.100.32"}], "service_tag": "060580bD40"}}' "url"
-H 自定义 header
常用选项 curl -Lsvo /dev/null -x ip:80
-i 响应头和内容
11 .rz 传输失败 ,加 -e Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
-b binary 二进制传输
用 rz -e or rz -be
12. ps -eo 自定义输出, lstart 进程启动时间,etime 进程运行时间,
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
13 date
date -d "30 minutes ago" 显示30分钟之前的时间
%R H:M
%S 显示s
date +%s 输出时间戳
date -d @123 时间戳转可读格式
date +%s -d "2011-01-01 10:10:10"
date +%F-%T
date +%D:%T
14 SNI server name indication
支持实现虚拟主机的 443 连接
访问过程 : tcp 3次建联, client hello , 发送请求主机名,协商加密协议等。 server hello ,返回协商结果,确定加密协议和 套件等,验证主机名。 证书校验。 确定加密的密钥 。 握手结束。 加密通信。
参考: https://blog.csdn.net/makenothing/article/details/53292335
1.
Structure needs cleaning
xfs_repair -L 慎用
2. journalctl -e end -r reverse -u user
3. docker 挂载
/dev/dm-1 15G 3.0G 13G 20% /var/lib/docker/devicemapper/mnt/6122d872d659f8918095a1ba73eea4b5429b356e27fa58f73e6504451074e2b7
lrwxrwxrwx 1 root root 7 May 24 15:54 /dev/mapper/docker-8:2-7611172-4617ca811e46fe0bdc3e3d792c42783b0b5ed406d2fafeddbfc54c94ce072e9f -> ../dm-1
手动挂载
4 . sudo 相关
把用户属组更改,对相应的数组设备
sudo su - 提示失败 ,查 sudo 命令的权限,u+s 才做,给用户 属主的权限
5 . ipvs 相关
ipvsadm -Lnc 查当前的链接详情
-ln --rate 链接速度
-ln --stats 链接总量
ipvsadm -ln 显示的size 值 有时候小,扩大,通过 载入模块实现,用 insmod 跟绝对路径实现载入
rmmod 删除 模块
lsmod 查看载入模块
相同功能有modprobe
modprobe -l 显示 -a 加载 -r remove
ipvs+ ospf
vip 不通:
1. 查看vtysh 里邻居是否正常建立,标志 full init
2. ospf 配置文件里是否配置,服务是否启动,/etc/quaage/ospfd.conf systemctl status ospfd
3. 查 /etc/system.conf 的模块 ????
4. ip 是否可用,可临时配置测试。
b. real -server 是否在回环口配置vip
c. vip ping 没问题,但访问时通时不通
1. ipvs 设备管理ip 与 real-server ip 有的不在同一网段内,转发失败, 二层 mac
2, 交换机 hash 模式错误,同一个请求, 请求包分别指向不通的lvs 机器 。
3. real-server ip 配到了 lvs 的bond1 上,当成了ospf ip 用。
d, lvs 三线ip 可实现 节省ip 资源
e, ipvs 管理规则 和 所配置的不一致, 可能是 存在ipvsadm store
f , 今天碰到一个 由原先的 3台机器组成的lvs 集群 改成2台机器组成的集群, 出现vip 访问时通时不通的问题,
原因: 原先的第三台设备的ospf 服务正常启动, vip 在配置文件里没清除,因此会访问到, 但ipvsadm 无后端配置,直接提示 could not connect to host
ospfd 和 zebra 命令 均来自 quagga 安装包,
6.14
升级CCTS 服务 清盘后发现节点带宽突然掉量,查状态码正常,机器无异常报警,除了入带宽增加外,which is normal ,
原因: 入带宽 有限制, 回源拉数据慢, 响应慢,堵塞, 导致出带宽 降低 ,后来 逐步放开限制后, 带宽恢复。
6.26
机器打bond, 交换机无配置,报错如下:
[Wed Jun 26 14:13:46 2019] bond1: received packet on bond3 with own address as source address (addr:4a:81:66:6d:4e:f1, vlan:0)
6.26
refresh 服务起来了,端口也监听起来了,但 测试端口不通, 机器其他端口都测试正常 , 查看日志报如下错误,查看服务进程发现,除主进程外,无work 进程生成,
2019/06/24 12:41:44 [alert] 657#0: worker process 658 exited with fatal code 2 and cannot be respawned
原因: 看日志 有报错 2019/06/24 12:41:44 [alert] 662#0: chdir("/data/proclog/log/refreshd/core_file/") failed (2: No such file or directory)
无 core 目录