真的找不到任何信息所以我希望这里有人可以提供一些帮助。
我安装了最新的 Windows 8 Pro。我想使用带有 4 个内置 HDD 和 2 个内置 SSD 的存储空间。Windows 8 是否以任何特殊方式(例如缓存)利用 SSD 来提高存储池的速度?
或者 SSD 仅仅是数据池的一部分并且没有带来任何性能优势?
答案1
这在某种程度上扩展了 TiernanO 的回答——我一直在努力寻找关于这一切的详细背景,所以我想我会为大家好好地写出来:
SSD 可用于加速您的池,但它仅在某些情况下有效,并且必须遵守许多条件。
首先,您不能简单地将 SSD 添加到现有池中并期望它能加快系统速度。事实上,如果您在同一个池中混合使用 SSD 和 HDD,那么您基本上就是在浪费 SSD,因为每个文件都分散在其他磁盘上,因此一半的文件可能位于 SSD 上,另一半位于 HDD 上——因此,您仍然需要等待 HDD 启动并查找数据,然后计算机才能真正使用它,即使 SSD 很久以前就找到了前半部分数据。[这是过于简单的说法,实际上数据是在块级别而不是文件级别上分散到不同的磁盘上的]
因此,您可能不想在同一个虚拟磁盘中混合使用 SSD 和 HDD——池只由 HDD 或 SSD 组成,而不是两者兼有。顺便说一句,将它们放在同一个存储池中是可以的,只是不要在同一个虚拟磁盘上工作。
现在,回到你的问题 - 是的,可以使用 SSD 通过使用存储空间的“日志记录”功能来加快速度 - 但有一些条件:
- 您必须使用具有“奇偶校验”弹性设置的虚拟磁盘,日志磁盘不能与“简单”或“镜像”虚拟磁盘一起使用
- 您必须至少拥有两个 SSD - 您无法覆盖此设置(在后台,它们本身被配置为镜像空间,以防其中一个发生故障)
- SSD 上的所有空间都必须专用于日志记录,您将无法使用任何一个 SSD 来存储数据
- 以上这些都无法通过 Windows 8 或 Server 2012 的 Windows UI 进行配置,必须使用 PowerShell 手动进行配置
- 如果您手动增加了池中的奇偶校验空间的数量,那么您应该同样增加日志磁盘的数量(例如,如果您使用默认的 1 个奇偶校验空间,则需要 2 个 SSD。如果您有 2 个奇偶校验空间,则需要 4 个 SSD 等)。
- 这可能很明显,但添加日志磁盘只会增加虚拟磁盘的数据写入速度——数据读取速度不会受到影响
假设您对这些限制感到满意,那么您需要在提升的 PowerShell 窗口中执行以下操作:
对于这个例子,我假设您还没有创建存储池或虚拟磁盘——如果您已经有了一套现成的,请修改说明以适应。
# See what disks you've got available so you can set the below variables
Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk `
| Where-Object CanPool -eq $True
# Tell Windows which disk is a traditional HDD and which is an SSD
$HDDs = "PhysicalDisk1", "PhysicalDisk2", "PhysicalDisk3"
$SSDs = "PhysicalDisk4", "PhysicalDisk5"
# Create a new storage pool (these are fairly default options)
New-StoragePool -FriendlyName "Your Storage Pool" `
-PhysicalDisks (Get-PhysicalDisk $HDDs) `
-StorageSubSystemFriendlyName "Storage Spaces*" `
-ResiliencySettingNameDefault Parity
# Add in your two (or more) Journal disks
Add-PhysicalDisk -StoragePoolFriendlyName "Your Storage Pool" `
-PhysicalDisks (Get-PhysicalDisk $SSDs) -Usage Journal
# Create the virtual disk and get it ready for use
New-VirtualDisk -FriendlyName "Parity Protected & Journaled Data" `
-StoragePoolFriendlyName "Your Storage Pool" -NumberOfColumns 3 `
-ProvisioningType Thin -ResiliencySettingName Parity -Size 2TB `
| Initialize-Disk -PassThru -PartitionStyle MBR `
| New-Partition -AssignDriveLetter -UseMaximumSize `
| Format-Volume -FileSystem NTFS `
-NewFileSystemLabel "Parity Protected & Journaled" -Confirm:$false
您现在可以检查所有工作是否正常Get-PhysicalDisk
:
FriendlyName CanPool OperationalStatus HealthStatus Usage Size
------------ ------- ----------------- ------------ ----- ----
PhysicalDisk1 False OK Healthy Auto-Select 10.25 GB
PhysicalDisk2 False OK Healthy Auto-Select 10.25 GB
PhysicalDisk3 False OK Healthy Auto-Select 10.25 GB
PhysicalDisk4 False OK Healthy Journal 10.25 GB
PhysicalDisk5 False OK Healthy Journal 10.25 GB
资料来源:
答案2
我认为这有所改进Windows Server 2012 R2。
- 回写缓存
存储空间可以使用存储池中现有的固态硬盘来创建可容忍电源故障的写回缓存,该缓存可缓冲对固态硬盘的小随机写入,然后再将它们写入硬盘驱动器。
- 这一变化增加了什么价值?
小型随机写入通常占据常见企业工作负载的主导地位,并且会影响正在进行的其他数据传输的性能。通过使用固态硬盘(擅长随机访问)作为写回缓存,存储空间可以减少随机写入的延迟,并大大减少对其他数据传输性能的影响。
- 工作原理有何不同?
写回缓存对于管理员和用户是透明的,并且如果存储池中有足够数量的固态硬盘,则会在所有新的虚拟磁盘上创建写回缓存,具体数量由相关存储空间的以下要求决定:
- 简单空间需要一个固态硬盘
- 双向镜像空间和单奇偶校验空间需要两个固态硬盘
- 三向镜像空间和双奇偶校验空间需要三个固态硬盘
写回缓存适用于所有类型的存储空间,包括具有存储层的存储空间。
当存储池包含足够的物理磁盘(MediaType 设置为 SSD 或 Usage 设置为 Journal)以支持指定的弹性设置时,新创建的存储空间默认自动使用 1 GB 的回写缓存。如果没有足够的物理磁盘具有这些设置,则回写缓存大小设置为 0(奇偶校验空间除外,此时设置为 32 MB)。
答案3
这确实要视情况而定。在混合设置中,即同时存在 HDD 和 SSD 时,至少有 4 种方法可以利用 SSD:
- 您可以盲目地将它们全部添加到池中。这根本没有意义,因为无论写入密集程度如何,数据都会随机分布在您的磁盘上。注意:当然,这是默认设置。
- 您可以使用 SSD 进行带有奇偶校验(RAID5/6)空间的日志记录,即在写入期间进行缓存。如果奇偶校验空间不是那么糟糕,我会全心全意推荐这个。不,真的,这很糟糕,请不惜一切代价避免。对于镜像空间,专用日志是无用的,因为不涉及奇偶校验,只是 1:1 副本。
- 您可以设置分层存储,让 Windows 自动将经常访问的数据移动到速度更快的 SSD。这可能效果不错,但很难进行基准测试,所以我不能说它是好是坏。
- 您还可以创建 2 个独立阵列,将 2 个 SSD 放在一个双向镜像中,用于存储程序文件和其他写入密集型内容,将 4 个 HDD 放在另一个双向镜像中,用于存储其他内容。这是我推荐给您的方案。
如果你好奇我为什么如此自信,那是因为我花了几个星期(不是开玩笑)对存储空间进行了彻底的测试。查看我的深入基准测试系列,了解支持我的说法的所有数字:
干杯。
答案4
我只是添加这个答案,因为谷歌在存储空间和 SSD 缓存等主题的搜索结果中将这个问题排名很高,以便其他感兴趣的人可以更轻松地找到当前信息。
过去几年,微软已经大大扩展了这些可能性。以下是有关存储空间缓存的全面官方微软文档的链接。
所以是的,现在您可以按预期使用 SSD 和 SSD RAID 作为缓存。