# ReFS - Présentation, Supervision et Dépannage

## 📚 Qu'est-ce que ReFS ?

**ReFS** est un système de fichiers moderne conçu par Microsoft pour **Windows Server**, optimisé pour :

- ✅ **Intégrité des données** (protection contre la corruption avec checksums)
- ✅ **Virtualisation** (Hyper-V, machines virtuelles)
- ✅ **Scénarios de haute disponibilité** (Storage Spaces Direct, clusters)
- ✅ **Gros volumes de données** (jusqu'à 35 PB théoriques)

⚠️ **Important** : ReFS n'est **pas un remplacement universel de NTFS**. Il est conçu pour des **workloads spécifiques** (virtualisation, stockage résilient). [nakivo](https://www.nakivo.com/blog/windows-server-refs-file-system-benefits/)

***

## 🔧 Processus liés à ReFS

ReFS s'appuie sur plusieurs composants système :

| Processus / Service | Rôle |
|---------------------|------|
| **System** (ntoskrnl.exe) | Gestion kernel du système de fichiers 📁 |
| **Storage Spaces** (storsvc.dll) | Si ReFS est utilisé avec Storage Spaces |
| **Filter Manager** (fltmgr.sys) | Gestion des filtres de système de fichiers |
| **VSS (Volume Shadow Copy Service)** | Snapshots et backups |
| **Cluster Service** (clussvc.exe) | Si utilisé en environnement cluster |

💡 **Astuce** : Utilisez `Get-Process` et `Get-Service` pour surveiller l'activité liée au stockage :
```powershell
Get-Service -Name "*stor*" | Select-Object Name, Status
```

***

## 🚨 Event IDs critiques à surveiller

### 📍 Journal **Microsoft-Windows-DeviceSetupManager/Admin** [learn.microsoft](https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/backup-and-storage/troubleshoot-refs-volumes)

| Event ID | Signification | Action |
|----------|---------------|--------|
| **131** | Problème d'initialisation du volume | Vérifier l'état du disque |
| **133** | Volume passé en **RAW** | Données inaccessibles - urgence ! |
| **134** | Échec de montage du volume | Métadonnées corrompues |
| **135** | Volume RAW ou inaccessible | Réparation nécessaire |
| **137** | Corruption de métadonnées | Checksum errors |
| **140** | Périphérique occupé ou erreur de montage | Conflit d'accès |

### 📍 Journal **Système** [learn.microsoft](https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/backup-and-storage/troubleshoot-refs-volumes)

| Event ID | Signification |
|----------|---------------|
| **55** | Erreur de système de fichiers (NTFS/ReFS) |
| **129** | Réinitialisation de l'appareil de stockage |

### 📍 Journal **VSS / Backup** [learn.microsoft](https://learn.microsoft.com/ko-kr/troubleshoot/windows-server/backup-and-storage/troubleshoot-refs-volumes)

| Event ID | Signification |
|----------|---------------|
| **12289** | Échec de création de shadow copy |
| **8193** | Erreur VSS Writer |

***

## 🛠️ Commandes de diagnostic essentielles

```powershell
# Vérifier l'état des volumes ReFS
Get-Volume | Where-Object FileSystemType -EQ "ReFS" | Select-Object DriveLetter, HealthStatus, OperationalStatus

# Vérifier l'intégrité avec ReFS (auto-correction si possible)
Repair-Volume -DriveLetter X -Scan

# Forcer une réparation (si nécessaire)
Repair-Volume -DriveLetter X -OfflineScanAndFix

# Logs de cluster (si environnement clusterisé)
Get-ClusterLog -UseLocalTime -Destination "C:\ClusterLogs"
```

***

## ⚡ Bonnes pratiques ReFS

### ✅ **À faire** :
- 🟢 Utiliser ReFS pour **Hyper-V** (stockage VM) [nakivo](https://www.nakivo.com/blog/windows-server-refs-file-system-benefits/)
- 🟢 Activer **integrity streams** pour les données critiques
- 🟢 Combiner avec **Storage Spaces Direct** pour la résilience
- 🟢 Monitorer régulièrement les **Event IDs** cités plus haut

### ❌ **À éviter** :
- 🔴 ReFS sur le **volume système** (sauf preview Windows Server 2025+) [learn.microsoft](https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-boot-windows-server-unattend)
- 🔴 ReFS pour des **workloads transactionnels** (SQL, Exchange)
- 🔴 Oublier de tester vos **backups** avec ReFS
- 🔴 Utiliser ReFS sur des **postes clients** (non supporté) [nakivo](https://www.nakivo.com/blog/windows-server-refs-file-system-benefits/)

***

## 📊 Scénarios de dépannage rapide

| Symptôme | Event ID | Action |
|----------|----------|--------|
| Volume en **RAW** | 133, 135 | `Repair-Volume`, vérifier Storage Spaces |
| Échec de **montage** | 134, 137, 140 | Checksum errors → restaurer depuis backup |
| **Backup VSS** échoue | 12289, 8193 | Vérifier VSS Writers, espace libre |
| **Performance lente** | - | Vérifier fragmentation, privilégier 3-way mirror  [learn.microsoft](https://learn.microsoft.com/en-us/answers/questions/5791588/refs-windows-server-2022-defrag-volumes) |

***

## 📖 Ressources officielles Microsoft

- 📘 [Dépannage des volumes ReFS - Microsoft Learn](https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/backup-and-storage/troubleshoot-refs-volumes) [learn.microsoft](https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/backup-and-storage/troubleshoot-refs-volumes)
- 📘 [ReFS sur Windows Server - Documentation](https://learn.microsoft.com/fr-fr/windows-server/storage/refs/refs-overview)
- 📘 [ReFS Boot Volume (preview 2025)](https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-boot-windows-server-unattend) [learn.microsoft](https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-boot-windows-server-unattend)

***

## 🎓 Quiz rapide (pour valider votre compréhension)

1. **Quel Event ID indique un volume ReFS passé en RAW ?**
2. **Peut-on utiliser ReFS pour le volume système en production ?**
3. **Quelle commande PowerShell répare un volume ReFS ?**

*(Réponses : 133/135 | Non, sauf preview | `Repair-Volume`)*