Transcript Mirror

Rick Claus
Sr. Technical Evangelist, Microsoft
@RicksterCDN
http://about.me/rickclaus
MDC205
New
apps/services
Device
proliferation
Data
explosion
Cloud
computing
Clustered
Clustered
SMB
Scale-Out File Server Clusters
Storage Spaces Virtualization and Resiliency
Shared JBOD
Storage
PowerShell & SCVMM 2012 R2 Management
Hyper-V Clusters
Traditional Storage
Windows File Server Cluster
with FC/iSCSI Storage Array
with Storage Spaces
Hyper-V Compute
Nodes
FC/iSCSI
(Block)
Hyper-V Compute
Nodes
SMB
(File)
Traditional Storage
Windows File Server Cluster
with FC/iSCSI Storage Array
with Storage Spaces
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(new with R2)
(enhanced with R2)
(enhanced with R2)
(new with R2)
Can “
Cold data
Hard Disk Drives
• Capacity
• Cost
• Resiliency
• Capacity for a month of data
• Dramatically lower $/TB
• Scalable platform for future expansion
Mirror
Space
Mirror
Space
Mirror
Space
Parity
Space
Resiliency
Name
Number of Data
Copies Maintained
Deployment Recommendations
Mirror
2 (two-way mirror)
3 (three-way mirror)
All Workloads
Parity
2 (single parity)
3 (dual parity)
Sequential workloads with large units
of read/write, such as Archival
Simple
1
Workloads which do not need
resiliency, or provide alternate
resiliency mechanism
Hyper-V Compute
Nodes
SMB
Hyper-V Compute Nodes
SMB
SMB
\\SRV\VDI_Mrktg
\\SRV\VDI_Dev
\\SRV\Folders
\\SRV\DB
Mirror Space
Mirror Space
Mirror Space
Mirror Space
Hyper-V Compute Nodes
Mirror
Mirror
SMB
SMB
SMB
Mirror
Mirror
Mirror
Mirror
Mirror
Mirror
Building upon the foundation in
Windows Server 2012 to further deliver:
Minimize
$/TB & Capex
Maximize
IOPS/$
Continuous
Availability
Minimized
Opex
Hyper-V Compute Nodes
Reads/Writes
Accumulates
Data Activity
Hot Data
Cold Data
Hyper-V Compute Nodes
Reads/Writes
Accumulates
Data Activity
& WBC
Hot Data
Cold Data
Hyper-V Compute Nodes
SMB
SMB
\\SRV\VDI_Mrktg
\\SRV\DB
\\SRV\Folders
\\SRV\Archive
Mirror Space
Mirror Space
Mirror Space
Mirror Space
R2
Hyper-V Compute Nodes
SMB
SMB
\\SRV\VDI_Mrktg
\\SRV\DB
\\SRV\Folders
\\SRV\Archive
Tiered Mirror
Space
Tiered Mirror
Space
Tiered Mirror
Space
Dual Parity
Space
Capacity
Optimized
• High Capacity
• Cost-Efficient
• Best $/TB
Balanced
• Tiered Storage
• High Performance
SSDs
• High Capacity
HDDs
• Best IOPS/$
Performance
Optimized
• Extreme
Performance
• Greatest
throughput,
highest IOPS
Capacity
Optimized
• High Capacity
• Cost-Efficient
• Best $/TB
Balanced
• Tiered Storage
• High Performance
SSDs
• High Capacity
HDDs
• Best IOPS/$
Performance
Optimized
• Extreme
Performance
• Greatest
throughput,
highest IOPS
Capacity
Optimized
• High Capacity
• Cost-Efficient
• Best $/TB
Balanced
• Tiered Storage
• High Capacity
HDDs
• High Performance
SSDs
• Best IOPS/$
Performance
Optimized
• Extreme
Performance
• Greatest
throughput,
highest IOPS
•
•
http://www.raidinc.com/
http://www.fujitsu.com/fts/
http://www.dataonstorage.com/
## Configure the physical host ##
# Create 4 VHDX files on the SSD with 10GB each (assumes D is SDD)
1..4 | % { New-VHD -Path D:\VHD\SSD_$_.VHDX -Fixed –Size 10GB}
# Create 8 VHDX files on the HDD with 30GB each (assumes E is HDD)
1..8 | % { New-VHD -Path F:\VHD\HDD_$_.VHDX -Fixed –Size 30GB}
# Create a new VM. Assumes you have an Windows Server 2012 R2 OS VHDX in place
New-VM -Name DC -Path D:\VMS –VHDPath D:\vhd\DC_OS.VHDX -Memory 2GB
# Add all data disks to the VM
1..4 | % { Add-VMHardDiskDrive -VMName DC -ControllerType SCSI -Path
D:\vhd\SSD_$_.VHDX }
1..8 | % { Add-VMHardDiskDrive -VMName DC -ControllerType SCSI -Path
F:\vhd\HDD_$_.VHDX }
# Verify disk participation in Pool
Get-PhysicalDisk | Sort Size | FT DeviceId, FriendlyName, CanPool, Size, MediaType
-AutoSize
# List small sized Disks (SSD)
Get-PhysicalDisk -CanPool $true | ? Size -lt 20GB | Sort Size | FT -AutoSize
# List larger sized disks (HDD)
Get-PhysicalDisk -CanPool $true | ? Size -gt 20GB | Sort Size | FT -AutoSize
## setting media type as SSD or HDD
# make storage pool of all disks.
$s = Get-StorageSubSystem
New-StoragePool -StorageSubSystemId $s.UniqueId -FriendlyName Pool1 -PhysicalDisks
(Get-PhysicalDisk -CanPool $true)
# Configure media type for virtual SAS disks
Get-StoragePool Pool1 | Get-PhysicalDisk | ? Size -lt 20GB | Set-PhysicalDisk –
MediaType SSD
Get-StoragePool Pool1 | Get-PhysicalDisk | ? Size -gt 20GB | Set-PhysicalDisk –
MediaType HDD
# Configure Tiers
# Configure two tiers
Get-StoragePool Pool1 | New-StorageTier –FriendlyName SSDTier –MediaType SSD
Get-StoragePool Pool1 | New-StorageTier –FriendlyName HDDTier –MediaType HDD
# check config
Get-StorageTier | FT FriendlyName, MediaType, Size -AutoSize
# Configure resiliency settings
Get-StoragePool Pool1 | Set-ResiliencySetting -Name Simple -NumberOfColumnsDefault
4
Get-StoragePool Pool1 | Set-ResiliencySetting -Name Mirror -NumberOfColumnsDefault
2
# Create simple and mirrored spaces with tiering
$SSD = Get-StorageTier -FriendlyName SSDTier
$HDD = Get-StorageTier -FriendlyName HDDTier
Get-StoragePool Pool1 | New-VirtualDisk -FriendlyName Space1 -ResiliencySettingName
Simple –StorageTiers $SSD, $HDD -StorageTierSizes 8GB, 32GB -WriteCacheSize 1GB
Get-StoragePool Pool1 | New-VirtualDisk -FriendlyName Space2 -ResiliencySettingName
Mirror -StorageTiers $SSD, $HDD -StorageTierSizes 8GB, 32GB –WriteCacheSize 1GB
# Configure volume “F” on Space1
Get-VirtualDisk Space1 | Get-Disk | Set-Disk -IsReadOnly 0
Get-VirtualDisk Space1 | Get-Disk | Set-Disk -IsOffline 0
Get-VirtualDisk Space1 | Get-Disk | Initialize-Disk -PartitionStyle GPT
Get-VirtualDisk Space1 | Get-Disk | New-Partition -DriveLetter “F” -UseMaximumSize
Initialize-Volume -DriveLetter “F” -FileSystem NTFS -Confirm:$false
# Configure volume “G” on Space2
Get-VirtualDisk Space2 | Get-Disk | Set-Disk -IsReadOnly 0
Get-VirtualDisk Space2 | Get-Disk | Set-Disk -IsOffline 0
Get-VirtualDisk Space2 | Get-Disk | Initialize-Disk -PartitionStyle GPT
Get-VirtualDisk Space2 | Get-Disk | New-Partition -DriveLetter “G” -UseMaximumSize
Initialize-Volume -DriveLetter “G” -FileSystem NTFS -Confirm:$false
# Create 3 files on volume “F”, place them on different tiers
1..3 | % {
fsutil file createnew f:\file$_.dat (4GB)
fsutil file setvaliddata f:\file$_.dat (4GB)
}
Set-FileStorageTier -FilePath f:\file1.dat -DesiredStorageTierFriendlyName
Space1_SSDTier
Set-FileStorageTier -FilePath f:\file2.dat -DesiredStorageTierFriendlyName
Space1_HDDTier
Get-FileStorageTier -VolumeDriveLetter F
# Create 3 files on volume “G”, place them on different tiers
1..3 | % {
fsutil file createnew g:\file$_.dat (4GB)
fsutil file setvaliddata g:\file$_.dat (4GB)
}
Set-FileStorageTier -FilePath g:\file1.dat -DesiredStorageTierFriendlyName
Space1_SSDTier
Set-FileStorageTier -FilePath g:\file2.dat -DesiredStorageTierFriendlyName
Space1_HDDTier
Get-FileStorageTier -VolumeDriveLetter g
# Check tasks used by Storage Tiering
Get-ScheduledTask -TaskName *Tier* | FT –AutoSize
Get-ScheduledTask -TaskName *Tier* | Get-ScheduledTaskInfo
# run and check status of tasks
Get-ScheduledTask -TaskName "Storage Tiers Optimization" | Start-ScheduledTask
Get-ScheduledTask -TaskName "Storage Tiers Optimization" | Get-ScheduledTaskInfo
# Check file location on tiers for volume F:
Get-FileStorageTier -VolumeDriveLetter F | FT -AutoSize
# Running SQLIO on F:, using File1 (HDD tier), File2 (HDD tier) and File 3
(unspecified tier)
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN f:\file1.dat
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN f:\file2.dat
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN f:\file3.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN f:\file1.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN f:\file2.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN f:\file3.dat
# Check file location on tiers for volume G:
Get-FileStorageTier -VolumeDriveLetter F | FT -AutoSize
# Running SQLIO on G:, using File1 (HDD tier), File2 (HDD tier) and File 3
(unspecified tier)
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN g:\file1.dat
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN g:\file2.dat
c:\sqlio\sqlio2.exe -s30 -frandom -kR -b8 -t4 -o16 -BN g:\file3.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN g:\file1.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN g:\file2.dat
c:\sqlio\sqlio2.exe -s30 -fsequential -kR -b512 -t4 -o4 -BN g:\file3.dat
Head to...
aka.ms/te