作为 MinIO SUBNET 软件的可支持性
Tl; minIO 博士利用工程重点和极简主义思维来添加可支持性功能,这意味着在问题成为您的安装问题之前找到并修复它们。
超越:MinIO 中作为软件的可支持性
正如 DevOps 和 Cloud Native 需要重新思考旧的开发范式一样,MinIO 的可支持性方法正在推动对支持的新思考。
这种方法从根本上讲是对客户的尊重。今天的客户,尤其是软件领域的客户,技术精湛,通常非常清楚他们的问题是什么,如果不是直接知道如何解决的话。将它们发送给根据脚本工作的第 1 层技术支持人员,对于所有相关人员来说都是不尊重和令人沮丧的。
可信度和复杂性
数据存储是现代企业的基础。如果出现故障,不仅会造成经济损失,还会损害声誉。虽然底层软件是构建块,但该软件的可支持性是使业务能够高效运行的因素。此外,在开发人员主导的世界中,可支持性是尊重客户的核心组成部分。
随着 MinIO 的采用率不断增长,我们的用户群也在扩大,这意味着 MinIO 运行的环境更加复杂和多变。通常,我们发现的问题不在 MinIO 软件中,而是在安装本身的上下文中。增加可支持性功能意味着无论您的生态系统有多复杂,当需要检查流程是否正常时,您都可以使用相同的功能集,使您或 SUBNET 团队能够在几分钟内解决问题,而不是几天。
通过 SUBNET 的支持功能意味着简单的健康检查可以让您的企业在问题出现之前处于维护状态。
子网
MinIO 的可支持性可帮助您在直接面向工程师的支持范围内扩展、运行潜在的复杂基础设施。这是企业处理可支持性方式的一个简单但意义深远的变化。
对于 MinIO 的商业客户, SUBNET 是一切的基础。根据MinIO 支持部门负责人Eco Willson 的说法
“SUBNET 将商业许可(对 AGPLv3 义务很重要)与独特的支持模型相结合,该模型通过 MinIO 构建的门户提供 24/7/365 直接面向工程师的支持,该门户将 Slack 和 Zendesk 的优点融合到问题解决方案中机器。还有许多其他功能,包括安全和架构审查、使用紧急按钮和赔偿,但核心功能是将我们的专业知识传递给我们的客户,以获得大规模数据基础设施解决方案。
由于我们对简单性的痴迷,SUBNET 如此具有颠覆性。我们软件的简单性。我们的方法简单(我们只做一件事,对象存储)。这些共同创造了一种易于支持的产品。”
灾难恢复与故障排除
在停机时间就是灾难的企业环境中,可支持性而非灾难恢复的工程至关重要。每个人都使用备份和恢复作为解决方案,但我们应该将其视为唯一的灾难恢复。如果您需要从备份中恢复,那您的情况就很糟糕了。一旦您使用了数 PB 的数据,您可能需要数天时间来恢复该数据并确保其备份和运行。那时你失去了生意,失去了收入,失去了信誉。确保您的生产系统可用并且可以快速恢复非常重要。虽然备份仍然是谨慎的,但避免灾难是更好的策略。
故障排除
找到具体问题始终是中心问题,尤其是在动态的企业级生产环境中。在那种环境中,事情是关键任务,业务依赖于它。可支持性不仅仅是一个 BI 工具。如果一个工具坏了,那就不方便了。如果您的环境出现故障,那将是一个大问题。
MinIO 是一个纯软件解决方案;不涉及硬件。我们的可支持性工具旨在帮助您确定流程中出现问题的位置。网络?驾驶?服务器?你如何使用它?您如何使用表现不佳的应用程序?
我们的主要重点不是简单地确保您只是在跑步;它是关于确保您以最佳方式运行。
支持
如果它使它变得更简单、更具可扩展性或更适合企业,我们就会去做并且做对了。这些新功能可以更轻松地更具体地确定任何困难的根源,从而更快地解决它们。
业内一些人会声称我们的模型不可扩展,您需要一个庞大的支持组织。那些公司不会像我们一样不懈地追求简单。这是可以扩展的,因为一切都与极简主义(简单性)有关,一切都是工程问题。随着我们的成长,我们将发展工程,而不是支持。
这种精神意味着可支持性功能本质上改进了产品,而不仅仅是我们的响应,是 MinIO 保持激光专注于基于工程的改进的一部分。
函数
注意:这些命令是为在mc supportMinIO 子网中注册的 MinIO 部署设计的,以确保诊断和性能测试的最佳结果。如果用于非 MinIO 部署或独立于 MinIO 工程和支持使用,MinIO 不保证任何功能。
访问子网
有关 SUBNET、其所有特性和功能以及访问和导航方式的精彩描述,请参阅我们网站上的这篇精彩文章。
门户网站

