千家信息网

怎么在Ubuntu 16.04中安装Ceph存储集群

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关怎么在Ubuntu 16.04中安装Ceph存储集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ceph 是一个高性能、可靠、可扩展的开源存储平
千家信息网最后更新 2026年11月03日怎么在Ubuntu 16.04中安装Ceph存储集群

这篇文章给大家分享的是有关怎么在Ubuntu 16.04中安装Ceph存储集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Ceph 是一个高性能、可靠、可扩展的开源存储平台。它是一个自由的分布式存储系统,提供了对象、块和文件级存储的接口,并可以不受单点故障的影响而运行。

在这个教程中,我将指导你在 Ubuntu 16.04 服务器上安装建立一个 Ceph 集群。Ceph 集群包括这些组件:

  • Ceph OSD (ceph-osd) - 控制数据存储,数据复制和恢复。Ceph 集群需要至少两个 Ceph OSD 服务器。这次安装中我们将使用三个 Ubuntu 16.04 服务器。

  • Ceph Monitor (ceph-mon) - 监控集群状态并运行 OSD 映射 和 CRUSH 映射。这里我们使用一个服务器。

  • Ceph Meta Data Server (ceph-mds) - 如果你想把 Ceph 作为文件系统使用,就需要这个。

前提条件

  • 6 个安装了 Ubuntu 16.04 的服务器节点

  • 所有节点上的 root 权限

我将使用下面这些 hostname /IP 安装:

主机名              IP 地址 ceph-admin        10.0.15.10 mon1                 10.0.15.11 osd1                  10.0.15.21 osd2                  10.0.15.22 osd3                  10.0.15.23 client                 10.0.15.15

第 1 步 - 配置所有节点

这次安装,我将配置所有的 6 个节点来准备安装 Ceph 集群软件。所以你必须在所有节点运行下面的命令。然后确保所有节点都安装了 ssh-server。

创建 Ceph 用户

在所有节点创建一个名为 cephuser 的新用户

useradd -m -s /bin/bash cephuser passwd cephuser

创建完新用户后,我们需要给 cephuser 配置无密码的 sudo 权限。这意味着 cephuser 可以不先输入密码而获取到 sudo 权限运行。

运行下面的命令来完成配置。

echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser chmod 0440 /etc/sudoers.d/cephuser sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers

安装和配置 NTP

安装 NTP 来同步所有节点的日期和时间。先运行 ntpdate 命令通过 NTP 设置日期。我们将使用 US 池的 NTP 服务器。然后开启并使 NTP 服务在开机时启动。

sudo apt-get install -y ntp ntpdate ntp-doc ntpdate 0.us.pool.ntp.org hwclock --systohc systemctl enable ntp systemctl start ntp

安装 Open-vm-tools

如果你正在 VMware 里运行所有节点,你需要安装这个虚拟化工具。

sudo apt-get install -y open-vm-tools

安装 Python 和 parted

在这个教程,我们需要 python 包来建立 ceph 集群。安装 python 和 python-pip。

sudo apt-get install -y python python-pip parted

配置 Hosts 文件

用 vim 编辑器编辑所有节点的 hosts 文件。

vim /etc/hosts

粘帖如下配置:

10.0.15.10        ceph-admin 10.0.15.11        mon1 10.0.15.21        ceph-osd1 10.0.15.22        ceph-osd2 10.0.15.23        ceph-osd3 10.0.15.15        ceph-client

保存 hosts 文件,然后退出 vim 编辑器。

现在你可以试着在两个服务器间 ping 主机名来测试网络连通性。

ping -c 5 mon1

Ceph cluster Installation on Ubuntu 16.04

第 2 步 - 配置 SSH 服务器

这一步,我们将配置 ceph-admin 节点。管理节点是用来配置监控节点和 osd 节点的。登录到 ceph-admin 节点然后使用 cephuser 用户。

ssh root@ceph-admin su - cephuser

管理节点用来安装配置所有集群节点,所以 ceph-admin 上的用户必须有不使用密码连接到所有节点的权限。我们需要为 'ceph-admin' 节点的 cephuser 用户配置无密码 SSH 登录权限。

生成 cephuser 的 ssh 密钥。

ssh-keygen

让密码为空。

下面,为 ssh 创建一个配置文件

vim ~/.ssh/config

粘帖如下配置:

Host ceph-admin         Hostname ceph-admin         User cephuser Host mon1         Hostname mon1         User cephuser Host ceph-osd1         Hostname ceph-osd1         User cephuser Host ceph-osd2         Hostname ceph-osd2         User cephuser Host ceph-osd3         Hostname ceph-osd3         User cephuser Host ceph-client         Hostname ceph-client         User cephuser

