ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!

    手动搭建适合已经使用自动部署工具成功搭建了集群,想加深对ceph理解的同学,手动搭建ceph可以更灵活的配置ceph集群,现在就开始吧!!

一.环境准备

1.服务器配置:

    三台centos 7.5(1804)服务器

    ip:192.168.10.17(node1),

        192.168.10.18(node2),

        192.168.10.19(node3)

    系统内核:3.10.0-862.el7.x86_64

    cpu:2

    内存:4g

    硬盘:2块硬盘(100GB,50GB)

    网卡:1

2.关闭防火墙

    分别在三台服务器上执行:

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state

3.关闭seLinux

分别在三台服务器上执行:

 vim /etc/selinux/config

ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第1张图片

sentenforce 0

二.软件安装

1.在线安装

    略

2.离线安装(离线包链接https://download.csdn.net/download/qq_33218245/11454740,使用的是mimic13.2.4 是一个稳定的版本)

   2.1.安装ntp(时间同步)

        进入到本地rpm包所在目录,使用yum安装本地ntp       

 cd cephRpm/ntp-4.2.6/28/
 yum localinstall *.rpm -y

      执行ntpq --version查看版本,显示如下则表示安装成功

 2.2安装ceph

        进入到本地rpm包所在目录,使用yum安装本地ceph        

cd cephRpm/ceph-mimic-13.2.4/
yum localinstall *.rpm -y

        执行ceph --version查看版本,显示如下则表示安装成功

    至此,三台服务器均已安装ntp与ceph,下面进入正题,搭建ceph分布式存储集群

三.搭建集群

1.创建ceph配置文件

      生成集群id

uuidgen

    创建简单的ceph.conf

vim /etc/ceph/ceph.conf

[global]
fsid = e0c74cdd-0fb2-4568-9216-848965f1581e
mon_initial_members =node1,node2,node3
mon_host = 192.168.10.17,192.168.10.18,192.168.10.19
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

osd pool default size = 2
rgw frontends =civetweb port=7480
public_network = 192.168.10.0/24
rbd_default_features = 1
mon clock drift allowed = 2
mon clock drift warn backoff = 30
osd_crush_update_on_start = false

[mon]
mon allow pool delete = true


ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第2张图片

2.创建密钥

sudo ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'

sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring --gen-key -n client.bootstrap-mds --cap mon 'profile bootstrap-mds'

sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-mgr/ceph.keyring --gen-key -n client.bootstrap-mgr --cap mon 'profile bootstrap-mgr'

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 --create-keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring --gen-key -n client.bootstrap-rgw --cap mon 'profile bootstrap-rgw'

3.导入密钥

sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring

sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring

sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-mgr/ceph.keyring

sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring

sudo ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring

ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第3张图片

4.将ceph.conf和所有密钥拷贝到所有的服务器节点上并修改所有配置文件的权限

    4.1拷贝密钥

scp /etc/ceph/ceph.conf [email protected]:/etc/ceph

scp /etc/ceph/ceph.mon.keyring [email protected]:/etc/ceph

scp /etc/ceph/ceph.client.admin.keyring [email protected]:/etc/ceph

scp /var/lib/ceph/bootstrap-mds/ceph.keyring [email protected]:/var/lib/ceph/bootstrap-mds/

scp /var/lib/ceph/bootstrap-mgr/ceph.keyring [email protected]:/var/lib/ceph/bootstrap-mgr/

scp /var/lib/ceph/bootstrap-osd/ceph.keyring [email protected]:/var/lib/ceph/bootstrap-osd/

scp /var/lib/ceph/bootstrap-rgw/ceph.keyring [email protected]:/var/lib/ceph/bootstrap-rgw/

 

    4.2 修改权限为755      

chmod 755 -R /etc/ceph/

chmod 755 -R /var/lib/ceph/

chown -R ceph:ceph /etc/ceph

chown -R ceph:ceph /var/lib/ceph

5.添加mon

    5.1创建monmap  

monmaptool --create --add node1 192.168.10.17 --add node2 192.168.10.18 --add node3 192.168.10.19 --fsid e0c74cdd-0fb2-4568-9216-848965f1581e /etc/ceph/monmap

    5.2创建mon

        在mon节点上执行(这里我将3台节点都作为mon

scp /etc/ceph/monmap [email protected]:/etc/ceph

sudo -u ceph mkdir /var/lib/ceph/mon/ceph-node1

sudo -u ceph ceph-mon --mkfs -i node1 --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring

systemctl start ceph-mon@node1

5.3 更新monmap

ceph mon getmap -o /etc/ceph/monmap

5.4 查看集群状态

ceph -s

    显示有3个mon 分别为node1 node2 node3

ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第4张图片

6.添加mgr

   将所有mon节点都作为mgr节点 

ceph auth get-or-create mgr.node1  mon 'allow *' osd 'allow *' mds 'allow *'

mkdir /var/lib/ceph/mgr/ceph-node1

ceph auth get mgr.node1 -o /var/lib/ceph/mgr/ceph-node1/keyring

chown -R ceph:ceph /var/lib/ceph/mgr

ceph-mgr -i node1

systemctl start ceph-mgr@node1

   ceph -s 查看,现在有3个mgr了,一个激活,2个备用

ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第5张图片

7.添加osd

      最好使用一块裸盘作为osd,每个节点使用一块硬盘作为osd,我这里使用的是/dev/xvdb

ceph-volume lvm create --data /dev/xvdb

 

使用ceph -s 查看,现在已经有3个osd了

ceph学习(1)——手动部署ceph分布式存储集群(使用本地源离线安装),一次成功!!_第6张图片

使用ceph osd tree 查看,没有创建clush map,是因为我在ceph.conf配置文件中将自动创建crush map设置为了false,这样可以创建自己想要的crush map,就是这个参数osd_crush_update_on_start = false。

到这里,ceph的一个简单的搭建流程就结束了,是不是很简单呢,关于crush map配置和存储池创建,块设备,对象存储,文件存储,就下次再写吧。。

你可能感兴趣的:(ceph)