阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ceph 单/多节点 安装小结 Power by CentOS 6.x

166次阅读
没有评论

共计 6924 个字符,预计需要花费 18 分钟才能阅读完成。

概述

Docs : http://docs.ceph.com/docs

Ceph 是一个分布式文件系统,在维持 POSIX 兼容性的同时加入了复制和容错功能。Ceph 最大的特点是分布式的元数据服务器,通过 CRUSH(Controlled Replication Under Scalable Hashing)这种拟算法来分配文件的 location。Ceph 的核心是 RADOS(ReliableAutonomic Distributed Object Store),一个对象集群存储,本身提供对象的高可用、错误检测和修复功能。

Ceph 生态系统架构可以划分为四部分:

client:客户端(数据用户)。client 向外 export 出一个 POSIX 文件系统接口,供应用程序调用,并连接 mon/mds/osd,进行元数据及数据交互;最原始的 client 使用 FUSE 来实现的,现在写到内核里面了,需要编译一个 ceph.ko 内核模块才能使用。
mon:集群监视器,其对应的 daemon 程序为 cmon(Ceph Monitor)。mon 监视和管理整个集群,对客户端 export 出一个网络文件系统,客户端可以通过 mount -t ceph monitor_ip:/ mount_point 命令来挂载 Ceph 文件系统。根据官方的说法,3 个 mon 可以保证集群的可靠性。
mds:元数据服务器,其对应的 daemon 程序为 cmds(Ceph Metadata Server)。Ceph 里可以有多个 MDS 组成分布式元数据服务器集群,就会涉及到 Ceph 中动态目录分割来进行负载均衡。
osd:对象存储集群,其对应的 daemon 程序为 cosd(Ceph Object StorageDevice)。osd 将本地文件系统封装一层,对外提供对象存储的接口,将数据和元数据作为对象存储。这里本地的文件系统可以是 ext2/3,但 Ceph 认为这些文件系统并不能适应 osd 特殊的访问模式,它们之前自己实现了 ebofs,而现在 Ceph 转用 btrfs。

Ceph 支持成百上千甚至更多的节点,以上四个部分最好分布在不同的节点上。当然,对于基本的测试,可以把 mon 和 mds 装在一个节点上,也可以把四个部分全都部署在同一个节点上。

环境
hostname    ip            role          filesystem  release
master01    192.168.9.10  mon,mds,osd    xfs          CentOS release 6.7[2.6.32-573.8.1.el6.x86_64]
agent01    192.168.9.20  osd,[mon,mds]  xfs          CentOS release 6.7[2.6.32-573.8.1.el6.x86_64]
ocean-lab  192.168.9.70  client        xfs          CentOS release 6.7[4.3.0-1.el6.elrepo.x86_64]

版本
^_^[16:26:11][root@master01 ~]#ceph -v
ceph version 0.80.5 (38b73c67d375a2552d8ed67843c8a65c2c0feba6)

Repo
Epel
yum install ceph ceph-common Python-ceph
yum install ceph-fuse        # for client

host 解析
192.168.9.10    master01.ocean.org  master01
192.168.9.20    agent01.ocean.org    agent01
192.168.9.70    ocean-lab.ocean.org  ocean-lab

Ceph 配置
^_^[16:26:15][root@master01 ~]#cat /etc/ceph/ceph.conf
[global]
public network = 192.168.9.0/24
pid file = /var/run/ceph/$name.pid
auth cluster required = none
auth service required = none
auth client required = none
keyring = /etc/ceph/keyring.$name
osd pool default size = 1
osd pool default min size = 1
osd pool default crush rule = 0
osd crush chooseleaf type = 1

[mon]
mon data = /var/lib/ceph/mon/$name
mon clock drift allowed = .15
keyring = /etc/ceph/keyring.$name

[mon.0]
host = master01
mon addr = 192.168.9.10:6789

[mds]
keyring = /etc/ceph/keyring.$name

[mds.0]
host = master01

[osd]
osd data = /ceph/osd$id
osd recovery max active = 5
osd mkfs type = xfs
osd journal = /ceph/osd$id/journal
osd journal size = 1000
keyring = /etc/ceph/keyring.$name

