使用多个存储池进行跨站点复制
如果您的 StorageGRID 部署包含多个站点,则可以通过为每个站点创建一个存储池并在规则的放置说明中指定这两个存储池来启用站点丢失保护。例如,如果您将 ILM 规则配置为创建两个复制副本并指定两个站点上的存储池,则每个对象的一个副本将放置在每个站点上。如果您将规则配置为创建两个副本并指定三个存储池,则会分发这些副本以平衡存储池之间的磁盘使用量,同时确保这两个副本存储在不同的站点上。
以下示例说明了在 ILM 规则将复制的对象副本放置到包含两个站点中的存储节点的单个存储池时可能会发生的情况。由于系统在放置复制的副本时会使用存储池中的任何可用节点,因此可能只会将某些对象的所有副本放置在其中一个站点中。在此示例中,系统会在站点 1 的存储节点上存储两个对象 AAA 副本,并在站点 2 的存储节点上存储两个对象 ccc 副本。只有当某个站点发生故障或无法访问时,对象 BBB 才会受到保护。
相比之下,此示例说明了使用多个存储池时对象的存储方式。在此示例中, ILM 规则指定为每个对象创建两个复制副本,并将这些副本分发到两个存储池。每个存储池都包含一个站点上的所有存储节点。由于每个对象的副本存储在每个站点上,因此,可以防止对象数据出现站点故障或无法访问。
使用多个存储池时,请记住以下规则:
-
如果要创建 n 个副本,则必须添加 n 个或更多存储池。例如,如果将规则配置为创建三个副本,则必须指定三个或更多存储池。
-
如果副本数等于存储池数,则每个存储池中将存储一个对象副本。
-
如果副本数小于存储池数,则系统会分发这些副本,以便在池之间保持磁盘使用量的平衡,并确保两个或更多副本不会存储在同一个存储池中。
-
如果存储池重叠(包含相同的存储节点),则对象的所有副本可能只保存在一个站点上。您必须确保选定存储池不包含相同的存储节点。