mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 23:54:43 +02:00
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>
124 lines
No EOL
3.2 KiB
Markdown
124 lines
No EOL
3.2 KiB
Markdown
# NFS — Commandes d'administration
|
||
|
||
Le RAID5 `md127` (4×1 TB = 2.7 TB utiles) est monté sur **storage-01** à `/srv/data`
|
||
et exporté en NFS vers le LAN cluster (`192.168.10.0/24`).
|
||
|
||
---
|
||
|
||
## Côté serveur (storage-01)
|
||
|
||
```bash
|
||
# État du RAID
|
||
sudo mdadm --detail /dev/md127
|
||
cat /proc/mdstat
|
||
|
||
# Exports actifs
|
||
sudo exportfs -v
|
||
|
||
# Recharger les exports après modification de /etc/exports
|
||
sudo exportfs -ra
|
||
|
||
# Statut NFS
|
||
sudo systemctl status nfs-server
|
||
```
|
||
|
||
### Arborescence du RAID
|
||
|
||
```
|
||
/srv/data/
|
||
├── nfs/
|
||
│ └── k8s/ → export pour le NFS provisioner Kubernetes
|
||
├── models/ → modèles GGUF partagés (gpu-01 monte ce répertoire via NFS)
|
||
├── hermes/ → données persistantes Hermes Agent (à venir)
|
||
├── postgres/ → données PostgreSQL (à venir)
|
||
├── qdrant/ → données Qdrant (à venir)
|
||
└── minio/ → données MinIO (à venir)
|
||
```
|
||
|
||
### Exports (`/etc/exports`)
|
||
|
||
```
|
||
/srv/data/nfs/k8s 192.168.10.0/24(rw,sync,no_subtree_check,no_root_squash)
|
||
/srv/data/models 192.168.10.0/24(rw,sync,no_subtree_check,no_root_squash)
|
||
```
|
||
|
||
---
|
||
|
||
## Côté client (gpu-01)
|
||
|
||
```bash
|
||
# État des automounts
|
||
sudo systemctl status mnt-nfs.automount
|
||
sudo systemctl status mnt-models.automount
|
||
|
||
# Monter manuellement (debug)
|
||
sudo mount -t nfs -o nfsvers=4 192.168.10.1:/srv/data/nfs/k8s /mnt/nfs
|
||
|
||
# Vérifier les montages actifs
|
||
mount | grep nfs
|
||
df -h /mnt/nfs /mnt/models
|
||
```
|
||
|
||
### Comportement automount (extinctions fréquentes)
|
||
|
||
Les montages NFS sur gpu-01 utilisent `x-systemd.automount` :
|
||
- **Pas montés au boot** — montés uniquement au premier accès
|
||
- Si storage-01 est éteint au moment du boot → gpu-01 démarre normalement
|
||
- Au premier accès → montage déclenché (timeout 30 s)
|
||
- `soft` + `timeo=30` + `retrans=3` → jamais bloquant si le serveur est injoignable
|
||
|
||
---
|
||
|
||
## Modèles GGUF sur NFS
|
||
|
||
```bash
|
||
# Les modèles sont montés directement sur gpu-01
|
||
ls /mnt/models/
|
||
# → bartowski/
|
||
# → lmstudio-community/
|
||
|
||
# Ajouter un modèle (depuis gpu-01 — sera stocké directement sur NFS)
|
||
ssh g01 "lms get <modele>"
|
||
```
|
||
|
||
---
|
||
|
||
## Ajouter un nouveau répertoire partagé
|
||
|
||
1. Créer le répertoire sur storage-01 :
|
||
```bash
|
||
sudo mkdir -p /srv/data/<nom>
|
||
sudo chown <uid>:<gid> /srv/data/<nom>
|
||
```
|
||
|
||
2. Ajouter dans `host_vars/storage-01/vars.yml` :
|
||
```yaml
|
||
nfs_exports:
|
||
- path: /srv/data/<nom>
|
||
network: "{{ cluster_network }}"
|
||
options: "rw,sync,no_subtree_check,no_root_squash"
|
||
```
|
||
|
||
3. Ajouter le montage client dans `host_vars/<host>/vars.yml` :
|
||
```yaml
|
||
nfs_client_mounts:
|
||
- local_path: /mnt/<nom>
|
||
remote_export: /srv/data/<nom>
|
||
```
|
||
|
||
4. Appliquer :
|
||
```bash
|
||
ansible-playbook -i inventory.yml playbooks/storage-01.yml
|
||
ansible-playbook -i inventory.yml playbooks/<host>.yml
|
||
```
|
||
|
||
|
||
---
|
||
|
||
## État vérifié — 2026-06-05
|
||
- Service `nfs-server` actif (exécuté depuis 3 jours)
|
||
- Export NFS configuré :
|
||
`/srv/data/nfs/k8s` → `192.168.10.0/24` (sync, rw, no_root_squash)
|
||
`/srv/data/models` → `192.168.10.0/24` (sync, rw, no_root_squash)
|
||
- Aucune divergence avec la documentation existante
|
||
- Configuration stable, aucun élément opérationnel critique observé |