菜鸟接触Ceph有段时间了,总说要整理所学,一直懒,没有执行,这篇算是开始吧。
有人会觉得Ceph-depoly安装比较方便,中间其实会出现一些问题,我最开始用的是手动安装,就此记录一下。
集群节点信息:
Part one:安装Ceph(在集群中每个节点上都要安装ceph)
1.添加release.asc秘钥,执行:
wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add –
2.在安装源里添加ceph的源
vim /etc/apt/sources.list
此例中将安装ceph firefly版本,所以在源里添加。(PS:保证你的源足够快,不然等着很捉急。)
deb http://ceph.com/debian-firefly/ precisemain
deb-src http://ceph.com/debian-firefly/precise main
3.开始安装ceph
apt-get update && apt get install ceph
接下来等一会就安装完成了。不得不说apt-get install很省事。
4.装完之后,可以用ceph –v查看版本号
Part two:手动配置一个集群
a.配置一个monitor
在安装了ceph的任何一个节点上,此处将192.168.50.191配置为集群monitor。
1.为集群生成一个uuid号
执行:uuidgen
本例得到集群的ID号为30b17314-bcbf-420c-ab48-8bab6bacfc08
2.添加配置文件
vim /etc/ceph/ceph.conf
内容为:
[global]
fsid = 30b17314-bcbf-420c-ab48-8bab6bacfc08
mon initial members = node1
mon host = 192.168.50.191
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
filestore xattr use omap = true
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 333
osd pool default pgp num = 333
osd crush chooseleaf type = 1
3.给集群创建一个秘钥产生一个monitor秘钥
ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
4.产生一个管理员秘钥,生成一个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'
5.把client.admin秘钥添加到ceph.mon.keyring中
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
6.产生monitor映射图
monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap
本例中:
monmaptool --create --add mon11 192.168.50.191 --fsid 30b17314-bcbf-420c-ab48-8bab6bacfc08 /tmp/monmap
7.创建一个数据目录
mkdir /var/lib/ceph/mon/{cluster-name}-{hostname}
本例中执行:
mkdir /var/lib/ceph/mon/ceph-mon11
8.用monitor映射图和秘钥分发monitordaemon
ceph-mon --mkfs -i mon11 --monmap/tmp/monmap --keyring /tmp/ceph.mon.keyring
9.开启monitor服务
start ceph-mon id=mon11
执行ceph –s查看集群健康状态
至此集群中的一个Monitor就添加好了!
===================================================
b.添加两个OSD
有了Monitor,接下来就是添加osd了,OSD是对象存储设备,找两块硬盘,配置成OSD即可。本例是在节点 192.168.50.192上用两块硬盘作为OSD。PS:这个节点也先装上Ceph。
把Monitor的ceph配置文件拷贝到OSD节点的同一目录下,即/etc/ceph/ceph.conf。配置OSD步骤是最少的,两条命令搞定。
Command1:
ceph-disk prepare --cluster {cluster-name} --cluster-uuid {uuid} --fs-type {ext4|xfs|btrfs} {data-path} [{journal-path}]
本例中执行:ceph-disk prepare --cluster-uuid 30b17314-bcbf-420c-ab48-8bab6bacfc08 --fs-type ext4 /dev/sdb1
在执行命令2时,OSD节点上需要有bootstrap-osd秘钥,把monitor的/var/lib/ceph/bootstrap-osd/{cluster}.keyring拷贝到OSD所在节点上。{cluster}为集群名,此例中为ceph,即/var/lib/ceph/bootstrap-osd/ceph.keyring。如果是在Monitor节点上的两块盘作为OSD,此步骤则不需要。
Command2:
ceph-disk activate {data-path}[--activate-key {path}]
本例中执行:ceph-disk activate /dev/sdb1
以相同的方式添加另外一个OSD,数据路径为/dev/sdc1,文件系统类型可以自己选择。
这样就添加了两个OSD。
大功告成!此时执行ceph –s,查看集群状态,集群状态Ok,我们就手动搭建了一个ceph集群。
Ceph提供三种存储服务,对象存储,块存储和文件存储,当我们要用到文件存储时,我们需要在集群里添加MDS,即元数据服务器。需要注意的是,MDS是在集群OSD添加后且集群状态健康时才能添加,否则手动添加会失败。
===================================================
c.添加一个MDS
选定节点192.168.50.193作为MDS,把monitor的ceph.conf配置文件拷贝到MDS节点的同一路径下。即scp 192.168.50.191:/etc/ceph/ceph.conf /etc/ceph。这样该节点就有了集群的配置文件。这个配置文件拷贝完了还没结束,需要添加MDS信息。如图所示。
这是MDS节点上的配置文件,与其他节点不同的是最后几行添加了MDS相关信息,PS这是一定要添加的,不然运行MDS服务时会失败,如下图所示。But无需将monitor 和OSD上的ceph.conf也更改成这样,集群还是比较智能的。
在我们添加了mds配置信息后,在mds节点上新建目录:mkdir /var/lib/ceph/mds/mds.0。在monitor节点上也建立这样的目录,在monitor上运行ceph authget-or-create mds.0 mds 'allow ' osd 'allow *' mon 'allow rwx' >/var/lib/ceph/mds/mds.0/mds.0.keyring。此时就生成了秘钥。把这个秘钥拷贝到mds节点的/var/lib/ceph/mds/mds.0目录下。
开启元数据服务。在mds节点上运行:service ceph start mds.0开启mds服务,会看到以下提示:
这样mds就添加成功了!此时执行ceph –s查看集群状态
这样就完成了一个小集群的手动安装配置,包括一个monitor,2个osd,1个mds。参照官方文档一般都不会有什么问题。
ceph 官方文档:http://ceph.com/docs/master/install/#deploy-a-cluster-manually
转载请注明来源:http://blog.csdn.net/Quicksnowdream