首页 > 代码库 > 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另行安装)
确认每台机器的主机名正确(CentOS7中,只要更改/etc/hostname即可,比旧版本方便)
每台机器上加入对应的 IP/主机名到/etc/hosts;
每台机器使用 ssh-copy-id 完成这些服务器之间免ssh密码登录;(发现ansible好用了)
关闭防火墙(systemctl stop firewalld.service)或打开 6789/6800~6900端口;
编辑/etc/ntp.conf,开启时间服务同步时间;(crontab/ntpdate不靠谱,不另作说明)
确认已经配置epel/remi的 repo软件包;在client0上配置elrepo软件包以便yum升级内核
在所有的OSD服务器上,初始化目录,比如ceph1建立文件夹 /var/local/osd1,ceph2上对应/var/local/osd2
三、开始安装
(以下非特别说明,都是在ceph0上操作)
生成MON信息:ceph-deploy new ceph{0,1,4}
安装ceph:ceph-deploy install ceph0 ceph1 ceph2 ceph3 ceph4(注:如果已经用yum在每台机器上安装了ceph,这步可省略)
生成keys:ceph-deploy --overwrite-conf mon create-initial
准备OSD服务器:ceph-deploy --overwrite-conf osd prepare ceph1:/var/local/osd1 ceph2:/var/local/osd2 ceph3:/var/local/osd3
激活OSD:ceph-deploy osd activate ceph1:/var/local/osd1 ceph2:/var/local/osd2 ceph3:/var/local/osd3
复制key到各个节点:ceph-deploy admin ceph0 ceph1 ceph2 ceph3 ceph4
检查是否ok:ceph health。
安装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)