既然AWS通过i3系列服务器提供NVMe,那么在其中一个服务器的实例存储上托管数据库是否有最佳做法?
我的理解是,如果实例停止,则可以完全擦除存储。如果服务器有意或无意地重新启动,但似乎没有这种情况,但是仍然只有一个按钮可以擦除重要数据,因此这非常可怕。
我对底层基础架构的理解是,这是因为NVMe存储直接连接到物理主机,因此如果Amazon决定将您的VM移动到另一台主机,您将丢失数据。另外,将关键任务数据存储在单个硬件设备AWS上也是不好的。
但考虑到NVMe优于EBS(SAN?)存储的性能优势,推荐的设置是什么? VM副本,事务日志备份到永久存储等
答案 0 :(得分:2)
可以将i3实例上的NVMe SSD转换为持久的高可用存储空间。
选项:
1)在2或3个实例上的NVMe SSD之间进行镜像
2)NVMe SSD和EBS之间的镜像(EBS可以在不同的实例上),主要来自NVMe SSD。
虽然写入性能仍将受到网络或EBS的限制,但您可以获得NVMe的完整读取性能。在大多数情况下,读取带宽是大型数据库运行繁重查询所需的真正原因。
但是,仍然存在关于在实例之间故障切换数据库以及在实例停止/启动失败后恢复冗余的问题。
请查看本白皮书和第9页,详细了解有关如何为Oracle数据库群集完成此操作的详细信息: https://www.flashgrid.io/wp-content/sideuploads/resources/FlashGrid_OracleRAC_on_AWS.pdf
本文主要关注Oracle RAC数据库,但同样的解决方案适用于单实例Oracle以及任何其他基于Linux的数据库。虽然,您仍然需要Oracle Clusterware(免费)。