Optimizing Storage Spaces Pool: Mixing 3TB and 4TB Disks in Mirrored Volume Configuration


3 views

When working with Windows Storage Spaces, the key factor in capacity calculation is the column count and redundancy type. In your case of a mirrored volume (two-way mirror) with one column, the space allocation works differently than simple RAID configurations.

For your specific setup (2x3TB + 2x4TB in one-column mirror):

Total raw capacity = (2×3TB) + (2×4TB) = 14TB
Usable space = (3TB + 4TB) = 7TB

The system will pair one 3TB and one 4TB disk as a mirror set, using 3TB from each. The remaining 1TB on each 4TB disk will form another mirrored pair.

To check your actual allocation after adding disks:

# Get pool information
Get-StoragePool -FriendlyName "YourPoolName" | Get-PhysicalDisk | Select Size,MediaType

# View volume allocation
Get-VirtualDisk -FriendlyName "YourVolumeName" | Select Size,FootprintOnPool

For maximum space utilization in mirrored configurations:

  • Always add disks in pairs when expanding
  • New pairs can differ in size from existing disks
  • Storage Spaces will automatically optimize pairing

Here's how to properly extend your volume through PowerShell:

# Add new physical disks to pool
Add-PhysicalDisk -StoragePoolFriendlyName "YourPoolName" 
    -PhysicalDisks (Get-PhysicalDisk -SerialNumber "XXXXXX","YYYYYY")

# Resize the virtual disk
Resize-VirtualDisk -FriendlyName "YourVolumeName" -Size 7TB

# Extend the partition
Resize-Partition -DriveLetter D -Size 7TB

While mixed-size configurations work:

  • Performance will be limited by the slowest disk in each column
  • For best performance, use identical disks in each pair
  • Larger disks in the pool will have unused space if not properly paired

For more control over disk allocation:

# Create custom column count configuration
New-VirtualDisk -StoragePoolFriendlyName "YourPoolName" 
    -FriendlyName "CustomVolume" 
    -ResiliencySettingName Mirror 
    -NumberOfColumns 2 
    -UseMaximumSize

When dealing with Storage Spaces in Windows, one common configuration involves creating a mirrored volume (two-way mirror) with fixed provisioning. The initial setup you described uses two 3TB drives, which provides 3TB of usable space in a one-column, two-copy configuration.

The core question revolves around adding two 4TB disks to this existing pool. Here's what happens technically:

  • Storage Spaces will recognize the new capacity
  • The system maintains mirroring across all disks
  • No space is wasted when adding same-sized pairs

For your specific case with 2x3TB + 2x4TB in mirrored configuration:

Total raw space = (2 * 3TB) + (2 * 4TB) = 14TB
Usable space = (3TB + 4TB) = 7TB

The system effectively creates a virtual disk with 7TB capacity, maintaining redundancy across all drives.

Here are some practical commands for managing this configuration:

# List available disks
Get-Disk | Where-Object {$_.OperationalStatus -eq "Offline"} | Initialize-Disk -PartitionStyle GPT

# Add disks to existing pool
$pool = Get-StoragePool -FriendlyName "YourPoolName"
Add-PhysicalDisk -StoragePool $pool -PhysicalDisks (Get-PhysicalDisk -SerialNumber "12345","67890")

# Resize the virtual disk
Get-VirtualDisk -FriendlyName "YourVolume" | Resize-VirtualDisk -Size 7TB

When mixing drive sizes in Storage Spaces:

  • Write performance is limited to the smallest disk's speed in each column
  • Larger disks don't create performance bottlenecks
  • Consider using tiering if mixing HDDs and SSDs

Common issues and solutions:

# Check pool allocation
Get-StoragePool | Get-StorageJob

# Verify disk health
Get-PhysicalDisk | Select-Object FriendlyName, Size, HealthStatus

Remember that Windows automatically optimizes data distribution across disks of different sizes in mirrored configurations, so manual intervention is rarely needed.