Kennisbank › Objectopslag › Wat MinIO doet
objectopslag starter 08 September 2026

Wat MinIO doet

MinIO is objectopslag die de S3-API van Amazon spreekt, maar op uw eigen hardware draait. Dit artikel legt uit wat MinIO is, hoe u het opzet en waarom u het zou gebruiken.

MinIO is objectopslag die de S3-API van Amazon spreekt, maar op uw eigen hardware draait. Dit artikel legt uit wat MinIO is, hoe u het opzet en waarom u het zou willen — voor wie geen zin heeft in een cloudprovider die zijn prijzen verhoogt zodra uw data er eenmaal staat.

Vereisten

  • Een Linux-server (Ubuntu 22.04 of recenter, Debian 12, of een andere distro met systemd)
  • MinIO Server `RELEASE.2025-04-22T22-12-26Z` of nieuwer
  • MinIO Client (`mc`) — los binary, geen package manager nodig
  • Een vrije poort (standaard `9000` voor de API, `9001` voor de webinterface)
  • Root-toegang of sudo

Wat MinIO doet

MinIO slaat gegevens op als objecten, niet als bestanden in mappen. Elk object heeft een unieke identifier, metadata en de data zelf. Dat model schaalt horizontaal: wilt u meer ruimte, dan voegt u een node toe in plaats van een disk te vervangen.

De kern is S3-compatibiliteit. Omdat MinIO dezelfde API spreekt als Amazon S3, werken bestaande S3-tools, SDK's en scripts zonder aanpassingen. Dat is de reden dat MinIO in 2025 door miljoenen gebruikers draait — van een ontwikkelaar met één disk tot clusters die AI/ML-workloads voeden.

De oprichters — Anand Babu Periasamy, Garima Kapoor en Harshavardhana — lanceerden het project in november 2014 vanuit Palo Alto. Het bedrijf, MinIO, Inc., zit inmiddels in Redwood City en heeft investeringen opgehaald bij onder meer Intel Capital, SoftBank Vision Fund 2 en Dell Technologies Capital. Die namen doen er voor u weinig toe, behalve dit: MinIO wordt niet van de ene op de andere dag gestopt.

Waarom niet gewoon S3 gebruiken

De vraag is legitiem. Amazon S3 is een uitstekend product met een extreem lage prijs per gigabyte. Wat niet laag is, zijn de egress-kosten — wat u betaalt om uw data er weer uit te krijgen. En zodra uw data in een bucket staat, is weggaan een operatie die u liever niet doet.

MinIO draait op hardware die u controleert. Geen vendor lock-in, geen datacenter dat bepaalt wat uw opslag kost. Het nadeel: u bent verantwoordelijk voor backups, updates en beschikbaarheid. Zelf hosten klinkt prachtig, tot er iets omvalt op zondagavond half twaalf. Dan bent u geen klant die op de helpdesk wacht. Dan bént u de helpdesk.

Stap 1: MinIO Server installeren

Download het binary en zet het op een plek in uw `PATH`. MinIO levert geen package repository voor alle distro's, dus u haalt het rechtstreeks van de downloads pagina.

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

Controleer of de binary werkt:

minio --version

U zou een versienummer moeten zien dat begint met `RELEASE.2025-`. Staat er niks, dan hebt u het verkeerde binary gedownload of ontbreekt er een dependency.

Stap 2: Opslagdirectory aanmaken

MinIO slaat objecten op in een directory die u bij het starten opgeeft. Maak een dedicated directory aan, niet uw home directory:

sudo mkdir -p /data/minio
sudo useradd -r minio-user -s /sbin/nologin
sudo chown -R minio-user:minio-user /data/minio

De dedicated user is geen formaliteit. MinIO draait als root wanneer u het niet tegenhoudt, en dat wilt u niet voor een service die over het netwerk bereikbaar is.

Stap 3: Server starten

De eenvoudigste manier om MinIO te starten is direct vanaf de commandoregel:

minio server /data/minio --address ":9000" --console-address ":9001"

De eerste keer genereert MinIO een root-gebruiker en -wachtwoord en print die naar de terminal. Noteer ze — u hebt ze nodig voor de webinterface en de client.

Voor een productieomgeving wilt u dit als systemd-service draaien. Maak `/etc/systemd/system/minio.service` aan met deze inhoud:

[Unit]
Description=MinIO Object Storage
After=network.target</p><p>[Service]
User=minio-user
Group=minio-user
ExecStart=/usr/local/bin/minio server /data/minio --address ":9000" --console-address ":9001"
Restart=always
LimitNOFILE=65536</p><p>[Install]
WantedBy=multi-user.target

Daarna activeert u de service:

sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio

Stap 4: Client installeren

De MinIO Client (`mc`) is een apart binary. Het is een commandoregelinterface die niet alleen met MinIO werkt, maar met elke S3-compatibele service — AWS S3, Cloudflare R2, noem maar op.

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

Controleer:

mc --version

Stap 5: Verbinding configureren

Voordat `mc` iets kan doen, moet het weten waar uw server staat en met welke credentials. Het `alias set`-commando slaat die verbinding op in het configuratiebestand van `mc`:

mc alias set mijnminio http://localhost:9000 MIJN_ROOT_GEBRUIKER MIJN_ROOT_WACHTWOORD

Vervang `MIJN_ROOT_GEBRUIKER` en `MIJN_ROOT_WACHTWOORD` door de credentials die MinIO bij de eerste start genereerde. Staat de server op een andere machine, vervang dan `localhost` door het IP-adres of de hostnaam.

Stap 6: Bucket aanmaken en testen

Een bucket is de container waarin objecten leven. Maak er een aan met `mc`:

mc mb mijnminio/testbucket

Upload een bestand:

mc cp /etc/hostname mijnminio/testbucket/

Lijst de inhoud van de bucket:

mc ls mijnminio/testbucket

U zou `hostname` in de output moeten zien. Dat betekent dat de hele keten werkt: client → API → server → disk.

Stap 7: Toegang via de webinterface

MinIO's webinterface draait op poort `9001`. Open in uw browser:

http://localhost:9001

Log in met dezelfde root-credentials. De interface biedt bucketbeheer, toegangsbeleid en een objectbrowser. Voor dagelijks beheer is `mc` sneller, maar de webinterface is handig voor wie geen terminal bij de hand heeft.

Stap 8: Toegangsbeleid instellen (optioneel)

Root-credentials voor elke applicatie delen is een slecht idee. Maak een aparte gebruiker aan met beperkte rechten:

mc admin user add mijnminio appuser eenlangwachtwoord
mc admin policy attach mijnminio readwrite --user appuser

Het beleid `readwrite` geeft volledige toegang tot alle buckets. Wenst u een gebruiker die alleen bij één bucket kan, dan moet u een custom policy schrijven. Dat kost tijd, maar het voorkomt dat een gecompromitteerde applicatie uw volledige opslag kan wissen.

Verificatie

Controleer of alles werkt met een paar commando's:

mc ls mijnminio
mc admin info mijnminio

`mc ls` toont uw buckets. `mc admin info` toont de status van de server — hoeveel disks er actief zijn, hoeveel ruimte er vrij is, en of er problemen zijn. Beide commando's moeten zonder foutmelding terugkomen.

Veelgestelde problemen

MinIO start niet en meldt een poortconflict. Poort `9000` of `9001` is al bezet. Check met `sudo ss -tulpn | grep 9000` welk proces de poort gebruikt, en kies een andere poort in uw systemd-unit of commandoregel.

`mc` kan geen verbinding maken met de server. De server luistert mogelijk alleen op `localhost`. Controleer of MinIO draait met `sudo systemctl status minio`, en of de firewall poort `9000` openzet: `sudo ufw allow 9000`. Staat MinIO op een andere machine, controleer dan of de server op alle interfaces luistert — de vlag `--address ":9000"` doet dat standaard.

Root-wachtwoord kwijtgeraakt. MinIO slaat credentials op in de configdirectory die u bij het starten opgaf. Stop de service, verplaats de configdirectory en start opnieuw — MinIO genereert dan nieuwe credentials. Uw bestaande objecten blijven behouden, maar alle toegangsbeleid die u had ingesteld vervalt.

Waar MinIO niet voor is

MinIO is geen vervanging van uw bestandssysteem. Het is geen NFS- of SMB-share waar uw applicaties direct op kunnen schrijven. Objectopslag heeft een andere API, andere latency-eigenschappen en een ander consistentiemodel.

Wat MinIO wél is: een S3-compatibele opslaglaag voor applicaties die daarvoor zijn gebouwd. Ente server gebruikt het om versleutelde foto's op te slaan. Docker Buildx kan er buildcaches in kwijt voor snellere CI/CD-pipelines. Grafische clients zoals Crabdrop en S3Drive geven u een bestandsbeheerder bovenop de S3-API.

De grens is duidelijk. Voor bestaande S3-workloads die u naar eigen hardware wilt halen, is MinIO een van de weinige volwassen open source opties. Voor wie gewoon een map wil delen over het netwerk, zijn er betere tools.

De vraag is niet of MinIO goed is. De vraag is of u de operatie eromheen wilt draaien.

← Terug naar kennisbank
← Terug naar kennisbank