目录

一、规划设计

二、环境准备               

三、部署ceph集群

四、开启Dashboard


一、规划设计

准备四台虚拟机(部署三台服务器和一台计算机更好),分别安装centos-7-x86_64操作系统,使用的ceph的版本minic版,网络地址及规划随机。

节点名称

IP地址

系统版本

部署进程

数据盘

Ceph1

192.168.239.150

Centos-7-x86_64

MON+mgr+OSD

/dev/sdb

Ceph2

192.168.239.151

Centos-7-x86_64

MON+mgr+OSD

/dev/sdb

Ceph3

192.168.239.152

Centos-7-x86_64

MON+mgr+OSD

/dev/sdb

Client

192.168.239.153

Centos-7-x86_64

客户端

注意:

1.虚拟机网卡使用NAT模式,以便连接网络,同时避免地址冲突。

2.部署进程中的MON表示monitor监视器,要求部署个数为2N+1个;OSD表示objectstorage存储磁盘,mgr表示管理器。

3.每个MON都兼职做OSD,所以安装三个ceph节点时需要在上面添加一块磁盘sdb。


二、环境准备               

在准备好的三个节点和客户端 client上分别进行下述操作:

1)关闭防火墙

# service firewalld stop
# chkconfig firewalld off
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# setenforce 0

2)修改网卡配置文件(以ceph1节点为例)

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

重启网络服务

# systemctl restart network

3)配置yum源文件

<1>、通过yum安装wget下载工具

# yum install -y wget

<2>、将系统默认的yum源备份

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

<3>、通过wget下载aliyun的yum

​# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

<4>、通过aliyun的yum源安装epel

# yum install -y epel-release

<5>、清除yum

# yum clean all

<6>、创建yum缓存

# yum makecache

4)配置hosts文件确保每台服务器hosts文件内容一致

# vi /etc/hosts     添加如下内容:

192.168.239.150  ceph1
192.168.239.151  ceph2
192.168.239.152  ceph3
192.168.239.153  client

(5)安装chrony服务

       Chrony 是一个开源的自由软件,能使系统时钟与时钟服务器(NTP)保持同步,在分布式集群中,为了便于同一生命周期内不同节点服务的管理,需要各个节点的时钟服务器严格同步。在以下配置中,以client节点作为时钟服务器,其他节点以client节点的时钟作为时钟标准调整自己的时钟。

client节点和三个集群节点分别安装Chrony服务。

# yum -y install chrony

找到server字段,在所有默认的server前加“#”,并添加国内时钟服务器,配置允许参同步的网段。

Client节点配置如下:

 # vi /etc/chrony.conf

Ceph1节点配置如下:

 # vi /etc/chrony.conf

Ceph2节点配置如下:

 # vi /etc/chrony.conf

Ceph3节点配置如下:

 # vi /etc/chrony.conf

在所有节点启动chrony服务,并设置开机自启动。

# systemetl restart chronyd
# systemctl enable chronyd
查看同步情况。
# chronyc sources

如果同步时间显示的还是数千秒,则可以 systemctl restart chronyd,然后再次查看同步情况。

6)配置ceph使用的yum源。

在三个节点分别配置ceph.repo文件。

# vim /etc/yum.repos.d/ceph.repo

代码内容如下:

[Ceph]
name=Ceph packages for x86_64
baseurl=http://mirrors.aliyun.com/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

为防止后续python支持环境出现问题,可以在三个节点上分别运行:

# yum install -y python-pip

7)配置无密码连接:

ceph1上,可以设置无密码访问其他节点。

# ssh-keygen

  按四次Enter键,进行无密码访问。

--->接下来访问ceph2:

# ssh-copy-id root@ceph2

在询问是否连接到ceph2节点的提示信息下,输入“yes”进行确认。接下来按提示输入ceph2的登录密码。

--->接下来访问ceph3:

# ssh-copy-id root@ceph3

在询问是否连接到ceph3节点的提示信息下,输入“yes”进行确认。接下来按提示输入ceph3的登录密码。


三、部署ceph集群

1.安装部署软件:

       ceph-deploy是个部署工具,使用它可以实现所有节点同步安装,如果这个工具无法使用,必须在每个节点上分别进行安装过程。

在节点ceph1安装:

# yum -y install ceph-deploy

2.创建工作目录:

后续进行创建集群、安装软件包、初始化服务、创建OSD等操作时,必须创建工作目录。

# mkdir ceph-cluster && cd ceph-cluster

3.创建群集并安装软件:

# ceph-deploy new ceph{1,2,3}
# ceph-deploy install cephl ceph2 ceph3

4.初始化部署 monitor

# ceph-deploy mon create ceph{1,2,3}
# ceph-deploy mon create-initial
# ceph mon_status       检查部署情况

5.共享管理密钥:

       用 ceph-deploy 把配置文件和 admin 密钥复制到管理节点和 Ceph 节点,这样每次执行Ceph 命令行时就无须指定 monitor 地址和 ceph.client.admin.keyring

# ceph-deploy admin cephl ceph2 ceph3

修改密钥权限:

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

6.创建OSD

# ceph-deploy osd create ceph1 --data /dev/sdb

# ceph-deploy osd create ceph2 --data /dev/sdb

# ceph-deploy osd create ceph3 --data /dev/sdb

*创建完成可以查看OSD

# ceph-deploy osd list ceph1 ceph2 ceph3

7.创建mgr

# ceph-deploy mgr create ceph1 ceph2 ceph3

8.验证测试:

# ceph health

正常情况将显示“HEALTH_OK

# ceph -s

显示详细信息。如果该简化命令提示错误,则使用ceph-status

9. 时钟同步问题:

如果ceph-s显示如下信息。

# ceph -s

health HEALTH WARN

clock skew detected on mon. node2, mon. node 3

Monitor clock skew detected

往往是各节点时钟同步出错。修改ceph1节点的配置文件/etc/ceph/ceph.conf,添加如下内容,将同步时间由默认的0.05s改为1s(或2s)。

[mon]

mon clock drift allowed =1

mon clock drift warn backoff = 30

四、开启Dashboard

       Ceph从 Luminous开始,提供了原生的 Dashboard功能,通过Dashboard可以获取Ceph集群的各种状态信息,从Mimic里实现了Dashboard V2版本,提供了更全面的Ceph展示和管理功能。

1.查看ceph状态:

首先查看ceph状态,找出active的mgr,这里active mgr是ceph1。

2.启用 dashboard 插件:

# ceph mgr module disable dashboard
# ceph mgr module enable dashboard

 

*生成自签名证书和秘钥:

# ceph dashboard create-self-signed-cert

*生成key pair,并配置给ceph mgr

# mkdir mgr-dashboard
# cd mgr-dashboard/

# openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca

3.配置 dashboard 地址和端口:

# ceph config set mgr mgr/dashboard/server_addr 192.168.69.150

# ceph config set mgr mgr/dashboard/server_port 8888

*关闭HTTPS

  # ceph config set mgr mgr/dashboard/ssl false

*查看 dashboard服务:

# ceph mgr services

4.配置 dashboard 认证密码:

# ceph dashboard set-login-credentials admin 123456 and password updated

5.访问ceph的dashboard

https://192.168.239.150:8888/

Dashboard面板显示当前ceph集群状态信息:

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