MinIO: Amazon S3 competition
Premium Storage
Archive Storage
Various regulations today require, for example, government agencies to use write once, read many (WORM) devices, which means that data records can no longer be modified once they have been sent to the archive. MinIO can act as WORM storage. If so desired, all functions that enable write operations can be deactivated in the MinIO API.
However, don't wax overly euphoric at this point – many authorities also require that systems be certified and approved for the task by law. The MinIO website show no evidence that MinIO has any such certification. In many countries, this solution would be ruled out for policy reasons in the worst case.
S3 Only
MinIO makes redundant storage with built-in encryption, anti-bit-rot functions, and the ability to replicate to three locations easy to implement. S3 is the client protocol used – a major difference compared with other solutions, especially industry leader Ceph. Just as OpenStack Swift is designed for Swift only, MinIO is designed to operate as an S3-compatible object store only.
MinIO therefore lacks the versatility of Ceph: It cannot simply be used as a storage backend for virtual instance hard drives. Also, the features that Ceph implements as part of CephFS in terms of a POSIX-compatible filesystem are not part of the MinIO strategy, but if you're looking for S3-compatible storage only, MinIO is a good choice.
If you additionally need backend storage for virtual instances such as virtual machines or Kubernetes instances, you will need to operate a second storage solution in addition to MinIO, such as a NAS or storage area network system. Although not very helpful from an administrative point of view, the S3 feature implemented in MinIO is significantly larger than that of the Ceph Object Gateway. Specialization is definitely a good thing in this respect.
Jack of All Trades
At this point, the MinIO client needs a good look. It can do far more than a simple S3 client, because it is far more than a simple client. If you specify an S3 rather than a MinIO instance as the target, its features can also be leveraged by the MinIO client.
The client can do far more by emulating a kind of POSIX filesystem at the command line – but one that is remotely located in S3-compatible storage. The tool, mc
, is already known in the open source world and offers various additional commands, such as ls
and cp
. By setting up cp
as an alias for mc cp
or ls
as alias for mc ls
, you don't even need to type more than the standard commands, which will then always act on the S3 store. Additionally, mc
provides auto-completion for various commands.
What is really important from the user's point of view, however, is that this command can be used to change the metadata of objects in the S3 store. If you want to replicate a bucket from one S3 instance to another, you need the mirror
command. To use this, you first set up several S3-based storage backends in mc
, and then stipulate that individual buckets must be kept in sync between the two locations. Replication between two MinIO instances is also quickly set up with mc replicate
. If you want a temporary share of a file in S3 together with a temporary link, you can achieve this with the mc share
command, which supports various parameters.
Buy this article as PDF
(incl. VAT)