最近學習了使用如何使用天翼雲物件儲存掛載,通過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餘人,吸引人民網 新華網...