OSSbucket遠端掛載成ECS本地盤之cloudfs4oss

技術小阿哥發表於2017-11-28

1.cloudfs 1.1.1功能改進點

增加上傳執行緒數可配置,預設執行緒數為1

修改檔案上傳後,檔案大小為0的錯誤

對系統內部記憶體進行了優化,極大減少cloudfs執行記憶體消耗

解決多併發時程式異常退出的問題

解決檔案上傳時,檔案只有BLOCK_SIZE大小的問題

解決當多個ECS共享一個BUCKET時,某個ECS對檔案進行修改,其它檔案不同步的問題

1.1cloudfs上傳執行緒數配置功能

配置檔案位置:cloudfs安裝目錄/conf/cloudfs.conf

修改MAX_UPLOAD_THREADS屬性,如4


2.centos7安裝cloudfs4oss

2.1安裝環境

Ubuntu 14.04 32/64位:

apt-get install libcurl4-openssl-dev libssl-dev pkg-config libxml2 libxml2-dev libfuse-dev libunwind8-dev

CentOS 6.5 32/64位:

yum install libcurl libcurl-devel openssl-devel fuse fuse-libs fuse-devel libxml2-devel libunwind-devel(最後這一個出現libfuse.so.2版本衝突未安裝一樣實現功能)

find / -name libfuse.so.2

rpm -qa|grep libunwind

2.2配置cloudfs4oss

阿里雲使用者在阿里雲“工具市場”中搜尋cloudfs4oss

其他使用者下載 http://blog.cloudtalkers.com/category/cloudfs/cloudfs4oss-download

tar -zxvf CloudFS_Centos64_0274.tar.gz

cd CloudFS_Centos64/

2.2.1預設安裝

./CloudFS_Install.sh

cloudfs的安裝目錄是 /usr/local/cloudfs ,oss的掛載目錄是 /mnt/oss

# vi /usr/local/cloudfs/conf/cloudfs.conf(簡單修改下面四選項,其它引數見雲文件)

HOST=oss-cn-qingdao-internal.aliyuncs.com

ID=eRops7R1O39lodWN

KEY=MJKeghOshVod0H6Bd5lsUv7REp8Sbe

BUCKET=wctest

# systemctl start cloudfs.service

# systemctl status cloudfs.service

2.2.2自定義安裝

./CloudFS_Install.sh INSTALL_DIR=/usr/local/cloudfs_test MOUNT_POINT=/mnt/test

cloudfs的安裝目錄是 /usr/local/cloudfs_test ,oss的掛載目錄是 /mnt/test

2.3驗證

報錯時候可以試一試

./cloudfs /mnt/oss/ -f(遠端掛載目錄)

umount -l /mnt/oss/(恢復掛載點)

cd /mnt/oss/

mkdir test

touch 110.txt

rm -rf test/

rm 110.txt


二、我自己測試一臺ECS執行多個cloudfs的方法

tar -zxvf CloudFS_Centos64_0274.tar.gz

mv CloudFS_Centos64/ cloudfs1

cp cloudfs1 cloudfs2 -R

cd cloudfs1

chmod 777 CloudFS_Install.sh

vi CloudFS_Install.sh

DEFAULT_INSTALL_DIR=”/opt/king/cloudfs1″

DEFAULT_MOUNT_POINT=”/opt/oss/king”

新建king目錄並賦值777

mkdir -R /opt/oss/king

chmod 777 king/

修改連線值並啟動連結

./CloudFS_Install.sh

vi /opt/king/cloudfs1/conf/cloudfs.conf

HOST=oss-cn-qingdao-internal.aliyuncs.com

ID=eRops7R1O39lodWN

KEY=MJKeghOshVod0H6Bd5lsUv7REp8Sbe

BUCKET=king

cd /opt/king/cloudfs1

./cloudfs /opt/oss/king -o allow_other

設定cloudfs2的方法與cloudfs1的方法一致

設定啟動./cloudfs /opt/oss/queen -o allow_other


二、一臺ECS執行多個cloudfs

參考:

http://www.xker.com/page/e2015/06/199015.html

1. 介紹:

最近,許多使用者在使用cloudfs時,需要用到同一臺ECS上掛載多個BUCKET的功能。在我們的官方安裝文件上沒有指明。這個功能目前cloudfs是支援的,解決方法是在同一臺ECS執行多個cloudfs。

下面以一個用例來演示如何使用。

注意:

要在同一臺ECS上執行多個cloudfs,cloudfs的啟動方式必須要是手動啟動。

2. 演示:

本安裝演示環境是Ubuntu14.04 64位,本文的安裝是在使用者有一定的cloudfs安裝經驗上的,如果您對cloudfs的安裝還不太清楚,請移步http://blog.cloudtalkers.com/122.html下載安裝文件。

2.1 下載解壓縮多個cloudfs

訪問http://blog.cloudtalkers.com/category/cloudfs/cloudfs4oss-download下載cloudfs並解壓縮

本文一共下載了3個,結構圖如下

一臺ECS執行多個cloudfs_新客網

2.2 分別編輯多個cloudfs的配置檔案

編輯每一個cloudfs的配置檔案,配置檔案所在目錄為:cloudfs解壓縮目錄/conf/cloudfs.conf

本文一共3個配置檔案,配置如下:

/root/test/cloudfs1/CloudFS_Ubuntu64/conf/cloudfs.conf — 杭州BUCKET

/root/test/cloudfs2/CloudFS_Ubuntu64/conf/cloudfs.conf — 深圳BUCKET

/root/test/cloudfs3/CloudFS_Ubuntu64/conf/cloudfs.conf — 青島BUCKET

2.3 啟動多個cloudfs

執行啟動cloudfs命令,本文一共三個cloudfs,啟動命令如下:

進入cloudfs的安裝目錄,執行命令

./cloudfs /mnt/oss/bucket1 -o allow_other

./cloudfs /mnt/oss/bucket2 -o allow_other

./cloudfs /mnt/oss/bucket3 -o allow_other

上述命令中

/mnt/oss/bucket1為oss的掛載目錄,請確保/mnt/oss/bucket1的許可權為777。

檢視cloudfs啟動情況,

執行命令: ps -ef|grep cloudfs ,如下圖即成功

一臺ECS執行多個cloudfs_新客網

(點選圖片放大)

3. 測試:

一、拷貝一個檔案到cloudfs

cp /bin/ls /mnt/oss/

二、從cloudfs中刪除一個檔案

rm /mnt/oss/ls

三、在cloudfs中建立一個目錄

mkdir /mnt/oss/test/

四、在cloudfs中刪除一個目錄

rm -r /mnt/oss/test/

在操作過程中,請登入到阿里雲(www.aliyun.com)的控制檯,對比對應的bucket的檔案/資料夾增加刪除變化

本文轉自 guowang327 51CTO部落格,原文連結:http://blog.51cto.com/guowang327/1730401,如需轉載請自行聯絡原作者


相關文章