[osd.0]
host = master01
devs = /dev/sdc1
   
[osd.1]
host = master01
devs = /dev/sdc2

启动 ceph(在 mon 上执行)
初始化:
mkcephfs -a -c /etc/ceph/ceph.conf
/etc/init.d/ceph -a start

执行健康检查
ceph health            #也可以使用 ceph - s 命令查看状态
如果返回的是 HEALTH_OK,则代表成功!

挂载 ceph
mount
升级系统内核
kernel 2.6.34 以前的版本是没有 Module rbd 的,把系统内核版本升级到最新
rpm –import http://elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum –enablerepo=elrepo-kernel install kernel-ml  -y

安装完内核后修改 /etc/grub.conf 配置文件使
修改配置文件中的 Default=1 to Default=0

验证内核支持
#modprobe -l|grep ceph
kernel/fs/ceph/ceph.ko
kernel/net/ceph/libceph.ko
#modprobe  ceph
 
机器重启后生效 init 6

mount -t ceph 192.168.9.10:6789:/ /mnt/ceph
[17:07:39][root@ocean-lab ~]$ df -TH
Filesystem          Type  Size  Used Avail Use% Mounted on
/dev/mapper/vg_oceani-lv_root
                    ext4    30G  7.7G  21G  28% /
tmpfs                tmpfs  111M    0  111M  0% /dev/shm
/dev/sda1            ext4  500M  94M  375M  21% /boot
192.168.9.10:/data2  nfs    30G  25G  4.0G  87% /mnt/log
192.168.9.10:6789:/  ceph  172G  5.4G  167G  4% /mnt/ceph

ceph-fuse [未测]
mon 推荐有至少 3 个,假如挂掉一个、服务也能正常使用
ceph-fuse -m 192.168.9.10:6789,192.168.9.20:6789 /mnt/ceph

 

增加 OSD

http://docs.ceph.com/docs/master/rados/operations/add-or-rm-osds/

这里在 agent01 新增硬盘
[15:58:07][root@agent01 ~]$ cat /etc/ceph/ceph.conf
[global]
public network = 192.168.9.0/24
pid file = /var/run/ceph/$name.pid
auth cluster required = none
auth service required = none
auth client required = none
keyring = /etc/ceph/keyring.$name
osd pool default size = 1
osd pool default min size = 1
osd pool default crush rule = 0
osd crush chooseleaf type = 1

[mon]
mon data = /var/lib/ceph/mon/$name
mon clock drift allowed = .15
keyring = /etc/ceph/keyring.$name

[mon.0]
host = master01
mon addr = 192.168.9.10:6789

[mds]
keyring = /etc/ceph/keyring.$name

[mds.0]
host = master01

[osd]
osd data = /ceph/osd$id
osd recovery max active = 5
osd mkfs type = xfs
osd journal = /ceph/osd$id/journal
osd journal size = 1000
keyring = /etc/ceph/keyring.$name

[osd.2]
host = agent01
devs = /dev/sdc1

[osd.3]
host = agent01
devs = /dev/sdc2

master01 ~ $ cd /etc/ceph; scp keyring.client.admin  agent01:/etc/ceph/
以下操作都在新增 OSD 节点上操作
初始化新增 osd 节点,需要在新增的节点机器上运行,这里在 10.2.180.180 上运行
ceph-osd -i 2 –mkfs –mkkey;
ceph-osd -i 3 –mkfs –mkkey;

加入节点
ceph auth add osd.2 osd ‘allow *’ mon ‘allow rwx’ -i /etc/ceph/keyring.osd.2;
ceph auth add osd.3 osd ‘allow *’ mon ‘allow rwx’ -i /etc/ceph/keyring.osd.3;
ceph osd create #added key for osd.2
ceph osd create #added key for osd.3
ceph osd rm osd_num    # 删除 osd

/etc/init.d/ceph -a start osd.2 #启动 osd.2
/etc/init.d/ceph -a start osd.3 #启动 osd.3
/etc/init.d/ceph -a start osd  #启动所有 osd
ceph -s #查看状态
ceph auth list #能查看所有认证节点

 

