<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Core Operational Concepts on SILO</title><link>https://silo.pgsty.com/operations/concepts/</link><description>Recent content in Core Operational Concepts on SILO</description><generator>Hugo</generator><language>en</language><atom:link href="https://silo.pgsty.com/operations/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>Deployment Architecture</title><link>https://silo.pgsty.com/operations/concepts/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/architecture/</guid><description>&lt;p&gt;&lt;a id="deployment-architecture"&gt;&lt;/a&gt;
&lt;a id="minio-architecture"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This page provides an overview of MinIO deployment architectures from a production perspective. For information on specific hardware or software configurations, see:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://silo.pgsty.com/operations/checklists/hardware/#minio-hardware-checklist"&gt;Hardware Checklist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silo.pgsty.com/operations/checklists/security/#minio-security-checklist"&gt;Security Checklist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silo.pgsty.com/operations/checklists/software/#minio-software-checklists"&gt;Software Checklist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silo.pgsty.com/operations/concepts/thresholds/#minio-server-limits"&gt;Thresholds and Limits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="distributed-minio-deployments"&gt;Distributed MinIO Deployments&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;A production MinIO deployment consists of at least 4 MinIO hosts with homogeneous storage and compute resources.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;MinIO aggregates these resources together as a &lt;a href="https://silo.pgsty.com/operations/concepts/#minio-intro-server-pool"&gt;pool&lt;/a&gt; and presents itself as a single object storage service.&lt;/p&gt;
&lt;figure&gt;
 &lt;img src="https://silo.pgsty.com/images/architecture/architecture-4-node-deploy.svg" alt="4 Node MinIO deployment with homogeneous storage and compute resources" /&gt;
 &lt;figcaption&gt;Each MinIO host in this pool has matching compute, storage, and network configurations&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;MinIO provides best performance when using locally-attached storage, such as NVMe or SSD drives attached to a PCI-E controller board on the host machine.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Availability and Resiliency</title><link>https://silo.pgsty.com/operations/concepts/availability-and-resiliency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/availability-and-resiliency/</guid><description>&lt;p&gt;&lt;a id="availability-and-resiliency"&gt;&lt;/a&gt;
