1. 程式人生 > >【教程】使用S3fs讓KEC雲主機直接掛載KS3 金山雲物件儲存bucket

【教程】使用S3fs讓KEC雲主機直接掛載KS3 金山雲物件儲存bucket

 S3fs是一款基於FUSE的檔案系統介面卡,通過S3fs能夠使物件儲存直接掛載到雲平臺虛擬機器,如雲硬碟一般使用,非常的方便。
本教程教你如何在Linux系統上使用S3fs

對於Ubuntu 14.04,執行:

sudo apt-get install automake autotools-dev fuse g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config

對於CentOS7,執行:

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

而對於CentOS6.5,需要手動更新fuse包,到libfuse 2.8.4。

 

安裝依賴完成後,接著安裝S3fs本體:

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse/
./autogen.sh 
./configure
make
make install

為了能夠對接上KS3物件儲存服務,你還需要配置上你的AK(Access Key)和SK(Secret Key)到S3fs的配置檔案中,使用以下命令:

echo AK:SK> ~/.passwd-s3fs
chmod 600  ~/.passwd-s3fs
#AK 和 SK 到雲平臺獲取哦

至此安裝和配置完成,可以開始使用。例如我們將S3fs掛載到 /mnt/yourname 這個目錄,本例中KS3的域名為(ks3-cn-beijing.ksyun.com),注意你的Bucket域名是否匹配。

s3fs 你的桶名 /mnt/yourname -o url=https://ks3-cn-beijing.ksyun.com -o passwd_file=~/.passwd-s3fs

至此,S3fs掛載完成。

-----------分割線--------------

上文講了基本的掛載方式, 如果對效能有極致要求,下面有一些引數優化請參考

-o allow_other

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

-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 sigv2

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

-o del_cache

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

-o multipart_size(default="10"(10MB))

設定上傳是單個分段的大小,預設值為10MB,按照物件儲存支援最大1萬個分段,最大支援上傳約98GB的物件。如果待上傳的檔案大小超過100,000MB,則需要調大該引數,最大支援5120單位為MB(物件儲存支援單個分片最大5GB)

關於S3fs,這裡還有另一篇文章可以參考:https://bbs.huaweicloud.com/forum/thread-11650-1-1.html

 

華為做的優化引數測試:

s3fs obs-hpc-test /data_obs/ -o passwd_file=/root/.passwd-s3fs -o url=http://obs.cn-north-1.myhwclouds.com/ -o allow_other -o umask=0 -o max_write=131072 -o use_cache=/dev/shm -o big_writes -o enable_noobj_cache -o sigv2 -o del_cache