s3fs是把Amazon S3存储服务挂载到本地硬盘或者服务器上的程序,天翼云存储OOS和S3兼容,只需要修改s3fs一行代码,它就能挂载天翼OSS到服务器上。感叹一下,有一个行业标准真心好啊...
服务器操作系统是Centos 6.4 64位,自带的fuse版本比较老,用不了新的s3fs,所以第一件事就是:
yum remove fuse fuse* fuse-devel
安装s3fs过程中可能需要的包,缺啥yun啥:
gcc libstdc++-devel gcc-c++ curl curl* curl-devel libxml2 libxml2* libxml2-devel openssl-devel mailcap
开始安装新版本fuse:
wget http://sourceforge.net/projects/fuse/files/latest/download?source=files
tar -xzvf fuse-2.9.3.tar.gz
cd fuse-2.9.3
./configure --prefix=/usr
make
make install
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
ldconfig
modprobe fuse #可能提示有错误,不管
pkg-config --modversion fuse
接着在服务器上装s3fs:
wget http://s3fs.googlecode.com/files/s3fs-1.73.tar.gz
tar -xvf s3fs-1.73.tar.gz
cd s3fs-1.73
vim src/s3fs.cpp
在这个cpp中查找下面那行的内容:
std::string host = "http://s3.amazonaws.com";
把s3.amazonaws.com替换成oos.ctyunapi.cn,然后再编译:
./configure --prefix=/usr
make
make install
建立密匙文件:
vim ~/.passwd-s3fs
文件中内容如下:
天翼OOS的AccessKeyID:AccessSecretKey
保存后:
chmod 600 ~/.passwd-s3fs
万事俱备,挂载命令如下:
s3fs 你在天翼OOS的bucket /mnt/要挂的目录 -ouse_cache=/tmp
如果想开机自动挂载,那就修改/etc/fstab,最下面加一行:
s3fs#天翼OOS的bucket /mnt/要挂的目录 fuse allow_other 0 0
挂载以后的好处就是方便,cp mv之类的命令总比s3cmd来的简单。