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
//www
.elrepo.org
/RPM-GPG-KEY-elrepo
.org
安装elrepo的yum源
rpm -Uvh
//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
ssh-copy-id ceph@node2
ssh-copy-id ceph@node3
ssh-copy-id
- 修改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 packagesbaseurl=http://ceph.com/rpm-firefly/el7/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=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