我有一个备份应用程序,由 Microsoft SQL Server 中的多个数据库(每个客户端一个)支持,将文件作为 BLOB 存储在数据库中。
我们希望将此应用程序迁移到 Amazon EC2,并希望有 3TB 的可用磁盘。您可以创建并附加到实例的最大 EBS 卷是 1TB。
(假设 3TB 可以容纳大约 500 个数据库,每个数据库增长到 6GB。)
我认为有两种方法可以实现此目的:
- 创建这些磁盘的条带 RAID 卷
- 手动管理数据库,将 ⅓ 存储在每个磁盘上
对于 RAID 卷来说,条带中任何一个卷发生故障都会导致所有数据丢失。亚马逊不建议在 EBS 卷上使用软件 RAID 1,建议您使用常规 EBS 快照来管理持久性(因为这是在实例之外处理的)。如果您手动管理数据库,则磁盘故障只会影响该卷上的数据库。
手动管理卷意味着大量的管理开销。
有没有一种方法可以让我说“这三个磁盘是 SQL Server 的主存储池”并让它自行排序?
答案1
不,你不能给 SQL A 这样的资源池。我看到了三种选择。
- 在 Windows 中对卷进行条带化并创建单个 3 Gig 卷
- 将数据库分成三个池,并将 1/3 放在每个 1TB 磁盘上。
- 向每个数据库添加两个附加文件,并将所有数据库放在所有三个磁盘上。这将需要重建所有索引,以便数据均匀分布在文件组的所有三个文件中。