Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群

  菜鸟接触Ceph有段时间了,总说要整理所学,一直懒,没有执行,这篇算是开始吧。

  有人会觉得Ceph-depoly安装比较方便,中间其实会出现一些问题,我最开始用的是手动安装,就此记录一下。

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第1张图片

  集群节点信息:

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第2张图片

  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就添加好了!

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第3张图片

 ===================================================

  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

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第4张图片

  在执行命令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

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第5张图片

  以相同的方式添加另外一个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信息。如图所示。

 Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第6张图片

  这是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查看集群状态

Ceph学习1——Ubuntu12.04手动安装Ceph&&部署Ceph集群_第7张图片

  这样就完成了一个小集群的手动安装配置,包括一个monitor,2个osd,1个mds。参照官方文档一般都不会有什么问题。

ceph 官方文档:http://ceph.com/docs/master/install/#deploy-a-cluster-manually

转载请注明来源:http://blog.csdn.net/Quicksnowdream

你可能感兴趣的:(ceph)