云网牛站
所在位置:首页 > Linux云服务器 > 在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

2020-05-30 16:35:26作者:申仲稿源:云网牛站

本文将向您介绍如何在CentOS 8 Linux服务器上安装和配置Ceph存储集群,在CentOS 8上安装的Ceph 15(Octopus)存储集群将使用Ansible作为部署的自动化方法。我们在CentOS 8上的Ceph存储集群安装基于以下系统设计,如下图所示,其中cephadmin节点将用于在CentOS 8上部署Ceph存储集群:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

 

步骤1:准备所有节点:ceph-ansible,OSD,MON,MGR,MDS

我们需要按照以下几个步骤准备所有节点。

1]、在每台服务器上设置正确的主机名,参考在RHEL 8系统上设置主机名和时区

2]、设置正确的时间并配置实时NTP服务,参考在RHEL 8系统上使用Chrony配置NTP服务器

3]、将具有IP地址的主机名添加到DNS服务器或更新所有服务器上的/etc/hosts。

每个主机上的/etc/hosts内容示例:

sudo tee -a /etc/hosts<<EOF

192.168.10.10  cephadmin

192.168.10.11  cephmon01

192.168.10.12  cephmon02

192.168.10.13  cephmon03

192.168.10.14  cephosd01

192.168.10.15  cephosd02

192.168.10.16  cephosd03

EOF

完成上述任务后,请安装基本软件包:

sudo dnf update

sudo dnf install vim bash-completion tmux

升级后重新启动每个服务器:

sudo dnf -y update && sudo reboot

 

步骤2:准备Ceph管理节点

登录到管理节点:

$ ssh root@cephadmin

添加EPEL存储库:

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

sudo dnf config-manager --set-enabled PowerTools

安装Git:

sudo yum install git vim bash-completion

克隆Ceph Ansible存储库:

git clone https://github.com/ceph/ceph-ansible.git

选择您想使用的ceph-ansible分支,命令语法为:

git checkout $branch

我将切换到支持Ceph octopus版本的stable-5.0。

cd ceph-ansible

git checkout stable-5.0

安装Python pip:

sudo yum install python3-pip

使用pip和提供的requirements.txt安装Ansible和其他所需的Python库:

sudo pip3 install -r requirements.txt

确保将/usr/local/bin路径添加到PATH:

$ echo "PATH=\$PATH:/usr/local/bin" >>~/.bashrc

$ source ~/.bashrc

确认已安装Ansible版本:

$ ansible --version

ansible 2.9.7

config file = /root/ceph-ansible/ansible.cfg

configured module search path = ['/root/ceph-ansible/library']

ansible python module location = /usr/local/lib/python3.6/site-packages/ansible

executable location = /usr/local/bin/ansible

python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]

1、将SSH公钥复制到所有节点

在您的Ceph管理节点上设置SSH密钥对,并将公钥复制到所有存储节点:

$ ssh-keygen

复制pubkey,例如:

for host in cephmon01 cephmon02 cephmon03 cephosd01 cephosd02 cephosd03; do

 ssh-copy-id root@$host

done

在Admin节点上为所有存储节点创建ssh配置文件:

# 这是我的ssh配置文件

$ vi ~/.ssh/config 

Host cephadmin

 Hostname 192.168.10.10

 User root

Host cephmon01

 Hostname 192.168.10.11

 User root

Host cephmon02

 Hostname 192.168.10.12

 User root

Host cephmon03

 Hostname 192.168.10.13

 User root

Host cephosd01

 Hostname 192.168.10.14

 User root

Host cephosd02

 Hostname 192.168.10.15

 User root

Host cephosd03

 Hostname 192.168.10.16

 User root

将Hostname值替换为节点的IP地址,并将User值替换为您要安装的远程用户。

2、不使用root进行SSH时

对于普通用户安装,请使节点上所有存储上的远程用户执行无密码sudo:

echo -e 'Defaults:user !requiretty\nusername ALL = (root) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/ceph

sudo chmod 440 /etc/sudoers.d/ceph

其中,将username替换为~/.ssh/config文件中配置的用户名。