&lt;a id="minio-availability-resiliency"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This page provides an overview of MinIO’s availability and resiliency design and features from a production perspective.&lt;/p&gt;
&lt;div class="alert alert-info" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The contents of this page are intended as a best-effort guide to understanding MinIO’s intended design and philosophy behind availability and resiliency. It cannot replace the functionality of &lt;a href="https://min.io/pricing?jmp=docs"&gt;MinIO SUBNET&lt;/a&gt;, which allows for coordinating with MinIO Engineering when planning your MinIO deployments.&lt;/p&gt;
&lt;p&gt;Community users can seek support on the &lt;a href="https://slack.min.io"&gt;MinIO Community Slack&lt;/a&gt;. Community Support is best-effort only and has no SLAs around responsiveness.&lt;/p&gt;</description></item><item><title>Erasure Coding</title><link>https://silo.pgsty.com/operations/concepts/erasure-coding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/erasure-coding/</guid><description>&lt;p&gt;&lt;a id="erasure-coding"&gt;&lt;/a&gt;
&lt;a id="minio-erasure-coding"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=QniHMNNmbfI"&gt;Overview of MinIO Erasure Coding&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MinIO implements Erasure Coding as a core component in providing data redundancy and availability. This page provides an introduction to MinIO Erasure Coding.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://silo.pgsty.com/operations/concepts/availability-and-resiliency/#minio-availability-resiliency"&gt;Availability and Resiliency&lt;/a&gt; and &lt;a href="https://silo.pgsty.com/operations/concepts/architecture/#minio-architecture"&gt;Deployment Architecture&lt;/a&gt; for more information on how MinIO uses erasure coding in production deployments.&lt;/p&gt;
&lt;p&gt;&lt;a id="minio-read-quorum"&gt;&lt;/a&gt;
&lt;a id="minio-ec-erasure-set"&gt;&lt;/a&gt;
&lt;a id="minio-ec-basics"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="erasure-coding-basics"&gt;Erasure Coding Basics&lt;/h2&gt;
&lt;div class="alert alert-info" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The diagrams and content in this section present a simplified view of MinIO erasure coding operations and are not intended to represent the complexities of MinIO’s full erasure coding implementation.&lt;/p&gt;</description></item><item><title>Object Healing</title><link>https://silo.pgsty.com/operations/concepts/healing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/healing/</guid><description>&lt;p&gt;&lt;a id="object-healing"&gt;&lt;/a&gt;
&lt;a id="minio-concepts-healing"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="what-is-healing"&gt;What is healing?&lt;/h2&gt;
&lt;p&gt;Healing is MinIO’s ability to restore an object that has been damaged, corrupted, or partially lost. The loss can come from multiple types of corruptions or loss, such as but not limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;drive-level errors or failure&lt;/li&gt;
&lt;li&gt;OS or filesystem errors or failure&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silo.pgsty.com/operations/concepts/erasure-coding/#minio-ec-bitrot"&gt;bit rot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="healing-and-erasure-coding"&gt;Healing and Erasure Coding&lt;/h2&gt;
&lt;p&gt;The ability of MinIO to restore a damaged object relates directly to the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;total number of drives in the &lt;a href="https://silo.pgsty.com/operations/concepts/erasure-coding/#minio-erasure-coding"&gt;erasure set&lt;/a&gt; where the object exists&lt;/p&gt;</description></item><item><title>Object Scanner</title><link>https://silo.pgsty.com/operations/concepts/scanner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/scanner/</guid><description>&lt;p&gt;&lt;a id="object-scanner"&gt;&lt;/a&gt;
&lt;a id="minio-concepts-scanner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;MinIO uses the built-in scanner to check objects for healing and to take any scheduled object actions. Such actions may include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;calculate data usage on drives&lt;/li&gt;
&lt;li&gt;evaluate and apply configured &lt;a href="https://silo.pgsty.com/administration/object-management/object-lifecycle-management/#minio-lifecycle-management"&gt;lifecycle management&lt;/a&gt; or &lt;a href="https://silo.pgsty.com/administration/object-management/object-retention/#minio-object-retention"&gt;object retention&lt;/a&gt; rules&lt;/li&gt;
&lt;li&gt;perform &lt;a href="https://silo.pgsty.com/administration/bucket-replication/#minio-bucket-replication"&gt;bucket&lt;/a&gt; or &lt;a href="https://silo.pgsty.com/operations/replication/multi-site-replication/#minio-site-replication-overview"&gt;site&lt;/a&gt; replication&lt;/li&gt;
&lt;li&gt;check objects for missing or corrupted data or parity shards and perform &lt;a href="https://silo.pgsty.com/operations/concepts/healing/#minio-concepts-healing"&gt;healing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The scanner performs these functions at two levels: cluster and bucket. At the cluster level, the scanner splits all buckets into groups and scans one group of buckets at a time. The scanner starts with any new buckets added since the last scan, then randomizes the scanning of other buckets. The scanner completes checks on all bucket groups before starting over with a new set of scans.&lt;/p&gt;</description></item><item><title>Thresholds and Limits</title><link>https://silo.pgsty.com/operations/concepts/thresholds/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/operations/concepts/thresholds/</guid><description>&lt;p&gt;&lt;a id="thresholds-and-limits"&gt;&lt;/a&gt;
&lt;a id="minio-server-limits"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This page reflects limits and thresholds that apply to MinIO.&lt;/p&gt;
&lt;p&gt;Refer to the &lt;a href="https://silo.pgsty.com/operations/checklists/hardware/#minio-hardware-checklist"&gt;hardware&lt;/a&gt; and &lt;a href="https://silo.pgsty.com/operations/checklists/software/#minio-software-checklists"&gt;software&lt;/a&gt; for related recommendations and requirements.&lt;/p&gt;
&lt;h2 id="s3-api-limits"&gt;S3 API Limits&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;p&gt;Item&lt;/p&gt;&lt;/th&gt;
 &lt;th&gt;&lt;p&gt;Specification&lt;/p&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;p&gt;Maximum object size&lt;/p&gt;&lt;/td&gt;
 &lt;td&gt;&lt;p&gt;50 TiB&lt;/p&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;p&gt;Minimum object size&lt;/p&gt;&lt;/td&gt;
 &lt;td&gt;&lt;p&gt;0 B&lt;/p&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;p&gt;Maximum object size per PUT operation&lt;/p&gt;&lt;/td&gt;
 &lt;td&gt;5 TiB for non-multipart upload&lt;br /&gt;50 TiB for multipart upload&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;p&gt;Maximum number of parts per upload&lt;/p&gt;&lt;/td&gt;
 &lt;td&gt;&lt;p&gt;10,000&lt;/p&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;p&gt;Part size range&lt;/p&gt;</description></item></channel></rss>