场景如下:
我正在构建一台计算机,它将作为本地网络用户的网络存储设备,以及远程用户的源代码存储库和备份设备。该机器还将通过互联网连接备份到第三方备份服务 (Carbonite)。
该机器包含 (1) SSD 驱动器、(2) 2TB HDD 驱动器和 (1) DVD 驱动器。
- SSD 驱动器将包含操作系统和程序文件
- (2) 个 HDD 驱动器将以 RAID-1 配置(镜像)运行并用作数据存储。
- DVD 驱动器很少使用,而且不重要。
我的主板有 (2) SATA 6.0gb/s 端口和 (4) SATA 3.0gb/s 端口。
我倾向于将 (1) 6.0/s 端口用于 SSD 驱动器。由于它是固态的,因此值得使用更快的端口。但这只留下 (1) 6.0/s 端口处于开放状态。我想利用另一个 6.0/s 端口,但不会以牺牲 RAID 配置的运行为代价。
能我运行镜像 HDD 驱动器,一个位于左侧 (1) 6.0/s 端口,另一个位于开放的 3.0/s 端口?这会导致短期或长期问题吗?
我对 RAID 的机制了解不够多……但我认为我应该将它们都设置为 3.0/s,以类似的速度运行。我担心的是,如果我将它们一个设置为 3.0/s,另一个设置为 6.0/s,并且用户正在将一个大文件写入 HDD 驱动器,则(理论上)在较慢的传输端口上写入驱动器的时间将是较快的传输端口的两倍。如果许多用户在很长一段时间内同时发生这种情况,较慢的驱动器将远远落后,从而抵消镜像 RAID 配置的优势。
答案1
您可以将两个驱动器连接到不同速度的端口。是的,这意味着写入速度为 3Gb/s,但读取速度为 9Gb/s(假设驱动器可以跟上),并且您的读取次数可能比写入次数多得多。
永远无法保证两个驱动器保持任何类型的锁定步骤。它们的旋转速度略有不同,寻道时间也略有不同,等等。RAID 实现知道如何处理这种情况。
答案2
只是为了我的理智和增加冗余,我会得到第二个 SSD(因为你似乎在这里运行一些关键的东西)。
将两个硬盘放在 3GB 端口上,并在那里安装操作系统 - RAID 1。在非高峰时段使用此功能进行自动备份。如果这一切都在后台自动进行,性能对这个过程来说不会是大问题。
将两个 SSD 放在 6GB 端口上,并将其设为数据分区 - RAID 1。将其用于代码存储库,因为您的构建/提交/等可能会导致大量的活动等待时间。您希望它尽可能快。
至于网络存储 - 这将取决于使用情况。如果您需要更快的 repo 速度,则将网络存储放到 HDD 阵列上。如果网络存储需要更快的速度并且 repo 不经常使用,那么它可以共享 SSD 阵列。
此外,根据使用量,您可能需要将 Carbonite 设置设置为我认为的“使用更少的网络资源”,这将限制其消耗的带宽 - 将其保存用于该盒子上实际需要的用途。
答案3
纠正您的(可能已经存在的解决方案):Raid 1 是条带集,而镜像条带集我们称之为 Raid 10。仅使用 2 个磁盘,您就可以使用 Raid 10(仅镜像)或条带(Raid 1)。
如果是 Raid 10,则整体速度为 3 Gbit
如果
<USER>
升级到 W2k12,则新的分支:- 选项 1:存储空间是为您的情况而构建的。如果您添加更多驱动器以实现冗余,这会让您看起来很严肃。
- 选项 2:花点钱买一个 HW Raid 控制器,速度都最高。这会让你看起来很认真!
ENDIF
汤姆。