云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

2019-01-30 15:48:14作者:戴进稿源:云网牛站

本文介绍在Ubuntu 18.04系统上安装和配置功能齐全的Ceph Storage Cluster(Ceph存储集群)。

 

我的Ceph Storage cluster架构

我的Ceph集群部署基于以下系统图:

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

应相应地设置每个服务器的主机名,并在所有Ceph集群节点上配置/etc/hosts文件如下所示:

192.168.18.70 rgw.example.com   rgw

192.168.18.71 mon01.example.com mon01

192.168.18.72 mon02.example.com mon02

192.168.18.73 mon03.example.com mon03

192.168.18.75 osd01.example.com osd01

192.168.18.76 osd02.example.com osd02

192.168.18.77 osd03.example.com osd03

更改主机名和IP地址以适合你的设置,作为基本条件,请确保系统已更新:

sudo apt update

sudo apt upgrade

sudo reboot

重新启动系统后,即可开始Ceph群集部署,建议有一个额外的节点,其工作是在所有Ceph节点上部署ceph,此节点称为管理节点:

192.168.18.74 ceph-admin.example.com ceph-admin

1、准备Ceph管理节点

需要将Ceph存储库添加到ceph-deploy管理节点,然后安装ceph-deploy软件包,我的管理节点在IP 192.168.18.74上。

导入存储库密钥:

wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -

将Ceph存储库添加到你的系统,将{ceph-stable-release}替换为稳定的Ceph版本:

echo deb https://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

这个安装会做Ceph mimic:

echo deb https://download.ceph.com/debian-mimic/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

更新你的存储库并安装ceph-deploy:

sudo apt update

sudo apt -y install ceph-deploy

2、准备Ceph节点

管理节点必须具有对Ceph节点的无密码SSH访问,当ceph-deploy以用户身份登录到Ceph节点时,该特定用户必须具有无密码的sudo权限。

在所有Ceph节点上添加SSH用户 - rgw,osd节点和监视器:

export USERNAME="ceph-admin"

export USER_PASS="StrongPassword"

sudo useradd --create-home -s /bin/bash ${USERNAME}

echo "${USERNAME}:${USER_PASS}"|chpasswd

echo "${USERNAME} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/${USERNAME}

sudo chmod 0440 /etc/sudoers.d/${USERNAME}

确认用户无需密码提示即可运行sudo:

jmutai@osd01:~$ su - ceph-admin

Password: 

ceph-admin@osd01:~$ sudo su -

root@ceph-admin:~#

在ceph-admin节点上生成SSH密钥,但不要使用sudo或root用户,将密码保留为空:

# su - ceph-admin

$ ssh-keygen 

Generating public/private rsa key pair.

Enter file in which to save the key (/home/ceph-admin/.ssh/id_rsa): 

Created directory '/home/ceph-admin/.ssh'.

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/ceph-admin/.ssh/id_rsa.

Your public key has been saved in /home/ceph-admin/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:DZZdfRS1Yo+unWAkDum7juShEF67pm7VdSkfWlsCpbA ceph-admin@ceph-admin

The key's randomart image is:

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

$ ls /home/ceph-admin/.ssh/

config  id_rsa  id_rsa.pub  known_hosts

配置~/.ssh/config:

$ cat /home/ceph-admin/.ssh/config 

Host osd01

Hostname osd01

User ceph-admin

Host osd02

Hostname osd02

User ceph-admin

Host osd03

Hostname osd03

User ceph-admin

Host osd01

Hostname osd01

User ceph-admin

Host mon01

Hostname mon01

User ceph-admin

Host mon02

Hostname mon02

User ceph-admin

Host mon03

Hostname mon03

User ceph-admin

Host rgw

Hostname rgw

User ceph-admin

将密钥复制到每个Ceph节点(从Ceph管理节点执行此操作作为ceph-admin用户):

for i in rgw mon01 mon02 mon03 osd01 osd02 osd03; do

ssh-copy-id $i

done

如果所有Ceph节点上的远程用户不是,则ceph-admin用正确的用户名替换它。

 

部署Ceph Storage Cluster

确保在所有Ceph节点上设置NTP,尤其是监视器:

sudo apt install ntp

参考:在Linux系统下安装配置Chrony,使其成为NTP客户端替代品

我们将创建一个带有一个Ceph Monitor和三个Ceph OSD守护进程的三个Ceph Node集群,群集达到活动+清除状态后,通过添加元数据服务器和另外两个Ceph监视器来展开它。

