Linux 强制重启

当系统无法使用 shutdown reboot 无法使用的是清空下,我们需要使用另外一种方式进行重启。

1
2
echo 1 > /proc/sys/kernel/sysrq  
echo b > /proc/sysrq-trigger

1./proc/sys/kernel/sysrq
向 sysrq 文件中写入1是为了开启 SysRq 功能。根据 linux/Documentations/sysrq.txt 中所说:SysRq 代表的是 Magic System Request Key。开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作。但是这需要内核支持(CONFIG_MAGIC_SYSRQ 选项)。向 /proc/sys/kernel/sysrq 中写入0是关闭 SysRq 功能,写入1是开启,其他选项请参考 sysrq.txt。

2./proc/sysrq-trigger
立即重新启动计算机:
echo “b” > /proc/sysrq-trigger

Read More

kubernetes network troubleshooting

API 无法访问其他服务

最近安装了一个 kube 但是 api server,但是无法访问 mertics server 等组件,经排查

  • api server 运行在 master 节点上

  • 其他 组件运行在 worker 节点上
    核心原因是因为 flannel 打开了 DirectRouting 选项,导致了将宿主机网卡作为 host-gw 直接将 二层 数据包转发出去,并没有进行封装,在云上的网络(火山引擎)禁止此转发行为,表现为

Read More

Seal VPN Not Working in ubuntu 18+

1
2
3
4
5
6
7
8
Ubuntu18以上无法访问网络的解决办法
Ubuntu 18.04 以后,系统预设安装 systemd-resolved,劫持了 /etc/resolve.conf
用 symbolic link 指向 /run/systemd/resolve/stub-resolv.conf
NetworkManager 发现 /etc/resolv.conf 为 symbolic-link, 会忽略我们使用 dnsmasq 的要求。
解法:
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf # manually delete the /etc/resolv.conf
sudo systemctl reload NetworkManager # NM will regenerate /etc/resolv.conf

构建与调试 Linux 内核

Linux Kenrel

1
2
wget http://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v4.x/linux-4.19.171.tar.gz
tar -xvf linux-4.19.171.tar.gz

Install Build

1
apt-get install -y libncurses5-dev libssl-dev bison flex libelf-dev gcc make openssl libc6-dev bc

CP Old Config

1
2
3
4
cp /boot/config-4.19.0-14-amd64 .config
make oldconfig
# for debian
sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config

Read More