1.介绍

Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统。同时提供对象存储、块存储和文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署和运维。

2.安装准备

  • 注意:以下命令在粘贴复制的时候可能会出现字符格式的问题,若命令提示找不到命令,可手动输入,有其他错误可在网上搜寻解决办法或回复评论。
  • 安装系统为centos 7
  • 准备5台主机(虚拟主机或者实体机都可,ip为操作机器的ip地址)

172.18.16.200      用作管理节点admin-node

172.18.16.201      用作监控节点mon-node1

172.18.16.202      用作osd1存储节点node2

172.18.16.203      用作osd2存储节点node3

172.18.16.204      用作osd3存储节点node4

 

  • 修改admin-node的hosts文件

vi /etc/hosts

增加以下内容

172.18.16.201      mon-node1

172.18.16.202      node2

172.18.16.203      node3

172.18.16.204      node4

  • 修改每台主机的主机名

hostnamectl set-hostname    "新的名字"

本文章使用以上命名admin-node、mon-node1、node2、node3、node4

  • 在每台主机上创建ceph用户

创建用户

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

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

  • 关闭防火墙及selinux

防火墙关闭及禁用

systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动 关闭selinuxvi /etc/selinux/config,将SELINUX置为disabled

  • 升级centos7的内核

查看当前内核版本

uname –r

导入key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装elrepo的yum源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

安装内核

yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml –y

查看默认内核启用版本

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

设置默认启动

grub2-set-default 0

重启系统

reboot

  • ssh免密码登录

在admin-node节点切换到ceph用户

su ceph

执行命令   ssh-keygen(一路回车就行)

将上一步的key复制到其他节点

ssh-copy-id    ceph@mon-node1

ssh-copy-id    ceph@node2

ssh-copy-id    ceph@node3

ssh-copy-id    ceph@node4

  • 修改config文件(admin-node节点操作)

vi ~/.ssh/config(需要先执行一次ssh  localhost)

增加以下内容

Host    mon-node1

  Hostname   172.18.16.201 

  User              ceph

Host    node2

  Hostname   172.18.16.202

  User              ceph

Host    node3

  Hostname   172.18.16.203

  User              ceph

Host    node4

  Hostname   172.18.16.204

  User              ceph

  • 为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

  • 在admin-node节点的ceph用户下创建目录

mkdir  my-cluster

cd my-cluster

  • 为每个节点安装ceph

创建mon节点

ceph-deploy   new  mon-node1

利用ceph-deploy为节点安装ceph

ceph-deploy  install admin-node  mon-node1 node2 node3 node4

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

ceph-deploy mon create-initial

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

ssh node2

sudo mkdir  /var/local/osd0

exit

 

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

ssh node3

sudo mkdir  /var/local/osd1

exit

 

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

ssh node4

sudo mkdir  /var/local/osd2

exit

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

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

ceph-deploy osd activate node2:/var/local/osd0

node3、node4类似操作

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

ceph-deploy admin admin-node mon-node1 node2 node3 node4

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

  • 检查集群状况

集群安装状态

ceph –s

集群健康状况

ceph health

如果成功将提示:HEALTH_OK