mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Created Path Specific Configuration (markdown)
parent
346508587e
commit
623246de13
64
Path-Specific-Configuration.md
Normal file
64
Path-Specific-Configuration.md
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
## Requirements
|
||||||
|
Writes to SeaweedFS can configure most storage options, such as Collection, Replication, TTL, etc. However, you may want to configure these storage options on the filer side.
|
||||||
|
|
||||||
|
For example, an administrator can create a `/scratch/` directory, configured so that anything written to it is automatically given a 7-day TTL. This directory could be used to store things like CI build artifacts, and it would naturally roll off old files without any intervention.
|
||||||
|
|
||||||
|
This could also be used to implement a system-wide "trash can" (e.g. all deletes move objects to the trash and apply a TTL to them).
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
On filer, there is one special file, `/etc/filer.conf`. It has all the path-specific configurations.
|
||||||
|
|
||||||
|
All filers will read this configuration and apply the storage option based on the write target file path.
|
||||||
|
|
||||||
|
## How to configure
|
||||||
|
|
||||||
|
Here is an example of using `weed shell`. You can also write the `/etc/filer.conf` file directly. All filers will reload this file if it is changed.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ weed shell
|
||||||
|
|
||||||
|
# fs.configure will display current filer.conf content
|
||||||
|
> fs.configure
|
||||||
|
|
||||||
|
# add a location specific collection setting
|
||||||
|
> fs.configure -locationPrefix=/tests/ -collection=special
|
||||||
|
locations: <
|
||||||
|
location_prefix: "/tests/"
|
||||||
|
collection: "special"
|
||||||
|
>
|
||||||
|
|
||||||
|
# save the above setting
|
||||||
|
> fs.configure -locationPrefix=/tests/ -collection=special -apply
|
||||||
|
locations: <
|
||||||
|
location_prefix: "/tests/"
|
||||||
|
collection: "special"
|
||||||
|
>
|
||||||
|
> fs.configure
|
||||||
|
locations: <
|
||||||
|
location_prefix: "/tests/"
|
||||||
|
collection: "special"
|
||||||
|
>
|
||||||
|
|
||||||
|
# delete the above setting and save to the filer
|
||||||
|
> fs.configure -locationPrefix=/tests/ -delete -apply
|
||||||
|
>
|
||||||
|
|
||||||
|
# see more options
|
||||||
|
> fs.configure -h
|
||||||
|
Usage of fs.configure:
|
||||||
|
-apply
|
||||||
|
update and apply filer configuration
|
||||||
|
-collection string
|
||||||
|
assign writes to this colletion
|
||||||
|
-delete
|
||||||
|
delete the configuration by locationPrefix
|
||||||
|
-fsync
|
||||||
|
fsync for the writes
|
||||||
|
-locationPrefix string
|
||||||
|
path prefix, required to update the path-specific configuration
|
||||||
|
-replication string
|
||||||
|
assign writes with this replication
|
||||||
|
-ttl string
|
||||||
|
assign writes with this ttl
|
||||||
|
|
||||||
|
```
|
Loading…
Reference in a new issue