成功最有效的方法就是向有经验的人学习!

ceph集群安装

环境准备

机器名 IP 软件 备注
cephnode01 10.0.0.170
cephnode02 10.0.0.171
cephnode03 10.0.0.172

关闭NetworkManager

systemctl disable NetworkManager && systemctl stop NetworkManager

添加主机名与IP对应关系:

cat >> /etc/hosts << EOF
10.0.0.170 cephnode01
10.0.0.171 cephnode02
10.0.0.172 cephnode03
EOF

同步网络时间和修改时区

systemctl restart chronyd.service && systemctl enable chronyd.service
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置文件描述符

echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF

内核参数优化

cat >> /etc/sysctl.conf << EOF
kernel.pid_max = 4194303
vm.swappiness = 0 
EOF
sysctl -p

cephnode01上配置免密登录到cephnode02cephnode03

ssh-keygen -t rsa
ssh-copy-id root@cephnode02
ssh-copy-id root@cephnode03

read_ahead,通过数据预读并且记载到随机访问内存方式提高磁盘读操作

echo "8192" > /sys/block/sdb/queue/read_ahead_kb

先做一个快照便于恢复

I/O SchedulerSSD要用noopSATA/SAS使用deadline

echo "deadline" >/sys/block/sdb/queue/scheduler
#echo "noop" >/sys/block/sdb/queue/scheduler

安装Ceph集群

1、编辑内网yum源,将yum源同步到其它节点并提前做好yum makecache

cat >> /etc/yum.repos.d/ceph.repo << EOF
[Ceph]
name=Ceph packages for \$basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/\$basearch
gpgcheck=0
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1
EOF

手动部署:https://docs.ceph.com/en/latest/install/index_manual/
2、安装ceph-deploy,在node01执行(确认ceph-deploy版本是否为2.0.1,)

yum install -y ceph-deploy

3、创建一个my-cluster目录,所有命令在此目录下进行,在node01执行(文件位置和名字可以随意)

mkdir /my-cluster
cd /my-cluster

4、安装依赖包

yum install python-setuptools

5、创建一个Ceph集群,在node01执行

ceph-deploy new cephnode01 cephnode02 cephnode03

6、安装Ceph软件(每个节点执行)

yum -y install epel-release
yum install -y ceph

7、生成monitor检测集群所使用的的秘钥

ceph-deploy mon create-initial

8、安装Ceph CLI,方便执行一些管理命令

ceph-deploy admin cephnode01 cephnode02 cephnode03

9、配置mgr,用于管理集群

ceph-deploy mgr create cephnode01 cephnode02 cephnode03

10、部署rgw
以后要新加rgw时只需要找一台机器安装ceph-radosgw,然后再执行ceph-deploy rgw create <nodename>添加到集群即可。

yum install -y ceph-radosgw
ceph-deploy rgw create cephnode01

11、部署MDS(CephFS)

您暂时无权查看此隐藏内容!

12、添加osd

您暂时无权查看此隐藏内容!

以后新加硬盘,只需要执行以上命令,注意磁盘块文件路径和机器名
添加磁盘是一个非常高风险的事情,不要一次性添加大量的磁盘,这会导致集群内部发生很大的变化,集群内部会产生大量的读写,就很可能会影响性能,集群性能差就可能会出现一些block,夯死的一些状态。集群访问会很慢,建议一块盘或两块盘来添加,盘越大的话,一块一块的加,要谨慎操作。

常用命令

ceph -s  # 查看集群状态
ceph osd df  # 查看osd容量

盘添加完后,数据平衡完状态中会显示HEALTH_OK,默认是三副本,所以最少要三个节点

查看集群状态

[root@cephnode01 my-cluster]# ceph -s
  cluster:
    id:     fdeb2587-505e-4eec-9561-2789e351c201
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum cephnode01,cephnode02,cephnode03 (age 9m)
    mgr: cephnode01(active, since 7m), standbys: cephnode03, cephnode02
    mds:  3 up:standby
    osd: 3 osds: 3 up (since 35s), 3 in (since 35s)
    rgw: 1 daemon active (cephnode01)

  task status:

  data:
    pools:   4 pools, 128 pgs
    objects: 187 objects, 1.2 KiB
    usage:   3.0 GiB used, 147 GiB / 150 GiB avail
    pgs:     128 active+clean

  io:
    recovery: 0 B/s, 2 objects/s

集群时间必须同步,否则会出现以下错误

ceph配置文件

1、该配置文件采用init文件语法,#和;为注释,ceph集群在启动的时候会按照顺序加载所有的conf配置文件。 配置文件分为以下几大块配置。

global:全局配置。
osd:osd专用配置,可以使用osd.N,来表示某一个OSD专用配置,N为osd的编号,如0、2、1等。
mon:mon专用配置,也可以使用mon.A来为某一个monitor节点做专用配置,其中A为该节点的名称,ceph-monitor-2、ceph-monitor-1等。使用命令 ceph mon dump可以获取节点的名称。
client:客户端专用配置。

2、配置文件可以从多个地方进行顺序加载,如果冲突将使用最新加载的配置,其加载顺序为。

$CEPH_CONF环境变量
-c 指定的位置
/etc/ceph/ceph.conf
~/.ceph/ceph.conf
./ceph.conf

3、配置文件还可以使用一些元变量应用到配置文件,如。

$cluster:当前集群名。
$type:当前服务类型。
$id:进程的标识符。
$host:守护进程所在的主机名。
$name:值为$type.$id。

4、ceph.conf详细参数

您暂时无权查看此隐藏内容!
内容查看本文隐藏内容查看需要消耗10土豆币,请先
土豆币按需购买,不退换,请考虑清楚后购买。
赞(3) 打赏
未经允许不得转载:陈桂林博客 » ceph集群安装

大佬们的评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #3

    感谢分享啊。

    无痕11个月前 (01-13)回复
  2. #2

    感谢分享,实战性强

    tzjs11个月前 (12-28)回复
  3. #1

    小遇见1年前 (2021-08-05)回复

全新“一站式”建站,高质量、高售后的一条龙服务

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