当前位置: > Linux集群 > Ceph >

CentOS7环境下Ceph安装部署

时间:2016-07-14 15:08来源:linux.it.net.cn 作者:IT

Ceph简介

eph的设计目标是是在廉价的存储介质上构建具有 high performance, high scalibility, high available, 提供统一存储,分文件存储,块存储,对象存储。最近看了相关文档觉得挺有意思,而且它已经能为openstack提供块存储,非常贴合主流趋势。

Ceph部署

1、主机准备

实验环境为VMare虚拟机机上进行实验,主要是为了对Cph有直观的认识。

第一步:准备5台主机

IP地址                                  主机名(Hostname)

192.168.1.110              admin-node      (该主机用于管理,后续的ceph-deploy工具都在该主机上进行操作)

192.168.1.111              node1              (监控节点)

192.168.1.112              node2              (osd.0节点)

192.168.1.113              node3                (osd.1节点)

192.168.1.114              client-node        (客服端,主要利用它挂载ceph集群提供的存储进行测试)

第二步:修改admin-node节点/etc/hosts文件,增加一下内容

192.168.1.111              node1

192.168.1.112              node2

192.168.1.113              node3

192.168.1.114              client-node

说明:ceph-deploy工具都是通过主机名与其他节点通信。修改主机名的命令为:hostnamectl set-hostname    "新的名字"

第三步:

分别为5台主机存储创建用户ceph:(使用root权限,或者具有root权限)

创建用户

sudo adduser -d /home/ceph -m ceph

设置密码

sudo passwd ceph

设置账户权限

echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph

sudo chomod 0440 /etc/sudoers.d/ceph

执行命令visudo修改suoders文件:

把Defaults    requiretty 这一行修改为修改  Defaults:ceph  !requiretty

如果不进行修改ceph-depoy利用ssh执行命令将会出错

2、配置admin-node与其他节点ssh无密码root权限访问其它节点。

第一步:在admin-node主机上执行命令:

ssh-keygen

说明:(为了简单点命令执行时直接确定即可)

第二步:将第一步的key复制至其他节点

ssh-copy-id    ceph@node1

ssh-copy-id    ceph@node2

ssh-copy-id    ceph@node3

ssh-copy-id    ceph@client-node

同时修改~/.ssh/config文件增加一下内容:

Host    node1

Hostname  192.168.1.111

User              ceph

Host    node2

Hostname  192.168.1.112

User              ceph

Host    node3

Hostname  192.168.1.113

User              ceph

Host    client-node

Hostname  192.168.1.114

User              ceph

3、为admin-node节点安装ceph-deploy

第一步:增加 yum配置文件

sudo vim /etc/yum.repos.d/ceph.repo

添加以下内容:

[ceph-noarch]

 name=Ceph noarch packages

 baseurl=http://ceph.com/rpm-firefly/el7/noarch

 enabled=1

 gpgcheck=1

 type=rpm-md

 gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc

第二步:更新软件源并按照ceph-deploy,时间同步软件

sudo yum update && sudo yum install ceph-deploy

sudo yum install ntp ntpupdate ntp-doc

4、关闭所有节点的防火墙以及安全选项(在所有节点上执行)以及其他一些步骤

sudo systemctl  stop firewall.service

sudo  setenforce  0

sudo yum install yum-plugin-priorities

总结:经过以上步骤前提条件都准备好了接下来真正部署ceph了。

5、以前面创建的ceph用户在admin-node节点上创建目录

mkdir  my-cluster

cd my-cluster

6、创建集群

节点关系示意图:node1作为监控节点,node2,node3作为osd节点, admin-node作为管理节点,其关系如下图所示:

第一步:执行以下命令创建以node1为监控节点的集群。

ceph-deploy  new  node1

执行该命令后将在当前目录生产ceph.conf 文件,打开文件并增加一下内容:

osd pool default size = 2

第二步:利用ceph-deploy为节点安装ceph

ceph  install admin-node  node1 node2 node3

第三步:初始化监控节点并收集keyring:

ceph-deploy mon create-initial

6、为存储节点osd进程分配磁盘空间:

ssh node2

sudo mkdir  /var/local/osd0

exit

ssh node3

sudo mkdir  /var/local/osd1

exit

接下来通过admin-node节点的ceph-deploy开启其他节点osd进程,并激活。

ceph-deploy  osd prepare node2:/var/local/osd0  node3:/var/local/osd1

ceph-deploy osd active  node2:/var/local/osd0  node3:/var/local/osd1

把admin-node节点的配置文件与keyring同步至其它节点:

ceph-deploy admin admin-node node1 node2 node3

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

最后通过命令查看集群健康状态:

ceph health

如果成功将提示:HEALTH_OK

Ceph存储空间使用:

1、准备client-node

通过admin-node节点执行命令:

ceph-deploy  install  client-node

ceph-deploy admin  client-node

2、创建块设备映像:

rbd create foo --size 4096

将ceph提供的块设备映射到client-node

sudo rbd map foo --pool rbd --name client.admin

3、创建文件系统

sudo  mkfs.ext4 -m0  /dev/rbd/foo

4、挂载文件系统

sudo mkdir /mnt/test

sudo mount /dev/rbd/foo /mnt/test

cd /mnt/test

Finished!!!!!!!!!!!!


 

(责任编辑:IT)
------分隔线----------------------------