Funk-lab/admin/systeme.md
alkatrazz a1826fe339 docs: gestion cluster + script funk-cluster mis à jour
- admin/cluster.md : nouveau guide démarrage/arrêt (funk-start/stop/--k8s)
- admin/README.md : lien vers cluster.md
- admin/systeme.md : services llama-server mis à jour (GPU + 2 CPU)
- ansible/roles/litellm/files/funk-cluster : script versionné
  (talosctl fix, storage-01 shutdown, --k8s optionnel, stop timeout)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 02:11:21 +02:00

2.8 KiB

Système — AlmaLinux 9

Commandes générales applicables sur storage-01 et gpu-01.


Services systemd

# Statut d'un service
sudo systemctl status <service>

# Démarrer / arrêter / redémarrer
sudo systemctl start <service>
sudo systemctl stop <service>
sudo systemctl restart <service>
sudo systemctl reload <service>   # rechargement config sans coupure

# Activer / désactiver au démarrage
sudo systemctl enable <service>
sudo systemctl disable <service>

# Lister tous les services actifs
sudo systemctl list-units --type=service --state=running

Services clés par machine

Machine Service Rôle
storage-01 nftables Firewall + NAT masquerade cluster → WAN
storage-01 dnsmasq DNS local lab.local
storage-01 chronyd NTP
storage-01 sshd SSH
storage-01 hermes-agent Agent IA (gateway + cron)
gpu-01 chronyd NTP
gpu-01 sshd SSH
gpu-01 llama-server Inférence GPU — Qwen3-8B via ROCm 7.x (port 1234)
gpu-01 llama-server-system Inférence CPU — Qwen3-1.7B (port 1236, 14 threads)
gpu-01 llama-server-monitor Inférence CPU — Qwen3-1.7B (port 1237, 14 threads)

Logs

# Logs d'un service en temps réel
sudo journalctl -u <service> -f

# Logs depuis X minutes
sudo journalctl -u <service> --since '30 minutes ago'

# Logs kernel (erreurs matériel, OOM killer...)
sudo journalctl -k

# Logs du démarrage
sudo journalctl -b

Ressources système

# CPU / RAM / swap
free -h
top
htop   # plus lisible (installé via EPEL)

# Disques
df -h
lsblk

# Processus gourmands
ps aux --sort=-%mem | head -10
ps aux --sort=-%cpu | head -10

Réseau (NetworkManager)

# Lister les connexions
nmcli con show

# Détails d'une interface (IP, DNS, gateway)
nmcli dev show enp4s0

# Modifier le DNS d'une interface
sudo nmcli con mod enp4s0 ipv4.dns '192.168.10.1'
sudo nmcli con up enp4s0

# Voir le resolv.conf généré
cat /etc/resolv.conf

Mises à jour

# Voir les mises à jour disponibles
sudo dnf check-update

# Appliquer les mises à jour via Ansible (recommandé — reboot automatique si nouveau kernel)
cd /mnt/nvme0n1/nvme0n1p3/Projets/lab/ansible
../.venv/bin/ansible-playbook -i inventory.yml playbooks/site.yml --tags update

# Manuellement sur une machine
sudo dnf update -y

Attention post-reboot RAID5 : vérifier que dnsmasq est démarré (systemctl status dnsmasq). Si failed, voir admin/dnsmasq.md. Les .pyc Python peuvent être corrompus sur reboot non-propre — symptôme : bad marshal data dans les logs d'une app Python.


Infos système rapides

# Version OS
cat /etc/os-release

# Hostname
hostname

# Uptime
uptime

# Infos CPU
lscpu | grep -E "Model name|Socket|Core|Thread"

# RAM totale
free -h | head -2