3、配置Ansible库存和Playbook

在管理节点上创建Ceph集群组变量文件:

cd ceph-ansible

cp group_vars/all.yml.sample  group_vars/all.yml

vim group_vars/all.yml

编辑文件以配置您的ceph集群:

ceph_release_num: 15

cluster: ceph

# Inventory host group variables

mon_group_name: mons

osd_group_name: osds

rgw_group_name: rgws

mds_group_name: mdss

nfs_group_name: nfss

rbdmirror_group_name: rbdmirrors

client_group_name: clients

iscsi_gw_group_name: iscsigws

mgr_group_name: mgrs

rgwloadbalancer_group_name: rgwloadbalancers

grafana_server_group_name: grafana-server

# Firewalld / NTP

configure_firewall: True

ntp_service_enabled: true

ntp_daemon_type: chronyd

# Ceph packages

ceph_origin: repository

ceph_repository: community

ceph_repository_type: cdn

ceph_stable_release: octopus

# Interface options

monitor_interface: eth0

radosgw_interface: eth0

# DASHBOARD

dashboard_enabled: True

dashboard_protocol: http

dashboard_admin_user: admin

dashboard_admin_password: St0ngAdminp@ass

grafana_admin_user: admin

grafana_admin_password: St0ngAdminp@ass

如果群集和公共网络有单独的网络,请相应地定义它们:

public_network: "192.168.3.0/24"

cluster_network: "192.168.4.0/24"

根据需要配置其他参数。

4、设置OSD设备

我有三个OSD节点,每个都有一个原始块设备-/dev/sdb。

$ lsblk

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

列出要使用的OSD原始块设备:

$ cp group_vars/osds.yml.sample group_vars/osds.yml

$ vim group_vars/osds.yml

copy_admin_key: true

devices:

 - /dev/sdb

创建一个新的ceph节点ansible库存:

vim hosts

正确设置库存文件,以下是我的库存,修改清单组的方式是您希望在群集节点中安装服务的方式:

# Ceph admin user for SSH and Sudo

[all:vars]

ansible_ssh_user=root

ansible_become=true

ansible_become_method=sudo

ansible_become_user=root

# Ceph Monitor Nodes

[mons]

cephmon01

cephmon02

cephmon03

# MDS Nodes

[mdss]

cephmon01

cephmon02

cephmon03

# RGW

[rgws]

cephmon01

cephmon02

cephmon03

# Manager Daemon Nodes

[mgrs]

cephmon01

cephmon02

cephmon03

# set OSD (Object Storage Daemon) Node

[osds]

cephosd01

cephosd02

cephosd03

# Grafana server

[grafana-server]

cephosd01

 

步骤3:在CentOS 8上部署Ceph 15(Octopus)集群

通过将示例Playbook复制到ceph可访问的项目site.yml.sample的根目录来创建Playbook文件:

cp site.yml.sample site.yml

运行Playbook:

ansible-playbook -i hosts site.yml

如果安装成功,则运行状况检查应返回“OK”:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

这是我的安装输出完成后的屏幕截图:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

 

步骤4:在CentOS 8上验证Ceph集群安装

登录到群集节点之一,并进行一些验证以确认Ceph存储集群在CentOS 8上的安装成功:

$ ssh root@ceph-mon-01

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

您可以在活动的MGR节点上访问Ceph仪表板:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

使用在group_vars/all.yml文件中配置的凭据登录,对我来说,数值如下:

dashboard_admin_user: admin

dashboard_admin_password: St0ngAdminp@ass

然后,您可以在群集上创建具有不同访问级别的更多用户:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

可以在为grafana服务器组名称设置的节点上访问Grafana仪表板,默认情况下,该服务应在3000端口上进行侦听:

在CentOS 8服务器上安装Ceph 15(Octopus)集群的步骤

使用已配置的访问凭据访问管理控制台:

grafana_admin_user: admin

grafana_admin_password: St0ngAdminp@ass

至此,Ceph集群安装并配置完成。

 

相关主题

使用Prometheus和Grafana监控Ceph集群的方法

精选文章
热门文章