百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

centos7系统手动安装ceph教程 centos7详细安装步骤

csdh11 2024-12-27 12:38 22 浏览

CentOS 7系统手动安装Ceph教程

Ceph 是一款强大的开源分布式存储系统,具备高可扩展性、高可用性和高可靠性,适用于大规模存储需求。它为现代应用提供了对象存储、块存储和文件系统等功能,广泛应用于云计算、大数据等场景。在本教程中,我们将介绍如何在 CentOS 7 系统上手动安装并配置 Ceph。

步骤 1:安装依赖软件包

在安装 Ceph 之前,必须安装一些必要的软件包和依赖项,这些软件包支持 Ceph 的编译和运行。

sudo yum install epel-release -y
sudo yum install wget git gcc python3 -y
  • epel-release:启用 EPEL (Extra Packages for Enterprise Linux) 仓库,提供额外的软件包。
  • wget:用于下载文件。
  • git:用于从 GitHub 克隆 Ceph 源码。
  • gcc:GNU 编译器集合,支持 Ceph 源码编译。
  • python3:Ceph 需要 Python 3 作为依赖。

步骤 2:下载 Ceph 源码

Ceph 的源码托管在 GitHub 上。我们通过 git 命令克隆源代码。

git clone --branch stable https://github.com/ceph/ceph.git
  • --branch stable:指定下载稳定版本的代码。

步骤 3:编译和安装 Ceph

  1. 进入 Ceph 源码目录
  2. cd ceph
  3. 安装 Ceph 编译依赖
    Ceph 提供了一个脚本来自动安装所需的依赖项。
  4. ./install-deps.sh
  5. 编译 Ceph
    使用 cmake 工具生成构建配置并编译 Ceph。
  6. ./do_cmake.sh make -j$(nproc)
  7. make -j$(nproc):使用所有可用的 CPU 核心进行并行编译,提升编译速度。
  8. 安装 Ceph
    编译完成后,执行以下命令将 Ceph 安装到系统中:
  9. sudo make install

步骤 4:初始化 Ceph

在安装完成后,需要初始化 Ceph 的配置文件和存储目录。

  1. 创建 Ceph 配置和数据目录
  2. sudo mkdir /etc/ceph sudo mkdir /var/lib/ceph
  3. 生成密钥文件并初始化 Monitors 和 OSDs
  4. sudo ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
  5. 生成 Ceph Monitor 和 OSD 服务的密钥文件。
  6. 创建 Monitors 配置文件
  7. sudo monmaptool --create --add $(hostname -s) 127.0.0.1 --fsid $(uuidgen) /tmp/monmap sudo mkdir /var/lib/ceph/mon/ceph-$(hostname -s) sudo ceph-mon --mkfs -i $(hostname -s) --monmap /tmp/monmap --keyring /etc/ceph/ceph.mon.keyring
  8. monmaptool 用于创建 Monitor 映射文件。
  9. ceph-mon --mkfs 用于初始化 Monitor。
  10. 启动 Ceph Monitor 服务
  11. sudo systemctl enable ceph-mon@$(hostname -s).service sudo systemctl start ceph-mon@$(hostname -s).service

步骤 5:创建 Ceph 存储池

Ceph 存储池是 Ceph 存储系统中的基本单元。创建一个名为 mydata 的存储池:

sudo ceph osd pool create mydata 128
  • mydata:池的名称。
  • 128:池的副本数量(也称为 placement groups (PGs))。

步骤 6:挂载 Ceph 存储池

为了将 Ceph 存储池挂载到本地文件系统,可以使用 ceph-fuse 或 mount 命令挂载:

  1. 创建挂载点
  2. sudo mkdir /mnt/mydata
  3. 挂载 Ceph 存储池
  4. sudo mount -t ceph $(hostname -s):6789:/ /mnt/mydata -o name=admin,secret=$(sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring)
  5. 这将 Ceph 存储池挂载到 /mnt/mydata 目录。

步骤 7:验证 Ceph 安装

通过以下命令检查 Ceph 的状态:

sudo ceph -s

如果安装成功,您将看到 Ceph 集群的健康状态、OSD 数量、PG 状态等信息。

