diff --git a/S3-Gateway-FAQ.md b/S3-Gateway-FAQ.md new file mode 100644 index 0000000..3a264ea --- /dev/null +++ b/S3-Gateway-FAQ.md @@ -0,0 +1,24 @@ +#FAQ + +## Can not upload due to "no free volumes left" + +The symptom is similar to https://github.com/chrislusf/seaweedfs/issues/1631 where the logs show +``` +Nov 20 18:49:37 s2375.j weed[31818]: E1120 18:49:37 31818 filer_server_handlers_write.go:42] failing to assign a file id: rpc error: code = Unknown desc = No free volumes left! +Nov 20 18:49:37 s2375.j weed[31818]: I1120 18:49:37 31818 common.go:53] response method:PUT URL:/buckets/dev-passport-video-recordings/02342a46-7435-b698-2437-c778db34ef59.mp4 with httpStatus:500 and JSON:{"error":"rpc error: code = Unknown desc = No free volumes left!"} +Nov 20 18:49:37 s2375.j weed[31818]: E1120 18:49:37 31818 s3api_object_handlers.go:336] upload to filer error: rpc error: code = Unknown desc = No free volumes left! +``` + +Each bucket will create one collection, with at least 7 volumes by default, and each volume is pre-allocated with a large size, usually 30GB. + +There are 2 ways to fix this. +* Reduce the global volume size by adjusting `-volumeSizeLimitMB` in `weed master` CLI option. +* Reduce the number of volumes to grow when a collection runs out of volumes. You can configure the per bucket storage this way in `weed shell`: + +``` +> fs.configure -locationPrefix=/buckets/ -volumeGrowthCount=1 -apply +``` + +This will add 1 physical volume when existing volumes are full. If using replication, you will need to add more volumes. + +See https://github.com/chrislusf/seaweedfs/wiki/Path-Specific-Configuration