国产精品无码一区二区三区太,亚洲一线产区二线产区区别,欧美A区,人妻jealousvue人妻

×

幫助中心

常見(jiàn)問(wèn)題
域名類
?  域名介紹
?  注冊(cè)/續(xù)費(fèi)
?  域名管理
?  域名過(guò)戶
?  域名轉(zhuǎn)移
?  增值服務(wù)
?  域名交易
?  通用網(wǎng)址
?  產(chǎn)品更新日志
郵局類
?  產(chǎn)品簡(jiǎn)介
?  產(chǎn)品管理
?  郵件客戶端
?  郵箱用戶操作指南
?  郵箱管理員操作指南
?  產(chǎn)品使用手冊(cè)
?  代理商控制臺(tái)操作指南
?  產(chǎn)品更新日志
云虛機(jī)類
?  購(gòu)買與升級(jí)
?  FTP
?  主機(jī)管理
?  技術(shù)問(wèn)題
?  數(shù)據(jù)庫(kù)
?  產(chǎn)品更新日志
ECS云主機(jī)類
?  產(chǎn)品更新日志
會(huì)員類
?  會(huì)員注冊(cè)
?  信息修改
?  忘記密碼
?  賬戶實(shí)名認(rèn)證
?  產(chǎn)品更新日志
財(cái)務(wù)類
?  后付費(fèi)計(jì)費(fèi)
?  在線支付
?  線下匯款
?  發(fā)票問(wèn)題
?  匯款單招領(lǐng)
?  退款問(wèn)題
?  充值業(yè)務(wù)
?  產(chǎn)品更新日志
ICP備案
?  備案問(wèn)題快速咨詢通道
?  備案介紹
?  備案賬號(hào)
?  ICP備案前準(zhǔn)備內(nèi)容
?  ICP備案流程
?  ICP備案操作指導(dǎo)
?  ICP備案信息查看
?  備案合規(guī)核查要求
?  資料下載
?  公安聯(lián)網(wǎng)備案與經(jīng)營(yíng)性備案
?  各地管局備案通知
?  常見(jiàn)問(wèn)題
服務(wù)類
?  ICP備案
?  小新服務(wù)
?  產(chǎn)品更新日志
網(wǎng)站定制類
?  網(wǎng)站定制問(wèn)題
?  網(wǎng)站訪問(wèn)問(wèn)題
新辦公類
?  常見(jiàn)問(wèn)題
?  操作手冊(cè)下載
云推送
?  云推送常見(jiàn)問(wèn)題
速成建站
?  網(wǎng)站訪問(wèn)問(wèn)題
?  網(wǎng)站使用問(wèn)題
?  產(chǎn)品更新日志
SSL證書(shū)
?  SSL證書(shū)常見(jiàn)問(wèn)題
?  產(chǎn)品更新日志
新網(wǎng)云產(chǎn)品類
?  新網(wǎng)云WEB應(yīng)用防火墻
?  新網(wǎng)云DDoS防護(hù)
?  云數(shù)據(jù)庫(kù)
?  云產(chǎn)品運(yùn)維
?  內(nèi)容分發(fā)網(wǎng)絡(luò)CDN
?  對(duì)象存儲(chǔ) S3
?  網(wǎng)絡(luò)
資料下載
新手上路

US3FS 文件掛載工具

  • 作者:
  • 文章來(lái)源:新網(wǎng)
  • 點(diǎn)擊數(shù):0
  • 更新時(shí)間:2024-03-27 10:29:41

US3FS是一個(gè)在Linux/Windows系統(tǒng)環(huán)境中,將S3的存儲(chǔ)空間(Bucket)掛載到本地掛載點(diǎn)的工具,掛載成功后,您可以像操作本地文件一樣操作存儲(chǔ)空間(Bucket)中的文件。



軟件版本:

linux: v2.0.2

windows: v1.6.8


運(yùn)行環(huán)境:


Linux:
Ubuntu 16.04 及以上 (可通過(guò)cat /etc/issue查看)

CentOS 7.0 及以上 (可通過(guò)cat /etc/redhat-release查看)


Windows:

開(kāi)啟WinFsp服務(wù)

image

主要功能

支持POSIX文件系統(tǒng)的大部分功能,如讀;順序?qū)?;?quán)限;UID/GID。


使用US3的分片上傳功能上傳大文件。
支持Etag和MD5校驗(yàn),保證數(shù)據(jù)一致性。



使用限制
不支持隨機(jī)寫(xiě)/追加寫(xiě)
rename非原子操作
不支持硬/軟鏈接
多個(gè)客戶端掛載同一個(gè)US3 Bucket時(shí),需要用戶自行維護(hù)數(shù)據(jù)一致性。

不支持讀取歸檔類型的文件




運(yùn)行環(huán)境

