# 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**: 1. Se connecter Ă  InnotexBoard 2. Cliquer sur "đŸ’Ÿ Disques et Partitions" 3. Observer les barres de progression 4. Identifier les disques proches de saturation (rouge > 90%) 5. 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**: 1. Observer le taux d'utilisation de chaque partition 2. Identifier les partitions Ă  75-90% (zone orange) 3. VĂ©rifier quelles applications l'utilisent 4. 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**: 1. AprĂšs un dĂ©ploiement ou mise en place de nouveau matĂ©riel 2. AccĂ©der Ă  la page Disques et Partitions 3. VĂ©rifier que les disques sont prĂ©sents et visibles 4. Confirmer que les points de montage sont corrects 5. 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**: 1. Prendre une capture d'Ă©cran de la page 2. Exporter les donnĂ©es (possible implĂ©mentation future) 3. Inclure dans un rapport mensuel 4. 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**: 1. Un service a crashĂ© 2. Ouvrir InnotexBoard 3. VĂ©rifier si un disque est saturĂ© (100%) 4. Confirmer que ce n'est pas la cause 5. 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 ```bash # 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 ```yaml # 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 ```javascript // Dans la console navigateur: // RafraĂźchir manuellement les donnĂ©es document.querySelector('button').click() // Si bouton existe ``` ### Export de donnĂ©es ```bash # 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) ```python # À implĂ©menter if percent_used > 90: send_slack_alert(f"Disque {name} Ă  {percent_used}%!") ``` --- ## 📚 Ressources supplĂ©mentaires - [Linux LVM Documentation](https://man7.org/linux/man-pages/man8/lvm.8.html) - [Gestion des disques Linux](https://wiki.debian.org/DiskManagement) - [Best Practices de capacitĂ©](https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/device-mapper.html) - [Monitoring avec Prometheus](https://prometheus.io/docs/guides/file-sd/) --- **DerniĂšre mise Ă  jour**: 16 janvier 2026