#Project fsea
##概述 fsea提供一个基于桶文件的http文件服务。这个服务是单机的,无Cache的。
##目录结构 fsea的默认系统目录结构如下:
./bin/fsea
./conf/fsea.json
./buckets/fid_12.bkt
也可以通过启动命令来指定conf文件:
fsea --conf=/etc/fsea.conf
##配置文件格式 fsea的配置文件为toml文件格式。
Id = "fsea的服务标识"
Port = 8080
AdminIP = ["192.168.200.17", "192.168.200.18"]
Regto = ["http://server1/reg"]
[[Bucket]]
Id = "0"
Path = "/data/fsea/buckets"
[[Bucket.File]]
Id = "1"
Name = "1_12.bkt"
[[Bucket]]
Id = "1"
Path = "/data/fsea/buckets2"
[[Bucket.File]]
Id = "0"
Name = "0_12.bkt"
[[Bucket.File]]
Id = "1"
Name = "1_12.bkt"
[Large]
Path = "/data/fsea/large"
Max = 0
Fold = "week"
以下用config.来引用配置文件中配置的信息。
管理类API提供了一系列管理接口,用于对配置的设置和修改。
这些接口仅能通过config.admin_ip指定的IP地址进行访问。
小贴士:
127.0.0.1虽然可以不设置在config.admin_ip的地址列表里,但系统内部允许访问。
管理API包括以下子项
/mount 挂载文件
/umount 卸载文件
/setconfig 设置配置值
/addconf 增加配置为列表的值
/delconf 删除配置为列表的其中给一个值
/mount/[Bucket ID]/[Bucket Size]/[Bucket Count]
/mount/[Bucket ID]/[File Name]
mount命令在指定设置的目录下创建一个文件。这个文件是新建的
Bucket ID:由config.bucket[].id指定的目录;
Bucket Size:用于指定桶的大小,单位是4096字节。例如:25,则实际桶大小为25*4096,也就是100K大小。限定值域为1~2048,也就是最大8兆。
Bucket Count:用于指定该文件的桶个数。
File Name:如果指定的是File Name,那么就挂载已经存在的文件,并分配ID。如果该文件已经挂载系统中,则先解除挂载,再重新挂载。
增加成功
{
id: 目录id:文件id,
size: 文件大小,
name: 文件名(全路径)
}
{
Err: 101,
Message: "Invalid Bucket ID",
Detail: "Valid Bucket ID is [0, 1, 2]"
}
参数错误,error可以是以下值:
101 "Invalid Fold ID": 指定的Fold ID未配置
102 "Bucket Size Too Large": 指定的桶值过大。范围限定1~2048
103 "File Too Big": 根据Bucket Size * Bucket Count计算出的文件大小超过16G。
考虑到文件复制、移动等因素,桶文件大小控制在16G以下。
104 "File Not Found": File Name指定的文件不存在。
创建文件失败。错误码201,detail中会将创建过程中的具体错误信息输出。
{
Err: 201,
Message: "Create File Failed",
Detail: ""
}
/mount/[File ID]
从系统中移除一个文件。
File ID的格式为,config.bucket.id:config.bucket.file.id
{
Err: 101,
Message: "Invalid Fold ID",
Detail: "Valid Fold ID is [0, 1, 2]"
}
参数错误,error可以是以下值:
101 "Invalid Bucket ID": 指定的Fold ID未配置
105 "Invalid File ID": File ID指定的文件未被挂载