vCenter Integration
MinIO’s commitment to Kubernetes made us a natural design partner for both the VMware Cloud Foundation Data Services Manager and the vSAN™ Data Persistence platform. From the very beginning, MinIO has worked alongside VMware to design the most powerful and easily deployed persistent storage service. The result is that a single individual can manage petabyte sized deployments in their spare time and with only a few clicks - providing a powerful incentive to repatriate from the cloud.
Simple to deploy
MinIO integrated with vSphere can create a scalable, high performance, enterprise grade object store with a few clicks via vCenter. This allows a whole new generation of apps and use cases to be realized effortlessly without additional complexity.
Easy to manage
Capacity planning, hardware maintenance, software upgrade, heal monitoring, and performance management can now be done with a unified experience that is integrated with existing operational models.
Cost effective
vSAN Direct with flexible Erasure Coding from MinIO allows fine grained capacity management in addition to storage utilization and overhead. Applications can start small and grow as large as they like without unnecessary overhead and capital expenditure. In addition, erasure coding delivers greater resiliency, high-availability, and usable space compared to replication.
Cloud Native
Cloud-native architectures are built for simplicity and scale. They achieve this by breaking monolithic enterprise applications into scalable, stateless microservices and lambda functions. This makes applications easy to build, fix and continuously deploy. These applications offload vast amounts of states as blobs to a disaggregated object storage. With MinIO developers can write the next generation of applications without compromise.
Secure
MinIO provides a wide range of features to securely store and manage data at scale. Per object encryption, end-to-end TLS, easy upgrades and quick release cycles enable customers to secure their most critical data within MinIO.
Compliant
MinIO’s Object Lock feature is designed to meet securities industry requirements for preserving records in a non-rewritable, non-erasable format. Meeting standards such as Securities and Exchange Commission (SEC) in 17 CFR § 240.17a-4(f), Financial Industry Regulatory Authority (FINRA) Rule 4511(c) and principles-based electronic records requirements of the Commodity Futures Trading Commission (CFTC) in 17 CFR § 1.31(c)-(d) allows a wide range of critical applications to be built around MinIO.
Performant
MinIO is a high performance object store, this allows vSAN’s wide range of certified hardware solutions for various performance scenarios to be leveraged for enabling different types of application needs. These could be geared towards low time to first byte, large object counts or high aggregate throughput needs.
Kubernetes Native
MinIO is designed from the ground up to live in a containerized world. This allows for an object store experience in Kubernetes without compromising. vSphere’s integrated Kubernetes experience is further enhanced with MinIO’s Kubernetes native experience.
MinIO with VMware FAQs
How does MinIO integrate with vSphere?
vSphere 7.0 Update 1 ships with the VMware vSAN™ Data Persistence platform that enables software defined storage offerings like MinIO to be natively integrated with vCenter Workload Clusters running on top of vSAN. This deep integration allows admins to enable, manage and monitor MinIO from vSphere APIs and UI.
The integration includes the lifecycle management of MinIO object storage via the vSphere cluster while offering bare-metal like performance and cost efficiencies.
Which version of VMware vSphere do I need?
MinIO is built on top of the vSAN Data Persistence platform and is available in vSphere 7.0 Update 1 or higher.
Which workloads can leverage MinIO integrated with vSphere?
Object stores are often the core infrastructure that data intensive applications depend on. Because of MinIO’s performance characteristics it is used across a number of applications and use cases:
ML/AI: TensorFlow, KubeFlow, H20.ai
BigData: Splunk, Spark, Presto, Druid, Teradata
Content Delivery: VMware Harbor Container Registry, Video Streaming
Backup: Velero, Veeam
Which hardware profiles can be used?
MinIO can run on almost all hardware profiles. Our recommended partners are listed here.
What is the recommended density of hardware configuration in a cost-saving way?
We recommend the following:
- CPUs/Node: 2 Xeon Gold CPUs with 8 cores per CPU
- NIC/Node: 25GbE for Capacity
- Memory/Node: 128 GB
- Drives/Node: Minimum 8 HDD (16 TiB/drive)
- Minimum No of Nodes per Cluster: 4
- HW OEM Options: Please refer to the HW OEMs listed here for Capacity - https://min.io/product/reference-hardware
What is the multi tenancy model when using MinIO integrated with vSphere?
MinIO integrated with vSphere leverages the Data Persistency Platform to create multiple instances of MinIO to allow for isolated multiple tenants to be on boarded on the same vSphere install. Each tenant lives in their own namespace and the VI admin can carve resources, set quotas and assign them to each tenant.
How does MinIO’s encryption relate to vSAN’s encryption?
MinIO’s encryption functionality is implemented at the object layer and is designed for high-performance I/O. Objects are independently encrypted each with their own keys. Applications can choose to supply these encryption keys from the client side, or via an external Key Management Service. You do not need vSAN encryption when MinIO’s encryption is turned on.
Can I run MinIO on a Guest Cluster?
Running MinIO as a guest cluster is not recommended but it is possible. MinIO will need storage on the nodes exposed either through vSphere CSI driver or from VM local storage using Direct CSI driver.
How do I map applications to object-store instances/buckets?
Apps connect to an S3 endpoint which is provided in the MinIO instance plugin UI with virtual hosted style requests. MinIO is strictly consistent and has no bucket limitation. Multiple MinIO clusters can be deployed on the same bare metal or Kubernetes platform to achieve multi-tenancy as well if more separation is required.
Does MinIO support site to site replication?
MinIO’s server-side replication feature supports both active-passive and active-active configurations to keep two data-centers in sync continuously. Objects are replicated immediately as long as there is sufficient bandwidth.
How do I backup MinIO?
MinIO provides continuous data protection capability with built-in object versioning, immutability and server-side replication. You can roll back objects to any point in time without ever performing snapshots. Remote site is continuously kept in sync including the object version history. Since MinIO itself is a popular backup target, it is important to eliminate the need for yet-another backup storage tier.
How do I backup/restore MinIO instances?
Object Storage is typically backed up to another cluster in a geographically distant location. Cost will depend on the needs of the backup, i.e. does it need to be active-active replication backup or is it purely archival. In either case the cost is directly related to the amount of hardware needed for the backup. So, if all data does not need to be backed up, less hardware can be used on the DR site. If MinIO is being backed up to a cloud provider such as AWS S3, then the cost is specific to the provider.
Best practices related to replication and backups tend to be application and customer specific, however please see the following resources.
https://github.com/minio/minio/blob/master/docs/bucket/replication/DESIGN.md and https://docs.min.io/minio/baremetal/replication/replication-overview.html for a detailed guide.
How do I archive MinIO objects?
MinIO supports object expiry and transition via its ILM APIs. Objects are chosen for archival based on the object tags, expiry timeline and object name prefixes. API allows you to setup richer rules to selectively expire and transition the objects to a remote low-cost HDD based MinIO site.
How does MinIO work with Disaster Recovery planning on VMware?
MinIO supports disaster recovery planning through its server-side replication functionality. You can pair buckets with remote MinIO setups to keep them in sync continuously.
Do I need to plan for spare rebuild capacity?
MinIO uses Erasure Coding to evenly distribute all objects across the available servers. Spare nodes are not necessary in this configuration.
What is the software license for deploying MinIO on vSphere?
The MinIO Subscription Network can be found here. VMware requires a license key for all ISVs on the vSAN Data Persistence platform. There is a 60 day trial period, during which the enterprise will be automatically onboarded to SUBNET.
How do I get support for MinIO on VMware?
VMware requires that all of the ISVs on the vSAN Data Persistence platform offer licensing terms and product support independently of VMware. Information on the MinIO Subscription Network can be found here.
Does MinIO use vCenter HA?
MinIO is a highly-available distributed object storage system. It can tolerate multiple node and drive failures through its erasure-code and bitrot protection mechanism.
How can I find usage for buckets in a MinIO instance?
vSAN can offer usage consumption for the storage pools that host MinIO. Capacity for vSAN SNA and vSAN Direct is thick provisioned where the entire capacity needed is pre provisioned for MinIO. For further breakdown of the used capacity, MinIO Console provides a bucket level summary of used capacity.
What are the rough $/GiB numbers for this capacity-optimized configuration?
Please see the reference hardware page for various calculators. Please note that the calculators do not include VMware vSAN DPP related license costs.
What is the usable capacity based on the Erasure Coding scheme on MinIO for the 500 TiB raw capacity instance?
What is the relationship between users and instances?
MinIO looks at tenancy more from a resource management perspective (i.e. storage class or buckets). Most applications only require the endpoint and bucket to function. Multi-tenancy is useful to group similar applications, groups or users from resource management (i.e reporting) as well as operational management. There are no technical limitations restricting the sharing of many buckets in a large MinIO deployment.
What are the pros and cons of one application to one instance versus many applications to one instance and using individual buckets within the instance for each application?
This is dependent on the operational needs of a given organization. Many applications to a single instance will typically be used in scenarios where multiple groups from the same organization want to utilize a single cluster with resource access defined via IAM policies. This use case can be simpler operationally as there is only a single cluster to manage. Using unique instances for a given application is typically deployed for two use cases. The first, when you wish to have complete isolation of data, for example when providing MinIO services to end customers, you may wish to ensure that an incorrect policy application does not allow one customer to see another customer's data. The second is when you want to have different configurations for each unique cluster. One example would be to allow for different erasure code parity settings for non-critical data in one cluster, and higher redundancy for another cluster with business critical data.
What is needed to match erasure coding (and drive technology together) to number of 9s?
Data durability by most cloud storage vendors offers 11 nines of reliability. MinIO is designed from the ground up to be a drop-in replacement for AWS S3 service for various deployment methods and using similar commodity HW and features (i.e. EC and replication) MinIO can easily provide 11 9s of durability. Due its object-level granularity based on some calculations it is possible to even provide better durability but this would require very conservative erasure coding (EC) configurations which may be not practical or cost effective.
11 9s of durability (99.999999999) translates into about 12 objects lost per year per PiB. This can easily be prevented by using N/2 EC configuration and at a minimum of 2x site replication.
Basic calculations around erasure coding (EC) and its impact on durability can be found here.
Does MinIO support Multi-AZ deployment?
MinIO can be deployed in multiple availability zones via replication. Multiple MinIO instances (or tenants) can be deployed against disparate Kubernetes / VMware clusters that are deployed in various zones or regions of the overall Global Data Center footprint. Any given MinIO tenant should reside in a single vSphere cluster. Multiple tenants can exist in a single cluster. Stretch clusters are not recommended. MinIO supports active-active replication between independent tenants, where objects written to one tenant are automatically synchronized to the remote. Documentation can be found here.
When can we set up replicas and EC of an instance?
MinIO EC is configured at Tenant creation as part of the Tenant Size step. Select the Erasure Code Parity setting to use for the initial Zone. MinIO has an Erasure Code Calculator to assist in selecting an appropriate parity setting based on the desired Zone topology.
When expanding a tenant, the new Zone inherits its EC setting from the Tenant. MinIO requires that the new zone have a sufficient number of drives to support the Tenant EC. Specifically, the new zone must have at least 2x the number of drives to support the same EC configuration as the existing Zone’s EC in that particular tenant.
You can set up replication at any time after deploying the MinIO Tenant. MinIO server-side replication requires a MinIO service as the replication target. MinIO has documented procedures for One-Way Active-Passive and Two-Way Active-Active replication.
MinIO also provides the mc mirror tool for performing client-side content synchronization to any S3-compatible service.
How do I upgrade my MinIO instances?
The MinIO plugin tenant tab will indicate when an update is available. Customers can simply click on the UI to trigger the rolling instance upgrade. There is no service interruption.
How do I scale the instance as it grows? How does the scaling impact performance over time?
MinIO scales seamlessly from TiB to PiB. To learn more about the details we suggest this documentation.
Customers can also modify the vCPU allocation for the tenant. Please refer to this documentation for additional information.
Customers can also add more vSAN direct drives to scale capacity for each ESXi server. ESXi servers may also be expanded to accommodate capacity requirements.
Do we ever need any kind of rebalancing for capacity?
No. Rebalancing is not required with MinIO.
How do I upgrade the certified vSphere operator that manages the Hyperstore instances?
Please see the compatibility matrix below. The Operator upgrade must stay within the boundary of each row to keep all components in check. If user wants to upgrade MinIO Operator to the latest that cross different rows, need to upgrade the vDPp plugin as well, plugin upgrades are currently not handled from UI.
vDPP Plugin |
Release Notes |
MinIO |
MinIO Operator |
MinIO Console |
Notes |
v1.0.3 |
Shipped with 7.0U1 |
minio/minio:RELEASE.2020-10-18T21-54-12Z |
v3.0.28 |
v0.4.3 |
|
v1.1.1 |
Shipped with 7.0U2 |
minio/minio:RELEASE.2021-03-26T00-00-41Z |
v3.0.28 |
v0.4.3 |
Last v3 operator is v3.0.29 |
v2.0.3 |
Shipped with 7.0U3 |
minio/minio:RELEASE.2021-09-03T03-56-13Z |
v4.2.5 |
v0.9.8 |
Latest v4 operator is v4.2.14 |