从零开始!搭建Ceph 分布式存储,Ceph搭建保姆教程!!!
Posted 极客Geeike Go
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始!搭建Ceph 分布式存储,Ceph搭建保姆教程!!!相关的知识,希望对你有一定的参考价值。
1. 安装Centos 7 -2003 版本的系统
vim 和 wget (yum install -y vim wget) 后面更换国内源的时候需要使用
关闭防火墙
systemctl disable firewalld
sysytemctl stop firewalld
关闭selinux
vim /etc/selinux/config
enforcing改为SELinux=disabled,如下所示。 =
SELINUX=disabled
然后,保存并退出文件,为了使配置生效,需要重新启动系统
2.更换Cent os7 默认的源 (三台ceph 需用改用同样的更新源确保所有安装的软件版本一致)
改为国内 阿里云的源 ——参考文章
1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3. 运行 yum makecache 生成缓存 运行 yum update 进行更新源
3.添加 阿里云的 ceph源---参考文章(三台ceph 的 ceph 源也需要用同样的确保安装的ceph的版本一致)
vim /etc/yum.repos.d/ceph.repo 将以下内容粘贴进去 (三台都要操作添加ceph源)
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1
:wq (保存 )
这样ceph的源就创建好了
修改主机名
hostnamectl set-hostname ceph1
hostnamectl set-hostname ceph2
hostnamectl set-hostname ceph3
修改hosts文件
vim /etc/hosts (将每个主机名对应的IP添加进去,三台都要进行操作添加)
192.168.13.129 ceph1
192.168.13.130 ceph2
192.168.13.131 ceph3
修改完后 验证一下 是否生效 使用ping
ping ceph1
ping ceph2
ping ceph3
5.三台服务器做一下SSH 免密 (这一步只需要在主服务器(ceph1)上操作就可以
ssh-keygen (先生成SSHKEY文件)
ssh-copy-id ceph1
ssh-copy-id ceph2
ssh-copy-id ceph3
操作完成后 用
ssh ceph2
ssh ceph3
验证一下看是否能成功登陆到cpeh2 的服务器上
6.在ceph1 主服务器上安装ceph-deploy部署工具
注意:只在ceph1 上安装就可以了 因为它是部署节点,其它两个节点无需安装
yum install ceph-deploy -y
这一步安装完成后,我们查看一下ceph-deploy 的版本的时候 有可能会报错
这个错误是因为我们没有配置 python的 pip所导致的 我们重新安装一下就可以解决
yum -y install python2-pip-8.1.2-5.el7.noarch
[root@chep1 ceph]# yum -y install python2-pip-8.1.2-5.el7.noarch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No package python2-pip-8.1.2-5.el7.noarch available.
这一步安装还是报错安装不上pip的话 建议接下来安装一下 epel 然后在安装pip
yum -y install epel-release
yum -y install python-pip
安装成功后 使用 ceph-deploy 就可以显示出目前我们所使用的 ceph 的版本
7.在ceph1 上开始创建集群
建立一个集群配置目录 /注意后面大部分操作都必须cd到此目录内进行操作
mkdir /etc/ceph
cd /etc/ceph (进入ceph 刚刚创建的目录进行集群配置)
new ceph1
创建成功后看一下 有没有报错的信息 参考下图,如果没有证明集群创建成功
查看 /etc/ceph 目录下是否有以下几个配置文件
vim ceph.cong
8.安装ceph软件
在所有集群服务器节点上安装 ceph 和ceph-radosgw 软件包
yum install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds -y
(三台服务器节点都需要安装)
如果安装提示以下错误信息 ,
Error: Package: 2:ceph-radosgw-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0()(64bit)
Error: Package: 2:librbd1-14.2.11-0.el7.x86_64 (ceph)
Requires: liblttng-ust.so.0()(64bit)
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0()(64bit)
Error: Package: 2:librados2-14.2.11-0.el7.x86_64 (ceph)
Requires: liblttng-ust.so.0()(64bit)
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0(LIBOATH_1.10.0)(64bit)
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: liblttng-ust.so.0()(64bit)
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0(LIBOATH_1.10.0)(64bit)
Error: Package: 2:ceph-mon-14.2.11-0.el7.x86_64 (ceph)
Requires: libleveldb.so.1()(64bit)
Error: Package: 2:ceph-osd-14.2.11-0.el7.x86_64 (ceph)
Requires: libleveldb.so.1()(64bit)
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0(LIBOATH_1.2.0)(64bit)
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: libleveldb.so.1()(64bit)
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: libbabeltrace.so.1()(64bit)
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: libbabeltrace-ctf.so.1()(64bit)
Error: Package: 2:ceph-mgr-14.2.11-0.el7.x86_64 (ceph)
Requires: python-bcrypt
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0(LIBOATH_1.2.0)(64bit)
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: libleveldb.so.1()(64bit)
Error: Package: 2:librgw2-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0()(64bit)
Error: Package: 2:ceph-mgr-14.2.11-0.el7.x86_64 (ceph)
Requires: python-pecan
Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0(LIBOATH_1.12.0)(64bit)
Error: Package: 2:librgw2-14.2.11-0.el7.x86_64 (ceph)
Requires: liblttng-ust.so.0()(64bit)
Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)
Requires: liboath.so.0()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
这时候需要更新安装一下 依赖包 ,就可以完美解决
yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm -f /etc/yum.repos.d/dl.fedoraproject.org*
9 在ceph-deploy 节点上部署 mon (mon是整个ceph集群的控制中心)
ceph-deploy mon create-initial (初始化mon 组件)
初始化完成后 目录下会新增以下几个文件
接着我们使用 ceph-deploy admin 这条命令将配置文件同步至三台服务器
ceph-deploy admin ceph1 ceph2 ceph3 ( 将配置文件同步到 另外两台服务器上)
然后我们用 ceph -s 命令 查看一下 ceph 目前的状态 HEALTH_OK 里面有已经可以看到有一个 mon 的daemons
至此我们的 mon初始化已经完成
10.在ceph-deploy 节点上部署 mgr(mgr是用来监控各个节点的 )
ceph-deploy mgr creat ceph1 (在ceph1上创建 mgr )
无明显报错,就已经安装成功了
使用 ceph -s 检查一下 mgr的状态已经激活
11.添加OSD 硬盘
lsblk (查看目前空闲硬盘的名称sdb)
ceph-deploy osd create ceph1 --data /dev/sdb
添加完成后 ,可以用 ceph -s 看到ceph 集群的状态 已经有 10G 的空间可用
同样的命令 我们把其他两台节点服务器的硬盘也添加进来,这样的话 我们osd硬盘可用的空间 就有 30GB (每台10G)
ceph-deploy osd create ceph2 --data /dev/sdb
ceph-deploy osd create ceph3 --data /dev/sdb
添加完成同样用 ceph -s 查看一下
此时我们ceph 的集群已经完成部署了 每个节点 10GB 加起来 就是30GB 可用的
下一节,我们来学习 如何把 ceph 挂载到前端的应用上 比如 Seafile / owncloud
以上是关于从零开始!搭建Ceph 分布式存储,Ceph搭建保姆教程!!!的主要内容,如果未能解决你的问题,请参考以下文章