环境准备与安装
本文基于 CentOS Linux release 7.5.1804 (Core) 64 位系统。建议在操作前更新系统并安装必要的工具。
yum update -y
yum install screen wget git -y
screen -S leofs
cd /
mkdir codefiles
cd codefiles
wget -c https://github.com/leo-project/leofs/releases/download/1.4.2/leofs-1.4.2-1.el7.x86_64.rpm
yum install -y nc
sudo yum install redhat-lsb-core
sudo rpm -ivh leofs-1.4.2-1.el7.x86_64.rpm
ls -l /usr/local/leofs/
注意: LeoFS 项目仍在持续更新,请访问其 官方安装文档 获取最新版本和安装指南。
配置 Bucket 与本地域名解析
在 LeoFS 中,Bucket 名称需要遵循 DNS 命名约定,以便通过虚拟主机方式访问。首先需要修改本地 hosts 文件。
vi /etc/hosts
将文件中原有的内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改为以下格式,其中 {BUCKET_NAME} 替换为你自定义的 Bucket 名称:
127.0.0.1 localhost {BUCKET_NAME}.localhost
例如,创建一个名为 myfirstbucket 的 Bucket:
127.0.0.1 localhost myfirstbucket.localhost
修改完成后,保存并退出。
Bucket 命名规则
为确保兼容性,Bucket 名称必须遵循以下规则:
- 名称必须全局唯一。
- 长度在 3 到 63 个字符之间。
- 只能包含小写字母、数字和连字符(-)。
- 不能包含大写字符或下划线。
- 必须以小写字母或数字开头和结尾。
- 相邻部分由英文句点(.)分隔,但建议尽量避免使用句点,以免影响 SSL 通配符证书的匹配。
- 不能格式化为 IP 地址(例如 192.168.5.4)。
启动服务与基本管理
启动核心服务
使用 systemctl 启动 LeoFS 的各个核心组件:
systemctl start leofs-manager-master leofs-manager-slave leofs-gateway leofs-storage
检查服务状态
使用管理命令检查服务运行状态:
leofs-adm status
正常情况下,除了用于一致性校验的 Ring-hash 可能暂无值外,其他组件均应显示为运行状态。随后可以启动管理服务:
leofs-adm start
创建用户与访问密钥
创建一个新用户,系统会生成对应的 Access Key 和 Secret Key:
leofs-adm create-user
设置 Bucket 访问权限
使用以下命令为指定 Bucket 设置访问控制列表(ACL):
leofs-adm update-acl <bucket> <access-key-id> <canned-ACL>
例如,将 Bucket backet01 设置为公开读:
leofs-adm update-acl backet01 fb35f205b0359e06720d public-read
注意: 默认网关服务端口为 8080。若需直接使用 80 端口提供服务,需要修改网关配置。
安全建议: 对于敏感数据,建议将 Bucket 权限设为私有,并通过预签名 URL 的方式进行访问。
安装 LeoCenter 管理界面
LeoCenter 是 LeoFS 的 Web 管理界面。安装前请确保系统环境符合要求。
升级 Ruby 环境
如果系统自带的 Ruby 版本过低(如 2.0),需要升级到 2.2 或更高版本。首先移除旧版本:
sudo yum remove ruby ruby-devel -y
安装编译工具和依赖:
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel -y
下载并编译安装 Ruby 2.5.0:
cd /codefiles
wget http://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz
tar xvfvz ruby-2.5.0.tar.gz
cd ruby-2.5.0
./configure
make
make install
安装 RubyGems 与项目依赖
安装 gem 包管理器并配置国内镜像源以加速下载:
yum install gem -y
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
yum install ruby-devel -y
sudo gem update --system
sudo gem install bundler
sudo gem install eventmachine -v '1.2.7'
sudo gem install rack-test -v '1.6.10' --source 'https://gems.ruby-china.com/'
克隆 LeoCenter 仓库并进入目录:
git clone https://github.com/leo-project/leo_center.git
cd leo_center
编辑项目的 Gemfile 文件,将源地址修改为国内镜像:
vi /codefiles/leo_center/Gemfile
将文件顶部的 source 行修改为:
source "https://gems.ruby-china.com/"
最后,安装项目依赖(建议在非 root 用户下执行,此处示例使用 www 用户):
su www
bundle install
完成以上步骤后,即可参照 LeoCenter 官方文档启动并配置 Web 管理界面。