总结

通过以上步骤,您已经在 CentOS 7 上成功安装并配置了 Ceph 集群。通过 ceph -s 命令,您可以验证 Ceph 的运行状态,确保集群正常工作。Ceph 提供了高效的分布式存储服务,适合大规模数据存储需求。

请注意,Ceph 是一个高度可配置的系统,随着需求的不同,您可能需要进行更多的定制配置,例如添加更多的 OSD 或设置多数据中心部署。

相关推荐

用Python轻松修改Word文件的作者和时间,打造自己的专属效率工具

你是否曾经遇到过需要批量修改Word文件的作者、创建时间或修改时间的情况?手动操作不仅费时费力,还容易出错。可以用Python编写一个小工具,轻松解决这个问题!无论你是编程新手还是有一定经验的...

插件开发js代码划分(js插件编写)

在开发Chrome插件时,将JavaScript代码拆分成多个模块而非集中放置,主要基于性能优化、可维护性提升和浏览器插件特性适配等多方面的考量。以下是具体原因及区别分析:一、拆分的核心原因...

5分钟掌握Python中的标准输入、标准输出、标准错误

读取用户输入从标准输入获取输入:user_input=input("Impartyourwisdom:")print(f"Youshared:{user_input}")...

高大上的解答:在 'packages.pyi' 中找不到引用 'urllib3'

DeepSeek的一句代码:...

Flask 入门教程(flask快速入门)

目录什么是Flask?环境配置与安装第一个Flask应用:HelloWorld路由与视图函数模板与Jinja2表单处理与用户输入...

每日一库之 Go 语言开发者的神器—Gotx

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习Go语言简介Gotx是一个Go语言(Golang)的解释器和运行环境,只有单个可执行文件,绿色、跨平台,无需安装任何Go语言环境就可...

MySQL性能调优工具包制作(mysql性能调整)

一、最终工具包内容mysql_tuning_toolkit/├──scripts/#核心脚本│├──sysbench-pro.sh#...

掌握TensorFlow核心用法:从安装到实战的完整指南

一、为什么TensorFlow值得学习?作为全球使用最广泛的开源机器学习框架,TensorFlow已累计获得超过17万GitHub星标,支撑着Google搜索、Waymo自动驾驶、NASA卫星图像分析...

如何把PY 打包成EXE安装文件(pypy 打包exe)

将Python脚本打包成EXE文件通常使用第三方工具实现,以下是详细步骤和注意事项:...

Pygame Zero 详细使用教程(python zerorpc)

PygameZero是一个基于Pygame的简化游戏开发框架,特别适合初学者和快速原型开发。它隐藏了许多底层的复杂性,使得开发者可以更专注于游戏逻辑的实现。本文将通过分析提供的代码,详细介绍如...

Stable diffusion AI画图辅助脚本 Script 的使用(二)

本篇为脚本使用介绍的第二部分,主要介绍Promptmatrix提示词矩阵以及UltimateSDUpscale终极SD放大这两个脚本,同时也简单介绍一下如何编写自己的脚本。1、Promp...

一文明白Python 的import如何工作

Pythonimport系统的基础知识Python的import系统是该语言设计的关键部分,允许模块化编程和代码的轻松重用。了解这个系统对任何Python程序员都很重要,因为它决定了代码的结构...

Highlight.js - 前端的代码语法高亮库

千辛万苦写了篇技术分享,贴了一堆代码,兴高采烈地发到了自己的博客网站上。结果却发现代码全是白底黑字,字体还难看得很,你瞬间就没了兴致。能不能让网页也能像IDE那样,做带语法高亮的炫酷显示呢?来看一...

xbox xsx/s ps2模拟器 战神12,北欧女神2 配置教程

xsxxss下载PS2独立模拟器,Retroarch全能模拟器地址。...

RetroArch 着色器、金手指怎么用? 重返复古游戏萤幕滤镜效果

自从上次分享RetroArch模拟器的一些技巧后,许多模拟器新用户对老旧游戏机感到好奇,为什么游戏画面看起来会有很多马赛克。这主要是因为当年的游戏开发商是针对当时的屏幕进行设计的,所以在现在的高分辨率...