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

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

480次阅读
没有评论

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7976396
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...