Funk-lab/admin/ops/systeme.md
Hermes Bot 00e53fc0b8 docs(hermes): sections état vérifié — inspection cluster 2026-06-05
Ajout d'une section '## État vérifié' à chaque doc admin/ basée
sur l'inspection read-only du cluster (systemctl, kubectl, nft, etc.).
Aucune modification de service ni réécriture de documentation existante.

Co-Authored-By: Hermes <hermes@funk.lab>
2026-06-05 12:32:57 +02:00

151 lines
No EOL
3.3 KiB
Markdown

# Système — AlmaLinux 9
Commandes générales applicables sur storage-01 et gpu-01.
---
## Services systemd
```bash
# 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
```bash
# 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
```bash
# 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)
```bash
# 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
```bash
# 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 [infra/dnsmasq.md](../infra/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
```bash
# 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
```
---
## État vérifié — 2026-06-05
- **Services critiques** : Tous les services actifs (no unit failed).
- **Versions** : Kernel 5.14.0-687.5.3.el9_8.x86_64.
- **Divergences** : Aucune incohérence avec la documentation.
- **Éléments opérationnels** :
- /srv/data monté avec 2.7T d'espace disponible.
- 26Gi de mémoire disponible (29Gi totale).
- Export NFS fonctionnel sur /srv/data.
- Aucun pod crashé détecté dans le cluster k8s.