手动搭建ceph集群

时间:2021-11-28 12:50:55

手动部署ceph过程

  • 环境:CentOS7 1611
  • 节点数:1mon,1osd

> 以下步骤均在root用户下进行

更改主机名

nmtui

重启终端

hostnamectl

修改hosts文件

172.30.143.3  cephmon
172.30.46.6   cephn1

获取软件

1)删除默认的源,国外的比较慢

# yum clean all
# rm -rf /etc/yum.repos.d/*.repo

2)下载阿里云的Base源

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

3)下载阿里云的epel源

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4)修改里面的系统版本为7.3.1611,当前用的CentOS的版本的yum源可能已经清空了

# sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
# sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
# sed -i 's/$releasever/7.3.1611/g' /etc/yum.repos.d/CentOS-Base.repo

5)添加ceph源

vim /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0

6)进行yum的makecache

yum makecache

7)安装软件

yum install ceph

关闭防火墙和SELinux

1)关闭防火墙

# systemctl stop firewalld.service

2)关闭自启

# systemctl disable firewalld.service

3)打开配置文件/etc/sysconf/selinux

# vim /etc/sysconfig/selinux

4)修改

# SELINUX=enforcing改为disabled

5)保存然后退出

# setenforce 0

6)查看selinux状态

# getenforce

Mon节点免密登录OSD

# ssh-keygen
# ssh-copy-id ceph-n1
# ssh-copy-id ceph-mon

配置mon,参考官方文档

1)确保保存Ceph配置文件的目录存在,Ceph默认使用/etc/ceph。安装ceph软件时,安装器也会自动创建/etc/ceph目录。

2)创建Ceph配置文件,ceph默认使用ceph.conf

# vim /etc/ceph/ceph.conf

3)给集群分配唯一ID(fsid)

# uuidgen

4)把此ID写入Ceph配置文件

# fsid = 7ada51e0-819e-437d-8567-88d72af64847

5)把初始监视器写入ceph配置文件

# mon initial members = cephmon

6)把初始监视器的IP地址写入ceph配置文件,并保存。

# mon host = 192.168.1.55

7)为此集群创建密钥环,并生成监视器密钥。

# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

8)生成管理员密钥环,生成client.admin用户并加入密钥环。

# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'

9)把alient.admin密钥加入ceph.mon.keyring。

# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring

10)用规划好的主机名,对应IP地址,和FSID生成一个监视器图,并保存为/tmp/monmap。

# monmaptool --create --add ceph-mon 192.168.1.55 --fsid 7ada51e0-819e-437d-8567-88d72af64847 /tmp/monmap

11)在监视器主机上分别创建数据目录。

# mkdir /var/lib/ceph/mon/ceph-cephmon

12)用监视器图和密钥环组装守护进程所需的初始数据。

# ceph-mon --mkfs -i ceph-mon --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

13)ceph公共配置文件如下

fsid = 7ada51e0-819e-437d-8567-88d72af64847
mon initial members = cephmon
mon host = 192.168.1.55
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd pool default size = 1

14)创建一个空文件done,表示监视器已经创建、可以启动了:

# touch /var/lib/ceph/mon/ceph-mon/done

15)启动监视器

# ceph-mon --id ceph-mon

手动配置OSD(精简型)

1)准备OSD

# ssh {node-name}
# sudo ceph-disk prepare --cluster {cluster-name} --cluster-uuid {uuid} --fs-type {ext4|xfs|btrfs} {data-path} [{journal-path}]

例如

# ssh cephn1
# sudo ceph-disk prepare --cluster ceph --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 --fs-type ext4 /dev/hdd1

2)激活OSD

# ceph-disk activate {data-path} [--activate-key {path}]

例如

# ceph-disk activate /dev/hdd1

注意:如果启动失败可以选择该启动命令

# ceph-osd --id 0

---恢复内容结束---