8.6 KiB
8.6 KiB
Cas d'usage et Best Practices - Disques et Partitions
📌 Cas d'usage principaux
1. Monitoring des espaces disque
Contexte: Un administrateur système veut surveiller l'espace disponible
Workflow:
- Se connecter à InnotexBoard
- Cliquer sur "💾 Disques et Partitions"
- Observer les barres de progression
- Identifier les disques proches de saturation (rouge > 90%)
- Agir avant que le disque ne soit plein
Bénéfice: Prévention de l'arrêt du système due à manque d'espace
2. Identification des goulots d'étranglement
Contexte: Déterminer quel disque/partition cause un problème de performance
Workflow:
- Observer le taux d'utilisation de chaque partition
- Identifier les partitions à 75-90% (zone orange)
- Vérifier quelles applications l'utilisent
- Planifier une augmentation de capacité
Bénéfice: Prévention de dégradation de performance
3. Vérification après déploiement
Contexte: Confirmer que les disques ont été provisionnés correctement
Workflow:
- Après un déploiement ou mise en place de nouveau matériel
- Accéder à la page Disques et Partitions
- Vérifier que les disques sont présents et visibles
- Confirmer que les points de montage sont corrects
- Valider les tailles configurées
Bénéfice: Vérification rapide sans SSH
4. Reporting et audit
Contexte: Générer un rapport sur l'utilisation des disques
Workflow:
- Prendre une capture d'écran de la page
- Exporter les données (possible implémentation future)
- Inclure dans un rapport mensuel
- Identifier les tendances
Bénéfice: Documentation pour les audits de conformité
5. Diagnostic d'incident
Contexte: Investiguer pourquoi un service a arrêté
Workflow:
- Un service a crashé
- Ouvrir InnotexBoard
- Vérifier si un disque est saturé (100%)
- Confirmer que ce n'est pas la cause
- Investiguer ailleurs
Bénéfice: Elimination rapide d'une cause commune
✅ Best Practices
Pour les administrateurs
1. Surveillance régulière
Fréquence recommandée: Quotidienne
- Vérifier les disques en orange (75-90%) le matin
- Identifier les tendances de croissance
- Prévoir les augmentations de capacité
2. Alertes proactives
Seuils recommandés:
- Orange (75%): Alerter que le temps de prévoir est venu
- Rouge (90%): Activer le plan d'urgence
- 100%: Situation d'urgence critique
3. Planification de capacité
Formule simple:
- Croissance mensuelle = (Utilisé mois N - Utilisé mois N-1) / Mois
- Temps avant saturation = Disponible / Croissance mensuelle
- Action si < 6 mois avant saturation
4. Documentation
Pour chaque disque/partition, documenter:
- Taille provisionnée
- Raison de cette taille
- Applications principales
- Besoin estimé dans 6-12 mois
Pour les développeurs
1. Intégration avec le monitoring
Possible: Ajouter des webhooks
- POST /api/monitoring/alert-capacity
- Déclencher des alertes Grafana/Prometheus
- Intégrer avec les systèmes de tickets (Jira, etc)
2. Performance
- Ne pas appeler l'API plus de 1 fois par minute en production
- Implémenter du caching côté serveur (5-10s)
- Utiliser WebSockets pour les mises à jour en temps réel
3. Extension
Idées d'amélioration:
- Historique de l'utilisation (graphiques)
- Alertes automatiques
- Export CSV/JSON
- Alertes email/Slack
- Prédiction de saturation (ML)
Pour les opérations
1. Automatisation
# Exemple: Script pour exporter quotidiennement
#!/bin/bash
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
curl -s http://localhost:8000/api/system/disks \
-H "Authorization: Bearer $TOKEN" > backup/disks_$TIMESTAMP.json
2. Intégration monitoring
# Prometheus scraper (exemple future)
- job_name: 'innotex_disks'
static_configs:
- targets: ['localhost:8000']
metrics_path: '/api/system/disks'
3. Sauvegardes intelligentes
- Éviter les sauvegardes sur un disque à > 85%
- Priorité des sauvegardes si < 20% disponible
- Alerter les administrateurs si dégradation rapide
🎯 Métriques clés à surveiller
1. Taux de croissance
Formule: (Utilisé_mois_N - Utilisé_mois_N-1) / 30 jours
Interprétation:
- < 100MB/jour: Normale
- 100-500MB/jour: À surveiller
- > 500MB/jour: Action requise
2. Ratio utilisation/disponible
Interprétation:
- < 50%: Sain
- 50-75%: Normal mais à surveiller
- 75-90%: Préoccupant, planifier l'augmentation
- > 90%: Critique
3. Temps avant saturation
Calcul: Disponible / Taux_croissance
Seuil d'alerte: < 3 mois
Priorité haute: < 2 mois
🚨 Gestion des incidents
Scenario 1: Disque à 100%
Actions immédiates:
1. Vérifier quel processus utilise l'espace
2. Identifier les fichiers volumineux
lsof | grep -E 'DEL|SIZE'
du -sh /* | sort -rh
3. Nettoyer les fichiers non essentiels
4. Si critique: Étendre le disque (LVM)
Prévention:
- Monitoring quotidien
- Nettoyage automatique des vieux logs
- Alertes à 80%
Scenario 2: Croissance anormale
Actions diagnostiques:
1. Accéder à la page Disques
2. Vérifier les statistiques
3. Comparer avec jour/semaine précédents
4. Identifier l'anomalie (logs, caches, données temporaires)
5. Arrêter le processus fautif
6. Nettoyer les fichiers temporaires
Exemple:
- Les logs Apache ont explosé (100GB en 1 jour)
- Solution: Rotation des logs plus fréquente
Scenario 3: Nouvelle partition apparaît
Actions:
1. Vérifier si c'était planifié
2. Si oui: Monter correctement et ajouter à /etc/fstab
3. Si non: Investiguer (test hardware? nouveau volume?)
4. Mettre à jour la documentation
Exemple:
- Nouveau disque USB branché
- Nouveau volume cloud monté
📊 Cas limites et gestion
1. Partitions non montées
Comportement: Affichage du nom, pas de pourcentage
Raison: Impossible de lire l'utilisation d'une partition non montée
Solution: Monter la partition si nécessaire
2. Permissions insuffisantes
Comportement: La partition n'apparaît pas ou affiche 0%
Raison: Pas d'accès à psutil.disk_usage()
Solution: Vérifier les permissions du user FastAPI
3. Disques réseau lents
Comportement: Timeout sur lsblk (> 10s)
Raison: Disque NFS/iSCSI avec latence élevée
Solution: Augmenter le timeout ou exclure le disque
4. Disques en raid/LVM
Comportement: Affichage des disques logiques + physiques
Solution: Les deux sont visibles, c'est normal
🔍 Vérifications régulières
Checklist hebdomadaire
☐ Vérifier que toutes les partitions importantes sont dans l'interface
☐ Confirmer qu'aucun disque n'est en rouge (> 90%)
☐ Vérifier que les points de montage sont corrects
☐ Identifier les disques en croissance rapide
☐ Valider les sauvegardes si nécessaire
Checklist mensuelle
☐ Analyser la croissance de chaque partition
☐ Créer un graphique d'utilisation (historique)
☐ Comparer avec le mois précédent
☐ Mettre à jour les prévisions
☐ Planifier les augmentations nécessaires
☐ Nettoyer les données temporaires
Checklist trimestrielle
☐ Revoir la stratégie de partitionnement
☐ Évaluer si lsblk produit la bonne information
☐ Vérifier la capacité vs les besoins estimés
☐ Mettre à jour la documentation
☐ Prévoir les changements matériels
💡 Tips & Tricks
Raccourci rapide
// Dans la console navigateur:
// Rafraîchir manuellement les données
document.querySelector('button').click() // Si bouton existe
Export de données
# Script pour exporter régulièrement (cron)
0 0 * * * /usr/local/bin/export_disks.sh
# Contenu du script:
#!/bin/bash
TOKEN=$(curl -s -X POST http://localhost:8000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "admin"}' | jq -r '.access_token')
curl -s -X GET http://localhost:8000/api/system/disks \
-H "Authorization: Bearer $TOKEN" > /var/log/disk-usage-$(date +%Y%m%d).json
Alertes Slack (futur)
# À implémenter
if percent_used > 90:
send_slack_alert(f"Disque {name} à {percent_used}%!")
📚 Ressources supplémentaires
- Linux LVM Documentation
- Gestion des disques Linux
- Best Practices de capacité
- Monitoring avec Prometheus
Dernière mise à jour: 16 janvier 2026