分类 综合 下的文章

1 背景

实验室服务器经常有人提交大量任务,导致内存占满后系统卡死,不得不重启。通过使用earlyoom在内存耗尽前查杀大内存进程,避免系统崩溃。

2 做法

1、安装earlyoom

sudo apt install earlyoom

2、编辑配置文件

sudo vim /etc/default/earlyoom

将其中Available minimum memory部分修改为EARLYOOM_ARGS="-m 6,5 -s 100,100",表示内存余量低于5%就查杀大内存进程,同时忽略swap的占用情况。

# Default settings for earlyoom. This file is sourced by /bin/sh from
# /etc/init.d/earlyoom or by systemd from earlyoom.service.

# Options to pass to earlyoom
EARLYOOM_ARGS="-r 3600"

# Examples:

# Print memory report every second instead of every minute
# EARLYOOM_ARGS="-r 1"

# Available minimum memory 5%
# EARLYOOM_ARGS="-m 5"
EARLYOOM_ARGS="-m 6,5 -s 100,100"
# Available minimum memory 15% and free minimum swap 5%
# EARLYOOM_ARGS="-m 15 -s 5"

# Avoid killing processes whose name matches this regexp
# EARLYOOM_ARGS="--avoid '(^|/)(init|X|sshd|firefox)$'"

# See more at `earlyoom -h'
3、重启服务

sudo systemctl restart earlyoom

## 注意

1 背景

服务器经常遇到恶意爆破。使用fail2ban自动封禁多次密码输入错误的IP,降低服务器被攻破的风险。

2 做法

1、安装fail2ban。

sudo apt update
sudo apt install fail2ban

2、配置fail2ban

sudo vim /etc/fail2ban/jail.local

然后输入以下内容:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 10  # findtime时间内最大尝试次数
bantime = 86400  # 超过最大尝试次数后封禁时间,以秒为单位
findtime = 600  # 设置监测时间,以秒为单位。600表示统计连续10分钟内密码输入错误的次数

3、重启fail2ban

sudo systemctl restart fail2ban

4、查看状态

sudo fail2ban-client status sshd

注意

如果不正正常运行,执行以下命令

sudo apt-get update && sudo apt-get install -y rsyslog  # Debian/Ubuntu
sudo systemctl enable --now rsyslog
# 等 1~2 分钟让日志开始写入,再继续

然后再次重启fail2ban即可恢复正常。

1 背景

ssh服务默认端口为22,经常被攻击。通过修改端口,一定程度上减轻对服务器被攻破的风险。

2 做法

1、运行以下命令备份sshd服务配置文件。

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

2、修改sshd服务的端口号。
运行以下命令编辑sshd_config配置文件。

sudo vim /etc/ssh/sshd_config

将其中的Port 22注释掉,改为Port 1234
3、重启ssh服务。

sudo systemctl restart sshd

3 注意

为了防止意外,务必在确认能够使用新端口连接后,再关闭当前的远程连接,以免造成无法远程连接的意外。

背景

screen是常用的会话管理工具,然而已经过时,在RHEL中甚至不再提供。tmux是更现代化的会话管理工具,因此决定从screen迁往tmux。下面记录基本的常用操作。

常用操作

1、新建会话

tmux new -s session_name

2、开始记录日志

script -f file_name

3、断开会话

先按ctrl+b,然后再按d

4、返回会话

tmux attach -t session_name

5、查看已经存在的会话

tmux ls

6、向上翻阅日志

先按ctrl+b,然后按[

7、取消翻阅日志

按下ESC键或者q键

8、tmux前缀

ctrl+b

9、上下切分窗格

先按前缀键,然后再按引号

10、左右切分窗格

先按前缀键,再按百分号键

11、退出窗格

先按前缀键,然后x
或者直接ctrl+D

12、退出窗口

先按前缀键,然后再按&
或者直接ctrl+D

1 硬件配置

使用学校的集群,相关配置如下:
CPU:鲲鹏920
NPU:昇腾910B
操作系统:openEuler 22.03

2 安装版本

根据昇腾官方gitee上的信息,Pytoch 2.1.0是长期支持版本,因此选择安装这一版本,从而最大限度避坑。
本教程选择的版本如下:
Python:3.9
Pytorch:2.1.0
选择依据:
1.PNG
2.PNG
参考链接:https://gitee.com/ascend/pytorch

3 安装步骤

1、新建conda环境。

conda create -n pytorch python=3.9

2、在新建好的conda环境中,安装基础的依赖。

pip install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user

参考链接:
https://www.hiascend.com/document/detail/zh/canncommercial/80RC3/softwareinst/instg/instg_0006.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit
3、安装Pytoch

wget https://download.pytorch.org/whl/cpu/torch-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=de7d63c6ecece118684415a3dbd4805af4a4c1ee1490cccf7405d8c240a481b4

在上面建好的环境中pip install下载好的包。
4、安装pytorch-npu
方法一:手动查找对应关系。
首先确定自己的CANN版本。如果不知道用的是哪一个CANN,可以先Python一下,import torch这个包,然后看告警信息是哪个版本的。
确定好CANN版本后,从下表中手动查找对应的torch_npu版本。
3.PNG
方法二:自动匹配。
从以下网站,根据匹配结果下载:https://www.hiascend.com/developer/download/community/result?module=pt+cann&pt=6.0.RC3.beta1&cann=8.0.RC3.beta1
下载好指定版本后,使用pip install安装下载好的包即可
5、测试。
使用以下命令测试,如果正常输出结果,说明环境搭建成功。

python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"

结果如下:
4.PNG