增加 MDS

增加 agent01 MDS 到节点
将以下配置增加到配置文件,并同步到节点
[mds.1]
host = agent01
以下操作都在新增 OSD 节点上操作
生成 key
ceph-authtool –create-keyring –gen-key -n mds.1 /etc/ceph/keyring.mds.1
加入认证
ceph auth add mds.1 osd ‘allow *’ mon ‘allow rwx’ mds ‘allow’ -i /etc/ceph/keyring.mds.1
启动新增 MDS
/etc/init.d/ceph -a start mds.1

查看 mds

^_^[10:06:51][root@master01 ~]# ceph mds stat

e50: 1/1/1 up {0=0=up:active}, 1 up:standby

 

 

增加 MON

http://docs.ceph.com/docs/master/rados/operations/add-or-rm-mons/

增加 agent01 MDS 到节点
将以下配置增加到配置文件,并同步到节点
[mon.1]
host = agent01
mon addr = 192.168.9.20:6789

导出 key 及 mon map
mkdir /tmp/ceph
ceph auth get mon. -o /tmp/ceph/keyring.mon
ceph mon getmap -o /tmp/ceph/monmap

初始化新 mon
ceph-mon -i 1 –mkfs –monmap /tmp/ceph/monmap –keyring /tmp/ceph/keyring.mon

启动新 mon
ceph-mon -i 1 –public-addr 192.168.9.20:6789

加入 quorum votes
ceph mon add 1 192.168.9.20:6789

查看 mon

^_^[10:13:44][root@master01 ~]#ceph mon  stat

e2: 2 mons at {0=192.168.9.10:6789/0,1=192.168.9.20:6789/0}, election epoch 2, quorum 0,1 0,1

 

 

 

FAQ:

^_^[11:19:10][root@master01 ~]#/etc/init.d/ceph  -a start

=== mon.0 ===

Starting Ceph mon.0 on master01…already running

=== mds.0 ===

Starting Ceph mds.0 on master01…already running

=== osd.0 ===

Mounting xfs on master01:/ceph/osd0

Error ENOENT: osd.0 does not exist.  create it before updating the crush map

failed: ‘timeout 30 /usr/bin/ceph -c /etc/ceph/ceph.conf –name=osd.0 –keyring=/etc/ceph/keyring.osd.0 osd crush create-or-move — 0 0.04 host=master01 root=default’

@_@[11:20:59][root@master01 ~]#ceph osd create

0

@_@[11:21:11][root@master01 ~]#ceph osd create

1

^_^[11:21:20][root@master01 ~]#/etc/init.d/ceph start osd.1

=== osd.1 ===

Mounting xfs on master01:/ceph/osd1

create-or-move updated item name ‘osd.1’ weight 0.04 at location {host=master01,root=default} to crush map

Starting Ceph osd.1 on master01…

starting osd.1 at :/0 osd_data /ceph/osd1 /ceph/osd1/journal

在 CentOS 7.1 上安装分布式存储系统 Ceph  http://www.linuxidc.com/Linux/2015-08/120990.htm

Ceph 环境配置文档 PDF http://www.linuxidc.com/Linux/2013-05/85212.htm 

CentOS 6.3 上部署 Ceph http://www.linuxidc.com/Linux/2013-05/85213.htm 

Ceph 的安装过程 http://www.linuxidc.com/Linux/2013-05/85210.htm 

HOWTO Install Ceph On FC12, FC 上安装 Ceph 分布式文件系统 http://www.linuxidc.com/Linux/2013-05/85209.htm 

Ceph 文件系统安装 http://www.linuxidc.com/Linux/2013-05/85208.htm 

CentOS 6.2 64 位上安装 Ceph 0.47.2 http://www.linuxidc.com/Linux/2013-05/85206.htm 

Ubuntu 12.04 Ceph 分布式文件系统 http://www.linuxidc.com/Linux/2013-04/82588.htm 

Fedora 14 上安装 Ceph 0.24 http://www.linuxidc.com/Linux/2011-01/31580.htm 

Ceph 的详细介绍:请点这里
Ceph 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/125560.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计6924字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中