天翼雲應用之 物件儲存掛載

2021-09-29 17:38:25 字數 3656 閱讀 3117

最近學習了使用如何使用天翼雲物件儲存掛載,通過fuse實現對將物件儲存掛載進使用者的空間檔案系統。

使用者空間檔案系統filesystem inuserspace,簡稱fuse)是乙個面向類unix計算機作業系統的軟體介面,它使無特權的使用者能夠無需編輯核心**而建立自己的檔案系統。當前linux通過核心模組對此進行支援。一些檔案系統如zfs、glusterfs和lustre使用fuse實現。linux用於支援使用者空間檔案系統的核心模組名叫fuse,fuse一詞有時特指linux下的使用者空間檔案系統。linux從2.6.14版本開始通過fuse模組支援在使用者空間實現檔案系統。

這裡我們關注的是如何掛載oos,對於在雲上建立oos一筆帶過,介紹主要流程和掛載思路,並分別介紹兩種自動掛載方案。

一、天翼雲oos掛載主要流程

1、在天翼雲oos中建立容器桶,建立accesskey,記錄下容器名(桶名稱)、endpoint、ak及sk資訊

2、由於目前不是所有區域都支援oos,預設endpoint指向貴州節點(oos-cn.ctyunapi.cn)

其他地域的endpoint列表如下。

地區oos   api endpoint

北京2oos-bj2.ctyunapi.cn

內蒙oos-nm2.ctyunapi.cn

長沙oos-hncs.ctyunapi.cn

西安oos-snxa.ctyunapi.cn

杭州oos-hz.ctyunapi.cn

江蘇oos-js.ctyunapi.cn

廣州oos-gz.ctyunapi.cn

北京oos-hq-bj.ctyunapi.cn

上海oos-hq-sh.ctyunapi.cn

3、進入客戶主機系統安裝fuse、編譯安裝環境及git

4、通過git轉殖s3fs-fuse到本地編譯安裝

5、嘗試手工掛載判斷前面的桶名、endpoint、ak、sk等資訊是否有誤

6、設定自動掛載,兩種方式(/etc/rc.local或/etc/fstab)

yum install -y automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

git clone

cd s3fs-fuse

./autogen.sh && ./configure && make && make install

第一行安裝系統所需的編譯環境與fuse支援,第二行通過git轉殖s3fs-fuse的原始碼到本地目錄,第三行進入本地轉殖好的目錄,第四行通過四條組合命令完成本地編譯安裝。

還有一種非常簡單的安裝方式,通過yum安裝

yum install epel-release && yum install s3fs-fuse -y

一條命令搞定s3fs-fuse的安裝。

三、了解s3fs-fuse的關鍵資訊

s3fs允許linux和macos通過fuse掛載s3儲存桶。s3fs保留檔案的本機物件格式,與amazon s3,google cloud storage和其他基於s3的物件儲存相容,天翼雲的物件儲存就是相容s3的。

s3fs密碼檔案的預設位置:

在檔案中輸入您的憑據$/.passwd-s3fs並設定僅所有者許可權:

echo access_key_id:secret_access_key > $/.passwd-s3fs

chmod 600 $/.passwd-s3fs

比如當前你使用root使用者登陸,就在/root/下建立乙個密碼檔案/root/.passwd-s3fs即可,檔案採用純文字形式,格式是ak:sk

四、手工掛載命令

桶名:mybucket

endpoint:oos-cn.ctyunapi.cn

ak:2d19d9ef0904a4d5accb

sk:94fd08d6517d43393117ae9ba93da8eb452df431

第一步生成使用者認證檔案

echo "2d19d9ef0904a4d5accb:94fd08d6517d43393117ae9ba93da8eb452df431" > /root/.password-s3fs && chmod 600 /root/.password-s3fs

第二步生成掛載目錄

mkdir /home/bucket

第三步完成命令列掛載

s3fs mybucket /home/bucket -o passwd_file=/root/.passwd-s3fs -o url=  -o allow_other

五、自動掛載兩種方式

1、將掛載命令列加入/etc/rc.local實現開機自動掛載

echo "s3fs mybucket /home/bucket -o passwd_file=/root/.passwd-s3fs -o url=" >> /etc/rc.local

注意檢查/etc/rc.local必須要有可執行許可權。

2、利用/etc/fstab實現磁碟自動掛載

s3fs#mybucket /home/bucket  fuse _netdev,allow_other,use_path_request_style,url=/ 0 0

第二步掛載

mount -a

六、debug掛載資訊

s3fs mybucket /path/to/mountpoint -o passwd_file=$/.passwd-s3fs -o dbglevel=info -f -o curldbg
七、s3fs引數使用說明

-o allow_other

本引數用於設定掛載目錄可以被任意登陸伺服器的使用者使用,且可以將該掛載目錄用於建立nfs/smb共享。

-o umask=0

本引數用於設定掛載掛載後資源的訪問許可權,確保掛載後所有使用者能夠對掛載目錄下資源具有訪問許可權。umask與chmod配套,當設定umask=0時對於檔案許可權為777,若需要設定許可權為755則設定umask=022,以此類推配置所需許可權

-o max_write

本引數用於設定vfs的上傳塊大小,預設值為4096,可將該數值設定為fuse所支援的最大值128k(即設定-o max_write=131072),以提公升效能。

-o use_cache

使用記憶體作為快取目錄,而非本地磁碟作為cache將提公升檔案讀寫效能,即將該值設定為-o use_cache=/dev/shm。如果系統記憶體使用較高則建議另外掛程式載乙個ssd盤作為快取目錄

-o enable_noobj_cache

使用本引數後,將減少s3fs傳送的列舉桶的請求,從而提公升效能。

-o big writes

開啟本引數後,核心會進行io合併,對於大塊讀寫,提公升效能。

-o si**2

預設值為採用v4鑑權,使用v2鑑權效率更高,相容性更好。

-o del_cache

檔案使用完成後及時清理快取中的資料。

天翼雲從業認證(4 12) 天翼雲醫療行業解決方案

了解醫療行業業務發展現狀 天翼雲遠端醫療雲解決方案 天翼雲數位化醫院雲解決方案,以及天翼雲區域衛生資訊平台解決方案。天翼雲醫療行業解決方案根據醫療行業面臨的痛點,醫療行業當下的需求特點,為客戶提供便捷 安全的雲資料管理解決方案。它具有統一管理 操作簡單 節約成本等優勢,為醫療行業提供資料的確權 資料...

天翼雲盤 7 0 亮相天翼智慧型生態博覽會

9 月13 15 日,第十屆 天翼智慧型生態博覽會 在廣東省廣州市廣交會展www.cppcns.com館舉辦,展會規模巨集大,有近 300 家中大型企業參展。作為全球最重要的通訊展會之一,展會以 智慧型終端館 生態魔方館 智慧型城市館 智慧型生活館 四大主題全方位呈現了未來的科技生活,展現了中國電信...

天翼雲盤榮獲「2018最佳大資料應用平台」大獎

7月13日,2018全球未來科技大會 在上海聖諾亞皇冠假日酒店隆重舉行,本屆大會以 新時代商業變革 www.cppcns.com為主題,聚焦人工智慧領域,了在新一輪的科技發展的浪潮下,新經濟行業的發展未來。本屆大會雲集500余家企業 100余家創業公司,行業參會代表達3000餘人,吸引人民網 新華網...