Go to main content

Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.8.0

退出打印视图

更新时间: 2018 年 11 月
 
 

存储的群集注意事项

为了在群集配置中使用而对 Oracle ZFS Storage Appliance 进行大小调整时,有两个非常重要的注意事项:

  • 所有池归同一控制器所有还是在两台控制器之间分割。

  • 您是否需要无单点故障 (No Single Point of Failure, NSPF) 的池。

分配存储池所有权-或许最重要的决定是将所有存储池的所有权分配给同一控制器还是在两台控制器之间分割。需要考虑作出一些权衡,如图 14, 表 14, 存储池的群集注意事项中所示。

一般来说,应该在一台控制器上配置池,但额定操作期间针对吞吐量优化或故障转移性能不容考虑时除外。处于故障转移状态时性能特征的确切变化在很大程度上取决于工作负荷的性质和大小。一般来说,某台控制器沿任何特定轴提供的性能越接近最大值,工作负荷由该控制器的对等设备接管时沿该轴的性能下降越明显。当然,如果包含多个池,两种工作负荷的性能都会下降。

读高速缓存设备位于该控制器或磁盘机框中,具体取决于您的配置。

位于控制器插槽(内部 L2ARC)中的读高速缓存设备不遵循接管或故障恢复情况下的数据池。在读高速缓存设备驻留的节点上导入分配给该设备的池时,读高速缓存设备仅在特定群集节点上处于活动状态。没有其他配置步骤,读高速缓存将无法用于由于故障转移事件而迁移的池。为了对不是由群集对等设备所拥有的池启用读高速缓存设备,请在非拥有节点上接管该池,然后添加存储并选择要配置的高速缓存设备。应按照配置存储中所述配置群集节点中的读高速缓存设备。优化了写入的日志设备位于存储结构中,始终可由已导入了池的控制器访问。

如果读高速缓存设备位于磁盘机框(外部 L2ARC)中,则读高速缓存始终可用。在故障恢复或接管操作期间,读高速缓存在控制器之间保持可共享。在这种情况下,读取性能持久不变。有关外部读高速缓存配置详细信息,请参见Oracle ZFS Storage Appliance 客户服务手册中的磁盘机框配置

配置 NSPF-第二个重要的存储注意事项是采用无单点故障 (NSPF) 的池配置。由于使用群集意味着应用程序非常注重可用性,因此几乎没有充分的理由将存储池配置为允许单个磁盘机框发生故障导致可用性降低。这种方法的缺点是:NSPF 配置所需的磁盘机框数量比使用闪电战故障配置多;当所需容量很小时,为了在所需的 RAID 级别提供 NSPF 而安装足够的磁盘机框可能在经济上并不划算。

下表介绍了群集配置的存储池所有权。

表 14  存储池的群集注意事项
可变因素
单控制器池所有权
不同控制器拥有多个池
总吞吐量(额定操作)
在任何时间最多可使用总 CPU 资源的 50%、DRAM 的 50% 和总网络连接的 50% 来提供服务。这种情况非常简单:只有一台控制器处理客户机请求,因而另一个处于闲置状态。
在任何时间均可使用所有 CPU 和 DRAM 资源来提供服务。在任何时间最多可使用所有网络连接的 50%(需要在每台控制器上安装备用网络设备来支持故障转移)。
总吞吐量(故障转移)
相对于额定操作,吞吐量无变化。
将使用未发生故障的控制器的全部资源来提供服务。相对于额定操作,总吞吐量范围从大约 40% 到 100%,具体取决于额定操作期间的利用率。
I/O 延迟
内部读高速缓存在故障恢复或接管操作期间不可用,对于适合可用的读高速缓存的读取操作繁重的工作负荷,这可能会显著增加延迟。写入操作的延迟不受影响。
对于外部读高速缓存配置 (External Read Cache Configurations, EL2ARC),读取性能不受影响。在故障恢复或接管操作期间,读高速缓存在群集对等设备之间共享,从而防止读取延迟。
内部读高速缓存在故障恢复或接管操作期间不可用,对于适合可用的读高速缓存的读取操作繁重的工作负荷,这可能会显著增加延迟。读取和写入操作的延迟可能会因控制器资源争用加剧而有所增加。原因是在未发生故障的控制器上运行两种工作负荷而非通常的一种。每台控制器上的额定工作负荷接近控制器的最大能力时,故障转移状态下的延迟可能会非常高。
对于外部读高速缓存配置 (External Read Cache Configurations, EL2ARC),读取性能不受影响。在故障恢复或接管操作期间,读高速缓存在群集对等设备之间共享,从而防止读取延迟。
存储灵活性
共享资源和 LUN 可使用所有可用的物理存储。
特定池的共享资源和 LUN 只能使用分配给该池的存储。存储并不在池之间共享,因此如果一个池空间已满而另一个池具有可用空间,就会浪费某些存储。
网络连接
在每台控制器提供服务的同时,可使用该控制器上的所有网络设备。
在每台控制器提供服务的同时,只能使用该控制器上所有网络设备的一半。因此,每个池只能连接到物理上不相交的网络中的一半。

相关主题