保存文件并退出 vim。

Ceph-admin configuration

改变配置文件权限为 644。

chmod 644 ~/.ssh/config

现在使用 ssh-copy-id 命令增加密钥到所有节点。

ssh-keyscan ceph-osd1 ceph-osd2 ceph-osd3 ceph-client mon1 >> ~/.ssh/known_hosts ssh-copy-id ceph-osd1 ssh-copy-id ceph-osd2 ssh-copy-id ceph-osd3 ssh-copy-id mon1

当请求输入密码时输入你的 cephuser 密码。

Ceph-admin deploy ssh key to all cluster nodes

现在尝试从 ceph-admin 节点登录 osd1 服务器,测试无密登录是否正常。

ssh ceph-osd1

SSH Less password from ceph-admin to all nodes cluster

第 3 步 - 配置 Ubuntu 防火墙

出于安全原因,我们需要在服务器打开防火墙。我们更愿使用 Ufw(不复杂防火墙)来保护系统,这是 Ubuntu 默认的防火墙。在这一步,我们在所有节点开启 ufw,然后打开 ceph-admin、ceph-mon 和 ceph-osd 需要使用的端口。

登录到 ceph-admin 节点,然后安装 ufw 包。

ssh root@ceph-admin sudo apt-get install -y ufw

打开 80,2003 和 4505-4506 端口,然后重启防火墙。

sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 2003/tcp sudo ufw allow 4505:4506/tcp

开启 ufw 并设置开机启动。

sudo ufw enable

UFW Firewall with Ceph service

从 ceph-admin 节点,登录到监控节点 mon1 然后安装 ufw。

ssh mon1 sudo apt-get install -y ufw

打开 ceph 监控节点的端口然后开启 ufw。

sudo ufw allow 22/tcp sudo ufw allow 6789/tcp sudo ufw enable

***,在每个 osd 节点 ceph-osd1、ceph-osd2 和 ceph-osd3 上打开这些端口 6800-7300。

从 ceph-admin 登录到每个 ceph-osd 节点安装 ufw。

ssh ceph-osd1 sudo apt-get install -y ufw

在 osd 节点打开端口并重启防火墙。

sudo ufw allow 22/tcp sudo ufw allow 6800:7300/tcp sudo ufw enable

ufw 防火墙配置完成。

第 4 步 - 配置 Ceph OSD 节点

这个教程里,我们有 3 个 OSD 节点,每个节点有两块硬盘分区。

  1. /dev/sda 用于根分区

  2. /dev/sdb 空闲分区 - 20GB

我们要使用 /dev/sdb 作为 ceph 磁盘。从 ceph-admin 节点,登录到所有 OSD 节点,然后格式化 /dev/sdb 分区为 XFS 文件系统。

ssh ceph-osd1 ssh ceph-osd2 ssh ceph-osd3

使用 fdisk 命令检查分区表。

sudo fdisk -l /dev/sdb

格式化 /dev/sdb 分区为 XFS 文件系统,使用 parted 命令创建一个 GPT 分区表。

sudo parted -s /dev/sdb mklabel gpt mkpart primary xfs 0% 100%

下面,使用 mkfs 命令格式化分区为 XFS 格式。

sudo mkfs.xfs -f /dev/sdb

现在检查分区,然后你会看见一个 XFS 文件系统的 /dev/sdb 分区。

sudo fdisk -s /dev/sdb sudo blkid -o value -s TYPE /dev/sdb

Format partition ceph OSD nodes

第 5 步 - 创建 Ceph 集群

在这步,我们将从 ceph-admin 安装 Ceph 到所有节点。马上开始,先登录到 ceph-admin 节点。

ssh root@ceph-admin su - cephuser

在 ceph-admin 节点上安装 ceph-deploy

首先我们已经在系统上安装了 python 和 python-pip。现在我们需要从 pypi python 仓库安装 Ceph 部署工具 'ceph-deploy'。

用 pip 命令在 ceph-admin 节点安装 ceph-deploy 。

sudo pip install ceph-deploy

注意: 确保所有节点都已经更新。

ceph-deploy 工具已经安装完毕后,为 Ceph 集群配置创建一个新目录。

创建一个新集群

创建一个新集群目录。

mkdir cluster cd cluster/

下一步,用 ceph-deploy 命令通过定义监控节点 mon1 创建一个新集群。

