Ceph-deploy 安装 Ceph 集群

一.硬件资源

centOS6.6虚拟机*4(一台mon,三台osd)

二、ceph-deploy 工具的获得
1、修改 yum 的源文件
sudo vim /etc/yum.repos.d/ceph.repo
将一下内容添加进该文件。
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
2、添加需要安装的版本信息
修改行 baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch:
中的{ceph-release}/{distro}/
例如:http://ceph.com/rpm-giant/rhel6/noarch;
3、升级系统的软件包,安装 ceph-deploy 工具
sudo yum update && sudo yum install ceph-deploy
三、配置系统
1、添加 ssh 的公钥
a) 首先在选定的 mon 上进行公钥的生成
ssh-keygen -t rsa
b) 将公钥复制到各个节点
ssh-copy-id user@ip
2、清理环境:
如果为系统未部署过 ceph,可以跳过此步骤。
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
ceph-deploy purge {ceph-node} [{ceph-node}]
四、集群部署
1、创建集群
ceph-deploy new {initial-monitor-node(s)}

例如:ceph-deploy new mon-01
2、修改/etc/ceph/ceph.conf 文件
例如:osd pool default size = 2
public network = {ip-address}/{netmask}
其他详细配置待续
3、在所有节点安装 ceph 软件包
ceph-deploy install {ceph-node}[{ceph-node} ...]
在此过程中如果出现安装源找不到的情况,根据环境情况修改 ceph.repo 文件中的源路
径,一般是体系结构不对,修改即可(SRPMS、noarch、 x86_64)。
4、添加初始 monitor 节点和收集秘钥
ceph-deploy mon create-initial {node}
如果提示文件存在,但是不匹配,可以先删除该 ceph.conf,然后执行此操作。
ceph -s 查看 monitor 节点是否创建成功:
出现以下提示,启动成功:
[root@node1 ~]# ceph -s
cluster a500528d-fc02-464e-b944-bddacbb5c3d1
health HEALTH_ERR 192 pgs stuck inactive; 192 pgs stuck unclean; no osds
monmap e1: 1 mons at {node1=192.168.100.101:6789/0}, election epoch 2,
quorum 0 node1
osdmap e1: 0 osds: 0 up, 0 in
pgmap v2: 192 pgs, 3 pools, 0 bytes data, 0 objects
0 kB used, 0 kB / 0 kB avail
192 creating
5、准备 osd 的环境
a) 添加数据盘
为虚拟机增加一块磁盘作为数据盘使用(例如:/dev/sdb)
b)创建数据盘挂载的目录,挂载磁盘
mkdir -p /var/ceph-data
mkfs -t xfs /dev/sdb
如果提示 mkfs.xfs 命令不存在,可使用其他文件系统格式,或者安装 xfsprogs 步
骤如下:
yum install libuuid-devel(此为 xfsprofgs 的依赖包)
下载 xfsprogs 的源码安装包:
http://download.chinaunix.net/download/0012000/11793.shtml
执行源码安装 xfsprogs。
mount /dev/sdb1 /var/ceph-data/
6、配置 osd 节点
在 monitor 节点执行如下命令:
ceph-deploy osd prepare {ceph-node}:/path/to/directory
例如对 osd1,osd2, osd3 三个 osd 节点进行配置:
ceph-deploy osd prepare osd1:/var/ceph-data/ osd2:/var/ceph-data/ osd3:/var/ceph-data/
2学习笔记
7、激活 osd 节点
ceph-deploy osd activate {ceph-node}:/path/to/directory
例如:ceph-deploy osd activate osd1:/var/ceph-data/ osd2:/var/ceph-data/ ......
此过程会创建生成 osd 的 id
如果执行失败,再重新执行以前在 monitor 节点执行 ceph osd tree 操作,查看是否
创建了对于的 osd,如果存在,则应该执行以下步骤删除该记录。
如删除 osd.0:
ceph auth del osd.0
ceph osd rm 0
8、启动 osd 进程
在各个 osd 节点上执行:
/usr/bin/ceph start {osd.x}
例如:/usr/bin/ceph start osd.1
osd 添加成功
[root@node1 ~]# ceph osd stat
osdmap e41: 1 osds: 1 up, 1 in
9、同步配置文件和 key 认证文件到各个节点
ceph-deploy admin {admin-node} {ceph-node}
例如:ceph-deploy admin admin-node node1 node2 node3
10、检查集群的健康状态
ceph health
如果返回 active + clean,则代表集群创建成功。
备注:其他问题还需要再查证。

posted @ 2018-04-10 11:17  运维之洞见  阅读(308)  评论(0编辑  收藏  举报