支持功能

健康检查诊断

痕迹
Trace对于了解流量非常重要,并且是报告支持问题的主要工具。通常,获取跟踪对于更好的调试总是有用的。在我们的文档和GitHub 存储库中阅读更多内容。
日志显示
systemd对于 susted/k8s/docker 日志来说大部分是多余的。有了Logs show,我们可以发送日志,将它们集中起来,然后对它们采取行动。在 SUBNET 中,它们被置于同一个位置的支持下。当服务器运行时生成错误日志时,Logs show打印出可操作的日志。在我们的文档中阅读更多内容。
导入/导出——IAM/Bucket 元数据
这是健康检查中的全新功能,可用于备份和恢复。它以灾难恢复为目标——必须拥有所有存储桶元数据和 IAM 用户组信息的副本。这些工具填补了灾难恢复方面的空白,因为这涉及到来自集群的对象信息,但必须提取所有策略和组。在我们的要点中阅读更多内容。
轮廓
Profile对于何时调用开发团队至关重要。它为 MinIO 二进制文件正在做的事情提供诸如 CPU 和内存时间之类的低级分析。Profile当您了解代码库时,信息最有用,但当您遇到性能问题时,它通常是我们首先询问的内容之一。CPU 信息说明系统的哪一部分正在使用 CPU 和内存,以及哪些东西正在占用内存。Goroutines检查正在运行的内容。当客户对使用计算、ILM 操作和修复有疑问时,扫描仪信息可提供对扫描仪操作的深入了解。Profile让我们看到一般速度和每个操作需要多长时间。

扫描仪信息
Scanner info对于大集群(小文件中的 PB 数据)很有用。使用扫描仪信息,您可以确定扫描数据需要多长时间,这使工程师能够找到瓶颈和减速。
平
该mc ping命令检查服务器的活跃度。Ping 可用于显示实例的延迟情况。如果是秒或微秒,则表明问题出在环境中,而不是 MinIO 本身。
准备好
Ready是检查集群健康状态的命令,以了解集群是否已准备好接收传入流量。这基本上命中了 MinIO 服务器的健康检查端点,以了解集群是否有足够的法定人数(成功从磁盘写入/读取数据的共识)来服务 s3 API 请求。
mc ready 有一个特殊的标志,mc ready它检查集群是否有足够的 READ quorum 来服务 HTTP GET。
如果集群没有准备好,mc ready会每隔五秒重复ping一次,直到集群准备好并返回结果。
例如,
➜ mc git:(master) ./mc ready myminio The cluster is not ready The cluster is not ready The cluster is not ready The cluster is not ready The cluster is not ready The cluster is not ready The cluster is not ready The cluster is ready
此命令对于检查集群是否准备就绪以及是否可以服务 S3 请求很有用。如果集群报告“未就绪”,则可能会出现 n/w 或磁盘故障,并且仲裁会丢失。
立即清除
Immediate purge是对立即强制删除对象的增强。在此功能之前,对象删除会将条目移动到.minio.sys/tmp/trash,然后垃圾桶将通过后台线程每五分钟清空一次。
此增强功能将立即清除对象,而不会将它们移动到任何临时垃圾目录。并且此功能仅适用于DeleteBucketandDeleteObject API而不适用于DeleteObjects. 当x-minio-force-delete标头传递给DeleteBucketandDeleteObject APIs时,将立即清除对象,而不是等待后台清理线程启动并清除垃圾。这种立即清除意味着将立即回收驱动器空间。
检查
在后端,我们有一个文件的擦除代码片段。如果你想重建这些,除非你是 MinIO 开发人员,否则你做不到。Inspect让您从所有服务器获取有关文件的信息。在我们的文档中阅读更多内容。
顶部
Top正在扩展,但只是偶尔使用。扫描器为 MinIO 做会计处理。Top 确定它是否需要另一层,或者它最近是否已被治愈。它不像 Linux top,后者为您提供系统信息。在我们的文档中阅读更多内容。
性能
Perf是部署集群时最重要的命令之一。如果您在部署之前在生态系统中遇到问题,部署将不会顺利进行。Perf是使您能够从技术上评估您部署到的环境的工具。例如,以下是 8 个服务器 80 个驱动器设置的一些实际数字:

在我们的文档和GitHub 存储库中阅读更多内容。
支持的)
更高的支持能力不仅创造了更好的环境来为我们的商业客户提供运营支持,而且是尊重客户时间和资源的坚定承诺的结果。
要深入了解,请下载 MinIO并亲自查看或在任何公共云上启动一个市场实例。你有问题吗?在Slack上或通过 sales@minio.org.cn提问。