博客 / Linux/ 单机安装部署LeoFS/系统CentOS Linux release 7.5.1804 (Core) 64bit

单机安装部署LeoFS/系统CentOS Linux release 7.5.1804 (Core) 64bit

单机安装部署LeoFS/系统CentOS Linux release 7.5.1804 (Core)  64bit

环境准备与软件安装

本文档基于 CentOS Linux release 7.5.1804 (Core) 64bit 系统,指导如何单机安装部署 LeoFS 对象存储系统。官方安装文档可参考:LeoFS Installation Guide

首先,安装必要的工具并下载 LeoFS 安装包:

yum install screen wget -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/

配置 Bucket 域名

LeoFS 使用虚拟主机(vhost)模式,需要修改本地 hosts 文件以支持 Bucket 域名解析。

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

例如:

127.0.0.1 localhost myfirstbucket.localhost

修改完成后,保存并退出。

关于 Bucket 命名的规范

Bucket 名称必须遵循 Amazon S3 规范:

  • 名称必须在全局唯一,不能与已存在的 Bucket 重复。
  • 必须符合 DNS 命名约定。
  • 长度必须在 3 到 63 个字符之间。
  • 不能包含大写字母或下划线。
  • 必须以小写字母或数字开头。
  • 由一系列标签组成,相邻标签由英文半角句点“.”分隔。
  • 可以包含小写字母、数字和连字符(-),每个标签必须以小写字母或数字开头和结尾。
  • 不能格式化为 IP 地址(例如 192.168.5.4)。
  • 建议在使用虚拟托管样式时,不要在 Bucket 名称中使用句点(“.”),以避免与 SSL 通配符证书的匹配问题。

启动 LeoFS 服务

使用 systemctl 命令启动 LeoFS 的核心服务组件:

systemctl start leofs-manager-master leofs-manager-slave leofs-gateway leofs-storage

启动后,可以使用管理命令查看服务状态:

leofs-adm status

正常情况下,除了用于一致性校验的 Ring-hash 可能暂无值外,其他组件均应显示运行状态。确认无误后,启动管理服务:

leofs-adm start

用户与权限管理

创建一个新用户(将 xxx 替换为你的用户名):

leofs-adm create-user xxx

此命令会生成对应的 Access Key ID 和 Secret Access Key,请妥善保存。

为了通过域名访问,你需要在 DNS 服务商处为你的网关域名设置泛解析(例如 *.yourdomain.com)。

设置 Bucket 的访问权限,命令格式如下:

leofs-adm update-acl <bucket> <access-key-id> <canned-ACL>

例如,将某个 Bucket 设置为公开读:

leofs-adm update-acl mybucket AKIAIOSFODNN7EXAMPLE public-read

注意:如果希望使用更安全的访问方式,建议将 Bucket 设为私有,然后通过生成预签名 URL 来访问对象。

默认网关服务端口为 8080。若需直接使用 80 端口提供服务,需要修改 LeoFS 网关的配置文件,将监听端口从 8080 改为 80。

安装 LeoCenter 管理界面

LeoCenter 是 LeoFS 的 Web 管理界面。安装前需要配置 Ruby 环境。官方安装指南:LeoCenter Documentation

首先,由于系统自带的 Ruby 版本可能过低,需要先升级。移除旧版本 Ruby:

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

安装 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/'

说明:原文中使用的淘宝源(ruby.taobao.org)已停止维护,建议使用 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 "https://rubygems.org" 修改为:

source "https://gems.ruby-china.com/"

最后,切换到合适的用户(如 www 用户)并安装依赖:

su www
bundle install

依赖安装完成后,即可按照 LeoCenter 官方文档的说明启动 Web 管理界面。

发表评论

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