ceph-deploy new mon1

命令将在集群目录生成 Ceph 集群配置文件 ceph.conf。


Generate new ceph cluster configuration

用 vim 编辑 ceph.conf。

vim ceph.conf

在 [global] 块下,粘贴下面的配置。

# Your network address public network = 10.0.15.0/24 osd pool default size = 2

保存文件并退出编辑器。

安装 Ceph 到所有节点

现在用一个命令从 ceph-admin 节点安装 Ceph 到所有节点。

ceph-deploy install ceph-admin ceph-osd1 ceph-osd2 ceph-osd3 mon1

命令将自动安装 Ceph 到所有节点:mon1、osd1-3 和 ceph-admin - 安装将花一些时间。

现在到 mon1 节点部署监控节点。

ceph-deploy mon create-initial

命令将创建一个监控密钥,用 ceph 命令检查密钥。

ceph-deploy gatherkeys mon1

Deploy key ceph

增加 OSD 到集群

在所有节点上安装了 Ceph 之后,现在我们可以增加 OSD 守护进程到该集群。OSD 守护进程将在磁盘 /dev/sdb 分区上创建数据和日志 。

检查所有 osd 节点的 /dev/sdb 磁盘可用性。

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

disk list of osd nodes

你将看见我们之前创建 XFS 格式的 /dev/sdb。

下面,在所有 OSD 节点上用 zap 选项删除该分区表。

ceph-deploy disk zap ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

这个命令将删除所有 Ceph OSD 节点的 /dev/sdb 上的数据。

现在准备所有 OSD 节点,请确保结果没有报错。

ceph-deploy osd prepare ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

当你看到 ceph-osd1-3 结果已经准备好供 OSD 使用,就表明命令已经成功。

Prepare the ceph-osd nodes

用下面的命令激活 OSD:

ceph-deploy osd activate ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

现在你可以再一次检查 OSDS 节点的 sdb 磁盘。

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

Ceph osds activated

结果是 /dev/sdb 现在已经分为两个区:

  1. /dev/sdb1 - Ceph Data

  2. /dev/sdb2 - Ceph Journal

或者你直接在 OSD 节点山检查。

ssh ceph-osd1 sudo fdisk -l /dev/sdb

Ceph OSD nodes were created

接下来,部署管理密钥到所有关联节点。

ceph-deploy admin ceph-admin mon1 ceph-osd1 ceph-osd2 ceph-osd3

在所有节点运行下面的命令,改变密钥文件权限。

sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

Ceph 集群在 Ubuntu 16.04 已经创建完成。

第 6 步 - 测试 Ceph

在第 4 步,我们已经安装并创建了一个新 Ceph 集群,然后添加了 OSD 节点到集群。现在我们应该测试集群确保它如期工作。

从 ceph-admin 节点,登录到 Ceph 监控服务器 mon1。

ssh mon1

运行下面命令来检查集群是否健康。

sudo ceph health

现在检查集群状态。

sudo ceph -s

你可以看到下面返回结果:

Ceph Cluster Status

确保 Ceph 健康状态是 OK 的,有一个监控节点 mon1 IP 地址为 '10.0.15.11'。有 3 个 OSD 服务器都是 up状态并且正在运行,可用磁盘空间为 45GB - 3x15GB 的 Ceph 数据 OSD 分区。

我们在 Ubuntu 16.04 建立一个新 Ceph 集群成功。

感谢各位的阅读!关于"怎么在Ubuntu 16.04中安装Ceph存储集群"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

节点 集群 配置 命令 文件 服务 服务器 登录 运行 监控 检查 密码 权限 系统 防火墙 防火 存储 密钥 用户 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技官网 互联网 科技创业 互联网 的科技创新 奇酷互联网络科技 成都互联网科技公司 广州紫鲸互联网科技 互联网科技大会 丰台科技园 互联网公司 滨湖区互联网智能科技产品供应 太原新华互联网科技学校怎么样 知域互联网科技有限公司大骗子 注册互联网科技公司经营范围大全 华夏恒生互联网科技013171 洛阳共同富裕互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 保险科技服务互联网营销体系 南通创西澳互联网科技有限公司 杭州披云加互联网科技有限公司 北京品多多互联网科技有限公司 宁波允成互联网科技有限公司 互联网科技工作委员会主任 互联网科技与金融科技 中国 科技 互联网 礼当家互联网科技 互联网科技排名 互联网科技视频 艾特科技互联网 猫创互联网科技 广州燕处互联网科技有限公司 河南商务圈互联网科技有限公司
0