|
| 1 | +--- |
| 2 | +title: Troubleshoot Performance Issues for Storage Spaces Direct |
| 3 | +description: Shows how to extend stand-alone tiered storage spaces |
| 4 | +ms.date: 12/05/2025 |
| 5 | +manager: dcscontentpm |
| 6 | +audience: itpro |
| 7 | +ms.topic: troubleshooting |
| 8 | +ms.reviewer: kaushika, simonw, v-appelgatet |
| 9 | +ms.custom: |
| 10 | +- sap:backup, recovery, disk, and storage\Storage Spaces Direct (S2D) |
| 11 | +- pcy:WinComm Storage High Avail |
| 12 | +appliesto: |
| 13 | + - <a href=https://learn.microsoft.com/windows/release-health/windows-server-release-info target=_blank>Supported versions of Windows Server</a> |
| 14 | +--- |
| 15 | +# Troubleshoot performance issues for Storage Spaces Direct |
| 16 | + |
| 17 | +This article helps you identify and fix performance issues related to Storage Spaces Direct (S2D) in Windows Server environments. |
| 18 | + |
| 19 | +## Symptoms |
| 20 | + |
| 21 | +You might notice the following symptoms of performance issues: |
| 22 | + |
| 23 | +- When you access files that're stored in storage spaces, read or write speeds are slower than expected. |
| 24 | +- When you perform disk-intensive operations such as transferring large files, you experience delays or lags. |
| 25 | +- Task Manager shows high disk queue length or high disk usage. |
| 26 | +- Applications take longer than usual to load or respond. |
| 27 | + |
| 28 | +## Causes |
| 29 | + |
| 30 | +Several factors can lead to performance issues for Storage Spaces. The following list includes the most common causes: |
| 31 | + |
| 32 | +- **Incorrect drive configuration**: Using mismatched or incompatible drives within a storage pool can degrade performance. |
| 33 | +- **Incorrect storage space type**: Selecting the wrong resiliency option (such as parity instead of simple or mirror) for the workload. |
| 34 | +- **Insufficient system resources**: Low memory or CPU availability, which can bottleneck performance. |
| 35 | +- **Fragmentation**: Excessive fragmentation within the storage pool can slow down data access. |
| 36 | +- **Firmware and driver issues**: Outdated or incompatible drive firmware and drivers. |
| 37 | +- **Background tasks**: Resource-intensive background tasks, such as disk scrubbing or repair jobs. |
| 38 | + |
| 39 | +## Resolution |
| 40 | + |
| 41 | +Follow the steps in this section to improve the performance of your storage space. |
| 42 | + |
| 43 | +Before you start troubleshooting performance issues, consider measuring the system's current performance to establish a baseline. You can use tools such as Performance Monitor or Resource Monitor to collect metrics. You can also use third-party tools such as DiskSpd or CrystalDiskMark to run benchmark tests and gather detailed performance metrics. |
| 44 | + |
| 45 | +> [!IMPORTANT] |
| 46 | +> Before you start changing your storage space configuration, make sure that all the storage space's data and configuration settings are backed up. |
| 47 | +
|
| 48 | +### Step 1: Collect performance metrics, events, and configuration information |
| 49 | + |
| 50 | +To assist in troubleshooting, collect the following data: |
| 51 | + |
| 52 | +- A detailed description of the storage space configuration, including the resiliency type and drive details. |
| 53 | + - What type of storage space configuration is being used? For example, simple, mirror, or parity? |
| 54 | + - What is the size of the storage pool, and how many drives are included? |
| 55 | + - What is the current firmware and driver version for the drives in the storage pool? |
| 56 | + - Are all drives in the pool of the same type, capacity, and speed? |
| 57 | + - Have there been any recent changes to the system, such as software updates, hardware replacements, or new applications installed? |
| 58 | + - Information about recent system updates or changes. |
| 59 | + |
| 60 | +- Performance metrics, such as disk queue length and throughput. You can use tools such as Performance Monitor or Task Manager to collect this information. You can also review performance history information, as described in [Performance history for Storage Spaces Direct](/windows-server/storage/storage-spaces/performance-history). |
| 61 | +- Logs from the Event Viewer, specifically under the **System** and **Storage Spaces** categories. |
| 62 | + - Are there any error messages or warnings in the Event Viewer related to S2D, storage pools, or disk operations? |
| 63 | + - Screenshots or photos of any error messages or alerts. |
| 64 | + |
| 65 | +- The output of the following Windows PowerShell commands: |
| 66 | + |
| 67 | + ```powershell |
| 68 | + Get-StoragePool | Get-PhysicalDisk | Select-Object DeviceID, MediaType, Size, HealthStatus |
| 69 | + Get-VirtualDisk | Select-Object FriendlyName, ResiliencySettingName, OperationalStatus |
| 70 | + Get-StoragePool | Get-StorageSubSystem | Select-Object FriendlyName, HealthStatus |
| 71 | + ``` |
| 72 | + |
| 73 | +### Step 2: Verify the Storage Space configuration |
| 74 | + |
| 75 | +1. Make sure that all the drives in the pool are of the same type (for example, all SSDs or all HDDs) and have similar performance characteristics. |
| 76 | +1. Check that the storage space type (simple, mirror, or parity) is appropriate for the workload. For more information about storage space types in S2D, see [Deep Dive: Volumes in Storage Spaces Direct](https://techcommunity.microsoft.com/blog/filecab/deep-dive-volumes-in-storage-spaces-direct/425807). |
| 77 | +1. If you make any changes during this step, test the system's performance and compare it to earlier measurements. |
| 78 | + |
| 79 | +### Step 3: Review the Server Manager and the event logs for potential issues |
| 80 | + |
| 81 | +1. In Server Manager (or by using Windows PowerShell) check the health and operational states of the storage pools and other S2D components. For more information, see [Troubleshoot Storage Spaces and Storage Spaces Direct health and operational states](/windows-server/storage/storage-spaces/storage-spaces-states). |
| 82 | +1. In Event Viewer, review the logs for Storage Spaces Direct warnings or errors. |
| 83 | +1. If you identify any issues (such as failing drives or subsystem errors), address and remediate them as appropriate. |
| 84 | +1. If you make any changes during this step, test the system's performance and compare it to earlier measurements. |
| 85 | + |
| 86 | +### Step 4: Make sure that the drivers and firmware for the drives are up to date |
| 87 | + |
| 88 | +1. Verify that all drives have the latest firmware installed. |
| 89 | +1. Update the storage controller and drive drivers to the most recent versions that the manufacturer supports. |
| 90 | +1. If you make any changes during this step, test the system's performance and compare it to earlier measurements. |
| 91 | + |
| 92 | +### Step 5: Run storage maintenance tasks |
| 93 | + |
| 94 | +1. To optimize the storage pool, run the following cmdlet at a powerShell command prompt: |
| 95 | + |
| 96 | + ```powershell |
| 97 | + Optimize-StoragePool -FriendlyName <StoragePoolName> |
| 98 | + ``` |
| 99 | + |
| 100 | + > [!NOTE] |
| 101 | + > In this cmdlet, /<StoragePoolName> is the name of the storage pool. If you need to identify the storage pool name, run `Get-StoragePool`. |
| 102 | +
|
| 103 | +1. If the storage pool uses HDD drives, manually defragment the drives. |
| 104 | + |
| 105 | + > [!WARNING] |
| 106 | + > Don't use this step if the storage pool uses SSD drives. Defragmentation can reduce lifespan and performance of the drives. |
| 107 | +
|
| 108 | +1. Test the system's performance and compare it to earlier measurements. |
| 109 | + |
| 110 | +### Step 6: Identify resource usage issues |
| 111 | + |
| 112 | +1. Use monitoring tools such as Task Manager, Performance Monitor, or Resource Monitor to identify bottlenecks in CPU, memory, or disk usage. For more information about using these tools, see [Scenario guide: Troubleshoot performance problems in Windows](../performance/troubleshoot-performance-problems-in-windows.md). |
| 113 | +1. Close any unnecessary applications or processes that consume system resources. |
| 114 | +1. If you make any changes during this step, test the system's performance and compare it to earlier measurements. |
| 115 | + |
| 116 | +### Step 7: Rebuild or recreate the storage space |
| 117 | + |
| 118 | +If you followed the earlier steps and the S2D performance hasn't improved sufficiently, consider rebuilding the storage space. Follow these steps: |
| 119 | + |
| 120 | +1. Make sure that all backups are current and available. |
| 121 | +1. Delete the existing storage space. |
| 122 | +1. Recreate the storage space. Use optimal settings. |
| 123 | +1. Restore the data to the new storage space. |
| 124 | + |
| 125 | +## Preventing future performance issues |
| 126 | + |
| 127 | +To avoid future S2D performance issues, consider these guidelines and best practices: |
| 128 | + |
| 129 | +- Make sure that a single storage pool uses drives that have similar performance, capacity, and media type. For more information about hardware requirements, see [Storage Spaces Direct hardware requirements in Windows Server](/windows-server/storage/storage-spaces/storage-spaces-direct-hardware-requirements). |
| 130 | +- Regularly update firmware and drivers to the latest manufacturer-recommended versions. |
| 131 | +- Monitor storage pool health using the `Get-StoragePool` and `Get-PhysicalDisk` cmdlets. |
| 132 | +- To prevent data loss if a drive fails, schedule regular backups. |
| 133 | +- Unless you're implementing tiered storage, don't mix SSD and HDD drives in the same storage pool. |
0 commit comments