让我们首先在管理节点上创建一个目录,用于维护ceph-deploy为集群生成的配置文件和密钥:

mkdir ceph-deploy

cd ceph-deploy

ceph-deploy实用程序将文件输出到当前目录,执行ceph-deploy时,请确保位于此目录中。

1、初始化ceph监控节点

在你创建的ceph-deploy目录中,在管理节点上运行以下命令,以保存配置详细信息:

$ ceph-deploy new mon01 mon02 mon03

输出如下:

ceph-admin@ceph-admin:~/ceph-deploy$ ceph-deploy new mon01

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

2、安装Ceph包:

ceph-deploy install mon01 mon02 mon03 osd01 osd02 osd03 rgw

ceph-deploy实用程序将在每个节点上安装Ceph。

输出如下:

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

3、部署初始监视器并收集密钥:

ceph-deploy mon create-initial

许多密钥环将放在你的工作目录中。

4、将ceph配置文件和密钥环复制到节点

将配置文件和管理密钥复制到你的管理节点和Ceph节点:

ceph-deploy admin osd01 osd02 osd03

5、部署管理器守护程序

通过运行以下命令部署管理器守护程序:

ceph-deploy mgr create osd01

6、添加三个OSD

我假设你在每个节点中都有一个未使用的磁盘,名为/dev/device,看起来如下:

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

我有三种设备可供使用:/dev/vda、dev/vdb、dev/vdc。

确保设备当前未使用且不包含任何重要数据,使用的用法是:

ceph-deploy osd create --data {device} {ceph-node}

例:

ceph-deploy osd create --data /dev/vda osd01

ceph-deploy osd create --data /dev/vda osd02

ceph-deploy osd create --data /dev/vda osd03

ceph-deploy osd create --data /dev/vdb osd01

ceph-deploy osd create --data /dev/vdb osd02

ceph-deploy osd create --data /dev/vdb osd03

ceph-deploy osd create --data /dev/vdc osd01

ceph-deploy osd create --data /dev/vdc osd02

ceph-deploy osd create --data /dev/vdc osd03

注意:如果要在LVM卷上创建OSD,则--data的参数必须是volume_group/lv_name,而不是卷的块设备的路径。

lsblk命令的输出应该已经改变:

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

7、检查群集的运行状况

检查Ceph群集状态:

root@osd02:~# ceph health

root@osd02:~# ceph status

在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

 

扩展Ceph Storage Cluster

启动并运行基本群集后,下一步是展开群集。

1、添加Ceph元数据服务器

要使用CephFS,你至少需要一个元数据服务器,执行以下操作将Ceph元数据服务器添加到osd02和osd03:

ceph-deploy mds create osd02 osd03

2、添加其他Ceph监视器

Ceph存储集群需要至少运行一个Ceph Monitor和Ceph Manager。为了实现高可用性,Ceph存储集群通常运行多个Ceph监视器,以便单个Ceph监视器的故障不会导致Ceph存储集群失效,扩展你的监视器数量,使用:

ceph-deploy install <monitor>

ceph-deploy mon add <monitor>

一旦添加了新的Ceph监视器,Ceph将开始同步监视器并形成一个法定人数,可以通过执行以下操作来检查仲裁状态:

ceph quorum_status --format json-pretty

3、添加其他Manager Daemon

要部署其他管理器守护程序:

ceph-deploy mgr create mon02 mon03

4、添加RGW

要使用Ceph的Ceph对象网关组件,必须部署RGW实例,执行以下命令以创建RGW的新实例:

ceph-deploy rgw create {gateway-node}

例:

ceph-deploy rgw create rgw

默认情况下,RGW实例将侦听端口7480,可以通过在运行RGW的节点上编辑ceph.conf来更改此设置,如下所示:

[client]

rgw frontends = civetweb port=80

 

重置Ceph Cluster

如果你遇到麻烦并且想要重新开始,请执行以下操作以清除Ceph软件包,并清除其所有数据和配置:

ceph-deploy purge {ceph-node} [{ceph-node}]

ceph-deploy purgedata {ceph-node} [{ceph-node}]

ceph-deploy forgetkeys

rm ceph.*

如果执行purge,则必须重新安装Ceph,最后一个rm命令删除在先前安装期间由本地ceph-deploy写出的所有文件。

 

相关主题

在Ubuntu 18.04 LTS系统上配置RabbitMQ集群的步骤

精选文章
热门文章