首页 > 代码库 > ceph0.80安装及使用(CentOS7/ceph-deploy)

ceph0.80安装及使用(CentOS7/ceph-deploy)

    Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。详见:http://www.oschina.net/p/ceph

    目前大部分部署ceph基本都是在Ubuntu,因为它的内核默认打开了Ceph_fs。选择CentOS7(默认文件系统是XFS,而不是EXT4)作为部署平台时则需要留意更多的信息,比如是用客户端加载ceph文件系统时。

    看过不少网上的文章,大都不太适合0.80,或是可被省略的步骤。比如配置ceph.conf。所以特意做了几遍的安装,总结此文。另外吐嘈下Redhat,收购了Ceph 所在的公司 Inktank还发布了自己的版本($1000/cluster),居然不在最新的内核中将 Ceph_fs 打开,导致很多人直接倒向Ubuntu。

一、准备主机环境:

主机名 IP

OS
ceph0 10.9.16.96 MON,        MDS CentOS7
ceph1 10.9.16.97 MON,OSD CentOS7
ceph2 10.9.16.98           OSD,MDS CentOS7
ceph3 10.9.16.99           OSD,MDS ?CentOS7
ceph4 10.9.16.100 MON CentOS7
client0 10.9.16.89 client CentOS7(内核3.16.2)
client1 10.9.16.95 client Ubuntu14.04

部署建议说明:

MON节点建议使用3个,OSD数据节点最好与操作系统分开以提高性能,有至少两个千兆网卡(这里只显示集群内的IP,客户端访问IP略)


二、准备工作(注:用ceph-deploy可直接安装ceph,也可以用yum另行安装)

  1. 确认每台机器的主机名正确(CentOS7中,只要更改/etc/hostname即可,比旧版本方便)

  2. 每台机器上加入对应的 IP/主机名到/etc/hosts;

  3. 每台机器使用 ssh-copy-id 完成这些服务器之间免ssh密码登录;(发现ansible好用了)

  4. 关闭防火墙(systemctl stop firewalld.service)或打开 6789/6800~6900端口;

  5. 编辑/etc/ntp.conf,开启时间服务同步时间;(crontab/ntpdate不靠谱,不另作说明)

  6. 确认已经配置epel/remi的 repo软件包;在client0上配置elrepo软件包以便yum升级内核

  7. 在所有的OSD服务器上,初始化目录,比如ceph1建立文件夹 /var/local/osd1,ceph2上对应/var/local/osd2


三、开始安装

(以下非特别说明,都是在ceph0上操作)

  1. 生成MON信息:ceph-deploy new ceph{0,1,4}

  2. 安装ceph:ceph-deploy install ceph0 ceph1 ceph2 ceph3 ceph4(注:如果已经用yum在每台机器上安装了ceph,这步可省略)

  3. 生成keys:ceph-deploy --overwrite-conf mon create-initial

  4. 准备OSD服务器:ceph-deploy --overwrite-conf osd prepare ceph1:/var/local/osd1 ceph2:/var/local/osd2 ceph3:/var/local/osd3

  5. 激活OSD:ceph-deploy osd activate ceph1:/var/local/osd1 ceph2:/var/local/osd2 ceph3:/var/local/osd3

  6. 复制key到各个节点:ceph-deploy admin ceph0 ceph1 ceph2 ceph3 ceph4

  7. 检查是否ok:ceph health。

  8. 安装MDS节点:ceph-deploy mds create ceph0 ceph2 ceph3


四、挂载问题:

client0的CentOS7默认没有开启ceph_fs的内核,需要更改内核,这里直接用yum更新(可以手工编译):

yum --enablerepo=elrepo-kernel install kernel-ml
grub2-set-default 0
mkdir /mnt/cephfs
mount -t ceph 10.9.16.96:6789,10.9.16.97:6789:/ /mnt/cephfs -o name=admin,secret=AQDnDBhUWGS6GhAARV0CjHB*******Y1LQzQ==
#这里的密钥,是 ceph.client.admin.keyring 中的内容。

#以下是 /etc/fstab 的自动加载内容:
10.9.16.96:6789,10.9.16.97:6789:/       /mnt/ceph       ceph    name=admin,secret=AQDnDBhUWGS6GhAARV0CjHB*******Y1LQzQ==,noatime      0       0

用Ubuntu14.04的命令是一样的,加载。


看看是不是已经正常用了。

其他内容(如:增加/删除节点,块设备等,后续再写)



ceph0.80安装及使用(CentOS7/ceph-deploy)