【教程】使用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