US3FS基于Linux下fuse和Windows平臺(tái)下winfsp實(shí)現(xiàn),您的機(jī)器需要支持fuse或winfsp。


建議您將US3FS運(yùn)行在以下環(huán)境中:

Linux:

ceontos 7.0及以上 (可通過(guò)cat /etc/redhat-release查看)

ubuntu 16.04及以上 (可通過(guò)cat /etc/issue查看)


Windows:

下載WinFsp Installer

根據(jù)官方說(shuō)明 進(jìn)行安裝


下載鏈接

Linux下載鏈接 或

curl -o us3fs https://ufile-release.cn-bj.ufileos.com/us3fs/us3fs_2.0.2CopyErrorSuccess

Windows下載鏈接


配置賬號(hào)訪問(wèn)信息


Linux

編輯/etc/us3fs/us3fs.yaml并增加如下信息(如果沒(méi)有該目錄需要自行創(chuàng)建):

access_key: ************************************secret_key: ************************************endpoint: ufile.cn-north-02.ucloud.cnhosts: []CopyErrorSuccess

冒號(hào)后有單個(gè)空格

access_key: 公鑰,支持token秘鑰和api秘鑰兩種模式,要有覆蓋上傳權(quán)限

secret_key: 私鑰,支持token秘鑰和api秘鑰兩種模式,要有覆蓋上傳權(quán)限

endpoint: 訪問(wèn)域名。填寫(xiě)域名為地域域名,并非具體的存儲(chǔ)空間域名。

hosts: 指定訪問(wèn)點(diǎn)IP列表,不會(huì)走DNS解析邏輯獲取US3接入層IP。如果指定個(gè)數(shù)小于3個(gè)不會(huì)生效。 如: hosts: [10.9.254.190, 117.50.123.23, 117.50.123.29, 117.50.123.8]

hosts指定的IP列表,在遇到異常(網(wǎng)絡(luò)不可達(dá))IP節(jié)點(diǎn)時(shí)會(huì)在5s檢測(cè)周期內(nèi)自動(dòng)標(biāo)記剔除,新的請(qǐng)求不受影響,但已經(jīng)發(fā)起的請(qǐng)求且使用異常網(wǎng)絡(luò)的鏈接,由于TCP采用退避指數(shù)重試算法,默認(rèn)重試次數(shù)為15次,所以最壞情況要到15min左右才能檢測(cè)異常,建議在使用該參數(shù)時(shí),修改Linux參數(shù)net.ipv4.tcp.retries2(或修改系統(tǒng)文件/proc/sys/net/ipv4/tcp_retries2)為6,可使如網(wǎng)絡(luò)不可達(dá)異常在25s左右能檢測(cè)到,從而剔除已建立異常鏈接;此外由于目前鏈接保活探測(cè)邏輯會(huì)占用一定量的文件描述符,建議調(diào)整系統(tǒng)設(shè)置,請(qǐng)參考場(chǎng)景問(wèn)題 中的系統(tǒng)日志出現(xiàn)too many open file問(wèn)題項(xiàng)解決。

當(dāng)需要在一臺(tái)機(jī)器上掛載多個(gè)Bucket時(shí),可以通過(guò)--passwd=passwd_file指定賬號(hào)信息(默認(rèn)路徑為 /etc/us3fs/us3fs.yaml,不需要指定)。

下載US3FS后。使用chmod +x us3fs增加可執(zhí)行權(quán)限,如果需要直接執(zhí)行,可將us3fs移動(dòng)到/bin目錄下。示例:

chmod +x us3fs./us3fs --passwd=passwd_file <bucket> <mountpoint> # 移動(dòng)到可執(zhí)行目錄下 mv us3fs /bin/us3fsus3fs --passwd=passwd_file <bucket> <mountpoint>CopyErrorSuccess


Windows

配置信息內(nèi)同linux,配置路徑自定義。

下載好可執(zhí)行文件后移動(dòng)到us3fs的工作目錄(自定義),然后通過(guò)按鍵windows+R打開(kāi)運(yùn)行窗口,輸入cmd進(jìn)入命令行工具界面(后續(xù)支持圖形化界面),進(jìn)入可執(zhí)行文件us3fs.exe 所在路徑。示例:

# 進(jìn)入可執(zhí)行文件所在盤(pán)符,這里是D盤(pán) C:\Users\Administrator> D: # 進(jìn)入可執(zhí)行文件所在路徑 D:\>cd us3fsD:\us3fs>dir驅(qū)動(dòng)器 D 中的卷沒(méi)有標(biāo)簽。卷的序列號(hào)是 5CAF-F66B D:\us3fs 的目錄 2021/09/09 21:16 <DIR> . 2021/09/09 21:16 <DIR> .. 2021/09/09 19:13 19,475,146 us3fs.exe 2021/08/26 11:29 157 us3fs.yaml 2 個(gè)文件 19,475,303 字節(jié) 2 個(gè)目錄 213,768,716,288 可用字節(jié) # 進(jìn)行掛載操作 # * 這里掛載到x盤(pán),并且指定uid,gid為0的用戶,日志級(jí)別為debug,預(yù)讀窗口為32MiB,掛載的US3桶名為rickwu D:\us3fs>us3fs.exe --passwd=us3fs.yaml -o debug --uid=0 --gid=0 --level=debug --readahead=32m <bucket> x:CopyErrorSuccess

注意目前Windows下掛載只能前臺(tái)掛載




使用方式

掛載
us3fs [global options] <bucket> <mountpoint>CopyErrorSuccess

卸載
umount <mountpoint>CopyErrorSuccess

參數(shù)<bucket>和<mountpoint>必須依次作為最后兩個(gè)參數(shù),否則其他參數(shù)不能生效

windows 對(duì)cmd執(zhí)行Ctrl+C


配置訪問(wèn)權(quán)限

us3fs掛載的默認(rèn)訪問(wèn)權(quán)限為當(dāng)前掛載用戶,如果需要允許其他用戶/用戶組訪問(wèn)掛載點(diǎn),可以使用如下參數(shù):

-o allow_other:允許任何用戶都可以訪問(wèn)文件。

--uid=xxx:指定默認(rèn)的用戶

--gid=xxx:指定默認(rèn)的用戶組

--mp_mask: 用來(lái)設(shè)置掛載點(diǎn)的權(quán)限掩碼,只有當(dāng)allow_other選項(xiàng)設(shè)置后,該選項(xiàng)才生效,默認(rèn)值為0000。使用方式基本于umask命令一致;例如需要設(shè)置掛載點(diǎn)的權(quán)限為770,則使用參數(shù) -o allow_other --mp_mask 0007;**注意root用戶會(huì)忽略非root用戶掛載時(shí)設(shè)置的mp_mask**。

可通過(guò)id命令獲取用戶的uid/gid信息,示例如下:

// 在ubuntu賬戶下掛載默認(rèn)用戶和用戶組為www的us3fsubuntu:~$ id www uid=1001(www) gid=1001(www) groups=1001(www) ubuntu:~$ us3fs --uid=1001 --gid=1001 -o allow_other <bucket> <mountpoint>CopyErrorSuccess

mp_mask 配置示例如下:

掛載目錄權(quán)限mp_mask
rwxrwxrwx0000
rwxrwx---0007
rwx------0077
rwxr--r--0033
rwxrwxr--0003
rwxr-xr-x0022


如果掛載出現(xiàn)以下問(wèn)題


stderr:/bin/fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.confCopyErrorSuccess

在/etc/fuse.conf中增加user_allow_other。

windows下只支持--uid和--gid

設(shè)置掛載只讀

掛載時(shí)時(shí)指定-o ro。

windows下不支持

開(kāi)啟日志

--level=info/debug/error 開(kāi)啟指定級(jí)別的us3fs日志
--debug_fuse 開(kāi)啟用戶態(tài)fuse日志
    centos 日志在/var/log/messages
    ubuntu 日志在/var/log/syslog
掛載時(shí)指定-f,us3fs會(huì)以前臺(tái)模式掛載,日志會(huì)輸出到屏幕上。

版本更新

執(zhí)行如下命令:

us3fs --updateCopyErrorSuccess

更新后的可執(zhí)行文件放在/bin/目錄下

windows無(wú)效


使用幫助

通過(guò)us3fs -h查看us3fs支持的參數(shù)

Linux

us3fs - a single posix file system based on us3USAGE us3fs [global options] bucket mountpointVersion US3FS Version: v2.0.2 Commit ID: 223949d Build: 2024-01-24:10:32:50 Go Version: go1.17.13 linux/amd64FUSE -o value Specify fuse/winfsp option --entry_timeout value How long to cache dentry for inode for fuse. (default: 5m0s) --attr_timeout value How long to cache inode attr for fuse (default: 5m0s) --disable_async_read Disable all read (even read-ahead) operations asynchronously --wb Enable writeback mode, which is turned off by default --max_background value Specify the max_background parameter of fuse kernel(>=7.13), currently fuse usespace supports up to 1024 (default: 64) --congestion_threshold value Specify the congestion_threshold parameter of fuse kernel(>=7.13), currently fuse usespace supports up to 768 (default: 48) --async_dio Enable the async_dio parameter of fuse kernel, async_dio is disabled by default --keep_pagecache Turn on pagecache, when the file is opened, it will be decided whether to update according to the modification time of the inode, so please pay attention to the attr_timeout and dcache_timeout parameters will have a certain impact on thisOS --dcache_timeout value How long to cache dentry for us3fs (default: 5m0s) --retry value Number of times to retry a failed I/O (default: 5) --parallel value Number of parallel I/O thread (default: 32) --disable_remove Disable remove op, such as unlink, rmdir, rename --debug Set debug level for fuse/winfsp --level value Set log level: error/warn/info/debug (default: "info") --log_dir value Set log dir --log_max_age value Set log max age (default: 72h0m0s) --log_rotation_time value Set log rotation time (default: 1h0m0s) --enable_load_dentries enable auto init dentries in memory --cache_db value specify cache db path, e.g.: dbtype:dbpath --local_write write file to local and upload async --max_local_file_size value specify local file max size (default: "32m") --read_after_write_finish read operation will wait all write operation done --finish_write_when_release all written data will be uploaded when release --readahead value Readahead size. e.g.: 1m/1k/1 (default: "0") --max_cache_per_file value Max cache per file when enable readahead. e.g.: 32m/64m/128m (default: "1024m") --etag value Check etag for part. value is percent(0~100) (default: 50) --passwd value specify access file (default: "/etc/us3fs/us3fs.yaml") --enable_md5 Enalbe md5 in http header --uid value Specify default uid (default: 0) --gid value Specify default gid (default: 0) --mp_mask value Specify mountpoint mask (default: 0) --disable_check_vdir disable detection of virtual directories --update Update us3fs to /bin/us3fs -n Doesn't check access when mount us3fs -l Enable local cache for small file -p value Specify local cache location (default: "/tmp/us3fs/") --prefix value Specify bucket prefix path --open_rename Use rename api rather than copy and delete --gfl Enable get_file_list --direct_read Enable cache bypass read --perf_dump value How long to output the performance dump (default: 1h0m0s) --skip_ne_dir_lookup Skip non-essential directory checking, such as files ending in ".log",".png",".jpg", etc. --storage_class value Storage type, including "STANDARD", "IA" (default: "STANDARD") --enable_remote_cache --cache_dirs value specify cache db path, e.g.: /tmp/read-cache1,/tmp/read-cache2 --cache_size_limit value specify cache size limit, unit is GB (default: 4) --master_addr value master server addr --data_port value if data_port is specified, then other clients will connect it to get chunk data (default: 0) --page_size value (default: 1048576) --fuse_session_cnt value (default: 0) MISC --help, -h show help -f foregroundCopyErrorSuccess

Windows

us3fs - a single posix file system based on us3USAGE us3fs [global options] bucket mountpointVersion US3FS Version: v1.6.8 Commit ID: c87ec9c Build: 2022-08-17:11:01:05 Go Version: go1.16.3 linux/amd64WinFSP -o value Specify fuse/winfsp option --dir_info_timeout value The expiration time of the directory information, in seconds (default: 5) --file_info_timeout value File information expiration time, in seconds (default: 5) --volume_info_timeout value Volume information expiration time, in seconds (default: 5) --case_insensitive Is case sensitive --keep_filecache keep filecacheOS --dcache_timeout value How long to cache dentry for us3fs (default: 5m0s) --retry value Number of times to retry a failed I/O (default: 5) --parallel value Number of parallel I/O thread (default: 32) --debug Set debug level for fuse/winfsp --level value Set log level: error/warn/info/debug (default: "info") --readahead value Readahead size. e.g.: 1m/1k/1 (default: "0") --etag value Check etag for part. value is percent(0~100) (default: 50) --passwd value specify access file (default: "/etc/us3fs/us3fs.conf") --enable_md5 Enalbe md5 in http header --uid value Specify default uid (default: -1) --gid value Specify default gid (default: -1) --disable_check_vdir disable detection of virtual directories --update Update us3fs to /bin/us3fs -n Doesn't check access when mount us3fs -l Enable local cache for small file -p value Specify local cache location (default: "/tmp/us3fs/") --prefix value Specify bucket prefix path --gfl Enable get_file_list --direct_read Enable cache bypass read --perf_dump value How long to output the performance dump (default: 1h0m0s) --skip_ne_dir_lookup Skip non-essential directory checking, such as files ending in ".log",".png",".jpg", etc. --storage_class value Storage type, including "STANDARD", "IA" (default: "STANDARD") MISC --help, -h show help -f foregroundCopyErrorSuccess

Linux和Windows的參數(shù)區(qū)別主要體現(xiàn)在FUSE和WinFsp

配置文件對(duì)應(yīng)終端參數(shù)

部分終端掛載參數(shù)支持配置在配置文件,配置文件的參數(shù)和終端參數(shù)的對(duì)應(yīng)關(guān)系如下:

終端掛載參數(shù)名稱配置文件參數(shù)名稱配置文件樣例
gflget_file_listget_file_list: true
keep_pagecachekeep_pagecachekeep_pagecache: true
nno_checkno_check: true
disable_check_vdirdisable_check_vdirdisable_check_vdir: true
async_dioasync_dioasync_dio: true
skip_ne_dir_lookupskip_ne_dir_lookskip_ne_dir_look: true
lenable_localenable_local: true
wbwritebackwriteback: true
direct_readdirect_readdirect_read: true
enable_md5enable_md5enable_md5: true
debugdebugdebug: true
-o allow_otherallow_otherallow_other: true
enable_load_dentriesenable_load_dentriesenable_load_dentries:true
disable_async_readdisable_async_readdisable_async_read:true
retryretryretry: 66
parallelparallelparallel: 77
disable_removedisable_removedisable_remove: true
congestion_thresholdcongestion_thresholdcongestion_threshold: 88
max_backgroundmax_backgroundmax_background: 99
uiduiduid=100
gidgidgid :100
etagetagetag :100
dcache_timeoutdcache_timeoutdcache_timeout: 2h
entry_timeoutentry_timeoutentry_timeout: 3h
attr_timeoutattr_timeoutattr_timeout: 4h
perf_dumpperf_dumpattr_timeout: 5h
log_max_agelog_max_agelog_max_age: 6h
log_dirlog_dirlog_dir:/a/b/c
prefixprefixprefix: /a/b/c
levellevellevel: debug
storage_classstorage_classstorage_class: STANDARD
plocal_pathlocal_path:/a/b/c
readaheadreadaheadreadahead: 8m
max_cache_per_filemax_cache_per_filemax_cache_per_file: 1024m
cache_dbcache_dbcache_db: leveldb:/data/us3fs_cachedb
local_writelocal_writelocal_write: true
max_local_file_sizemax_local_file_sizemax_local_file_size: 32M
finish_write_when_releasefinish_write_when_releasefinish_write_when_release: true
read_after_write_finishread_after_write_finishread_after_write_finish: true
enable_remote_cacheenable_remote_cacheenable_remote_cache: true
cache_dirscache_dirscache_dirs: /mnt/nvme01,/mnt/nvme02
cache_size_limitcache_size_limitcache_size_limit: 100
master_addrmaster_addrmaster_addr: :
data_portdata_portdata_port: 3333
page_sizepage_sizepage_size: 8388608
fuse_session_cntfuse_session_cntfuse_session_cnt: 4


掛載參數(shù)配置在配置文件樣例 編輯/etc/us3fs/us3fs.yaml(如果沒(méi)有該目錄需要自行創(chuàng)建)依據(jù)具體需求將掛載參數(shù)寫(xiě)在配置文件,簡(jiǎn)化掛載命令


access_key: ************************************secret_key: ************************************endpoint: ufile.cn-north-02.ucloud.cnhosts: []CopyErrorSuccess

選項(xiàng)列表

WinFsp

選項(xiàng)名稱描述
oWinFsp支持的option參數(shù)
dir_info_timeout目錄緩存的超時(shí)時(shí)間,默認(rèn)5s
file_info_timeout文件緩存的超時(shí)時(shí)間,默認(rèn)5s
volume_info_timeout卷信息的超時(shí)時(shí)間,默認(rèn)5s
keep_filecache是否把文件放入緩存

FUSE

選項(xiàng)名稱描述
oFUSE支持的option參數(shù)
entry_timeout指定fuse緩存被查找的文件名的時(shí)間
默認(rèn)為5min
attr_timeout指定fuse緩存文件/目錄屬性的時(shí)間
默認(rèn)為5min
disable_async_read關(guān)閉fuse kernel預(yù)讀使用異步模式。默認(rèn)開(kāi)啟
wb指定寫(xiě)入使用writeback方式。不支持覆蓋寫(xiě)/追加寫(xiě)
max_background指定fuse kernel的max_background參數(shù)(fuse kernel版本>=7.13),
目前fuse usespace最多支持1024(默認(rèn):64),該參數(shù)能提升direct io的并行度
congestion_threshold指定fuse kernel(fuse kernel版本>=7.13)的congestion_threshold參
數(shù),目前fuse usespace最多支持768(默認(rèn):48),該參數(shù)會(huì)觸發(fā)并行IO的擁塞控制
async_dio開(kāi)啟fuse內(nèi)核的async_dio參數(shù),默認(rèn)關(guān)閉async_dio。該參數(shù)開(kāi)啟后,
fuse kernel對(duì)direct io進(jìn)行異步處理
keep_pagecache開(kāi)啟pagecache,文件打開(kāi)時(shí)會(huì)根據(jù)inode的修改時(shí)間以及大小變化決
定是否更新,所以請(qǐng)注意entry_timeout和dcache_timeout參數(shù)對(duì)此會(huì)
有一定影響,使得未能及時(shí)感知到文件修改時(shí)間、大小變化


fuse常用選項(xiàng)列表(與-o一起使用)


選項(xiàng)名稱描述
allow_other指定文件系統(tǒng)可以所有用戶訪問(wèn)
默認(rèn)關(guān)閉
ro指定當(dāng)前文件系統(tǒng)為只讀

使用方式

-o option=valueCopyErrorSuccess

OS(Object Storage)

選項(xiàng)名稱描述
dcache_timeoutdentry cache在us3fs中的緩存時(shí)長(zhǎng)
默認(rèn)為5min
retry請(qǐng)求失敗后重試次數(shù),默認(rèn)5次
parallelI/O并發(fā)線程數(shù)
默認(rèn)20個(gè)
debug指定用戶態(tài)fuse日志級(jí)別為debuy
默認(rèn)關(guān)閉
level指定us3fs日志級(jí)別
默認(rèn)為Info級(jí)別
readahead預(yù)讀大小。 例如:1m/1k/1(默認(rèn):“0”)
etag檢查上傳數(shù)據(jù)的 etag所占百分比。 值是百分比(0~100)(默認(rèn)值:50)
passwd指定賬戶文件,默認(rèn)路徑/etc/us3fs/us3fs.yaml // windows 平臺(tái)自定義
enable_md5在http請(qǐng)求頭中增加md5校驗(yàn),默認(rèn)關(guān)閉
uid指定文件所屬的默認(rèn)用戶,默認(rèn)當(dāng)前用戶
gid指定文件所屬的默認(rèn)用戶組,默認(rèn)當(dāng)前用戶組
disable_check_vdir禁用虛擬目錄檢測(cè)
update更新us3fs版本,新版本路徑為/bin/us3fs
n掛載時(shí)不檢查bucket權(quán)限,如果沒(méi)有所在地域沒(méi)有列表服務(wù)可開(kāi)啟
l開(kāi)啟后對(duì)小文件使用本地目錄做緩存,異步上傳。具體使用示例見(jiàn)小文件場(chǎng)景
p指定小文件異步上傳的本地緩存目錄
prefix指定掛載的bucket前綴目錄,默認(rèn)為空
gfl對(duì)于沒(méi)有ListObjects API支持的Endpoint, 該參數(shù)可以繞過(guò),通過(guò)PrefixFileList API模擬
direct_read開(kāi)啟后,繞過(guò)us3fs內(nèi)部緩存組織模塊,直接讀取us3數(shù)據(jù),
對(duì)于被頻繁訪問(wèn)的文件會(huì)有一定性能降低,反之有利于降低時(shí)延
perf_dump指定時(shí)間周期輸出時(shí)延統(tǒng)計(jì)信息,默認(rèn)周期是1hour
skip_ne_dir_lookup跳過(guò)非必要的目錄檢查,目前過(guò)濾支持".jpe"、".jpeg"、".png"、
".gz"、".tgz"、".gz"、".tgz"、".log"、".plot"、".js"、".html"、
".css"、".apk"為后綴的文件,需要確保bucket下沒(méi)有用以上后綴
作為目錄后綴的情況
storage_class指定寫(xiě)入U(xiǎn)S3中文件的存儲(chǔ)類型,支持STANDARD(標(biāo)準(zhǔn)), IA(低頻)兩種。 (default: STANDARD)
cache_db指定本地存儲(chǔ)us3fs元數(shù)據(jù)cache的方式及路徑,格式為:leveldb:/data/us3fs_cachedb
finish_write_when_release開(kāi)啟后,支持文件異步結(jié)束上傳,用于支持一個(gè)fd有多次flush的場(chǎng)景
read_after_write_finish開(kāi)啟后,讀取文件時(shí),如果文件正在寫(xiě)入,會(huì)等待文件寫(xiě)入完成后才返回讀的內(nèi)容
local_write開(kāi)啟后,寫(xiě)入的數(shù)據(jù)會(huì)暫存到本地文件系統(tǒng)后再異步上傳到服務(wù)端
max_local_file_size和 local_write搭配使用,指定能寫(xiě)入到本地文件系統(tǒng)的最大文件大?。J(rèn)值:32M)

MISC

選項(xiàng)名稱描述
help, h查看幫助
f掛載時(shí)啟用前臺(tái)模式,相關(guān)輸出會(huì)打印到標(biāo)準(zhǔn)輸出

windows下-f參數(shù)無(wú)效

使用示例

  • entry_timeout, attr_timeout, dcache_timeout:

設(shè)置dcache_timeout可增加文件/目錄屬性在內(nèi)存中的有效時(shí)間,增強(qiáng)使用體驗(yàn)。建議entry_timeout , attr_timeout設(shè)置時(shí)間小于dcache_timeout

注:開(kāi)啟緩存后,可能造成用戶讀取目錄的內(nèi)容和實(shí)際bucket中的內(nèi)容不一致。默認(rèn)為開(kāi)啟,需要關(guān)閉請(qǐng)?jiān)O(shè)置為0s

示例:ls包含10000個(gè)文件的目錄耗時(shí)

[root@10-9-120-211 ~]# us3fs --dcache_timeout=60s --entry_timeout=60s --attr_timeout=60s <your_bucket> <mountpoint> [root@10-9-120-211 ~]# time ls -la <your_dir> | wc -l10003real 0m5.964suser 0m0.033ssys 0m0.232s[root@10-9-120-211 ~]#[root@10-9-120-211 ~]#[root@10-9-120-211 ~]# time ls -la <your_dir> | wc -l10003real 0m0.872suser 0m0.029ssys 0m0.133sCopyErrorSuccess

disable_async_read

默認(rèn)讀取模式為異步,同步讀取性能較差。

示例如下:

[root@10-9-120-211 ~]# us3fs --disable_async_read <your_bucket> <mountpoint> [root@10-9-120-211 ~]# dd if=<your_file> of=/dev/null bs=4M count=1010+0 records in10+0 records out41943040 bytes (42 MB, 40 MiB) copied, 10.2345 s, 4.1 MB/s[root@10-9-120-211 ~]# us3fs <your_bucket> <mountpoint> [root@10-9-120-211 ~]# dd if=<your_file> of=/dev/null bs=4M count=1010+0 records in10+0 records out41943040 bytes (42 MB, 40 MiB) copied, 0.685801 s, 61.2 MB/sCopyErrorSuccess

parallel

增大并發(fā)數(shù)可提升讀寫(xiě)性能,相應(yīng)的也行增加系統(tǒng)資源占用。

示例如下:

// 默認(rèn)并發(fā)數(shù)20[root@10-9-120-211 ~]# us3fs <your_bucket> <mountpoint> [root@10-9-120-211 ~]# dd if=/dev/zero of=<your_file> bs=4M count=10241024+0 records in1024+0 records out4294967296 bytes (4.3 GB, 4.0 GiB) copied, 25.5351 s, 168 MB/s// 調(diào)整并發(fā)數(shù)為32[root@10-9-120-211 ~]# us3fs --parallel=32 <your_bucket> <mountpoint> [root@10-9-120-211 ~]# dd if=/dev/zero of=<your_file> bs=4M count=10241024+0 records in1024+0 records out4294967296 bytes (4.3 GB, 4.0 GiB) copied, 18.3614 s, 234 MB/sCopyErrorSuccess

readahead

調(diào)整預(yù)讀窗口大小對(duì)大文件的順序讀有較大影響,建議在16m~32m,但會(huì)增加內(nèi)存消耗,可以適當(dāng)縮小預(yù)讀窗口。

示例如下:

// 默認(rèn)預(yù)讀大小16MB [root@10-9-120-211 ~]# dd if=<your_file> of=/dev/null bs=4M count=1024 1024+0 records in 1024+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 60.0498 s, 71.5 MB/s// 調(diào)整預(yù)讀大小為32MB [root@10-9-120-211 ~]# us3fs --readahead=32m <your_bucket> <mountpoint> [root@10-9-120-211 ~]# dd if=<your_file> of=/dev/null bs=4M count=1024 1024+0 records in 1024+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 37.6013 s, 114 MB/sCopyErrorSuccess

場(chǎng)景化參數(shù)設(shè)置

性能相關(guān)參數(shù)

parallel:設(shè)置并發(fā)線程,對(duì)cpu負(fù)載有一定影響。建議設(shè)置在20~40較為合理
critical:寫(xiě)入文件時(shí)啟用本地etag校驗(yàn),相比未開(kāi)啟會(huì)提高約50%的cpu占用。

readahead:預(yù)讀窗口大小,由于fuse自身有讀寫(xiě)窗口的限制,一定的預(yù)讀大小對(duì)讀取性能有顯著提升。建議設(shè)置在16m~32m,但會(huì)增加內(nèi)存消耗,可以適當(dāng)縮小預(yù)讀窗口。

keep_pagecache: 盡可能緩存數(shù)據(jù)內(nèi)容在vfs pagecache中,直到文件的修改時(shí)間和大小發(fā)生變化,才無(wú)效掉pagecache中的歷史數(shù)據(jù)。

wb: 該參數(shù)會(huì)使得寫(xiě)入的IO會(huì)盡量在pagecache中合并,然后以大IO(默認(rèn)128K)發(fā)送到us3fs。

fuse_session_cnt: 設(shè)置與內(nèi)核fuse模塊通信的連接數(shù),對(duì)cpu和內(nèi)存負(fù)載有一定影響,建議在資源空閑的機(jī)器上可開(kāi)啟,并將數(shù)量設(shè)置在CPU核數(shù)以內(nèi),開(kāi)啟后讀寫(xiě)性能都有一定程度的提升

小文件場(chǎng)景

對(duì)于大量小文件場(chǎng)景,如果對(duì)性能有要求,可指定-l開(kāi)啟本地本地緩存。當(dāng)啟用本地緩存后,us3fs掛載后首先會(huì)將指定緩存目錄下已存在的所有小于等于4MB的文件按照其路徑上傳到bucket中。當(dāng)寫(xiě)入文件大小不大于4MB,文件會(huì)嘗試寫(xiě)入本地緩存目錄,寫(xiě)入成功后即返回,后端異步上傳到us3。寫(xiě)入失?。ㄈ鐧?quán)限不足,空間不足等)則仍然使用同步方式寫(xiě)入us3對(duì)象存儲(chǔ)

注:異步上傳可能出現(xiàn)寫(xiě)入后端失敗,us3fs會(huì)一直重試直到寫(xiě)入成功。

高讀吞吐場(chǎng)景

cache_dirs: 設(shè)置本地讀緩存磁盤(pán),推薦使用本地nvme盤(pán)來(lái)存放讀緩存內(nèi)容,可設(shè)置多個(gè)盤(pán),使用 , 號(hào)分割,注意緩存盤(pán)盡量不要使用系統(tǒng)盤(pán),避免由于瞬間的IO上漲導(dǎo)致系統(tǒng)hang住,推薦使用獨(dú)立的本地nvme盤(pán)(盤(pán)的讀寫(xiě)吞吐能在2GB+)。

cache_size_limit: 設(shè)置緩存盤(pán)存儲(chǔ)量使用上限,當(dāng)緩存的內(nèi)容達(dá)到該上限時(shí),會(huì)進(jìn)行LRU淘汰

page_size: 在開(kāi)啟本地讀緩存功能時(shí),需要將page_size從默認(rèn)的1048576調(diào)整到8388608

共享讀緩存

當(dāng)多個(gè)掛載點(diǎn)之間需要共享讀緩存內(nèi)容時(shí),可以通過(guò)執(zhí)行

us3fs run-master --listen_addr 192.168.0.10:6667CopyErrorSuccess

命令來(lái)啟動(dòng)一個(gè)master節(jié)點(diǎn)運(yùn)行,同時(shí)將其余的掛載點(diǎn)的 master_addr 參數(shù)設(shè)置為 192.168.0.10:6667, 這樣各個(gè)掛載點(diǎn)會(huì)同該master定期保持心跳,這一組掛載點(diǎn)將會(huì)成為一個(gè)小型的讀緩存集群

     enable_remote_cache: 當(dāng)一個(gè)掛載點(diǎn)開(kāi)啟該參數(shù)后,其余的掛載點(diǎn)就可能會(huì)連接上它檢查是否有緩存數(shù)據(jù)可讀,當(dāng)發(fā)現(xiàn)目標(biāo)數(shù)據(jù)存在時(shí),會(huì)嘗試從該掛載點(diǎn)讀取數(shù)據(jù)內(nèi)容

     data_port: 當(dāng)一個(gè)掛載點(diǎn)開(kāi)啟enable_remote_cache后,暴露在哪個(gè)端口對(duì)外進(jìn)行訪問(wèn)

自動(dòng)掛載

推薦的最佳實(shí)踐方案是采用systemctl來(lái)保證服務(wù)異常退出,或者機(jī)器重啟后能重新掛載us3fs,但需要注意Linux(Windows平臺(tái)暫未提供方案)的發(fā)行版本是否支持systemctl:

Ubuntu >= 15.04

Centos、RHEL >= 7

滿足系統(tǒng)要求后,經(jīng)過(guò)如下幾個(gè)簡(jiǎn)單步驟即可:


1.設(shè)置配置

在/etc/systemd/system/目錄下創(chuàng)建名為us3fs.service的文件,并增加如下內(nèi)容

[Unit]Description=US3FS (User Space FileSystem for US3)Requires=network-online.targetAfter=network-online.target[Service]Type=forkingUser=<user> Group=<group> Restart=alwaysRestartSec=10ExecStart=/bin/us3fs --passwd=/etc/us3fs/us3fs.conf --keep_pagecache <your_bucket> <mountpoint> ExecStop=/bin/umount <monutpoint> [Install]WantedBy=multi-user.targetCopyErrorSuccess

User為需要訪問(wèn)掛載點(diǎn)的用戶。如root。

Group為需要訪問(wèn)掛載點(diǎn)的用戶組。如root。

ExecStart為掛載命令,按照需要自行填寫(xiě)

執(zhí)行systemctl daemon-reload配置則會(huì)生效。


服務(wù)啟用或停止

執(zhí)行systemctl start us3fs.service啟動(dòng)服務(wù);

執(zhí)行systemctl stop us3fs.service停止服務(wù);

執(zhí)行systemctl restart us3fs.service重啟服務(wù);

執(zhí)行systemctl status us3fs.service查看服務(wù)狀態(tài);


設(shè)置為開(kāi)機(jī)自啟動(dòng)

執(zhí)行systemctl enable us3fs.service;




對(duì)象存儲(chǔ) S3

免費(fèi)咨詢獲取折扣

Loading