Minio: found backend type fs, expected xl or xl-single
Asked Answered
S

4

8

I try to upgrade minio version in my docker commpose(previously I used image: minio/minio:RELEASE.2020-06-22T03-12-50Z and it was working ) For now I have following docker-compose service:

version: '3.6'
services:
  minio:
    container_name: minio
    image: minio/minio:RELEASE.2022-11-17T23-20-09Z.fips
    volumes:
      - minio-data:/data
    ports:
      - 9000:9000
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=minio123
    command: server /data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

When I try to start(docker-compose up -d) I see the following error in the minio container log:

2022-11-25 11:40:56 ERROR Unable to use the drive /data: Drive /data: found backend type fs, expected xl or xl-single - to migrate to a supported backend visit https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html: Invalid arguments specified

I've googled the following article https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html

But I still don't understand what shoud I change in my compose file to make it working.

Steenbok answered 25/11, 2022 at 8:47 Comment(0)
P
3

looks like you need migrate data/fs in your volum to be used in new version of minio

so you need to run steps from https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html

In your compose you need to add

volumes:
   minio-data:
      driver: local
Pompous answered 4/12, 2022 at 10:23 Comment(6)
I've seen this page but I don't need to migrate because I am not interested in historical data. I just want to run new image minio with empty data.Steenbok
than create new empty volumPompous
if you shure that you don't need old data then you can run (it will remove old volum and than you can start your docker-compose again): docker volume rm minio-dataPompous
Sasha, I tried to remove all volumes but it didn't help so it is a reason why I've created this topic. Have you tried tio run it locally using my compose file from the topic ? Does it work for you ?Steenbok
what says "docker volume ls" ?Pompous
tried locally => solution in the answer updatePompous
S
2

It is not a solution but workaround how to use a fresh version:

  minio:
    container_name: minio
    image: bitnami/minio:2022.11.17-debian-11-r0
    volumes:
      - minio-data:/data
    ports:
      - 9000:9000
      - 9001:9001
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=minio123
      - MINIO_DEFAULT_BUCKETS=mybucket1,mybucket2
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
Steenbok answered 28/11, 2022 at 13:23 Comment(0)
G
2

I had the same error. In my mounting folder there was an old version of .minio.sys folder. Once i removed that folder minio started again. I'm only starting a minio docker container for testing which didn't start anymore when upgrading to the latest minio docker image.

Check out hte docs: minio docker container doc

Giveandtake answered 4/5, 2023 at 7:57 Comment(1)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Biparty
V
0

One workaround is to combine a MinIO downgrade to a version prior to 20240602, i.e. still supporting the simple file system access with a flush of the MinIO metadata folder (e.g. mv ~/.minio.sys ~/.minio.sys.bak), which should be performed when the MinIO container is not running (MinIO will recreate this folder asynchronously on next run).


More info

It happens for instance predictably after a downgrade of a newer MinIO version, that no longer supports the simple file system (fs) access (i.e. does not see existing files without artificially passing each of them through the API) to a "classic" version that still supported such simple solution.

The file system support in MinIO was dropped by design in 20240602, so for instance this will happen if you first run the latest containerized version minio/minio:latest and let it create the metadata folder (~/.minio.sys), and then try to downgrade to minio/minio:RELEASE.2022-05-26T05-48-41Z.hotfix.204b42b6b (the last version supporting the file system access).

Vela answered 17/3 at 10:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.