-
Notifications
You must be signed in to change notification settings - Fork 526
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
curvefs: support space deallocate for curvebs volume as backend
Signed-off-by: ilixiaocui <[email protected]>
- Loading branch information
1 parent
3cda511
commit f011606
Showing
135 changed files
with
5,882 additions
and
907 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
# | ||
################### mds一侧配置信息 ################## | ||
# | ||
|
||
# mds的地址信息,对于mds集群,地址以逗号隔开 | ||
mds.listen.addr=127.0.0.1:6666 | ||
|
||
# 初始化阶段向mds注册开关,默认为开 | ||
mds.registerToMDS=true | ||
|
||
# 与mds通信的rpc超时时间 | ||
mds.rpcTimeoutMS=500 | ||
|
||
# 与mds通信rpc最大的超时时间, 指数退避的超时间不能超过这个值 | ||
mds.maxRPCTimeoutMS=2000 | ||
|
||
# 与mds通信重试总时间 | ||
mds.maxRetryMS=8000 | ||
|
||
# 在当前mds上连续重试次数超过该限制就切换, 这个失败次数包含超时重试次数 | ||
mds.maxFailedTimesBeforeChangeMDS=2 | ||
|
||
# 与MDS一侧保持一个lease时间内多少次续约 | ||
mds.refreshTimesPerLease=4 | ||
|
||
# mds RPC接口每次重试之前需要先睡眠一段时间 | ||
mds.rpcRetryIntervalUS=100000 | ||
|
||
# The normal retry times for trigger wait strategy | ||
mds.normalRetryTimesBeforeTriggerWait=3 | ||
|
||
# Max retry time for IO-Path request | ||
mds.maxRetryMsInIOPath=86400000 | ||
|
||
# Sleep interval for wait | ||
mds.waitSleepMs=10000 | ||
|
||
# | ||
################# metacache配置信息 ################ | ||
# | ||
|
||
# 获取leader的rpc超时时间 | ||
metacache.getLeaderTimeOutMS=500 | ||
|
||
# 获取leader的重试次数 | ||
metacache.getLeaderRetry=5 | ||
|
||
# 获取leader接口每次重试之前需要先睡眠一段时间 | ||
metacache.rpcRetryIntervalUS=100000 | ||
|
||
# | ||
############### 调度层的配置信息 ############# | ||
# | ||
|
||
# 调度层队列大小,每个文件对应一个队列 | ||
# 调度队列的深度会影响client端整体吞吐,这个队列存放的是异步IO任务。。 | ||
schedule.queueCapacity=1000000 | ||
|
||
# 队列的执行线程数量 | ||
# 执行线程所要做的事情就是将IO取出,然后发到网络就返回取下一个网络任务。一个任务从 | ||
# 队列取出到发送完rpc请求大概在(20us-100us),20us是正常情况下不需要获取leader的时候 | ||
# 如果在发送的时候需要获取leader,时间会在100us左右,一个线程的吞吐在10w-50w | ||
# 性能已经满足需求 | ||
schedule.threadpoolSize=2 | ||
|
||
# 为隔离qemu侧线程引入的任务队列,因为qemu一侧只有一个IO线程 | ||
# 当qemu一侧调用aio接口的时候直接将调用push到任务队列就返回, | ||
# 这样libcurve不占用qemu的线程,不阻塞其异步调用 | ||
isolation.taskQueueCapacity=1000000 | ||
|
||
# 隔离qemu线程的任务队列线程池大小, 默认值为1个线程 | ||
isolation.taskThreadPoolSize=1 | ||
|
||
|
||
# | ||
################ 与chunkserver通信相关配置 ############# | ||
# | ||
# 读写接口失败的OP之间重试睡眠 | ||
chunkserver.opRetryIntervalUS=100000 | ||
|
||
# 失败的OP重试次数 | ||
chunkserver.opMaxRetry=2500000 | ||
|
||
# 与chunkserver通信的rpc超时时间 | ||
chunkserver.rpcTimeoutMS=1000 | ||
|
||
# 开启基于appliedindex的读,用于性能优化 | ||
chunkserver.enableAppliedIndexRead=1 | ||
|
||
# 重试请求之间睡眠最长时间 | ||
# 因为当网络拥塞的时候或者chunkserver出现过载的时候,需要增加睡眠时间 | ||
# 这个时间最大为maxRetrySleepIntervalUs | ||
chunkserver.maxRetrySleepIntervalUS=8000000 | ||
|
||
# 重试请求的超时rpc时间最大值,超时时间会遵循指数退避策略 | ||
# 因为当网络拥塞的时候出现超时,需要增加RPC超时时间 | ||
# 这个时间最大为maxTimeoutMS | ||
chunkserver.maxRPCTimeoutMS=8000 | ||
|
||
# 同一个chunkserver连续超时上限次数 | ||
# 如果超过这个值,就会进行健康检查,健康检查失败后,会标记为unstable | ||
chunkserver.maxStableTimeoutTimes=10 | ||
# chunkserver上rpc连续超时后,健康检查请求的超时间 | ||
chunkserver.checkHealthTimeoutMs=100 | ||
# 同一个server上unstable的chunkserver数量超过这个值之后 | ||
# 所有的chunkserver都会标记为unstable | ||
chunkserver.serverStableThreshold=3 | ||
|
||
# 当底层chunkserver压力大时,可能也会触发unstable | ||
# 由于copyset leader may change,会导致请求超时时间设置为默认值,从而导致IO hang | ||
# 真正宕机的情况下,请求重试一定次数后会处理完成 | ||
# 如果一直重试,则不是宕机情况,这时候超时时间还是要进入指数退避逻辑 | ||
# 当一个请求重试次数超过这个值时,其超时时间一定进入指数退避 | ||
chunkserver.minRetryTimesForceTimeoutBackoff=5 | ||
|
||
# 当一个rpc重试超过次数maxRetryTimesBeforeConsiderSuspend的时候 | ||
# 记为悬挂IO,metric会报警 | ||
chunkserver.maxRetryTimesBeforeConsiderSuspend=20 | ||
|
||
# | ||
################# 文件级别配置项 ############# | ||
# | ||
# libcurve底层rpc调度允许最大的未返回rpc数量,每个文件的inflight RPC独立 | ||
global.fileMaxInFlightRPCNum=128 | ||
|
||
# 文件IO下发到底层chunkserver最大的分片KB | ||
global.fileIOSplitMaxSizeKB=64 | ||
|
||
# | ||
################# log相关配置 ############### | ||
# | ||
# enable logging or not | ||
global.logging.enable=True | ||
# | ||
# log等级 INFO=0/WARNING=1/ERROR=2/FATAL=3 | ||
global.logLevel=0 | ||
# 设置log的路径 | ||
global.logPath=/data/log/curve/ # __CURVEADM_TEMPLATE__ /curvebs/client/logs __CURVEADM_TEMPLATE__ | ||
# 单元测试情况下 | ||
# logpath=./runlog/ | ||
|
||
# | ||
################# 读源卷相关配置 ############### | ||
# | ||
# 读取源卷时打开的fd超时关闭时间300s | ||
closefd.timeout=300 | ||
# 读取源卷时打开的fd后台线程每600s扫描一遍fdMap,关闭超时fd | ||
closefd.timeInterval=600 | ||
|
||
# | ||
############### metric 配置信息 ############# | ||
# | ||
global.metricDummyServerStartPort=9000 | ||
|
||
# 是否关闭健康检查: true/关闭 false/不关闭 | ||
global.turnOffHealthCheck=true | ||
|
||
# | ||
### throttle config | ||
# | ||
throttle.enable=false | ||
|
||
##### discard configurations ##### | ||
# enable/disable discard | ||
discard.enable=true | ||
# discard granularity | ||
discard.granularity=4096 | ||
# discard cleanup task delay times in millisecond | ||
discard.taskDelayMs=60000 | ||
|
||
##### alignment ##### | ||
# default alignment | ||
global.alignment.commonVolume=512 | ||
# alignment for clone volume | ||
# default is 4096, because lazy clone chunk bitmap granularity is 4096 | ||
global.alignment.cloneVolume=4096 | ||
|
||
##### chunkserver client option ##### | ||
# chunkserver client rpc timeout time | ||
csClientOpt.rpcTimeoutMs=500 | ||
# chunkserver client rpc max try | ||
csClientOpt.rpcMaxTry=86400000 | ||
# chunkserver client rpc retry interval | ||
csClientOpt.rpcIntervalUs=100000 | ||
# chunkserver client rpc max timeout time | ||
csClientOpt.rpcMaxTimeoutMs=8000 | ||
|
||
##### chunkserver broadcaster option ##### | ||
# broad cast max machine num | ||
csBroadCasterOpt.broadCastMaxNum=200 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.