New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How can I extend the storage size after deployment? #4364
Comments
@Alexander-He you will have to launch a new minio instance with new storage and start using it. |
@Alexander-He Minio recommends cloud-native approach for scaling your storage infrastructure. When you run out of storage, you simply spin new Minio instance(s) per tenant. A tenant can be a user, a group of users, or any other kind of aggregation of data. Take for example, a CCTV video storage use case. Initially you wouldn't know how much storage you possibly need to store the videos. In such cases, you can assign one Minio instance to store videos from one month, another Minio instance to store videos for second month and so on. To make sure the application remembers which data is stored in which Minio instance, you can have a database storing the mapping from date-range to corresponding Minio instance. This way you can scale infinitely, while your storage and application remain relatively simple. Take a look at our multi-tenant deployment guide: https://docs.minio.io/docs/multi-tenant-minio-deployment-guide |
Related to #4366 |
@nitisht I see, this helped me, thank you very much, |
https://docs.minio.io/docs/distributed-minio-quickstart-guide.html expansion is already part of the main storage stack, so anyone landing here please read the latest documentation. |
@harshavardhana / @nitisht I have some questions about the above link. Suppose I start off with 4 nodes and run this:
...then as per the docs, I want to expand by adding more nodes and it says I should run a command like this:
The questions:
I am planning to run MinIO on cloud VMs that are dynamically created using an API (e.g. in batches of 4 nodes at a time) and I want all instances to appear as one unified data store to applications that access it. I would be interested in knowing how MinIO can be configured to work in this scenario (ideally MinIO would just enumerate other instances using DNS and expand itself). |
Yes
Yes all command line have to be same.
Yes of course. |
@harshavardhana thanks for the fast response! Let me clarify here. First I have 4 nodes so I run this:
Next I want to add other nodes, now the command has to be:
My question is: if I run the command on the new nodes, then they are aware of the old nodes, but the old nodes are not aware of the new nodes until I restart MinIO on each one of them...it kinda resembles a "split brain" scenario of sorts and I am wondering if that can cause problems. |
All command lines have to be the same everywhere - it can be in the expanded and non-expanded setup. You cannot add new pools to a running system. |
Thanks again for clarifying! I am still working through the docs and have got two MinIO instances on Linode.com that I am experimenting with (love how simple this thing is to use!). If you can point me to any docs that discuss the way pools work, what you can/can't do with them, etc...that would be awesome! |
My best-case experience is this:
|
@NMi-ru this has been never tested, so whatever you are attempting here is brave - if it works then 👍🏽 - if it does not then it was never designed to work for these situations. There is an upcoming change coming that allows for the dynamic expansion of an existing deployment, so that would make this entire approach of waiting for nodes obsolete as you can add pools at runtime.
This will allow for pool management as well as being able to expand at will. |
hi harshavardhana, that sounds great,is there any plan or roadmap to track this feature about dynamic expansion? |
It's on my laptop right now - there is no real timelimit on when it will be available all I can say is soon. |
I have a question regarding the docs:
Does it mean that old files will not get erasure coding benefits of the expanded nodes? I would like to all files (both new and old) to have erasure codes spread across all disks. |
Oh I think I can answer myself. The documentation refers to clusters which are picked up with the three-dots |
I have a situation, when I deploy my minio server, I don't know what storage size I need.
How can I extend the storage size after deployment?
Your Environment
minio version
):Version: 2017-03-16T21:50:32Z
Release-Tag: RELEASE.2017-03-16T21-50-32Z
Commit-ID: 5311eb2
Deploy type : 4 minio nodes share 1 drive, 4 minio client are directly deploy on operating system.
uname -a
):Linux LFG1000644016 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
n/a
The text was updated successfully, but these errors were encountered: