網站建設流行技術精準客戶截流軟件
OSSFs掛載工具簡介
? ossfs允許您在Linux系統(tǒng)中將對象存儲OSS的存儲空間(Bucket)掛載到本地文件系統(tǒng)。掛載完成后,您能夠像操作本地文件一樣操作OSS的對象(Object),從而實現(xiàn)數(shù)據(jù)共享。
? 使用起來,可以把存儲桶Bucket理解成一個文件夾,進入到文件夾后增刪改查目錄中的文件,即相當于在操作Bucket。
演示體驗:
這里已經創(chuàng)建了一個Bucket :longgovv
在存儲桶中創(chuàng)建2個文件夾
如果Linux服務器已經部署了OSSFs系統(tǒng)并配置,則效果如下:
[root@wangting ~]# cd /oss/longgovv/
[root@wangting longgovv]# ll
total 1
drwxrwxrwx 1 root root 0 Mar 2 16:20 FypA9M
drwxr-xr-x 1 root root 0 Mar 3 09:55 wangt
可以在服務器上查看到與longgovv同步的目錄,以上就是直觀的使用感受
OSSFs運行環(huán)境
Linux系統(tǒng):
- CentOS 7.0及以上版本
- Ubuntu 14.04及以上版本
- Anolis7及以上版本
- fuse 2.8.4以上版本
? ossfs基于fuse用戶態(tài)文件系統(tǒng)開發(fā),只能運行在支持fuse的機器上。OSS提供了Ubuntu和CentOS系統(tǒng)的安裝包,如果需要在其它環(huán)境下運行,可以通過源碼方式構建目標程序。
? ossfs支持在阿里云內網以及互聯(lián)網環(huán)境下使用。在內網環(huán)境下時,建議使用內網訪問域名,以提升訪問速度和穩(wěn)定性
OSSFs主要功能
ossfs基于s3fs構建,具有s3fs的全部功能。其中包括:
- 支持POSIX文件系統(tǒng)的大部分功能,例如上傳下載文件、目錄,設置用戶權限等
- 默認使用OSS的分片上傳和斷點續(xù)傳功能上傳文件
- 支持MD5校驗,保證數(shù)據(jù)完整性
OSSFs使用限制
- 不支持掛載歸檔型Bucket
- 不適合高并發(fā)讀寫的場景
- 編輯OSS內文件會導致文件被重新上傳
- 元數(shù)據(jù)操作(例如list directory)需要遠程訪問OSS服務器,所以性能較差
- 重命名文件或文件夾可能會出錯。若操作失敗,可能會導致OSS和本地數(shù)據(jù)不一致
- 多個客戶端掛載同一個OSS Bucket時,數(shù)據(jù)一致性由您自行維護。建議您合理規(guī)劃文件使用時間,避免出現(xiàn)多個客戶端寫同一個文件的情況
- 不支持hard link
- 如果您因意外中斷了文件上傳的過程,且未繼續(xù)完成該文件的上傳,則已上傳的部分會以碎片(Part)的形式存儲在OSS的存儲空間(Bucket)中。如果您不再需要這些Part,建議您通過以下方式刪除,以免產生額外的存儲費用
安裝ossfs
1.下載安裝包
# CentOS 7.0 (x64)
[root@wangting ~]# wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.7_centos8.0_x86_64.rpm# CentOS 8.0 (x64)
[root@wangting ~]# wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.7_centos8.0_x86_64.rpm
其它版本可到官方查找下載連接
2.安裝rpm包
[root@wangting ~]# yum install -y ossfs_1.80.7_centos8.0_x86_64.rpm
【注意】
yum安裝ossfs的rpm包時,-y會自動安裝一些附帶的依賴,如果純離線環(huán)境需要考慮yum安裝環(huán)境
無法直接使用yum下載依賴包。您可以在網絡正常的、相同版本操作系統(tǒng)的節(jié)點上,使用yum下載依賴包并拷貝到網絡特殊的節(jié)點。例如,ossfs需要依賴fuse 2.8.4以上版本,可使用如下命令,下載yum源中最新的fuse到本地
yum install --downloadonly --downloaddir=./ fuse # 如果需要下載其他依賴包,請將fuse換成對應包的名稱
3.配置賬號訪問信息
- 配置賬號
echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs
[root@wangting ~]# echo longgovv:LT6qNAI5txgaUaUtEo4zF:AqJFq9jP6q0rzzeHITNNMCFRtCqKlL > /etc/passwd-ossfs
[root@wangting ~]# chmod 640 /etc/passwd-ossfs
將Bucket名稱以及具有該Bucket訪問權限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的權限建議設置為640。
- 配置掛載信息
ossfs BucketName mountfolder -o url=Endpoint
[root@wangting ~]# mkdir -p /oss/longgovv
[root@wangting ~]# ossfs longgovv /oss/longgovv -o url=http://oss-cn-shanghai.aliyuncs.com
Endpoint為訪問端口,在Bucket的概覽首頁即可查找到
OSSFs驗證與使用
Linux端寫文件操作
配置完掛載信息,則直接可以在命令行查看使用Bucket了
[root@wangting longgovv]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 899M 0 899M 0% /dev
tmpfs tmpfs 914M 0 914M 0% /dev/shm
tmpfs tmpfs 914M 520K 913M 1% /run
tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/vda1 xfs 40G 21G 20G 51% /
tmpfs tmpfs 183M 0 183M 0% /run/user/0
ossfs fuse.ossfs 256T 0 256T 0% /oss/longgovv
使用體驗:
[root@wangting longgovv]# cd /oss/longgovv/
[root@wangting longgovv]# mkdir 20230303
[root@wangting longgovv]# ll
total 2
drwxr-xr-x 1 root root 0 Mar 3 10:24 20230303
drwxrwxrwx 1 root root 0 Mar 2 16:20 FypA9M
drwxr-xr-x 1 root root 0 Mar 3 09:55 wangt
[root@wangting longgovv]# cd 20230303
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# cat test.log
Fri Mar 3 10:26:36 CST 2023
Fri Mar 3 10:26:37 CST 2023
Fri Mar 3 10:26:37 CST 2023
查看oss的對象API
[root@wangting 20230303]# curl https://longgovv.oss-cn-shanghai.aliyuncs.com/20230303/test.log
Fri Mar 3 10:26:36 CST 2023
Fri Mar 3 10:26:37 CST 2023
Fri Mar 3 10:26:37 CST 2023
下載test.log
Linux端讀取文件操作
掛起目錄監(jiān)控
[root@wangting 20230303]# while true;do date && sleep 1 && ls -l;done
Bucket上傳文件:
[root@wangting 20230303]# while true;do date && sleep 1 && ls -l;done
Fri Mar 3 10:34:59 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:00 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:01 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:02 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:03 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar 3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:04 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar 3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log
Fri Mar 3 10:35:05 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar 3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root 87 Mar 3 10:26 test.log