博客 / Others/ 在 CentOS 7 上安装与配置支持 S3 接口的分布式存储系统 LeoFS

在 CentOS 7 上安装与配置支持 S3 接口的分布式存储系统 LeoFS

在 CentOS 7 上安装与配置支持 S3 接口的分布式存储系统 LeoFS

环境准备与安装

本文基于 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 管理界面。

发表评论

您的邮箱不会公开。必填项已用 * 标注。