Ceph学习(3)部署篇

上一篇完成了源码编译,本篇开启部署过程

其实整个步骤还是按照官网手动部署来进行的,只是中间遇到了osd起不来的问题,经过一系列试错,找到了解决方案,总的来说还是权限问题。

1.安装

make install

安装完成之后,就可以使用ceph的命令了

I.集群配置及monitor初始化及启动

1.给集群分配唯一的ID

uuidgen

ceph提供了生成ID的命令,这个工具可用于生成各种uuid,包括集群fsid,osd的uuid等。

2.写默认配置文件

ceph配置文件

其实这里还是花了不少时间的,毕竟是首次部署,总是担心由于配置错误导致集群起不来,又找不到症结所在。总之,fsid和ip是要给的,包括osd。

3.创建密钥环

这边其实很好理解,不知为何看社区文档就很难理解。

因为ceph有monitor,要去监控每个osd,且osd之间也需要通信,毕竟涉及到数据迁移呀什么的,所以认证就是必须的了。认证协议其实有很多,ceph有自己的认证体系cephx,自己创建key并实现认证就不难理解了。看配置文件中auth cluster required,auth service required,auth client required都配置了cephx,那就是都需要cephx的认证了(有的集群这几个配置都是none,初始化时就不需要这个keyring了)。

(1)为集群创建keyring

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

集群搭建之初,会生成一个ceph.mon.keyring,这个文件几乎不会再后面的集群交互中使用,因为在集群初始化时会生成一个client.admin用户,后面交互一般都会使用这个用户。但集群生成的第一个用户是<mon.>,对应密钥文件保存在部署目录下的ceph.mon.keyring。

关于caps:表示各个用户的权限细分

(2)生成管理员keyring:生成client.admin用户并加入keyring

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

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

(3)创建bootstrap引导osd的keyring

关于bootstrap的几个用户:用于引导生成对应类用户的用户

如:boostrap-osd:用户引导生成所有osd.N用户

sudo mkdir -r /var/lib/ceph/bootstrap-osd/

ceph-authtool -C /var/lib/ceph/bootstrap-osd/ceph.keyring

(4)创建mgr用户的keyring

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

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

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

其中node1对应为主机名

(5)创建osd用户的keyring

这边我只有两块盘,所以只有两个osd

ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' mgr 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring

ceph auth get-or-create osd.1 mon 'allow rwx' osd 'allow *' mgr 'allow *' -o /var/lib/ceph/osd/ceph-1/keyring

(6)查看所有的认证

ceph auth list

ceph auth get [client.admin]

4.为monitor生成监视器图

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

monmaptool --create --add [host] [ip] --fsid [fsid] /tmp/monmap

5.在monitor创建数据目录

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

6.用monmap和keyring组装守护进程所需的初始数据

大白话:这一步就是monitor的初始化

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

7.启动monitor

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

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

touch /var/lib/ceph/mon/ceph-node1/sysvinit

启动

/etc/init.d/ceph start mon.node1

到这步,我们可以查看ceph的集群状态了,这边提一句,默认的集群名为"ceph",用户为"ceph",后面涉及到权限问题。

查看ceph状态

[root@node1 ~]# ceph -s   

这边看到ceph状态不是HEALTH_OK,且告诉我们monitor没有enabled msgr2,这个也好解决:

 ceph monenable-msgr2

重启monitor

systemctl restart ceph-mon@node01

或者

/etc/init.d/ceph restart mon.node1

II.配置并启动mgr

我装的是ceph N版(14.2.9),新版本是通过mgr来管理的,所以要把它启动下

1.生成mgr的keyring并保存(这一步第I部分已经做了)

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

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

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

2.初始化并启动mgr

ceph-mgr -i node1


III.配置并启动osd

这一部分真是很折磨人,当我按照官网创建OSD的步骤走完之后,发现我的两个OSD都是down的状态,不知道如何拉起来,后来发现是权限问题。以下步骤以osd.0为例,osd.1的创建启动步骤都是一样的。

1.创建boot引导osd的key

这一步也是第一部分已经做了

mkdir /var/lib/ceph/bootstrap-osd/

ceph-authtool -C /var/lib/ceph/bootstrap-osd/ceph.keyring

2.创建挂载目录

sudo mkdir -r /var/lib/ceph/osd/ceph-0

3.为osd生成uuid

uuidgen

4.创建osd

ceph osd create [osduuid]

5.选一个磁盘创建文件系统

mkfs -t xfs /dev/sdb

6.将创建好文件系统的磁盘挂载到osd目录

mount /dev/sdb /var/lib/ceph/osd/ceph-0

7.为osd.0创建一个用户并创建一个key(这一步也是第一部分已经做了)

ceph auth get-or-create osd.0 mon 'allowrwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring

8.初始化osd目录

 sudo ceph-osd -i 0 --mkfs --mkkey

这一步,会有很多报错,原因就是/var/lib/ceph/osd/ceph-0这个目录的权限所属是root,不是ceph

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

9.启动osd.0

/etc/init.d/ceph start osd.0

*9.1启动某一Ceph的节点上的所有OSD守护进程

systemctl start ceph-osd.target

这个时候在看下ceph 集群,HEALTH_OK,且所有OSD都是up的,so happy!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355