Azure 建议

针对 Azure 的建议

生产就绪群集配置

我们建议在 VM 上禁用交换,这通常是 Azure Linux 图像的默认设置。我们发现,使用临时固态硬盘进行交换(通过 WAAgent 配置)可能会与 系列 VM 的磁盘缓存配置发生冲突。其他 VM 系列(如 L 系列)可以使用固态硬盘进行交换和其他用途。

有关磁盘配置的详细信息,请参阅以下部分。应使用监控(例如,带有 Prometheus 的 Node Exporter)识别和警告工作负载接近 Azure 定义的限制范围。

另外,虽然每个虚拟机都支持多个 NIC,但是带宽取决于 VM,而不是 NIC。因此,将网络分割为控制和数据板块(或其他网络)可能对组织或安全目的有用,需要 Linux 级流量成形才能实现带宽控制。

为了在 Azure 上实现高性能的可靠群集操作,建议使用具有特定磁盘配置的优质固态硬盘。托管磁盘 (MD) 比非托管磁盘 (UMD) 更能避免存储帐户限制:Azure fabric 将适当地放置托管磁盘,以满足保证的 SLA 要求。UMD 的存储帐户限制已记录在 .

鉴于需要与异步 I/O 负载分离同步以维持性能,我们推荐以下磁盘安装配置:

  • 管理节点:
    • / - P10
    • /var/log - P10
    • /var/lib/dcos/exhibitor - P10
  • 公共代理:
    • / - P10
    • /var/log - P10
    • /var/lib/docker - P10
    • /var/lib/mesos/slave - P10

运行磁盘较小和/或更少的群集是当然可能的,但在生产中的使用证明,上述配置已经对任何非极小型大小的群集都具有重大优势。此外,我们建议使用 Mesos MOUNT 磁盘资源,将适当的高级固态硬盘安装到 /dcos/volume0 ... /dcos/volumeN ,可在之后专门用于数据密集型服务,而不会导致 I/O 争用。对于 postgres 或 mysql 等数据密集型服务,应考虑将 LVM RAID 条带连接到这些 MOUNT 资源,以增加每秒数据库的可能处理量。

  • 操作系统磁盘应设置为 .
  • 具有混合或读取重负载(数据库大宗存储等)的数据磁盘应设置为 ReadOnly.
  • 具有高顺序写入负载的数据磁盘(WAL 磁盘)应设置为 .