第3章:Linux基础与系统初始化
说实话,很多做AI训练的朋友,一开始都栽在Linux环境上。我见过太多人,模型写得漂亮,结果连个SSH都连不上,或者权限配错了,训练跑到一半报错。嗯,这一章咱们就把这些基础打牢。
3.1 Ubuntu Server 22.04 安装要点
我个人习惯用Ubuntu Server 22.04 LTS做训练节点。为什么?稳定,驱动支持好,社区活跃。你想想看,要是装个系统三天两头出问题,哪还有心思调模型?
安装时注意几个关键点:
- 磁盘分区:建议用LVM逻辑卷管理。我在项目中遇到过,一开始分区给小了,后来数据盘不够用,只能停机扩容。用LVM的话,在线就能加空间。
- 网络配置:装完系统第一件事,配静态IP。别用DHCP,训练节点IP变了,整个集群都得跟着改配置,太折腾。
- 软件源:换成国内镜像,比如清华或阿里云。不然apt update能等半小时,急性子受不了。
3.2 SSH 配置与安全加固
SSH是咱们运维的命根子。集群里几十台机器,全靠它来管。配置不好,要么连不上,要么被黑客盯上。
先看看基本配置,编辑 /etc/ssh/sshd_config:
# 我一般这样配
Port 2222 # 改掉默认22端口,减少被扫描的概率
PermitRootLogin no # 禁止root直接登录,用普通用户+sudo
PubkeyAuthentication yes # 开启密钥登录
PasswordAuthentication no # 关掉密码登录,只用密钥
MaxAuthTries 3 # 最多试3次,防暴力破解
ClientAliveInterval 60 # 每60秒发一次心跳,防止连接断开
ClientAliveCountMax 3 # 心跳超时3次就断开
改完配置记得重启服务:sudo systemctl restart sshd
密钥登录怎么配?我习惯用ed25519算法,比RSA快,也更安全:
# 在本地生成密钥对
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "your_email@example.com"
# 把公钥传到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@server_ip
3.3 用户与权限管理
集群训练环境,用户管理特别重要。你不能让所有人都用root跑训练,万一有人误操作删了数据,哭都来不及。
我一般这样建用户:
# 创建训练专用用户
sudo useradd -m -s /bin/bash trainuser
sudo passwd trainuser
# 加到sudo组,方便临时提权
sudo usermod -aG sudo trainuser
# 设置umask,默认创建的文件不让其他人写
echo "umask 0022" >> /home/trainuser/.bashrc
权限这块,记住一个原则:最小权限原则。训练数据目录,只有训练用户和运维组能读;模型输出目录,只有训练用户能写。
| 目录 | 用途 | 推荐权限 |
|---|---|---|
| /data/training | 训练数据集 | 755 (drwxr-xr-x) |
| /data/models | 模型输出 | 700 (drwx------) |
| /data/logs | 训练日志 | 755 (drwxr-xr-x) |
3.4 关闭防火墙与SELinux
这个标题可能让安全工程师看了皱眉。但说实话,在集群训练环境里,防火墙和SELinux经常是「好心办坏事」。
为什么关?因为训练节点之间需要大量通信:
- NFS挂载数据
- MPI/RDMA通信
- 分布式训练框架(如DeepSpeed、Megatron)的节点间通信
- 监控系统采集指标
这些端口动辄几十个,防火墙规则配起来非常麻烦。而且SELinux的上下文配置,稍有不慎就导致进程无法访问文件。我见过一个团队,排查了两天训练报错,最后发现是SELinux拦了NFS挂载。
关闭方法很简单:
# 关闭防火墙
sudo ufw disable
sudo systemctl stop ufw
sudo systemctl disable ufw
# 关闭SELinux(临时)
sudo setenforce 0
# 永久关闭SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
3.5 本章知识体系
下面这张图,是我梳理的本章核心逻辑。你看一遍,基本就知道初始化一台训练节点要做什么了。
嗯,这一套流程走下来,你的训练节点就算初始化好了。别嫌麻烦,基础打牢了,后面集群搭建才顺风顺水。我当年第一次搭集群,就是图省事跳过了这些步骤,结果后面补坑补了三天。
想要更多资料,联系可可