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的文件/文件夹增加删除变化