#ceph #environment #interface #async #sockets #admin #github

ceph-async

从官方 ceph-rust 分支。合并了 jcsp 的异步 PR。Ceph librados 和 Admin Sockets 的 Rust 特定接口。您可以使用 Chef 自动化工具创建 Ceph 开发环境:https://github.com/bloomberg/chef-bcs 或 ceph-ansible。Chef-bcs 使用在 github.com/ceph/ceph-chef 创建和管理的 ceph-chef cookbook。它将构建一个完整的 Ceph 环境,您可以用它进行开发等。有关详细信息,请参阅 README.md。

6 个稳定版本

4.0.5 2024 年 6 月 19 日
4.0.4 2024 年 6 月 18 日
4.0.3 2024 年 6 月 16 日
4.0.1 2024 年 6 月 14 日

文件系统 中排名 #284

Download history 332/week @ 2024-06-11 393/week @ 2024-06-18 5/week @ 2024-06-25

每月下载次数为 274

Apache-2.0

715KB
代码行数 6K (不含注释)SLoC

包含 (WOFF 字体,120KB) docs/Heuristica-Italic.woff、(WOFF 字体,90KB) docs/FiraSans-Medium.woff、(WOFF 字体,92KB) docs/FiraSans-Regular.woff、(WOFF 字体,56KB) docs/SourceCodePro-Regular.woff、(WOFF 字体,56KB) docs/SourceCodePro-Semibold.woff、(WOFF 字体,49KB) docs/SourceSerifPro-Bold.woff和更多

Ceph Rust

官方 Ceph Rust 接口

Build Status Version info

官方 Ceph Rust-lang 接口。欢迎贡献!

此库是 Ceph 的核心 librados Rust 接口。它也支持 Admin Socket 命令。

构建要求

必须安装 librados。

在 CentOS/RHEL 上 - Ceph Hammer librados 位于 /usr/lib64。因此,要使 rust 能够看到它,您需要创建一个新的符号链接:sudo ln -s /usr/lib64/librados.so.2.0.0 /usr/lib64/librados.so

在 Ubuntu 上 - Ceph Hammer librados 位于 /usr/lib。因此,要使 rust 能够看到它,您需要创建一个新的符号链接:sudo ln -s /usr/lib/librados.so.2.0.0 /usr/lib/librados.so

可能还有另一种方法在 rust 中更改链接名称而无需创建符号链接。

在 MacOS 上,您可以通过 homebrew 安装 librados

$ brew tap zeichenanonym/ceph-client
$ brew install ceph-client

Ceph

创建 Ceph 开发环境或使用现有的 Ceph 环境。

如果创建 Ceph 环境,则使用以下内容。它将生成一个 4 节点 Virtual Box Ceph 系统,其中 1 个节点是引导节点,控制其他节点。其余 3 个节点是 Ceph 节点(Mon、OSD、RGWs、APIs)。

创建和管理github.com/ceph/ceph-chef(Ceph的Chef食谱)以及下面的Bloomberg github.com链接用于chef-bcs。Chef-bcs使用了ceph-chef。这些工具在Bloomberg是相同的。

MacOS X的要求

  1. VirtualBox
  2. git
  3. 找到您想安装Ceph构建环境的地方
  4. git clone https://github.com/bloomberg/chef-bcs.git
$ cd chef-bcs
$ cd /bootstrap/vms/vagrant
$ ./CEPH_UP

注意:如果您使用的是chef-bcs的最新版本,您可以使用自动开发环境来构建所有开发工具。有关详细信息,请参阅项目。对于Vagrant构建,它默认执行此操作。

这需要大约30分钟来构建。它安装CentOS 7.3,下载所有必要的部分以使用良好选项启动Ceph。

完成后,您可以登录到第一个节点

$vagrant ssh ceph-vm1

运行ceph -s以确保您看到Ceph正在运行。现在您可以安装开发环境和Rust。

Rust

(在ceph-vm1节点上)

curl -sSf https://static.rust-lang.org/rustup.sh | sh

或者

curl https://sh.rustup.rs -sSf | sh

Yum

(在ceph-vm1节点上)- 注意:如果您像上面提到的通过Chef-bcs安装了环境,这将自动为您完成。

mkdir -p projects/lambdastack
cd projects/lambdastack

Requirements for development:
sudo yum install -y git cmake
sudo yum install -y openssl openssl-devel

克隆ceph-rust项目

git clone https://github.com/lambdastackio/ceph-rust.git

注意:确保您已经设置了您最喜欢的编辑器。Vim已自动安装。

AWS S3对象存储

Crate(库):aws-sdk-rust 在 https://github.com/lambdastackio/aws-sdk-rust

AWS S3 CLI实用工具

Crate(二进制):s3lsio 在 https://github.com/lambdastackio/s3lsio

Ceph管理命令

在通用环境中查找mon套接字的示例。

ceph-conf --name mon.$(hostname -s) --show-config-value admin_socket

原始管理套接字命令可以在以下位置找到:/src/ceph_admin_socket_mon_commands.json /src/ceph_admin_socket_osd_commands.json /src/ceph_admin_socket_client_commands.json

其中许多是相同的。


部分内容来自Chris Holcombe在 https://github.com/cholcombe973

依赖关系

~7MB
~140K SLoC